以下、図面を参照しながら、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、ディスプレイ、タッチパネルおよびコンピュータ装置を含み構成される電子黒板装置を一例として説明する。
図1は、本実施形態による電子黒板装置の概略構成を示す図である。図1に示す電子黒板装置10は、制御装置としてのコンピュータ装置20と、ディスプレイ40と、タッチパネル50とを含み構成される。
ディスプレイ40は、上記コンピュータ装置20のデスクトップ画面および手書きデータを表示するための表示装置である。ディスプレイ40は、特に限定されるものではないが、好適には、液晶ディスプレイ、プラズマ・ディスプレイなどのフラットパネル・ディスプレイとして構成される。タッチパネル50は、指先またはタッチペンでタッチ面をタッチすることにより、文字、図形等の手書き書き込みを行ったり、上記コンピュータ装置の操作情報を入力したりするための位置入力装置である。位置入力方式としては、特に限定されるものではないが、マトリクス・スイッチ方式、抵抗膜方式、表面弾性波方式、電磁誘導方式、静電容量方式、赤外線イメージセンサ方式などを挙げることができる。
コンピュータ装置20とディスプレイ40とは、VGA(Video Graphic Array)、DVI(Digital Visual Interface)、HDMI(High-Definition Multimedia Interface)、Display Port(登録商標)などの適切な映像出力インタフェースを介して接続される。コンピュータ装置20とタッチパネル50は、USB(Universal Serial Bus)、IEEE1394、シリアルまたはパラレル・インタフェースなどの適切なデバイス・インタフェースで接続される。
図2は、本実施形態による電子黒板装置のハードウェア構成図である。図2に示すコンピュータ装置20は、CPU(Central Processing Unit)22と、ハードディスク24と、RAM(Random Access Memory)26と、映像出力インタフェース28と、デバイス・インタフェース30とを含み構成され、詳細を後述する電子黒板機能を実現している。ハードディスク24は、当該コンピュータ装置20を制御するための各種のプログラム、ドキュメント・ファイルおよび書き込みデータを格納する。CPU22は、上記ハードディスク24に格納される各種プログラムや書き込みデータを読み出し、RAM26上に展開し、各種プログラムを実行し、これにより詳細は後述する電子黒板アプリケーションを動作させる。
ディスプレイ40は、映像出力インタフェース28によりコンピュータ装置20に接続されている。タッチパネル50は、タッチパネル・コントローラ52を介して、デバイス・インタフェースによりコンピュータ装置20に接続されている。タッチパネル・コントローラ52は、タッチされたスクリーン面上の座標位置の演算などを実行する。
コンピュータ装置20には、さらに、NIC(Network Interface Card)32を設けることができる。コンピュータ装置20は、NIC32により、上記ハードディスク24が提供する記憶領域の他、LAN(Local Area Network)などのネットワーク上のNAS(Network Attached Storage)やファイルサーバなどの遠隔の記憶領域を参照することができる。コンピュータ装置20は、遠隔された記憶領域を参照することで、ドキュメント・ファイルの読み出し、表示画面への書き込みデータの格納、書き込みデータの読み出しを行うことができる。
なお、説明する実施形態では、コンピュータ装置20、ディスプレイ40およびタッチパネル50から構成されるシステムとして電子黒板装置を説明しているが、他の実施形態では、上記コンピュータ装置20、ディスプレイ40およびタッチパネル50が一体化された電子黒板デバイスとして構成してもよい。また、説明する実施形態では、表示装置としてディスプレイ40を用いて、位置入力装置としてディスプレイに取り付けられたタッチパネル50を用いた例を説明するが、この構成に特に限定されるものではない。他の実施形態では、ディスプレイ40に代えてプロジェクタ装置を用いて、位置入力装置を投影面に取り付けてもよく、如何なる表示装置、ポインティング・データを取得可能な如何なる入力装置を備えた電子黒板装置として構成することができる。また、電子黒板装置10のハードウェア構成は、特に限定されるものではなく、他の実施形態では、特許文献1および非特許文献2に開示される構成など、既知の如何なる構成を採用してもよい。
以下、図3を参照して、本実施形態において実現される、画面クリップ機能を備えた電子黒板アプリケーションの詳細について説明する。図3は、電子黒板装置においてコンピュータ装置上で動作する電子黒板アプリケーションの機能ブロック図である。電子黒板プリケーション100は、当該アプリケーション起動時の開始処理を実行する開始処理部102と、頁コンテナ表示処理部104と、イベント処理部106と、各イベントに対応した処理機能を担う複数の処理部108〜130とを含む。以下、本実施形態による電子黒板アプリケーションが実現する各処理機能について、詳細を分説する。
(コンテナ・オブジェクト)
本実施形態において、表示画面に表示されるコンテンツは、頁コンテナ・オブジェクト(以下、単に頁コンテナと参照する。)と呼ばれるオブジェクトで管理される。図4(A)は、頁コンテナのデータ構造を模式的に示す図である。図4(A)に示す頁コンテナは、背景画像の画像データ(以下、背景画像データという。)と、該背景画像上に書き込まれた内容を記述する書き込みデータと、頁管理情報とを含み構成される。頁管理情報は、頁コンテナを一意に識別する頁コンテナ識別子と、当該頁コンテナに関連付けられる他の頁コンテナを参照するための関連頁コンテナ識別子と、該頁コンテナが更新された時刻を示す更新時刻と、書き込みデータが更新されたか否かを示す更新フラグとを含む。
関連頁コンテナ識別子としては、図4(A)に示す例では、前頁の頁コンテナを参照するための前頁コンテナ識別子と、後頁の頁コンテナを参照するための後頁コンテナ識別子とで構成されている。図4(A)に示す頁コンテナは、全体としてリンクドリスト構造を有する頁遷移が容易なデータ構造として実現される。なお、説明する実施形態では、コンテンツにおける各頁の前後関係を規定する関連頁コンテナ識別子を用いるが、他の実施形態では、例えば親子関係を規定する関連頁コンテナ識別子を用いて、階層構造でコンテンツを規定してもよく、コンテンツ内の各頁間の構造は特に制限されるものではない。
なお、頁コンテナ識別子は、特に限定されるものではないが、例えば日付および時刻をシードとしたUUID(Universally Unique IDentifier)を用いることができる。上記背景画像データおよび書き込みデータのフォーマットは、特に限定されるものではなく、JPEG、ビットマップ、GIF,TIFFなどの如何なるラスタ・グラフィックス、SVG(Scalable Vector Graphics)などの如何なるベクタ・グラフィックスのフォーマットを採用してもよい。
さらに、本実施形態においては、詳細を後述する画面クリップ機能に対応して、画面クリップは、画面クリップ・コンテナ・オブジェクト(以下、画面クリップ・コンテナと参照する。)と呼ばれるオブジェクトで管理される。図4(B)は、画面クリップ・コンテナのデータ構造を模式的に示す図である。画面クリップ・コンテナは、当該画面クリップ・コンテナを一意性に識別する画面クリップ・コンテナ識別子と、当該画面クリップが切り取られた元の頁コンテナを識別する切り取り頁コンテナ識別子と、切り取られた画面クリップデータとを含む。画面クリップ・コンテナ識別子は、特に限定されるものではないが、上記UUIDを用いることができる。上記画面クリップデータのフォーマットも、特に限定されるものではなく、如何なるラスタ・グラフィックスまたはベクタ・グラフィックスのフォーマットを採用することができる。
また、図4(A)に示す頁コンテナは、上記画面クリップ機能に対応して、0または1以上の画面クリップ情報を含んで構成される。各画面クリップ情報は、当該頁コンテナに関連付けられる画面クリップ・コンテナを参照するための画面クリップ・コンテナ識別子と、該画面クリップ・コンテナの画面クリップデータが貼り付けられる位置座標を示す貼り付け位置情報とから構成される。
(開始処理)
ここで、再び図3を参照しながら、開始処理部102の詳細について説明する。開始処理部102は、本電子黒板アプリケーションの起動時に、全画面をアプリケーション・ウィンドウとし、空の新規頁を作成して、該空の新規頁を表示頁に設定する。開始処理部102は、より具体的には、空の頁コンテナを作成し、新規作成した頁コンテナを識別するコンテナ識別子を表示コンテナ識別子に代入し、後述する頁コンテナ表示処理へと処理を進める。ここで、表示コンテナ識別子とは、現在アプリケーション・ウィンドウ内で表示対象とされている頁コンテナを示す頁コンテナ識別子が代入される属性値である。
生成された空の頁コンテナには、新たに生成された固有の識別子が頁コンテナ識別子として代入され、該頁コンテナ識別子がさらに前コンテナ識別子および後コンテナ識別子に代入され、当該頁コンテナが生成された時刻が更新時刻に代入される。生成された空の頁コンテナの背景画像データおよび書き込みデータは、空であり、更新フラグは、「真(true)」の値が設定される。
(頁コンテナ表示処理)
頁コンテナ表示処理部104は、開始処理部102が開始処理を完了させた後、あるいは表示対象頁が変更されたか更新された場合に、アプリケーション・ウィンドウの画面表示を更新する。図5は、本実施形態による頁コンテナ表示処理部が実行する、頁コンテナ表示処理を示すフローチャートである。
図5に示す処理は、ステップS100から開始し、ステップS101では、頁コンテナ表示処理部104は、まずメニュー表示がなされているか否かを判定する。頁コンテナ表示処理部104は、ステップS101で未だメニュー表示がなされていないと判定された場合(NO)は、ステップS102でメニュー表示を行って、ステップS103へ処理を進める。ステップS101で、既にメニュー表示済みであると判定された場合(YES)は、ステップS103へ直接処理を進める。
ステップS103では、頁コンテナ表示処理部104は、表示コンテナ識別子を読み出し、表示対象の頁コンテナ・オブジェクト(以下、表示対象頁コンテナと参照する。)を特定する。ステップS104では、頁コンテナ表示処理部104は、表示対象頁コンテナの更新フラグを参照し、「真」であるか「偽」であるかを判定する。ステップS104で、表示対象頁コンテナの更新フラグが「偽」であると判定された場合(NO)は、ステップS111へ直接分岐させ、後述するイベント処理へ進める。
一方、ステップS104で、表示対象頁コンテナの更新フラグが「真」であると判定された場合(YES)は、ステップS105へ処理を進める。頁コンテナ表示処理部104は、ステップS105で、まず表示画面(背景画像データおよび書き込みデータ)をクリアし、ステップS106では、表示対象頁コンテナが保持する背景画像データを参照して、空(Null)であるか否かを確認する。頁コンテナ表示処理部104は、ステップS106で、表示対象頁コンテナの背景画像データが空(Null)ではないと判定された場合(NO)は、ステップS107で、表示対象頁コンテナの背景画像データを読み出して、該背景画像を画面中央に描画し、ステップS108へ処理を進める。ステップS106で、表示対象頁コンテナの背景画像データが空(Null)であると判定された場合(YES)には、頁コンテナ表示処理部104は、ステップS108へ直接処理を進める。
ステップS108では、頁コンテナ表示処理部104は、さらに表示対象頁コンテナが保持する手書きデータを読み出し、上記背景画像の上レイヤとして書き込みデータを描画し、画面上に表示する。ステップS109では、頁コンテナ表示処理部104は、さらに、表示対象頁コンテナが保持する画面クリップ・コンテナ識別子に対応する画面クリップ・コンテナの画面クリップデータを読み出し、対応する貼り付け位置情報に応じた画面位置に、上記背景画像の上レイヤとして画面クリップデータを描画し、画面上に表示する。なお、ここでは、書き込みデータおよび画面クリップデータの描画動作の詳細は詳述しないが、これまで知られた既存の画像処理技術で実行可能である。ステップS110では、頁コンテナ表示処理部104は、更新フラグを「偽」に設定し、ステップS111で、後述するイベント処理へ進める。
図11(A)は、上記開始処理および頁コンテナ表示処理を経て表示されるメニュー表示210を含む表示画面200を示す。図11(A)に示すメニュー表示210は、新頁ボタン212と、後頁ボタン214と、前頁ボタン216と、記録ボタン218と、切り出しボタン220と、閲覧貼り付けボタン222と、文書読込ボタン224と、終了ボタン226とを含んでいる。
新頁ボタン212は、新しい頁を作成し、現在表示されている頁から、作成した新頁に表示を切り替えるためのボタンである。後頁ボタン214は、現在表示されている頁の後に配置される頁に表示を切り替えるためのボタンである。前頁ボタン216は、現在表示されている頁の前に配置される頁に表示を切り替えるためのボタンである。記録ボタン218は、現在表示されている表示対象頁コンテナ、または頁コンテナ全体を、適切な形式で記録するためのボタンである。
文書読込ボタン224は、ドキュメント・ファイルを読み込み、該ドキュメントの各頁を背景画像とした頁を生成し、ドキュメントの先頭頁を背景画像とした頁コンテナに表示を切り替えるためのボタンである。切り出しボタン220および閲覧貼り付けボタン222は、クリップ機能を利用するためのボタンである。終了ボタン226は、電子黒板アプリケーションを終了するためのボタンである。操作者がタッチパネル上で各ボタンを押下することにより、後述するイベント処理で各ボタンに対応する処理を呼び出す各イベントが発行され、対応する処理が実行される。
なお、説明する実施形態では、説明の便宜上、更新フラグが「真」の場合に画面全体を更新するものとして単純化された頁コンテナ表示処理を説明してきた。しかしながら、他の実施形態では、高速な表示処理を可能とするため、更新された差分情報のみを表示するなど、より複雑な制御を行うこともできる。
(イベント処理)
ここで、再び図3を参照して、イベント処理部106の詳細について説明する。イベント処理部106は、タッチパネル50を介し入力された位置ポインタ情報をイベントに変換し、各イベントに対応する処理を呼び出す。図6は、本実施形態によるイベント処理部が実行する、イベント処理を示すフローチャートである。図6に示す処理は、ステップS200から開始する。ステップS201では、イベント処理部106は、イベントが取得されたか否かを判定し、所定のイベントが取得されるまで、ステップS201をループさせて待ち受ける。図11(A)に示すようなタッチパネル50上のメニュー・ボタンいずれかがタップされると、対応してイベントが発行され、イベント処理部106は、発行されたイベントを取得し、該イベントに応じた処理を呼び出す。
本実施形態においては、図11(A)内の新頁ボタン212、後頁ボタン214、前頁ボタン216、記録ボタン218、切り出しボタン220、閲覧貼り付けボタン222、文書読込ボタン224および終了ボタン226がタップされると、それぞれ、挿入イベント、前頁移動イベント、後頁移動イベント、記録イベント、画面クリップ切取イベント、画面クリップ閲覧選択イベント、文書読み込みイベントおよび終了イベントが発生する。
挿入イベントは、頁挿入処理に移行するためのイベントであり、挿入イベントが取得されると、ステップS202からステップS203へ分岐され、頁挿入処理が呼び出される。前頁移動イベントは、前頁移動処理に移行するためのイベントであり、前頁移動イベントが取得されると、ステップS204からステップS205へ分岐され、前頁移動処理が呼び出される。後頁移動イベントは、後頁移動処理に移行するためイベントであり、後頁移動イベントが取得されると、ステップS206からステップS207へ分岐され、後頁移動処理が呼び出される。
記録イベントは、頁データ記録処理へ移行するためのイベントであり、記録イベントが取得されると、ステップS208からステップS209へ分岐されて、頁データ記録処理が呼び出される。終了イベントは、終了処理へ移行するためイベントであり、終了イベントが取得されると、ステップS210からステップS211へ分岐され、終了処理が呼び出される。文書読み込みイベントは、文書読み込み取得処理へ移行するためのイベントであり、文書読み込みイベントが取得されると、ステップS214からステップS215へ分岐され、文書読み込み取得処理が呼び出される。画面クリップ切取イベントが取得されると、ステップS216からステップS217へ分岐され、後述する画面クリップ切り取り処理が呼び出される。画面クリップ閲覧選択イベントが取得されると、ステップS220からステップS221へ分岐され、後述する画面クリップ閲覧選択処理が呼び出される。
一方、図6中の書き込みイベント、画面クリップ記録イベントおよび画面クリップ貼り付けイベントは、上記メニュー・ボタンに直接連動していない。書き込みイベントは、タッチパネル50におけるアクティブ・ウィンドウのメニュー表示以外の領域への操作に応答して生成される。書き込みが取得されると、ステップS212からステップS213へ分岐されて、書き込み取得処理が呼び出される。
画面クリップ記録イベントおよび画面クリップ貼り付けイベントは、それぞれ、後述する画面クリップ切り取り処理および画面クリップ閲覧選択処理中に発行される。画面クリップ記録イベントが取得されると、ステップS218からステップS219へ分岐され、後述する画面クリップ記録処理が呼び出される。画面クリップ貼り付けイベントが取得されると、ステップS222からステップS223へ分岐され、後述する画面クリップ貼り付け処理が呼び出される。
(新規頁作成処理)
ここで、再び図3を参照すると、電子黒板プリケーション100は、上述した処理部の1つとして、表示されている頁のあとに新規頁を作成し、表示頁にする機能を実現する新規頁作成処理部108を含み構成される。新規頁作成処理部108は、新規頁を作成し、表示し、当該新規頁と前後頁との関係を規定し直す。
より具体的には、新規頁作成処理部108は、まず、表示コンテナ識別子に対応する表示対象頁コンテナを特定し、該表示対象頁コンテナの更新時刻に現在の時刻を代入する。新規頁作成処理部108は、続いて、空の頁コンテナを生成し、更新フラグを「真」に設定するとともに、新規生成した空の頁コンテナの前コンテナ識別子に、当該表示対象頁コンテナを識別する頁コンテナ識別子を代入し、生成した頁コンテナの後コンテナ識別子に、当該表示対象コンテナの後コンテナ識別子を代入する。
新規頁作成処理部108は、表示対象コンテナについて、後コンテナ識別子に、当該新規生成した頁コンテナの識別子を代入し、さらに、表示コンテナ識別子に当該新規生成した頁コンテナの識別子を代入し、頁コンテナ表示処理へ移行する。上記処理により、新規生成された頁コンテナは、表示中であった頁コンテナの後頁に位置することになり、新規生成した頁コンテナが表示対象頁コンテナとなり、画面表示される。
(後頁移動処理および前頁移動処理)
図3に示す電子黒板プリケーション100は、上述した処理部として、複数頁が作成されている場合に、現在の表示頁の後(又は前)に位置する頁を表示頁に変更する機能を実現する後頁移動処理部110(又は前頁移動処理部112)を含み構成される。ここでは後頁移動処理を説明するとともに、括弧書きで前頁移動処理について示す。後頁移動処理部110(又は前頁移動処理部112)は、表示対象頁コンテナの更新時刻に現在の時刻を代入し、表示対象頁コンテナの後(又は前)コンテナ識別子を表示コンテナ識別子に代入し、頁コンテナ表示処理へ移行する。
(頁データ記録処理)
図3に示す電子黒板プリケーション100は、処理部の1つとして、生成されている頁データをすべて適切な形式で記録する機能を実現する、頁データ記録処理部118を含み構成される。
頁データ記録処理部118は、データ保存先を取得するため保存先情報取得ダイアログを表示し、ソフトキーボード等を介してファイル名、保存先ディレクトリおよびファイル形式などを受け取り、頁データを所定の形式で保存し、ダイアログを閉じる。頁データの保存形式は、特に限定されるものではなく、背景画像、書き込みデータおよび画面クリップデータを各レイヤに有する単一のPDF(Portable Document Format)ファイルとすることができる。あるいは、頁データは、背景画像のデータ、書き込みデータおよび画面クリップデータを別々のファイルに保存し、これらを関連付けるHTML形式のデータを保存してもよい。
(書き込み取得処理)
図3に示す電子黒板プリケーション100は、処理部の1つとして、タッチパネル50を介し入力される手書きデータを取得し、表示頁に関連付ける機能を実現する、書き込み取得処理部114を含み構成される。詳細な動作は割愛するが、手書きデータの取得は、以下のように行われる。
まず、プロパティとしてタッチパネル50から入力されるポインティング・データが付与された書き込みイベントオブジェクトが生成され発行される。イベント処理部106が書き込みイベントを取得し、書き込み取得処理が呼び出されると、書き込み取得処理部114は、書き込みイベントオブジェクトを取得し、該オブジェクトが保持するポインティング・データを取得する。書き込み取得処理部114は、取得した手書きデータを表示対象頁コンテナの書き込みデータに追記し、頁コンテナ表示処理に移行することにより更新する。図11(B)は、書き込みデータが入力された表示画面230を例示する。
(文書読み込み処理)
ここで、再び図3を参照すると、電子黒板プリケーション100は、上述した処理部の1つとして、指定するドキュメント・ファイルの各頁を背景画像とする新規頁を、表示されている頁に追加し、ドキュメントの最初の頁を表示頁にする機能を実現する、文書読み込み処理部116を含み構成される。
文書読み込み処理部116は、まず読み込むドキュメントを選択するための読込ファイル情報取得ダイアログを表示する。文書読み込み処理部116は、ソフトキーボード等を介してファイル名を取得すると、指定されたファイルの内容を参照して、ファイル内容に対応する画像データをページ単位で生成する。文書読み込み処理部116は、ドキュメント・ファイルの頁すべてについてそれぞれの画像データを背景画像とする頁を挿入する新頁作成処理を繰り返し、最後にドキュメントの第1頁に対応する頁コンテナの頁コンテナ識別子を表示コンテナ識別子に代入し、頁コンテナ表示処理へ移行する。これにより、ドキュメントの第1頁に対応する頁コンテナが表示対象頁コンテナとなり、画面表示される。
(画面クリップ機能)
図3に示す実施形態による電子黒板装置10は、画面クリップ機能に対応した処理部として、ユーザの指示に従い表示されている頁画面の一部を画像データとして切り取り、記録する機能を実現するための画面クリップ切取処理部120および画面クリップ記録処理部126を含み構成される。電子黒板装置10は、さらに、切り取った画面クリップを閲覧し、選択した画面クリップを、現在表示されている頁画面に貼り付ける機能を実現するための画面クリップ閲覧選択処理部122および画面クリップ貼付処理部124を含み構成される。以下、画面クリップに関連する機能について、詳細を説明する。
(画面クリップ切り取り処理)
図7は、本実施形態による画面クリップ切取処理部が実行する、画面クリップ切り取り処理を示すフローチャートである。図7に示す処理は、図11(A)に示すメニュー表示210の切り出しボタン220がタップされ、画面クリップ切り取りイベントがイベント処理部106により取得されたことに応答して、図6に示したステップS217で呼び出され、ステップS300から開始する。画面クリップ切取処理部120は、ステップS301で、まずメニュー表示を非表示状態とし、ステップS302で、切り取りウィンドウを表示する。
図12(A)は、上記ステップS302により表示される、切り取りウィンドウが表示された表示画面を示す図である。図12(A)に示すように、切り取りウィンドウ242は、枠付きの透明ないし半透明なウィンドウであり、予めシステムに規定されたデフォルトの初期サイズで初期表示位置に設定される。図12(A)に示す切り取りウィンドウ242には、移動ボタン244と、リサイズボタン246と、切り取りボタン248と、取消ボタン250とが、切り取りウィンドウ242の枠周辺に配置されている。移動ボタン244は、操作者が切り取りウィンドウ242を移動させるためボタンであり、リサイズボタン246は、操作者が切り取りサイズを変更するためのボタンである。切り取りボタン248は、画面クリップの切り取り処理を確定するためのボタンであり、取消ボタン250は、画面クリップ切り取り処理を中止するためのボタンである。
なお、切り取りウィンドウ242の表示中は、メニューが非表示となっているため、画面クリップの切り取り処理が終了するまで、それ以外の処理は制限される。ステップS303以降、移動ボタン244、リサイズボタン246、切り取りボタン248および取消ボタン250に応じて、対応する処理が実行される。
ステップS303では、画面クリップ切取処理部120は、移動ボタン244が押下された状態であるか否かを判定する。図12(B)は、タッチペン252により移動ボタン244が押下されている状態を示す。ステップS303で、移動ボタン244が押下された状態であると判定された場合(YES)は、ステップS304へ処理が進められる。ステップS304では、画面クリップ切取処理部120は、移動ボタン244がドラッグされて、リリースされたときに、該移動ボタン244がリリースされた位置に応じて切り取りウィンドウ242の始点位置座標を設定する。始点位置座標は、移動ボタン244がリリースされた位置に移動後の切り取りウィンドウにおける移動ボタンが配置されるように座標が計算されて、設定される。ステップS303で、移動ボタン244が押下されていないと判定された場合(NO)は、ステップS305へ処理が進められる。
ステップS305では、画面クリップ切取処理部120は、リサイズボタン246が押下された状態であるか否かを判定する。図13(A)は、タッチペン252によりリサイズボタン246が押下されている状態を示す。ステップS305で、リサイズボタン246が押下されていると判定された場合(YES)は、ステップS306へ処理を進める。ステップS306では、画面クリップ切取処理部120は、リサイズボタン246がドラッグされて、リリースされたときに、リサイズボタン246がリリースされた位置に応じて終点位置座標を設定する。終点位置座標は、切り取りウィンドウ242におけるリサイズボタン246の対角の位置を固定とし、リサイズボタン246がリリースされた位置にリサイズ後の切り取りウィンドウにおけるリサイズボタンが配置されるように、サイズが計算されて、設定される。ステップS305で、リサイズボタン246が押下されていないと判定された場合(NO)は、ステップS307へ処理を進める。
ステップS307では、画面クリップ切取処理部120は、切り取りボタン248がタップされたか否かを判定する。ステップS307で、切り取りボタン248がタップされていないと判定された場合(NO)は、ステップS308へ処理を進める。ステップS308では、画面クリップ切取処理部120は、取消ボタン250がタップされたか否かを判定する。ステップS308で、取消ボタン250がタップされていないと判定された場合(NO)は、ステップS303へループさせる。一方、ステップS308で、取消ボタン250がタップされたと判定された場合(YES)は、ステップS310へ処理を進める。
ここで、再びステップS307を参照すると、ステップS307で、切り取りボタン248がタップされたと判定された場合(YES)は、ステップS309へ処理が進められる。ステップS309では、画面クリップ切取処理部120は、切り取りウィンドウ242の始点および終点の座標情報をプロパティとして保持する画面クリップ記録イベントを発行し、ステップS310へ処理を進める。
画面クリップ切取処理部120は、ステップS310で、切り取りウィンドウ242を非表示状態とし、ステップS311で、メニュー表示を再び表示状態とし、ステップS312で、上述したイベント処理へと処理を進める。図13(B)は、タッチペンで切り取りボタン248が押下され、切り取り処理が行われた後の状態を示す。
図12(B)に示したように、操作者は、指やタッチペン252などで、移動ボタン244を押下し、そのまま移動ボタン244をドラッグすることで、切り取りウィンドウ242を所望の位置へ移動させることができる。そして、操作者は、移動ボタン244をリリースすることで、切り取りウィンドウ242の移動を確定することができる。さらに、図13(A)に示すように、操作者は、指やタッチペン252などでリサイズボタン246を押下し、押下したままリサイズボタン246をドラッグすることで、切り取りウィンドウ242を所望のサイズに変更することができる。そして、操作者は、リサイズボタン246をリリースすることで、切り取りウィンドウ242のサイズ変更を確定することができる。
操作者は、上述のように移動ボタン244とリサイズボタン246を適宜使用して、所望のサイズの切り取りウィンドウ242を所望の位置へ移動させ、切り取りボタン248をタップすることで、切り取りウィンドウの始点および終点の座標情報を設定して、後述する画面クリップ記録処理を実行させることができる。なお、画面内容の切り取りは、例えば本システムがWindows(登録商標)で動作する場合、GDI(グラフィックス・デバイス・インターフェース)と呼ばれるグラフィックス描画機能が提供するAPI(アプリケーション・プログラミング・インタフェース)を利用して実現することができる。
上記画面クリップ切取処理部120は、タッチパネル50を介したディスプレイ40に表示される表示画面中の切り取り画面領域の選択を受け付けており、本実施形態における画面領域切り取り手段を構成する。本実施形態における画面クリップ切取処理部120は、また、表示画面上に切り取り画面領域を画定する切り取りウィンドウ242を表示し、タッチパネル50を介した切り取りウィンドウの位置移動およびサイズ変更の指示を受け付けて、切り取り画面領域を設定する。
(画面クリップ記録処理)
図8は、本実施形態による画面クリップ記録処理部が実行する、画面クリップ記録処理を示すフローチャートである。図8に示す処理は、図7に示したステップS309で、画面記録クリップ記録イベントが発行され、図6に示したステップS219で呼び出されたことに応答して、ステップS400から開始する。ステップS401では、画面クリップ記録処理部126は、画面クリップ記録イベントが保持する切り取りウィンドウ242の始点および終点の座標情報を取得する。
ステップS402では、画面クリップ記録処理部126は、取得した切り取りウィンドウ242の始点および終点の座標情報に従い、切り取りウィンドウ242枠内に相当する領域内の画面内容を切り出し、画像データとして取得する。画面クリップを画像として記録する処理は、例えば本システムがWindows(登録商標)である場合には、Graphics.CopyFromScreenメソッドなどを利用することにより実現することができる。
ステップS403では、画面クリップ記録処理部126は、画面クリップ識別子を生成し、切り取った画面データと、生成した画面クリップ識別子と、現在表示されている表示対象頁コンテナのコンテナ識別子とを用いて、画面クリップ・コンテナを生成する。画面クリップ・コンテナが生成された後、ステップS404では、画面クリップ記録処理部126は、本処理を終了し、イベント処理へ移行させる。上記画面クリップ記録処理部126は、画面領域の画像データを画面クリップとして記録する、本実施形態における画面クリップ記録手段を構成する。
(画面クリップ閲覧処理)
図9は、本実施形態による画面クリップ閲覧選択処理部が実行する、画面クリップ閲覧選択処理を示すフローチャートである。図9に示す処理は、図11(A)に示すメニュー表示210の閲覧貼り付けボタン222がタップされ、画面クリップ閲覧選択イベントがイベント処理部106により取得されたことに応答して、図6に示したステップS221で呼び出され、ステップS500から開始する。画面クリップ閲覧選択処理部122は、ステップS501で、まずメニュー表示を非表示状態とし、ステップS502で、画面クリップ閲覧・選択ウィンドウを表示する。
図14(A)は、上記ステップS502により画面クリップ閲覧・選択ウィンドウが表示された表示画面260を示す図である。図14(A)に示すように、画面クリップ閲覧・選択ウィンドウ262は、所定数の画面クリップ264がサムネイル一覧表示されたウィンドウである。画面クリップ閲覧・選択ウィンドウ262に表示されるサムネイル数やサムネイルのサイズは、予めシステムに設定されたデフォルト値が用いられる。図14の例では、画面クリップ閲覧・選択ウィンドウ262には、3つのサムネイル264a〜264cが選択可能に表示されている。
図14(A)に示す閲覧・選択ウィンドウ262は、さらに、表示する画面クリップの範囲を変更するための左移動ボタン266および右移動ボタン268と、画面クリップ閲覧選択処理を中止するための取消ボタン270とを含む。なお、画面クリップ閲覧・選択ウィンドウ262の表示中は、メニューが非表示となっているため、画面クリップの閲覧選択処理が終了するまで、それ以外の処理は制限される。ステップS503以降、左移動ボタン266、右移動ボタン268、画面クリップ・サムネイル264および取消ボタン270に応じて、対応する処理が実行される。
ステップS503では、画面クリップ閲覧選択処理部122は、右移動ボタン268がタップされたか否かを判定する。ステップS503で、右移動ボタン268がタップされたと判定された場合(YES)は、ステップS504へ処理が進められる。ステップS504では、画面クリップ閲覧選択処理部122は、表示している画面クリップを右へシフトする処理を行う。より具体的には、画面クリップ閲覧選択処理部122は、右端に表示されている画面クリップのサムネイル264cを非表示とし、残りのサムネイル264a,264bを右に1つずつ移動して、左端に表示されていた画面クリップ264aの前に登録された画面クリップのサムネイルを左端に表示する。なお、説明する実施形態では、画面クリップが切り取られた、すなわち画面クリップ・コンテナが生成された順に、画面クリップが並べられており、右側が新しく、左側が古いことを意味する。
一方、ステップS503で、右移動ボタン268がタップされていないと判定された場合(NO)は、ステップS505へ処理が進められる。ステップS505では、画面クリップ閲覧選択処理部122は、左移動ボタン266がタップされたか否かを判定する。ステップS505で、左移動ボタン266がタップされたと判定された場合(YES)は、ステップS506へ処理を進める。ステップS506では、画面クリップ閲覧選択処理部122は、表示している画面クリップを左へシフトさせる処理を行う。より具体的には、画面クリップ閲覧選択処理部122は、左端に表示されている画面クリップのサムネイルを非表示とし、残りのサムネイルを左に移動して、右端に表示されている画面クリップの後に登録された画面クリップのサムネイルを右端に表示する。
一方、ステップS505で、左移動ボタン266がタップされていないと判定された場合(NO)は、ステップS507へ処理が進められる。ステップS507では、画面クリップ閲覧選択処理部122は、画面クリップのサムネイル264がタップされたか否かを判定する。ステップS507で、画面クリップのサムネイル264がタップされていないと判定された場合(NO)は、ステップS509へ処理を進める。ステップS509では、画面クリップ閲覧選択処理部122は、取消ボタン270がタップされ、画面クリップの選択が確定されたか否かを判定する。ステップS509で、取消ボタン270がタップされていないと判定された場合(NO)は、ステップS503へループさせる。
一方、ステップS509で、取消ボタン270がタップされ、画面クリップの選択が確定されたと判定された場合(YES)は、ステップS511へ処理を進める。画面クリップ閲覧選択処理部122は、ステップS511で、画面クリップ閲覧・選択ウィンドウ262を非表示状態とし、ステップS512で、メニュー表示を再び表示状態とする。画面クリップ切取処理部120は、ステップS513で、本処理を終了させて、上記イベント処理へと処理を進める。
ここで、再びステップS507を参照すると、ステップS507で、画面クリップのサムネイル264がタップされたと判定された場合(YES)は、ステップS508へ処理が進められる。図14(B)は、タッチペン272でサムネイル264cがタップされている状態を示す。ステップS508では、画面クリップ閲覧選択処理部122は、選択確定された画面クリップの画面クリップ・コンテナ識別子をプロパティとして保持する画面クリップ貼付イベントを発行する。画面クリップ閲覧選択処理部122は、ステップS510で、画面クリップ閲覧・選択ウィンドウ262を非表示状態とし、ステップS513で本処理を終了させて、上記イベント処理へと処理を進める。
図14に示したように、操作者は、指やタッチペン272などで右移動ボタン268をタップすることで、右端に表示されている画面クリップ264cのサムネイルを隠し、左端に新たな画面クリップを表示させることができる。画面クリップの表示順序は、上述したように画面クリップ・コンテナが生成された順とすることができるが、画面クリップ貼り付け処理での貼り付けられた頻度を考慮するなど、より複雑な順序としてもよい。同様に、操作者は、左移動ボタン266をタップすることで、反対に、左端に表示されている画面クリップのサムネイルを隠し、右端に新たな画面クリップを表示させることができる。
また、図14(B)に示すように、操作者が、表示されている画面クリップのサムネイル264自体をボタンとしてタップすることにより、タップされた画面クリップに選択を確定して、後述する画面クリップの貼り付け処理を実行させることができる。一方、操作者は、取消ボタン270をタップすることにより、画面クリップ閲覧・選択処理を中止し、画面クリップ閲覧・選択ウィンドウ262を閉じて、メニューを再表示させることができる。
上記画面クリップ閲覧選択処理部122は、記録されている1または複数の画面クリップを選択可能に表示し、この1または複数の画面クリップの中から貼付対象の選択を受け付けており、本実施形態における画面クリップ閲覧手段を構成する。本実施形態における画面クリップ閲覧選択処理部122は、上記画面クリップのサムネイル表示の一覧を含んで構成される閲覧・選択ウィンドウ262を表示画面上に表示させ、タッチパネル50を介したサムネイルに対する操作に応答して貼付対象の画面クリップを設定する。
(画面クリップ貼付処理)
図10は、本実施形態による画面クリップ貼付処理部が実行する、画面クリップ貼付処理を示すフローチャートである。図9に示したステップS508で、画面クリップ貼付イベントが発行され、図6に示したステップS223で呼び出されたことに応答して、ステップS600から開始する。
ステップS601では、画面クリップ貼付処理部124は、貼付対象として選択確定された画面クリップ・コンテナの画面クリップ・コンテナ識別子を画面クリップ貼付イベントから取得する。ステップS602では、画面クリップ貼付処理部124は、貼付対象として選択確定された画面クリップ・コンテナが保持する画面クリップデータを取得する。ステップS603では、画面クリップ貼付処理部124は、取得された画面クリップデータを内容とする画面クリップ貼り付けウィンドウを表示する。
図15(A)は、上記ステップS603により表示される、画面クリップ貼り付けウィンドウ(以下、単に貼り付けウィンドウと参照する。)が表示された表示画面を示す図である。図15(A)に示すように、貼り付けウィンドウ282は、選択確定された画像クリップを内容とする枠付きのウィンドウであり、予めシステムに規定されたデフォルトの初期表示位置に、例えば画面クリップの等倍の初期サイズで設定される。
図15(A)に示す貼り付けウィンドウ282には、図12(A)に示した切り取りウィンドウ242に類似し、移動ボタン284と、リサイズボタン286と、貼り付けボタン288と、取消ボタン290とが、貼り付けウィンドウ282の枠周辺に配置されている。移動ボタン284は、操作者が貼り付けウィンドウ282を移動させるためボタンであり、リサイズボタン286は、操作者が貼り付けウィンドウ282のサイズを変更するためのボタンである。貼り付けボタン288は、画面クリップの貼り付け処理を確定するためのボタンであり、取消ボタン290は、画面クリップ貼り付け処理を中止するためのボタンである。
なお、貼り付けウィンドウ282の表示中は、依然としてメニューが非表示となっているため、画面クリップの貼り付け処理が終了するまで、それ以外の処理は制限される。ステップS604以降、移動ボタン284、リサイズボタン286、貼り付けボタン288および取消ボタン290に応じて、対応する処理が実行される。
ステップS604では、画面クリップ貼付処理部124は、移動ボタン284が押下された状態であるか否かを判定する。ステップS604で、移動ボタン284が押下された状態であると判定された場合(YES)は、ステップS605へ処理が進められる。ステップS605では、画面クリップ貼付処理部124は、移動ボタン284がドラッグされて、リリースされたときに、該移動ボタン284がリリースされた位置に応じて貼り付けウィンドウ282の始点位置座標を設定し、表示する。始点位置座標は、移動ボタン284がリリースされた位置に移動後の貼り付けウィンドウにおける移動ボタンが配置されるように座標が計算されて、設定される。ステップS604で、移動ボタン284が押下されていないと判定された場合(NO)は、ステップS606へ処理が進められる。
ステップS606では、画面クリップ貼付処理部124は、リサイズボタン286が押下された状態であるか否かを判定する。ステップS606で、リサイズボタン286が押下されていると判定された場合(YES)は、ステップS607へ処理を進める。ステップS607では、画面クリップ貼付処理部124は、リサイズボタン286がドラッグされて、リリースされたときに、リサイズボタン286がリリースされた位置に応じて貼り付けウィンドウ282の終点位置座標を設定し、表示する。
終点位置座標は、貼り付けウィンドウ282におけるリサイズボタン286の対角の位置を固定とし、リサイズボタン286がリリースされた位置にリサイズ後の貼り付けウィンドウにおけるリサイズボタンが配置されるように、サイズが計算されて、設定される。貼り付けウィンドウ282内には、上記計算されたサイズに応じた倍率で、選択確定された画像クリップの画像が表示される。ステップS606で、リサイズボタン286が押下されていないと判定された場合(NO)は、ステップS608へと処理が進められる。
ステップS608では、画面クリップ貼付処理部124は、貼り付けボタン288がタップされたか否かを判定する。ステップS608で、貼り付けボタン288がタップされたと判定された場合(YES)は、ステップS609へ処理が進められる。ステップS609では、画面クリップ貼付処理部124は、表示対象頁コンテナに、選択確定された画面クリップ・コンテナ識別子と、貼り付けウィンドウ282の始点および終点の座標情報に応じた貼り付け位置情報とを登録する。ステップS610では、画面クリップ貼付処理部124は、貼り付けウィンドウ282を非表示状態とし、ステップS611で、上述した頁コンテナ表示処理へと処理を進める。
ここで、再びステップS608を参照すると、ステップS608で、貼り付けボタン288がタップされていないと判定された場合(NO)は、ステップS612へ処理を進める。ステップS612では、画面クリップ貼付処理部124は、取消ボタン290がタップされたか否かを判定する。ステップS612で、取消ボタン290がタップされていないと判定された場合(NO)は、ステップS604へループさせる。一方、ステップS612で、取消ボタン290がタップされたと判定された場合(YES)は、ステップS613へ処理を進める。ステップS613では、画面クリップ貼付処理部124は、貼り付けウィンドウ282を非表示状態とし、ステップS614で、メニュー表示を再び表示状態とする。ステップS615では、画面クリップ貼付処理部124は、本処理を終了させて、上記イベント処理へと処理を進める。
図15(A)に示したように、操作者は、指やタッチペン292などで、移動ボタン284を押下し、そのまま移動ボタン284をドラッグすることにより、貼り付けウィンドウ282を所望の位置へ移動し、移動ボタン284をリリースすることで、切り取りウィンドウ282の移動を確定することができる。さらに、操作者は、指やタッチペン292などでリサイズボタン286を押下し、押下したままリサイズボタン286をドラッグすることで、貼り付けウィンドウ282を所望のサイズに変更し、リサイズボタン286をリリースすることで、貼り付けウィンドウ282のサイズ変更を確定することができる。
そして、操作者は、上述した移動ボタン284とリサイズボタン286とを適宜使用して、所望のサイズの貼り付けウィンドウ282を所望の位置へ移動させ、貼り付けボタン288をタップすることで、貼り付けウィンドウ282の始点および終点の座標情報に応じた位置および倍率で、画面クリップ貼り付けウィンドウに表示されている画面クリップを、表示している頁に貼り付けることができる。図15(B)は、画面クリップの貼り付け処理を繰り返し実行し、書き込みを行い、討議結果のまとめや振り返りのための頁を作成した場合の表示画面を例示する。
上記画面クリップ貼付処理部124は、貼付対象の画面クリップを表示画面内に貼り付けており、本実施形態における画面クリップ貼り付け手段を構成する。本画面クリップ貼付処理部124は、ディスプレイ40上に貼付対象の画面クリップを貼り付ける領域を画定する貼り付けウィンドウ282を表示し、タッチパネル50を介した貼り付けウィンドウ282の位置移動およびサイズ変更の指示に対応して、貼付対象の画面クリップを貼り付ける位置および大きさを設定する。
(終了処理)
ここで、再び図3を参照すると、電子黒板プリケーション100は、上述した処理部の1つとして、アプリケーション・ウィンドウを閉じ、アプリケーションを終了する機能を実現する、終了処理部130を含み構成される。終了処理部130は、終了確認ダイアログを表示し、確認を得た上で、本電子黒板アプリケーションをシャットダウンする。
(その他)
なお、上述までの実施形態では、説明を省略してきたが、他の実施形態では、書き込みの色や太さなどの属性を変更する機能、書き込みデータを消去する機能を備えてもよい。
(画面クリップ切り取り処理の変形例)
電子黒板装置10においては、操作者は、ディスプレイ40およびタッチパネル50を用いているため、マウスを使用した通常のパーソナル・コンピュータの操作と比較して、正確なポインティング操作が困難である。以下、操作者に正確なポインティング操作を要求しなくても、画面クリップの切り取りを実現できる変形例の実施形態について説明する。
なお、説明する変形例による実施形態においては、画面クリップ切り取り処理以外の処理については、上述した実施形態と同様であるため、以下、画面クリップ切り取り処理について説明する。
図16は、変形例の実施形態による画面クリップ切取処理部が実行する、画面クリップ切り取り処理を示すフローチャートである。図16に示す処理は、図11(A)に示すメニュー表示210の切り出しボタン220がタップされ、画面クリップ切り取りイベントがイベント処理部106により取得されたことに応答して、図6に示したステップS217で呼び出されて、ステップS700から開始する。画面クリップ切取処理部120は、ステップS701で、まずメニュー表示を非表示状態とし、ステップS702で、切り取りメニューおよび切り取りグリッドを表示する。
図17(A)は、上記ステップS702により表示される切り取りメニューおよび切り取りグリッドが表示された表示画面300を示す図である。図17(A)に示すように、切り取りメニュー310は、「セルを小さくする」(セル縮小)ボタン312と、「セルを大きくする」(セル拡大)ボタン314と、「選択領域を切り取る」(切り取り)ボタン316と、「メニューを最小化する」(最小化)ボタン318と、「切り取りをやめる」(取消)ボタン320とを含み構成される。
切り取りグリッド302は、縦ラインおよび横ラインにより升目状に半透明のセル304の配列を規定する。各セル304は、切り取り範囲を選択するためのボタンとして機能する。各セル304は、タップされると、選択状態または非選択状態が切り替えられる。図17(B)は、表示画面内の一部領域が選択されている状態の表示画面を例示する。図17(B)において、白色になっているセル332が選択状態のセルを示し、その他の灰色となっているセルが非選択状態のセルを示す。
セル縮小ボタン312は、上記切り取りグリッドの縦ラインおよび横ラインの間隔を狭めて、セルのサイズを縮小し、より詳細な切り取り範囲を選択可能とするためのボタンである。セル拡大ボタン314は、上記切り取りグリッドの縦ラインおよび横ラインの間隔を広くし、セルのサイズを拡大し、より粗く切り取り範囲を選択可能とするためのボタンである。切り取りボタン316は、選択した切り取り範囲について画面クリップの切り取り処理を確定するためのボタンである。最小化ボタン318は、メニュー310を最小化するためのボタンであり、取消ボタン320は、画面クリップ切り取り処理を中止するためのボタンである。
なお、切り取りメニュー310および切り取りグリッド302の表示中は、メニューが非表示となっているため、画面クリップの切り取り処理が終了するまで、それ以外の処理は制限される。ステップS703以降、セル縮小ボタン312と、セル拡大ボタン314と、切り取りボタン316と、最小化ボタン318と、取消ボタン320とに応じて、対応する処理が実行される。
ステップS703では、画面クリップ切取処理部120は、セル縮小ボタン312がタップされたか否かを判定する。ステップS703で、セル縮小ボタン312がタップされたと判定された場合(YES)は、ステップS704へ処理が進められる。ステップS704では、画面クリップ切取処理部120は、セル・サイズを1段階下げて切り取りグリッドを再表示させる。
図18(A)は、図17(A)に示すセル・サイズよりもセル344のサイズが一段階縮小された切り取りグリッド342を例示する。図17(A)に示す表示画面300では、セルは縦横の両方向に10分割ずつになっているが、図18(A)では、セルは縦横の両方向20分割ずつであり、すなわち2倍のきめ細やかさになっている。加えて、図18(A)において、従前選択状態とされていたセルも選択状態のまま細分化されることが好ましい。なお、セルの縮小および拡大の程度は、2倍に限らず自由に設定してよい。セル・サイズが既に最小である場合は、最小のセル・サイズのままとされる。セル・サイズについても、任意の段階数とすることができる。一方、ステップS703で、セル縮小ボタン312がタップされていないと判定された場合(NO)は、ステップS705へ処理が進められる。
ステップS705では、画面クリップ切取処理部120は、セル拡大ボタン314がタップされたか否かを判定する。ステップS705で、セル拡大ボタン314がタップされたと判定された場合(YES)は、ステップS706へ処理を進める。ステップS706では、画面クリップ切取処理部120は、セル・サイズを1段階上げて切り取りグリッドを再表示させる。セル・サイズが既に最大である場合は、最大のセル・サイズのままとされる。一方、ステップS705で、サイズ拡大ボタン314がタップされていないと判定された場合(NO)は、ステップS707へ処理を進める。
ステップS707では、画面クリップ切取処理部120は、セルがタップされてセルの選択が行われたか否かを判定する。ステップS707でセル選択が行われた判定された場合(YES)は、ステップS708へ処理を進める。ステップS708では、タップされたセルの状態を切り替えて、選択範囲を変更する。タップされたセルが非選択状態であれば、選択状態に変更する。一方、タップされたセルが選択状態であれば、非選択状態に変更する。
また図18(B)に示すように、セル選択によって選択状態のセルにより閉じた領域352が形成された場合は、画面クリップ切取処理部120は、その内側のセル354についても、非選択状態から選択状態へ変更を行う。操作者が選択したセルが閉領域を構成する場合に、自動的に領域内のすべてのセルを選択状態することにより、マウスのように高精度な操作をせずに、操作者が簡便かつ効率的に切り取り領域を選択できるようになる。一方、ステップS707で、セルがタップされていないと判定された場合(NO)は、ステップS709へ処理を進める。
ステップS709では、画面クリップ切取処理部120は、最小化ボタン318がタップされたか否かを判定する。ステップS709で最小化ボタン318がタップされたと判定された場合(YES)は、ステップS710へ処理を進める。ステップS710では、切り取りメニュー310を最小化し、図示しない最小化解除ボタンを表示する。切り取りメニュー310は、表示画面内の指定位置に固定である必要はないが、通常ある程度の画面領域を占有してしまうため、最小化することで操作者が画面領域の選択および非選択を容易に行えるようになる。ステップS709で、最小化ボタン318がタップされていないと判定された場合(NO)は、ステップS711へ処理を進める。
ステップS711では、画面クリップ切取処理部120は、図示しない最小化解除ボタンがタップされたか否かを判定する。ステップS711で最小化解除ボタンがタップされたと判定された場合(YES)は、ステップS712へ処理を進める。ステップS712では、画面クリップ切取処理部120は、切り取りメニュー310の最小化を解除する。一方、ステップS711で、最小化解除ボタンがタップされていないと判定された場合(NO)は、ステップS713へ処理が進められる。
ステップS713では、画面クリップ切取処理部120は、切り取りボタン316がタップされたか否かを判定する。ステップS713で切り取りボタン316がタップされていないと判定された場合(NO)は、ステップS715へ処理を進める。ステップS715では、画面クリップ切取処理部120は、取消ボタン320がタップされたか否かを判定する。ステップS715で、取消ボタン320がタップされていないと判定された場合(NO)は、ステップS703へループさせる。一方、ステップS715で、取消ボタン320がタップされたと判定された場合(YES)は、ステップS716へ処理を進める。
ここで、再びステップS713を参照すると、ステップS713で切り取りボタン316がタップされたと判定された場合(YES)は、ステップS714へ処理が進められる。ステップS714では、画面クリップ切取処理部120は、上記各セルの選択状態に応じて、多角形として構成される選択範囲の各頂点の座標情報を計算し、該座標情報をプロパティとして保持する画面クリップ記録イベントを発行し、ステップS716へ処理を進める。
ステップS716では、画面クリップ切取処理部120は、切り取りグリッド302および切り取りメニュー310を非表示状態とする。ステップS717では、画面クリップ切取処理部120は、メニュー表示を再び表示状態とし、ステップS718で、上述したイベント処理へと処理を進める。
操作者は、上述のように切り取りグリッド上でセルの状態を適宜切り替えることで、所望の切り取り領域を画定することができる。そして、切り取り領域が画定された状態で、切り取りボタン316をタップすることで、切り取り領域を構成する多角形の各頂点の座標情報を設定して、上述した画面クリップ記録処理を実行させることができる。
上記画面クリップ切取処理部120は、表示画面上に複数のセル配列を表示させ、タッチパネル50を介したセルに対する操作に応答して、操作にかかるセルにより規定される領域が切り取り画面領域に含まれるか否かを示す状態値を変更し、セル配列のセル各々の状態値に応じて切り取り画面領域を設定する。上記画面クリップ切取処理部120は、さらに、切り取り画面領域に含まれることを示す状態値を有するセルが閉領域を構成した場合に、該閉領域内部のセルの状態値を切り取り画面領域に含まれることを示す状態値に変更する。
上述までの実施形態によれば、表示画面の一部の内容を画面クリップとして記録し、記録した画面クリップを別の表示画面上へ貼り付ける機能が実現される。この構成により、表示画面を遷移させる手間が低減され、議論の流れの阻害を除去することができる。さらに、通常着目箇所が画面クリップされるため、振り返る際も議論の注目部分を把握することが容易となる。その結果、会議中に少し前に閲覧や書き込みをしていた画面内容を振り返ることで議論内容を再確認したり、会議終了時に会議中の画面内容を振り返ったりすることで、効率的に結論などをまとめるといったことが容易にできるようになる。
以上説明した実施形態によれば、電子黒板装置10に、表示画面の一部の内容を画面クリップとして記録し、記録した画面クリップを閲覧し、記録した画面クリップを表示画面上へ貼り付ける機能を実現することにより、会議中に閲覧および活用していた画面内容の着目箇所を効率的に再活用することを支援する、電子黒板装置、画面表示方法およびプログラムを提供することができる。
また、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。