JP2010515973A - アニメーション - Google Patents

アニメーション Download PDF

Info

Publication number
JP2010515973A
JP2010515973A JP2009544927A JP2009544927A JP2010515973A JP 2010515973 A JP2010515973 A JP 2010515973A JP 2009544927 A JP2009544927 A JP 2009544927A JP 2009544927 A JP2009544927 A JP 2009544927A JP 2010515973 A JP2010515973 A JP 2010515973A
Authority
JP
Japan
Prior art keywords
animation
display
view
animations
timer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009544927A
Other languages
English (en)
Other versions
JP5285621B2 (ja
Inventor
プラッツァー,アンドリュー
ハーパー,ジョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2010515973A publication Critical patent/JP2010515973A/ja
Application granted granted Critical
Publication of JP5285621B2 publication Critical patent/JP5285621B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本開示の少なくともいくつかの実施形態は、デバイスのディスプレイ上に表示された表示領域、ウインドウ、またはビューをアニメ化するための方法を含む。この方法は、少なくとも2つのアニメーションを開始することを含む。この方法は、各アニメーションの進行を決定することをさらに含む。この方法は、単一のタイマに基づいて各アニメーションを完了させることをさらに含む。

Description

本開示は、アニメーションをもたらすアプリケーション・プログラミング・インタフェースに関する。
(コンピュータ・プログラム・リスト)
本特許文書の開示の一部分は、著作権保護の対象となる資料を含む。著作権所有者は、特許商標局の特許ファイルまたは特許記録に現れるとおり、本特許文書または本特許開示を何人が複製することにも異議を唱えないが、それ以外の全著作権を留保する。
本出願は、添付された付録Aとして含まれるコンピュータ・プログラム・リストとともに提出された。
APIは、ソフトウェア・アプリケーションからのサービスを求める要求をサポートするためにコンピュータ・システムまたはプログラム・ライブラリが提供するソース・コード・インタフェースである。APIは、データがメモリの中でどのようにレイアウトされるかについての明示的な低レベルの記述ではなく、インタープリタ型である、つまり、アプリケーションが構築される際にコンパイルされるプログラミング言語によって規定される。APIによって記述される機能をもたらすソフトウェアは、APIの実装と言われる。
電子デバイス、コンピューティングシステム、ポータブル・デバイス、およびハンドヘルド・デバイスなどの様々なデバイスが、ソフトウェア・アプリケーションを有する。APIは、ソフトウェア・アプリケーションとユーザ・インタフェース・ソフトウェアの間のインタフェースとなって、デバイスのユーザにいくつかのフィーチャおよびオペレーションを提供する。ユーザは、デバイスのディスプレイに関して、スクロール・オペレーション、選択オペレーション、ジェスチャリング・オペレーション、およびアニメ化オペレーションなどの、いくつかのオペレーションを所望する可能性がある。
スクロールは、スクリーンまたはディスプレイ・ウインドウにわたって、テキスト、図面、またはイメージなどのコンテンツの方向付き(例えば、水平または垂直)プレゼンテーションをスライドさせる動作である。通常のグラフィカル・ユーザ・インタフェースにおいて、スクロールは、スクロールバーの助けを借りて、または、しばしば、矢印キーであるキーボード・ショートカットを使用して行われる。ジェスチャリングは、2つ以上の入力ポイントを有するタイプのユーザ入力である。アニメ化オペレーションは、所与の期間内にコンテンツを変化させることを含む。
様々なタイプのデバイスは、デバイスの使い易さを制限する、限られた表示サイズ、ユーザ・インタフェース能力、ソフトウェア能力、APIインタフェース能力、および/または処理能力を有する可能性がある。デバイスのユーザ・インタフェースは、要求された機能およびフィーチャを提供するためにAPIを実装する。これらのユーザ・インタフェースは、様々なタイプのユーザ入力を解釈すること、およびユーザ入力に関連する、意図される機能を提供することに困難を有する可能性がある。
本開示の少なくともいくつかの実施形態は、ソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において、1つまたは複数のアプリケーション・プログラミング・インタフェースを含む。様々なファンクション・コールまたはメッセージが、ユーザ・インタフェース・ソフトウェアとソフトウェア・アプリケーションの間のアプリケーション・プログラミング・インタフェースを介して転送される。例示的なアプリケーション・プログラミング・インタフェースは、デバイスに関するスクロール・オペレーション、ジェスチャリング・オペレーション、およびアニメ化オペレーションを実施するファンクション・コールを転送する。
本開示の少なくともいくつかの実施形態は、デバイスのディスプレイ上に表示された表示領域、ウインドウ、またはビューをアニメ化するための方法を含む。この方法は、少なくとも2つのアニメーションを開始することを含む。この方法は、各アニメーションの進行を決定することをさらに含む。この方法は、単一のタイマに基づいて各アニメーションを完了させることをさらに含む。
本開示の少なくともいくつかの実施形態は、ソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境を含む。この環境においてAPI(アプリケーション・プログラミング・インタフェース)を介して動作するための方法は、ラバーバンド・コールを転送することを含む。表示領域内でスクロールされる領域をラバーバンド化することは、スクロールされる領域が、或るディスプレイ・エッジを超えた際に、所定の最大変位量だけ行われる。この方法は、ディスプレイの少なくとも1つのエッジ(例えば、上エッジおよび下エッジ、左エッジおよび右エッジ)に関する変位値を設定するエッジ・ラバーバンド・コールを転送することをさらに含む。
本開示の少なくともいくつかの実施形態は、デバイスのディスプレイに関するジェスチャ・オペレーションを含む。ジェスチャ・オペレーションは、2つ以上の入力ポイントを有するユーザ入力に応答して、ズームインまたはズームアウトなどの拡大縮小変換を実行することを含む。また、ジェスチャ・オペレーションは、2つ以上の入力ポイントを有するユーザ入力に応答して、イメージまたはビューを回転させる回転変換を実行することも含む。
本開示の少なくともいくつかの実施形態は、デバイスのディスプレイに関してアニメーションを実行するための方法を含む。この方法は、少なくとも1つのアニメーションを開始することを含む。この方法は、各アニメーションの進行を決定することをさらに含む。この方法は、単一のタイマに基づいて各アニメーションを完了させることをさらに含む。この単一のタイマは、ディスプレイ・ハードウェアの再描画間隔に基づくことが可能である。
また、以上の方法の1つまたは複数を実行する様々なデバイス、ならびに、処理システムによって実行されると、これらの方法を処理システムに実行させるマシン可読媒体も説明される。
また、他の方法、デバイス、およびマシン可読媒体も説明される。
本開示は、添付の図面を参照して例として説明される。
データ処理デバイスのユーザ入力に応答するための方法を示す流れ図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 タッチセンシティブ・ディスプレイ408を有するポータブル電子デバイス400のユーザ・インタフェースの実施形態を示す概略図である。 タッチセンシティブ・ディスプレイを有するポータブル電子デバイス400のユーザ・インタフェースの少なくともいくつかの実施形態を示す図である。 一部の実施形態による、項目のリストを、そのリストの終端までスクロールし、終端までスクロールした時点で、この終端を超えた領域が表示され、リストは、その後、この終端を超えた領域がもはや表示されなくなるまで、反対方向にスクロールされることを示す図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 本開示のいくつかの教示による、水平方向または垂直方向にデバイスのディスプレイのスクロールをロックするための第1のスクロール角度、および第2のスクロール角度を示す図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 ビューの拡大縮小変換を有するデバイスのディスプレイを示す図である。 第1の倍率、および第2の倍率を有するビューを有するデバイスのディスプレイを示す図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 デバイスのディスプレイ上に表示されたビューをアニメ化するための方法を示す流れ図である。 デバイスのディスプレイ上に表示されたビューをアニメ化するための方法を示す流れ図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。 デバイスのディスプレイのウインドウのサイズ変更を同期することを示す図である。 データ処理デバイスのディスプレイ上に表示されたアプリケーションのビューの所有権を切り替えるための方法を示す図である。 デバイスのディスプレイ上に表示されたアプリケーションのビューのメモリ管理のための方法を示す図である。 或るレイヤがビューに関連付けられているレイヤの階層を有するデータ構造を示す図である。 デバイス上で表示するためにユーザ・インタフェースのメディア・コンテンツと非メディア・コンテンツを合成するための方法を示す図である。 レイヤの階層を有するデータ構造またはレイヤ・ツリーを示す図である。 本開示の一実施形態によるデバイスを示す斜視図である。 本開示の一実施形態によるデバイスを示す斜視図である。 本開示の実施形態による無線デバイスを示す斜視図である。 本開示の実施形態が実施されることが可能なシステムを示すブロック図である。 本開示の一実施形態によるデバイスの別の例を示す図である。 本開示の一実施形態による第1の構成(例えば、ラップトップ構成)におけるデバイスを示す斜視図である。 本開示の一実施形態による第2の構成(例えば、遷移構成)における図33Aのデバイスを示す斜視図である。 本開示の一実施形態による第3の構成(例えば、タブレット構成)における図33Aのデバイスを示す斜視図である。 本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を示す流れ図である。
本開示の様々な実施形態および態様が、後段で説明される詳細を参照して説明され、添付の図面が、これらの様々な実施形態を示す。以下の説明および図面は、本開示を例示するものであり、本開示を限定するものと解釈されるべきではない。本開示の様々な実施形態の完全な理解をもたらすように、多数の特定の詳細が説明される。しかし、いくつかの場合、よく知られた詳細、または従来の詳細は、本開示の実施形態の簡潔な説明を与えるために説明されない。
以下の詳細な説明のいくつかの部分は、コンピュータメモリ内に格納されたデータに対するオペレーションを含むアルゴリズムの点で提示される。アルゴリズムは、一般に、所望される結果をもたらす自己矛盾のない一連のオペレーションである。これらのオペレーションは、通常、物理量の物理的操作を要求する、または伴う。通常、ただし、必然的にではなく、これらの量は、格納され、転送され、組み合わされ、比較され、さらに、それ以外で操作されることが可能な電気信号または磁気信号の形態をとる。ときとして、主に一般的な用法の理由で、これらの信号をビット、値、要素、シンボル、文字、項、数などと呼ぶことが好都合であることが判明している。
しかし、これら、および類似する用語のすべては、適切な物理量に関連付けられるべきであり、単に、これらの量に付けられた便利なラベルに過ぎないことに留意されたい。特に明記しない限り、以下の説明から明らかなとおり、この説明の全体にわたって、「処理すること」、または「算出すること」、または「計算すること」、または「判定すること」、または「表示すること」などの用語を利用する説明は、システムのレジスタもしくはメモリの内部の物理(電子的)量として表されるデータを操作して、システムのメモリもしくはレジスタ、または他のそのような情報記憶デバイス、情報伝送デバイス、もしくは情報表示デバイスの内部の物理量として同様に表される他のデータに変換する、データ処理システム、または類似する電子デバイスのアクションおよびプロセスを指すことが可能であることが認められよう。
本開示は、本明細書で説明されるオペレーションの1つまたは複数を実行するための装置と関係することが可能である。この装置は、特に、要求される目的のために構築されてもよく、あるいはコンピュータの中に格納されたコンピュータ・プログラムによって選択的に活性化される、または再構成される汎用コンピュータを含んでもよい。そのようなコンピュータ・プログラムは、それぞれがバスに結合された、フロッピー(登録商標)・ディスク、光ディスク、CD−ROM、および光磁気ディスクを含むが、以上には限定されない任意のタイプのディスク、ROM(読み取り専用メモリ)、RAM(ランダム・アクセス・メモリ)、EPROM(消去可能なプログラマブルROM)、EEPROM(電気的に消去可能なプログラマブルROM)、フラッシュ・メモリ、磁気カードもしくは光カード、あるいは電子命令を格納するのに適した任意のタイプの媒体などの、マシン(例えば、コンピュータ)可読記憶媒体の中に格納されることが可能である。
マシン可読媒体には、マシン(例えば、コンピュータ)によって読み取り可能な形態の情報を格納するため、または伝送するための任意の機構が含まれる。例えば、マシン可読媒体には、「ROM」(読み取り専用メモリ)、「RAM」(ランダム・アクセス・メモリ)、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ・デバイス、電気形態、光形態、音響形態、またはその他の形態の伝搬される信号(例えば、搬送波、赤外線信号、デジタル信号など)などが含まれる。
本開示の少なくともいくつかの実施形態は、ソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境における1つまたは複数のアプリケーション・プログラミング・インタフェースを含む。様々なファンクション・コールまたはメッセージが、ユーザ・インタフェース・ソフトウェアとソフトウェア・アプリケーションの間のアプリケーション・プログラミング・インタフェースを介して転送される。ファンクション・コールまたはメッセージを転送することは、ファンクション・コールまたはメッセージを発行すること、開始すること、呼び出すこと、または受け取ることを含むことが可能である。例示的なアプリケーション・プログラミング・インタフェースは、表示領域を有するデバイスに関してスクロール・オペレーション、ジェスチャリング・オペレーション、およびアニメ化オペレーションを実施するファンクション・コールを転送する。また、APIは、パラメータ、変数、またはポインタを有するファンクションを実施することもできる。APIは、開示されるパラメータ、またはパラメータの他の組み合わせを受け取ることができる。開示されるAPIに加えて、その他のAPIが個々に、または組み合わせで、開示されるAPIと類似した機能を実行することができる。
表示領域は、或る形態のウインドウである。ウインドウは、境界を有さない可能性がある表示領域であり、ディスプレイの表示領域全体または表示エリア全体であることが可能である。一部の実施形態では、表示領域は、少なくとも1つのウインドウ、および/または少なくとも1つのビュー(例えば、Webコンテンツ、テキスト・コンテンツ、またはイメージ・コンテンツ)を有することが可能である。ウインドウは、少なくとも1つのビューを有することが可能である。開示される方法、システム、および装置は、表示領域、ウインドウ、および/またはビューを使用して実施されることが可能である。
本開示の少なくともいくつかの実施形態は、デバイスのディスプレイをスクロールするためのスクロール・オペレーションを含む。スクロール・オペレーションには、スクロールが完了すると、スクロールされる領域を、スクロールとは反対方向に揺れ戻り開始(バウンス)をさせること、スクロールされる領域が、或るディスプレイ・エッジを超えると、スクロールされる領域を所定の最大変位量だけラバーバンド化すること、および水平方向または垂直方向にスクロールをロックするスクロール角度を設定することが含まれる。
本開示の少なくともいくつかの実施形態は、デバイスのディスプレイに関するジェスチャ・オペレーションを含む。ジェスチャ・オペレーションには、2つ以上の入力ポイントを有するユーザ入力に応答して、ズームインまたはズームアウトなどの拡大縮小変換を実行することが含まれる。また、ジェスチャ・オペレーションには、2つ以上の入力ポイントを有するユーザ入力に応答してイメージまたはビューを回転させる回転変換を実行することも含まれる。
本開示の少なくともいくつかの実施形態は、デバイスのディスプレイに関してアニメーションを実行するための方法を含む。この方法は、少なくとも1つのアニメーションを開始することを含む。この方法は、各アニメーションの進行を決定することをさらに含む。この方法は、単一のタイマに基づいて各アニメーションを完了させることをさらに含む。この単一のタイマは、ディスプレイ・ハードウェアの再描画間隔に基づくことが可能である。
本開示の少なくともいくつかの実施形態は、ポータブル音楽プレーヤおよび/またはビデオ・メディア・プレーヤなどのデジタル・メディア・プレーヤの一部であることが可能であり、デジタル・メディア・プレーヤは、メディアを提示するメディア処理システム、メディアを格納するストレージ・デバイスを含むことが可能であり、アンテナ・システムおよびメディア処理システムに結合されたRF(無線周波数)トランシーバ(例えば、セルラー電話機のためのRFトランシーバ)をさらに含むことが可能である。いくつかの実施形態では、リモート・ストレージ・デバイス上に格納されたメディアが、RFトランシーバを介してメディア・プレーヤに伝送されることが可能である。メディアは、例えば、音楽もしくは他のオーディオ、静止画像、または動画の1つまたは複数であることが可能である。
ポータブル・メディア・プレーヤは、カリフォルニア州クーパーチーノ所在のアップル・コンピュータ株式会社からのiPod(登録商標)メディア・プレーヤ上、もしくはiPod Nano(登録商標)メディア・プレーヤ上のクリック・ホイール入力デバイス、タッチスクリーン入力デバイス、押しボタン・デバイス、可動ポインティング入力デバイス、または他の入力デバイスなどのメディア選択デバイスを含むことが可能である。メディア選択デバイスは、ストレージ・デバイス上、および/またはリモート・ストレージ・デバイス上に格納されたメディアを選択するのに使用されることが可能である。ポータブル・メディア・プレーヤは、少なくともいくつかの実施形態において、入力デバイスを介して選択され、スピーカもしくはイヤホンを介して、またはディスプレイ・デバイス上で、あるいはディスプレイ・デバイスとスピーカもしくはイヤホンの両方の上で提示されるメディアの題名、または他の標識を表示するようにメディア処理システムに結合されたディスプレイ・デバイスを含むことが可能である。一部の実施形態では、ディスプレイ・デバイスと入力デバイスは統合されるのに対して、他の実施形態では、ディスプレイ・デバイスと入力デバイスは、別々のデバイスである。ポータブル・メディア・プレーヤの例は、参照により本明細書に組み込まれている、「Automated Response to and Sensing of User Activity in Devices」という題名の米国特許出願第11/586,862号、ならびに公開された米国特許出願第2003/0095096号および米国特許出願第2004/0224638号において説明されている。
本明細書で説明される開示の実施形態は、例えば、エンターテイメント・システムもしくはPDA(パーソナル・デジタル・アシスタント)、または汎用コンピュータ・システムもしくは専用コンピュータ・システム、または別のデバイス内部の組み込み型デバイス、またはメディア・プレーヤを含まないセルラー電話機、またはマルチタッチ・タブレット・デバイス、もしくは他のマルチタッチ・デバイス、あるいはこれらのデバイスの態様または機能を組み合わせるデバイス(例えば、1つのデバイスの中でPDA,エンターテイメント・システム、およびセルラー電話機と組み合わされた、iPod(登録商標)などのメディア・プレーヤ)などの、他のタイプのデータ処理システムの一部であることが可能である。本開示において、電子デバイスおよび消費者デバイスは、デバイスのタイプである。
図1は、デバイスのユーザ入力に応答するための方法の流れ図である。方法100は、ブロック102でユーザ入力を受け取ることを含む。ユーザ入力は、入力キー、ボタン、ホイール、タッチ、あるいはデバイスと対話するための他の手段の形態であることが可能である。方法100は、ブロック104で、ユーザ入力に応答してイベント・オブジェクトを作成することをさらに含む。方法100は、ブロック106で、イベント・オブジェクトがスクロール・オペレーションまたはジェスチャ・オペレーションを呼び出すかどうかを判定することをさらに含む。例えば、デバイスのディスプレイにわたって或る距離をドラッグする単一のタッチが、スクロール・オペレーションとして解釈されることが可能である。一実施形態では、ディスプレイの2本以上の指のタッチが、ジェスチャ・オペレーションとして解釈されることが可能である。いくつかの実施形態では、イベント・オブジェクトがスクロール・オペレーションまたはジェスチャ・オペレーションを呼び出すかどうかを判定することは、或る期間にわたってドラッグ・ユーザ入力を受け取ることに基づく。方法100は、ブロック108で、スクロール・オペレーションまたはジェスチャ・オペレーションを呼び出すことに基づいて、少なくとも1つのスクロール・コールまたはジェスチャ・コールを発行することをさらに含む。方法100は、ブロック110で、少なくとも1つのスクロール・コールが発行された場合、そのコールに、スクロールの量に基づいて、イベント・オブジェクトに関連するビュー(例えば、Webコンテンツ、テキスト・コンテンツ、またはイメージ・コンテンツ)を有するウインドウをスクロールすることによって応答することをさらに含み、このスクロールは、ユーザ入力を基準にして所定の位置で停止される。例えば、入力が、デバイスのディスプレイ上の或る位置で終わることが可能である。スクロールは、ユーザから受け取った最後の入力を基準にして所定の位置に到達するまで続くことが可能である。方法100は、ブロック112で、少なくとも1つのジェスチャ・コールが発行された場合、そのコールに、複数の入力ポイントをユーザ入力の形態で受け取ることに基づいて、イベント・オブジェクトに関連するビューを変更することによって応答することをさらに含む。
本開示のいくつかの実施形態において、スクロール・オペレーションは、ディスプレイのコンテンツ・エッジにスクロール・インジケータを付けることを含む。代替として、スクロール・インジケータは、ディスプレイ・エッジに付けられることも可能である。一部の実施形態では、マウス/指ダウンの形態のユーザ入力により、スクロールされる領域のディスプレイ・エッジ上、コンテンツ・エッジ上、またはウインドウ・エッジ上にスクロール・インジケータが表示されるようになる。マウス/指アップが検出された場合、スクロール・インジケータは、スクロールされる領域の表示領域、コンテンツ・エッジ、またはウインドウ・エッジからフェードアウトさせられる。
本開示のいくつかの実施形態では、ジェスチャ・オペレーションには、少なくとも1つのジェスチャ・コールが発行された場合、そのコールに、複数の入力ポイントをユーザ入力の形態で受け取ることに基づいて、イベント・オブジェクトに関連するビューを回転させることによって応答することが含まれる。また、ジェスチャ・オペレーションには、ユーザ入力を受け取ることに基づいてズームインすること、またはズームアウトすることによって、イベント・オブジェクトに関連するビューを拡大縮小することも含まれることが可能である。
一部の実施形態では、デバイスは、複数のビューまたはウインドウを有する表示領域を含む。各ウインドウは、スーパービューおよびサブビューを含む複数のビューを有することが可能である。いずれのウインドウ、ビュー、スーパービュー、またはサブビューに接触が行われるかを、マウス・アップ、マウス・ダウン、またはドラッグなどの形態のユーザ入力によって決定する必要がある。APIは、この決定を行うために様々なモードを設定することができる。一実施形態では、パス・モードが、マウス・ダウン入力、マウス・アップ入力、およびドラッグ入力を最も近いサブビューに送る。別の実施形態では、インターセプト・オン・ドラッグ・モードが、ドラッグ入力をスーパービューに送る一方で、マウス・アップ入力およびマウス・ダウン入力は、サブビューに送られる。別の実施形態では、インターセプト・モードが、ドラッグ入力、マウス・アップ入力、およびマウス・ダウン入力のすべてをスーパービューに送る。スーパービューは、ビュー・ソフトウェアのサブクラスとして動作するスクローラ・ソフトウェアであることが可能である。サブビューは、ユーザ・インタフェース・ソフトウェアのサブクラスとして動作するビュー・ソフトウェアであることが可能である。
図2は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースを流れ図形態で示す。アプリケーション・プログラミング・インタフェースは、揺れ戻り(bounce)オペレーションをもたらすためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。揺れ戻りオペレーションをもたらすための方法200は、ブロック202で、揺れ戻り設定コール(set bounce call)を転送することを含む。方法200は、ブロック204で、最大揺れ戻り値と最小揺れ戻り値の少なくともいずれかを設定することをさらに含む。最大揺れ戻り値および最小揺れ戻り値は、ユーザ入力を受け取ったウインドウの少なくとも1つのエッジに関連することが可能である。方法200は、ブロック206で、スクロールの終わりに表示領域の中で、スクロールされる領域を超えた領域が目に見えることに基づいて、スクロールの反対方向にスクロールされる領域の揺れ戻りを生じさせることをさらに含む。スクロールされる領域は、コンテンツ領域であることが可能である。
本開示のいくつかの実施形態では、揺れ戻り設定コールを転送することは、揺れ戻り設定コールを発行すること、開始すること、呼び出すことまたは受け取ることのいずれかである。
図3は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、ラバーバンド・オペレーションをもたらすためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。ラバーバンド・オペレーションをもたらすための方法300は、ブロック302で、ディスプレイ内に表示されたスクロールされる領域をラバーバンド化することをもたらすラバーバンド・コールを転送することを含む。方法300は、ブロック304で、ディスプレイの少なくとも1つのエッジに関する変位値を設定するエッジ・ラバーバンド・コールを転送することをさらに含む。一部の実施形態では、変位値は、上エッジおよび下エッジに関して、左エッジおよび右エッジに関して、またはすべてのエッジに関して設定される。
方法300による、スクロールされる領域をラバーバンド化することは、スクロールされる領域が、スクロールに基づいてデバイスのディスプレイのディスプレイ・エッジを超えると、所定の最大変位値だけ行われる。ユーザが、ディスプレイのコンテンツをスクロールして、コンテンツのエッジを超えた領域を、ディスプレイの中で目に見えるようにした場合、変位値が、コンテンツの外側の領域に関する最大量を制限する。スクロールの終わりに、コンテンツは、スライドして戻り、コンテンツの外側の領域をディスプレイ上でもはや目に見えないようにする。
本開示のいくつかの実施形態では、ラバーバンド・コールを転送することは、ラバーバンド・コールを発行すること、開始すること、呼び出すこと、または受け取ることのいずれかである。
図4は、タッチセンシティブ・ディスプレイ408を有するポータブル電子デバイス400のユーザ・インタフェースの実施形態を示す概略図である。ディスプレイ408は、ウインドウ410を含むことが可能である。ウインドウ410は、情報オブジェクト412−1ないし412−4などの、1つまたは複数の表示されるオブジェクトを含むことが可能である。例示的な実施形態では、情報オブジェクト412は、項目のリストの中の1名または複数名の個人に関する連絡先情報に対応することが可能である。表示されるオブジェクトは、ユーザの1本または複数本の指416(図4に一律の縮尺に従わずに描かれている)に関連する接触ポイントなどの、ディスプレイに対する接触ポイントの動き414を検出する、または特定することに応答して、動かされることが可能である。一部の実施形態では、表示されるオブジェクトの動きは、接触ポイントの加速された動きを検出すること、または特定することに応答して、加速されることが可能である。実施形態400は、1つのウインドウ410を含むが、他の実施形態では、2つ以上のディスプレイ・ウインドウが存在することが可能である。さらに、実施形態400は、或る特定の方向の動き414を示すが、他の実施形態では、表示されるオブジェクトの動きは、他の1つまたは複数の方向の動き414に応答すること、またはスカラー(すなわち、方向とは無関係の特定された、または検出された動き)に応答することが可能である。
図5A〜図5Cは、デバイス上の項目のリストを、そのリストの終端までスクロールし、終端までスクロールした時点で、そのリストの終わりの1つまたは複数の表示された項目が、ディスプレイの端部に当たって滑らかに揺れ戻り、方向を逆転し、その後、オプションとして停止することを示す。図5Aは、タッチセンシティブ・ディスプレイを有するポータブル電子デバイス400のユーザ・インタフェースの実施形態を示す概略図である。情報オブジェクト412−1などの1つまたは複数の表示されるオブジェクトは、スクロールされる領域のエッジである項目のリストの終端514から距離512−1にあることが可能であり、リストがスクロールされている間、速度510−1で動いていることが可能である。終端514は、ウインドウ410および/またはディスプレイ408に関連する物理的境界ではなく、表示されるオブジェクトに関連する仮想境界であることに留意されたい。図5Bに示されるとおり、情報オブジェクト412−1などの1つまたは複数の表示されるオブジェクトが、終端514に到達する、または交差すると、スクロールに対応する動きが停止することが可能であり、すなわち、スクロール速度が、瞬間に0であることが可能である。図5Cに示されるとおり、情報412−1などの1つまたは複数の表示されるオブジェクトは、その後、方向を逆転することが可能である。終端514と交差した後の時点で、情報オブジェクト412−1は、速度510−2を有することが可能であり、終端514から距離512−2にあることが可能である。一部の実施形態では、速度510−2の大きさは、距離512−2が距離512−1と等しい時点で、速度510−1の大きさより小さいことが可能であり、すなわち、1つまたは複数の表示されるオブジェクトの動きは、スクロールするリストが、リストの終端に到達して、「揺れ戻った」後、鈍らせられる。
本開示の少なくとも一部の実施形態において、方法200は、図5A〜図5Cに表される揺れ戻りオペレーションを実行する。ブロック202で転送される揺れ戻りコールが、揺れ戻りオペレーションが有効にされるかどうかを決定する。最大揺れ戻り値および最小揺れ戻り値が、スクロールの反対方向における、スクロールされる領域の揺れ戻りの量を決定する。
図6A〜図6Dは、一部の実施形態による、項目のリストを、そのリストの終端までスクロールし、終端までスクロールした時点で、この終端を超えた領域が表示され、リストは、その後、この終端を超えた領域がもはや表示されなくなるまで、反対方向にスクロールされることを示す。方法300のラバーバンド・オペレーションが、リストされる項目が電子メール・メッセージである図6A〜図6Dの例に示される。図6A〜図6Dは、一部の実施形態による受信ボックスを管理するための例示的なユーザ・インタフェース3500Aを示す。同様のユーザ・インタフェースが、他のメールボックス(例えば、下書き、送信済み、ゴミ箱、パーソナルなど)を表示し、管理するのに使用されることが可能である。さらに、インスタント・メッセージ会話のリスト、好みの電話番号のリスト、連絡先情報のリスト、ラベルのリスト、電子メール・フォルダのリスト、電子メール・アドレスのリスト、物理的アドレスのリスト、呼び出し音のリスト、またはアルバム名のリストを含むが、以上には限定されない他のタイプのリストも可能である。
電子メールのリストが、割り当てられたスクリーン・エリアから溢れる場合、ユーザは、タッチスクリーン上で垂直に上向きに、さらに/または垂直に下向きにスワイプするジェスチャを使用して、電子メールをスクロールすることができる。図6Aの例では、Bruce Walkerからの最上位に表示される電子メール3530、およびKim Brookからの最下位に表示される電子メール3532を含む、電子メールのリストの一部分が、スクリーン・エリアの中で表示されている。ユーザは、垂直に下向きにスワイプするジェスチャ3514を実行して、リストの最上位に向かってスクロールする。垂直に下向きのジェスチャ3514は、正確に垂直でなくてもよく、つまり、実質的に垂直なジェスチャで十分である。一部の実施形態では、所定の角度の範囲内のジェスチャが、完全に垂直であることは、垂直なスクロールをもたらす。
垂直に下向きのジェスチャ3514を検出した結果、図6Bにおいて、表示される電子メールは、下に移動して、Kim Brookからの、前に最下位に表示されていた電子メールは、もはや表示されず、Bruce Walkerからの、前に最上位に表示されていた電子メール3530は、現在、上から2番目にあり、図6Aに表示されていなかった、Aaron Jonesからの電子メール3534が、現在、リストの最上位に表示されている。
この例では、Aaron Jonesからの電子メール3534は、リストの中の最初の電子メールであり、このため、リストの終端である。この電子メール3534に到達すると、垂直に下向きのジェスチャ3514を継続して検出することに応答して、最初の電子メール3534より上(すなわち、リストの終端を超える)エリア3536(図6C)が、表示される。一部の実施形態では、リストの終端を超えて表示されるエリアは、リストの背景と視覚的に区別がつかない。図6Cにおいて、エリア3536と、電子メール(例えば、電子メール3534および3530)の背景はともに白であり、このため、視覚的に区別がつかない。
垂直に下向きのジェスチャ3514が完了して、対応する物体が、タッチスクリーン・ディスプレイ上、またはタッチスクリーン・ディスプレイ近くでもはや検出されなくなると、リストは、エリア3536がもはや表示されなくなるまで、反対方向にスクロールされる。図6Dは、この反対方向のスクロールの結果を示し、Aaron Jonesからの電子メール3534が、現在、リストに割り当てられたスクリーン・エリアの最上部に表示され、エリア3536は、表示されていない。
図6A〜図6Dの例では、垂直に下向きのジェスチャが、リストの中の最初の項目を超えたエリアの表示をもたらしている。図3に表されるとおり、所定の最大変位(例えば、リストの中の最初の項目を超えるエリアの表示)に関する値が、上エッジおよび下エッジに関してブロック304で設定され、あるいはウインドウのすべてのエッジに関してブロック306で設定される。
同様に、垂直に上向きのジェスチャは、この垂直に上向きのジェスチャが、リストが最後の項目までスクロールされた後に続く場合、リストの最後の項目を超えたエリアの表示をもたらす。最後の項目は、最初の項目と同様に、リストの終端と考えられることが可能である。前述したとおり、ジェスチャは、垂直のスクロールをもたらすのに正確に垂直である必要はなく、つまり、完全な垂直から或る事前定義された角度範囲内のジェスチャで十分である。
図7は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、方向付きスクロール・オペレーションをもたらすためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。API(アプリケーション・プログラミング・インタフェース)を介して操作するための方法700は、ブロック702で、方向付きスクロールが有効にされるかどうかを決定する方向付きスクロール角度コールを転送することを含む。方法700は、ブロック704で、垂直方向または水平方向の少なくとも1つにスクロールをロックするためのスクロール角度を設定する方向付きスクロール角度コールを転送することをさらに含む。方法700は、ブロック706で、ユーザ入力が、水平方向に対して、第1のスクロール角度以下の角度を成す場合、水平方向にスクロールをロックすることをさらに含む。方法700は、ブロック708で、ユーザ入力が、垂直方向に対して、第2のスクロール角度以下の角度を成す場合、垂直方向にスクロールをロックすることをさらに含む。
いくつかの実施形態では、ドラッグの形態のユーザ入力が、水平方向に対して、第1のスクロール角度未満の角度を成す。この場合、ユーザは、おそらく、水平方向のスクロールを意図している。スクロールは、ユーザ入力が第1のスクロール角度を超えるまで、水平方向にロックされる。第2のスクロール角度が、ユーザ入力を垂直方向にロックするために使用されることが可能である。第2のスクロール角度は、第1のスクロール角度と等しく設定されることが可能である。
図8は、デバイスのディスプレイのスクロールを水平方向または垂直方向にロックするための第1のスクロール角度、および第2のスクロール角度を示す。水平方向802および垂直方向804は、デバイスのウインドウまたはディスプレイを基準とする。方法700において説明されるとおり、水平方向802に対して、第1のスクロール角度806または808以下の角度を成すドラッグの動きなどのユーザ入力が、そのユーザ入力を水平方向にロックする。同様に、垂直方向810に対して、第2のスクロール角度810または812以下の角度を成すユーザ入力が、そのユーザ入力を垂直方向にロックする。第1のスクロール角度と第2のスクロール角度は、同一の角度に設定されても、異なる角度に設定されてもよい。例えば、第1のスクロール角度、および第2のスクロール角度は、25度に設定されることが可能である。水平方向または垂直方向に対して25度以下のユーザ入力は、スクロールを適切な方向にロックする。
一部の実施形態では、水平ロック角度および垂直ロック角度は、コンテンツの態様によって或る程度、決定されることが可能である。例えば、縦長のページの形態のコンテンツは、水平ロック角度と比べて、より大きい垂直ロック角度を受けることが可能である。
図9は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、減速スクロール・オペレーションをもたらすためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。減速スクロール・オペレーションをもたらすための方法900は、ブロック902で、ドラッグ・ユーザ入力に関する減速率を設定する減速スクロール・コールを転送することを含む。方法900は、ブロック904で、ドラッグ・ユーザ入力の速度、および減速率に基づいて、スクロールを、停止するまで減速させることをさらに含む。
いくつかの実施形態では、ドラッグの形態のユーザ入力が、或る期間にわたってスクロール・オペレーションを呼び出す。ユーザ入力は、或る速度を有する。デバイスのディスプレイのウインドウまたは表示領域のスクロールされる領域のスクロールは、ユーザ入力が止まった後、ドラッグの動きの間のユーザ入力の速度に或る減速率を適用することによって停止させられる。
図10は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、スクロール・ヒステリシス・オペレーションをもたらすためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。スクロール・ヒステリシス・オペレーションをもたらすための方法1000は、ブロック1002で、ユーザ入力がスクロールを呼び出すかどうかを決定するスクロール・ヒステリシス・コールを転送することを含む。方法1000は、ブロック1004で、ユーザ入力がスクロールを呼び出すかどうかを決定するためのヒステリシス値を設定することをさらに含む。
いくつかの実施形態では、デバイスのディスプレイ内のディスプレイまたはウインドウにわたる或る距離に及ぶドラッグの形態のユーザ入力が、スクロール・オペレーションを呼び出す。ヒステリシス値が、スクロール・オペレーションを呼び出すまでにディスプレイまたはウインドウにわたってユーザ入力がドラッグされなければならない、この或る距離を決定する。この或る所定の距離をドラッグされないユーザ入力は、スクロール・オペレーションを呼び出さず、マウス・アップ入力またはマウス・ダウン入力、あるいは他のタイプの入力と見なされる可能性がある。
図11は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、デバイスのスクロール領域エッジまたはウインドウ・エッジにスクロール・インジケータを付けるためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。一部の実施形態では、スクロール領域エッジは、コンテンツ・エッジに関連する。ウインドウ・エッジまたはディスプレイ・エッジは、表示領域のエッジに関連することが可能である。スクロール・インジケータをもたらすための方法1100は、ブロック1102で、少なくとも1つのスクロール・インジケータが、クロール領域のエッジに付けられるか、またはウインドウ・エッジに付けられるかを決定するスクロール・インジケータ・コールを転送することを含む。スクロール・インジケータは、任意のディスプレイ・エッジ、ウインドウ・エッジ、またはスクロール領域エッジの上で表示されることが可能である。方法1100は、ブロック1104で、オプションとして、スクロール・インジケータ・コールに基づいてスクロール領域のエッジに少なくとも1つのスクロール・インジケータを付けることをさらに含む。代替として、方法1100は、ブロック1106で、オプションとして、スクロール・インジケータ・コールに基づいてビューのウインドウ・エッジに少なくとも1つのスクロール・インジケータを付けることをさらに含む。
一部の実施形態では、方法1100のオペレーションは、変更される、変形される、組み合わされる、または削除されることが可能である。例えば、ブロック1104は、削除されることが可能である。同様に、ブロック1106も、方法1100から削除されることが可能である。代替として、ブロック1104とブロック1106の順序が入れ替えられることが可能である。また、本開示の中で開示されてきた様々なオペレーションを有する他の方法も、変更される、変形される、並べ替えられる、畳み込まれる、組み合わされる、または削除されることが可能である。
本開示のいくつかの実施形態では、スクロール・インジケータ・コールを転送することは、スクロール・インジケータ・コールを発行すること、開始すること、呼び出すこと、または受け取ることのいずれかである。例えば、ユーザ・インタフェース・ソフトウェア(例えば、ソフトウェア・キットまたはソフトウェア・ライブラリ)が、ソフトウェア・アプリケーションからスクロール・インジケータ・コールを受け取ることが可能である。
図12は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、不慮のユーザ入力がデバイスのディスプレイのビューに接触したかどうかを判定するためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。この方法1200は、ブロック1202で、ユーザ入力が不慮であったかどうかを判定する不慮のユーザ入力コールを転送することを含む。方法1200は、ブロック1204で、不慮のユーザ入力コールの判定に基づいて、不慮のユーザ入力を無視することをさらに含む。一実施形態では、不慮のユーザ入力コールは、ユーザ入力が不慮の親指であったかどうかを判定する親指検出コールを含む。
本開示のいくつかの実施形態では、不慮のユーザ入力コールを転送することは、不慮のユーザ入力コールを発行すること、開始すること、呼び出すこと、または受け取ることのいずれかである。
ジェスチャAPIが、ジェスチャリングを扱うためにアプリケーションとユーザ・ソフトウェアの間のインタフェースを提供する。ジェスチャリングは、ビュー、ウインドウ、またはディスプレイの拡大縮小、回転、または他の変更を含むことが可能である。マスクが、いくつかの変更だけを許す一方で、他の変更を制限する、または許さないことが可能である。あらゆる種類のイベントが、グラフィックス・フレームワークを介してアプリケーションに入ってくる。それらのイベントは、待ち行列化され、必要とされる場合、畳み込まれ、ディスパッチされる。それらのイベントが、システム・レベル・イベント(例えば、アプリケーションが、一時停止すべきである、デバイスの向きが変えられたなど)である場合、イベントは、ユーザ・インタフェース・ソフトウェアのクラスのインスタンスを有するアプリケーションに転送される。それらのイベントが、ユーザ入力に基づく手イベントである場合、イベントは、それらのイベントが上部で生じたウインドウに転送される。すると、ウインドウは、インスタンスのマウス・メソッドおよびジェスチャ・メソッドを呼び出すことによって、これらのイベントを適切なコントロールに転送する。マウス・ダウン・ファンクションまたはマウス入力ファンクションを受け取ったコントロールは、手が外されるまで、将来のすべてのコールを受け取り続ける。第二指が検出された場合、ジェスチャ・メソッドまたはジェスチャ・ファンクションが、呼び出される。これらのファンクションには、ジェスチャ開始コール、ジェスチャ変化コール、およびジェスチャ終了コールが含まれることが可能である。ジェスチャ開始コールを受け取ったコントロールには、ジェスチャが終了するまで、将来のすべてのジェスチャ変化コールが送られる。
図13は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、ジェスチャ・オペレーションをもたらすためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。ジェスチャ・オペレーションをもたらすための方法1300は、ブロック1302で、ジェスチャ・イベント処理コールを転送することを含む。方法1300は、ブロック1304で、ジェスチャ・イベント処理コールに応答してジェスチャ変化コールを転送することをさらに含む。
いくつかの実施形態では、2つ以上のポイントの形態のユーザ入力が、デバイスのディスプレイによって受け取られる。デバイスのマルチタッチ・ドライバが、ユーザ入力を受け取り、イベントをイベント・オブジェクトにパッケージ化する。ウインドウ・サーバが、このイベント・オブジェクトを受け取り、このイベント・オブジェクトがジェスチャ・イベント・オブジェクトであるかどうかを判定する。ウインドウ・サーバが、ジェスチャ・イベント・オブジェクトが受け取られたと判定した場合、ユーザ・インタフェース・ソフトウェアが、ブロック1302でビューに関連するソフトウェア・アプリケーションにジェスチャ処理コールを発行または転送する。ソフトウェア・アプリケーションは、ジェスチャ・イベントが受け取られたことを確認し、ユーザ・インタフェース・ソフトウェアのライブラリにジェスチャ処理コールを送る。また、ウインドウ・サーバは、ユーザ入力を受け取ったビューにジェスチャ・イベント・オブジェクトを関連付ける。ライブラリは、ブロック1304で、ジェスチャ・イベント処理コールに応答して、ジェスチャ変化コールを転送することによって応答する。
一実施形態では、ユーザ入力に関連するウインドウまたはビューが、ジェスチャ・イベントを実行するために変化コールを受け取る。ビューをもたらすユーザ・ソフトウェアが、ジェスチャ開始イベント・コール、ジェスチャ変化イベント・コール、ビューに関する拡大縮小設定へのズーム、およびジェスチャ終了コールを受け取る。これらのジェスチャ・コールは、ハンド・イベント、キーボード・イベント、システム・イベントなどのタイプを有するベース・イベントであることが可能なジェスチャ・イベントの入力を受け取る。アプリケーションに関連付けられたデレゲートが、ジェスチャ開始コール、ジェスチャが変化したコール、およびジェスチャが終了したコールを受け取る。ユーザ・ソフトウェアは、ジェスチャ・プロセスのランタイム中にアプリケーションに動的にリンクしている。
一部の実施形態では、ジェスチャ変化ファンクション・コールは、ジェスチャについて以下の情報を含む。すなわち、
現在、下ろされている指の数、
最初に下ろされていた指の数、
手の回転、
手のスケール、
手の平行移動、
最も内側の指および最も外側の指の位置、および
第一指の圧力である。
他の実施形態では、下ろされている各指についてのさらなる情報が、以下のとおり含められることが可能である。すなわち、
指の段階(下ろされて触れているだけ、完全に押されている、持ち上げられているなど)、
指の位置、
指の近さ(貴方がどれだけ強く触れているか)、
指の向き(球形の置かれている角度)、
長軸および短軸の長さ、
指の速度、および
指の球形の偏心である。
ジェスチャ・イベント・オブジェクトは、コード・カウント(ビューまたはディスプレイに接触した指の数)、コード開始イベント、コード変化イベント、およびコード終了イベントを有するコード・イベント・オブジェクトであることが可能である。コード変化イベントは、拡大縮小変換または回転変換を含むことが可能である。
図14は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、デバイスのディスプレイの表示領域、ウインドウ、またはビューの拡大縮小変換をもたらすためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。拡大縮小変換をもたらすための方法1400は、ブロック1402で、複数の入力ポイントを有するユーザ入力に関連するビューに関する拡大縮小変換を決定する拡大縮小変換コールを転送することを含む。方法1400は、ブロック1404で、拡大縮小ジェスチャ開始コールを転送することをさらに含む。方法1400は、ブロック1406で、拡大縮小ジェスチャ進行コールを転送することをさらに含む。方法1200は、ブロック1408で、拡大縮小ジェスチャ終了コールを転送することをさらに含む。
いくつかの実施形態では、2つ以上の入力ポイント(例えば、指)の形態のユーザ入力が一緒に、または離れて動いて、そのユーザ入力に関連するビューに対して拡大縮小変換を実行するジェスチャ・イベントを呼び出す。拡大縮小変換は、最小倍率および最大倍率を含む。図15は、ビューの拡大縮小変換を有するデバイスのディスプレイ1502を示す。ビュー1504(例えば、Webコンテンツ、テキスト・コンテンツ、またはイメージ・コンテンツ)は、第1の倍率を有する。ビュー1504に関連する或るユーザ入力(例えば、離れて動く2本の指)が、ビュー1504から、ビュー1516の最大倍率を超える第2の倍率を有するビュー1508にズームアウトするジェスチャ・イベントとして解釈される。スナップバック・フラグが、ビュー1516に関連する最大倍率にスナップバックすることに先立って、最大倍率を超えてビュー1508までズームアウトが進むことができるかどうかを判定する。
図16Aは、ビュー1616の第1の倍率を有するデバイスのディスプレイ1604を示す。ビュー1614に関連する或るユーザ入力(例えば、一緒に動く2本の指1608および1610)が、図16Bに示されるとおり、ビュー1614から、第2の倍率を有するビュー1664までズームインするジェスチャ・イベントとして解釈される。破線の領域1602および1650は、コンテンツの全体的なエリアを表し、唯一のコンテンツが、表示エリア1604および1652の中に表示されている。図16Aから図16Bに拡大縮小変換を実行する際、ジェスチャ・イベントの中心、図16Aに関する中心1612、および図16Bに関する中心1660は、ディスプレイ1604に対して同一の位置に留まる。スクロール・インジケータ1606は、変換中に縮小してスクロール・インジケータ1654になり、ズームイン・オペレーションの結果、全体的なコンテンツ1650のより小さい部分が、ディスプレイ1604上に示されていることを示す。破線の領域1650は、破線領域1602より大きく、ズームイン・オペレーションの結果、図16Bの表示1652上に表示されていないコンテンツの部分がより大きいことを表す。
本開示の少なくともいくつかの実施形態において、ユーザが、図16Cに示されるとおり、ビュー1670を2×の倍率から1×の倍率に変更することを所望する。ユーザ入力1676および1678の第2のセットに動かされるユーザ入力1672および1674の第1のセットが、倍率を2×から1×に下げる。ユーザが、ユーザ入力をビュー1670にわたって大きい距離で動かす必要なしに、2×から1×に倍率変更することが望ましい可能性がある。ソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において、複数の入力ポイントを有するユーザ入力に関連するビューに関する拡大縮小変換を決定するために、ジェスチャ拡大縮小変換フラグが設定されることが可能である。拡大縮小変換フラグは、現在の倍率から最小倍率に、または現在の倍率から最大倍率に倍率変更する。例えば、フラグは、1.5×の倍率、ならびにユーザ入力1680および1682の第3のセットに関連する位置に設定されることが可能である。倍率を2×から1×に変更することを所望するユーザは、ジェスチャ拡大縮小変換フラグが1.5×という倍率に設定されている場合、ユーザ入力であるユーザの指を、第1のセット1672および1674から第3のセット1680および1682に動かすだけでよい。
図17は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、デバイスのディスプレイのビュー、ウインドウ、または表示領域の回転変換をもたらすためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。回転変換をもたらすための方法1700は、ブロック1702で、複数の入力ポイントを有するユーザ入力に関連するビューに関する回転変換を決定する回転変換コールを転送することを含む。方法1700は、ブロック1704で、回転ジェスチャ開始コールを転送することをさらに含む。方法1700は、ブロック1706で、拡大縮小ジェスチャ進行コールを転送することをさらに含む。方法1700は、ブロック1708で、拡大縮小ジェスチャ終了コールを転送することをさらに含む。
いくつかの実施形態では、2つ以上の入力ポイントの形態のユーザ入力が回転して、そのユーザ入力に関連するビューに対して回転変換を実行するジェスチャ・イベントを呼び出す。回転変換は、関連する最小回転ビューおよび最大回転ビューに関する最小回転度および最大回転度を含む。ユーザ入力は、ビューが最大回転度にスナップバックすることに先立って、一時的に最大回転度を超えてビューを回転させることが可能である。
図18は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、デバイスのディスプレイの表示領域、ウインドウ、またはビューに関連する少なくとも1つのアニメーションについてデレゲートに通知するためにソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。アニメーションにおける遅延が、APIによって指定されることが可能である。また、複数のアニメーションに、APIによって優先度が割り当てられることが可能である。デレゲートに通知するための方法1800は、ブロック1802で、アニメーションが行われるかどうかを決定することを含む。方法1800は、ブロック1804で、アニメーションの進行をチェックすることをさらに含む。進行が生じた場合、ブロック1806で、アニメーションの次の状態(例えば、位置、不透明度、または変換)が計算されることが可能である。ブロック1806で進行が完了した場合、ブロック1808で、完了したアニメーションに関連するビューが、デレゲートに関連付けられているかどうかが判定される。関連付けられている場合、ブロック1810で、そのビューに関するアニメーションについてデレゲートに通知するデレゲート・コールが転送される。ソフトウェア・アプリケーションの制御下で動作するデレゲートは、そのビューがアニメーションによって変更されることに応答して、他のビューを変更することができる。
いくつかの実施形態では、ソフトウェアは、ユーザ入力に関連するビューに対して拡大縮小変換を実行するアニメーションを呼び出す。ディスプレイは、多数のビューを含むことが可能である。拡大縮小変換によってサイズが大きくされているビューが、他のビューを遮る可能性があり、その場合、これらの他のビューは、サイズが小さくされる必要がある可能性がある。代替として、拡大縮小変換によってサイズが小さくされているビューが、他のビューのサイズが大きくされるさらなるエリアを生じさせる可能性がある。
図19は、デバイスのディスプレイ上に表示された表示領域、ウインドウ、またはビューをアニメ化するための方法の流れ図である。方法1900は、ブロック1902で、少なくとも2つのアニメーションを開始することを含む。方法1900は、ブロック1904で、各アニメーションの進行を決定することをさらに含む。方法1900は、ブロック1906で、単一のタイマに基づいて各アニメーションを完了させることをさらに含む。
本開示のいくつかの実施形態では、単一のタイマは、デバイスのディスプレイの現在のフレームの表示と次のフレームの表示の間の期間である再描画間隔に基づくタイマを含む。この場合、アニメーションの変化は、ディスプレイの次のフレーム中にそれらの変化を表示するために、再描画間隔中にディスプレイに同期される。各アニメーションの進行は、定期的に、または進行コールに基づいて計算されることが可能である。
方法1900は、各アニメーションがデレゲートに関連付けられているかどうかを判定することをさらに含むことが可能である。次に、デレゲートが、そのアニメーションについて通知を受ける。アニメーションに関連していない他のビューは、デレゲートを制御するソフトウェア・アプリケーションに依存して変更されることが可能である。
図20は、デバイスのディスプレイ上に表示された表示領域、ウインドウ、またはビューをアニメ化するための方法の流れ図である。方法2000は、ブロック2002で、単一のアニメーション・タイマを供給することを含む。方法2000は、ブロック2004で、この単一のアニメーション・タイマを使用して複数のアニメーションをアニメ化することをさらに含む。例えば、単一のタイマが、同時に行われるすべてのアニメーションを制御することが可能である。これらのアニメーションには、変換アニメーション、フレーム・アニメーション、および不透明度アニメーションが含まれることが可能である。アニメーション変換は、拡大縮小変換または回転変換を含むことが可能である。フレーム・アニメーションは、フレームのサイズ変更を含むことが可能である。不透明度アニメーションは、不透明度を不透明から透明に、または透明から不透明に変える。
図21は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、デバイスのディスプレイの複数のビューまたはウインドウに関連するアニメーションを同期するために複数のソフトウェア・アプリケーションまたはソフトウェア・プロセスと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。アニメーションを同期するための方法2100は、ブロック2102で、複数のビューの属性を独立に設定することを含み、各ビューは、或るプロセスに関連付けられている。例えば、或るビューの属性または特性は、位置、サイズ、不透明度などを含むことが可能である。アニメーションが、1つまたは複数の属性を第1の状態から第2の状態に変える。方法2100は、ブロック2104で、ディスプレイの複数のビューに関するアニメーションを同期する同期コールを転送することをさらに含む。同期コールは、複数のビューのアニメーションを要求しているプロセスの同期のID、およびそのようなプロセスのリストなどの、入力パラメータまたは引数を含むことが可能である。一実施形態では、同期コールは、アニメーションを要求しているプロセスのIDおよび数を含む。一実施形態では、各アプリケーションまたは各プロセスが、様々な時点で同期コールを送信する。方法2100は、ブロック2106で、同期フラグが有効にされている場合に同期確認メッセージを転送することをさらに含む。同期フラグは、同期されるべきプロセスが、ユーザ・インタフェース・ソフトウェアを動作させているウインドウ・サーバにメッセージをそれぞれ送信した際に、有効にされることが可能である。方法2100は、ブロック2108で、複数のビューの属性を第1の状態から第2の状態に独立に同期することをさらに含む。一実施形態では、ウインドウ・サーバは、様々な時点で各プロセスから同期された属性を受け取る。方法2100は、ブロック2110で、両方のプロセスが、第2の状態に関連する同期された属性を有する場合に、要求されたアニメーションを描画するアニメーション開始コールを転送することをさらに含む。
一部の実施形態では、第1のデータ構造またはレイヤ・ツリーが、プロセスのビューまたはウインドウに対応するレイヤの階層を表す。第2のデータ構造またはレンダ・ツリーが、レイヤ・ツリーの同様のコピーを表す。しかし、レンダ・ツリーは、独立したプロセスが、それらのプロセスの別々のアニメーションを完了するまで、同期されない。この時点で、レンダ・ツリーは、新たなアニメーションでスクリーンを同期し、再描画する。
図22Aおよび図22Bは、デバイスのディスプレイのビューまたはウインドウのサイズ変更を同期することを示す。例えば、或るサイズ属性を有する第1のプロセスに関連するウインドウ2210が、図22Aのウインドウ2210である第1の状態から、図22Bのウインドウ2210である第2の状態に変化することによって、サイズが大きくなることが可能である。ほぼ同時に、第2のウインドウ2220が、第1のウインドウ2210のサイズが大きくなることに比例して、サイズが小さくなることが可能である。方法2100は、図22Aおよび図22Bに示されるウインドウ2210および2220のサイズ変更の同期をもたらす。第1の状態から第2の状態に変化する際のアニメーションは、漸進的に行われ、方法2100の同期とともに行われることが可能である。
図23は、データ処理デバイスのディスプレイ上に表示されたアプリケーションのビューの所有権を切り替えるための方法を示す。方法2300は、ブロック2302で、レイヤの階層を有するデータ構造を構築することを含み、レイヤが、ビュー、およびそのビューを所有することに関連付けられている。これらのレイヤは、アプリケーションのユーザ・インタフェースに関するコンテンツ、ウインドウ、ビデオ、イメージ、テキスト、メディア、または他の任意のタイプのオブジェクトであることが可能である。方法2300は、ブロック2304で、データ構造からレイヤを除去することをさらに含む。方法2300は、ブロック2306で、ビューの所有権をレイヤからビューに切り替えることをさらに含む。
一部の実施形態では、データ構造からの各レイヤが、ビューに関連付けられる。ビューに関連付けられたレイヤは、ビューによって提供されるコンテンツを生成するために、ビューにデレゲート・ファンクション・コールを送る。第1のポインタ・リファレンスが、レイヤからビューへポイントする。第2のポインタ・リファレンスが、ビューからレイヤへポイントする。ビューなどのオブジェクトをポイントするリファレンスの数は、オブジェクトの保持カウントとして定義される。ビューは、レイヤがデータ構造から除去されるという通知を受け取ることが可能である。データ構造からレイヤを除去することは、デバイスのディスプレイから除去されるレイヤに関連付けられたビューに基づいて行われることが可能である。データ構造またはレイヤ・ツリーからレイヤが除去されると、レイヤからビューへのポインタが、除去される。ビューは、ビューの所有権が逆転されない場合、0という保持カウントを有し、メモリから割り当て解除される、または除去される。ビューは、所有権が逆転された場合、少なくとも1という保持カウントを有する。
図24は、デバイスのディスプレイ上に表示されたアプリケーションのビューのメモリ管理のための方法を示す。方法2400は、ブロック2402で、レイヤの階層を有するデータ構造を構築することを含み、少なくとも1つのレイヤが、ビューに関連付けられている。方法2400は、ブロック2404で、データ構造をメモリの中に格納することをさらに含む。方法2400は、ブロック2406で、他のオブジェクトからのビューへのリファレンスの数の保持カウントを保つことをさらに含む。方法2400は、ブロック2408で、保持カウントが0である場合、メモリからビューを割り当て解除することをさらに含む。前述したとおり、ビューの保持カウントは、レイヤがデータ構造から除去される場合、デクリメントされる。データ構造からレイヤを除去することは、デバイスのディスプレイから除去されるレイヤに関連付けられたビューに基づいて行われることが可能である。
図25Aおよび図25Bは、レイヤの階層を有するデータ構造を示し、1つのレイヤが、ビューに関連付けられている。このデータ構造は、レイヤ2502、2504、および2506を含む。レイヤ2506は、ビュー2510に関連付けられている。2510ビューに関連付けられたレイヤ2506は、ビューによって提供されるコンテンツを生成するために、ビューにデレゲート・コールを送る。第1のポインタ・リファレンス2508が、レイヤ2506からビュー2510へポイントする。第2のポインタ・リファレンス2512が、ビュー2510からレイヤ2506へポイントする。第3のポインタ・リファレンス2532が、UI(ユーザ・インタフェース)コントローラ2530からビュー2510へポイントする。UIコントローラ2530が、ユーザ入力に応答してビュー2510をスクロールすることなどの、ビュー2510に関連するオペレーションを制御することができる。図25Aのビュー2510は、ポインタ・リファレンス2508および2532に基づいて、2という保持カウントを有する。
レイヤ2506が、図25Bに示されるとおりデータ構造から除去された場合、ポインタ2508は、除去される。ビュー2510は、図25Bに示されるとおり、より低い保持カウントを有する。ビュー2510が、0という保持カウントを有する場合、ビュー2510を格納しているメモリが、割り当て解除される。
図26は、デバイス上で表示するためにユーザ・インタフェースのメディア・コンテンツと非メディア・コンテンツを合成するための方法を示す。方法2600は、ブロック2602で、デバイスのユーザ・インタフェースに関連付けられたレイヤの階層を有するデータ構造を構築することを含む。方法2600は、ブロック2604で、データ構造の各レイヤが、メディア・コンテンツに関連付けられているか、または非メディア・コンテンツに関連付けられているかを判定することをさらに含む。データ構造またはレイヤ・ツリーが、データ構造の各レイヤが、メディア・コンテンツに関連付けられているか、または非メディア・コンテンツに関連付けられているかを判定するために走査される。方法2600は、ブロック2606で、メディア・コンテンツに関連付けられたレイヤをデータ構造から外すことをさらに含む。方法2600は、ブロック2606で、第1のメモリ・ロケーションの中にメディア・コンテンツを格納することをさらに含む。方法2600は、ブロック2608で、第2のメモリ・ロケーションの中に非メディア・コンテンツを格納することをさらに含む。方法2600は、ブロック2610で、デバイス上で表示するためにメディア・コンテンツと非メディア・コンテンツを合成することをさらに含む。
一部の実施形態では、メディア・コンテンツと非メディア・コンテンツを合成することは、第1のメモリ・ロケーションからメディア・コンテンツを取り出すこと、第2のメモリ・ロケーションから非メディア・コンテンツを取り出すこと、およびメディア・コンテンツおよび非メディア・コンテンツをディスプレイに直接にスキャンすることを含む。メモリ・ロケーションは、キャッシュ、メイン・メモリ、グラフィックス処理ユニット、またはデバイス内の他のロケーションの中に配置された任意のタイプのメモリであることが可能である。メディア・コンテンツは、ビデオ、ビデオ・プラグイン、オーディオ、イメージ、またはその他の時間につれ変化するメディアであることが可能である。メディア・コンテンツは、YUVモデルの形態であることが可能であり、Yは、輝度成分(明るさ)を表し、UおよびVは、クロミナンス(色)成分を表す。メディア・コンテンツは、実質的に毎秒20フレームないし40フレームのレートでディスプレイにスキャンされることが可能である。メディア・コンテンツは、デバイスのディスプレイにスキャンされることに先立って、拡大縮小されることが可能である。
非メディア・コンテンツは、頻繁な同期を要求しないコンテンツ、ビュー、およびイメージを含むことが可能である。非メディア・コンテンツは、赤、緑、および青(加法光モデルにおいて、しばしば、使用される)が様々な仕方で組み合わされて、他の色を再現する加法モデルである、RGBモデルの形態であることが可能である。非メディア・コンテンツは、メディア・コンテンツと比べて、より低いレートでディスプレイにスキャンされることが可能である。
図27は、レイヤの階層を有するデータ構造またはレイヤ・ツリーを示す。これらのレイヤは、メディア・コンテンツおよび非メディア・コンテンツに関連付けられることが可能である。例えば、レイヤ2704は、ビデオなどのメディア・コンテンツ2706に関連付けられる。レイヤ2710は、ビデオに関するユーザ・インタフェース・ビューであることが可能な非メディア・コンテンツ2712に関連付けられる。レイヤ2720、2730、および2740は、非メディア・コンテンツ2712の成分を成す非メディア・コンテンツ2722、2732、および2742にそれぞれ関連付けられる。方法2600は、データ構造の各レイヤが、メディアに関連付けられているか、または非コンテンツに関連付けられているかを判定する。レイヤ2704などの、メディア・コンテンツに関連付けられたレイヤは、データ構造から除去され、別個のメモリ・ロケーションの中で処理される。
一部の実施形態では、本開示の方法、システム、および装置は、電子デバイス、消費者デバイス、データ処理デバイス、デスクトップ・コンピュータ、ポータブル・コンピュータ、無線デバイス、セルラー・デバイス、タブレット・デバイス、ハンドヘルド・デバイス、マルチタッチ・デバイス、マルチタッチ・データ処理デバイス、これらのデバイスの任意の組み合わせ、または他の類似したデバイスを含む様々なデバイスにおいて実施されることが可能である。図4〜図6、および図28〜図33は、これらのデバイスのうちいくつかのデバイスの例を示す。
図28は、本開示の一実施形態によるデバイス2800を示す。図28は、「キャンディ・バー」スタイルを有する電話構成で無線デバイスを示す。図28で、無線デバイス2800は、筐体2832、ディスプレイ・デバイス2834、英数字キーパッドであることが可能な入力デバイス2836、スピーカ2838、マイクロホン2840、およびアンテナ2842を含むことが可能である。また、無線デバイス2800は、近接センサ2844および加速度計2846を含むことも可能である。図28の実施形態は、より多い、またはより少ないセンサを使用してもよく、さらに図28に示されるフォーム・ファクタとは異なるフォーム・ファクタを有してもよいことが認められよう。
ディスプレイ・デバイス2834は、筐体2832の上部に配置されて示され、入力デバイス2836は、筐体2832の下部に配置されて示される。アンテナ2842は、筐体2832の上部において筐体2832から延びて示される。また、スピーカ2838も、ディスプレイ・デバイス2834より上に筐体2832の上部に示される。マイクロホン2840は、入力デバイス3286より下に筐体2832の下部に示される。スピーカ2838およびマイクロホン2840は、筐体上の任意の場所に配置されることが可能であるが、通常、それぞれ、ユーザの耳および口に応じて配置されることが認められよう。
ディスプレイ・デバイス2834は、例えば、入力を受け入れる能力を含まないLCD(液晶ディスプレイ)、またはLCDも含むタッチ入力スクリーンであることが可能である。入力デバイス2836には、例えば、ボタン、スイッチ、ダイヤル、スライダ、キーまたはキーパッド、ナビゲーション・パッド、タッチパッド、タッチスクリーンなどが含まれることが可能である。任意のよく知られたスピーカ、マイクロホン、およびアンテナが、それぞれ、スピーカ2838、マイクロホン2840、およびアンテナ2842のために使用されることが可能である。
近接センサ2844から獲得されたデータと、加速度計2846から獲得されたデータが、一緒に組み合わされて、または単独で使用されて、ユーザの活動についての情報が収集されることが可能である。近接センサ2844からのデータ、加速度計2846からのデータ、またはその両方が、例えば、ディスプレイ・バックライトを活性化/非活性化する、コマンドを開始する、選択を行う、ディスプレイにおけるスクロール、ジェスチャリング、アニメ化、またはその他の動きを制御する、入力デバイス設定を制御する、あるいはデバイスの1つまたは複数の設定に他の変更を行うのに使用されることが可能である。本開示のいくつかの実施形態では、デバイス2800は、本開示で説明される方法の少なくともいくつかを実施するのに使用されることが可能である。
図29は、本開示の一実施形態によるデバイス2950を示す。デバイス2950は、筐体2952、ディスプレイ/入力デバイス2954、スピーカ2956、マイクロホン2958、およびオプションのアンテナ2960(筐体の外部に見えてもよく、あるいは筐体内部に隠されてもよい)を含むことが可能である。また、デバイス2950は、近接センサ2962および加速度計2964を含むことも可能である。デバイス2950は、セルラー電話機、または組み込まれたPDAであるデバイスとセルラー電話機であるデバイス、または組み込まれたメディア・プレーヤとセルラー電話機であるデバイス、またはエンターテイメント・システム(例えば、ゲームをするための)とセルラー電話機の両方であるデバイス、あるいは本明細書で説明される他のタイプのデバイスであり得るデバイス2950であることが可能である。1つの特定の実施形態では、デバイス2950は、筐体2952内部にすべて含まれる、セルラー電話機とメディア・プレーヤとPDAとを含むことが可能である。デバイス2950は、通常の大人の手の中に収まるだけ十分に小さく、大人が片手で運ぶことができるだけ十分に軽量であるフォーム・ファクタを有することが可能である。「ポータブル」という用語は、デバイスが、大人のユーザの手(片手または両手)の中に容易に保持されることが可能であることを意味し、つまり、例えば、ラップトップ・コンピュータおよびiPodが、ポータブル・デバイスであることが認められよう。
一実施形態では、ディスプレイ/入力デバイス2954は、LCDなどのディスプレイであることに加えて、マルチポイント・タッチ入力スクリーンを含むことが可能である。一実施形態では、マルチポイント・タッチスクリーンは、タッチ・パネルの平面において同時に、異なる位置で行われる複数のタッチ(例えば、ディスプレイに同時に触れている、またはほとんど触れているユーザの顔、または複数の指からのディスプレイ上のブラブ)または複数のほぼタッチを検出し、この複数のタッチのそれぞれに関してタッチ・パネルの平面上のタッチの位置を表す異なる信号を生成するように構成された容量センサ型媒体である。
本開示のいくつかの実施形態では、デバイス2800を使用して、本開示で説明される方法の少なくともいくつかが実施されることが可能である。
図30Aおよび図30Bは、本開示の一実施形態によるデバイス3070を示す。デバイス3070は、ディスプレイ筐体3089をキーパッド筐体3091に結合するヒンジ3087を含むセルラー電話機であることが可能である。ヒンジ3087は、セルラー電話機が図30Aおよび図30Bに示される2つの異なる構成の少なくとも1つにされることが可能であるように、ユーザが、セルラー電話機を開閉することを許す。1つの特定の実施形態では、ヒンジ3087は、ディスプレイ筐体をキーパッド筐体に回転可能な仕方で結合することが可能である。特に、ユーザは、セルラー電話機を開いて、図30Aに示される開かれた構成にすることができ、セルラー電話機を閉じて、図30Bに示される閉じられた構成にすることができる。キーパッド筐体3091は、ユーザから入力(例えば、電話番号入力または他の英数字入力)を受け取るキーパッド3095、およびユーザから音声入力を受け取るマイクロホン3097を含むことが可能である。ディスプレイ筐体3089は、筐体3089の内部表面上に、ディスプレイ3093(例えば、LCD)と、スピーカ3098と、近接センサ3084とを含むことが可能であり、筐体3089の外部表面上に、ディスプレイ筐体3089は、スピーカ3096と、温度センサ3094と、ディスプレイ3088(例えば、別のLCD)と、周囲光センサ3092と、近接センサ3084Aとを含むことが可能である。このため、この実施形態では、ディスプレイ筐体3089は、筐体3089の内部表面上に第1の近接センサを含むことが可能であり、筐体3089の外部表面上に第2の近接センサを含むことが可能である。
少なくともいくつかの実施形態では、デバイス3070は、セルラー電話機、メディア・プレーヤ、エンターテイメント・システム、PDA、または本明細書で説明される他のタイプのデバイスなどの無線通信デバイスの機能の1つまたは複数を提供する構成要素を含むことが可能である。或る実施形態の一実装において、デバイス3070は、MP3音楽ファイルなどのMP3ファイルを再生するメディア・プレーヤと一体化されたセルラー電話機であることが可能である。
図4、図5A、図5B、図5C、図6A、図6B、図6C、図6D、図28、図29、図30A、および図30Bに示されるデバイスのそれぞれは、セルラー電話機などの無線通信デバイスであることが可能であり、無線通信のための能力をもたらす複数の構成要素を含むことが可能である。図31は、無線通信のための能力を含む無線デバイス3070の実施形態を示す。無線デバイス3070は、図4、図5A、図5B、図5C、図6A、図6B、図6C、図6D、図28、図29、図30A、および図30Bに示されるデバイスのいずれか1つの中に含まれることが可能であるが、図4、図5A、図5B、図5C、図6A、図6B、図6C、図6D、図28、図29、図30A、および図30Bのそれらのデバイスの代替の実施形態は、無線デバイス3070と比べて、より多い、またはより少ない構成要素を含むことも可能である。
無線デバイス3070は、アンテナ・システム3101を含むことが可能である。また、無線デバイス3070は、アンテナ・システム3101を介して音声信号、デジタル・データ信号、および/またはメディア信号を送信する、さらに/または受信する、アンテナ・システム3101に結合されたデジタルおよび/またはアナログRF(無線周波数)トランシーバ3102を含むことも可能である。
また、無線デバイス3070は、デジタルRFトランシーバを制御し、音声信号、デジタル・データ信号、および/またはメディア信号を管理するデジタル処理システム3103を含むことも可能である。デジタル処理システム3103は、例えばマイクロプロセッサやコントローラなどの汎用処理デバイスであることが可能である。また、デジタル処理システム3103は、ASIC(特定用途向け集積回路)、FPGA(フィールド・プログラマブル・ゲート・アレイ)、またはDSP(デジタル・シグナル・プロセッサ)などの専用処理デバイスであることも可能である。また、デジタル処理システム3103は、無線デバイス3070の他の構成要素とインタフェースをとる、当技術分野で知られている他のデバイスを含むことも可能である。例えば、デジタル処理システム3103は、無線デバイス3070の他の構成要素とインタフェースをとるアナログ−デジタル変換器およびデジタル−アナログ変換器を含むことが可能である。デジタル処理システム3103は、オーディオ・データのファイルなどのメディアを管理する汎用処理デバイスまたは専用処理デバイスを含むことも可能な、メディア処理システム3109を含むことが可能である。
無線デバイス3070は、無線デバイス3070に関するデータおよび/またはオペレーティング・プログラムを格納する、データ処理システムに結合されたストレージ・デバイス3104を含むことも可能である。ストレージ・デバイス3104は、例えば、任意のタイプのソリッドステート・メモリ・デバイスまたは磁気メモリ・デバイスであることが可能である。
また、無線デバイス3070は、ユーザ入力(例えば、電話番号、名前、アドレス、メディア選択など)を受け入れる、デジタル処理システム3103に結合された、1つまたは複数の入力デバイス3105を含むことも可能である。入力デバイス3105は、例えば、ディスプレイ・デバイス、または類似する入力デバイスと組み合わされたキーパッド、タッチパッド、タッチスクリーン、ポインティング・デバイスの1つまたは複数であることが可能である。
また、無線デバイス3070は、入力デバイス3105を介して選択されたメッセージ、電話呼情報、連絡先情報、ピクチャ、映画、および/またはメディアの題名または他の表示などの情報を表示する、デジタル処理システム3103に結合された少なくとも1つのディスプレイ・デバイス33106を含むことも可能である。ディスプレイ・デバイス3106は、例えば、LCDディスプレイ・デバイスであることが可能である。一実施形態では、ディスプレイ・デバイス3106と入力デバイス3105は、同一のデバイス(例えば、LCDディスプレイ・デバイスなどのディスプレイ・デバイスと一体化されたマルチタッチ入力パネルなどのタッチスクリーンLCD)内に一緒に組み込まれることが可能である。ディスプレイ・デバイス3106は、いくつかの状況下でディスプレイ・デバイス3106を照明するバックライト3106Aを含むことが可能である。無線デバイス3070は、複数のディスプレイを含んでもよいことが認められよう。
また、無線デバイス3070は、デジタルRFトランシーバ3102、データ処理システム3103、ストレージ・デバイス3104、入力デバイス3105、マイクロホン3105A、オーディオ・トランスデューサ3108、メディア処理システム3109、センサ3110、およびディスプレイ・デバイス3106を含むシステムの構成要素に動作電力を供給するバッテリ3107を含むことも可能である。バッテリ3107は、例えば、充電可能な、または充電可能でないリチウム金属水素化物バッテリまたはニッケル金属水素化物バッテリであることが可能である。また、無線デバイス3070は、1つまたは複数のスピーカを含むことが可能なオーディオ・トランスデューサ3108、および少なくとも1つのマイクロホン3105Aを含むことも可能である。本開示のいくつかの実施形態では、無線デバイス3070を使用して、本開示で説明される方法の少なくともいくつかが実施されることが可能である。
図32は、本開示の実施形態によるデバイスの別の例を示す。このデバイス3200は、バス3206を介して互いに結合される、マイクロプロセッサ3202などのプロセッサ、およびメモリ3204を含むことが可能である。デバイス3200は、オプションとして、マイクロプロセッサ3202に結合されたキャッシュ3208を含むことが可能である。また、このデバイスは、オプションとして、バス3206を介してその他の構成要素に結合されるディスプレイ・コントローラ−ディスプレイ・デバイス3210を含むことも可能である。また、1つまたは複数の入出力コントローラ3212が、バス3206に結合されて、入出力デバイス3214に関するインタフェースをもたらし、ユーザ活動を感知するための1つまたは複数のセンサ3216に関するインタフェースをもたらす。バス3206は、当技術分野でよく知られるとおり、様々なブリッジ、コントローラ、および/またはアダプタを介して互いに接続される1つまたは複数のバスを含むことが可能である。入出力デバイス3214は、キーパッドもしくはキーボード、またはタッチ入力パネルなどのカーソル制御デバイスを含むことが可能である。さらに、入出力デバイス3214は、有線ネットワークまたは無線ネットワーク(例えば、RFトランシーバ)のためのネットワーク・インタフェースを含むことが可能である。センサ3216は、例えば、近接センサまたは周囲光センサを含む、本明細書で説明されるセンサのいずれのセンサであってもよい。デバイス3200の少なくともいくつかの実施形態では、マイクロプロセッサ3202は、1つまたは複数のセンサ3216からデータを受け取ることができ、本明細書において説明される仕方で、そのデータの分析を実行することができる。例えば、そのデータは、人工知能プロセスを介して、または本明細書で説明される他の仕方で分析されることが可能である。その分析の結果、マイクロプロセッサ3202は、デバイスの1つまたは複数の設定の調整を自動的に生じさせることができる。
本開示のいくつかの実施形態では、デバイス3200を使用して、本開示で説明される方法の少なくともいくつかが実施されることが可能である。
図33A〜図33Cは、本開示の少なくともいくつかの実施形態によるデバイスの別の例を示す。図33Aは、キーボード3302、本体3304、ディスプレイ・フレーム3306、およびディスプレイ3308を有するラップトップ・デバイス3300を示す。ラップトップ・デバイス3300は、図33Bおよび図33Cに示されるタブレット・デバイスに変換されることが可能である。図33Bは、ラップトップ・デバイスの、タブレット・デバイスへの変換を示す。ディスプレイ3358を含むディスプレイ・フレーム3356の縁端部が、図33Cに示されるタブレット・デバイスを形成するまで、キーボード3352の上にわたって本体3354内に滑り込む。ディスプレイ2362およびディスプレイ・フレーム3366を有するタブレット・デバイスは、本体3360の上に載る。
本開示のいくつかの実施形態では、ラップトップ・デバイス3300を使用して、本開示で説明される方法の少なくともいくつかが実施されることが可能である。
図34は、本開示のいくつかの教示によるアプリケーション・プログラミング・インタフェースの詳細を流れ図形態で示す。このアプリケーション・プログラミング・インタフェースは、ソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において動作する。一部の実施形態では、ビューの階層が、ユーザ・インタフェース・ソフトウェア内のレイヤの階層の上で動作する。APIは、ブロック3402で、レイヤの階層の上で動作するビューの階層を構築することを含む方法3400に示されるとおり動作する。方法3400は、ブロック3404で、レイヤの階層へのアクセスをもたらすことなしにビューの階層へのアクセスをもたらすことをさらに含む。アプリケーションは、ビューの階層の下で動作するレイヤの階層にアクセスすることなしに、APIを介してビューの階層と対話することができる。
一部の実施形態では、プラットフォームは、様々なスクロール・オペレーション、ジェスチャリング・オペレーション、およびアニメ化オペレーションを提供する。プラットフォームは、ハードウェア構成要素およびオペレーティング・システムを含む。ハードウェア構成要素は、入力パネルに結合された処理装置、およびプロセッサに結合されたメモリを含むことが可能である。オペレーティング・システムは、メモリの中に格納され、処理装置によって実行されるように構成された1つまたは複数のプログラムを含む。1つまたは複数のプログラムは、様々なスクロール・オペレーション、ジェスチャリング・オペレーション、およびアニメ化オペレーションを実行するためにアプリケーション・プログラミング・インタフェースを介してファンクション・コールまたはメッセージを転送するための様々な命令を含む。
或る実施形態では、1つまたは複数のプログラムは、スクロールの終わりに表示領域の中で、スクロールされる領域のエッジを超えた領域が目に見えることに基づいて、スクロールの反対方向にスクロールされる領域の揺れ戻りを生じさせる揺れ戻りコールを、APIを介して転送するための命令を含む。或る実施形態では、1つまたは複数のプログラムは、スクロールされる領域が、スクロールに基づいてディスプレイ・エッジを超えると、所定の最大変位量だけスクロールされる領域に対してラバーバンド効果を生じさせるラバーバンド・コールを、APIを介して転送するための命令を含む。或る実施形態では、1つまたは複数のプログラムは、垂直方向または水平方向の少なくとも1つにスクロールをロックするためのスクロール角度を設定する方向付きスクロール・コールを、APIを介して転送するための命令を含む。
或る実施形態では、1つまたは複数のプログラムは、ユーザ入力がスクロールを呼び出すかどうかを決定するスクロール・ヒステリシス・コールを、APIを介して転送するための命令を含む。或る実施形態では、1つまたは複数のプログラムは、ユーザ入力がスクロールを呼び出すことに基づいて、ユーザ入力に関する減速率を設定するスクロール減速コールを、APIを介して転送するための命令を含む。或る実施形態では、1つまたは複数のプログラムは、少なくとも1つのスクロール・インジケータが、コンテンツ・エッジに付けられるか、または表示領域のディスプレイ・エッジに付けられるかを決定するスクロール・インジケータ・コールを、APIを介して転送するための命令を含む。
一部の実施形態では、プラットフォームは、ソフトウェア・コードのライブラリを含むフレームワークを含む。フレームワークは、プラットフォームのプログラムと対話して、様々なスクロール・オペレーション、ジェスチャリング・オペレーション、およびアニメ化オペレーションを実行するためのアプリケーション・プログラミング・インタフェースをもたらす。また、フレームワークは、単一のディレクトリの中に格納される、関連するリソース(例えば、イメージ、テキストなど)も含む。
或る実施形態では、フレームワークのライブラリは、スクロールの終わりに表示領域の中で、スクロールされる領域のエッジを超えた領域が目に見えることに基づいて、スクロールの反対方向にスクロールされる領域の揺れ戻りを生じさせる揺れ戻りオペレーションを指定するためのAPIを用意する。或る実施形態では、フレームワークのライブラリは、スクロールされる領域が、スクロールに基づいてディスプレイ・エッジを超えると、所定の最大変位量だけスクロールされる領域に対してラバーバンド効果を与えるラバーバンド・オペレーションを指定するためのAPIを用意する。或る実施形態では、フレームワークのライブラリは、垂直方向または水平方向の少なくとも1つにスクロールをロックするためのスクロール角度を設定する方向付きスクロール・オペレーションを指定するためのAPIを用意する。
或る実施形態では、フレームワークのライブラリは、ユーザ入力がスクロールを呼び出すかどうかを決定するスクロール・ヒステリシス・オペレーションを指定するためのAPIを用意する。或る実施形態では、フレームワークのライブラリは、ユーザ入力がスクロールを呼び出すことに基づいて、ユーザ入力に関する減速率を設定するスクロール減速オペレーションを指定するためのAPIを用意する。或る実施形態では、フレームワークのライブラリは、少なくとも1つのスクロール・インジケータが、コンテンツ・エッジに付けられるか、または表示領域のディスプレイ・エッジに付けられるかを決定するスクロール・インジケータ・オペレーションを指定するためのAPIを用意する。
以上の説明において、本開示は、本開示の特定の例示的な実施形態に関連して説明されてきた。添付の特許請求の範囲に示される本開示の、より広い趣旨および範囲を逸脱することなく、これらの実施形態に様々な変形が行われることが可能であることが明白であろう。したがって、本明細書および図面は、制限するものとしてではなく、例示するものと見なされるべきである。
付録A
APIソフトウェア・コード

1 -(AffineTransform)transform;
2 -(void)setTransform:(AffineTransform)transform: // アニメ化可能
3
4 @interface UIView(Animation)
5
6/7 +(void)beginAnimation:(String*)animationIDS; // 貴方が、グループに関する識別子を有することを所望しない場合、animationIDは無であることが可能である
8/9 +(void)beginAnimations:(String*)animationID context:(void*)context // 送られたさらなるコンテキスト情報が、セレクタを開始する/停止させた
10 +(void)endAnimations;
11
12 +(void)setAnimationDelegate:(id)delegate;
13 +(void)setAnimationDuration:(TimeInterval)duration;
14 +(void)setAnimationDelay:(TimeInterval)delay;
15 +(void)setAnimationStartTime:(AbsoluteTime)start;
16 +(void)setAnimationCurve:(UIViewAnimationCurve)curve;
17
18 -(BOOL)handleEvent:(Event)event;
19
20/21 // これは、アプリケーションが一時停止して、前のアプリケーションに戻る場合、呼び出される。
22 // アプリケーションは、アニメーションを実行する場合、「はい」を戻すべきであり、さもなければ、アプリケーションは、
23 // 「いいえ」を戻すべきである。startTime引数は、開始されるべきアニメーションの開始時間であり、したがって、
24 // アニメーションは、ウインドウ・サーバと同期される。この方法の
25/26/27 // アプリケーションの実装が、「はい」を戻す場合、アプリケーションの実装は、アニメ化することを終えると、
// [UIApp suspendWith ANimation:NO] を後に呼び出さなければならない。
28 (BOOL)animateSuspensionReturningToLastApp:AbsoluteTime)startTime;
29
30/31 // ステータス・バー・モード、持続時間にわたる向きを設定する。processSynchIDが0でない場合、sync IDとして使用される。
32/33/34 -(void)setStatusBarMode:(UIStatusBarMode)mode
orientation: (UIStatusBarOrientation) orientation duration:(float)duration processSynchID:(int)processSynchID;
35 // ステータス・バー・モードを設定する。0の持続時間は、アニメーション無しを意味する
36/37 -(void)setStatusBarMode:(UIStatusBarMode)mode
orientation:(UIStatusBarOrientation)orientation duration: (float)duration;
38/39 -(void)setStatusBarMode:(UIStatusBarMode)mode duration:(float)duration; // デフォルトの向きを使用する。
40 -(UIStatusBarOrientation)statusBarOrientation;
41 -(UIStatusBarOrientation)statusBarMode;
42 // 非回転ウインドウ座標におけるステータス・バーrect。
43
44/45 -(void)synchronizedDrawingWithlD:(int)processSynchID; // ステータス・バー・サイズ変更のために使用される
46 //
47/48 // ジェスチャ・デレゲート・メソッド。イベントは、ジェスチャがイベント駆動型 (すなわち、プログラム的に、またはアニメーション)でない場合、無である。
49 @interface Object(UIViewGestureDelegate)
50
51 -(void)willStartGestures:(UIView*)view forEvent:(GSEvent)event;
52
53 -(void)didFinishGestures:(UIView*)view forEvent:(Event)event;
54
55/56 -(void)willStartGesture:(UIGestureType)type inView:(UIView*) view forEvent:(Event)event;
57
58/59 -(void)gestureDidChange:(UIGestureType)type inView:(UIView*) view forEvent:(Event)event;
60
61/62 -(void)didFinishGesture:(UIGestureType)type inView:(UIView*) view forEvent:(Event)event;
63 @end
64
65 UIGestureAttributeZooms // 数(BOOL)
66
67 typedef enum {
68/69 UIScrollerEventModelnterceptOnDrag, // ドラッグされない場合、mouseDown / mouseUpをサブビューに送る
70/71 UIScrollerEventModePass, // mouseDown/mouseDrag/mouseUpをサブビューに送る
72/73 UIScrollerEventModelntercept, // mouseDown / mouseUpをサブビューに送る } UIScrollerEventMode;
74 -(void)setEventMode:(UIScrollerEventMode)mode;
75
76 -(void)setDirectionalScrolling:(BOOL)flag;
77
78 -(void)setDirectionalScrollingAngle:(float)flag;
79
80 -(void)setScrollDecelerationFactor:(float)factor;
81
82 -(void)setBounces:(BOOL)bounces;
83
84 -(void)setThumbDetectionEnabled:(BOOL)flag;
85
86 - (void)setShowScrollerIndicators:(BOOL)flag;
87
88 -(void)setScrollerIndicator:(Rect)rect;
89
90 -(void)setScrollerIndicatorsPinToContent:(BOOL)flag;
91
92/93 -(void)setAllowsRubberBanding:(BOOL)flag; // 上エッジおよび下エッジに関してRUBBER_BAND_HEIGHTを用いてsetRubberBand:forEdges:を呼び出す
94
95/96 -(void)setAllowsFourWayRubberBanding:(BOOL)flag; // すべてのエッジに関してRUBBER_BAND_HEIGHTを用いてsetRubberBand: for Edges:を呼び出す
97
98/99 -(void)setRubberBand:(float)value for Edges:(UIRectEdge)edges: // 上エッジおよび下エッジに関して設定されたデフォルト
100
101/102 -(void)contentMouseUpInView:(UIView*)mouseUpView
withEvent:(Event)event; // ビューに対するデフォルトのコール -mouseUp;
103
104 -(Point)scroller:(UIScroller*)scroller
105 adjustSmoothScrollEnd:(Point)offset velocity:(Size)velocity;
106
107 @interfacebject(UIAnimationDelegate)
108 -(void)animator:(UIAnimator*)animator
109 startAnimation:(UIAnimation*)animation;
110 - (void)animator:(UIAnimator*)animator
111 stopAnimation:(UIAnimation*)animation;
112 -(void)animator:(UIAnimator*)animator stopAnimation: (UIAnimation*)animati113 on fraction:(float)fraction;
114 @end
115 //
116 @interface UITransformAnimation:UIAnimation {
117 @protected
118 AffineTransform _startTransform;
119 AffineTransform _endTransform;
120 }
121 -(void)setStartTransform:(AffineTransform)start;
122 -(void)setEndTransform:(AffineTransform)end;
123 -(AffineTransform)transformForFraction:(float)fraction;
124 @end
125 //
126 @interface UIFrameAnimation:UIAnimation {
127 Rect _startFrame;
128 Rect _endFrame;
129 UIRectFields _fieldsToChange;
130 }
131 -(void)setStartFrame:(Rect)start;
132 -(void)setEndFrame:(Rect)end;
133 -(void)setSignificantRectFields:(UIRectFields)fields;
134
135 -(Rect)endFrame;
136
137 @end
138
139 @interface UIAlphaAnimation:UIAnimation {
140 @protected
141 float _startAlpha;
142 float _endAlpha;
143 }
144 -(void)setStartAlpha:(float)start;
145 -(void)setEndAlpha:(float)end;
146 -(void)alphaForFraction:(float)fraction;
147
148 @end
149
150 @interface UIRotationAnimation:UIAnimation {
151 float _startAngle;
152 float _endAngle;
153 -(void)setStartRotationAngle:(float)degrees;
154 -(void)setEndRotationAngle:(float)degrees;
400 ポータブル電子デバイス; 408 タッチセンシティブ・ディスプレイ;
410 ウインドウ; 420 情報オブジェクト;
510−1 速度; 512−1 距離; 514 終端。

Claims (25)

  1. 少なくとも2つのアニメーションを開始すること、
    各アニメーションの進行を決定すること、および
    単一のタイマに基づいて前記少なくとも2つのアニメーションのそれぞれを同期することを含む、デバイスのディスプレイ上で表示されたビューをアニメ化するためのマシンによって実施される方法。
  2. 前記単一のタイマは、前記ディスプレイに関連するハードウェアの再描画間隔に基づくタイマを含む請求項1に記載の方法。
  3. 各アニメーションの進行を決定することは、進行が生じた場合、前記アニメーションの現在の進行を計算することを含む請求項1に記載の方法。
  4. 各アニメーションがデレゲートに関連付けられているかどうかを判定すること、および
    各デレゲートに通知することをさらに含む請求項1に記載の方法。
  5. 前記アニメーションは、変換アニメーションを含む請求項1に記載の方法。
  6. 前記アニメーションは、フレーム・アニメーションを含む請求項1に記載の方法。
  7. 前記アニメーションは、不透明度アニメーションを含む請求項1に記載の方法。
  8. 前記デバイスは、データ処理デバイス、ポータブル・デバイス、ポータブル・データ処理デバイス、マルチタッチ・デバイス、マルチタッチ・ポータブル・デバイス、無線デバイス、およびセル電話機の1つである請求項1に記載の方法。
  9. 実行されると、
    少なくとも2つのアニメーションを開始すること、
    各アニメーションの進行を決定すること、および
    単一のタイマに基づいて前記少なくとも2つのアニメーションのそれぞれを同期することを含む方法をデータ処理システムに実行させる実行可能プログラム命令を格納しているマシン可読媒体。
  10. 前記単一のタイマは、前記ディスプレイに関連するハードウェアの再描画間隔に基づくタイマを含む請求項9に記載の媒体。
  11. 各アニメーションの進行を決定することは、進行が生じた場合、前記アニメーションの現在の進行を計算することを含む請求項9に記載の媒体。
  12. 各アニメーションがデレゲートに関連付けられているかどうかを判定すること、および
    各デレゲートに通知することをさらに含む請求項9に記載の媒体。
  13. 前記データ処理システムは、データ処理デバイス、ポータブル・デバイス、ポータブル・データ処理デバイス、マルチタッチ・デバイス、マルチタッチ・ポータブル・デバイス、無線デバイス、およびセル電話機の1つである請求項9に記載の媒体。
  14. ソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において、
    少なくとも2つのアニメーションを開始するための手段と、
    各アニメーションの進行を決定するための手段と、
    単一のタイマに基づいて少なくとも2つのアニメーションのそれぞれを同期するための手段とを含む装置。
  15. ユーザ・インタフェース・アニメータによって供給される単一のアニメーション・タイマを使用して複数のアニメーションをアニメ化することを含む、データ処理デバイスのディスプレイ上に表示されるアニメーションのためのマシンによって実施される方法。
  16. 前記アニメーションは、変換アニメーション、フレーム・アニメーション、および不透明度アニメーションを含む請求項15に記載の方法。
  17. 実行されると、ユーザ・インタフェース・アニメータによって供給される単一のアニメーション・タイマを使用して複数のアニメーションをアニメ化することを含む方法をデータ処理システムに実行させる実行可能プログラム命令を格納しているマシン可読媒体。
  18. ソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において、ユーザ・インタフェース・アニメータによって供給される単一のアニメーション・タイマを使用して複数のアニメーションをアニメ化するための手段を含む装置。
  19. グラフィックス・ユニットの再描画間隔に関連するタイミング信号によって供給される単一のアニメーション・タイマを使用して複数のアニメーションをアニメ化することを含む、デバイスのディスプレイ上に表示されるアニメーションのためのマシンによって実施される方法。
  20. 前記アニメーションは、変換アニメーション、フレーム・アニメーション、および不透明度アニメーションを含む請求項19に記載の方法。
  21. 前記デバイスは、データ処理デバイス、ポータブル・デバイス、ポータブル・データ処理デバイス、マルチタッチ・デバイス、マルチタッチ・ポータブル・デバイス、無線デバイス、およびセル電話機の1つである請求項19に記載の方法。
  22. 実行されると、グラフィックス・ユニットの再描画間隔に関連するタイミング信号によって供給される単一のアニメーション・タイマを使用して複数のアニメーションをアニメ化することを含む方法をデータ処理システムに実行させる実行可能プログラム命令を格納しているマシン可読媒体。
  23. ソフトウェア・アプリケーションと対話するユーザ・インタフェース・ソフトウェアを有する環境において、グラフィックス・ユニットの再描画間隔に関連するタイミング信号によって供給される単一のアニメーション・タイマを使用して複数のアニメーションをアニメ化するための手段を含む装置。
  24. ユーザ入力を受け取るように構成された入力パネルと、
    前記入力パネルと一体化されたディスプレイ・デバイスと、
    少なくとも前記ユーザ入力に基づいてオブジェクトを作成してアニメ化するように構成された、前記入力パネルに結合された中央処理装置と、
    前記オブジェクトを格納するように構成された、前記プロセッサに結合されたメモリと、
    前記入力パネル上、または前記入力パネル近くのユーザ入力の動きを検出するための命令と、前記ユーザ入力を検出したことに応答して、前記ディスプレイ・デバイス上に表示された1つまたは複数のビューをアニメ化するための命令と、単一のタイマに基づいて、前記ディスプレイ・デバイス上に表示された前記1つまたは複数のビューの前記アニメ化を完了するための命令とを含む、前記メモリの中に格納され、前記1つまたは複数のプロセッサによって実行されるように構成された1つまたは複数のプログラムとを含むデバイス。
  25. 前記単一のタイマは、前記ディスプレイの再描画間隔に基づくタイマを含む請求項24に記載のデバイス。
JP2009544927A 2007-01-07 2008-01-04 アニメーション Active JP5285621B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/620,723 US7903115B2 (en) 2007-01-07 2007-01-07 Animations
US11/620,723 2007-01-07
PCT/US2008/000103 WO2008085877A1 (en) 2007-01-07 2008-01-04 Animations

Publications (2)

Publication Number Publication Date
JP2010515973A true JP2010515973A (ja) 2010-05-13
JP5285621B2 JP5285621B2 (ja) 2013-09-11

Family

ID=39386350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009544927A Active JP5285621B2 (ja) 2007-01-07 2008-01-04 アニメーション

Country Status (5)

Country Link
US (7) US7903115B2 (ja)
EP (2) EP2115576A1 (ja)
JP (1) JP5285621B2 (ja)
KR (3) KR101211787B1 (ja)
WO (1) WO2008085877A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012053489A1 (ja) * 2010-10-20 2012-04-26 株式会社ソニー・コンピュータエンタテインメント メニュー表示装置、メニュー表示制御方法、プログラム及び情報記憶媒体
JP2013519952A (ja) * 2010-02-12 2013-05-30 マイクロソフト コーポレーション 柔軟な平行移動を備えたマルチレイヤーユーザーインターフェース
JP2013246615A (ja) * 2012-05-25 2013-12-09 Kyocera Document Solutions Inc 表示入力装置および画像形成装置
JP5387582B2 (ja) * 2008-11-11 2014-01-15 日本電気株式会社 携帯端末、携帯端末の頁送り方法、及びプログラム
CN104102422A (zh) * 2013-04-03 2014-10-15 阿里巴巴集团控股有限公司 页面返回操作的方法及装置
JP2015537299A (ja) * 2012-10-31 2015-12-24 サムスン エレクトロニクス カンパニー リミテッド ディスプレイ装置及びそのディスプレイ方法
JP2016001512A (ja) * 2015-10-08 2016-01-07 京セラ株式会社 携帯端末装置、プログラムおよび表示制御方法
JP5852277B1 (ja) * 2015-03-22 2016-02-03 春佳 西守 コンピュータプログラム、装置および方法
JP2017079070A (ja) * 2013-06-09 2017-04-27 アップル インコーポレイテッド ユーザインタフェースオブジェクトを移動させるための機器、方法、及びグラフィカルユーザインタフェース
JP2019067436A (ja) * 2012-05-18 2019-04-25 サムスン エレクトロニクス カンパニー リミテッド ディスプレイ装置及びそのディスプレイ方法
JP7013405B2 (ja) 2014-06-01 2022-01-31 アップル インコーポレイテッド メッセージングアプリケーションにおけるオプションの表示、通知の割り当て、メッセージの無視、及びユーザインタフェースの同時表示

Families Citing this family (193)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9722766D0 (en) 1997-10-28 1997-12-24 British Telecomm Portable computers
US7469381B2 (en) 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US7877690B2 (en) * 2006-09-20 2011-01-25 Adobe Systems Incorporated Media system with integrated clip views
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US7872652B2 (en) * 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US8656311B1 (en) 2007-01-07 2014-02-18 Apple Inc. Method and apparatus for compositing various types of content
US7903115B2 (en) 2007-01-07 2011-03-08 Apple Inc. Animations
US8813100B1 (en) 2007-01-07 2014-08-19 Apple Inc. Memory management
US8643653B2 (en) * 2007-06-08 2014-02-04 Apple Inc. Web-based animation
US8884981B2 (en) * 2007-09-04 2014-11-11 Apple Inc. Dynamically reconfigurable graphics layer system and method
US9569088B2 (en) * 2007-09-04 2017-02-14 Lg Electronics Inc. Scrolling method of mobile terminal
US8174502B2 (en) 2008-03-04 2012-05-08 Apple Inc. Touch event processing for web pages
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8176438B2 (en) * 2008-09-26 2012-05-08 Microsoft Corporation Multi-modal interaction for a screen magnifier
US9372590B2 (en) * 2008-09-26 2016-06-21 Microsoft Technology Licensing, Llc Magnifier panning interface for natural input devices
US8411046B2 (en) 2008-10-23 2013-04-02 Microsoft Corporation Column organization of content
US8086275B2 (en) 2008-10-23 2011-12-27 Microsoft Corporation Alternative inputs of a mobile communications device
US8466879B2 (en) * 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
US8477103B2 (en) 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
JP4692625B2 (ja) * 2008-12-26 2011-06-01 ブラザー工業株式会社 入力装置
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US8566044B2 (en) * 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US9311112B2 (en) * 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8355698B2 (en) 2009-03-30 2013-01-15 Microsoft Corporation Unlock screen
US8423088B2 (en) * 2009-07-22 2013-04-16 Microsoft Corporation Aggregated, interactive communication timeline
US8441499B2 (en) * 2009-08-05 2013-05-14 Apple Inc. User interface contrast filter
JP5458783B2 (ja) * 2009-10-01 2014-04-02 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US8799816B2 (en) * 2009-12-07 2014-08-05 Motorola Mobility Llc Display interface and method for displaying multiple items arranged in a sequence
US20110161892A1 (en) * 2009-12-29 2011-06-30 Motorola-Mobility, Inc. Display Interface and Method for Presenting Visual Feedback of a User Interaction
TWI447638B (zh) * 2010-02-12 2014-08-01 Esobi Inc The display method of the displacement of the object on the electronic device screen
US9417787B2 (en) * 2010-02-12 2016-08-16 Microsoft Technology Licensing, Llc Distortion effects to indicate location in a movable data collection
KR101658239B1 (ko) * 2010-04-15 2016-09-30 삼성전자주식회사 애니메이션 메시지 생성 방법 및 장치
JP5261438B2 (ja) * 2010-06-03 2013-08-14 本田技研工業株式会社 作業手順表示方法及び作業手順表示システム
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
CN103210364B (zh) 2010-09-24 2017-03-15 夏普株式会社 内容显示装置、内容显示方法、便携终端、程序以及记录介质
JP5628621B2 (ja) * 2010-10-06 2014-11-19 任天堂株式会社 表示制御プログラム、表示制御システム、表示制御装置、表示制御方法
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US9423951B2 (en) 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
WO2012093296A1 (en) * 2011-01-05 2012-07-12 Nds Limited Coordinated 2-dimensional and 3-dimensional graphics processing
US9015639B2 (en) * 2011-02-11 2015-04-21 Linkedin Corporation Methods and systems for navigating a list with gestures
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US8863039B2 (en) 2011-04-18 2014-10-14 Microsoft Corporation Multi-dimensional boundary effects
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US20120306930A1 (en) * 2011-06-05 2012-12-06 Apple Inc. Techniques for zooming in and out with dynamic content
US8971572B1 (en) 2011-08-12 2015-03-03 The Research Foundation For The State University Of New York Hand pointing estimation for human computer interaction
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US20130067420A1 (en) * 2011-09-09 2013-03-14 Theresa B. Pittappilly Semantic Zoom Gestures
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
WO2013039064A1 (ja) * 2011-09-13 2013-03-21 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、表示制御方法、プログラム及び情報記憶媒体
US8751972B2 (en) 2011-09-20 2014-06-10 Google Inc. Collaborative gesture-based input language
US9171098B2 (en) * 2011-09-30 2015-10-27 Microsoft Technology Licensing, Llc Decomposing markup language elements for animation
US8884971B2 (en) 2011-09-30 2014-11-11 Microsoft Corporation Animation engine decoupled from animation catalog
US11089134B1 (en) 2011-12-19 2021-08-10 Majen Tech, LLC System, method, and computer program product for coordination among multiple devices
US10776103B2 (en) 2011-12-19 2020-09-15 Majen Tech, LLC System, method, and computer program product for coordination among multiple devices
JP6103807B2 (ja) * 2012-01-10 2017-03-29 キヤノン株式会社 表示制御装置、その制御方法及びプログラム
USD771639S1 (en) * 2012-09-13 2016-11-15 Apple Inc. Display screen or portion thereof with graphical user interface
JP6100497B2 (ja) * 2012-10-09 2017-03-22 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および画像表示方法
US10057400B1 (en) 2012-11-02 2018-08-21 Majen Tech, LLC Lock screen interface for a mobile device apparatus
US10191643B2 (en) * 2012-11-29 2019-01-29 Facebook, Inc. Using clamping to modify scrolling
US9965162B2 (en) * 2012-11-29 2018-05-08 Facebook, Inc. Scrolling across boundaries in a structured document
EP2746918B1 (en) * 2012-12-21 2018-05-23 Orange Fragmented scrolling of a page
US10051103B1 (en) 2013-01-10 2018-08-14 Majen Tech, LLC Screen interface for a mobile device apparatus
US11431834B1 (en) 2013-01-10 2022-08-30 Majen Tech, LLC Screen interface for a mobile device apparatus
US9741150B2 (en) * 2013-07-25 2017-08-22 Duelight Llc Systems and methods for displaying representative images
US9459705B2 (en) 2013-03-18 2016-10-04 Facebook, Inc. Tilting to scroll
US10282083B2 (en) 2013-06-09 2019-05-07 Apple Inc. Device, method, and graphical user interface for transitioning between user interfaces
US9477393B2 (en) 2013-06-09 2016-10-25 Apple Inc. Device, method, and graphical user interface for displaying application status information
US10120541B2 (en) 2013-06-09 2018-11-06 Apple Inc. Device, method, and graphical user interface for sharing content from a respective application
US10481769B2 (en) * 2013-06-09 2019-11-19 Apple Inc. Device, method, and graphical user interface for providing navigation and search functionalities
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US9712577B2 (en) 2013-06-09 2017-07-18 Apple Inc. Device, method, and graphical user interface for sharing content from a respective application
CN104346026B (zh) * 2013-07-29 2019-07-05 阿尔派株式会社 显示操作装置以及显示操作装置的显示方法
JP5505550B1 (ja) 2013-08-06 2014-05-28 富士ゼロックス株式会社 画像表示装置及びプログラム
US10503388B2 (en) * 2013-09-03 2019-12-10 Apple Inc. Crown input for a wearable electronic device
USD761841S1 (en) * 2013-09-03 2016-07-19 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
EP3605286B1 (en) 2013-09-03 2021-02-17 Apple Inc. User interface for manipulating user interface objects
US11068128B2 (en) 2013-09-03 2021-07-20 Apple Inc. User interface object manipulations in a user interface
KR102095702B1 (ko) 2013-09-27 2020-04-14 에스케이플래닛 주식회사 이동 단말을 위한 애니메이션 재생 장치 및 방법
USD744000S1 (en) * 2013-11-18 2015-11-24 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
USD753703S1 (en) * 2013-11-18 2016-04-12 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
USD746858S1 (en) * 2013-11-18 2016-01-05 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
USD743998S1 (en) * 2013-11-18 2015-11-24 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
USD750124S1 (en) * 2013-12-12 2016-02-23 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD767588S1 (en) * 2013-12-16 2016-09-27 Tencent Technology (Shenzhen) Company Limited Display screen portion with graphical user interface
USD767589S1 (en) * 2013-12-16 2016-09-27 Tencent Technology (Shenzhen) Company Limited Display screen portion with animated graphical user interface
JP5924555B2 (ja) * 2014-01-06 2016-05-25 コニカミノルタ株式会社 オブジェクトの停止位置制御方法、操作表示装置およびプログラム
USD762237S1 (en) * 2014-03-17 2016-07-26 Google Inc. Portion of a display panel with an animated computer icon
USD767604S1 (en) * 2014-03-18 2016-09-27 Google Inc. Portion of a display panel with a computer icon
USD769913S1 (en) * 2014-03-18 2016-10-25 Google Inc. Portion of a display panel with a computer icon
USD765689S1 (en) * 2014-03-18 2016-09-06 Google Inc. Portion of a display panel with a computer icon
CN105518587B (zh) 2014-05-30 2018-08-21 华为技术有限公司 终端设备显示方法和终端设备
USD772906S1 (en) * 2014-06-13 2016-11-29 Beijing Qihoo Technology Company Limited Display screen with animated graphical user interface
CN116301544A (zh) 2014-06-27 2023-06-23 苹果公司 尺寸减小的用户界面
USD758406S1 (en) * 2014-07-02 2016-06-07 Aliphcom Display screen or portion thereof with graphical user interface
US20140372844A1 (en) * 2014-08-14 2014-12-18 Amar Zumkhawala Interface for capturing a digital image with real-time text
US10073590B2 (en) 2014-09-02 2018-09-11 Apple Inc. Reduced size user interface
CN110072131A (zh) 2014-09-02 2019-07-30 苹果公司 音乐用户界面
TWI676127B (zh) 2014-09-02 2019-11-01 美商蘋果公司 關於電子郵件使用者介面之方法、系統、電子器件及電腦可讀儲存媒體
US10082892B2 (en) 2014-09-02 2018-09-25 Apple Inc. Button functionality
USD758423S1 (en) * 2014-09-23 2016-06-07 Google Inc. Display screen with animated graphical user interface
US10572103B2 (en) * 2014-09-30 2020-02-25 Apple Inc. Timeline view of recently opened documents
TWI514242B (zh) * 2014-11-07 2015-12-21 Asustek Comp Inc 觸控螢幕操作方法及電子裝置
USD760263S1 (en) * 2014-12-16 2016-06-28 Jenny Q. Ta Display screen with graphical user interface
US20160202865A1 (en) 2015-01-08 2016-07-14 Apple Inc. Coordination of static backgrounds and rubberbanding
USD913323S1 (en) * 2015-05-29 2021-03-16 Avision Inc. Display screen or portion thereof with graphical user interface
USD797131S1 (en) 2015-06-14 2017-09-12 Google Inc. Display screen with user interface for mode selector icons
USD796540S1 (en) * 2015-06-14 2017-09-05 Google Inc. Display screen with graphical user interface for mobile camera history having event-specific activity notifications
USD807376S1 (en) 2015-06-14 2018-01-09 Google Inc. Display screen with animated graphical user interface for smart home automation system having a multifunction status
US10133443B2 (en) 2015-06-14 2018-11-20 Google Llc Systems and methods for smart home automation using a multifunction status and entry point icon
USD809522S1 (en) 2015-06-14 2018-02-06 Google Inc. Display screen with animated graphical user interface for an alert screen
USD812076S1 (en) 2015-06-14 2018-03-06 Google Llc Display screen with graphical user interface for monitoring remote video camera
US9361011B1 (en) 2015-06-14 2016-06-07 Google Inc. Methods and systems for presenting multiple live video feeds in a user interface
USD803241S1 (en) 2015-06-14 2017-11-21 Google Inc. Display screen with animated graphical user interface for an alert screen
USD788810S1 (en) * 2015-08-12 2017-06-06 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD808403S1 (en) * 2015-09-30 2018-01-23 Apple Inc. Display screen or portion thereof with graphical user interface
USD770510S1 (en) * 2015-11-06 2016-11-01 Open Text Sa Ulc Display screen or portion thereof with an animated computer generated falling dialog
CN105630339A (zh) * 2015-12-24 2016-06-01 小米科技有限责任公司 页面控制方法及装置
CN107317909A (zh) * 2016-04-26 2017-11-03 富泰华工业(深圳)有限公司 防止手机误操作的系统及方法
KR20170138667A (ko) * 2016-06-08 2017-12-18 삼성전자주식회사 어플리케이션을 활성화하는 방법 및 이를 제공하는 전자 장치
USD819669S1 (en) * 2016-06-13 2018-06-05 Douglas A. Thomas Display screen or portion thereof with graphical user interface
USD884721S1 (en) * 2016-07-01 2020-05-19 Visa International Service Association Display screen or portion thereof with animated graphical user interface
US10263802B2 (en) 2016-07-12 2019-04-16 Google Llc Methods and devices for establishing connections with remote cameras
USD882583S1 (en) 2016-07-12 2020-04-28 Google Llc Display screen with graphical user interface
USD806741S1 (en) * 2016-07-26 2018-01-02 Google Llc Display screen with animated graphical user interface
US11238290B2 (en) 2016-10-26 2022-02-01 Google Llc Timeline-video relationship processing for alert events
US10386999B2 (en) 2016-10-26 2019-08-20 Google Llc Timeline-video relationship presentation for alert events
USD843398S1 (en) 2016-10-26 2019-03-19 Google Llc Display screen with graphical user interface for a timeline-video relationship presentation for alert events
USD852814S1 (en) * 2017-03-23 2019-07-02 Facebook, Inc. Display screen with a graphical user interface for an advertisement management application
USD839303S1 (en) * 2017-03-24 2019-01-29 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
USD864991S1 (en) * 2017-03-27 2019-10-29 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
USD836658S1 (en) 2017-03-31 2018-12-25 Otis Elevator Company Display screen or portion thereof with graphical user interface
USD836659S1 (en) 2017-03-31 2018-12-25 Otis Elevator Company Display screen or portion thereof with graphical user interface
USD835123S1 (en) * 2017-03-31 2018-12-04 Otis Elevator Company Display screen or portion thereof with graphical user interface
USD836657S1 (en) 2017-03-31 2018-12-25 Otis Elevator Company Display screen or portion thereof with graphical user interface
US10861029B2 (en) 2017-05-15 2020-12-08 Facebook, Inc. Qualifying comments with poll responses on online systems
US10683962B2 (en) 2017-05-25 2020-06-16 Google Llc Thermal management for a compact electronic device
US10972685B2 (en) 2017-05-25 2021-04-06 Google Llc Video camera assembly having an IR reflector
US10819921B2 (en) 2017-05-25 2020-10-27 Google Llc Camera assembly having a single-piece cover element
USD842319S1 (en) * 2017-06-08 2019-03-05 Google Llc Computer display screen with transitional graphical user interface
USD841037S1 (en) 2017-06-19 2019-02-19 Google Llc Computer display screen with transitional graphical user interface
CN107463367B (zh) * 2017-06-22 2021-05-18 北京星选科技有限公司 转场动画实现方法及装置
USD836662S1 (en) * 2017-06-27 2018-12-25 Google Llc Display screen with animated graphical user interface
US10338799B1 (en) * 2017-07-06 2019-07-02 Spotify Ab System and method for providing an adaptive seek bar for use with an electronic device
USD845320S1 (en) * 2017-07-17 2019-04-09 Google Llc Display screen with transitional graphical user interface
USD845322S1 (en) * 2017-08-30 2019-04-09 Google Llc Display screen or portion thereof with transitional graphical user interface
KR101897704B1 (ko) * 2017-09-25 2018-10-29 넷마블 주식회사 게임 서비스 제공 장치 및 방법
USD845323S1 (en) 2017-09-28 2019-04-09 Facebook, Inc. Display panel of a programmed computer system with a transitional graphical user interface
USD852213S1 (en) 2017-09-28 2019-06-25 Facebook, Inc. Display panel of a programmed computer system with a transitional graphical user interface
USD897353S1 (en) 2017-10-27 2020-09-29 Waymo Llc Display screen portion with graphical user interface
USD858549S1 (en) * 2017-10-27 2019-09-03 Waymo Llc Display screen portion with graphical user interface
USD887434S1 (en) 2017-10-27 2020-06-16 Waymo Llc Display screen portion with icon
USD916131S1 (en) 2017-10-27 2021-04-13 Waymo Llc Display screen portion with transitional icon
USD967185S1 (en) 2017-10-27 2022-10-18 Waymo Llc Display screen or portion thereof with icon
USD858550S1 (en) * 2017-10-27 2019-09-03 Waymo Llc Display screen portion with graphical user interface
USD847858S1 (en) 2017-10-27 2019-05-07 Waymo Llc Display screen portion with icon
USD876458S1 (en) * 2017-12-04 2020-02-25 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD876459S1 (en) * 2017-12-04 2020-02-25 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD868810S1 (en) * 2017-12-04 2019-12-03 Samsung Electronics Co., Ltd. Display screen or portion thereof with animated graphical user interface
USD844637S1 (en) 2018-01-17 2019-04-02 Apple Inc. Electronic device with animated graphical user interface
USD861725S1 (en) * 2018-03-01 2019-10-01 Google Llc Display screen with animated icon
USD861035S1 (en) 2018-03-01 2019-09-24 Google Llc Display screen with animated icon
USD916765S1 (en) * 2018-04-11 2021-04-20 Trivver, Inc. Display panel with transitional graphical user interface for augmented reality component
US11435830B2 (en) 2018-09-11 2022-09-06 Apple Inc. Content-based tactile outputs
USD916804S1 (en) * 2018-11-01 2021-04-20 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
USD926796S1 (en) * 2018-11-19 2021-08-03 Verizon Patent And Licensing Inc. Display screen with an animated graphical user interface
USD905089S1 (en) * 2018-12-13 2020-12-15 Volvo Car Corporation Display screen or portion thereof with animated graphical user interface
USD902954S1 (en) 2019-01-18 2020-11-24 Apple Inc. Display screen or portion thereof with animated graphical user interface
USD931328S1 (en) * 2020-01-05 2021-09-21 Apple Inc. Display screen or portion thereof with animated icon
USD943629S1 (en) * 2020-05-07 2022-02-15 Beijing Dajia Internet Information Technology Co., Ltd. Display screen or portion thereof with graphical user interface
USD942470S1 (en) 2020-06-21 2022-02-01 Apple Inc. Display or portion thereof with animated graphical user interface
USD931891S1 (en) * 2020-09-15 2021-09-28 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
CN112348928A (zh) * 2020-11-25 2021-02-09 北京沃东天骏信息技术有限公司 动画合成方法、动画合成装置、电子设备及介质
USD972595S1 (en) * 2021-06-09 2022-12-13 Lemon Inc. Display screen or portion thereof with an animated graphical user interface

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143239A (ja) * 1991-11-25 1993-06-11 Pfu Ltd ボタン領域のポインテイング表示制御方法

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69229136T2 (de) 1991-01-29 1999-12-09 Fujitsu Ltd., Kawasaki Ein Animationsanzeigeprozessor
JP3036259B2 (ja) 1992-10-13 2000-04-24 富士通株式会社 画像表示装置
US5404437A (en) 1992-11-10 1995-04-04 Sigma Designs, Inc. Mixing of computer graphics and animation sequences
US5513309A (en) 1993-01-05 1996-04-30 Apple Computer, Inc. Graphic editor user interface for a pointer-based computer system
US5534893A (en) 1993-12-15 1996-07-09 Apple Computer, Inc. Method and apparatus for using stylus-tablet input in a computer system
US5686940A (en) 1993-12-24 1997-11-11 Rohm Co., Ltd. Display apparatus
US5880731A (en) * 1995-12-14 1999-03-09 Microsoft Corporation Use of avatars with automatic gesturing and bounded interaction in on-line chat session
IL126142A0 (en) 1996-03-15 1999-05-09 Zapa Digital Art Ltd Programmable computer graphic objects
US5699067A (en) * 1996-06-28 1997-12-16 Hughes Aircraft Company Radar plot display with low CPU loading
US5903902A (en) 1996-09-09 1999-05-11 Design Intelligence, Inc. Design engine with tree and component structure
US5995083A (en) 1996-11-20 1999-11-30 Alps Electric Co., Ltd. Coordinates input apparatus
US5946002A (en) * 1997-02-14 1999-08-31 Novell, Inc. Method and system for image animation
US9098297B2 (en) 1997-05-08 2015-08-04 Nvidia Corporation Hardware accelerator for an object-oriented programming language
US5983190A (en) * 1997-05-19 1999-11-09 Microsoft Corporation Client server animation system for managing interactive user interface characters
US6121981A (en) 1997-05-19 2000-09-19 Microsoft Corporation Method and system for generating arbitrary-shaped animation in the user interface of a computer
US6028602A (en) 1997-05-30 2000-02-22 Telefonaktiebolaget Lm Ericsson Method for managing contents of a hierarchical data model
US6686918B1 (en) * 1997-08-01 2004-02-03 Avid Technology, Inc. Method and system for editing or modifying 3D animations in a non-linear editing environment
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7346850B2 (en) 1998-06-12 2008-03-18 Cygnus Systems, Inc. System and method for iconic software environment management
US6329985B1 (en) 1998-06-30 2001-12-11 Emc Corporation Method and apparatus for graphically displaying mapping of a logical object
US7559039B2 (en) 1998-07-14 2009-07-07 Brad Ridgley Method and device for finding, collecting and acting upon units of information
JP2939473B1 (ja) * 1998-09-22 1999-08-25 コナミ株式会社 ビデオゲーム装置、ビデオゲームにおけるアニメーション表示制御方法及びビデオゲームにおけるアニメーション表示制御プログラムが記録された可読記録媒体
US6985178B1 (en) 1998-09-30 2006-01-10 Canon Kabushiki Kaisha Camera control system, image pick-up server, client, control method and storage medium therefor
JP4159674B2 (ja) 1998-10-22 2008-10-01 富士通株式会社 オブジェクト指向業務システムおよび方法
US6259436B1 (en) 1998-12-22 2001-07-10 Ericsson Inc. Apparatus and method for determining selection of touchable items on a computer touchscreen by an imprecise touch
US6486896B1 (en) 1999-04-07 2002-11-26 Apple Computer, Inc. Scalable scroll controller
US6791695B2 (en) * 1999-06-16 2004-09-14 Bandag Licensing Corporation Shearographic imaging machine with archive memory for animation data and air handling system
US6219143B1 (en) * 1999-06-16 2001-04-17 Bandag, Incorporated Method and apparatus for analyzing shearogram images by animation
EP1208476A2 (en) 1999-10-20 2002-05-29 Koninklijke Philips Electronics N.V. Device and method of browsing an image collection
JP2001134382A (ja) 1999-11-04 2001-05-18 Sony Corp 図形処理装置
US6590595B1 (en) 2000-02-08 2003-07-08 Sun Microsystems, Inc. Mechanism for providing intuitive scrolling feedback
US7142205B2 (en) 2000-03-29 2006-11-28 Autodesk, Inc. Single gesture map navigation graphical user interface for a personal digital assistant
US7009626B2 (en) 2000-04-14 2006-03-07 Picsel Technologies Limited Systems and methods for generating visual representations of graphical data and digital document processing
US6446083B1 (en) 2000-05-12 2002-09-03 Vastvideo, Inc. System and method for classifying media items
US6924803B1 (en) 2000-05-18 2005-08-02 Vulcan Portals, Inc. Methods and systems for a character motion animation tool
US6677965B1 (en) 2000-07-13 2004-01-13 International Business Machines Corporation Rubber band graphical user interface control
US6931656B1 (en) * 2000-10-11 2005-08-16 Koninklijke Philips Electronics N.V. Virtual creature displayed on a television
US6735583B1 (en) 2000-11-01 2004-05-11 Getty Images, Inc. Method and system for classifying and locating media content
US6839721B2 (en) 2001-01-12 2005-01-04 Hewlett-Packard Development Company, L.P. Integration of a database into file management software for protecting, tracking, and retrieving data
US20040027398A1 (en) 2001-02-15 2004-02-12 Denny Jaeger Intuitive graphic user interface with universal tools
US6741996B1 (en) 2001-04-18 2004-05-25 Microsoft Corporation Managing user clips
US20020194589A1 (en) 2001-05-08 2002-12-19 Cristofalo Michael Technique for optimizing the delivery of advertisements and other programming segments by making bandwidth tradeoffs
CA2390390C (en) 2001-07-03 2011-08-30 Research In Motion Limited Graphics stack system and method
US20130076592A1 (en) * 2011-09-27 2013-03-28 Paul E. Reeves Unified desktop docking behavior for visible-to-visible extension
US6690365B2 (en) 2001-08-29 2004-02-10 Microsoft Corporation Automatic scrolling
US6972749B2 (en) 2001-08-29 2005-12-06 Microsoft Corporation Touch-sensitive device for scrolling a document on a display
US7345671B2 (en) 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
CA2366183A1 (en) 2001-12-21 2003-06-21 Ibm Canada Limited-Ibm Canada Limitee Dynamic status tree facility
US6690387B2 (en) 2001-12-28 2004-02-10 Koninklijke Philips Electronics N.V. Touch-screen image scrolling system and method
US6957392B2 (en) 2002-01-16 2005-10-18 Laszlo Systems, Inc. Interface engine providing a continuous user interface
JP3951727B2 (ja) 2002-02-06 2007-08-01 松下電器産業株式会社 情報処理装置
US7466307B2 (en) 2002-04-11 2008-12-16 Synaptics Incorporated Closed-loop sensor on a solid-state object position detector
TWI238348B (en) 2002-05-13 2005-08-21 Kyocera Corp Portable information terminal, display control device, display control method, and recording media
TW591488B (en) 2002-08-01 2004-06-11 Tatung Co Window scrolling method and device thereof
US20040021698A1 (en) 2002-08-05 2004-02-05 Baldwin Amanda K. Intuitive touchscreen interface for a multifunction device and method therefor
US7668842B2 (en) 2002-10-16 2010-02-23 Microsoft Corporation Playlist structure for large playlists
US7281248B2 (en) 2002-11-19 2007-10-09 Microsoft Corporation Virtualized and realized user interface controls
US6903927B2 (en) 2002-12-17 2005-06-07 Nokia Corporation Convertible mobile computing device
US7131059B2 (en) 2002-12-31 2006-10-31 Hewlett-Packard Development Company, L.P. Scalably presenting a collection of media objects
US7117453B2 (en) 2003-01-21 2006-10-03 Microsoft Corporation Media frame object visualization system
US7908554B1 (en) * 2003-03-03 2011-03-15 Aol Inc. Modifying avatar behavior based on user action or mood
US7088374B2 (en) 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
US7627343B2 (en) 2003-04-25 2009-12-01 Apple Inc. Media player system
WO2005029364A1 (en) 2003-05-05 2005-03-31 Arbortext, Inc. System and method for managing dynamic content assembly
US8555165B2 (en) 2003-05-08 2013-10-08 Hillcrest Laboratories, Inc. Methods and systems for generating a zoomable graphical user interface
US7173623B2 (en) 2003-05-09 2007-02-06 Microsoft Corporation System supporting animation of graphical display elements through animation object instances
EP1644816B1 (en) * 2003-06-20 2016-09-14 Apple Inc. Computer interface having a virtual single-layer mode for viewing overlapping objects
KR100971950B1 (ko) 2003-06-30 2010-07-23 엘지디스플레이 주식회사 액정표시장치용 어레이기판과 제조방법
WO2005008444A2 (en) 2003-07-14 2005-01-27 Matt Pallakoff System and method for a portbale multimedia client
US7411575B2 (en) 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
US7034834B2 (en) 2003-10-24 2006-04-25 Microsoft Corporation Communication protocol for synchronizing animation systems
US7337412B2 (en) 2003-12-15 2008-02-26 International Business Machines Corporation Methods, systems and computer program products for providing multi-dimensional tree diagram graphical user interfaces
GB2411331A (en) 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
US20050193015A1 (en) 2004-02-19 2005-09-01 Sandraic Logic, Llc A California Limited Liability Company Method and apparatus for organizing, sorting and navigating multimedia content
US7683904B2 (en) * 2004-05-17 2010-03-23 Pixar Manual component asset change isolation methods and apparatus
JP5172334B2 (ja) 2004-06-17 2013-03-27 アドレア エルエルシー タッチスクリーン上の2本指入力の使用
US7336280B2 (en) * 2004-11-18 2008-02-26 Microsoft Corporation Coordinating animations and media in computer display output
WO2006067711A2 (en) 2004-12-21 2006-06-29 Koninklijke Philips Electronics N.V. Method and device for displaying animated buttons
CN100377055C (zh) 2004-12-22 2008-03-26 盛群半导体股份有限公司 触控感应装置的判读方法
US20070185876A1 (en) 2005-02-07 2007-08-09 Mendis Venura C Data handling system
US7385561B2 (en) 2005-02-17 2008-06-10 Galtronics Ltd. Multiple monopole antenna
US8819569B2 (en) 2005-02-18 2014-08-26 Zumobi, Inc Single-handed approach for navigation of application tiles using panning and zooming
US7355595B2 (en) 2005-04-15 2008-04-08 Microsoft Corporation Tactile device for scrolling
US7561159B2 (en) * 2005-05-31 2009-07-14 Magnifi Group Inc. Control of animation timeline
TW200701082A (en) 2005-06-23 2007-01-01 Elan Microelectronics Corp Scroll control method used in the touch panel
US7633076B2 (en) 2005-09-30 2009-12-15 Apple Inc. Automated response to and sensing of user activity in portable devices
US7644364B2 (en) * 2005-10-14 2010-01-05 Microsoft Corporation Photo and video collage effects
US7523135B2 (en) 2005-10-20 2009-04-21 International Business Machines Corporation Risk and compliance framework
US20070174257A1 (en) 2006-01-18 2007-07-26 Bruce Thomas Howard Systems and methods for providing sorted search results
US7844661B2 (en) 2006-06-15 2010-11-30 Microsoft Corporation Composition of local media playback with remotely generated user interface
US8086971B2 (en) 2006-06-28 2011-12-27 Nokia Corporation Apparatus, methods and computer program products providing finger-based and hand-based gesture commands for portable electronic device applications
US7956849B2 (en) * 2006-09-06 2011-06-07 Apple Inc. Video manager for portable multifunction device
US7877690B2 (en) 2006-09-20 2011-01-25 Adobe Systems Incorporated Media system with integrated clip views
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US7903115B2 (en) * 2007-01-07 2011-03-08 Apple Inc. Animations
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US20080168395A1 (en) 2007-01-07 2008-07-10 Bas Ording Positioning a Slider Icon on a Portable Multifunction Device
US7872652B2 (en) 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
US8643653B2 (en) * 2007-06-08 2014-02-04 Apple Inc. Web-based animation
US8151199B2 (en) * 2009-02-09 2012-04-03 AltEgo, LLC Computational delivery system for avatar and background game content
US8335992B2 (en) 2009-12-04 2012-12-18 Nellcor Puritan Bennett Llc Visual indication of settings changes on a ventilator graphical user interface
US8525839B2 (en) * 2010-01-06 2013-09-03 Apple Inc. Device, method, and graphical user interface for providing digital content products
US9733665B2 (en) * 2010-10-01 2017-08-15 Z124 Windows position control for phone applications
US9761035B1 (en) * 2014-03-03 2017-09-12 Mindstream Interface Dynamics, Inc. Dynamic user interfaces
US10395413B2 (en) * 2015-03-03 2019-08-27 Jeremy Flores Dynamic user interfaces

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143239A (ja) * 1991-11-25 1993-06-11 Pfu Ltd ボタン領域のポインテイング表示制御方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5387582B2 (ja) * 2008-11-11 2014-01-15 日本電気株式会社 携帯端末、携帯端末の頁送り方法、及びプログラム
JP2013519952A (ja) * 2010-02-12 2013-05-30 マイクロソフト コーポレーション 柔軟な平行移動を備えたマルチレイヤーユーザーインターフェース
US10168861B2 (en) 2010-10-20 2019-01-01 Sony Interactive Entertainment Inc. Menu display device, menu display control method, program and information storage medium
WO2012053489A1 (ja) * 2010-10-20 2012-04-26 株式会社ソニー・コンピュータエンタテインメント メニュー表示装置、メニュー表示制御方法、プログラム及び情報記憶媒体
JP2019067436A (ja) * 2012-05-18 2019-04-25 サムスン エレクトロニクス カンパニー リミテッド ディスプレイ装置及びそのディスプレイ方法
JP2013246615A (ja) * 2012-05-25 2013-12-09 Kyocera Document Solutions Inc 表示入力装置および画像形成装置
JP2015537299A (ja) * 2012-10-31 2015-12-24 サムスン エレクトロニクス カンパニー リミテッド ディスプレイ装置及びそのディスプレイ方法
CN104102422A (zh) * 2013-04-03 2014-10-15 阿里巴巴集团控股有限公司 页面返回操作的方法及装置
JP2016517980A (ja) * 2013-04-03 2016-06-20 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ページ戻り
JP2017079070A (ja) * 2013-06-09 2017-04-27 アップル インコーポレイテッド ユーザインタフェースオブジェクトを移動させるための機器、方法、及びグラフィカルユーザインタフェース
US11301129B2 (en) 2013-06-09 2022-04-12 Apple Inc. Device, method, and graphical user interface for moving user interface objects
US11334238B2 (en) 2013-06-09 2022-05-17 Apple Inc. Device, method, and graphical user interface for moving user interface objects
US11893233B2 (en) 2013-06-09 2024-02-06 Apple Inc. Device, method, and graphical user interface for moving user interface objects
JP7013405B2 (ja) 2014-06-01 2022-01-31 アップル インコーポレイテッド メッセージングアプリケーションにおけるオプションの表示、通知の割り当て、メッセージの無視、及びユーザインタフェースの同時表示
JP2016177712A (ja) * 2015-03-22 2016-10-06 春佳 西守 コンピュータプログラム、装置および方法
JP5852277B1 (ja) * 2015-03-22 2016-02-03 春佳 西守 コンピュータプログラム、装置および方法
JP2016001512A (ja) * 2015-10-08 2016-01-07 京セラ株式会社 携帯端末装置、プログラムおよび表示制御方法

Also Published As

Publication number Publication date
KR101361967B1 (ko) 2014-02-11
KR20090096752A (ko) 2009-09-14
US20080165210A1 (en) 2008-07-10
KR20120091403A (ko) 2012-08-17
US11532113B2 (en) 2022-12-20
KR101211787B1 (ko) 2012-12-12
US9378577B2 (en) 2016-06-28
US20140063021A1 (en) 2014-03-06
KR20130029444A (ko) 2013-03-22
US20110109635A1 (en) 2011-05-12
JP5285621B2 (ja) 2013-09-11
WO2008085877A1 (en) 2008-07-17
US20160379399A1 (en) 2016-12-29
US20180330530A1 (en) 2018-11-15
EP2538325A1 (en) 2012-12-26
US20200226812A1 (en) 2020-07-16
KR101296052B1 (ko) 2013-08-12
EP2115576A1 (en) 2009-11-11
US20150035838A1 (en) 2015-02-05
US8836707B2 (en) 2014-09-16
US10586373B2 (en) 2020-03-10
US8531465B2 (en) 2013-09-10
US9990756B2 (en) 2018-06-05
US7903115B2 (en) 2011-03-08

Similar Documents

Publication Publication Date Title
JP5285621B2 (ja) アニメーション
US11449217B2 (en) Application programming interfaces for gesture operations
US10817162B2 (en) Application programming interfaces for scrolling operations
EP2109810B1 (en) Application programming interfaces for scrolling
US9183661B2 (en) Application programming interfaces for synchronization

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100709

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120423

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130403

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130531

R150 Certificate of patent or registration of utility model

Ref document number: 5285621

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250