JP2009503742A - オンザフライのコントロール機能を有する仮想拡大鏡 - Google Patents

オンザフライのコントロール機能を有する仮想拡大鏡 Download PDF

Info

Publication number
JP2009503742A
JP2009503742A JP2008525165A JP2008525165A JP2009503742A JP 2009503742 A JP2009503742 A JP 2009503742A JP 2008525165 A JP2008525165 A JP 2008525165A JP 2008525165 A JP2008525165 A JP 2008525165A JP 2009503742 A JP2009503742 A JP 2009503742A
Authority
JP
Japan
Prior art keywords
magnifier
screen
window
magnifying glass
readable storage
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
JP2008525165A
Other languages
English (en)
Other versions
JP5130215B2 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009503742A publication Critical patent/JP2009503742A/ja
Application granted granted Critical
Publication of JP5130215B2 publication Critical patent/JP5130215B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04805Virtual magnifying lens, i.e. window or frame movable on top of displayed information to enlarge it for better reading or selection

Abstract

ディスプレイスクリーン拡大鏡は、スクリーン上で開いているウィンドウを含むデスクトップの選択された部分を拡大するためにユーザによってコントロールすることができる。移動可能な拡大鏡フレームが提供され、その中には、拡大されたイメージが提示される。この拡大されたイメージは、拡大鏡フレームの下にある拡大領域内に位置するスクリーンコンテンツに対応し、一定の拡大レベルまで拡大されている。この拡大鏡は、ユーザ入力デバイスの使用を通じてコントロールすることができる。オンスクリーンオブジェクトと対話することなく、デスクトップやスクリーン上で開いているあらゆるウィンドウから焦点を奪い去ることなく、拡大鏡の少なくとも1つのオペレーション上のパラメータを調整することができる。本発明の特定の実施形態においては、拡大鏡のオンザフライの制御性は、その拡大鏡をアクティブ化および非アクティブ化すること、拡大レベルを調整すること、および拡大鏡フレームのサイズを調整することを含む。

Description

