JP2017151563A - 情報処理装置およびその制御方法、並びにプログラム - Google Patents

情報処理装置およびその制御方法、並びにプログラム Download PDF

Info

Publication number
JP2017151563A
JP2017151563A JP2016031461A JP2016031461A JP2017151563A JP 2017151563 A JP2017151563 A JP 2017151563A JP 2016031461 A JP2016031461 A JP 2016031461A JP 2016031461 A JP2016031461 A JP 2016031461A JP 2017151563 A JP2017151563 A JP 2017151563A
Authority
JP
Japan
Prior art keywords
application
resolution
event
unit
information
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
JP2016031461A
Other languages
English (en)
Other versions
JP6745604B2 (ja
Inventor
史朗 九里
Shiro Kuri
史朗 九里
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2016031461A priority Critical patent/JP6745604B2/ja
Priority to US15/419,140 priority patent/US10283090B2/en
Publication of JP2017151563A publication Critical patent/JP2017151563A/ja
Priority to US16/360,721 priority patent/US10388257B2/en
Application granted granted Critical
Publication of JP6745604B2 publication Critical patent/JP6745604B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • 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
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/005Adapting incoming signals to the display format of the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00352Input means
    • H04N1/00392Other manual input means, e.g. digitisers or writing tablets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00501Tailoring a user interface [UI] to specific requirements
    • H04N1/00503Customising to a particular machine or model, machine function or application

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】異なるイベントを必要とする複数のグラフィックコントローラが共存する情報処理装置において、異なる解像度の操作部を接続すると、特定の解像度の操作部では特定のグラフィックコントローラ上で動作するアプリが正常に動作しない場合がある。
【解決手段】複数のグラフィックコントローラを備える情報処理装置であって、表示部に対するユーザ操作により発生したイベントを検知する検知手段と、前記イベントを検知した際に、前記表示部に画面を表示しているアプリケーションが、前記複数のグラフィックコントローラのいずれを用いるアプリケーションであるかを判定する判定手段と、前記表示部の解像度と、前記判定手段にて判定されたアプリケーションの情報とに基づき、前記イベントが示す前記ユーザ操作の座標情報を、当該アプリケーションが用いるグラフィックコントローラに対応した座標系の値に変換して送信する送信手段とを有する。
【選択図】 図3

Description

本発明は、情報処理装置およびその制御方法、並びにプログラムに関する。
情報処理装置の操作部に表示されている対象物を選択する場合、対象物を指でタッチすることで選択可能なタッチパネルが普及している。このようなタッチパネルは、それぞれ決められた解像度を備えており、状況に応じて1つのデバイスに異なる解像度のタッチパネルを接続して利用することも可能である。
タッチパネルの解像度により、同じ対象物を表示する場合も見え方が異なる。例えば、解像度の低いタッチパネルでタッチパネル全面に表示されていた対象物も、解像度の高いタッチパネルではタッチパネルの一部の領域のみに表示される。そのため、解像度の高いタッチパネルを接続すると、何も表示されていない領域ができるという問題もある。このような問題を解決するために、タッチパネルの解像度や検知領域に応じて、表示や検知する座標を一律に拡大・縮小する方法が知られている(例えば、特許文献1)。別の方法として、解像度の高いタッチパネルに、解像度の低いタッチパネルに表示されている対象物をそのまま表示し、空いている領域に別の対象物を表示する方法もある。
タッチパネルでユーザが対象物をタッチすると、情報処理装置の内部処理としては、タッチしたことを表すイベント情報を生成し、このイベント情報を元にグラフィックコントローラが処理を行うことで、対象物を選択する。グラフィックコントローラには様々な種類があり、その種類に応じて対象物を選択するために必要なイベント情報は異なる。
特許5713180号公報
タッチパネルを備える情報処理装置において、複数のアプリケーション(以下、アプリ)が動作しており、アプリの実装言語毎に異なるグラフィックコントローラが存在する。このとき、グラフィックコントローラによって、必要とするイベント情報の内容に差が生じる場合がある。例えば、イベント情報に含まれる、タッチパネル上にてユーザが操作した位置情報が挙げられる。グラフィックコントローラには、タッチパネルが検知したユーザ操作の位置情報をそのまま用いるものの他、その他の表示されているオブジェクトとの関係に応じて異なる位置情報(座標系)に変換する必要があるものが存在する。グラフィックコントローラが必要とするイベント情報が適切に渡されない場合、アプリが正常に動作しなくなるという課題がある。
上記課題を解決するために、本願発明は以下の構成を有する。すなわち、表示部と、複数のグラフィックコントローラとを備える情報処理装置であって、前記表示部に対するユーザ操作により発生したイベントを検知する検知手段と、前記検知手段にてイベントを検知した際に、前記表示部に画面を表示しているアプリケーションが、前記複数のグラフィックコントローラのいずれを用いるアプリケーションであるかを判定する判定手段と、前記表示部の解像度と、前記判定手段にて判定されたアプリケーションの情報とに基づき、前記イベントが示す前記ユーザ操作の座標情報を、当該アプリケーションが用いるグラフィックコントローラに対応した座標系の値に変換して当該アプリケーションに送信する送信手段とを有する。
本発明により、異なるイベント情報で動作する複数のグラフィックコントローラが動作している場合において、アプリがいずれのグラフィックコントローラを用いる場合であっても、そのアプリに正しい動作を行わせることが可能となる。
本願発明に係る画像形成装置のコントローラユニットを表す図。 本願発明に係る画像形成装置の操作部および周辺の構成例を示す図。 本願発明に係るソフトウェアのモジュール構成の例を示す図。 画像形成装置の操作部に表示される一画面例を示す図。 描画コントローラ管理テーブルの構成例を示す図。 画像形成装置の操作部に表示される一画面例を示す図。 本願発明に係るユーザ操作に応じたイベント制御の処理を表すフローチャート。 画像形成装置の操作部に表示される一画面例を示す図。 画像形成装置の操作部に表示される一画面例を示す図。
以下、本発明を実施するための形態について、図面を用いて説明する。
<第1の実施形態>
情報処理装置の一実施形態である画像形成装置を用いて、本実施形態の説明を行う。
[ハードウェア構成]
(画像形成装置のコントローラユニット)
図1は、本実施形態に係る画像形成装置100のコントローラユニットの内部構造の例を示す。コントローラユニット120は、各種制御プログラムを実行するCPU101を有する。CPU101は、ROM103に格納されているブートプログラムに基づきシステムを起動させる。そして、CPU101は、HDD(ハードディスク装置)104に格納されている制御プログラムを読み出し、RAM102をワークエリアとして所定の処理を実行する。この制御プログラムにより、CPU101は、Javaプログラムなどの所定の制御を実行することが可能である。HDD104は、不揮発性の記憶領域であり、各種制御プログラムが格納されるとともに、画像データやネットワーク部107が有するすべての通信手段に関する情報を格納する。
CPU101には、RAM102、ROM103、およびHDD104がシステムバス111を介して接続される。さらに、CPU101には、操作部I/F105、ネットワーク部107、イメージバスI/F109、および電源管理部110がシステムバス111を介して接続される。
操作部I/F105は、操作部(ディスプレイ)106との間のインターフェイス部であり、操作部106に表示する画像データをRAM102から取得して転送する処理や、操作部106で発生した信号をCPU101へ転送する処理などを行う。
操作部106は、ユーザが操作可能なボタンなどの対象物を表示するための表示処理と、表示処理に表示された情報をユーザが操作した信号(入力信号)を検知する入力処理を行う。つまり、操作部106は、ユーザインタフェースとして機能し、表示部としての出力機能も備える。
電源管理部110は、画像形成装置100の電源のOFF/ONの管理を行う。なお電源ONを検知した場合、CPU101は、ROM103のブートプログラムに基づきシステムを起動し、HDD104に格納されている制御プログラムを実行する。
ネットワーク部107は、LAN108に接続され、LAN108を介した情報の入出力を行う。LAN108にWebサーバ(不図示)や外部装置400が接続されている場合、画像形成装置100は、その外部装置からLAN108を介して情報を取得することが可能である。また、画像形成装置100は、LAN108内のプロキシサーバ(不図示)などを介して、インターネット(不図示)に接続し、インターネット上のWebサーバからWebコンテンツを取得することも可能である。
イメージバスI/F109は、システムバス111と画像バス112とを接続し、データ構造を変換するバスブリッジである。画像バス112は、画像データを高速で転送可能なPCIバスまたはIEEE1394規定に従うバスから構成される。画像バス112には、RIP(Raster Image Processor)113、デバイスI/F114、および画像処理部119が接続される。
RIP113は、PDLコードをビットマップイメージに展開する。デバイスI/F114は、画像入出力デバイスであるスキャナ116やプリンタ118と、コントローラユニット120とを接続し、画像データの同期系/非同期系の変換を行う。ここでは、デバイスI/F114とスキャナ116とがケーブル115を介して接続され、また、デバイスI/F114とプリンタ118とがケーブル117を介して接続される。
画像処理部119は、多値画像データに対してJPEG、二値画像データに対して、JBEG、MMR、MHなどの圧縮伸張処理を行う。また、入力画像データや出力画面に対して、プリンタの補正や解像度変換などの補正、加工、編集を行う。
このように、コントローラユニット120のCPU101は、各制御プログラムに基づき、システムバス111に接続される各種デバイスとのアクセスを総括的に制御すると共に、デバイスI/F114を介してスキャナ116から画像情報を読み込む。また、CPU101は、読み込んだ画像情報に対して所定の処理を施した後、その画像情報をデバイスI/F114を介してプリンタ118に出力するなどの制御を行う。さらに、CPU101は、ネットワーク部107を介して取得した文字データや画像データの解析・変換処理を行い、HDD104へ保存あるいは操作部106での表示制御を行う。
(CPUによる操作部の制御)
図2は、図1の操作部106およびその周辺の構成の例を示す。操作部106のタッチパネル203および各ハードキーのキー群202は、操作部I/F105の入力ポート201を介してCPU101に接続される。また、タッチパネル203の押下位置を示す位置情報、およびキー群202の押下に対応するキー情報は、入力ポート201を介してCPU101に入力される。
操作部106のLED205およびLCD206は、操作部I/F105の出力ポート204を介してCPU101に接続される。LED205の点灯およびLCD206の表示は、CPU101により制御される。タッチパネル203には微量な電気が流れており、ユーザがタッチすることで発生する電気量の変化からタッチ位置を検出する静電方式の装置であり、LCD206の上に重なるように配置される。ユーザがLCD206上に表示された仮想的なボタン(以下、ボタン)などの操作対象物を直接触れることで、タッチパネル203がその位置情報(座標)を検知する。
CPU101は、位置情報を検知すると、LCD206上に現在表示している対象物とその位置情報に基づいて、ユーザが選択した操作対象を特定する。そして、CPU101は、ROM103もしくはHDD104に予め記憶されている命令の中から、特定した操作対象物が選択された場合に実行すべき命令を検出し、この命令を実行する。これにより、LCD206に表示する画面データが作成される。作成された画面データは、CPU101が出力ポート204を経由してLCD206に送信することで、操作部106の表示を変更できる。なお、上述したLCD206でのユーザ操作時の内部処理は、これ以降の全ての説明で共通であり、以降では記載を省略する。
また、操作部106(タッチパネル203)は、様々な解像度を有し、利用可能な解像度の例としては、SVGAやWSVGAなどが挙げられる。また、必要に応じて、ユーザは、画像形成装置100の機器構成を物理的に取り換えることにより、利用する操作部106の解像度を変更することも可能である。
[ソフトウェア構成]
次に、画像形成装置100のCPU101やHDD104などの各ハードウェア上で動作するソフトウェアのモジュール構成を、図3を用いて説明する。なお、各モジュールにおける処理は、CPU101の命令により、ROM103やHDD104に格納されているプログラムを読み出し、RAM102をワークエリアとして所定の処理を実行することで実現される。また、所定の処理を実行することで生成される各種情報は、RAM102もしくはHDD104に格納される。このような各モジュールにおける処理は、特に明記しない限り同様であるため、以降ではこのようなハードウェアの記載は省略する。また、図3に示す各モジュールの詳細な処理は、図7を用いて後述する。また、画像形成装置100はCグラフィックコントロールとJavaグラフィックコントロールの両方を備えるが、これらのコントローラの処理の詳細は後述する。
ドライバ部301は、タッチパネルドライバであり、ユーザが操作部106(正確には操作部106のLCD206)でタッチなどの操作を行ったときに発生するタッチイベントや座標などのイベント情報を検知するモジュールである。このイベント情報は、イベントの種類(プレスやリリースなどの操作の種類)と、イベントの座標を含む。ドライバ部301は、検知したイベント情報をイベント管理部302へ送信する。
イベント管理部302は、ドライバ部301から送信されるイベント情報を受信し、そのイベント情報に対して各モジュールを用いて所定の処理を施した後、イベント情報をウインドウ管理部305に送信するモジュールである。具体的には、イベント管理部302は、表示しているアプリの判定を行う場合はウインドウ管理部305を用い、イベント情報の変更を行う場合はイベント情報変更部304を用いる。操作部管理部303は、画像形成装置100の操作部106に表示する情報を取得するためのモジュールである。操作部管理部303は、操作部106の解像度の情報を取得することが可能である。イベント情報変更部304は、イベント管理部302からのイベント情報変更要求を受信し、イベント情報の変更を行い、変更したイベント情報をイベント管理部302に送信するモジュールである。
ウインドウ管理部305は、イベント管理部302から送信されたイベント情報を受信し、操作部106に表示しているアプリに対応したグラフィックコントローラ部に、イベント情報の送信を行うモジュールである。本実施形態において、グラフィックコントローラ部として、Cグラフィックコントローラ部306とJavaグラフィックコントローラ部308の2つを備えるものとする。また、ウインドウ管理部305は、操作部106に表示するウインドウの管理も行い、操作部106にどのアプリのどのウインドウを表示しているかの判定や、任意のウインドウを操作部106に表示することが可能である。
Cグラフィックコントローラ部306は、Cアプリ部307のC言語で実装されたCアプリケーション(以降、Cアプリと呼ぶ)が利用するボタンやリスト、ウインドウなどの描画コントローラからなるモジュールである。なお、これらのCグラフィックコントローラ部306の描画コントローラは、全てウインドウ上に配置されており、1つのウインドウには複数の描画コントローラを配置することが可能である。そのため、ウインドウを切り替えることで、操作部106の画面を切り替えることとする。なお、描画コントローラの配置座標や描画コントローラに対応する実行処理などの情報は、アプリのプログラムに含まれていることとする。また、Cグラフィックコントローラ部306は、ウインドウ管理部305からイベント情報を受信すると、操作部106に表示しているウインドウのアプリに対して実行処理要求を送信する。
Cアプリ部307は、Cアプリの集まりである。Cアプリ部307のCアプリは、Cグラフィックコントローラ部306からの実行処理要求を受信すると、この実行処理要求に応じた処理を実行する。例えば、Cアプリの処理Aを実行したい場合、処理Aを実行するためのボタンAを特定のウインドウ上に配置し、操作部106にこのウインドウを表示する。そして、ユーザがこのボタンAを押下すると、Cグラフィックコントローラ部306は、ボタンAの選択を検知し、ボタンAに関連付けられた処理Aの実行要求イベントをCアプリに送信する。
Javaグラフィックコントローラ部308は、Javaアプリ部309のJava言語で実装されたJavaアプリケーション(以降、Javaアプリと呼ぶ)が利用するボタンやリストなどの描画コントローラからなるモジュールである。Javaグラフィックコントローラ部308は、Cグラフィックコントローラ部306と同じく、ウインドウ管理部305からイベント情報を受信すると、操作部106に表示しているウインドウのアプリに対して実行処理要求を送信する。
Javaアプリ部309は、Javaアプリの集まりである。Javaアプリ部309のJavaアプリは、Javaグラフィックコントローラ部308からのイベントを受信すると、このイベントに応じた処理を実行する。
[操作部の解像度とアプリ表示]
ここで、操作部106の解像度が異なる場合の処理について、説明を行う。
画像形成装置100で利用可能な操作部106として、解像度がSVGA(800*600)の操作部106と、解像度がWSVGA(1024*600)の操作部106があることとする。画像形成装置100にどちらの操作部106が接続されているかは、画像形成装置100の起動時に、CPU101が操作部106に問い合わせを行うことで判定可能である。また、このとき操作部106から取得した情報は、RAM102もしくはHDD104に記憶される。なお、このような処理は一般的な情報処理装置のデバイス検知処理と同じであるため、詳細は省略する。
まず、解像度の異なる二種類の操作部を利用した場合に、同じアプリがどのように表示されるかについて説明する。なお、操作部106で、アプリ(CアプリもしくはJavaアプリ)が対象物を表示する領域を、「アプリ表示領域」と呼ぶこととする。
図4(a)は、解像度がSVGAの操作部106を利用した場合に表示する画面であり、Javaアプリの1つであるコピーアプリの表示の一例である。図4(a)は、点線で囲んでいる全領域がアプリ表示領域401であり、操作部106にはこのアプリの表示しか行われない。つまり、コピーアプリの画面のみが、操作部106の全面に表示される。
一方、解像度がWSVGAの操作部106を利用した場合、このコピーアプリの表示は、図4(b)のようになる。図4(b)のアプリ表示領域401は、解像度がSVGAの操作部106と同じであるが、WSVGAの操作部106の場合はアプリ表示領域401の左側に左メニュー領域402を表示する。つまり、WSVGAの操作部106の場合は、アプリの画面が表示される表示領域に加え、その他の表示領域(別の表示コンテンツが表示される領域)が含まれる。アプリの表示内容の変更(画面の切り替え)はアプリ表示領域401のみで実施され、左メニュー領域402にアプリの表示内容の変更が実施されることはない。
また、左メニュー領域402は、アプリ表示領域401の表示内容に関わらず、常に同じものが表示される。つまり、図4(b)の例の場合、常にTOPボタン404とSHORTボタン405が表示される。TOPボタン404は、アプリ表示領域401に画像形成装置100の電源を入れた後で最初に操作部106に表示する画面(以降、初期画面)を表示するためのボタンである。SHORTボタン405は、アプリ表示領域401にユーザが設定した任意の画面を表示するためのボタン(ショートカットボタン)である。なお、ここではTOPボタン404とSHORTボタン405を表示しているが、アプリ共通の他のボタンを表示してもよい。
このように、解像度がWSVGAの操作部106を利用する場合にのみ左メニュー領域402を表示することで、どちらの解像度の操作部106を利用する場合も、アプリは同じプログラムで、同じ表示内容と操作性をユーザに提供することができる。なお、解像度がWSVGAの場合は、左メニュー領域402を表示するため、アプリ表示領域401をユーザがタッチしたときにドライバ部301で検知するイベント情報に含まれる座標に違いが生じる。この座標の違いによるイベント管理部302の処理は図7を用いて後述する。なお、ここでは、SVGAとWSVGAの例を用いて説明するが、他の解像度を有する操作部106の構成であっても同様である。
[グラフィックコントローラ部]
次に、Cグラフィックコントローラ部306とJavaグラフィックコントローラ部308の処理についての説明を行う。これらのグラフィックコントローラは、構成が異なり、各グラフィックコントローラで必要とするイベント情報も異なる。なお、本実施形態では、SVGAの解像度を標準の解像度(以下、標準解像度)とし、グラフィックコントローラ上で動作するアプリは、全てこの標準解像度をベースに作成しているものとして説明する。なお、標準解像度とする解像度は、SVGAに限定されるものではなく、解像度間の関係に応じていずれの解像度を標準とするかを定義することができるものとする。
(Cグラフィックコントローラ部)
まず、Cグラフィックコントローラ部306について説明する。Cアプリ部307のアプリが利用する描画コントローラの情報は、予めHDD104にアプリ毎にテーブル形式で記憶されている。以降では、描画コントローラの情報を表したものを、「描画コントローラ管理テーブル」と呼ぶことにする。ここで描画コントローラ管理テーブルについて、具体例を用いて説明する。
図5に示すように、描画コントロール管理テーブルでは、コントローラ種別、ID、領域、親ID、および対応動作を対応付けて管理する。コントローラ種別は、描画コントローラの種類を表し、ウインドウやボタン、リストなどがある。IDは、各コントローラを一意に識別するための識別情報としての番号である。領域は、各コントローラの配置位置(表示位置)であり、左上の座標と右下の座標を記載している。なお、ここでは、座標(X,Y)として、Xは横方向を示し、Yは縦方向を示す。親IDは、各コントローラを配置するベースとなるウインドウ(ベースウインドウ)のIDである。本実施形態に係るCグラフィックコントローラ部306は、ベースウインドウが1つのみであり、ベースウインドウのサイズは常にアプリ表示領域401と同じサイズであるものとして説明する。対応動作は、各コントローラが選択されたときに行われる動作である。
対応動作についての具体例を説明する。あるアプリ(アプリX)が利用する描画コントローラの情報が、図5(a)であるとする。図5(a)に示す描画コントロール管理テーブルは、アプリXにはID“1”のウインドウ(ベースウインドウ)上に、ID“1000”のウインドウと、ID“2000”ウインドウを表示することを表している。また、図5(a)は、ID“1000”のウインドウ上にはID“1001”のボタンとID“1002”のボタンが配置されている。ユーザがID“1001”のボタンを選択すると、ID“2000”のウインドウの画面が表示される。また、ユーザがID“1002”のボタンを選択すると、ID“3000”のウインドウの画面が表示される。なお、図5(a)のID“1000”のウインドウと、ID“1001”のボタンとID“1002”のボタンを操作部106に表示した結果、図6(a)の表示となる。なお、図6(a)に示す参照番号は、図5(a)のIDに対応しているものとする。
次に、Cグラフィックコントローラ部306が必要であるイベント情報の座標についての説明を行う。Cアプリ部307のアプリが表示したボタンを選択するには、Cグラフィックコントローラ部306に送信するイベント情報に含まれる座標が、選択するボタンの領域内の座標である必要がある。Cグラフィックコントローラ部306の全てのアプリは、ボタンの領域内の座標であるか否かの判定を、相対座標を用いて行う。そして、Cグラフィックコントローラ部306は、ボタンの領域内の座標であれば、ボタンが選択されたと認識して、このボタンに対応する動作の実行要求をCアプリ部307に送信する。なお、ボタン以外のコントロールの場合も、同様に相対座標を用いる。
ここで、各グラフィックコントローラ部が用いる座標系として、相対座標と絶対座標の説明を行う。相対座標とは、例えば、アプリ表示領域401の左上を原点とし、この原点からユーザがタッチした位置を表す座標である。一方、絶対座標とは、例えば、操作部106の左上を原点とし、この原点からユーザがタッチした位置を表す座標である。そのため、本実施形態では、操作部106の解像度がSVGAの場合は相対座標と絶対座標の値が同じになる。一方、解像度がWSVGAの場合は絶対座標と相対座標は異なる座標の値になる。このとき、操作部106の同じ位置を示す場合、少なくとも縦方向もしくは横方向のいずれかの座標において、相対座標の方が小さくなる。この相対座標の値は、イベント管理部302が操作部管理部303から操作部106の解像度の情報を取得して算出する。この取得処理についての詳細は後述する。
(Javaグラフィックコントローラ部)
次に、Javaグラフィックコントローラ部308の説明を行う。Javaグラフィックコントローラ部308は、Javaアプリ部309のアプリが利用可能な描画コントローラの集まりである。描画コントローラとしてはボタンやウインドウがある。ただし、Javaグラフィックコントローラ部308は、ウインドウベースのコントローラであり、1つのウインドウ上に1つしか描画コントローラを配置することができない。そのため、図6(b)のようにボタンを2つ表示する画面を操作部106に表示する場合、描画コントロール管理テーブルは図5(b)のような構成となる。なお、図6(b)に示す参照番号は、図5(b)のIDに対応しているものとする。
図5(b)は、ID“1”のウインドウ(ベースウインドウ)上にID“5000”のウインドウが配置されている。更に、ID“5000”のウインドウ上に、ID“5100”のウインドウと、ID“5200”のウインドウが配置されている。更に、ID“5100”のウインドウ上にID“5101”のボタンが配置され、ID“5200”のウインドウ上にID“5201”のボタンが配置されている。図5(b)の描画コントロール管理テーブルを操作部106に表示した結果、図6(b)となる。なお、以降では、ボタンなどのコントロールを配置するためのウインドウを「子ウインドウ」と呼ぶ。
ここで、Javaグラフィックコントローラ部308が必要であるイベント情報の座標についての説明を行う。Javaグラフィックコントローラ部308は、ウインドウベースのコントローラであり、どのウインドウにイベント情報を送信するかは相対座標と絶対座標の両方の座標を用いて判断する。ただし、Javaグラフィックコントローラ部308で必要な絶対座標は、アプリ表示領域の左上を原点とした座標であり、操作部106の左上を原点とする座標ではない。そのため、Cグラフィックコントローラ部306とは異なり、ベースウインドウの左上を原点にした座標を作成する必要がある。なお、相対座標は、イベントを送信する子ウインドウの左上を原点とする座標であり、相対座標の考え方はCグラフィックコントローラ部306とJavaグラフィックコントローラ部308で同じである。この絶対座標と相対座標の値は、イベント管理部302が操作部管理部303やイベント情報変更部304を用いて設定する。ここでの設定処理についての詳細は後述する。
[処理フロー]
続いて、ドライバ部301でイベント情報を検知してからCグラフィックコントローラ部306もしくはJavaグラフィックコントローラ部308にイベント情報を送信するまでの処理を、図7を用いて説明する。なお、処理の中で行われる各種座標の算出については、具体的な座標値を用いて後で詳述する。
ユーザが操作部106で対象物の押下などの操作を行うと、S701にて、ドライバ部301は、イベント情報を検知する。このイベント情報には、イベントの種類(プレスやリリースなどの操作の種類)と座標情報を含み、ここでの座標情報は操作部106の左上を原点とする絶対座標である。なお、イベント情報の検出方法は、例えば、一般的な抵抗膜方式(感圧方式)もしくは静電方式の操作部の検出方法を用いるものとし、詳細は省略する。ドライバ部301は、検知したイベント情報をイベント管理部302へ送信する。イベント管理部302は、このイベント情報を受信すると、操作部106に表示しているウインドウ情報取得要求をウインドウ管理部305に送信する。ここでのウインドウ情報とは、表示しているウインドウが、CアプリのウインドウかJavaアプリのウインドウかを示す情報である。ウインドウ管理部305は、ウインドウ情報取得要求を受信すると、操作部106に表示しているウインドウのウインドウ情報を取得し、イベント管理部302に送信する。
S702にて、イベント管理部302は、ウインドウ情報を受信すると、Cアプリのウインドウを表示しているか否かを判定する。Cアプリのウインドウを表示していると判定した場合(S702にてYES)、S703へ進む。一方、Cアプリのウインドウを表示していないと判定した場合(S702にてNO)、すなわち、Javaアプリのウインドウを表示している場合、S705へ進む。
S703にて、イベント管理部302は、相対座標を決定する処理を行う。この相対座標は、ウインドウ管理部305やCグラフィックコントローラ部306へ送信するイベント情報に含める。まず、イベント管理部302は、操作部管理部303に操作部106の解像度を取得するための要求を送信する。操作部管理部303は、解像度取得要求を受信すると、操作部106の解像度を取得し、イベント管理部302に送信する。イベント管理部302は、解像度情報を受信すると、相対座標の決定を行う。具体的には、イベント管理部302は、受信した解像度情報が標準解像度(SVGA)を示す場合は、絶対座標と同じ座標を相対座標として決定する。一方、標準解像度でない場合は、イベント管理部302は、取得した解像度情報が示す解像度と標準解像度との差分を考慮した座標を相対座標として決定する。ここでの取得した解像度情報が示す解像度と標準解像度との差分を考慮した座標とは、絶対座標から左メニュー領域402のサイズを減らした座標に相当する。その後、S704へ進む。
S704にて、イベント管理部302は、ドライバ部301から受信したイベント情報に、決定した相対座標を含めたイベント情報を作成し、ウインドウ管理部305に送信する。このイベント情報を受信したウインドウ管理部305は、操作部106に表示されているアプリのウインドウを特定し、このウインドウを含むグラフィックコントローラを特定する。ここでは操作部106にはCアプリのウインドウを表示しているため、ウインドウ管理部305はCグラフィックコントローラ部306に対してイベント管理部302から送信されたイベント情報を送信する。そして、本処理フローを終了する。
S705にて、イベント管理部302は、操作部106の表示領域が特定の表示領域であるかの判定を行う。本実施形態では、イベント管理部302が、操作部管理部303に解像度取得要求を送信して解像度情報を取得し、受信した解像度情報が示す解像度が標準解像度の場合は特定の表示領域であると判定する。操作部106の解像度が標準解像度であると判定した場合(S705にてYES)S707へ進み、標準解像度でないと判定した場合(S705にてNO)S706へ進む。
S707にて、イベント管理部302は、ドライバ部301から受信したイベント情報の座標(絶対座標)を元にして相対座標を決定する。この相対座標の決定方法について説明する。イベント管理部302は、ドライバ部301から受信した絶対座標をウインドウ管理部305に送信する。そして、ウインドウ管理部305は、この座標をJavaグラフィックコントローラ部308に送信する。Javaグラフィックコントローラ部308は、操作部106に表示されているウインドウの中から、受信した絶対座標を含むウインドウを検索し、このウインドウの原点座標(左上の座標)をウインドウ管理部305に送信する。ウインドウ管理部305は、ウインドウの原点座標を受信すると、これをイベント管理部302に送信する。イベント管理部302は、ウインドウの原点座標を受信すると、この受信した原点座標とドライバ部301から受信した絶対座標から相対座標を算出する。具体的には、イベント管理部302は、絶対座標から、ウインドウの原点座標を減算した値を相対座標に決定する。このようにしてイベント管理部302は相対座標を決定する。
一方、操作部106の解像度が標準解像度でないと判定した場合(S705にてNO)、S706にて、イベント管理部302は、操作部管理部303とイベント情報変更部304を用いて、ドライバ部301から受信したイベント情報の絶対座標を変更する。この絶対座標を変更する処理について説明する。まず、イベント管理部302は、操作部管理部303に操作部106の解像度取得要求を送信する。操作部管理部303は、解像度取得要求を受信すると、操作部106の解像度を取得し、イベント管理部302に取得した解像度情報を送信する。イベント管理部302は、解像度情報を受信すると、その受信した解像度情報とドライバ部301から受信した絶対座標をイベント情報変更部304に送信する。イベント情報変更部304は、受信した解像度情報が示す解像度と標準解像度の差分を算出し、この算出した差分から求められる座標をイベント管理部302に送信する。これを受信したイベント管理部302は、受信した座標を絶対座標として決定する。その後、イベント管理部302は、S707へ進み、S706にて決定した絶対座標を元に相対座標を決定する。すなわち、イベント管理部302は、S706にて決定した絶対座標から、ウインドウの原点座標を減算した値を相対座標として決定する。
S707における相対座標の決定後、S704にて、イベント管理部302は、絶対座標と相対座標を含めたイベント情報を作成し、ウインドウ管理部305に送信する。ウインドウ管理部305は、このイベント情報を受信すると、Javaグラフィックコントローラ部308に対してイベント管理部302から送信されたイベント情報を送信する。Javaグラフィックコントローラ部308は、受信したイベント情報を元に、表示しているアプリの対応する動作の実行要求をJavaアプリ部309に送信する。この処理は、一般的なウインドウベースのグラフィックシステム(例えば、X11ベースのウインドウシステム)と同じであるため、詳細は省略する。そして、本処理フローを終了する。
[処理例]
図7に示した処理の具体例を説明する。まず、標準解像度(SVGA)を有する操作部106が画像形成装置100に接続されている場合のCアプリとJavaアプリの具体例を説明する。その後、標準解像度ではない解像度(WSVGA)を有する操作部106が画像形成装置100に接続されている場合のCアプリとJavaアプリの具体例を説明する。
(標準解像度、及び、Cアプリ)
まず、標準解像度の操作部106にブラウザアプリ(Cアプリ)が表示されている場合の具体例を説明する。図8(a)は、操作部106に表示されるブラウザアプリの表示例である。図8(a)の画面上段にはURLが表示され、画面中段には検索キーワードを入力するためのキーワード入力ボタンが表示され、画面下段にはページ移動や各種設定を行うボタンが表示されている。この画面において、各種設定ボタンの1つであるMENUボタン802を押下した場合の具体例を説明する。なお、MENUボタン802の領域は、図5(a)のID“1001”のボタンと同じく、(220,470)〜(370,550)であるとする。
ユーザが操作部106でMENUボタン802の押下を行うと、ドライバ部301は、イベント情報を検知する(S701)。このイベント情報は、イベント種類がタッチであり、座標は絶対座標(250,500)であるとする。ドライバ部301は、このイベント情報をイベント管理部302へ送信する。
このイベント情報を受信したイベント管理部302は、ウインドウ管理部305にウインドウ情報の取得要求を送信し、ウインドウ管理部305から送信された結果を元に、操作部106にCアプリのウインドウが表示されているかを判定する(S702)。ここではCアプリのウインドウであるため(S702にてYES)、イベント管理部302は、相対座標を決定するための処理を行う(S703)。まず、イベント管理部302は、操作部管理部303に解像度取得要求を送信し、解像度の情報を取得する。ここでは標準解像度であるため、相対座標は絶対座標と同じ座標である座標(250,500)にする。
そして、イベント管理部302は、ドライバ部301から受信したイベント情報にこの相対座標を追加し、ウインドウ管理部305に送信する(S704)。このイベント情報を受信したウインドウ管理部305は、ここではCグラフィックコントローラ部306にイベント情報を送信し、さらにCグラフィックコントローラ部306からブラウザアプリにイベント情報を送信する。そして、ブラウザアプリは、相対座標(250,500)のタッチイベントに対応する処理として、MENUボタン802の押下処理を行う。
(標準解像度、及び、Javaアプリ)
次に、標準解像度の操作部106にコピーアプリ(Javaアプリ)が表示されている場合の具体例を説明する。図4(a)は、操作部106に表示されるコピーアプリの表示例である。図4(a)の画面上段には画面タイトルが表示され、画面中段には設定内容が表示され、画面下段には各種設定を行うボタンが表示されている。この画面において、各種設定ボタンの1つである用紙ボタン403を押下した場合の具体例を説明する。なお、用紙ボタン403の領域は、図5(b)のID“5101”のボタンと同じく、(220,470)〜(370,550)であるとする。
ユーザが操作部106で用紙ボタン403の押下を行うと、ドライバ部301は、イベント情報を検知する(S701)。このイベント情報は、イベント種類がタッチであり、座標は絶対座標(250,500)であるとする。ドライバ部301は、このイベント情報をイベント管理部302へ送信する。
このイベント情報を受信したイベント管理部302は、ウインドウ管理部305にウインドウ情報の取得要求を送信し、ウインドウ管理部305から送信された結果を元に、操作部106にCアプリのウインドウが表示されているかを判定する(S702)。ここではJavaアプリのウインドウであるため(S702にてNO)、イベント管理部302は、操作部管理部303に解像度取得要求を送信し、解像度の情報を取得する。そして、イベント管理部302は、取得した解像度が標準解像度であるか否かの判定を行う(S705)。ここでは標準解像度であるため(S705にてYES)、イベント管理部302は、相対座標の決定を行う(S707)。
具体的には、イベント管理部302は絶対座標(250,500)をウインドウ管理部305に送信し、ウインドウ管理部305はこの情報をJavaグラフィックコントローラ部308に送信する。そして、Javaグラフィックコントローラ部308は、操作部106に表示している1または複数のウインドウの中から、受信した座標を含むウインドウの原点座標を検出し、ウインドウ管理部305に送信する。ここでは、図5(b)のID“5100”のウインドウを検索し、原点座標として座標(220,470)をウインドウ管理部305に送信する。これを受信したウインドウ管理部305は、この情報をイベント管理部302に送信する。イベント管理部302は、絶対座標(250,500)から原点座標(220,470)を減算して、相対座標を座標(30,30)に決定する。その後、イベント管理部302は、絶対座標と相対座標を含むイベント情報をウインドウ管理部305に送信する(S704)。このイベント情報は、さらに、Javaグラフィックコントローラ部308とコピーアプリに送信され、コピーアプリは絶対座標(250,500)かつ相対座標(20,30)のタッチイベントに対応する処理として、用紙ボタン403の押下処理を行う。
(標準ではない解像度、及び、Cアプリ)
次に、標準解像度ではない操作部106にブラウザアプリ(Cアプリ)が表示されている場合の具体例を説明する。図8(b)は、操作部106に表示されるブラウザアプリの表示例である。この画面のアプリ表示領域401の表示内容は、図8(a)のアプリ表示領域401の表示内容と同じである。この画面において、各種設定ボタンの1つであるMENUボタン802を押下した場合の具体例を説明する。なお、MENUボタン802の領域は、図5(a)のID“1001”のボタンと同じく、(220,470)〜(370,550)であるとする。
ユーザが操作部106でMENUボタン802の押下を行うと、ドライバ部301は、イベント情報を検知する(S701)。このイベント情報は、イベント種類がタッチであり、座標は絶対座標(474,500)であるとする。ドライバ部301は、このイベント情報をイベント管理部302へ送信する。
このイベント情報を受信したイベント管理部302は、操作部106にCアプリのウインドウが表示されているかを判定する(S702)。この処理の詳細は前述の標準解像度の場合と同じであるため、記載を省略する。ここではCアプリのウインドウであるため(S702にてYES)、イベント管理部302は、相対座標を決定するための処理を行う(S703)。まず、イベント管理部302は、操作部管理部303に解像度取得要求を送信し、解像度の情報を取得する。ここでは標準解像度ではないため、取得した解像度と標準解像度の差分を考慮した値を相対座標とする。
具体的には、取得した解像度がWSVGA(1024*600)であり、標準解像度がSVGA(800*600)である場合、取得した解像度の方が、x座標が224大きい。そのため、絶対座標(474,500)のx座標から224を減算し、相対座標を座標(250,500)に決定する。相対座標決定後、イベント管理部302は、この相対座標をドライバ部301から受信したイベント情報に追加し、ウインドウ管理部305に送信する(S704)。これ以降のMENUボタン802押下までの処理は、前述の標準解像度の場合と同じであるため、記載を省略する。
(標準ではない解像度、及び、Javaアプリ)
最後に、標準解像度ではない操作部106にコピーアプリ(Javaアプリ)が表示されている場合の具体例を説明する。図4(b)は、操作部106に表示されるコピーアプリの表示例である。この画面のアプリ表示領域401の表示内容は、図4(a)のアプリ表示領域401の表示内容と同じである。この画面において、各種設定ボタンの1つである用紙ボタン403を押下した場合の具体例を説明する。なお用紙ボタン403の領域は、図5(b)のID“5101”のボタンと同じく、(220,470)〜(370,550)であるとする。
ユーザが操作部106で用紙ボタン403の押下を行うと、ドライバ部301は、イベント情報を検知する(S701)。このイベント情報は、イベント種類がタッチであり、座標は絶対座標(474,500)であるとする。ドライバ部301は、このイベント情報をイベント管理部302へ送信する。
このイベント情報を受信したイベント管理部302は、操作部106にCアプリのウインドウが表示されているかを判定する(S702)。この処理は前述の標準解像度の場合と同じであるため、記載を省略する。ここではJavaアプリのウインドウであるため(S702にてNO)、イベント管理部302は、解像度の情報を取得し、標準解像度であるか否かの判定を行う(S705)。この処理は前述の標準解像度の場合と同じであるため、記載を省略する。ここでは標準解像度ではないため(S705にてNO)、イベント管理部302はイベント情報の絶対座標の変更を行う(S706)。
具体的には、イベント管理部302は、操作部管理部303から解像度の情報である解像度(1024*600)と、ドライバ部301から受信した絶対座標(474,500)をイベント情報変更部304に送信する。これを受信したイベント情報変更部304は、受信した解像度(1024*600)と標準解像度(800*600)の差分として、x座標が224大きいことを算出する。そして、イベント情報変更部304は、絶対座標のx座標から、算出した224を減算することで、座標(250,500)を絶対座標に変更する。さらに、イベント情報変更部304は、この変更した絶対座標をイベント管理部302に送信する。イベント管理部302は、この絶対座標をイベント情報の絶対座標とする。この後、イベント管理部302は、イベント情報をウインドウ管理部305に送信する(S704)。これによりコピーアプリの用紙ボタン403の押下処理が行われるが、これらの処理は前述の標準解像度の場合と同じであるため、記載を省略する。
上記のように、操作部の解像度と表示されているアプリのウインドウに応じて、検知したイベントの座標を変更する。これにより、異なるイベント情報で動作する複数のグラフィックコントローラ部を備える画像形成装置においても、既存のアプリを変更することなく、アプリを正常に動作させることが可能となる。
本実施形態では、表示領域の判定の具体例として、解像度がSVGAとWSVGAの操作部での例を説明した。しかし、これ以外の解像度の操作部でも本実施形態を適用可能である。また、解像度間の関係によっては、イベント情報に含まれる絶対座標の変更(S706)において、x座標だけではなく、y座標も変更してもよい。これにより、操作部の解像度がどのような場合でも、既存のアプリを作り直すことなく、アプリは正しい動作を行うことが可能となる。
本実施形態では、CグラフィックコントローラとJavaグラフィックコントローラの2つの例を用いて説明を行ったがこれに限定するものではない。イベント情報(絶対座標/相対座標)の変換が必要な複数のグラフィックコントローラであれば、上記以外のグラフィックコントローラを対象としてもよい。更には、情報処理装置が3以上のグラフィックコントローラを備える場合は、各グラフィックコントローラの特性に応じて、座標を変更するようにしてもよい。
本実施形態では、ウインドウの左上を原点としていたが、原点は左上ではなく、別の基準点を作成し、この基準点からの座標を用いてもよい。これにより、システムの位置情報の原点が左上ではなく、右下のようなシステムにおいても、既存のアプリを作り直すことなく、アプリは正しい動作を行うことが可能となる。
<第2の実施形態>
第1の実施形態では、表示領域の判定(図7のS705)において操作部106の解像度を用いて判定を行った。しかし、解像度以外の操作部106の情報を用いて判定を行ってもよい。本実施形態では、表示領域の判定として、表示しているアプリのウインドウサイズを用いる形態について説明する。なお、基本的な処理や制御は第1の実施形態と同じであるため、第1の実施形態と異なる点のみを説明する。
表示領域の判定(S705)でアプリのウインドウサイズ(アプリ領域)を用いる例を、図9を用いて説明する。図9(a)は、図4(a)と同じくSVGAの解像度の操作部106にアプリを表示した画面である。一方、図9(b)は、図4(b)と同じく、左メニュー領域402を表示し、アプリの表示領域はSVGAの解像度に合わせてアプリ表示領域901である画面であるとする。
表示領域の判定(S705)において、イベント管理部302は、ウインドウ管理部305に操作部106に表示しているアプリのウインドウサイズの取得要求を行う。図9(a)に示す操作部106の表示の場合、アプリ表示領域401のウインドウサイズは操作部106の表示領域と同じである。この場合は、表示領域は特定の表示領域であるとみなす(S705にてYES)。そのため、イベント管理部302は、イベント情報に含まれる絶対座標を変更せずに、相対座標を決定する処理を行う(S707)。一方、図9(b)に示す操作部106の表示の場合、アプリ表示領域401のウインドウサイズは操作部106の表示領域とは異なる。つまり、アプリ表示領域401は、画面全体よりも小さい表示領域になっている。この場合は、表示領域は特定の表示領域ではないとみなす(S705にてNO)。そのため、イベント管理部302は、イベント情報に含まれる絶対座標を変更する処理を行い(S706)、その後に相対座標を決定する処理を行う(S707)。この後の処理は、第1の実施形態と同じであるため、記載を省略する。
上記のように、表示領域の判定としてアプリのウインドウサイズを用いることで、操作部106の解像度が同じであるがアプリのウインドウサイズが異なる場合も、既存のアプリを作り直すことなく、アプリは正しい動作を行うことが可能となる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
301…ドライバ部、302…イベント管理部、303…操作部管理部、304…イベント情報変更部、305…ウインドウ管理部、306…Cグラフィックコントローラ部、307…Cアプリ部、308…Javaグラフィックコントローラ部、309…Javaアプリ部

Claims (7)

  1. 表示部と、複数のグラフィックコントローラとを備える情報処理装置であって、
    前記表示部に対するユーザ操作により発生したイベントを検知する検知手段と、
    前記検知手段にてイベントを検知した際に、前記表示部に画面を表示しているアプリケーションが、前記複数のグラフィックコントローラのいずれを用いるアプリケーションであるかを判定する判定手段と、
    前記表示部の解像度と、前記判定手段にて判定されたアプリケーションの情報とに基づき、前記イベントが示す前記ユーザ操作の座標情報を、当該アプリケーションが用いるグラフィックコントローラに対応した座標系の値に変換して当該アプリケーションに送信する送信手段と
    を有することを特徴とする情報処理装置。
  2. 前記検知手段は、前記イベントとして、前記ユーザ操作が行われた前記表示部における座標系での値を検知し、
    前記送信手段は、前記表示部の解像度と、前記判定手段にて判定されたアプリケーションの情報とに基づき、前記イベントが示す前記ユーザ操作の座標情報を、前記表示部に表示されている画面における座標系の値に変換することを特徴とする請求項1に記載の情報処理装置。
  3. 前記送信手段は更に、アプリケーションが前記表示部に表示している画面のサイズに基づいて、前記イベントが示す前記ユーザ操作の座標情報を、当該アプリケーションが用いるグラフィックコントローラに対応した座標系の値に変換することを特徴とする請求項1に記載の情報処理装置。
  4. 前記複数のグラフィックコントローラは、
    C言語にて実装されたCアプリケーションにより用いられる第一のグラフィックコントローラと、
    Java言語にて実装されたJavaアプリケーションにより用いられる第二のグラフィックコントローラと
    を含むことを特徴とする請求項1に記載の情報処理装置。
  5. 前記送信手段は、
    前記画面を表示しているアプリケーションがCアプリケーションであると前記判定手段により判定され、かつ、前記表示部の解像度がアプリケーションの画面を全面に表示する第一の解像度である場合、前記イベントが示す前記ユーザ操作の座標情報を変換せず、
    前記画面を表示しているアプリケーションがCアプリケーションであると前記判定手段により判定され、かつ、前記表示部の解像度がアプリケーションの画面を表示する表示領域および別の表示コンテンツを表示する表示領域を含む第二の解像度である場合、前記イベントが示す前記ユーザ操作の座標情報を、前記第一の解像度と前記第二の解像度との差分に基づいて変換し、
    前記画面を表示しているアプリケーションがJavaアプリケーションであると前記判定手段により判定され、かつ、前記表示部の解像度が前記第一の解像度である場合、前記イベントが示す前記ユーザ操作の座標情報を、前記第二のグラフィックコントローラに対応した座標系の値に変換し、
    前記画面を表示しているアプリケーションがJavaアプリケーションであると前記判定手段により判定され、かつ、前記表示部の解像度が前記第二の解像度である場合、前記イベントが示す前記ユーザ操作の座標情報を、前記第一の解像度と前記第二の解像度との差分に基づいて変換し、更に、前記第二のグラフィックコントローラに対応した座標系の値に変換することを特徴とする請求項4に記載の情報処理装置。
  6. 表示部と、複数のグラフィックコントローラとを備える情報処理装置の制御方法であって、
    前記表示部に対するユーザ操作により発生したイベントを検知する検知工程と、
    前記検知工程にてイベントを検知した際に、前記表示部に画面を表示しているアプリケーションが、前記複数のグラフィックコントローラのいずれを用いるアプリケーションであるかを判定する判定工程と、
    前記表示部の解像度と、前記判定工程にて判定されたアプリケーションの情報とに基づき、前記イベントが示す前記ユーザ操作の座標情報を、当該アプリケーションが用いるグラフィックコントローラに対応した座標系の値に変換して当該アプリケーションに送信する送信工程と
    を有することを特徴とする情報処理装置の制御方法。
  7. 表示部と、複数のグラフィックコントローラとを備えるコンピューターを、
    前記表示部に対するユーザ操作により発生したイベントを検知する検知手段、
    前記検知手段にてイベントを検知した際に、前記表示部に画面を表示しているアプリケーションが、前記複数のグラフィックコントローラのいずれを用いるアプリケーションであるかを判定する判定手段、
    前記表示部の解像度と、前記判定手段にて判定されたアプリケーションの情報とに基づき、前記イベントが示す前記ユーザ操作の座標情報を、当該アプリケーションが用いるグラフィックコントローラに対応した座標系の値に変換して当該アプリケーションに送信する送信手段
    として機能させるためのプログラム。
JP2016031461A 2016-02-22 2016-02-22 情報処理装置およびその制御方法、並びにプログラム Active JP6745604B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016031461A JP6745604B2 (ja) 2016-02-22 2016-02-22 情報処理装置およびその制御方法、並びにプログラム
US15/419,140 US10283090B2 (en) 2016-02-22 2017-01-30 Information processing apparatus, method of controlling the same and non-transitory computer-readable storage medium
US16/360,721 US10388257B2 (en) 2016-02-22 2019-03-21 Information processing apparatus, method of controlling the same and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016031461A JP6745604B2 (ja) 2016-02-22 2016-02-22 情報処理装置およびその制御方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2017151563A true JP2017151563A (ja) 2017-08-31
JP6745604B2 JP6745604B2 (ja) 2020-08-26

Family

ID=59630181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016031461A Active JP6745604B2 (ja) 2016-02-22 2016-02-22 情報処理装置およびその制御方法、並びにプログラム

Country Status (2)

Country Link
US (2) US10283090B2 (ja)
JP (1) JP6745604B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110366094B (zh) * 2018-04-08 2020-11-27 上海大唐移动通信设备有限公司 确定坐标系的方法、装置、电子设备和存储介质
JP2024016354A (ja) * 2022-07-26 2024-02-07 キヤノン株式会社 Webブラウジングシステム、通信端末、画像生成サーバ

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101415586A (zh) * 2006-04-13 2009-04-22 夏普株式会社 显示系统、显示系统的显示控制方法、数据显示程序和记录介质
US8555099B2 (en) * 2006-05-30 2013-10-08 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
CN102197356A (zh) 2008-10-24 2011-09-21 日本电气株式会社 即使检测区域小于显示器的显示区域也如相同时那样动作的触摸面板装置
JP5317631B2 (ja) * 2008-11-10 2013-10-16 キヤノン株式会社 画像処理装置及びその制御方法、並びにプログラム
US9219774B2 (en) 2009-11-16 2015-12-22 Sap Se Exchange of callback information
US9830889B2 (en) * 2009-12-31 2017-11-28 Nvidia Corporation Methods and system for artifically and dynamically limiting the display resolution of an application
JP5510147B2 (ja) * 2010-07-22 2014-06-04 株式会社リコー 画像形成装置及び画面制御方法
US9269122B2 (en) * 2010-10-11 2016-02-23 Hewlett-Packard Development Company, L.P. First and second software stacks and discrete and integrated graphics processing units
JP5436469B2 (ja) 2011-01-28 2014-03-05 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US9389875B2 (en) * 2012-09-28 2016-07-12 Hewlett-Packard Development Company, L.P. Selectable graphics controllers to display output
JP5993711B2 (ja) 2012-10-26 2016-09-14 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
DE112013006557B4 (de) * 2013-01-31 2017-03-30 Mitsubishi Electric Corporation Anzeigesteuersystem
US9898804B2 (en) * 2014-07-16 2018-02-20 Samsung Electronics Co., Ltd. Display driver apparatus and method of driving display
JP2017027366A (ja) 2015-07-22 2017-02-02 キヤノン株式会社 情報処理装置及びイベント管理方法

Also Published As

Publication number Publication date
JP6745604B2 (ja) 2020-08-26
US10283090B2 (en) 2019-05-07
US20170243565A1 (en) 2017-08-24
US20190221190A1 (en) 2019-07-18
US10388257B2 (en) 2019-08-20

Similar Documents

Publication Publication Date Title
US8400647B2 (en) Image forming apparatus, operation-screen updating method, and computer program product
US9001368B2 (en) Image processing apparatus, operation standardization method, and non-transitory computer-readable recording medium encoded with operation standardization program with an application program that supports both a touch panel capable of detecting only one position and a touch panel capable of detecting a plurality of positions simultaneously
US11194469B2 (en) Image processing apparatus, method for controlling the same, and storage medium
JP6472368B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2010055207A (ja) 文字入力装置、文字入力方法、プログラム、記憶媒体
US20090184933A1 (en) Touch interpretive architecture and touch interpretive method by using multi-fingers gesture to trigger application program
US8612889B2 (en) Information processing device, method for controlling screen display and storage medium
WO2013121770A1 (en) Image processing apparatus, method for controlling the same, and storage medium
US10388257B2 (en) Information processing apparatus, method of controlling the same and non-transitory computer-readable storage medium
US9049323B2 (en) Data processing apparatus, content displaying method, and non-transitory computer-readable recording medium encoded with content displaying program
US9417771B2 (en) Information processing apparatus, information processing method, and computer readable-recording medium
US10319061B2 (en) Information processing apparatus and event management method
US10101698B2 (en) Information processing apparatus, information processing method, and storage medium
US9727210B2 (en) User terminal device for supporting data share function and methods thereof
US10691293B2 (en) Display device and computer-readable non-transitory recording medium with display control program stored thereon
JP2017097814A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP5093608B2 (ja) 情報処理装置、情報表示処理システム、情報処理方法、および情報処理プログラム
JP2018180690A (ja) 印刷管理プログラム、印刷管理方法、印刷管理装置及び印刷管理システム
US20210027750A1 (en) Display apparatus, display system, and display method
JP2000115435A (ja) 画像読取/印刷システム、画像読取処理装置、画像読取/印刷方法及び記憶媒体
JP2014115825A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2015200979A (ja) 情報処理装置およびコンピュータプログラム
JP2020194341A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200804

R151 Written notification of patent or utility model registration

Ref document number: 6745604

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151