本発明は、ユーザがスクリーンディスプレイのコンテンツの部分を便利に選択的に拡大することができる、ソフトウェア/ファームウェアに基づくシステムおよび方法に関する。
さまざまなタイプのコンピュータディスプレイスクリーンの拡大およびズーム機能が知られている。一般に、そのような拡大鏡(magnifier)は、コンピュータのスクリーン上に表示されているものの一部の拡大されたコピーを示す。そのような機能は、視力障害者のための、およびその他の目的のためのユーザ補助として、また特定のアプリケーションソフトウェア内で提供される機能として、およびオペレーティングシステム(たとえば、デスクトップ)のレベルでユーザアプリケーションと共に使用するために一般に利用できる拡大/ズーム機能を提供するように意図されている専門のソフトウェアとして提供されてきた。視力障害者にとっては、そのような機能は、スクリーン上の小さなテキストの判読、および/またはアイコンなどの識別に伴って役立つことができる。より一般には、拡大およびズーム機能は、スクリーン上のオブジェクトやイメージのすべてまたは一部を拡大することが望まれる可能性のある場合に、アプリケーション内で、およびオペレーティングシステム(たとえば、デスクトップ)のレベルで役立つことができる。
ズーム機能を提供するユーザアプリケーションの一例が、Adobe Acrobatのpdfドキュメントリーダである。ドロップダウンメニューを介した標準的なツールバーズームレベルの選択(standard toolbar zoom level selections)に加えて、Loupe Tool、Pan&Zoomウィンドウ、Dynamic Zoomツールという3つのパンおよびズーム関連の機能がある。
Loupe Toolでは、ユーザは、スライダ(slider)を用いてズームレベルをコントロールし、ドキュメント内でクリックすることによってズーム位置をコントロールする。ズームされたエリアは、ドキュメント上の長方形によって表され、この長方形のサイズは、ズームレベルに反比例し、ズームされたビューは、別個のウィンドウ内に表示される。Pan&Zoomウィンドウ機能では、小さなウィンドウ内に提示されているドキュメントページ上で、サイズ変更可能なボックスを移動することができる。ボックスとして背景のズームおよびパン内に提供されているドキュメントビューが、サイズ変更され、移動される。Dynamic Zoomツールでは、通常のカーソルが、ズームモードに入っていることを示す小さな虫メガネ(magnifying glass)の表示に変わる。このモードにおいては、ユーザは、ドキュメント上でクリックし、そして上/下へドラッグして、動的にズームインおよびズームアウトすることができ、また、ドキュメントの横の縁でパンすることができる。
ユーザアプリケーションソフトウェアの一部として提供されるズーム機能のさらなる例として、Digital Image Proは、イメージをナビゲートするためのウィンドウの一部として提供されるツールバー上に、一式のコントロールを提供する。これらは、スライダに基づくズームレベルと、100%へ戻るボタンと、パニングウィンドウ(panning window)と、選択したところへズームするボタンとを含む。AdobeのPan and Zoom機能と同様に、選択されたズームレベルに反比例するサイズのボックスを、小さなウィンドウ内に提示されているイメージ上で動かすことができる。ボックス内のイメージ部分の拡大されたビューが、背景内に提供される。
アプリケーションは一般に、コンピュータマウスの入力機能を利用してズーム機能を実施する。たとえば、キーボード上のCTRLキーを押すと共にマウス上のスクロールホイール(scroll wheel)を回転させること(CTRL+ホイール)によって、ユーザは、アプリケーションのズームインおよびズームアウトを行うことができる。それぞれのアプリケーションは、独自のズーミング増加度合い(zooming increment)を有しており、スクロールホイールによるズーミングは、これらの増加度合いを適用する。その他のズームオプションは、関連技術の図4に示されているように、Microsoft IntelliPoint(商標)(マウス)ソフトウェアコントロールパネル内に存在する。Buttonsタブ上には、それぞれのマウスボタンのためのオプションとして、Zoom InコマンドおよびZoom Outコマンドが最近追加された。いくつかのMicrosoftキーボードは、Zoomコントロール(たとえば、「スライダ」)を有しており、このズームコントロールは、Microsoft(登録商標)のIntelliType(商標)ソフトウェアのコントロールのもとで機能する。
オペレーティングシステム(デスクトップ)のレベルで使用するために開発された拡大鏡ソフトウェア(magnifier software)と比較すると、特定のユーザアプリケーションのための拡大およびズーム機能の開発には、より大きな柔軟性がある。というのは、それらの機能を提供するためにアプリケーションを「ゼロ」から(from "the ground up")構築することができるためである。また、アプリケーション固有の拡大鏡では、その拡大鏡と、独立して実行されているプログラムおよびそれらの関連付けられているウィンドウとの対話は、一般に問題ではない。ズーミングは、アプリケーション内で容易に達成される。アプリケーションは、表示されるコンテンツの内部の表示を有しており、正しく設計されているならば、そのコンテンツをさまざまなサイズまたはズームレベルで表示することができる。たとえばMicrosoft(登録商標)のWord(登録商標)においては、スクリーン上に数行しか表示されなくなるまでズームインすることができるが、テキストは非常にはっきりしており、これは、フォントがベクトルグラフィックス(ビットマップではなく、文字の数学的な記述)に基づいているためである。
デスクトップと共に、およびその他の開いているあらゆるウィンドウと共に、すなわちOS(operating system)のレベルで使用するために一般に利用できるように設計されている拡大鏡では、アプリケーションがズーム機能のために有している可能性のある内部の表示は利用できない。むしろ拡大は、出力のスクリーンショットまたはビットマップの操作によって実行される。これは通常、適用可能なスクリーン解像度までしか詳細度を高めないが、それでもユーザは、UI(user interface)オブジェクトおよびテキストをより大きなサイズで見ることはできる。そのような拡大鏡が、下にある(underlying)さまざまなスクリーン要素およびウィンドウと対話する方法が、非常に重要である。その対話の性質は、機能の実際の使いやすさおよび知覚される使いやすさに対して重大な影響力を有する可能性がある。
既存のOSレベルのスクリーン拡大機能の一例が、Microsoft(登録商標)のWindows(登録商標) XP(登録商標)オペレーティングシステムの「Magnifier」である。Magnifierは、視力の損なわれたユーザにとってスクリーンをより読みやすくするディスプレイユーティリティーである。このMagnifierは、スクリーンの拡大された部分を表示する別個のウィンドウを作成し、この拡大された部分は、ポインティングデバイスのカーソル、たとえばマウスポインタの位置によって決定される。ユーザは、機能のコントロールパネル内の設定を介して拡大レベルを変更することができる。ユーザは、Magnifierウィンドウを移動したりサイズ変更したり、あるいはスクリーンの縁へドラッグして所定の位置に固定したりすることができる。
公知のスクリーン拡大専門のアプリケーションが、Zoom Magicである。このアプリケーションは、起動すると、図1に示されているように、カスタムの拡大ウィンドウを開く。このウィンドウは、通常のウィンドウとしてサイズ変更することができ、移動することができる。すべてのツール/設定は、タイトルバー内で利用することができる。このウィンドウは、直下にあるものをすべて拡大する。マウスカーソルは、拡大されたコンテンツ上を移動することはできるが、そのコンテンツと対話することはできない。
図1を参照すると、ウィンドウタイトルバー内の矢印ボタンをクリックすることによって開始された、カーソルトラッキングモード(cursor tracking mode)がある。別々の赤色の矢印をクリックすると、ウィンドウが、上/下/左/右へドッキングする。中央をクリックすると、ウィンドウのドッキングが解除され、通常のウィンドウに戻る。このモードでは、その他の開いているウィンドウをオーバーレイすることはできるが、拡大ウィンドウ内で下にあるアプリケーションウィンドウと対話することはできない。カーソルトラッキングは、矢印ボタンをクリックすることによってオン/オフを切り替えることができる。デスクトップおよびその他の開いているあらゆるウィンドウの上に拡大ウィンドウを保持するオプションがあるが、このモードでは、拡大されたイメージは、拡大ウィンドウがクリックされない限り、更新されない。
「Lens」は、ABF Magnifying Tools(非特許文献1)によって提供されているツールであり、関連技術の図2において見られるように、虫メガネの漫画(caricature)を作成する。ユーザは、その虫メガネをドラッグすることによってその位置を変え、それを使用してスクリーンのエリア上に選択的にズームインすることができる。ユーザは、+ボタンおよび−ボタンをクリックすることによって、拡大レベルを調整することができる。このツールは、アクティブ化された時点の静的なスクリーンショットを取り込む。もしもスクリーン上で何かが変わっても、それは、ズームされたイメージ内には反映されない。
公知のユーザ補助専門のアプリケーションの別の例が、AI(非特許文献2)によるZoomText 8.1である。アプリケーションが起動すると、関連技術の図3に示されているように、モーダルコントロールパネルタイプの(modal control panel type)UI(user interface)が表示される。
ZoomText 8.1の拡大鏡/ズーム機能には、いくつかのモードがある。
Full Screen Modeは、スクリーン全体を段階的に拡大する。マウスがスクリーンの縁に近づくと、パンが自動的に開始される。
Overlay Modeは、スクリーンの右下の隅にサイズ変更可能な四角いウィンドウを作成する。マウスは、通常の(1:1の)ビュー内で追跡把握され、その動きが、拡大されたビュー内に映し出される。マウスがスクリーンの縁に近づくと、ズームウィンドウ内でパンが自動的に開始される。
Lens Modeは、浮遊するサイズ変更可能な四角いウィンドウを作成し、このウィンドウは、マウスカーソルと動きを共にする。Line Modeは、スクリーンを横切る横長の帯を作成し、この帯は、マウスカーソルのY座標における変化に伴って上下に動く。拡大ウィンドウ内で動的な更新が行われて、使用中にスクリーンコンテンツの変化が反映され、下にあるアプリケーションウィンドウとの対話が、拡大ウィンドウを通じて利用可能となり、すなわち、拡大鏡をとばして下にあるウィンドウへ至るためのマウスおよびキーボードによる入力が可能となる。
Docked Modeは、スクリーンの上、下、右、または左の縁に寄せて配置される(黒色で縁どられた)サイズ変更可能な帯を作成する。マウスの動きは、ズームされたビュー内でのみ追跡把握され、その一方で、1:1のビューはロックされる。
Freeze Itツールを有効にすると、ユーザは、サイズ変更可能なボックスをスクリーン上に描画して、その位置を固定する(「動かなくする」)ことができる。事前に定義されたボックスビューが、ズーム位置を特定のX座標およびY座標にロックする。コンテンツが、拡大されているエリア内で変化した場合には、その変化が、ボックス内における拡大されたコンテンツ内に反映される。Freezeモードは、「Full Screen」拡大鏡モードでしか利用できない。Full Screenモードでは、レンズがなく、スクリーン全体が拡大され、マウスは、「スクリーンから外れた」エリアへパンする。
公知のディスプレイスクリーン拡大鏡は、それらの簡潔性および利便性、ならびにそれらを使用する際の直観性という点で、決して理想的とは言えない。また、いくつかの拡大鏡が実装される様式によって、それらの拡大鏡は、非常に脆弱になる。すなわち、オペレーティングシステム/ドライバの更新およびパッチに際して機能不良の影響を受けやすくなる。
コンピュータのデスクトップおよびその他の開いているウィンドウ上に「浮遊」できるという点で実際の光学用レンズの拡大鏡にさらに類似した動作を示す堅牢なコンピュータ実装型のディスプレイスクリーン拡大鏡(computer implemented display screen magnifier)を有すること、下にあるものの拡大されたビューを自然な直観的な方法で提供すること、および下にあるデスクトップ/ウィンドウを自由に見てそのデスクトップ/ウィンドウと対話できることが望ましいであろう。
ウィンドウベースのGUI(graphical user interface)を提供するオペレーティングシステム、たとえば、Microsoft(登録商標)のWindows(登録商標)オペレーティングシステムと共に使用するように意図されている拡大アプリケーション(magnification application)を実装することは、ある問題を提示する。拡大鏡が従来のウィンドウとして作成される場合には、拡大ウィンドウそのものが、開かれたときにデスクトップの一部となる。結果として、拡大用のデスクトップイメージを得るためのシステムコールは、拡大鏡ウィンドウ(magnifier window)そのもの(その下にあるGUIのその部分ではなく)を含むことになる。Windows(登録商標)XPの拡大鏡のように、拡大を行うためにそのようなシステムコールを使用することは、無限のミラー効果につながる。ユーザの観点から見れば、拡大ウィンドウの下にあるものの拡大されたビューを得るのを妨害される結果となる。
前述のZoomText製品など、複数の市販の拡大アプリケーションは、ドライバチェーニング(driver chaining)として知られている技術を使用して、上述の問題に対処している。このアプローチでは、オペレーティングシステムによって合成されたスクリーンコンテンツの選択された部分は、ビデオディスプレイドライバ(video display driver)に達する前に、カーネルレベルの拡大鏡によって傍受され、操作される。スクリーン読み取りソフトウェアやスクリーン拡大ソフトウェアでは、ATV(assistive technology vendor)は、基本的にディスプレイドライバを突き止め、そのために必要とされる情報を入手し、そして時として修正されたDDI(Display Driver Interface)コールを元のディスプレイドライバに渡す(特定のリモートコントロールソフトウェアはまた、リモートコンピュータに渡される情報を傍受するために、この技術を使用する)。このDDIの傍受技術は、ドライバチェーニングと呼ばれている。連鎖されたドライバが、GDIからディスプレイドライバへのDDIコールを傍受し、スクリーンの一部を拡大するような方法でそれらのコールを操作する。Windows(登録商標)オペレーティングシステムに関する限り、スーパーインポーズされた(superimposed)拡大鏡の出力は、単にそこになく、したがって、デスクトップのコピー部分へのコールには、それが見えないであろう。
ドライバチェーニングは、あらかじめ確立されたオペレーティングシステム/ドライバの関係に介入するため、オペレーティングシステムの供給業者、たとえばMicrosoft(登録商標)によって公式にサポートすることはできない。結果として、この技術は、たとえばオペレーティングシステムが新たなサービスパックまたはドライバによってアップグレードされる場合には、非常に脆弱で機能不良に陥りやすくなりがちである。ドライバチェーニング、ならびにスクリーン拡大鏡およびその他の補助テクノロジー製品におけるその応用に関するさらなる情報は、非特許文献3のMSDN(Microsoft Developers Network)で見ることができる。
http://www.abf-soft.com/magnifying-tools.shtml http://www.aisquared.com/index.htm http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc/html/atg driverchain.asp http://msdn. microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/createwindowex.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/msdn hooks32.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/hooks.asp
コンピュータディスプレイ拡大鏡のための設定を変更することは、従来のコントロールパネルを通じた時間のかかる不便な作業である。ユーザが、タスクのコンテキストを失ったり、コントロールパネルへのアクセスが必要となったり、あるいはその他の形でオンスクリーンツール/オブジェクトと対話したりすることなく、基本的な拡大鏡コントロール機能をオンザフライ(on the fly)で実行できるならば、非常に有利であろう。
開いているウィンドウから焦点を奪い去ることなく、拡大鏡をアクティブ化すること、非アクティブ化すること、配置すること、ならびにそのサイズおよび/または拡大レベルを調整することができるならば、非常に有益であろう。拡大鏡が焦点を得て、マウス/キーボードの入力を受け入れるならば、拡大鏡の設定を容易に変更することができる。しかし、これには、ユーザが設定の調整を終えたときに当該アプリケーションに焦点を戻すという問題がある。そのアプリケーションは、アクティブにされて前景に戻ったときに、同じ状態にはない可能性があり、キーボードの焦点は、別のコントロール上にあるかもしれない。
本発明は、ディスプレイスクリーンおよびユーザ入力デバイス(たとえば、コンピュータマウス、トラックボール、あるいはタッチパッドなどのポインティングデバイスや、コンピュータキーボード)と共に提供されるデータ処理デバイス(たとえば、汎用または専用のコンピュータ)上で実行することができるソフトウェア/ファームウェアに基づくシステムおよび方法を提供する。これらのシステムおよび方法は、ユーザがスクリーンディスプレイのコンテンツの部分を便利に選択的に拡大することができる手段を提供する役割を果たす。上述のような公知の拡大鏡の1つまたは複数の欠点に対処するために、そのようなディスプレイスクリーン拡大鏡を提供することに対する新たなアプローチが提供される。
本発明による拡大鏡は、デスクトップおよびスクリーン上で開いているウィンドウの選択された部分を拡大するためにユーザによってコントロールすることができる。移動可能な拡大鏡フレーム(magnifier frame)が提供され、その中には、拡大されたイメージが提示される。この拡大されたイメージは、拡大鏡フレームの下にある拡大領域内に位置するスクリーンコンテンツに対応し、一定の拡大レベル(a set level of magnification)まで拡大されている。
本発明による拡大鏡は、ユーザ入力デバイスの使用を通じてオンザフライでコントロールすることができる。オンスクリーンオブジェクトと対話することなく、デスクトップやスクリーン上で開いているあらゆるウィンドウから焦点を奪い去ることなく、拡大鏡の少なくとも1つのオペレーション上のパラメータを調整することができる。本発明の特定の実施形態においては、拡大鏡のオンザフライの制御性は、拡大鏡をアクティブ化および非アクティブ化し、その拡大レベルを調整し、その拡大フレーム(magnification frame)のサイズを調整する機能を含む。
本発明の一態様によれば、ディスプレイスクリーン拡大鏡は、オペレーティングシステムのAPI(application programming interface)、すなわちウィンドウスタイル(windows style)、およびそのウィンドウスタイルに関連付けられている第2段階スクリーンコンテンツ合成エンジン(second stage screen content compositing engine)によって利用可能にされるリソースを活用することによって機能するように構成されている。
本発明の一態様によれば、デスクトップイメージを拡大させるためのコールに対して事実上影響を与えない(effectively invisible)拡大鏡ウィンドウが作成される。これによって、拡大鏡は、直観的な様式で機能することができ、見ている人は、開いているアプリケーションウィンドウおよび/またはデスクトップから焦点を奪い去ることなく、拡大鏡のすぐ下にあるものを見て、拡大鏡と対話することができる。本発明の一実施形態は、Microsoft Windows(登録商標)2000およびXPオペレーティングシステムのAPIによって利用可能にされるウィンドウスタイルを有利に活用する。このようにして、脆弱なドライバチェーニング技術を使用する必要性が回避される。
本発明の上述およびその他の目的、特徴、および利点は、好ましい実施形態に関する以下の詳細な説明を添付の図面と共に読めば、容易に明らかになり、十分に理解できるであろう。
本発明によるオンスクリーン拡大鏡は、拡大されたイメージが内部に提示される移動可能な拡大鏡フレームを含む。拡大されたイメージは、拡大鏡フレームの下にある拡大領域内に位置するスクリーンコンテンツに対応し、一定の拡大レベルまで拡大されている。
本発明の一実施形態によるディスプレイスクリーン拡大鏡は、アクティブになっている間はスクリーンディスプレイのデスクトップおよびその他の開いているあらゆるウィンドウの上に留まるように構成されている。このディスプレイスクリーン拡大鏡は、ユーザ入力デバイス(たとえば、マウスやキーボード)のイベントを、拡大鏡の下に位置するウィンドウに渡し、拡大されたイメージを動的に更新して、下にあるスクリーンコンテンツ内の変化を反映する。このようなディスプレイスクリーン拡大鏡は、ディスプレイスクリーンおよびユーザ入力デバイスと共に提供される汎用コンピュータやその他のデータ処理デバイス上で実行されるソフトウェアやファームウェア内で具体化することができる。
本発明の一態様は、オペレーティングシステムの既存のAPI(application programming interface)、とりわけウィンドウスタイル、およびそのウィンドウスタイルに関連付けられている第2段階スクリーンコンテンツ合成エンジンを通じて利用可能にされるリソースを活用することによって上述の動作を達成することを含む。「ウィンドウスタイル」は、本明細書において使用される際、APIのセット内で指定された1つまたは複数の指定のウィンドウスタイル内に含まれているパラメータのセットを含めて、GUI(graphical user interface)の一部として表示されることになるウィンドウの機能的な特徴および/または視覚的な特徴を指定するパラメータの任意のセットを広く包含する。本発明のアプローチは、脆弱なドライバチェーニング技術の代わりに使用することができる。
本発明の例示的な一実施形態においては、拡大鏡は、Microsoft(登録商標)によるパーソナルコンピュータ用のWindows(登録商標)2000およびXPオペレーティングシステムのAPIの一部として提供されている下記の拡張されたウィンドウスタイルを用いて作成された拡大ウィンドウ(magnify window)を含む。
WS_EX_TRANSPARENT:このウィンドウスタイルは、このウィンドウの下にあるウィンドウがペイントされるまでこのウィンドウはペイントされないということを指定する。これによって、拡大鏡が描画される前にその拡大鏡の下にあるスクリーンの「スナップショット」を撮ることができる。
WS_EX_LAYERED:このスタイルがWS_EX_TRANSPARENTスタイルと共に使用されている場合には、拡大鏡ウィンドウは、マウスやキーボードからのユーザ入力を受け取らず、すべての入力は、拡大鏡の下にあるアプリケーションに渡される。拡大鏡ウィンドウが、重ねられた透明なウィンドウとして作成されている場合には、ポインティングデバイス(たとえばマウス)のイベントは、その重ねられたウィンドウの下にある他のウィンドウに渡されることになる。また、このウィンドウスタイルは、アルファブレンドされたフレーム(alpha blended frame)を拡大鏡に与えるために使用することができるピクセルごとのアルファブレンディングを最適化する。この特徴は、拡大鏡がデスクトップ上に「浮遊している」という視覚的な手がかりをユーザに与えるために使用することができる。
WS_EX_NOACTIVATE:このウィンドウスタイルはまた、ウィンドウが「焦点」を得ないようにウィンドウを作成する。すなわち、拡大鏡ウィンドウが、通常は視覚的に強調表示されるウィンドウ(たとえば、タイトルバーと共に提供される通常のウィンドウ)として提供されている場合には、ポインティングデバイス(たとえばマウス)を用いてその中をクリックしても、そのウィンドウがアクティブウィンドウとして視覚的に強調表示される(たとえば、照らし出される)ことはない。ユーザは、拡大鏡を通り抜けてクリックすることができる。また、キーボードのイベント(入力)が拡大鏡によって取り込まれることもない。これによって、ユーザは、拡大鏡の下に位置するアプリケーションウィンドウと自由に対話することができる。また、このスタイルでは、拡大鏡はタスクバー上に表示されない。
WS_EX_TOOLWINDOW:このスタイルを追加すると、拡大鏡はまた、開いているウィンドウ/アプリケーションをalt−tabで切り替える際の一覧(alt-tab listing)内に表示されなくなる。
WS_EX_TOPMOST:このウィンドウスタイルは、拡大鏡を一番上のウィンドウとして保持する。これがなければ、拡大鏡がその他のウィンドウの後ろに隠れてしまうことによって、拡大鏡の実用性が低下するおそれがある。
Microsoft(登録商標)のWindows(登録商標)オペレーティングシステムのAPI内に含まれているこれらおよびその他の拡張されたウィンドウスタイルに関するさらなる情報は、たとえば非特許文献4のMSDN(Microsoft Developers Network)で見ることができる。
使用することができる例示的な拡大鏡ウィンドウ作成機能を以下に示す。
Figure 2009503742
本発明の一態様による拡大鏡のオペレーション上の処理が、図5に示されている。拡大鏡ウィンドウがアクティブ化されると、拡大鏡が所定の度合いで(たとえば、1秒間に約15回から24回)タイマメッセージを受け取るようにタイマが設定される。一実施形態においては、タイマの間隔は、15ミリ秒、あるいは1秒間に67回に設定される。拡大鏡は、拡大鏡が使用されている(アクティブになっている)間に生じる下にあるスクリーンコンテンツ内の変更を反映する目的で拡大鏡のイメージを継続的に更新するためにタイマメッセージを使用する。示された範囲内の更新頻度によって、拡大されたイメージは、拡大フレームがスクリーン上を移動するにつれて、あるいは下のウィンドウ内で再生されているアニメーションがあり、それによってスクリーンの前で手に持って動かされている実際の光学用虫メガネの外観をまねている場合に、比較的スムーズに変化できるはずである。図5に示されているように、タイマメッセージが受け取られると、拡大されることになる領域が取り込まれ、拡大鏡ウィンドウが一番上に設定され、そして取り込まれた領域が、適切な拡大レベルで拡大鏡内に描画される(たとえば、「ブリット(blit)を拡大する」)。
本発明の一実施形態は、USER32(Win32ウィンドウマネージャー(Win32 window manager))が、Transparentウィンドウが作成される際にスクリーンコンテンツの合成の第2段階を実行するための比較的シンプルな合成エンジンを実装しているという事実を有利に活用する。これは、普通または通常のデスクトップ合成プロセスとは異なり、そうしたデスクトップ合成プロセスに追加するものであるという意味で、合成の「第2段階」である。Microsoft(登録商標)のWindows(登録商標)オペレーティングシステムによって採用されている通常の合成プロセスは、時として修正ペインターズアルゴリズム(modified painters algorithm)と呼ばれるものに準拠している。ウィンドウは、逆z順(reverse z order)で(上から下へ)デスクトップにペイントされる。再び描画されるスクリーンのエリアを、コンテンツが追加されているエリアまたは変更が生じているエリアに限定して、それによってスクリーンのちらつきを回避し、実際のペイント/描画作業の分量を少なくするために、積極的な「クリッピング(clipping)」が使用される。
Windows(登録商標)がウィンドウのピクセルをその「後ろ」にあるあらゆるものとマージすることを必要とするドロップシャドウ(drop shadow)、透明性、あるいはその他の任意の効果をウィンドウが使用している場合には、Windows(登録商標)は、それぞれデスクトップおよび透明なウィンドウのための中間のビットマップバッファ(intermediate bitmap buffer)を作成する。そして、これらのバッファのコンテンツが「合成」されて、最終的な出力が作成される。デスクトップのスナップショットを撮るためのコール(たとえばGetDC(NULL))、およびデスクトップからブリットを拡大するためのコール(StretchBlt)は、第2段階の合成プロセスから生じるデスクトップではなく、デスクトップバッファを使用することになる。拡大ウィンドウは、(たとえ不透明度が100%に設定されていても)自分自身をWindows(登録商標)の「Transparent」ウィンドウにすることによって、第2段階の合成プロセスを可能にすること、および自分自身をメインのデスクトップの上に置くことの双方を行う。「Topmost」ウィンドウスタイルを使用することは、新たなウィンドウが後から現れて自分自身を一番上に設定することを防止することによって、拡大鏡を一番上に保持する。
本発明による拡大鏡は、ディスプレイスクリーン上で移動できるサイズ変更可能な拡大フレームを提示し、この拡大フレーム内には、その拡大フレームの下にある拡大領域内に位置するスクリーンコンテンツに対応する拡大されたイメージが提示される。本明細書に記載されている主要な実施形態においては、拡大フレーム/レンズは、ポインティングデバイスのカーソルと動きを共にするために中心をそのカーソルに固定されている。その他の実施形態においては、(拡大鏡の仮想「レンズ」の境界を示す)拡大フレームは、ポインティングデバイスのカーソルとは無関係に移動できるようにすることができる。
本発明の一態様によるコンピュータディスプレイ拡大鏡は、デスクトップおよび開いているあらゆるウィンドウの上に「浮遊」し、デスクトップや開いているいかなるウィンドウからも焦点を奪い去ることはない。前述のように、これらは、望ましい特徴である。しかし、これらは、どのようにして拡大鏡をサイズ変更し、その拡大レベルを変更するかという問題を提起する。通常のアプリケーションウィンドウにとっては、これは、取るに足らないことであろう。サイズ変更は、ウィンドウの境界をクリックアンドドラッグすることによって達成されるであろうし、拡大レベルは、オンスクリーンコントロール(on-screen control)を用いて変更することができる。しかし、このような方法を使用すると、その他の開いているウィンドウから焦点が奪い去られる結果となり、これによって、意図せぬ望ましくない結末となるおそれがある。コントロールパネルページを通じて設定を変更することもできるが、このアプローチは、特に、コンピュータ上においてさまざまなタスクを実行する過程で拡大鏡の頻繁で断続的な補助を希望する可能性のあるユーザにとっては、面倒であり、時間がかかる。
本発明の一態様によれば、ユーザ入力デバイス(たとえば、コンピュータマウスやキーボード)上に提供されている指定の拡大ボタンをクリックすることによって、ユーザによってほぼ瞬時にオンとオフを切り替えることができる拡大鏡が提供される。拡大鏡コントロールスイッチは、専用のボタン(またはユーザによって作動できるその他のタイプのスイッチ)、あるいはユーザによって拡大機能に割り当てられたボタンとすることができる。
例示的な一実施形態においては、拡大鏡がスクリーン上に表示されると、ユーザは、拡大ボタンを所定の短時間(たとえば約0.5秒)押し続けて、調整モードに入ることができる。調整モードがアクティブであるということをユーザに示すために、図6に示されているようなグラフィックを、拡大鏡フレームによって境界を示されている拡大レンズエリア内に表示させる(たとえばフェードインさせる)ことができる。調整モードにいる間、ユーザは、レンズの倍率およびサイズを変更することができる。図6に示されているように、スクリーン上に表示されるグラフィックは、拡大鏡の調整を行うための適切なユーザ入力の視覚的な表示(たとえば、マウスの動きおよびスクロールホイールの回転)を提供することができる。しかしユーザは、調整を行うためにそれらのグラフィックスと対話することはしない。拡大レンズ/フレームのサイズを変更するための例示的なスキームについて、以下でその概要を説明する。
拡大鏡がアクティブ化された状態で、拡大鏡フレームの横の寸法に対する変更を下記の方法で行うことができる。ユーザが、拡大機能に割り当てられているマウスボタンを押し下げてそのまま保持して、マウスを所定の方向に所定の距離だけ(たとえば、右に50ピクセル)動かすと、その方向のマウスの動きに対応する度合いだけ拡大鏡フレームのサイズを(たとえば、その右側および左側の一方または双方で)増加させることができる。ユーザが、指定されているマウスボタンを押し下げてそのまま保持して、マウスを第2の所定の方向に所定の距離だけ(たとえば、左に50ピクセル)動かすと、その方向のマウスの動きに対応する度合いだけ拡大鏡フレームのサイズを(たとえば、右側および左側の一方または双方で)減少させることができる。
拡大鏡がアクティブ化された状態で、拡大鏡フレームの縦の寸法に対する変更を同様に行うことができる。ユーザが、指定されているマウスボタンを押し下げてそのまま保持して、マウスを第3の所定の方向に所定の距離だけ(たとえば、下に50ピクセル)動かすと、そのマウスの動きに対応する度合いだけ拡大鏡フレームのサイズが(たとえば、その下側および上側の一方または双方で)増加し始める。ユーザが、指定されているボタンを押し下げてそのまま保持して、マウスを第4の所定の方向に所定の距離だけ(たとえば、上に50ピクセル)動かすと、そのマウスの動きに対応する度合いだけ拡大鏡フレームのサイズが(たとえば、下側およびその上側の一方または双方で)減少し始める。
上述のマウスの動きを組み合わせることによって、拡大鏡フレームのサイズに対する縦および横の変更を同時に行うことができる。拡大鏡が次に起動されたときに、拡大鏡フレーム/レンズが、最後に閉じられた時点の直前のサイズと同じサイズになるように、拡大鏡のサイズ設定を保存することができる。
拡大鏡がアクティブ化された状態で、拡大のレベルを下記の方法で変更することができる。ユーザが、指定されているマウスボタンを押し下げ、そしてそのボタンを押し下げたまま保持している間に、マウスホイールを手前へスクロールすると、拡大レベルは、最小拡大レベル(たとえば、1:1の拡大比率)によって設定されている任意の限度内で減少する。ユーザが、指定されているマウスボタンを押し下げ、そしてそのボタンを押し下げたまま保持している間に、マウスホイールを奥へスクロールすると、拡大レベルは、(最大拡大レベルによって設定されている任意の限度内で)増加する。例示的な一実施形態においては、拡大レベルは、1.5倍、2倍、3倍、4倍、および5倍のレベルへ段階的に調整することができる。
拡大鏡が非アクティブ化された(オフにされた)状態で、指定されているマウスボタンを押し下げてから放すと、拡大鏡がアクティブ化され、スクリーン上に表示される。次いでそのボタンを瞬間的に押し下げると、拡大鏡は、すぐに非アクティブ化される。拡大鏡が非アクティブになっている間に、ユーザが、指定されているボタンを押し下げ、そしてそのボタンを押し下げたまま保持している間に、マウスホイールを手前または奥へスクロールすると、そのスクロールイベントは、焦点を有しているアプリケーションに達する。ユーザが拡大ボタンを放すと、拡大鏡がアクティブ化され、スクリーン上に表示される。
本発明による例示的な拡大鏡は、Microsoft(登録商標)のWindows(登録商標)2000およびXPオペレーティングシステムによって提供されているAPIの一部として利用可能な拡張されたウィンドウスタイルを使用して実装される。詳細には、この拡大鏡は、スクリーンイメージの一部を定期的に取り込み、拡大し、そのウィンドウイメージを更新する単一の層の(WS_EX_LAYERED)、透明な(WS_EX_TRANSPARENT)ウィンドウとして構成することができる。これらの特定のウィンドウ属性によって、このウィンドウは、デスクトップおよび開いているあらゆるアプリケーションウィンドウの上に「浮遊」することができる。これらのスタイルフラグ(style flag)が設定されている状態では、拡大鏡が焦点を得ることはない。その代わりに、マウスからユーザ入力を選択的に得るためにソフトウェア「フック」(software "hooks")が使用され、このフックは、進行中のユーザタスクおよびアプリケーションプロセスを妨げることなく拡大鏡に対する調整を行うために使用される。
上述の主要な実施形態においては、拡大鏡に対する調整を行う目的でマウスおよびスクロールホイールの動きと共に使用される入力ボタンを提供するためにコンピュータマウスが使用されている。しかし、拡大鏡のオンザフライの制御性を提供するために、トラックボールデバイス、コンピュータキーボード、タッチパッド、およびジョイスティックなど、さまざまなその他の公知のユーザ入力デバイスを使用することができるということが理解できるであろう。
本発明の例示的な一実施形態によれば、拡大ボタンを十分に長く押したまま保持して、調整モードに入ると、マウスフック(mouse hook)が設定される。マウスフックは、マウスによって作成された入力を「取り込み」、その入力を、通常は入力を受け取らない拡大鏡ウィンドウへと導く。マウスの入力(マウスの動きおよびスクロールホイールの回転に関する情報)を使用して、設定が調整される。マウスフックが設定されている間は、下にある「焦点を有している」いかなるアプリケーションも、マウスの動きやスクロールホイールの通知を受け取らない。ボタンを放すと、ただちに調整モードが終了し、するとすぐにフックが解除され、それによって、焦点を有しているアプリケーションは、再びマウスの入力を受け取ることができる。焦点を有しているアプリケーションは、決して焦点を失うことはなく、したがって、意図せぬ副次的悪影響はない。記載の例示的な拡大鏡では、設定は、拡大レベル、拡大鏡の横の長さ(単位はピクセル)、および拡大鏡の縦の長さ(単位はピクセル)という3つのレジストリ値として保存される。
Microsoft(登録商標)のWindows(登録商標)オペレーティングシステムと共に使用できる「フック」に関する情報は、たとえば非特許文献5のMSDN(Microsoft Developers Network)で見ることができる。
非特許文献6も参照されたい。
本発明の拡大鏡の例示的な一実施形態を実装するのに適したソフトウェアについては、ウィンドウのプロシージャー、作成、更新タイマ(update timer)、および破棄を実施するMagnifierWindow、ならびにスクリーンイメージの取り込みおよびウィンドウのレンダリングを実施するMagnifierRendererという2つの主要なクラスの点から説明することができる。
MagnifierWindowクラスは、(数ある中でも)WS_EX_LAYEREDスタイルおよびWS_EX_TRANSPARENTスタイルを用いてウィンドウを作成する。MagnifierWindowクラスは、はじめに、最初の拡大鏡サイズおよび拡大レベルを決定し、MagnifierRendererオブジェクトを初期化する。MagnifierWindowクラスはまた、タイマオブジェクトを作成し、タイマによるそれぞれの刻時ごとに、MagnifierRendererオブジェクト上でUpdate(...)メソッドを呼び出して、スクリーン上の拡大鏡のイメージおよび位置を更新する。拡大鏡ウィンドウは、ユーザが拡大鏡マウスボタンを2回目にクリックしたときに閉じて、サイズおよび拡大レベルを保存する。WM_CLOSEメッセージが受け取られたときに、MagnifierWindowオブジェクトに関連付けられているHWNDがリリースされる。ウィンドウが破棄されたときに、WM_QUITがスレッドのメッセージポンプ(message pump)にポストされる。MagnifierWindowには、前述の拡大鏡調整モードを提供することができ、この拡大鏡調整モードには、指定されている拡大鏡マウスボタンを押し下げてそのまま保持することによって入る。以下は、MagnifierWindowクラス内に含めることができる構成要素のメソッドおよびメッセージハンドラ(message handler)を例示的に列挙したものである。
・Constructor:MagnifierWindowウィンドウクラスを登録し、そのインスタンスを作成し、マウスフックdll(mouse hook dll)をロードする。
・Destructor:MagnifierWindowに関連付けられているHWNDがリリースされたかどうかをチェックし、マウスフックを解除する。
・GetHWND:MagnifierWindowクラスのこのインスタンスに関連付けられているHWNDを返す(クライアントは、WM_CLOSEメッセージをこのウィンドウに送って、拡大鏡を閉じることができる)。
・WM_CREATE:最良の拡大鏡サイズ(アクティブ化スクリーンの解像度の割合(percentage of activation screen resolution)、あるいはレジストリの設定から)および拡大レベル(デフォルトでは1.5倍、あるいはレジストリの設定)を決定する。magnifierRendererオブジェクトを初期化し、更新のためのウィンドウタイマ(window timer)を作成する。
・WM_CLOSE:更新タイマを破棄し、レジストリの設定を保存し、DestroyWindowを呼び出す。
・WM_DESTROY:WM_QUITメッセージをスレッドのメッセージポンプにポストする。
・WM_NCDESTROY:クラスメンバー変数(class member variable)を非初期化(uninitialize)する。
・WM_TIMER:スクリーンセーバが実行されている場合には、拡大鏡を閉じ、OSD(on-screen-display)アニメーション(サイズおよび拡大レベルが調整されているときに表示されるオンスクリーンディスプレイグラフィックス(on-screen-display graphics))を更新し、アクティブな場合には、マウスポインタの現在位置を得て、コールMagnifierRenderer::Update(...)を呼び出して拡大鏡のイメージおよび位置を更新する。
・WM_DISPLAYCHANGE:スクリーンの寸法が変更される際に、拡大鏡の寸法を更新する。
・WM_ERASEBKGND:オペレーションなし。このメッセージが受け取られると、コントロールは、最適化としてWindows(登録商標)へすぐに返される。
・WM_MOUSEWHEEL:このメッセージは、マウスフック(アクティブな場合)からのみ受け取られる。拡大レベルを変更する。
・WM_MOUSEMOVE:このメッセージは、マウスフック(アクティブな場合)からのみ受け取られる。拡大鏡ウィンドウ(フレーム)のサイズを変更する。
・On Magnifier ButtonDown:サイズ変更モードに入り、マウスのフックを設定し、OSDのフェードインを初期化する。
・On Magnifier ButtonUp:サイズ変更モードから出て、マウスのフックを解除し、OSDのフェードアウトを初期化し、倍率またはサイズのいずれも変更されなかった場合には、拡大鏡を終了する。
・SetBestWindowSize:所望の横の長さおよび縦の長さが与えられると、最もよく合うように拡大鏡ウィンドウのサイズを設定する。それぞれのウィンドウの縁は、ズームインおよびズームアウトの最中のイメージジッタ(image jitter)を防止するために、現在の倍率の2倍の増加度合いで変化する(すなわち、倍率が1.5倍であるならば、ウィンドウの横の長さは、6ピクセルの増加度合いで変化する)。
・MouseHook:マウスフックを呼び戻し、マウスホイールおよびマウスの動きに関するメッセージを拡大鏡ウィンドウへ転送する。マウスフックは、拡大鏡のサイズおよび倍率を変更している間に下にあるアプリケーションがマウスの入力を受け取ることを防止するために使用される。
(MagnifierRenderer)
MagnifierRendererクラスは、スクリーンの取り込みおよび拡大レンダリングオペレーションを実行する。MagnifierRendererクラスは、ウィンドウハンドルに関連付けられており、ある拡大レベルを与えられている。MagnifierRenderer内に含めることができる構成要素のメソッドを例示的に列挙したものが、以下に示されている。
・Constructor:デフォルトの初期化。
・AttachWindow:MagnifierRendererオブジェクトをウィンドウハンドルに関連付ける。拡大鏡の横の長さおよび縦の長さは、コールの時点での指定されたウィンドウの横の長さおよび縦の長さに等しい。拡大鏡フレームおよびレンズマスク(lens mask)を表すイメージが、この時点で作成される。それらの横の長さおよび縦の長さは、指定されたウィンドウの横の長さおよび縦の長さと一致する。これらの2つのイメージは、レンダリングの最中に迅速に合成を行うために保持される。このメソッドは、ウィンドウのサイズからMagnifierRendererをサイズ変更させるために繰り返し呼び出すことができる。
・SetMagnification:拡大レベルを設定する。このメソッドは、拡大レベルを変更するためにいつでも呼び出すことができる。
・GetMagnification:現在の拡大レベルを返す。
・SetOSDAlpha:拡大鏡を調整するための適切なユーザ入力を示す調整モードのオンスクリーンディスプレイグラフィックの不透明度を設定する。
・GetOSDAlpha:調整モードのオンスクリーンディスプレイグラフィックの不透明度を得る。
・Update:拡大鏡を移動し、更新する。ウィンドウのサイズが変更された場合には、新たなフレームおよびレンズマスクのビットマップを作成する。取り込みビットマップ(capture bitmap)に変化がない場合には、更新は行われず、イメージ更新の多くのサイクルが省略される。
・Capture:現在および前回の2つの取り込みバッファ(capture buffer)が提供される。新たな現在のバッファが取り込まれ、現在のバッファと前回のバッファとが異なるかどうかを示すメッセージが返される。
・Render:現在の取り込みイメージ(capture image)を拡大し、不要なピクセルをマスクしてオフにし、フレームを一番上にコピーする。
・CreateFrameAndMask:現在のウィンドウの横の長さおよび縦の長さと相対的にサイズ設定されたレンズマスク、フレーム、現在の取り込みビットマップ、および前回の取り込みビットマップを作成する。
・GetBitmapSize:SIZE構造内のHBITMAPの横の長さおよび縦の長さを返す。
・GenerateBorder:9つのコンポーネントビットマップを取り込み、それらで対象のビットマップを満たす。
・MaskBitmap:指定されたマスクビットマップを使用して、対象のビットマップ内のピクセルをマスクする。対象のピクセルにマスクアルファ値(mask alpha value)をかける。
・AreBitmapsDifferent:取り込みエリア(capture area)が変化しているかどうかを判定するためにピクセル値どうしを比較することによって、2つのビットマップが異なっているかどうかを返す。取り込みエリアが変化していない場合には、最適化として拡大鏡を更新する必要はない。
・Stretch_1×5:ビットマップを1.5倍に拡大する。
MagnifierRendererの例示的なプロセスおよび機能について、以下で図7〜図10を参照して説明する。
(初期化(Initialization))
図7を参照すると、AttachWindow(...)が、指定されたウィンドウハンドルを保存し、フレームおよびレンズマスクのためのイメージを作成する。このフレームおよびレンズマスクのイメージは、ウィンドウの横の長さおよび縦の長さと一致する。フレームは、9つの別個の要素から構成されている。中央の要素が拡大されて、必要とされているサイズのフレームを作り上げる。これらのイメージ内で陰影の付いているエリアは、透明なピクセルを表しているという点に留意されたい。
次いで図8を参照すると、フレームのイメージが作成された後に、同様にしてレンズマスクのイメージが作成されている。陰影の付いていないエリアによって表されているマスク内の不透明なピクセルは、拡大されたイメージが表示されることになる領域を画定している。これらのイメージ内で陰影の付いていたエリアは、透明なピクセルを表していたという点に留意されたい。
MagnifierRenderer::Update(...)メソッドは、オーナーウィンドウの寸法が変化しているかどうかをチェックし、そうである場合には、フレームおよびレンズマスクのイメージを更新して、新たなサイズと一致させる。クライアントは、AttachWindow(...)を呼び出して、明示的にフレームおよびレンズマスクのイメージを再作成させることができる。
(取り込み(Capture))
図9Aを参照すると、拡大前のイメージを取り込む長方形(source image capture rectangle)が、マウスポインタの現在位置を中心にして配置されている。(拡大領域を画定している)図示されているCapture Rectangleの横の長さは、Magnifier Window Rectangle(拡大鏡フレーム)の横の長さを拡大のレベルで割ったものである。同様に、CaptureRectangleの縦の長さは、MagnifierWindow Rectangleの縦の長さを拡大のレベルで割ったものである。Captureメソッドは、スクリーンイメージをコピーし、その取り込まれたイメージが、前回に取り込まれたイメージと異なっているかどうかを返す。その取り込まれたイメージは、レンダリングの最中に使用するために保存される。
(レンダリング(Render))
図9Bに示されているように、まずは、取り込まれたイメージが、ウィンドウのサイズへ拡大される。次に、その拡大されたイメージが、レンズマスクを用いてマスクされる。次いで、その拡大されたイメージにフレームがはめ込まれる。調整モードに入ると、拡大の調整およびフレームのサイズ変更のためのヒントグラフィックス(magnification adjustment and frame resizing hint graphics)(好ましくは透明なグラフィックイメージが、透明なピクセルを表している)が、フレーム付きのイメージに追加される。このヒントグラフィックスは、調整モードがアクティブである場合にのみ表示される。
(更新(Update))
拡大鏡のイメージおよび位置が変化した場合には、::UpdateLayeredWindow(image&position)への呼び出しが行われる。位置のみが変化した場合には、::UpdateLayeredWindow(position)への呼び出しが行われる。イメージのみが変化した場合には、::UpdateLayeredWindow(image)への呼び出しが行われる。このウィンドウは、Update()機能内で一番上に設定される。
(1.5倍の拡大アルゴリズム(1.5x Stretching Algorithm))
ビットイメージをさまざまな拡大レベルで拡大鏡フレームへ拡大するために、標準的なWindows(登録商標)のAPIを使用することができる。本発明の一実施形態においては、1.5倍というデフォルトの拡大レベルは、スピードを最適化するために、および拡大されたイメージの外観を改善するために別のアルゴリズムを利用する。
図10Aに示されているように、1.5倍に拡大する際、拡大前の2つのピクセルは、拡大後には3つのピクセルになる。拡大前の最初のピクセルは、コピー先の最初のピクセルへコピーされる。拡大前の2番目のピクセルは、コピー先の3番目のピクセルへコピーされる。コピー先の2番目のピクセルは、拡大前の最初の2つのピクセルの平均として設定される。
拡大鏡によって使用される拡大アルゴリズムは、拡大前の第0行、第1行、第2行、第3行、第4行...を、それぞれ図10Bに示されている拡大後の第0行、第2行、第3行、第5行、第6行...へと拡大する。そしてこのアルゴリズムは、はじめに戻って、図10Cに示されているように、対象のピクセルの1つ上の行からのピクセルと1つ下の行からのピクセルとを平均することによって、第1行、第4行、第7行などを埋める。
本発明について、その好ましい例示的な実施形態の点から説明してきた。当業者が本開示を考察すれば、添付の請求項の範囲および趣旨内に収まるその他の多くの実施形態、修正形態、および変形形態が想起されるであろう。請求項において、本明細書に記載されているアルゴリズム変数を表す標示がいかなる形で使用されていても、それは、便宜および明確さを目的としたものであり、いかなる形であれ限定する影響を与えることを意図するものではない。
関連技術の拡大鏡製品のオンスクリーン拡大ウィンドウを示すスクリーンショット図である。 別の関連技術の拡大鏡製品を示すスクリーンショット図である。 関連技術の拡大鏡製品のオンスクリーンツールバーウィンドウ(on-screen tool bar window)を示すスクリーンショット図である。 関連技術のコンピュータマウス製品と共に使用するためのソフトウェアの一部として提供されるコントロールパネルを示す図である。 本発明のスクリーン拡大鏡の実施形態によって実行される一連のオペレーション上の処理ステップを示す流れ図である。 拡大鏡の調整モードの最中に表示されるスーパーインポーズされたヒントグラフィックス(hint graphics)を含む本発明の移動可能かつ調整可能な拡大フレームを示すスクリーンショット図である。 本発明の一態様によるフレームビットマップ作成プロセス(frame bitmap generation process)を表す図である。 本発明の一態様によるマスクビットマップ作成プロセス(mask bitmap generation process)を表す図である。 拡大鏡フレーム(「MagnifierWindow Rectangle」)と、下にある拡大領域(「Capture Rectangle」)との関係を示す、拡大のために選択された具象的なイメージ部分を含む図である。 図9Aに示されているイメージ部分に対応する拡大されたイメージを作成して提示するための本発明のプロセスの段階を示す図(一連のビュー)である。 本発明の一態様による1.5倍の「拡大」アルゴリズム(stretching algorithm)によって実行されるプロセスを示す図である。 本発明の一態様による1.5倍の「拡大」アルゴリズムによって実行されるプロセスを示す図である。 本発明の一態様による1.5倍の「拡大」アルゴリズムによって実行されるプロセスを示す図である。

Claims (23)

  1. ディスプレイスクリーンとユーザ入力デバイスとを有するデータ処理デバイスによって実行されると、前記スクリーン上で開いているウィンドウを含むデスクトップの選択された部分を拡大するためにユーザによってコントロールすることができるディスプレイスクリーン拡大鏡を提供するように前記デバイスを構成する役割を果たす命令を含む機械可読ストレージメディアであって、前記拡大鏡は、拡大されたイメージが内部に提示される移動可能な拡大鏡フレームを提供し、前記イメージは、前記拡大鏡フレームの下にある拡大領域内に位置するスクリーンコンテンツに対応し、一定の拡大レベルまで拡大され、前記拡大鏡は、前記拡大鏡の少なくとも1つのオペレーション上のパラメータを調整するために、ユーザがオンスクリーンオブジェクトと対話することなく、および前記デスクトップや前記スクリーン上で開いているあらゆるウィンドウから焦点を奪い去ることなく、前記入力デバイスの使用を通じてユーザによってコントロールすることができることを特徴とする機械可読ストレージメディア。
  2. 前記拡大鏡は、ユーザがオンスクリーンオブジェクトと対話することなく、および前記デスクトップや前記スクリーン上で開いているあらゆるウィンドウから焦点を奪い去ることなく、前記入力デバイスの使用を通じてアクティブ化および非アクティブ化することができることを特徴とする請求項1に記載の機械可読ストレージメディア。
  3. 前記拡大鏡の前記少なくとも1つのオペレーション上のパラメータは、前記拡大鏡フレームのサイズ寸法を含むことを特徴とする請求項1に記載の機械可読ストレージメディア。
  4. 前記少なくとも1つのオペレーション上のパラメータは、前記拡大鏡の拡大レベルを含むことを特徴とする請求項1に記載の機械可読ストレージメディア。
  5. 前記入力デバイスを使用して前記拡大鏡の調整モードをアクティブ化することができ、前記調整モードがアクティブ化されると、前記少なくとも1つのオペレーション上のパラメータを変更するために前記入力デバイスの入力を前記拡大鏡へ一時的に導くフックが設定されることを特徴とする請求項1に記載の機械可読ストレージメディア。
  6. 前記入力デバイスは、コンピュータポインティングデバイスであり、前記フックは、前記コンピュータポインティングデバイスのフックであることを特徴とする請求項5に記載の機械可読ストレージメディア。
  7. 前記フックは、前記拡大鏡の前記少なくとも1つのオペレーション上のパラメータを変更するために、前記コンピュータポインティングデバイスのポインタの動きに関するデータおよびスクロールホイールの回転に関するデータのうちの少なくとも1つを前記拡大鏡へ導くことを特徴とする請求項6に記載の機械可読ストレージメディア。
  8. 前記フックは、前記ポインタの動きに関するデータを前記拡大鏡へ導き、前記ポインタの動きに関するデータは、前記拡大鏡フレームのサイズ寸法を調整するために使用されることを特徴とする請求項7に記載の機械可読ストレージメディア。
  9. 前記フックは、前記スクロールホイールの回転に関するデータを前記拡大鏡へ導き、前記スクロールホイールの回転に関するデータは、前記拡大鏡フレームの拡大レベルを調整するために使用されることを特徴とする請求項7に記載の機械可読ストレージメディア。
  10. 前記入力デバイスは、ポインティングデバイスを含み、前記拡大鏡フレームの位置および動きは、前記ポインティングデバイスのオンスクリーンカーソルの位置および動きに対応することを特徴とする請求項1に記載の機械可読ストレージメディア。
  11. 前記拡大されたイメージは、前記拡大鏡がアクティブになっている間に生じる下にあるスクリーンコンテンツ内の変更を反映するために動的に更新されることを特徴とする請求項1に記載の機械可読ストレージメディア。
  12. 前記拡大鏡は、前記ユーザ入力デバイスのスイッチを作動させるとアクティブ化され、前記スイッチを所定の時間だけ作動させ続けると調整モードに入ることを特徴とする請求項2に記載の機械可読ストレージメディア。
  13. 前記拡大鏡が前記調整モードにあるときに、前記拡大鏡は、前記調整モードがアクティブである旨のオンスクリーンの視覚的なインジケータを提示することを特徴とする請求項12に記載の機械可読ストレージメディア。
  14. 前記視覚的なインジケータは、前記拡大鏡の前記少なくとも1つのオペレーション上のパラメータの調整を行うための適切なユーザ入力の表示を提供することを特徴とする請求項13に記載の機械可読ストレージメディア。
  15. 前記視覚的なインジケータは、前記拡大鏡フレームの少なくとも1つのサイズ寸法の調整を行うための適切なユーザ入力の表示を提供することを特徴とする請求項14に記載の機械可読ストレージメディア。
  16. 前記視覚的なインジケータは、前記拡大鏡の拡大比率の調整を行うための適切なユーザ入力の表示を提供することを特徴とする請求項13に記載の機械可読ストレージメディア。
  17. 前記ディスプレイスクリーン拡大鏡は、オペレーティングシステムのアプリケーションプログラミングインターフェースのウィンドウスタイルと、前記ウィンドウスタイルに関連付けられている第2段階スクリーンコンテンツ合成エンジンとによって構成されていることを特徴とする請求項1に記載の機械可読ストレージメディア。
  18. ディスプレイスクリーンとユーザ入力デバイスとを有するデータ処理デバイスであって、前記デバイスは、前記スクリーン上で開いているウィンドウを含むデスクトップの選択された部分を拡大するためにユーザによってコントロールすることができるディスプレイスクリーン拡大鏡を提供するように構成されており、前記拡大鏡は、拡大されたイメージが内部に提示される移動可能な拡大鏡フレームを提供し、前記イメージは、前記拡大鏡フレームの下にある拡大領域内に位置するスクリーンコンテンツに対応し、一定の拡大レベルまで拡大され、前記拡大鏡は、前記拡大鏡の少なくとも1つのオペレーション上のパラメータを調整するために、ユーザがオンスクリーンオブジェクトと対話することなく、および前記デスクトップや前記スクリーン上で開いているあらゆるウィンドウから焦点を奪い去ることなく、前記入力デバイスの使用を通じてユーザによってコントロールすることができることを特徴とするデータ処理デバイス。
  19. 前記拡大鏡は、ユーザがオンスクリーンオブジェクトと対話することなく、および前記デスクトップや前記スクリーン上で開いているあらゆるウィンドウから焦点を奪い去ることなく、前記入力デバイスの使用を通じてアクティブ化および非アクティブ化することができることを特徴とする請求項18に記載のデータ処理デバイス。
  20. 前記ディスプレイスクリーン拡大鏡は、オペレーティングシステムのアプリケーションプログラミングインターフェースのウィンドウスタイルと、前記ウィンドウスタイルに関連付けられている第2段階スクリーンコンテンツ合成エンジンとによって構成されていることを特徴とする請求項18に記載のデータ処理デバイス。
  21. ディスプレイスクリーンとユーザ入力デバイスとを有するデータ処理デバイスを、前記スクリーン上で開いているウィンドウを含むデスクトップの選択された部分を拡大するためにユーザによってコントロールすることができるディスプレイスクリーン拡大鏡を提供するように構成する方法であって、前記拡大鏡は、拡大されたイメージが内部に提示される移動可能な拡大鏡フレームを提供し、前記イメージは、前記拡大鏡フレームの下にある拡大領域内に位置するスクリーンコンテンツに対応し、一定の拡大レベルまで拡大され、前記拡大鏡は、前記拡大鏡の少なくとも1つのオペレーション上のパラメータを調整するために、ユーザがオンスクリーンオブジェクトと対話することなく、および前記デスクトップや前記スクリーン上で開いているあらゆるウィンドウから焦点を奪い去ることなく、前記入力デバイスの使用を通じてユーザによってコントロールすることができることを特徴とする方法。
  22. 前記拡大鏡は、ユーザがオンスクリーンオブジェクトと対話することなく、および前記デスクトップや前記スクリーン上で開いているあらゆるウィンドウから焦点を奪い去ることなく、前記入力デバイスの使用を通じてアクティブ化および非アクティブ化することができることを特徴とする請求項21に記載の方法。
  23. 前記ディスプレイスクリーン拡大鏡は、オペレーティングシステムのアプリケーションプログラミングインターフェースのウィンドウスタイルと、前記ウィンドウスタイルに関連付けられている第2段階スクリーンコンテンツ合成エンジンとによって構成されていることを特徴とする請求項21に記載の方法。
JP2008525165A 2005-08-04 2006-08-02 オンザフライのコントロール機能を有する仮想拡大鏡 Expired - Fee Related JP5130215B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/196,511 US7694234B2 (en) 2005-08-04 2005-08-04 Virtual magnifying glass with on-the fly control functionalities
US11/196,511 2005-08-04
PCT/US2006/030151 WO2007019193A2 (en) 2005-08-04 2006-08-02 Virtual magnifying glass with on-the-fly control functionalities

Publications (2)

Publication Number Publication Date
JP2009503742A true JP2009503742A (ja) 2009-01-29
JP5130215B2 JP5130215B2 (ja) 2013-01-30

Family

ID=37718976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008525165A Expired - Fee Related JP5130215B2 (ja) 2005-08-04 2006-08-02 オンザフライのコントロール機能を有する仮想拡大鏡

Country Status (12)

Country Link
US (2) US7694234B2 (ja)
EP (1) EP1910917A2 (ja)
JP (1) JP5130215B2 (ja)
KR (1) KR20080040696A (ja)
CN (1) CN101238430B (ja)
BR (1) BRPI0614901A2 (ja)
CA (1) CA2617318A1 (ja)
MX (1) MX2008001616A (ja)
NO (1) NO20080374L (ja)
RU (1) RU2409856C2 (ja)
TW (2) TW200719245A (ja)
WO (1) WO2007019193A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014115968A (ja) * 2012-12-10 2014-06-26 Hotoku Technology Co Ltd 入力装置及びその入力装置により表示画面の拡大を実行する方法
JP2018190469A (ja) * 2018-08-22 2018-11-29 キヤノン株式会社 画像形成装置、コンピュータプログラムおよび記録媒体

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760187B2 (en) * 2004-07-30 2010-07-20 Apple Inc. Visual expander
US20030084087A1 (en) * 2001-10-31 2003-05-01 Microsoft Corporation Computer system with physical presence detector to optimize computer task scheduling
US7694234B2 (en) * 2005-08-04 2010-04-06 Microsoft Corporation Virtual magnifying glass with on-the fly control functionalities
US7949955B2 (en) * 2005-08-04 2011-05-24 Microsoft Corporation Virtual magnifying glass system architecture
US7900158B2 (en) 2005-08-04 2011-03-01 Microsoft Corporation Virtual magnifying glass with intuitive use enhancements
US8108785B2 (en) * 2006-01-09 2012-01-31 Microsoft Corporation Supporting user multi-tasking with clipping lists
US8312372B2 (en) * 2006-02-10 2012-11-13 Microsoft Corporation Method for confirming touch input
US7991225B2 (en) * 2006-03-03 2011-08-02 University Of Alaska Methods and systems for dynamic color equalization
US20070268317A1 (en) * 2006-05-18 2007-11-22 Dan Banay User interface system and method for selectively displaying a portion of a display screen
US7856605B2 (en) * 2006-10-26 2010-12-21 Apple Inc. Method, system, and graphical user interface for positioning an insertion marker in a touch screen display
US8570278B2 (en) * 2006-10-26 2013-10-29 Apple Inc. Portable multifunction device, method, and graphical user interface for adjusting an insertion point marker
EP2095215A2 (fr) * 2006-12-20 2009-09-02 France Telecom Systeme de selection d'elements affiches sur un ecran
US20090027421A1 (en) * 2007-07-27 2009-01-29 Franklin Servan-Schreiber Computer system with a zooming capability and method
JP2009112356A (ja) * 2007-11-02 2009-05-28 Ge Medical Systems Global Technology Co Llc 超音波診断装置
US8201109B2 (en) 2008-03-04 2012-06-12 Apple Inc. Methods and graphical user interfaces for editing on a portable multifunction device
US8650507B2 (en) * 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US20090241059A1 (en) * 2008-03-20 2009-09-24 Scott David Moore Event driven smooth panning in a computer accessibility application
US20090254853A1 (en) * 2008-04-03 2009-10-08 Donald Jacob Method of viewing a single document in multiple scaled views
JP4661909B2 (ja) * 2008-06-04 2011-03-30 富士ゼロックス株式会社 情報表示装置及びプログラム
JP2010044628A (ja) * 2008-08-13 2010-02-25 Access Co Ltd コンテンツ表示倍率変更方法、およびコンテンツ表示倍率変更プログラム
US20100077304A1 (en) * 2008-09-19 2010-03-25 Microsoft Corporation Virtual Magnification with Interactive Panning
US8887061B2 (en) * 2008-09-26 2014-11-11 Microsoft Corporation Variable screen magnifier user interface
EP2175349A1 (en) 2008-10-08 2010-04-14 Research in Motion Limited Method and system for displaying an image on a handheld electronic communication device
JP5470861B2 (ja) * 2009-01-09 2014-04-16 ソニー株式会社 表示装置及び表示方法
US8255830B2 (en) * 2009-03-16 2012-08-28 Apple Inc. Methods and graphical user interfaces for editing on a multifunction device with a touch screen display
US20100287493A1 (en) * 2009-05-06 2010-11-11 Cadence Design Systems, Inc. Method and system for viewing and editing an image in a magnified view
WO2011090467A1 (en) * 2009-12-28 2011-07-28 Hillcrest Laboratories Inc. Tv internet browser
US20110173564A1 (en) * 2010-01-13 2011-07-14 Microsoft Corporation Extending view functionality of application
US20110197156A1 (en) * 2010-02-09 2011-08-11 Dynavox Systems, Llc System and method of providing an interactive zoom frame interface
US9804727B2 (en) 2010-03-09 2017-10-31 Freedom Scientific, Inc. Flexible display of visual content on multiple display devices
CN102214060A (zh) * 2010-04-12 2011-10-12 宏碁股份有限公司 触控式电子装置及其窗口操控方法
US20110261081A1 (en) * 2010-04-23 2011-10-27 Weinblatt Lee S Testing of Internet Ads
US8856682B2 (en) * 2010-05-11 2014-10-07 AI Squared Displaying a user interface in a dedicated display area
US9401099B2 (en) 2010-05-11 2016-07-26 AI Squared Dedicated on-screen closed caption display
CN102279772B (zh) * 2010-06-11 2014-10-15 宏达国际电子股份有限公司 软件对象的动态互动方法与电子装置
US8473861B2 (en) * 2010-06-17 2013-06-25 Freedom Scientific, Inc. System wide text viewer
US8296359B2 (en) 2010-07-12 2012-10-23 Opus Medicus, Inc. Systems and methods for networked, in-context, high resolution image viewing
US8667054B2 (en) 2010-07-12 2014-03-04 Opus Medicus, Inc. Systems and methods for networked, in-context, composed, high resolution image viewing
WO2012009428A2 (en) * 2010-07-13 2012-01-19 Tracer Imaging Llc Automated lenticular photographic system
US9024977B2 (en) 2010-08-02 2015-05-05 International Business Machines Corporation Resizing objects in regions of virtual universes
US8522158B2 (en) 2010-10-19 2013-08-27 Apple Inc. Systems, methods, and computer-readable media for providing a dynamic loupe for displayed information
US20120124514A1 (en) * 2010-11-11 2012-05-17 Microsoft Corporation Presentation focus and tagging
KR101175481B1 (ko) * 2010-11-18 2012-08-20 삼성메디슨 주식회사 확대 영상을 제공하는 초음파 시스템 및 방법
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
WO2012083563A1 (zh) * 2010-12-24 2012-06-28 天津九安医疗电子股份有限公司 一种血压测量系统
EP2661662A4 (en) 2011-01-03 2017-06-21 Freedom Scientific, Inc. View locking multi-monitor screen magnifier
DE202011001805U1 (de) 2011-01-22 2011-04-28 Jakob, Gerhard Vergrößerungsglas mit Klemmhalter für mobile Navigationsgeräte
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US8677232B2 (en) 2011-05-31 2014-03-18 Apple Inc. Devices, methods, and graphical user interfaces for document manipulation
WO2013009413A1 (en) * 2011-06-06 2013-01-17 Intellitact Llc Relative touch user interface enhancements
CN102393952A (zh) * 2011-07-01 2012-03-28 深圳市斯尔顿科技有限公司 一种图像放大测量方法及装置
KR101834987B1 (ko) * 2011-08-08 2018-03-06 삼성전자주식회사 휴대용 단말기에서 화면 캡쳐를 위한 장치 및 방법
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
CN102521020B (zh) * 2011-10-26 2014-05-21 华为终端有限公司 用于移动终端的应用屏幕截图方法和装置
US9678647B2 (en) * 2012-02-28 2017-06-13 Oracle International Corporation Tooltip feedback for zoom using scroll wheel
EP2850610B1 (en) * 2012-05-18 2020-11-04 BlackBerry Limited Systems and methods to manage zooming
CN103455234A (zh) * 2012-06-01 2013-12-18 腾讯科技(深圳)有限公司 显示应用程序界面的方法及装置
RU2509377C2 (ru) * 2012-06-05 2014-03-10 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ и система и для просмотра изображения на устройстве отображения
DE202012011321U1 (de) 2012-06-21 2013-02-19 Gerhard Jacob Alarmanlage gegen Taschendiebe
JP6035931B2 (ja) * 2012-07-13 2016-11-30 ソニー株式会社 情報処理装置、情報処理方法、および情報処理プログラム
US9430456B2 (en) * 2012-08-10 2016-08-30 Transaxy Inc. System for entering data into a data processing system
JP2014038560A (ja) * 2012-08-20 2014-02-27 Canon Inc 情報処理装置、情報処理方法及びプログラム
KR101416749B1 (ko) * 2012-12-13 2014-07-08 주식회사 케이티 Tv 재생 장치 및 방법
CN103885575B (zh) * 2012-12-19 2017-04-12 宝德科技股份有限公司 输入装置及以输入装置执行显示画面放大的方法
AU350153S (en) * 2013-01-09 2013-08-13 Samsung Electronics Co Ltd Display screen for an electronic device
CN105164628B (zh) * 2013-03-14 2018-11-16 华为技术有限公司 移动设备的透镜触摸图形效果
JP6131072B2 (ja) * 2013-03-14 2017-05-17 シャープ株式会社 表示制御装置
DE202013004567U1 (de) 2013-05-16 2013-07-05 Gerhard Jacob Alarmanlage mit Smartphone, durch App und Empfänger gegen Taschendiebe
JP6606749B2 (ja) * 2013-08-09 2019-11-20 武蔵エンジニアリング株式会社 焦点調節方法およびその装置
US10108317B2 (en) * 2013-10-14 2018-10-23 Schneider Electric Software, Llc Configuring process simulation data for semantic zooming
CN104731492B (zh) * 2013-12-19 2018-07-24 鸿合科技股份有限公司 一种魔术笔及其显示控制方法
CN104731396B (zh) * 2013-12-19 2018-03-02 鸿合科技有限公司 一种魔术笔及其显示控制方法
KR20150105140A (ko) * 2014-03-07 2015-09-16 삼성전자주식회사 휴대 단말기 및 컨텐츠 확대 표시 방법
CN103942001B (zh) * 2014-05-12 2017-02-15 上海卓悠网络科技有限公司 一种移动终端的自由截屏方法和移动终端
US9658713B2 (en) * 2014-09-22 2017-05-23 Intel Corporation Systems, methods, and applications for dynamic input mode selection based on whether an identified operating system includes an application program interface associated with the input mode
TWI583971B (zh) * 2015-01-16 2017-05-21 旺矽科技股份有限公司 檢測設備之操作方法
KR101586321B1 (ko) 2015-03-11 2016-01-19 엘지전자 주식회사 디스플레이 디바이스 및 그 제어 방법
US20160334974A1 (en) * 2015-05-14 2016-11-17 Gilad GRAY Generating graphical representations of data using multiple rendering conventions
US10275436B2 (en) * 2015-06-01 2019-04-30 Apple Inc. Zoom enhancements to facilitate the use of touch screen devices
CN106604146A (zh) * 2015-10-20 2017-04-26 中兴通讯股份有限公司 机顶盒显示界面放大的方法和装置
JP7006184B2 (ja) * 2017-11-27 2022-01-24 富士通株式会社 制御プログラム、制御方法および制御装置
US11157130B2 (en) * 2018-02-26 2021-10-26 Adobe Inc. Cursor-based resizing for copied image portions
USD871432S1 (en) 2018-04-12 2019-12-31 Reliance Worldwide Corporation Display screen or portion thereof with graphical user interface
USD857053S1 (en) 2018-04-12 2019-08-20 Reliance Worldwide Corporation Display screen or portion thereof with animated graphical user interface
USD871431S1 (en) 2018-04-12 2019-12-31 Reliance Worldwide Corporation Display screen or portion thereof with graphical user interface
USD875777S1 (en) 2018-05-25 2020-02-18 Apple Inc. Electronic device with animated graphical user interface
CN110874172B (zh) * 2018-08-31 2022-09-30 北京京东尚科信息技术有限公司 放大app界面的方法、装置、介质及电子设备
USD910709S1 (en) 2018-10-26 2021-02-16 Reliance Worldwide Corporation Display screen or portion thereof with graphical user interface
CN110032326A (zh) * 2019-03-29 2019-07-19 网易(杭州)网络有限公司 移动终端显示画面的控制方法、装置、设备和存储介质
CN110096324B (zh) * 2019-04-22 2022-11-25 四川易简天下科技股份有限公司 一种基于windows系统的自动过滤自身窗口的高效抓屏方法
US11379113B2 (en) 2019-06-01 2022-07-05 Apple Inc. Techniques for selecting text
US11908340B2 (en) * 2019-07-24 2024-02-20 Arris Enterprises Llc Magnification enhancement of video for visually impaired viewers
AU2020344517A1 (en) * 2019-09-09 2022-03-24 PAIGE.AI, Inc. Systems and methods for processing images of slides for digital pathology
WO2023060414A1 (en) * 2021-10-12 2023-04-20 Citrix Systems, Inc. Adjustable magnifier for virtual desktop

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04142661A (ja) * 1990-10-04 1992-05-15 Toshiba Corp 情報処理装置
JP2000221874A (ja) * 1999-01-29 2000-08-11 Hitachi Eng Co Ltd 地図表示装置
US6128006A (en) * 1998-03-26 2000-10-03 Immersion Corporation Force feedback mouse wheel and other control wheels
JP2003050653A (ja) * 2001-07-18 2003-02-21 Internatl Business Mach Corp <Ibm> 入力イベントの発生方法及びその方法を備える情報端末
US6590583B2 (en) * 1996-05-14 2003-07-08 Planetweb, Inc. Method for context-preserving magnification of digital image regions
JP2003287424A (ja) * 2002-03-28 2003-10-10 Mitsubishi Electric Corp ナビゲーション装置および地図情報表示方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03292524A (ja) 1990-04-11 1991-12-24 Oki Electric Ind Co Ltd カーソル移動方式
US5375199A (en) 1991-06-04 1994-12-20 Digital Equipment Corporation System monitoring method and device including a graphical user interface to view and manipulate system information
JP3597543B2 (ja) 1992-10-16 2004-12-08 富士写真フイルム株式会社 カーソル制御方法および装置
EP0605945B1 (en) 1992-12-15 1997-12-29 Sun Microsystems, Inc. Method and apparatus for presenting information in a display system using transparent windows
CA2140164A1 (en) 1994-01-27 1995-07-28 Kenneth R. Robertson System and method for computer cursor control
US5808604A (en) 1994-03-10 1998-09-15 Microsoft Corporation Apparatus and method for automatically positioning a cursor on a control
JP2776246B2 (ja) 1994-05-31 1998-07-16 日本電気株式会社 マウスカーソル追従型拡大表示の移動装置
JP3890621B2 (ja) 1995-04-21 2007-03-07 ソニー株式会社 画像表示装置及び方法
US5808601A (en) 1995-09-12 1998-09-15 International Business Machines Corporation Interactive object selection pointer method and apparatus
US7197718B1 (en) * 1999-10-18 2007-03-27 Sharp Laboratories Of America, Inc. Interactive virtual area browser for selecting and rescaling graphical representations of displayed data
JP3345600B2 (ja) * 2000-04-10 2002-11-18 コナミ株式会社 ゲームシステムおよびコンピュータ読取可能な記憶媒体
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
US6704034B1 (en) 2000-09-28 2004-03-09 International Business Machines Corporation Method and apparatus for providing accessibility through a context sensitive magnifying glass
US8117565B2 (en) 2001-10-18 2012-02-14 Viaclix, Inc. Digital image magnification for internet appliance
CA2370751A1 (en) 2002-02-05 2003-08-05 Garth B.D. Shoemaker Fast and accurate rendering of pliable display technology distortions using pre-calculated texel coverages
US20030210262A1 (en) 2002-05-10 2003-11-13 Tripath Imaging, Inc. Video microscopy system and multi-view virtual slide viewer capable of simultaneously acquiring and displaying various digital views of an area of interest located on a microscopic slide
US7009600B2 (en) 2002-09-19 2006-03-07 International Business Machines Corporation Data processing system display screen including an image alteration area
JP4266158B2 (ja) * 2003-11-28 2009-05-20 株式会社東芝 情報処理装置および表示制御方法
US7429993B2 (en) * 2004-09-17 2008-09-30 Microsoft Corporation Method and system for presenting functionally-transparent, unobtrusive on-screen windows
US7900158B2 (en) 2005-08-04 2011-03-01 Microsoft Corporation Virtual magnifying glass with intuitive use enhancements
US7949955B2 (en) 2005-08-04 2011-05-24 Microsoft Corporation Virtual magnifying glass system architecture
US7694234B2 (en) * 2005-08-04 2010-04-06 Microsoft Corporation Virtual magnifying glass with on-the fly control functionalities

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04142661A (ja) * 1990-10-04 1992-05-15 Toshiba Corp 情報処理装置
US6590583B2 (en) * 1996-05-14 2003-07-08 Planetweb, Inc. Method for context-preserving magnification of digital image regions
US6128006A (en) * 1998-03-26 2000-10-03 Immersion Corporation Force feedback mouse wheel and other control wheels
JP2000221874A (ja) * 1999-01-29 2000-08-11 Hitachi Eng Co Ltd 地図表示装置
JP2003050653A (ja) * 2001-07-18 2003-02-21 Internatl Business Mach Corp <Ibm> 入力イベントの発生方法及びその方法を備える情報端末
JP2003287424A (ja) * 2002-03-28 2003-10-10 Mitsubishi Electric Corp ナビゲーション装置および地図情報表示方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014115968A (ja) * 2012-12-10 2014-06-26 Hotoku Technology Co Ltd 入力装置及びその入力装置により表示画面の拡大を実行する方法
JP2018190469A (ja) * 2018-08-22 2018-11-29 キヤノン株式会社 画像形成装置、コンピュータプログラムおよび記録媒体

Also Published As

Publication number Publication date
TW200719245A (en) 2007-05-16
CN101238430B (zh) 2010-06-16
CA2617318A1 (en) 2007-02-15
RU2409856C2 (ru) 2011-01-20
CN101238430A (zh) 2008-08-06
JP5130215B2 (ja) 2013-01-30
WO2007019193A3 (en) 2008-01-03
NO20080374L (no) 2008-02-27
WO2007019193A2 (en) 2007-02-15
TW201337784A (zh) 2013-09-16
US20100235736A1 (en) 2010-09-16
BRPI0614901A2 (pt) 2011-04-19
US7694234B2 (en) 2010-04-06
KR20080040696A (ko) 2008-05-08
US20070033544A1 (en) 2007-02-08
MX2008001616A (es) 2008-02-19
RU2008104025A (ru) 2009-08-10
EP1910917A2 (en) 2008-04-16

Similar Documents

Publication Publication Date Title
JP5130215B2 (ja) オンザフライのコントロール機能を有する仮想拡大鏡
US7949955B2 (en) Virtual magnifying glass system architecture
US7900158B2 (en) Virtual magnifying glass with intuitive use enhancements
US20210333979A1 (en) Devices, Methods, and Graphical User Interfaces for System-Wide Behavior for 3D Models
JP2759700B2 (ja) イメージ・エディタを作動する方法
US5815151A (en) Graphical user interface
US7274377B2 (en) Viewport panning feedback system
JP2009537903A (ja) 表示画面の一部分を選択表示するためのユーザーインターフェースシステムと方法
US8205169B1 (en) Multiple editor user interface
JP2004078693A (ja) 視野移動操作方法
JPS6232527A (ja) 表示画面制御方式
KR19990087910A (ko) 관련되지않은윈도들간의연합상호작용
US7701471B1 (en) Methods and apparatus to display a viewing region
US7212210B2 (en) Method and apparatus for enlarging an output display on a display
KR102397481B1 (ko) 3d 모델들에 대한 시스템 전체 거동을 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들
Agarwal et al. WidgetLens: A system for adaptive content magnification of widgets

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

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: 20121019

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees