以下に添付図面を参照して、この発明にかかる電子会議システムおよび電子会議方法の最良な実施の形態を詳細に説明する。
(第1の実施の形態)
この実施の形態では、会議情報である文書とこの文書への上書きの位置情報を取得するものである。また、表示文書位置と上書き位置を関連付けて保存するために、文書と上書きを表示する画面画像を保存することが実行される。上書き、スクロール表示すると上書が邪魔となるため画面画像を保存、上書きを消去する。上書き位置が残る程度スクロール表示、前の上書きも必要となる場合、再描画する必要がある。または、保存した画像を表示、スクロール部分を表示するため文書表示へ戻る等の煩わしい操作が必要となる。そこで、本発明は文書のスクロール表示により上書きの保存、再描画の手間を省くものである。
また、文書の表示倍率により、文書の同一位置が画面上異なる位置へ表示される。100%で描画、120%表示時100%表示時の位置へ上書きを再描画しても位置ずれが発生することになる。そこで、本発明は上書きと文書の位置ずれを防止する。また、文書の表示領域ウィンドウの大きさにより、文書の同一位置が画面上異なる位置へ表示される。このため上書き時と表示時のウィンドウの大きさが異なると上書きを再描画しても位置ずれが発生することになる。そこで、本発明は上書きと文書の位置ずれを防止する。また、複数のウィンドウを並べて表示する場合、ウィンドウが重なり説明箇所が見なくなるのを避けるため移動することが通常行なわれる。移動前の上書きを移動後に描画時の位置へ再表示しても上書き位置がずれ意味をなさないことになる。そこで、本発明はAPLウィンドウの移動を可能とする。さらに、上書きを保存する場合、文書画像と上書きを重ねた画像を保存する。この場合、上書きと文書画像が一体となっているため上書きのみの編集操作が困難となる。また、同一資料による講義、講演を複数回実行する場合、予め準備、あるいは最初の講義(講演)時の上書きを表示するためには、上書き画像を選択表示する煩わしい操作が必要となる。そこで、本発明は上書きの再利用編集を可能とする。以下、具体的に説明する。
図1−1〜図1−3は、本発明の第1の実施の形態にかかるPC会議システムの構成例を示すブロック図である。これらの図に示すように、会議システムには、離れた場所に通信ネットワークを介して相互通信可能に接続された端末を用いた「多地点会議」、会議室などにおいて通信ネットワークを介して相互通信可能に接続された端末を用いた「室会議」、机上での会議や連絡などを行なう「机上会議」に分けられる。なお、この明細書においてはパーソナルコンピュータの機能を有する端末をPCあるいはPC端末と略して記述する。
これらの図において、符号10はLAN(Local Area Network:企業情報通信網)、符号20はスクリーン、符号30はプロジェクタ、符号40はルータ、符号50はWAN(Wide Area Network:広域通信網)、符号60は基地局、符号70は一般の電話、符号75は電話回線、符号100TはタブレットPC、符号100Tmは無線通信によるタブレットPC、符号100Pは一般的に普及されているパーソナルコンピュータ、符号110は表示一体型座標入力装置(PDP:液晶リアプロジェクタなど)である。
タブレットPC100T(図1−1下側)は、LAN10、ルータ40、WAN50を介して遠隔地、LAN10内の各PC端末と接続されている。大型の表示一体型座標入力装置110をディスプレイとするPC端末は、会議室などに設置され複数の人に画面が共有される。タブレットPC100Tmは、無線モデムにより構外から他のPC端末と接続される。タブレットPC100T(図1−1上側)は、プロジェクタ30へ画像出力、スクリーン表示によって画面を共有する。一般的なPC100Pは、ペン操作に比べて操作性が劣るがマウスで操作を行なう。なお、会議で使用するプログラムは各PC端末に存在する。
すなわち、図1の構成において、Windows(米マイクロソフト社の登録商標)、MAC OS等の汎用OS下で動作するAPLプログラムで表示中の文書のページ、ラインなどの位置情報を他のAPLへ提供しないAPLプログラムが表示する文書へマウス操作により手書き文字(図)を上書き描画、文書位置と描画位置を整合させて描画データを保存、描画時の文書位置へ再表示させる。また、表示面に透明に設置された座標入力装置付きのPDP、液晶リアプロジェクタ等の大型表示装置をPC(パソコン)のディスプレイとして接続、PCの電子文書として作成された講義(講演)資料を表示、ペン等の座標指示物により手書き文字(図)を上書き描画、文書位置と描画位置を整合させて描画データを保存、描画時の文書位置へ再表示させる。また、タブレットPCにプロジェクタを接続、スクリーンへPCの電子文書として作成された会議資料を表示、専用ペンにより手書き文字(図)を上書き描画、文書位置と描画位置を整合させて描画データを保存、描画時の文書位置へ再表示させる。
図2は、図1における表示一体型座標入力装置110の構成を示す説明図である。ここでは、表示一体型座標入力装置110として、大型(50インチ、60インチなど)の液晶プロジェクタを例にとって説明する。この表示一体型座標入力装置110は、大きくは、座標入力装置111、表示装置112、ホスト装置113から構成されている。座標入力装置111は、表示装置112の画面を隠さないように設置された画面上に触れた座標指示物の位置を表示装置112の画素(ピクセル)数(X軸方向1024、Y軸方向768など)に対応した(X,Y)座標を周期的(5ms、10msなど)を検出し、ホスト装置113へPCI/F(RS232C、USBなどの通信手段)を介して送出する。表示装置112は、ホスト装置113が出力するRGB画像データを液晶画面、PDP画面へ表示する。
図3は、図2の座標入力装置111における座標検知方式を示す説明図である。ここでは、光遮断方式を例にとって説明する。左座標指示物検知器115、右座標指示物検知器116は、半導体レーザーにより照射光を発光し、光再帰性販社部材114により反射される光を検知してアナログデータに変換し、座標検知制御装置117へ送出する。画面上に指、ペンなどの座標指示物がない場合、照射光は光再帰性販社部材114により180度反対方向に反射され受光される(画面右側の矢印参照)。
他方、座標指示物が画面上に存在する場合、照射光は遮られ光再帰性販社部材114に反射されず左座標指示物検知器115、右座標指示物検知器116は受光しない。この受光のない方向(光遮断角)を左座標指示物検知器115、右座標指示物検知器116により左光遮断角度(θL)、右光遮断角度(θR)を検出し、図示するH,W,θL,θRから下記の式にしたがって座標指示物のX座標、Y座標を算出する。
X=W×tanθR/(tanθL+tanθR)
Y=H−W×tanθL×tanθR/(tanθL+tanθR)
その後、この検知座標は、ホストPC113に標準装備されているRS232C、USBなどの通信手段により通知される。
図4は、図1におけるタブレットPCの構成を示す説明図である。タブレットPCは、キーボードとマウス操作を前提とする既存のPCに代わり、ペンでマウスの代わりに操作し、キーボードの代わりにテキスト入力を手書き文字描画、あるいは文字認識により行なえるタッチパネルが標準装備になっている。また、米Microsoft社からタブレットPC用OSである「Windows(米マイクロソフト社の登録商標) PC Tablet PC Edition(登録商標)」がリリースされ、手書き文字認識エンジン、音声認識エンジンなどが提供されている。
タブレットPCは、一般的なノートPCと同様に液晶ディスプレイとキーボード、マウスで構成され同様の操作が可能になる。また、図4右側に、ディスプレイを180度回転させ折りたたんだ状態を示す。電子ペン101とタブレットPCにより内蔵されたセンサーによりディスプレイ上の電子ペン101の座標位置を検知し、マウスのクリック、ドラッグ操作をエミュートする。水平のディスプレイと電子ペン101によりマウス操作では困難な手書き文字が紙に文字を書く感覚で描画可能になる。
図4右側下部に、電子ペン101が描画するディスプレイ102の構成を示す。電子ペン101が直接接触する面には強化ガラス102aが設けられ、液晶ディスプレイユニット102bが傷つくのを防止する。液晶ディスプレイユニット102bの下には電子ペン101の位置を検知する電磁誘導センサーユニット102cが設けられ、ディスプレイの画像品質を損なわない構造となっている。なお、ここでは、ディスプレイを折りたたむ形式を例にとったが、ディスプレイ部分を取り外せるタイプもある。
図5−1は、図4における電磁誘導による座標検知方式例を示す説明図である。この図において、コイル104とコンデンサ105を有する共振回路103が電子ペン101に内蔵され、電磁誘導センサーユニット102cのセンサーコイル106に流れる電流による磁界により、コイル103に誘導起電圧が生じ、コンデンサ104を有する共振回路103が励磁され共振電流が流れる。センサーコイル106は、座標検知精度に比例した密度に設置される。この図ではX軸方向を検知するためのセンサーコイルの一部を示している。図示しないが、これと直角方向にY軸方向を検知するためのセンサーコイルが配置されている。座標検知制御装置107は、送受切替スイッチ108を制御して送受切替スイッチ108をACに接続し、交流電源からセンサーコイルに電流を流し、X軸コイル切替スイッチ109を制御し、高速にスイッチを切り替え順次センサーコイルへ電流を流す。これにより、センサーコイル上に順次磁界が発生する。この磁界により電子ペン101が共振することになる。つぎに、送受切替スイッチ108をBCに接続し、X軸コイル切替スイッチ109を順次高速に切り替える。このとき、電子ペン101の共振電流が発する磁界によりセンサーコイルに誘導電圧が発生する。このセンサーコール106に発生する誘導起電圧を増幅し測定(V)する。
図5−2に上記の誘導起電圧分布図を示す。電子ペン101がセンサーコイル106の(2)上にある場合、センサーコイル106の(2)から受信される誘導起電圧がもっとも高くなる。これにより、誘導起電圧分布のもっとも高い点を検出することによりX座標が確定する。また、図示していないが同様にしてY座標を確定する。
このように検知した電子ペン101の座標は、PCI/F(RS232C、USBなど汎用I/Fまたは専用I/F)によりPCへ通知される。なお、座標検知制御装置107はディスプレイ102に内蔵されている。
つぎに、図6を参照しOSが提供するI/Fにより取得できるスクロール情報について説明する。まず、図示するように、画面幅(W)、画面高さ(H)が取得される。タイトルウィンドウ情報、ウィンドウキャプションから入力中のファイル名が取得される。文書表示領域のウィンドウ左上原点座標(WX,WY)、ウィンドウ幅(WW)、ウィンドウ高さ(WH)が取得される。画面表示中の全ウィンドウ情報(左上原点座標、幅、高さ、ウィンドウクラス)を取得、(ウィンドウ左上原点Y座標WY+WH)、(ウィンドウクラス「ScrollBar」:Windows(米マイクロソフト社の登録商標)における値)となるウィンドウを検索することにより水平スクロールバーウィンドウの左上原点座標(HX,HY)、ウィンドウ幅(HW)、ウィンドウ高さ(HH)が取得される。
また、水平スクロールボックス幅(HB)、水平スクロールボックス位置(HP)が取得される。矢印ボタン幅(HS)が取得される。画面表示中の全ウィンドウ情報(左上原点座標、幅、高さ、ウィンドウクラス)を取得、(ウィンドウ左上原点X座標≒WX+WW)、(ウィンドウクラス「ScrollBar」:Windows(米マイクロソフト社の登録商標)となるウィンドウを検索することにより垂直スクロールバーウィンドウの左上原点座標(VX、VY)、ウィンドウ幅(VW)、ウィンドウ高さ(VH)が取得される。また、垂直スクロールボックス高さ(VB)、垂直スクロールボックス位置(VP)が取得される。矢印ボタン高さ(VS)が取得される。
つぎに、図7を参照し画面座標からスクロール空間座標への算出方法を説明する。図示するように、水平スクロールボックスをHB長移動すると文書表示領域の文書がWW長水平スクロール表示する。垂直スクロールボックスをVB長移動すると文書表示領域の文書がWH長垂直スクロール表示する。スクロールにより表示される全文書領域をスクロール幅(SW)、スクロール高さ(SX)からなるスクロール空間として管理する。また、画面座標(X,Y)を文書領域内座標((X−WX),(Y−WY))に変換、スクロール空間座標(SX,SY)に変換する。
SX = HP + (X − WX) / WW × HB
SY = VP + (Y − WY) / WH × VB
つぎに、図8を参照しスクロール空間座標から画面座標への算出方法を説明する。図示するように、スクロール情報により画面表示領域のスクロール空間は左上座標(HP,VP)、幅(HB)、高さ(H)となる。スクロール空間における(SX-HP)長は、画面空間長((SX−HP)/HB×WW)となる。スクロール空間における(SY-VP)長は、画面空間長((SY−VP)/VB×WH)となる。スクロール空間座標(SX,SY)から画面座標(X,Y)は以下により算出される。
X = WX + (SX−HP)/HB×WW
Y = WY + (SY−VP)/VB×WH
つぎに、図9を参照し表示条件が変更された場合の自動検知方法を説明する。文書表示倍率、文書表示領域ウィンドウの大きさにより文書上の同一点の座標が異なることになる。表示倍率の変化は水平スクロールボックス幅、垂直スクロールボックス高さに反映される。垂直スクロールボックス高さがVBからVB0へ変化した場合、表示倍率が(VB/VB0)へ変化したことを示す。ウィンドウの大きさ変化はウィンドウ幅、高さに反映される。
つぎに、図10を参照し上書きストロークデータを説明する。この図10において、(X0,Y0)、(X1,Y1)、(X2,Y2)、(X3,Y3)、(X4,Y4)、(X5,Y5)、(X6,Y6)が1ストロークのドラッグ軌跡を示す。手書き文字描画は2点間((X0,Y0)−(X1,Y1)、(X1,Y1)−(X2,Y2)、...)を設定されている色、太さにて線描画することにより描画する。文字描画操作によるドラッグ軌跡座標はスクロール空間座標へ変換、ストローク単位に上書きファイルへ保存する。手書き文字の消去は、ペンタッチ点を中心に消しゴムに設定されている大きさの矩形領域を表示、手書き文字上へドラッグすることにより矩形領域内の手書き文字を消去する。手書き文字消去操作により、(X3,Y3)−(X4,Y4)線分、(X4,Y4)−(X5,Y5)線分が消去され2ストロークに分割された状態を示す。消去された線分のストロークデータを上書きファイルから削除する。消去によりストロークが複数に分割される場合、複数ストロークに分割保存する。
つぎに、図11を参照し上書き領域選択方法について説明する。上書きプログラム起動時、上書き領域へのクリックによりAPLプログラムが実行されるのを防止するため、全画面透明ウィンドウを表示する。「領域選択」ダイアログボックスを表示し、上書き領域のクリックによる選択を要求する。クリックされた座標下のウィンドウ情報を取得、ウィンドウ枠(赤)を表示する。「領域確認」ダイアログボックスを表示し、確認する。選択された上書き領域のウインドウクラス、ウィンドウスタイルを上書きファイルへ保存する。文書を表示するAPLプログラムのウィンドウ情報を取得し、ウィンドウ幅、高さを保存する。文書領域をスクロール表示するスクロールバーを検索、水平スクロールボックス幅、垂直スクロールボックス高さを保存する。
つぎに、図12を参照し上書き操作について説明する。図示するように、上書きプログラムが起動されると「上書きツールバー」を表示する。「設定」ボタンにより「上書きの設定」ダイアログボックスを表示、上書きペンの太さ、色を選択する。消しゴムカーソル長の選択は操作ハンドルをドラッグすることにより行う。「ペン」ボタンにより透明な全画面サイズからなる上書きウィンドウを表示、上書きが可能となる。ペンに設定されている色、太さにてドラッグ軌跡を順次線描画することにより手書き文字(図形)を上書きウィンドウ上へ描画する。ストローク単位にドラッグ軌跡座標をスクロール空間座標へ変換、上書きファイルへ保存する。「消しゴム」ボタンによりマウス座標を中点する消しゴムカーソル矩形を表示、矩形内の上書きを消去、上書きファイルから削除する。「APL」ボタンにより上書きウィンドウが閉じ、APLプログラム操作を可能にする。ペン、または消しゴムボタンにより再び上書きモードへ移行する。このときスクロールバー情報を取得、文書表示領域のスクロール空間座標を算出、同領域への上書きデータが存在すれば再描画する。表示倍率が変更された場合、上書き時表示倍率へ戻す比率を算出(上書き時100%、現在表示120%であれば(100120)「表示倍率設定」ダイアログボックスを表示する。文書を表示するAPLウィンドウの大きさが変更された場合、「ウィンドウ修復」ダイアログボックスを表示する。ウィンドウサイズ変更はOSが提供するI/Fにより自動修復する。上書き時の状態に戻ったとき、保存されている上書きを再表示、上書きを可能にする。
つぎに、図13を参照し上書きの閲覧、修正方法について説明する。上書き終了時、「保存確認」ダイアログボックスを表示、保存するか確認する。「保存」ダイアログボックスにより上書きファイル153を指定、上書きデータを保存する。文書APLプログラム151を起動、上書き対象となった文書ファイル150を開き表示する。上書きプログラム152を起動、上書きツールバー「開く」ボタンにより「開く」ダイアログボックスを表示、上書きファイル143を開き、文書領域のスクロールバー情報を取得し、表示文書のスクロール空間座標を算出し、同空間への上書きを描画する。以後は上書き時と同様の操作となり、上書きの追加、消去が可能となる。
つぎに、図14のフローチャートを参照し上書き制御動作について説明する。まず、上書きプログラムはデスクトップアイコンのダブルクリック等OSが提供する手段により起動され上書きツールバーを表示する(ステップS1)。続いて、上書き開始制御を実行、初期化し(ステップS2)、起動時、操作モードを「APL」に設定する(ステップS3)。この時点では全画面サイズからなる透明な上書きウィンドウは表示されておらずマウスデータは上書きツールバーへの操作のみ通知される。続いて、マウスデータの入力有無を判断し(ステップS4)、マウスデータを入力する。さらに、このマウスデータが上書きツールバー座標であるかを判断し(ステップS5)、上書きツールバー座標でなければ、さらにペンの操作モードであるかを判断する(ステップS6)。ペンモード時、上書きツールバー外へのクリックON開始(ペンダウン)座標入力により開始座標を引数として上書き描画制御を実行する(ステップS7)。操作モードが「ペン」、または、「消去」である場合、上書きウィンドウが表示され全マウスデータを入力する。ステップS6においてペンの操作モードでなければ、さらに消去の操作モードであるかを判断し(ステップS8)、消去モード時、上書きツールバー外へのクリックON開始(ペンダウン)座標入力により開始座標を引数として上書き消去制御を実行する(ステップS9)。ステップS5において上書きツールバー座標であれば、上書きツールバーへのクリックON開始(ペンダウン)座標入力により開始座標を引数として上書きツールバー制御を実行する(ステップS10)。さらに終了の有無を判断し(ステップS11),終了であれば、上書きツールバー「終了」ボタンにより上書きツールバーを消去し(ステップS12)、保存確認ダイアログを表示する(ステップS13)。ここで保存するか否かを判断し(ステップS14)、保存であれば、保存ダイアログ処理を実行し(ステップS15)、上書きファイルへ保存する(ステップS16)。
つぎに、図15のフローチャートを参照し上書き開始制御動作について説明する。まず、作業用の上書きファイルを作成する(ステップS21)。さらに、ペン色、太さ、消しゴム長のデフォルト値を制御データへ設定し(ステップS22)、全画面透明ウィンドウを表示し(ステップS23)、ダイアログボックスを表示し(ステップS24)、上書き領域となる場所へのクリックを要求する。マウスデータの入力有無を判断し(ステップS25)、マウスデータの入力であれば、さらにクリックOFFであるかを判断する(ステップS26)。クリックOFFであれば、クリックOFF(ペンアップ)座標のウィンドウ情報(透明ウィンドウ外の最上位)、親ウィンドウとなるAPLプログラムウィンドウ情報を取得し(ステップS27)、文書領域ウィンドウ枠を表示し(ステップS28)、「領域確認」ダイアログボックスを表示し(ステップS29)、確認する。続いて、上書き領域であるかを判断し(ステップS30)、上書き領域でなければ、文書領域ウィンドウ枠を消去する(ステップS31)。ステップS30において上書き領域であれば、全画面透明ウィンドウを消去し(ステップS32)、APLウィンドウハンドル、文書領域(上書き領域)ウィンドウハンドルを制御データへ設定する(ステップS33)。さらに、文書領域ウィンドウクラス、ウィンドウスタイルを上書きファイルへ設定し(ステップS34)、文書領域ウィンドウ情報から水平スクロールバーウィンドウを検索する(ステップS35)。続いて、上記検索に成功したかを判断し(ステップS36)、水平スクロールバーウィンドウが存在する場合、水平スクロールバーハンドルを制御データへ設定する(ステップS37)。さらに、水平スクロールボックス情報を取得、水平スクロールボックス幅を制御データへ設定する(ステップS38)。続いて、文書領域ウィンドウ情報から垂直スクロールバーウィンドウを検索し(ステップS39)、検索に成功したかを判断し(ステップS40)、垂直スクロールバーウィンドウが存在する場合、垂直スクロールバーハンドルを制御データへ設定する(ステップS41)。さらに、垂直スクロールボックス情報を取得し、垂直スクロールボックス高さを制御データへ設定する(ステップS42)。
つぎに、図16−1、図16−2のフローチャートを参照し上書きツールバー制御動作について説明する。ここでは、クリックON開始時座標を引数として実行される。まず、現在の上書きツールバーボタン表示状態を保存する(ステップS51)。続いて、クリックON開始時座標のボタン情報を取得し(ステップS52)、クリックボタン以外を通常表示、クリックボタンを選択表示とする(ステップS53)。なお、ボタン表示は通常表示と選択表示の2形態を持つ。続いて、クリックOFFまでのマウスデータを入力する(ステップS54)。クリックOFFであるかを判断し(ステップS55)、クリックOFFでなければ、さらにクリックボタン上座標であるかを判断し(ステップS56)、クリックボタン上座標でなければ、すなわちドラッグ操作によりクリックON開始時のボタン外座標となった場合、ボタン表示状態を復旧する(ステップS57)。ステップS56においてクリックボタン上座標であれば、クリックボタン選択表示を行なう(ステップS58)。ステップS55においてクリックOFFであれば、さらにクリックボタン上座標であるかを判断し(ステップS59)、クリックボタン上座標であれば、さらにペンボタンであるかを判断し(ステップS60)、ペンボタンであればさらにAPLの操作モードであるかを判断する(ステップS61)。ここで、クリックOFF時クリックON開始時と同一ボタン内座標である場合、ボタン機能を実行する。「ペン」ボタンによりAPLモードからペンモードへ、消去モードからペンモードへ移行する(ステップS62)。APLモードからペンモード移行時、文書表示状態(表示倍率、APLプログラムウィンドウ大きさ)に変化があったか検知する。上書き可であるかを判断し(ステップS63)、上書き可であれば、文書表示状態に変更がない場合、表示文書への上書きを表示し(ステップS64)、操作モードをペンモードに設定する(ステップS65)。ステップS60においてペンボタンでなければ、さらに消去ボタンであるかを判断し(ステップS66)、消去ボタンであれば、操作モードがAPLに設定されているかを判断し(ステップS67)、APLの操作モードであれば、文書表示状態監視の制御を実行し(ステップS68)、上書き可であるかを判断する(ステップS69)。ここで、上書き可であれば、上書き表示制御を実行し(ステップS70)、「消去」ボタンにより消去モードへ移行する(ステップS71)。
ステップS66において消去ボタンの入力でなければ、さらにAPLボタンの入力であるかを判断し(ステップS72)、APLボタンの入力であれば、さらに操作モードがAPLに設定されているかを判断する(ステップS73)。ここで操作モードがAPLに設定されていなければ、「APL」ボタンにより上書きウィンドウを閉じ(ステップS74)、APLプログラム操作を可能とする(ステップS75)。ステップS72においてAPLボタンの入力でなければ、ボタン表示状態を復旧する(ステップS76)。続いて、設定ボタンの入力であるかを判断し(ステップS77)、設定ボタンの入力であれば、「設定」ボタンにより「上書き設定」ダイアログボックスを表示、ペンの色、太さ、消しゴム長を入力し(ステップS78)、上書きの設定ダイアログボックス入力値を制御データへ設定する(ステップS79)。ステップS77において設定ボタンの入力でなければ、さらに開くボタンの入力であるかを判断し(ステップS80)、開くボタンの入力であれば、「開く」ボタンにより「保存確認」ダイアログボックスを表示し(ステップS81)、上書きデータを保存するか確認する。さらに、保存の有無を判断し(ステップS82)、保存する場合、「保存」ダイアログボックスを表示し(ステップS83)、作業用上書きファイルに保存されているデータを上書きファイルへ保存する(ステップS84)。続いて、「開く」ダイアログボックスを表示し(ステップS85)、上書きファイルを入力する(ステップS86)。続いて、APLボタン以外を通常表示、APLボタンを選択表示としてAPLモードに初期化する(ステップS87)。さらに、APLの操作モードであるかを判断し(ステップS88)、APLの操作モードでなければ、上書きウィンドウを消去し(ステップS89)、APLの操作モードに設定する(ステップS90)。ステップS80において開くボタンの入力でなければ、さらに終了ボタンの入力であるかを判断し(ステップS91)、終了であれば、「終了」ボタンにより上書きを終了する。
つぎに、図17のフローチャートを参照し上書き描画の制御動作について説明する。ここでは、クリックON開始座標を引数として実行される。まず、ドラッグ開始(クリックON開始)座標を保存する(ステップS101)。続いて、クリックOFFまでのドラッグ軌跡マウスデータを入力する(ステップS102)。マウス入力後、クリックOFFであるかを判断し(ステップS103)、クリックOFFでなければ、ドラッグ軌跡座標を保存し(ステップS104)、入力座標と前回座標間をペン色、ペン太さにより線描画する(ステップS105)。ステップS103においてクリックOFFであれば、文書領域ウィンドウハンドルを引数にOSが提供するI/Fにより文書領域ウィンドウ左上原点座標、ウィンドウ幅、ウィンドウ高さを取得する(ステップS106)。続いて、水平スクロールバーハンドルを引数にOSが提供するI/Fにより水平スクロールボックス位置を取得し(ステップS107)、さらに垂直スクロールバーハンドルを引数にOSが提供するI/Fにより垂直スクロールボックス位置を取得する(ステップS108)。続いて、ドラッグ軌跡の画面座標をスクロール空間座標へ変換し(ステップS109)、スクロール空間座標へ変換したストロークデータを上書きファイルへ保存し(ステップS110)、保存ストロークブロックの先頭ポインタを表示ストロークへ設定する(ステップS111)。
つぎに、図18のフローチャートを参照し上書き消去の制御動作について説明する。まず、文書領域ウィンドウハンドルにより文書領域ウィンドウ左上原点座標、ウィンドウ幅、ウィンドウ高さを取得する(ステップS121)。さらに、水平スクロールバーハンドルにより水平スクロールボックス位置を取得し(ステップS122)、垂直スクロールバーハンドルにより垂直スクロールボックス位置を取得する(ステップS123)。続いて、クリックOFFまでのマウスデータを入力する(ステップS124)。続いて、クリックOFFであるかを判断し(ステップS125)、クリックOFFでなければ、マウス座標を中点、1辺の長さを消しゴム長とするカーソル領域の上書きウィンドウ上の描画を消去する(ステップS126)。さらに、カーソル領域からスクロール空間座標を算出してこの空間座標へ変換し(ステップS127)、表示ストロークに設定されている先頭のストロークポインタのストロークデータを入力する(ステップS128)。続いて、カーソルスクロール空間内のストローク座標があるか検索し(ステップS129)、カーソルスクロール空間内のストローク座標があれば、さらにストロークが分割されているかを判断する(ステップS130)。ここで、ストロークが分割される場合、上書きファイルのストロークを分割保存し(ステップS131)、分割追加したストロークブロックの先頭ポインタを表示ストロークに設定する(ステップS132)。ステップS130においてストローク分割でなければ、さらに1ストローク消去であるかを判断し(ステップS133)、1ストローク消去される場合、上書きファイルのストロークデータを削除し(ステップS134)、ストロークポインタを表示ストロークから削除する(ステップS135)。ステップS133において1ストローク消去でなければ、ストロークの頭、あるいは尻が消去される場合、上書きファイルの消去ストローク座標を削除する(ステップS136)。続いて、表示中の全ストロークに対して検索し(ステップS137)、次ストロークデータを入力する(ステップS138)。
つぎに、図19のフローチャートを参照し上書き表示の制御動作について説明する。まず、文書領域ウィンドウハンドルにより文書領域ウィンドウ左上原点座標、ウィンドウ幅、ウィンドウ高さを取得する(ステップS141)。続いて、水平スクロールバーハンドルにより水平スクロールボックス位置を取得し(ステップS142)、垂直スクロールバーハンドルにより垂直スクロールボックス位置を取得する(ステップS143)。さらに、文書領域のスクロール空間座標を算出し(ステップS144)、上書きファイルから先頭のストロークデータを入力する(ステップS145)。その後、直前座標を0xFFFFに設定し(ステップS146)、ストローク座標が文書領域スクロール空間内か判定する(ステップS147)。ここで、文書領域スクロール空間内座標でなければ、直前座標を0xFFFFに設定する(ステップS148)。ステップS147において文書領域スクロール空間内座標であれば、さらに表示ストロークが保存されているかを判断し(ステップS149)、保存されていなければ、ストロークブロックの上書きファイル内先頭ポインタを表示ストロークへ設定し保存する(ステップS150)。続いて、直前座標が0xFFFFであるかを判断し(ステップS151)、直前座標が0xFFFFでなければ、ストローク空間座標を画面座標へ変換し(ステップS152)、座標間をストローク色、太さにて線描画する(ステップS153)。直前座標を画面座標として設定しその座標を保存する(ステップS154)。続いて、1ストローク完了であるかを判断し(ステップS155)、1ストローク完了であれば、さらに全ストローク完了であるかを判断する(ステップS156)。ここで、全ストローク完了でなければ、上書きファイル全ストロークデータに対して表示中文書領域への上書きがあるか検索し、次スとロークデータを入力する(ステップS157)。
つぎに、図20のフローチャートを参照し文書表示状態監視の制御動作について説明する。まず、APLウィンドウハンドルによりAPLウィンドウ幅、高さを取得し(ステップS161)、大きさが異なるかを判断する(ステップS162)。ここで、上書きファイルのAPLウィンドウ幅、APLウィンドウ高さと異なる場合、「ウィンドウ修復」ダイアログボックスを表示し(ステップS163)、ウィンドウサイズを戻すか確認する(ステップS164)。ここで、ウィンドウサイズのであれば、APLウィンドウの幅、高さをOSが提供するI/Fにより上書きファイル保存値へ戻す(ステップS165)。続いて、垂直スクロールバーハンドルにより垂直スクロールボックス高さを取得し(ステップS166)、スクロールボックスの高さが変化したかを判断する(ステップS167)。ここで、上書きファイルの垂直スクロールボックス高さと異なる場合、表示倍率(保存高さ/取得高さ)を算出、「表示倍率設定」ダイアログボックスを表示し(ステップS168)、倍率の変更を要求する。さらに、APLウィンドウの大きさ、垂直スクロールボックス高さに変化がない場合、全画面サイズの透明な上書きウィンドウを表示し(ステップS169)、上書きモードへ移行する。
(第2の実施の形態)
この実施の形態では、先に述べたような従来の背景技術における課題を解決する具体例について詳述する。すなわち、複数のPCをネットワーク接続、全PC上に共通の会議資料を表示実施するPC会議において、円滑な会議進行のため説明箇所をマーク、あるいは、補足説明のため文字描画することが行なわれる。しかし、会議資料のスクロール表示、ページ変更時、表示情報と上書き情報との関連性がなくなり意味を持たず邪魔となる。このため、上書きデータを保存、消去することが行なわれる。再度上書きが実行された会議資料が表示された時この上書きを表示するには会議資料の何処に上書きしたか、現在表示中が何処かの情報が必要となる。表示中のページ番号、表示位置、表示倍率等を取得するAPIを提供しているプログラム(Microsoft Office)もあるが、ほとんどのプログラムはこの機能を提供していない。そこで、本発明は上書きと会議資料位置を関連づけるものとする。
また、文書の表示位置の取得できない場合、上書きと文書を関連付けて保存するためには上書き時の文書画像を保存、これと上書きデータを関連付け保存する方法がとられる。保存後、上書きが実行された会議資料を表示、これに対する上書きを表示させるためには保存されている画像+上書きデータを表示、検索、この画像データは他のPCへ送信する必要がある。そこで、本発明は画像検索の手間を省き、画像データを送信することによる時間的ロスをなくす。また、文字(図形)描画時、この描画内容を全PCへ表示するため画面の画像データを送信する方法がとられる。この画像データの送信に時間がかかるため音声に遅れて画像データが受信され話の内容を理解できないことが生じる。あるいは、表示されたか確認をとりながら会議を進行することになり円滑な会議進行を妨げることになる。そこで、本発明は描画データを最小にすることにより円滑な会議進行を図るものとする。また、文字(図形)消去時、この消去内容を全PCへ表示するため画面の画像データを送信する方法がとられる。この画像データの送信に時間がかかるため音声に遅れて画像データが受信され話の内容を理解できないことが生じる。あるいは消去されたか確認をとりながら会議を進行することになり円滑な会議進行を妨げることになる。そこで、本発明は消去データを最小にすることにより円滑な会議進行を図るものとする。また、会議の進行はPC画面、議事録は紙に行なうと円滑な会議の進行を妨げることになる。そこで、本発明は上書きを議事録として残せるようにする。さらに、会議は限られた時間内で行なう必要があるため、後で理解できる程度に簡略化して記録する傾向にある。そこで、本発明は議事録として清書できるようにする。
この第2の実施の形態におけるシステム構成などは前述した図1〜図6と同様である。よって、ここでの重複説明は省略する。特に、図1において、タブレットPC1はLAN(Local Area Network:企業情報通信網)、ルーター、WAN(Wide Area Network:広域網)を介して遠隔値、LAN内PC端末と接続される。大型の表示一体型座標入力装置(PDP、液晶リアプロジェクタ等)をディスプレイとするPC端末は会議室などに設置され複数の人に画面共有される。タブレットPC2は無線モデムにより郊外から他PC端末と接続される。タブレットPC3はプロジェクタへ画像出力、スクリーン表示、画面共有する。一般的なPCはペン操作に比べ使い勝手が悪くなるがマウスで操作することになる。以上構成となる多地点におけるPC会議における画面統一方式を権利範囲とする。無線LAN接続によるタブレットPCを用いた室会議も有効である。また、PC操作データはネットワークを介して、音声は電話器による机上でのPC会議も有効である。会議文書を作成する文書作成プログラムは表示文書の「ページ情報」(Microsoft Wordにおける「ページ番号」、Excelにおける「シート番号」、PowerPointにおける「スライド番号」等、なお、これらは何れも米マイクロソフト社の登録商標である)、「表示倍率」(50%、100%等)、表示ファイル名の取得機能を提供するものとする。現在この機能はMicrosoft Word、Excel、PowerPointにより提供されている。また、文書作成プログラムは各PC端末に存在するものとする。なお、これらのプログラムは何れも米マイクロソフト社の登録商標であり、市販されているものである。
つぎに、図21を参照し画面座標からスクロール空間座標への算出方法について説明する。水平スクロールボックスをHB長移動すると文書表示領域の文書がWW長水平スクロール表示する(図21[1]参照)。垂直スクロールボックスをVB長移動すると文書表示領域の文書WH長垂直スクロール表示する(図21[2]参照)。スクロールにより表示される全文書領域をスクロール空間幅(SW)、スクロール空間高さ(SH)からなるスクロール空間とする(図21[3]参照)。
HB:WW =SXL:(X−WX)となることから、SXL=(X−WX)×HB/WW(図21[4]参照)
VB:WH=SYL: (Y−WY)となることから、SYL=(Y−WY)×VB/WH(図21[5]参照)
画面座標(X,Y)からスクロール空間座標(SX,SY)は以下により算出される(図21[6]参照)。
SX = HP + SXL、 SY = VP + SYLL
つぎに、図22を参照しスクロール空間座標から画面座標への算出方法について説明する。スクロール情報により画面表示領域のスクロール空間は左上原点座標(HP,VP)、幅(HB)、高さ(H)となる(図22[1]参照)。
HB : WW = (SX − HP) : XL となることから、XL = (SX − HP) × WW / HB(図22[2]参照)
VB : WH = (SY − VP) : YL となることから、YL = (SY − VP) × WH / VB(図22[3]参照)
スクロール空間座標(SX,SY)から画面座標(X,Y)は以下により算出される(図22[4]参照)。
X = WX + XL、 Y = WY + YL
なお、この第2の実施の実施の形態における上書きストロークデータは、前述した図10と同様である。したがって、ここでの重複説明は省略する。
つぎに、図23を参照しPC会議制御方法について説明する。図示するように、PC画面200、Windows(米マイクロソフト社の登録商標)の標準APLプログラムとして動作する文書作成プログラム201、PC会議制御プログラム202は、初期化制御部204、表示監視制御部205、上書き制御部206、ネットワーク制御部207からなり、表示監視制御部205、上書き制御部206、ネットワーク制御部207はそれぞれ独立に動作する。
初期化制御部204は、PC会議制御プログラムを初期化、会議参加PCを入力、表示監視制御部205、上書き制御部206、ネットワーク制御部207を起動、PC会議を開始する。表示監視制御部205は、文書作成プログラムが表示する会議資料ファイルを検知、会議ファイルを非操作権PCへ配布する。また、文書作成プログラムウィンドウの表示位置、大きさ、垂直スクロールボックス位置、水平スクロールボックス位置を監視、変化がある場合非操作権PCへ変化を通知する。上書き制御部206は、会議資料上へのマークあるいは議事録を手書き操作により描画、描画データを上書きファイルへ保存する。ネットワーク制御部207は、他の会議参加PCより送信されるパケットデータを受信、制御する。(パケットデータの送信は各制御部が必要に応じてネットワーク送信する。
制御データ208は、初期化制御204、表示監視制御部205、上書き制御部206、ネットワーク制御部207により入出力されPC会議を制御する。会議ファイル209は、文書作成プログラムにより表示される会議資料で操作権PC以外には操作権PCから自動配布される。上書きファイル210は、PC会議時に描画される上書きデータを保存する。
つぎに、図24を参照しPC会議制御データについて説明する。パケットデータ211は、ネットワーク(LAN10)を介して送受信されるデータ、制御データ208は、独立して動作するネットワーク制御部207、表示監視制御部205、上書き制御部206により入出力されるデータを示す。会議開始パケット」は会議を主催する初期化制御部により作成され参加PCに送信され会議を開始する。会議ファイルパケット213は、会議を主催するPCの表示監視制御205により作成され参加PCへ配布され文書作成プログラムを起動、会議資料として表示する。PC画面統一パケット214は、操作権のある表示監視制御部が文書作成プログラムのウィンドウ表示位置、大きさ、垂直スクロールボックス位置、水平スクロールボックス位置の変化を監視、変化時送信、PC画面表示を統一する。上書きパケット215は、操作権のある上書き制御部が会議資料上への上書き時送信、他PCへ上書きを表示する。上書き消去パケット216は、操作権のある上書き制御が上書き消去時送信、他PCの上書きを消去する。操作権パケット217により会議資料ページ捲り、上書きの操作権を主催PCへ要求、操作権の移動を通知する。会議終了パケット211により主催PCにより会議を終了、参加PCにより退席を通知する。会議制御データ219によりPC会議を制御する。PC画面統一制御データ220により現在の表示状態を示す。上書き制御データ221により上書きを制御する。
つぎに、図25を参照し会議主催開始方法について説明する。PC会議制御プログラム202をデスクトップアイコンのダブルクリック等OSが提供する手段により起動し、「会議選択ツールバー」を表示する。「主催」ボタン203の押下により、「会議相手ダイアログボックス」を表示する(図25[1]参照)。会議相手のネットワークアドレスを入力、登録する(図25[3]参照)。登録された会議相手先のネットワークアドレスが表示される(図25[4]参照)。ネットワークアドレスをドラッグ選択、削除する。会議相手の設定を完了(OK)すると「会議開始ツールバー」が表示される(図25[5]参照)。「開始」ボタンにより「上書きツールバー」が表示され、会議が開始される(図25[6]参照)。会議に参加するPCのネットワークアドレスを会議開始パケット212により会議参加PCへ通知する(図25[7]参照)。会議資料を表示するAPLウィンドウのタイトルバーから表示中の会議資料ファイルパスを取得、ファイルデータを入力、会議ファイルパケット213にて会議参加PCへ配布する(図25[8]参照)。会議資料を表示するAPLウィンドウのウィンドウ左上原点座標、幅、高さ、水平スクロールボックス位置、垂直スクロールボックス位置を取得、PC画面統一パケット214により会議参加PCの画面表示を統一する(図25[9]参照)。
つぎに、図26を参照し会議参加開始方法について説明する。PC会議制御プログラム202をデスクトップアイコンのダブルクリック等OSが提供する手段により起動、「会議選択ツールバー」を表示する(図26[1]参照)。「参加」ボタンにより、「会議接続ダイアログボックス」が表示され会議開始パケットの受信を待ち、受信により消去する(図26[2]参照)。会議メンバ情報を会議制御データ219へ保存する(図26[3]参照)。会議ファイルパケット213受信によりファイルを作成、ファイルパスを渡し会議資料を表示するプログラムを起動、会議資料を表示する(図26[4]参照)。PC画面統一パケット214により、会議を表示するAPLウィンドウを左上原点座標、幅、高さに表示修正、水平スクロールボックス位置、垂直スクロールボックス位置へ位置修正する(図26[5]参照)。操作権ツールバーを表示する(図26[6]参照)。
つぎに、図27を参照しPC画面統一方式を説明する。画面上に表示されているウィンドウの左上原点座標(X,Y)、幅(W)、高さ(H)、水平スクロールボックス位置(PH)、垂直スクロールボックス位置(PV)の変化を監視、変化がある場合、PC画面統一パケット214を作成し、会議参加PCへ送信する(図27[1]参照)。PC画面統一パケットを受信した会議参加PCは、ウィンドウを左上原点座標(X,Y)、幅(W)、高さ(H)に表示修正、水平スクロールボックス位置(PH)、垂直スクロールボックス位置(PV)へスクロールボックスを移動する(図27[2]参照)。これにより、PC画面表示が操作権PCと同一に保たれる。
つぎに、図28を参照し上書き操作について説明する。上書きツールバー「ペン」ボタンにより、手書き文字を描画、「消去」ボタンにより手書き文字を消去する(図28[1]参照)。「APL」ボタンにより通常のプログラム操作を可能とする。上書き描画、消去時、全画面サイズの透明ウィンドウ(背景が透過され表示される)を作成表示する(図28[2]参照)。ペン(マウス)による文字描画操作時、ドラッグ座標間を順次、ペンに設定されている色、太さにてこの透明ウィンドウ上に線描画する。描画座標(上書き操作時のドラッグ座標)をスクロール空間座標に変換、ストロークデータとして上書きファイルへ保存する(図28[3]参照)。描画座標を上書きパケット215により1ストローク毎に会議参加PCへ送信する(図28[4]参照)。上書きパケット215を受信したPCは描画座標間を順次ペン色、ペン太さにて線描画する(図28[5]参照)。描画座標をスクロール空間座標に変換、ストロークデータとして上書きファイル210へ保存する(図28[6]参照)。
つぎに、図29を参照し上書き再描画方法について説明する。水平スクロールボックス位置、垂直スクロールボックス位置、ウィンドウ表示左上原点座標、幅、高さの変化を監視、変化があればPC画面統一パケット214を送信する(図29[1]参照)。表示変更があったとき、水平スクロールボックス位置、垂直スクロールボックス位置から画面に表示されているスクロール空間を算出、上書きファイルから同空間への上書きデータ検索、スクロール空間座標を画面座標へ変換表示する(図29[2]参照)。会議参加端末は、PC画面統一パケット214を受信するとパケット情報に基づきウィンドウ位置、幅、高さへ表示修正、垂直スクロールボックス位置、水平スクロールボックス位置へスクロールボックスを移動、水平スクロールボックス位置、垂直スクロールボックス位置から画面に表示されているスクロール空間を算出、上書きファイルから同空間への上書きデータ検索、スクロール空間座標を画面座標へ変換表示する(図29[3]参照)。
つぎに、図30−1、図30−2を参照し操作権移動方法について説明する。ここでは、PC操作権(会議資料のページ捲り、スクロール表示、上書き等)は会議開始時主催PCに与えられる。参加PCは操作権ツールバー「操作権」ボタンにより主催PCへ操作権を要求する(図30−1[1]参照)。「操作権(要求)パケット」による操作権要求は主催PCへ送信される(図30−1[2]参照)。主催PCが操作権要求パケットを受信すると「操作権ダイアログボックス」を表示する(図30−1[3]参照)。「許可」ボタンにより操作権を与え、「却下」ボタンにより操作権要求を却下する。主催PCが操作権を許可すると、「操作権(移動)パケット」が全参加PCへ送信される(図30−1[4]参照)。操作権(移動)パケットを受信すると、「操作権移動ダイアログボックス」を表示、操作権移動を通知する(図30−1[5]参照)。操作権を獲得すると操作権ツールバーから上書きツールバーへ、操作権を失うと上書きツールバーから操作権ツールバーへ表示変更される(図30−1[6]参照)。操作権要求が「却下」ボタンにより棄却されると「操作権(却下)パケット」が操作権要求PCへ送信される(図30−2[7]参照)。操作権(却下)パケットを受信すると、「操作権却下ダイアログボックス」を表示する(図30−2[8]参照)。
つぎに、図31−1、図31−2を参照し上書き編集方法について説明する。PC会議終了時PC会議中に上書き描画された手書き文字(図形)の保存確認ダイアログボックスを表示する(図31−1[1]参照)。上書きデータを指定された上書きファイルへ保存する(図31−1[2]参照)。上書きが実行された会議資料を会議資料を作成したプログラムを起動し、表示する(図31−1[3]参照)。上書き編集プログラムを起動、開くダイアログボックス表示、会議資料への上書きファイルを入力する(図31−1[4]参照)。上書き編集ツールバーを表示、会議資料を表示するウィンドウの左上原点座標、幅、高さ、水平スクロールボックス位置、垂直スクロールボックス位置を取得、画面上のスクロール空間を算出、この空間への上書きを上書きファイルより検索表示する(図31−1[5]参照)。「ペン」により追加描画、「消去」により上書きを消去編集する。編集された上書きを保存する。
つぎに、図32を参照し上書きの設定について説明する。「太さ」から文字描画時の線の太さを選択する(図32[1]参照)。「色」から文字描画時の線の色を選択する(図32[2]参照)。ビューアに選択された色、太さが表示される(図32[3]参照)。消しゴムをクリック(ペンタッチ)、表示されるハンドルをドラッグすることにより消しゴムカーソルの大きさを選択する(図32[4]参照)。
つぎに、図33のフローチャートを参照し初期化制御動作について説明する。まず、会議制御データを0クリア、自PCのネットワークアドレスを設定し(ステップS171)、PC画面統一制御データを0クリアする(ステップS172)。続いて、上書き制御データを0クリア、ペン色、ペン太さ、消しゴムカーソルにデフォルト値を設定する(ステップS173)。さらに会議選択ツールバーを表示し(ステップS174)、ツールバー非制御中に設定する(ステップS175)。会議選択ツールバー上へのペンダウン(マウスボタンON)からペンアップ(マウスボタンOFF)までのマウスデータが入力される(ステップS176)。ツールバー非制御中に設定されているかを判断し(ステップS177)、ツールバー非制御中であれば、ペンダウンによりツールバー制御中に設定する(ステップS178)。さらにマウス座標のボタンを選択表示にし(ステップS179)、クリックボタン情報を保存する(ステップS180)。なお、ボタンは通常表示、選択表示(反転表示等)の2個の表示形態を持つ。ステップS177においてツールバー非制御中でなければ、さらにマウスボタンがOFFであるかを判断し(ステップS181)、マウスボタンOFFであれば、さらにクリックボタン上座標であるかを判断する(ステップS182)。ここでクリックボタン上座標でなければ、ツールバー制御をOFFに設定し(ステップS183)、マウスボタンOFF時の座標がクリックボタンと異なる場合、クリックボタンを通常表示へ戻し、ボタン機能の実行は行なわない(ステップS184)。ステップS182においてクリックボタン上座標であれば、会議選択ツールバーを消去し(ステップS185)、クリックボタンが主催であるかを判断する(ステップS186)。ここでクリックボタンが主催であれば「主催」ボタンクリックにより「会議主催制御」を実行する(ステップS187)。ステップS186においてクリックボタンが主催でなければ、さらにクリックボタンが参加であるかを判断し(ステップS188)、参加であれば、「参加」ボタンクリックにより「会議参加制御」を実行する(ステップS189)。
つぎに、図34のフローチャートを参照し会議主催の制御動作について説明する。まず、会議相手ダイアログボックスを表示し(ステップS191)、会議相手ネットワークアドレスを入力する(ステップS192)。続いて、会議制御データへ主催PCネットワークアドレス、操作権PCネットワークアドレスを自PCネットワークアドレスに設定、操作権有りに設定、入力した会議相手ネットワークアドレスを参加PCネットワークアドレスに設定する(ステップS193)。さらに会議開始ツールバーを表示し(ステップS194)、ツールバー非制御中に設定する(ステップS195)。会議開始ツールバー上へのペンダウン(マウスボタンON)からペンアップ(マウスボタンOFF)までのマウスデータが入力される(ステップS196)。続いて、ツールバー非制御中であるかを判断し(ステップS197)、ツールバー非制御中であれば、ペンダウンによりツールバー制御中に設定し(ステップS198)、マウス座標のボタンを選択表示にし(ステップS199)、クリックボタン情報を保存する(ステップS200)。なお、ボタンは通常表示、選択表示(反転表示等)の2個の表示形態を持つ。ステップS197においてツールバー非制御中でなければ、さらにマウスボタンがOFFであるかを判断し(ステップS201)、マウスボタンOFFであれば、さらにクリックボタン上座標であるかを判断する(ステップS202)。ここでクリックボタン上座標でなければ、ツールバー非制御中に設定し(ステップS203)、マウスボタンOFF時の座標がクリックボタンと異なる場合、クリックボタンを通常表示へ戻し、ボタン機能の実行は行なわない(ステップS204)。ステップS202においてクリックボタン上座標であれば、会議開始ツールバーを消去し(ステップS205)、クリックボタンが開始であるかを判断する(ステップS206)。ここで開始のクリックボタンであれば、「開始」ボタンにより、「ネットワーク制御」を起動、パケットデータ受信を開始し(ステップS207)、「表示監視制御」を起動、ウィンドウ表示常態の監視を開始する(ステップS208)。さらに、「上書き制御」を起動し、上書きツールバー(操作権有りPC)を表示し(ステップS209)、会議制御データから会議開始パケットを作成し、全参加PCへ送信する(ステップS210)。
つぎに、図35のフローチャートを参照し会議参加制御動作について説明する。まず、会議接続ダイアログボックスを表示し、主催PCにより接続されるのを待つ(ステップS211)。その後、「ネットワーク制御」を起動、パケットデータ受信を開始する(ステップS212)。続いて、ネットワーク制御が会議開始パケットを受信、会議開始パケット受信通知するのを待つ(ステップS213)。会議開始パケットを受信したならば、会議開始パケット受信により会議接続ダイアログボックスを消去する(ステップS214)。続いて、「表示監視制御」を起動、ウィンドウ表示常態の監視を開始し(ステップS215)、「上書き制御」を起動し、操作権ツールバー(操作権無しPC)を表示する(ステップS216)。
つぎに、図36のフローチャートを参照し表示監視制御動作について説明する。まず、主催PCであるかを判断し(ステップS221)、主催PCであれば、表示中のAPLウィンドウ情報(APLタイトルが表示されているウィンドウ)を取得する(ステップS222)。続いて、APLウィンドウが表示されているかを判断し(ステップS223)、APLウィンドウが表示されている場合、会議ファイル表示であるかを判断し(ステップS224)、ウィンドウキャプション情報にファイル名が設定されるのを待つ。続いて、キャプション情報のファイル名のパスを検索、会議ファイルを入力し(ステップS225)、「会議ファイルパケット」に会議ファイルデータ、会議ファイル名を設定、全参加PCへ送信する(ステップS226)。続いて、終了通知であるかを判断する(ステップS227)。つまり、主催PCからの会議終了パケット受信、あるいはツールバー「終了」ボタンによる終了通知により表示監視制御を終了する。終了通知でなければ、操作権有りであるかを判断し(ステップS228)、APLウィンドウ情報(左上原点座標、幅、高さ)を取得する(ステップS229)。さらに水平スクロールボックス位置を取得し(ステップS230)、垂直スクロールボックス位置を取得する(ステップS231)。続いて、変更有無を判断し(ステップS232)、変更有りであれば、取得したAPLウィンドウ情報、スクロールボックス位置がPC画面統一制御データと異なる場合、取得値により「PC画面統一パケット」を作成、他の全PCへ送信する(ステップS233)。さらに取得値をPC画面統一制御データへ設定し(ステップS234)、周期的(10ms、100msごと等)にAPLウィンドウの表示状態を監視するためウェイトする(ステップS235)。
つぎに、図37のフローチャートを参照しネットワーク制御動作について説明する。主催PCからの会議終了パケット受信、あるいはツールバー「終了」ボタンによる終了通知によりネットワーク制御を終了する(ステップS241)。終了通知でなければ、パケットデータが受信されるのを待ち(ステップS242)、パケットデータを受信したならば、会議開始パケットであるかを判断する(ステップS243)。会議開始パケットであれば、「会議開始パケット」受信により、主催PC、操作権PC、参加PCネットワークアドレス、参加PC数を会議制御データへ設定、操作権無しに設定し(ステップS244)、会議開始パケット受信を「会議参加制御」へ通知する(ステップS245)。ステップS243において会議開始パケットでなければ、さらに会議ファイルパケットであるかを判断し(ステップS246)、会議ファイルパケットであれば、「会議ファイルパケット」受信により、会議ファイルを作成、会議ファイルデータを保存、会議ファイル名を会議制御データへ設定する(ステップS247)。続いて、作成した会議ファイルにより会議ファイル表示プログラムを起動する(ステップS248)。ステップS246において会議ファイルパケットでなければ、さらにPC画面統一パケットであるかを判断し(ステップS249)、PC画面統一パケットであれば、「PC画面統一パケット」受信により、「PC画面統一パケット受信制御」を実行する(ステップS250)。ステップS249においてPC画面統一パケットでなければ、さらに上書きパケットであるかを判断し(ステップS251)、上書きパケットであれば、「上書きパケット」受信により、「上書きパケット受信制御」を実行する(ステップS252)。ステップS251において上書きパケットでなければ、さらに上書き消去パケットであるかを判断し(ステップS253)、上書き消去パケットであれば、「上書き消去パケット」受信により、「上書き消去パケット受信制御」を実行する(ステップS254)。ステップS253において上書き消去パケットでなければ、さらに操作権パケットであるかを判断し(ステップS255)、操作権パケットであれば、「操作権パケット」により、「操作権パケット受信制御」を実行する(ステップS256)。ステップS255において操作権パケットでなければ、さらに会議終了パケットであるかを判断し(ステップS257)、会議終了パケットであれば、さらに主催PC終了であるかを判断する(ステップS258)。ここで主催PC終了でなければ、主催PC以外からの「会議終了パケット」受信により、会議制御データから会議退席PCの参加PCネットワークアドレスを削除する(ステップS259)。ステップS258において主催PC終了であれば、主催PCからの「会議終了パケット」受信により、表示監視制御、上書き制御へ終了通知、終了させる(ステップS260)。
つぎに、図38のフローチャートを参照しPC画面統一パケット受信制御動作について説明する。まず、表示変更するため一時的に上書きウィンドウを消去する(ステップS261)。その後、ウィンドウ原点座標の変更有無を判断し(ステップS262)、ウィンドウ原点座標が変更されたならば、PC画面統一パケットとPC画面統一制御データのウィンドウ左上原点座標を比較、異なる場合、PC画面統一パケット「ウィンドウ左上原点座標」へAPLウィンドウを移動する(ステップS263)。続いて、幅高さが変更されたかを判断し(ステップS264)、幅高さが変更されたならば、ウィンドウ幅、あるいはウィンドウ高さが異なる場合、PC画面統一パケット「ウィンドウ幅」、「ウィンドウ高さ」にウィンドウの大きさを表示変更する(ステップS265)。続いて、水平スクロールボックス位置が変更されたかを判断し(ステップS266)、水平スクロールボックス位置が変更されたならば、水平スクロールボックス位置が異なる場合、PC画面統一パケット「水平スクロールボックス位置」へ水平スクロールボックスを移動する(ステップS267)。続いて、垂直スクロールボックス位置が変更されたかを判断し(ステップS268)、垂直スクロールボックス位置が変更されたならば、垂直スクロールボックス位置が異なる場合、PC画面統一パケット「垂直スクロールボックス位置」へ垂直スクロールボックスを移動する(ステップS269)。続いて、PC画面統一制御データを設定し(ステップS270)、「上書き表示制御」を実行、表示変更された文書への上書きを再描画する(ステップS271)。
つぎに、図39のフローチャートを参照し上書きパケット受信制御動作について説明する。まず、描画数を0にし(ステップS281)、描画座標間をペン色、ペン太さにて線描画する(ステップS282)。その後、描画数を1つ進め(ステップS283)、描画数<描画座標数であるかを判断し(ステップS284)、描画数<描画座標数でなければ、文書表示領域のウィンドウ情報(左上原点座標、幅、高さ)を取得する(ステップS285)。続いて、水平スクロールバー情報(スクロールボックス位置、幅)を取得し(ステップS286)、垂直スクロールバー情報(スクロールボックス位置、幅)を取得する(ステップS287)。さらに描画座標(画面座標)をスクロール空間座標へ変換し(ステップS288)、ストロークデータとして上書きファイルへ保存する(ステップS289)。
つぎに、図40のフローチャートを参照し上書き消去パケット受信制御動作について説明する。まず、消去数を0にし(ステップS291)、消去座標を中心、1辺の長さが消しゴムカーソル長からなる矩形領域を透明色に設定する(ステップS292)。矩形領域の上書きが消去され背景画面が表示される。続いて、消去数を1つ進め(ステップS293)、消去数<消去座標数であるかを判断し(ステップS294)、消去数<消去座標数であれば、文書表示領域のウィンドウ情報(左上原点座標、幅、高さ)を取得する(ステップS295)。続いて、水平スクロールバー情報(スクロールボックス位置、幅)を取得し(ステップS296)、さらに垂直スクロールバー情報(スクロールボックス位置、幅)を取得する(ステップS297)。続いて、消去座標をスクロール空間座標へ変換し(ステップS298)、算出された座標を中心、1辺の長さが消しゴムカーソル長からなるカーソルスクロール空間矩形領域の左上原点座標、幅、高さを算出する(ステップS299)。さらに上書きファイルからストロークデータを入力し(ステップS300)、入力したストローク座標がカーソルスクロール空間矩形領域内か判定する(ステップS301)。ここでカーソルスクロール空間矩形領域内であれば、さらにストローク分割であるかを判断する(ステップS302)。ここでストローク分割であれば、ストロークの途中が消去される場合、ストロークを分割する(ステップS303)。続いて、分割したストロークの後半部分を新ストロークとして上書きファイルへ保存し(ステップS304)、さらに入力ストロークデータの後半部分を削除する(ステップS305)。ステップS302においてストローク分割でなければ、入力ストロークデータの消去座標を削除する(ステップS306)。続いて、全ストローク座標を検索したかを判断し(ステップS307)、全ストローク座標を検索したならば、入力ストロークデータの全ストローク座標完了により更新された入力ストロークデータにより上書きファイルのストロークデータを置き換える(ステップS308)。全ストローク座標が消去された場合はストロークデータを上書きファイルから削除する。続いて、全ストローク検索したかを判断する(ステップS309)。すなわち、上書きファイルの全ストロークデータに対して実行する。そして、全消去座標に対して実行する(ステップS310)。
つぎに、図41のフローチャートを参照し操作権パケット受信制御動作について説明する。まず、制御コードが要求であるかを判断し(ステップS311)、要求であれば、操作権(要求)パケットは主催PCへ送信され操作権要求ダイアログボックスを表示する(ステップS312)。続いて、操作権が許可であるか却下であるかを判断し(ステップS313)、許可であれば、操作権許可により、会議制御データの操作権PCネットワークアドレスを要求PCネットワークアドレスに変更し(ステップS314)、操作権(移動)パケットを全参加PCへ送信する(ステップS315)。続いて、操作権の有無を判断し(ステップS316)、操作権有りであれば、主催PCが現在操作権を持っている場合、「上書き制御」へ操作権移動通知し(ステップS317)、操作権無しに設定する(ステップS318)。ステップS313において操作権が却下であれば、操作権却下により、操作権要求PCへ操作権(却下)パケットを送信する(ステップS319)。ステップS311において要求の制御コードでなければ、さらに制御コードが却下であるかを判断し(ステップS320)、却下の制御コードであれば、操作権(却下)パケット受信により、「上書き制御」へ操作権却下を通知する(ステップS321)。ステップS320において却下の制御コードでなければ、さらに移動の制御コードであるかを判断し(ステップS322)、移動の制御コードであれば、操作権(移動)パケット受信により、会議制御データの操作権PCネットワークアドレスを要求PCネットワークアドレスに変更する(ステップS323)。続いて、操作権要求PCであるかを判断し(ステップS324)、操作権要求PCが操作権(移動)パケットを受信した場合、「上書き制御」へ操作権許可を通知し(ステップS325)、操作権有りに設定する(ステップS326)。ステップS324において操作権PCでなければ、さらに操作権有りであるかを判断し(ステップS327)、操作権を持っている場合、「上書き制御」へ操作権移動通知し(ステップS328)、操作権無しに設定する(ステップS329)。
つぎに、図42−1、図42−2のフローチャートを参照し上書き制御動作について説明する。まず、上書きファイルを作成、初期化(ストローク総数=0)し(ステップS331)、上書きファイル名を上書き制御データへ設定する(ステップS332)。続いて、操作権の有無を判断し(ステップS333)、操作権が無い場合、操作権ツールバーを表示し(ステップS334)、全画面サイズの透明ウィンドウを表示、操作権ツールバー以外の操作を無効にする(ステップS335)。ステップS333において操作権が有る場合、上書きツールバーを表示し(ステップS336)、上書きモードをAPLにし(ステップS337)、上書きモードをAPLに設定、上書きツールバーのAPLボタンを選択表示にする(ステップS338)。続いて、主催PCからの会議終了パケット受信、上書きツールバー、あるいは操作権スツールバーの「終了」ボタンによる終了通知により上書き制御を終了する(ステップS339)。終了通知でなければ、操作権移動通知であるかを判断し(ステップS340)、操作権パケット受信制御からの操作権移動通知により上書きツールバーを消去する(ステップS341)。続いて、APLの上書きモードであるかを判断し(ステップS342)、APLの上書きモードであれば、描画、消去モード時に表示される上書きウィンドウを消去する(ステップS343)。さらに、操作権移動通知により操作権ツールバーを表示し(ステップS344)、上書きウィンドウを表示、操作権ツールバー操作以外無効にする(ステップS345)。続いて、上書きツールバーへのマウスデータのみ入力され、上書きモードが「描画」または「消去」で有る場合、全マウスデータが入力される(ステップS346)。操作権ツールバーへのマウスデータが入力され、「操作権ツールバー制御」を実行する(ステップS346)。続いて、操作権の有無を判断し(ステップS347)、操作権が無い場合、操作権ツールバー上へのマウスデータ入力により、「操作権ツールバー制御」を実行する(ステップS348)。上書きモードが「APL」である場合、ステップS347において操作権がある場合、さらに上書きツールバー座標であるかを判断し(ステップS349)、上書きツールバー座標であれば、上書きツールバー上へのマウスデータ入力により、「上書きツールバー制御」を実行する(ステップS350)。ステップS349において上書きツールバー座標でなければ、さらに上書きモードが描画であるか消去であるかを判断し(ステップS351)、描画の上書きモードであれば、上書きツールバー外マウスデータ入力時、上書きモードが「描画」の場合、「上書き描画制御」を実行する(ステップS352)。ステップS351において消去の上書きモードであれば、上書きツールバー外マウスデータ入力時、上書きモードが「消去」の場合、「上書き消去制御」を実行する(ステップS353)。続いて、操作権の有無を判断し(ステップS354)、操作権無し時、表示中の操作権ツールバーを消去し(ステップS355)、上書きウィンドウを消去する(ステップS356)。ステップS354において操作権があれば、上書きツールバーを消去し(ステップS357)、APLの上書きモードであるかを判断する(ステップS358)、APLの上書きモードであれば、上書きウィンドウを消去する(ステップS359)。そして、保存確認ダイアログボックスを表示し(ステップS360)、上書きデータを保存するか確認する(ステップS361)。保存する場合、上書きファイルデータを指定ファイルへコピー保存する(ステップS362)。
つぎに、図43のフローチャートを参照し上書きツールバー制御動作について説明する。ここでは、マウスボタンON(ペンタッチ)時のマウスデータを引数として実行される。まず、マウスボタンON座標のボタンを選択表示、他を通常表示にし(ステップS371)、マウスボタンOFF(ペンアップ)までのマウスデータを入力する(ステップS372)。続いて、マウスデータの入力有無を判断し(ステップS373)、マウスボタンOFF時の座標がクリックボタン上で無い場合、ボタン機能は実行しない。続いて、マウスボタンOFFであるかを判断し(ステップS374)、マウスボタンOFFであれば、さらにクリックボタン上座標であるかを判断し(ステップS375)、APLモード時「ペン」ボタンが選択された場合、「上書き表示制御」を実行、現在表示されている文書への上書きを上書きファイルから検索、再描画する。続いて、クリックボタンがペンであるかを判断し(ステップS376)、ペンであれば、さらに上書きモードがAPLであるかを判断する(ステップS377)。APLモード時「消去」ボタンが選択された場合、「上書き表示制御」を実行、現在表示されている文書への上書きを上書きファイルから検索、再描画し(ステップS378)、上書きモードを描画に設定する(ステップS379)。ステップS376においてペンのクリックボタンでなければ、さらに消去のクリックボタンであるかを判断し(ステップS380)、消去のクリックボタンであれば、さらにAPLの上書きモードであるかを判断し(ステップS381)、APLの上書きモードであれば、「上書き表示制御」を実行、現在表示されている文書への上書きを上書きファイルから検索、再描画し(ステップS382)、上書きモードを消去に設定する(ステップS383)。ステップS381においてAPLの上書きモードでなければ、さらにAPLのクリックボタンであるかを判断する(ステップS384)。APLのクリックボタンであれば、「APL」ボタンにより、上書きウィンドウを消去、通常のプログラム操作が可能な状態へ戻し(ステップS385)、APLの上書きモードに設定する(ステップS386)。ステップS384においてAPLのクリックボタンでなければ、さらに設定のクリックボタンであるかを判断し(ステップS387)、設定のクリックボタンであれば、「設定」ボタンにより、上書き設定ダイアログボックスを表示、ペン色、太さ、消しゴムカーソル長を入力し(ステップS388)、上書き設定ダイアログボックス入力値を上書き制御データへ設定する(ステップS389)。ステップS387で設定のクリックボタンでなければ、「終了」ボタンにより、会議終了パケットを作成、他の全PCへ送信し(ステップS390)、ネットワーク制御、上書き制御、表示監視制御へ終了を通知する(ステップS391)。ステップS375においてクリックボタン上座標でなければ、上書きモードボタンの選択表示を行なう(ステップS392)。
つぎに、図44のフローチャートを参照し操作権ツールバー制御動作について説明する。ここでは、マウスボタンON(ペンタッチ)時のマウスデータを引数として実行される。まず、マウスボタンON座標のボタンを選択表示、他を通常表示にし(ステップS401)、クリックボタン情報を保存し(ステップS402)、マウスボタンOFF(ペンアップ)までのマウスデータを入力する(ステップS403)。マウスボタンOFFであるかを判断し(ステップS404)、マウスボタンOFFであれば、クリックボタンを通常表示する(ステップS405)。続いて、クリックボタン上座標であるかを判断する(ステップS406)。ここではマウスボタンOFF時の座標がクリックボタン上で無い場合、ボタン機能は実行しない。続いて、操作権のクリックボタンであるかを判断し(ステップS407)、操作権のクリックボタンであれば、さらに主催PCであるかを判断する(ステップS408)。ここで主催PCであれば、「操作権」ボタンにより、主催PCは操作権を獲得、全参加PCへ操作権(移動)パケットを送信する(ステップS409)。ステップS408において主催PCでなければ、「操作権」ボタンにより、参加PCは主催PCへ操作権(要求)パケットを送信、操作権を要求する(ステップS410)。続いて、ネットワーク制御が操作権(許可)パケットを受信、操作権許可通知するのを待ち(ステップS411)、さらにネットワーク制御が操作権(却下)パケットを受信、操作権却下通知するのを待つ(ステップS412)。操作権要求が却下された場合、操作権却下ダイアログボックスを表示する(ステップS413)。ダイアログボックスは数秒表示後、自動的に閉じる。ステップS411において操作権要求が許可された場合、操作権許可ダイアログボックスを表示する(ステップS414)。ダイアログボックスは数秒表示後、自動的に閉じる。続いて、操作権ツールバーを消去し(ステップS415)、上書きウィンドウを消去し(ステップS416)、上書きツールバーを表示する(ステップS417)。さらに上書きモードをAPLに設定し(ステップS418)、上書きツールバー「APL」ボタンを選択表示にする(ステップS419)。ステップS407において終了であれば、「終了」ボタンにより、会議終了パケットを作成、他の全PCへ送信し(ステップS420)、ネットワーク制御、上書き制御、表示監視制御へ終了を通知する(ステップS421)。
つぎに、図45のフローチャートを参照し上書き表示制御動作について説明する。まず、文書表示領域のウィンドウ情報(左上原点座標、幅、高さ)を取得し(ステップS431)、水平スクロールバー情報(スクロールボックス位置、幅)を取得する(ステップS432)。さらに垂直スクロールバー情報(スクロールボックス位置、幅)を取得し(ステップS433)、文書表示領域のスクロール空間座標を算出する(ステップS434)。さらに全画面サイズの透明ウィンドウを表示し(ステップS435)、上書きファイルからストローク単位にストロークデータを入力する(ステップS436)。続いて、直前座標を0xFFFFに設定し(ステップS437)、ストローク座標が文書表示領域か判定する(ステップS438)。ここでストローク座標が文書表示領域でなければ、直前座標を0xFFFFに設定する(ステップS439)。ステップS438において文書表示領域のストローク座標である場合、ストローク座標を画面座標へ変換する(ステップS440)。続いて、直前座標が0xFFFFであるかを判断し(ステップS441)、直前座標が0xFFFFでなければ、直前座標と画面座標間をストローク色、ストローク太さにて線描画する(ステップS442)。さらに画面座標を直前座標として保存する(ステップS443)。続いて、1ストローク完了であるかを判断し(ステップS444)、1ストローク完了であれば、さらに前ストローク完了であるかを判断する(ステップS445)。ここで全ストロークについて完了していなければ、上書きファイル全ストロークを検索する(ステップS446)。
つぎに、図46のフローチャートを参照し上書き描画制御動作について説明する。ここでは、マウスボタンON(ペンダウン)時のマウスデータを引数として実行される。まず、マウス座標を描画座標データに保存、描画座標数を「1」に設定し(ステップS451)、マウスボタンOFF(ペンアップ)までのマウスデータを入力する(ステップS452)。続いて、マウスボタンOFFであるかを判断し(ステップS453)、マウスボタンOFFでなければ、前回座標今回座標間を上書き制御データに設定されているペン色、ペン太さにて線描画し(ステップS454)、入力したマウス座標を描画座標データに保存する(ステップS455)。ステップS453においてマウスボタンOFFであれば、描画座標データにより上書きパケットを作成、他の全PCへ送信し(ステップS456)、文書表示領域のウィンドウ情報(左上原点座標、幅、高さ)を取得する(ステップS457)。さらに水平スクロールバー情報(スクロールボックス位置、幅)を取得し(ステップS458)、垂直スクロールバー情報(スクロールボックス位置、幅)を取得する(ステップS459)。続いて、描画座標をスクロール空間座標に変換し(ステップS460)、ストロークデータを上書きファイルへ保存する(ステップS461)。
つぎに、図47のフローチャートを参照し上書き消去制御フローを説明する。ここでは、マウスボタンON(ペンダウン)時のマウスデータを引数として実行される。まず、マウス座標を消去座標データに保存し(ステップS471)、消去座標数を「1」に設定する。続いて、マウス座標を中心、1辺の長さが消しゴムカーソル長からなる矩形領域を透明色に設定する(ステップS472)。これにより上書きが消去される。続いて、マウスボタンOFF(ペンアップ)までのマウスデータを入力する(ステップS473)。さらにマウスボタンOFFであるかを判断し(ステップS474)、マウスボタンOFFでなければ、マウス座標を中心、1辺の長さが消しゴムカーソル長からなる矩形領域を透明色に設定し(ステップS475)、マウス座標を消去座標データに消去座標として保存する(ステップS476)。ステップS473においてマウスボタンOFFであれば、消去座標データにより上書き消去パケットを作成、他の全PCへ送信し(ステップS477)、文書表示領域のウィンドウ情報(左上原点座標、幅、高さ)を取得する(ステップS478)。さらに、水平スクロールバー情報(スクロールボックス位置、幅)を取得し(ステップS479)、垂直スクロールバー情報(スクロールボックス位置、幅)を取得する(ステップS480)。続いて、消去座標をスクロール空間座標へ変換し(ステップS481)、算出された座標を中心、1辺の長さが消しゴムカーソル長からなるカーソルスクロール空間矩形領域の左上原点座標、幅、高さを算出する(ステップS482)。さらに上書きファイルからストロークデータを入力する(ステップS483)。続いて、入力したストローク座標がカーソルスクロール空間内か判定する(ステップS484)。さらにストローク分割であるかを判断し(ステップS485)、ストローク分割であれば、ストロークの途中が消去される場合、ストロークを分割する(ステップS486)。さらに、分割したストロークの後半部分を新ストロークとして上書きファイルへ保存し(ステップS487)、入力ストロークデータの後半部分を削除する(ステップS488)。ステップS485においてストローク分割でなければ、入力ストロークデータの消去座標を削除する(ステップS489)。続いて、全ストローク座標を検索したかを判断し(ステップS490)、全ストローク座標を検索したならば、入力ストロークデータの全ストローク座標完了により更新された入力ストロークデータにより上書きファイルのストロークデータを置き換える。全ストローク座標が削除された場合、上書きファイルのストロークデータを削除する(ステップS491)。さらに上書きファイルの全ストロークデータに対して実行する(ステップS492)。さらに全消去座標に対して実行する(ステップS493)。
つぎに、図48のフローチャートを参照し上書き編集制御動作について説明する。この上書き編集プログラムはPC会議制御プログラムとは別に存在、上書きの表示、編集に用いる。まず、上書き編集プログラムはデスクトップアイコンのダブルクリックなどのOSが提供する手段により起動されると「開くダイアログボックス」を表示する(ステップS501)続いて、キャンセルであるかを判断し(ステップS502)、キャンセルでなければ、開くダイアログボックスにより指定された上書きファイルを入力する(ステップS503)。さらに上書き制御データへ上書きファイル名、デフォルト値のペン色、ペン太さ、消しゴムカーソル長を設定し(ステップS504)、上書き編集ツールバーを表示し(ステップS505)、上書き編集モードをAPLにする(ステップS506)。さらに上書き編集ツールバー「APL」ボタンを選択表示とする(ステップS507)。「APL」モード時は上書き編集ツールバー操作マウスデータ、「描画」、「消去」モード時は全マウスデータが入力される(ステップS508)。続いて、上書き編集ツールバー座標であるかを判断し(ステップS509)、上書き編集ツールバー座標でなければ、さらに上書き編集モードが描画であるかを判断する(ステップS510)。ここで描画の上書き編集モードであれば、描画モード時、入力マウス座標が上書き編集ツールバー外の座標である場合「上書き描画制御」を実行する(ステップS511)。ステップS510において描画の上書き編集モードでなければ、消去モード時、入力マウス座標が上書き編集ツールバー外の座標である場合「上書き消去制御」を実行する(ステップS512)。ステップS509において上書き編集ツールバー座標であれば、マウス座標が上書き編集ツールバー上である場合、「上書き編集ツールバー制御」を実行する(ステップS513)。続いて、終了であるかを判断し(ステップS514)、終了であれば、上書き編集ツールバー「終了」ボタンにより上書き編集ツールバーを消去する(ステップS515)。続いて、上書き編集モードがAPLであるかを判断し(ステップS516)、上書き編集モードがAPLでなければ、上書き表示中である場合、上書きウィンドウを消去する(ステップS517)。さらに上書きを保存するか保存確認ダイアログボックスを表示する(ステップS518)。続いて、保存するかを判断し(ステップS519)、保存であれば、上書きデータを指定された上書きファイルへ保存する(ステップS520)。なお、ここでは、上書き描画制御、上書き消去制御はPC会議制御と同様であるため説明は省略する。
つぎに、図49のフローチャートを参照し上書き編集ツールバー制御動作について説明する。ここでは、マウスボタンON(ペンタッチ)時のマウスデータを引数として実行される。まず、マウスボタンON座標のボタンを選択表示、他を通常表示にする(ステップS521)。続いて、クリックボタン情報を保存し(ステップS522)、マウスボタンOFF(ペンアップ)までのマウスデータを入力する(ステップS523)。続いて、マウスボタンOFFであるかを判断し(ステップS524)、マウスボタンOFFであれば、マウスボタンOFF時の座標がクリックボタン上で無い場合、ボタン機能は実行しない(ステップS525)。続いて、クリックボタンがペンであるかを判断し(ステップS526)、ペンのクリックボタンであれば、さらに上書き編集モードがAPLであるかを判断し(ステップS527)、APLモード時「ペン」ボタンが選択された場合、「上書き表示制御」を実行、現在表示されている文書への上書きを上書きファイルから検索、再描画し(ステップS528)、上書き編集モードを描画に設定する(ステップS529)。ステップS526においてペンのクリックボタンでなければ、消去のクリックボタンであるかを判断し(ステップS530)、消去のクリックボタンであれば、上書き編集モードがAPLであるかを判断し(ステップS531)、上書き編集モードがAPLであれば、APLモード時「消去」ボタンが選択された場合、「上書き表示制御」を実行、現在表示されている文書への上書きを上書きファイルから検索、再描画し(ステップS532)、上書き編集モードを消去に設定する(ステップS533)。ステップS530において消去のクリックボタンでなければ、さらにクリックボタンがAPLであるかを判断し(ステップS534)、クリックボタンがAPLであれば、「APL」ボタンにより、上書きウィンドウを消去、通常のプログラム操作が可能な状態へ戻し(ステップS535)、上書き編集モードをAPLに設定する(ステップS536)。ステップS534においてクリックボタンがAPLでなければ、さらにクリックボタンが設定であるかを判断する(ステップS537)。ここでクリックボタンが設定であれば、「設定」ボタンにより、上書き設定ダイアログボックスを表示、ペン色、ペン太さ、消しゴムカーソル長を入力し(ステップS538)、上書き設定ダイアログボックス入力値を上書き制御データへ設定し(ステップS539)、上書き編集モードボタンを選択表示、他を通常表示とする(ステップS540)。
(第3の実施の形態)
会議資料、講演資料等をタブレットPCにプロジェクタを接続、あるいはタッチパネル付きの大型表示装置(PDP、液晶リアプロジェクタ等)を接続、表示、実施するプレゼンテーションにおいて、補足説明、あるいは説明箇所の明示などの目的で会議資料上へ手書きにより文字描画することが行なわれる。この上書きは上書き時の会議資料に対して意味を持つもので会議資料の表示変更(スクロール、ページ捲り)が行なわれると邪魔となる。このため、再表示する必要が無い場合は消去、必要な場合は保存操作が必要となる。そこで、本発明は保存操作を不要にするものである。
また、上書きページ一覧を表示する場合、上書きだけ表示しても何を意味するのか不明となることから上書きが実行された文書画像も一緒に表示する必要がある。このため、上書き時の文書画像を保存することになるが同一ページ内でスクロール表示、上書きが繰り替えされると、同一ページ内の複数の画像が保存されることになる。そこで、本発明は上書きページ一覧表示する文書画像の保存を不要にする。また、保存画像から上書きページ一覧を表示、上書き+文書画像の内容からページを選択、文書ページを表示するには上書き一覧から文書ページ番号を知り、文書APLが提供するページ捲り操作により目的ページを表示する操作が必要となる。そこで、本発明はページ捲り操作を不要にする。
また、会議資料がA4縦、A3等で作成される場合、通常の100%表示でページ全部を表示することができないため、スクロール表示により目的とする部分を表示することになる。Excelなどのようにページサイズの概念がない場合、文書の上端から下端、あるいは左端から右端までが相当な長さとなることがある。一般的にページ表示時はページの左上端が画面上の文書表示領域の左上端へ表示される。このため、ページ下端、右端付近を表示するのにスクロール操作が必要となる。そこで、本発明はスクロール操作を不要にする。
また、文書ページのページ捲り、スクロール表示により新たに表示された文書への上書きを表示するためには上書きページ一覧により上書きページを表示、表示中の文書への上書きを検索、保存画像を表示する必要がある。また、上書きした文書ページを全て記憶することは困難であることからページ捲り、スクロール表示する度、上書き一覧を表示、表示文書への上書きがあるか検索が必要となる。そこで、本発明は上書きを自動表示する。また、画面上の文書表示領域が狭いと頻繁にスクロール表示が発生することになりプレゼンテーションの効率を悪くする。そこで、本発明は表示情報を多くする。さらに、画面上の文書表示領域が狭いと頻繁にスクロール表示が発生することになりプレゼンテーションの効率を悪くする。そこで、本発明はプレゼンテーションの効率を向上させるものである。以下、これらについて具体例をあげて詳述する。
まず、この実施の形態にかかるシステム構成を図50−1、図50−2を参照し説明する。表示面に透明に設置された座標入力装置付きのPD、液晶リアプロジェクタ等の大型表示装置(表示一体型座標入力装置110)をPC(パソコン)100Pのディスプレイとして接続、電子文書として作成された講義(講演)資料を表示、プレゼンテーションの効率化のため、ペン等の座標指示物により手書き文字(図)を上書き描画、文書作成プログラムが提供するI/Fにより文書情報を取得、文書位置と描画位置を関連付け描画データを保存、描画時の文書位置へ再表示する。図50−2にタブレットPC(100T,Tm)にプロジェクタ30を接続、タブレットPCの専用ペンによる操作図を示す。また、会議資料を作成する文書作成プログラム(文章APLと呼ぶ)は表示中の文書情報(総ページ数、表示ページ番号(Excel:シート番号、PowerPoint:スライド番号当)、表示倍率、文書左上原点座標、文書幅、文書高さ)を提供するI/Fを持つものとする。現在この機能は米Microsoft社から Word、Excel、PowerPointにより提供されている。
なお、表示一体型座標入力装置110の構成、光遮断座標検知方式、タブレットPCの構成、電磁誘導座標検知方式については、前述の図2〜図5と同様であるのでここでの説明は省略する。
つぎに、図51を参照しOSが提供するI/Fにより取得できる画面表示情報について説明する。図示するように、画面幅(W)、画面高さ(H)を取得する。画面表示中のウィンドウ情報(左上原点座標、幅、高さ、ウィンド識別)を取得、ウィンド識別がスクロールバーを示す値(Windows(米マイクロソフト社の登録商標)におけるウィンドウ識別:ScrollBar)のウィンドウを検索、(ウィンドウ幅>ウィンドウ高さ)となる場合、水平スクロールバーウィンドウと判定、左上原点座標(HX,HY)、ウィンドウ幅(HW)、ウィンドウ高さ(HH)を取得する(図51[2]参照)。水平スクロールボックス幅(HB)、水平スクロールボックス位置(HP)を取得する(図52[3]参照)。水平スクロール長(HL)を取得する(図52[4]参照)。画面表示中のウィンドウ情報(左上原点座標、幅、高さ、ウィンド識別)を取得、ウィンド識別がスクロールバーを示す値(Windows(米マイクロソフト社の登録商標)におけるウィンドウ識別:ScrollBar)のウィンドウを検索、(ウィンドウ幅<ウィンドウ高さ)となる場合、垂直スクロールバーウィンドウと判定、左上原点座標(VX,VY)、ウィンドウ幅(VW)、ウィンドウ高さ(VH)を取得する(図51[5]参照)。垂直スクロールボックス幅(VB)、垂直スクロールボックス位置(VP)を取得する(図51[6]参照)。垂直スクロール長(VL)を取得する(図51[7]参照)。
つぎに、図52を参照し文書を作成するプログラム(文書APLと呼ぶ)が提供するI/Fにより取得される文書情報を説明する。文書(ページ、シート、スライド)の画面左上原点(0,0)とする文書左上原点座標(DX,DY)を取得する(図52[1]参照)。文書左上原点が画面外となる場合、−値となる。文書幅(DW)、文書高さ(DH)を取得する(図52[2]参照)。文書表示領域左上原点座標(PX,PY)を取得する(図52[3]参照)。画面表示領域幅(PW)、高さ(PH)を取得する。(図52[4]参照)表示ページ番号(シート番号、スライド番号)(P)、表示倍率(V)、総ページ数(N)を取得する(図52[5]参照)。
つぎに、図53を参照し文書座標算出方法について説明する。文書の左上原点座標(DX,DY)、文書幅(DW)、文章高さ(DH)、表示倍率%(V)を文書APLが提供するI/Fにより取得、画面幅(W)、画面高さ(H)をOSが提供するI/Fにより取得する。左上原点が画面内にある場合、画面座標(X,Y)の文書座標(XP,YP)は以下となる。
文書座標は100%表示時に換算する(図53[1]参照)。
XP = (X − DX) × (100 / V)
YP = (Y − DY) × (100 / V)
左上原点が画面外となる場合、(−DX)、(−DY)となり画面座標(X,Y)の文書座標(XP,YP)は以下となる(図53[2]参照)。
XP = (X − (-DX)) × (100 / V)
YP = (Y − (-DY)) × (100 / V)
(DY+DH)<Hである場合、文書が2ページに跨って表示されていると判定、文書APLが提供するI/Fによりページ間隔(DS)を取得する(図53[3]参照)。ページ間領域は前ページ領域とする。(P+1)ページ上の画面座標(X,Y)の文書座標(XP,YP)は以下となる(図53[4]参照)。
XP = (X − DX) × (100 / V)
YP = (Y − (DY+DH+DS)) × (100 / V)
つぎに、図54を参照し文書座標から画面座標への算出方法を説明する。文書の左上原点座標(DX,DY)、文書幅(DW)、文書高さ(DH)、表示倍率%(V)、表示ページ番号(P)を文書APLが提供するI/F、画面幅(W)、画面高さ(H)をOSが提供するI/Fにより取得する。文書座標は100%表示時の座標に変換保存されているものとする。
Pページの文書座標(XP,YP)の画面座標(X,Y)は以下となる(図54[1]参照)。
X = XP×(V / 100)+DX
Y = YP×(V / 100)+DY
Pページの画面領域は左上端座標(0,0)、右下端座標(W−1、DY+DH+DS−1)となり、この領域外にある座標は画面外となる(図54[2]参照)。
(P+1)ページの文書座標(XP1,YP1)の画面座標(X1,Y1)は以下となる(図54[3]参照)。
X1 = XP1×(V / 100)+DX
Y1 = YP1×(V / 100)+(DY+DH+DS))
(P+1)ページの画面領域は左上座標(0,DY+DH+DS)、右下座標(W−1、H−1)となり、この領域外にある座標は画面外となる(図54[4]参照)。
つぎに、図55−1、図55−2を参照し文書表示位置とスクロールボックス位置の関係について説明する。Pページの左上端が画面表示領域の左上端に表示される場合、文書APLが提供するI/Fによりページ総数(N)、表示ページ番号(P)、1ページからNページまでの文書高さ(DH1、DH2、・・・・DHN)を取得、OSが提供するI/Fによりスクロールバー情報を取得垂直スクロール長(VL)を算出する(図55−1[1]参照)。このとき以下となる。
VL : VP = (DH1+DH2+・・・+DHN) : (DH1+DH2+・・・+DH(P−1))
VP = VL × (DH1+DH2+・・・+DH(P−1)) /(DH1+DH2+・・・+DHN)
水平スクロールボックス位置(0)、垂直スクロールボックス位置(上記[1]で算出値)へ移動する(図55−1[2]参照)。文書APLが提供するI/Fにより、移動後の文書表示領域左上原点座標(PX,PY)、幅(PW)、高さ(PH)を取得、OSが提供するI/Fにより水平スクロールボックス幅(HB)、垂直スクロールボックス幅(VB)を取得する。
文書座標(XP,YP)を画面座標(X,Y)へ表示するとき、画面表示領域左側長(HS=XP−X+PX)を算出する(図55−1[3]参照)。このとき以下となる。
HP : HB = (XP−X+PX) : PW
HP = HB × (XP−X+PX) /PW
[4]文書座標(XP,YP)を画面座標(X,Y)へ表示する場合、垂直スクロールボックス移動量(α)と画面表示領域上側長(VS=YP−Y+PY)とする(図55−2[4]参照)。このとき以下となる。
α : VB = (YP−Y+PY) : PH
α = VB × (YP−Y+PY) /PH
以上から文書座標(XP,YP)を画面座標(X,Y)へ表示するとき、水平スクロールボックス位置(HP)、垂直スクロールボックス位置(VP+α)となる。
つぎに、図56−1、図56−2を参照し文書座標(XP,YP)を画面表示領域中央近辺へ表示する場合の表示領域について説明する。文書APLが提供するI/Fにより画面上の文書表示領域左上原点座標(PX,PY)、文書表示領域幅(PW)、文書表示領域高さ(PH)を取得、画面上文書表示領域中点座標(X,Y)を算出する(図56−1[1]参照)。
X=(PX+PW)/2、Y=(PY+PH)/2
文書座標(XP,YP)を画面表示領域中央近辺へ表示する場合、XPページ右端長(XW)、YPページ下端長(YH)を算出する(図56−1[2]参照)。
XW=DW−XP、YH=DH−YP
PW/2≦XP、PW/2≦XW、PH/2≦YP、PH/2≦YHである場合、(XP,YP)点を画面文書表示領域中点座標(X,Y)へ表示する(図56−1[3]参照)。
PW2>XPである場合,XP=PW/2、PH/2>YPである場合,YPPH/2とし、(XP,YP)点を画面文書表示領域中点座標(X,Y)へ表示する(図56−1[4]参照)。
PW/2>XWである場合、XP=DW−PW/2、PH/2>YHである場合、YP=DH−PH/2とし、(XP,YP)点を画面文書表示領域中点座標(X,Y)へ表示する(図56−2[5]参照)。
つぎに、図57を参照し文書全画面表示について説明する。上書き制御プログラムは文書画像を表示領域左上原点座標(WX,0)、幅(WW)、高さ(WH)へ表示する(図57[1]参照)。文書画像の左上原点座標(DX,DY)はスクロール表示により変更する(図57[2]参照)。垂直スクロールバーを表示、文書画像を垂直スクロール表示する(図57[3]参照)。水平スクロールバーを表示、文書画像を水平スクロール表示する(図57[4]参照)。
なお、上書きストローク情報、上書き描画、消去は基本的には前述した図9と同様であるので、ここでの説明は省略する。
つぎに、図58−1、図58−2を参照し上書き操作について説明する。デスクトップアイコンのダブルクリック等OSが提供する手段により「上書き制御プログラム」を起動、「上書きツールバー」を表示する(図58−1[1]参照)。「設定」ボタンにより、「上書き設定ダイアログボックス」を表示、上書き時のペンの太さ、色、消去時の消しゴムカーソルの大きさを設定する(図58−1[2]参照)。「太さ」一覧からペンの太さ、「色」一覧からペンの色を選択する(図58−1[3]参照)。操作ハンドルをドラッグすることにより消しゴムカーソルの大きさを調整する(図58−1[4]参照)。「ペン」、または「消去」ボタン押下により上書きモードへ移行する(図58−1[5]参照)。このとき、上書きを描画する上書きウィンドウ(全画面サイズの透明ウィンドウ)を表示、このウィンドウ上で描画、消去を実行する。上書き時、文書情報(左上原点座標、幅、高さ、表示倍率%、ページ番号)を文書APLが提供するI/Fにより取得、上書きを文書位置と関連付け上書きファイルへ保存する。(図58−1[6]参照)「APL」ボタンにより上書きウィンドウを消去、通常のOSが提供する操作を可能とする(図58−1[7]参照)。「一覧」ボタンにより上書きと上書きした文書のページ画像の一覧を表示する(図58−1[8]参照)。上書きが実行されたページの画像をページ(Excelはシート、PowerPointはスライド)単位に文書APLが提供するI/Fにより取得、同画像上へ上書きを描画、ページ単位に縮小表示する(図58−1[9]参照)。ページ画像、表示位置をクリック選択する(図58−1[10]参照)。ページ上でのダブルクリックにより表示ページ、表示位置を取得する(図58−1[11]参照)。
さらに、クリック点が文書表示領域の中央近辺へ表示されるように、水平スクロールボックス位置、垂直スクロールボックス位置を算出、算出値へ移動する。移動後、表示文書への上書きを上書きファイルから検索、上書き時の文書位置へ描画する(図58−2[12]参照)。文書画像の全画面表示を示す(図58−2[13]参照)。このとき、垂直方向へのスクロール表示がある場合、垂直スクロールバーを表示、水平方向へのスクロール表示がある場合は水平スクロールバーを表示する。全画面ツールバーを表示、「ペン」ボタンにより上書きの追加、「消去」ボタンにより上書きを消去する(図58−2[14]参照)。「戻る」ボタンにより一覧表へ戻る(図58−2[15]参照)。
つぎに、図59のフローチャートを参照し上書き制御動作について説明する。ここでは、上書き制御プログラムはデスクトップアイコンのダブルクリックなどOSが提供する手段により起動され上書きを制御する。まず、上書きファイルを作成、初期化(上書きページ総数=0)する(ステップS601)。さらに各制御に共通に参照される制御データとなる上書き制御データへデフォルトのペン色、太さ、消しゴムカーソル長、作成した上書きファイル名を設定し(ステップS602)、上書きツールバーを表示する(ステップS603)。APLの上書きモードにし(ステップS604)、上書きモードを「APL(アプリケーション)」に設定し、上書きツールバーのAPLボタンを選択表示(通常表示と2種類の表示形態を有する)とする(ステップS605)。ペン(マウス)操作マウスデータを入力する(ステップS606)。APLモード時は上書きツールバー操作データ、描画、消去モード時は全操作データを入力する。続いて、上書きツールバー座標であるかを判断し(ステップS607)、上書きツールバー座標でなければ、さらに描画の上書きモードであるかを判断する(ステップS608)。描画モード時上書きツールバー外の操作により「上書き描画制御」を実行する(ステップS609)。ステップS608において描画の上書きモードでなければ、さらに消去の上書きモードであるかを判断し(ステップS610)、消去の上書きモードであれば、消去モード時上書きツールバー外の操作により「上書き消去制御」を実行する(ステップS611)。ステップS607において上書きツールバー座標であれば、上書きツールバーへの操作により「上書きツールバー制御」を実行する(ステップS612)。上書きツールバー「終了」ボタンにより上書き制御を終了する(ステップS613)。さらにAPLの上書きモードであるかを判断し(ステップS614)、APLの上書きモードでなければ、上書きウィンドウを消去する(ステップS615)。さらに上書きツールバーを消去し(ステップS616)、上書きファイルの保存処理を実行して終了するし(ステップS617)。
つぎに、図60−1、図60−2のフローチャートを参照し上書きツールバー制御動作について説明する。ここでは、マウスボタンON(ペンダウン)時のマウスデータを引数として実行する。まず、選択表示されている上書きモードボタンを通常表示し、クリックされたボタンを選択表示にする(ステップS621)。クリックボタン情報を保存し(ステップS622),マウスボタンOFF(ペンアップ)までのマウスデータを入力する(ステップS623)。続いて、マウスボタンOFFであるかを判断し(ステップS624)、マウスボタンOFFであれば、クリックボタン上座標であるかを判断する(ステップS625)。クリックボタン上座標であれば、ペンのクリックボタンであるかを判断し(ステップS626)、ペンのクリックボタンであれば、APLの上書きモードであるかを判断する(ステップS627)。ステップS625においてマウスボタンOFF時の座標がマウスボタンON時のボタン上にない場合、無処理とする。ステップS627においてAPLの上書きモードであれば、「ペン」ボタンによりAPLモードから描画モードへ移行時、文書APLが提供するI/Fにより文書左上原点座標(DX,DY)、幅(DW)、高さ(DH)、表示ページ番号(P)、表示倍率(V)を取得、上書き制御データへ設定する(ステップS628)。続いて、「上書き表示制御」を実行、現在表示されている文書ページへの上書きを上書きファイルから入力描画し(ステップS629)、描画の上書きモードに設定する(ステップS630)。ステップS626においてペンのクリックボタンでなければ、さらに消去のクリックボタンであるかを判断し(ステップS631)、消去のクリックボタンであれば、さらにAPLの上書きモードであるかを判断する(ステップS632)。APLの上書きモードであれば、「消去」ボタンによりAPLモードから消去モードへ移行時、文書APLが提供するI/Fにより、文書左上原点座標(DX,DY)、幅(DW)、高さ(DH)、表示ページ番号(P)、表示倍率(V)を取得、上書き制御データへ設定する(ステップS633)。さらに、「上書き表示制御」を実行、現在表示されている文書ページへの上書きを上書きファイルから入力描画し(ステップS634)、消去の上書きモードに設定する(ステップS635)。ステップS631において消去のクリックボタンでなければ、さらにAPLのクリックボタンであるかを判断し(ステップS636)、APLのクリックボタンであれば、描画、消去モードからAPLモードへ移行時、上書きウィンドウを消去、通常のOSが提供する機能操作を可能にする(ステップS637)。その後、APLの上書きモードに設定する(ステップS638)。ステップS635においてAPLのクリックボタンであれば、さらに一覧のクリックボタンであるかを判断し(ステップS639)、一覧のクリックボタンであれば、「一覧」ボタンにより、「上書き一覧表示制御」を実行する(ステップS640)。ステップS639において一覧のクリックボタンでなければ、さらに設定のクリックボタンであるかを判断し(ステップS641)、設定のクリックボタンであれば、「設定」ボタンにより、「上書き設定ダイアログボックス」を表示、ペン太さ、色、消しゴムカーソル長を入力、上書き制御データへ設定する(ステップS642)、クリックボタンを通常表示、上書きモードボタンを選択表示にする(ステップS643)。
つぎに、図61のフローチャートを参照し上書き描画制御動作について説明する。ここでは、描画開始時のマウス座標を入力値として実行する。まず、描画開始時のマウス座標をドラッグ座標データへ保存する(ステップS651)。マウスボタンOFF(ペンアップ)までのマウスデータを入力する(ステップS652)。続いて、マウスボタンOFFであるかを判断し(ステップS653)、マウスボタンOFFでなければ、入力マウス座標をドラッグ座標データへ保存し(ステップS654)、上書き制御データに設定されているペン色、ペン太さにて今回入力座標、前回入力座標間を線描画する(ステップS655)。ステップS653においてマウスボタンOFFであれば、上書き制御データから文書左上原点座標(DX,DY)、幅(DW)、高さ(DH)、表示ページ番号(P)、表示倍率(V)を取得し(ステップS656)、画面幅(W)、高さ(H)を取得する(ステップS657)。続いて、2ページ表示であるかを判断する(ステップS658)。つまり、(DY+DH)<Hの場合文書が2ページに跨って表示されていると判定する。2ページに跨って表示されている場合、文書APLからページ間隔(DS)を取得する(ステップS659)。続いて、開始座標Pページ領域であるかを判断する(ステップS660)。ここでは、ドラッグ開始Y座標<(DY+DH+DS)の場合、Pページへの上書きとする。開始座標Pページ領域であれば、ドラッグ座標を文書座標へ変換し(ステップS661)、上書きファイルの文書ページ番号(P)保存領域へストロークデータを追加する(ステップS662)。ステップS660において開始座標Pページ領域でなければ、文書座標をドラッグ座標に変換し(ステップS663)、上書きファイルの文書ページ番号(P+1)保存領域へストロークデータを追加する(ステップS664)。
つぎに、図62のフローチャートを参照し上書き消去制御動作について説明する。ここでは、消去開始時のマウス座標を入力値として実行する。まず、上書き制御データから文書左上原点座標(DX,DY)、幅(DW)、高さ(DH)、表示ページ番号(P)、表示倍率(V)を取得する(ステップS671)。続いて、画面幅(W)、高さ(H)を取得し(ステップS672)、上書きファイルから文書ページ番号(P)ストロークデータを入力する(ステップS673)。続いて、2ページ表示であるかを判断する(ステップS674)。つまり、(DY+DH)<Hの場合文書が2ページに跨って表示されていると判定する。ここで2ページ表示であれば、上書きファイルから文書ページ番号(P+1)のストロークデータを入力する(ステップS675)。さらに、ストローク座標(文書座標)を画面座標へ変換し(ステップS676)。消去開始時のマウス座標をドラッグ座標データへ保存する(ステップS677)。続いて、マウスボタンOFF(ペンアップ)までのマウスデータを入力し(ステップS678)、マウスボタンOFFであるかを判断する(ステップS679)。ここでマウスボタンOFFでなければ、入力マウス座標をドラッグ座標データへ保存し(ステップS680)、入力マウス座標を矩形の中心とする消しゴムカーソル領域を算出し(ステップS681)、消しゴムカーソル領域内の画面座標を検索する(ステップS682)。続いて、カーソル領域有りであるかを判断し(ステップS683)、カーソル領域有りであれば、上書きウィンドウの消しゴム領域を透明色とし上書き文字を消去し(ステップS684)、消しゴムカーソル領域にかかる画面座標を削除する(ステップS685)。ストロークの途中が消去される場合ストロークを分ける。続いて、画面座標をストローク座標(文書座標)へ変換し(ステップS686)、上書きファイルの文書ページ番号(P)ストロークデータと置き換える(ステップS687)。続いて、2ページ表示であるかを判断し(ステップS688)、2ページ表示であれば、ストローク座標を(P+1)ページ画面に設定し(ステップS689)、上書きファイルの文書ページ番号(P+1)ストロークデータと置き換える(ステップS690)。
つぎに、図63のフローチャートを参照し上書き表示制御動作について説明する。まず、上書きウィンドウ(全画面サイズ透明ウィンドウ)を作成し最前面へ表示する(ステップS691)。続いて、上書き制御データから文書左上原点座標(DX,DY)、幅(DW)、高さ(DH)、表示ページ番号(P)、表示倍率(V)を取得し(ステップS692)、画面幅(W)、高さ(H)を取得する(ステップS693)。さらに上書きファイルから文書ページ番号(P)ストロークデータを入力し(ステップS694)、2ページ表示であるかを判断する(ステップS695)。ここでは(DY+DH)<Hの場合文書が2ページに跨って表示されていると判定する。2ページ表示であれば、上書きファイルから文書ページ番号(P+1)ストロークデータを入力する(ステップS696)。さらにストローク座標(文書座標)を画面座標へ変換し(ステップS697)、ストローク単位に描画する(ステップS698)。直前座標を0xFFFFに設定し(ステップS699)、画面座標が(0,0)から(SW−1、SH−1)内であるか判定する(ステップS700)。画面内座標でなければ、直前座標を0xFFFFに設定する(ステップS701)。ステップS700において画面内座標であれば、さらに直前座標が0xFFFFであるかを判断し(ステップS702)、ストロークに設定されている色、太さにて座標間を線描画する(ステップS703)。続いて、直前座標を画面座標にし(ステップS704)、さらに1ストローク画面座標について完了したかを判断し(ステップS705)、表示ページへの全ストロークの画面内座標を検索する(ステップS706)。
つぎに、図64のフローチャートを参照し上書き一覧表示制御動作について説明する。まず、上書き一覧ダイアログボックスを表示し(ステップS711)、上書きファイルから上書きが実行された文書ページ番号を入力、文書APLが提供するI/Fにより同ページの文書画像データを取得する(ステップS712)。続いて、文書画像上への上書きデータを上書きファイルから入力、描画し(ステップS713)、ページ画像(文書画像+上書き)を縮小、上書き一覧ダイアログボックスへ表示する(ステップS714)。続いて、上書き全ページ表示であるかを判断し(ステップS715)、書き全ページ表示であれば、さらにマウスデータ入力であるかを判断し(ステップS716)、マウスデータ入力であれば、マウスボタンOFF(ペンアップ)時のマウス座標にある機能を実行する(ステップS717)。続いて、ページ画像上座標であるかを判断し(ステップS718)、ページ画像上座標であれば、選択された文書ページ番号、表示位置座標を算出保存する(ステップS719)。ステップS718においてページ画像上座標でなければ、さらに全画面ボタン座標であるかを判断し(ステップS720)、全画面ボタン座標であれば、上書き一覧ダイアログボックスを消去し(ステップS721)、「全画面」ボタンにより「上書きページ全画面表示制御」を実行、選択された文書ページ画像を全画面表示する(ステップS722)。ステップS720において全画面ボタン座標でなければ、さらに表示ボタン座標であるかを判断し(ステップS723)、表示ボタン座標であれば、上書き一覧ダイアログボックスを消去し(ステップS724)、APLの上書きモードであるかを判断する(ステップS725)。ここでAPLの上書きモードであれば、上書きページの表示制御を実行する。(ステップS726)。ステップS725においてAPLの上書きモードでなければ、「表示」ボタンにより、描画、あるいは消去モード時上書きウィンドウを消去する(ステップS727)。続いて、「上書き表示ページ制御」を実行、選択された文書ページの表示位置座標を画面上文書表示領域中央近辺へ表示し(ステップS728)、「上書き表示制御」を実行、表示文書への上書きを上書き時の文書位置へ表示する(ステップS729)。ステップS723において表示ボタン座標でなければ、さらに戻るボタン座標であるかを判断し(ステップS730)、戻るボタン座標であれば、「戻る」ボタンにより上書き一覧ダイアログボックスを消去、上書き一覧表示制御を終了する(ステップS731)。
つぎに、図65−1、図65−2のフローチャートを参照し上書きページ表示制御フローを説明する。ここでは、前述したスクロールボックス位置算出(図55−1〜2参照)および文書表示領域算出(図56−1〜2参照)を基に説明する。まず、OSが提供するI/Fにより文書APLのスクロールバー情報を取得し(ステップS741)、取得したスクロールバー情報から垂直スクロール長(VL)を算出する(ステップS742)。続いて、文書APLが提供するI/Fにより、総ページ数(N)、表示ページ番号(P)、全ページの文書高さ(DH1、DH2、・・・DHN)を取得する(ステップS743)。続いて、全ページの文書高さ総計(DH0、DH1、・・・DHN)、表示前ページ(P−1)までの文書高さの総計(DH1、DH2、・・・DH(P−1))を算出、垂直スクロールボックス位置(VP)を算出する(ステップS744)。さらに、OSが提供するI/Fにより垂直スクロールボックスをVPへ移動し(ステップS745)、OSが提供するI/Fにより水平スクロールボックスを左端(位置=0)へ移動する(ステップS746)。続いて、文書APLが提供するI/Fにより画面内の文書表示領域の原点座標(PX,PY)を取得し(ステップS747)、文書APLが提供するI/Fにより画面内の文書表示領域の文書幅(PW)を取得する(ステップS748)。続いて、文書APLが提供するI/Fにより画面内の文書表示領域の文書高さ(PH)を取得し(ステップS749)、文書APLが提供するI/Fにより表示ページの文書幅(DW)を取得する(ステップS750)。続いて、表示文書座標XPから文書右端までの長さ(XW=DW−XP)を算出する(ステップS751)。続いて、表示文書座標YPから文書下端までの長さ(YH=DH−YP)を算出し(ステップS752)、XP<PW/2であるかを判断し(ステップS753)、XP<PW/2であれば、文書座標Xを(PW/2)とする(ステップS754)。ステップS753においてXP<PW/2でなければ、さらにXW<PW/2であるかを判断し(ステップS755)、XW<PW/2である場合、文書座標Xを(DW−PW/2)とする(ステップS756)。ステップS755においてXW<PW/2でなければ、すなわち、(PW/2≦XP、PW/2≦XW)となる場合、文書座標Xを(XP)とする(ステップS757)。続いて、YP<PH/2であるかを判断し(ステップS758)、YP<PH/2となる場合、文書座標Yを(PH/2)とする(ステップS759)。ステップS758においてYP<PH/2でなければ、さらにYH<PH/2であるかを判断する(ステップS760)。YH<PH/2となる場合、文書座標Yを(DH−PH/2)とする(ステップS761)。ステップS760においてYH<PH/2でなければ、すなわち、(PH/2≦YP、PH/2≦YH)となる場合、文書座標Yを(YP)とする(ステップS762)。続いて、画面内文書表示領域中央座標(Xs=PX+PW/2,Ys=PY+PH/2)を算出する(ステップS763)。さらに、文書座標(X,Y)が画面文書表示領域中央座標(Xs,Ys)となる場合の水平スクロールボックス位置(HP)を算出する(ステップS764)。続いて、OSが提供するI/Fにより水平スクロールボックスをHPへ移動する(ステップS765)。さらに文書座標(X,Y)が画面文書表示領域中央座標(Xs,Ys)となる場合の垂直スクロールボックス移動量(α)を算出し(ステップS766)、OSが提供するI/Fにより垂直スクロールボックスを(VP+α)へ移動する(ステップS767)。
つぎに、図66のフローチャートを参照し上書きページ全画面表示制御動作について説明する。ここでは、全画面表示するページ番号を入力値として実行する。まず、全画面ウィンドウ(ページ画像表示領域、水平スクロールバー、垂直スクロールバー)を最前面へ表示する(ステップS771)。さらに、文書APLが提供するI/Fにより表示ページの画像を取得し(ステップS772)、表示ページ画像を全画面ウィンドウへ表示する(ステップS773)。続いて、表示ページ画像の文書左上原点座標、文書幅、文書高さ、表示ページ番号、表示倍率を上書き制御データへ設定し(ステップS774)、全画面ツールバーを表示する(ステップS775)。続いて、描画の全画面モードに設定し(ステップS776)、全画面モードを「描画」に設定、全画面ツールバー「ペン」ボタンを選択表示とし(ステップS777)、「上書き表示制御」を実行、表示ページへの上書きを上書きファイルから入力、上書き時の位置へ描画する(ステップS778)。続いて、マウスボタンON(ペンダウン)時のマウスデータを入力する(ステップS779)。水平スクロールバー座標であるかを判断し(ステップS780)、水平スクロールバー座標であれば、すなわち水平スクロールバー上へのボタンONである場合、「水平スクロール表示制御」を実行、ページ画像をスクロール表示する(ステップS781)。ステップS780において水平スクロールバー座標でなければ、さらに垂直スクロールバー座標であるかを判断し(ステップS782)、垂直スクロールバー座標であれば、すなわち垂直スクロールバー上へのボタンONである場合、「垂直スクロール表示制御」を実行、ページ画像をスクロール表示する(ステップS783)。ステップS782において垂直スクロールバー座標でなければ、さらに全画面ツールバー座標であるかを判断し(ステップS784)、全画面ツールバー座標でなければ、さらに全画面モードが描画であるかを判断し(ステップS785)、全画面モードが描画の場合、描画モードで「上書き描画制御」を実行、上書きを追加描画する(ステップS786)。ステップS785において全画面モードが描画でなければ、消去モードで「上書き消去制御」を実行、上書きを消去する(ステップS787)。ステップS784において全画面ツールバー座標でなければ、全画面ツールバー上へのボタンONである場合、「全画面ツールバー制御」を実行する(ステップS788)。続いて、戻るボタンのタッチ有無を判断し(ステップS789)、戻るボタンのタッチがあれば、全画面ツールバーを消去し(ステップS790)、全画面ツールバー「戻る」ボタンにより、全画面ウィンドウ、全画面ツールバーを消去する(ステップS791)。さらに、文書表示情報を文書APLが提供するI/Fにより取得、上書き制御データへ設定する(ステップS792)。
つぎに、図67のフローチャートを参照し全画面ツールバー制御動作について説明する。ここでは、マウスボタンON座標を入力値として実行する。まず、全画面モードボタンを通常表示、マウスボタンON座標のボタンを選択表示、ボタン情報を保存する(ステップS801,S802)。マウスボタンOFFまでのマウスデータを入力する(ステップS803)。マウスボタンOFFであるかを判断し(ステップS804)、マウスボタンOFFであれば、さらにクリックボタン上座標であるかを判断する(ステップS805)。ここで、クリックボタン上座標であれば、ペンのクリックボタンであるかを判断し(ステップS806)、ペンのクリックボタンであれば、「ペン」ボタンにより全画面モードを「描画」に設定する(ステップS807)。ステップS805においてマウスボタンOFF時の座標がクリックボタン上に無い場合、無処理とする。ステップS806においてペンのクリックボタンでなければ、さらに消去のクリックボタンであるかを判断し(ステップS808)、消去のクリックボタンであれば、「消去」ボタンにより全画面モードを「消去」に設定する(ステップS809)。ステップS808において消去のクリックボタンでなければ、さらに設定のクリックボタンであるかを判断する(ステップS810)。ここで、設定のクリックボタンであれば、「設定」ボタンにより、上書き設定ダイアログボックスを表示、ペン色、太さ、消しゴムカーソル長を入力、上書き制御データへ設定し(ステップS811)、クリックボタンを通常表示、全画面モードボタンを選択表示にする(ステップS812)。
つぎに、図68のフローチャートを参照し水平スクロール表示制御動作について説明する。まず、上書きウィンドウを消去し(ステップS821)、ページ画像のスクロール表示を可能とする。続いて、マウスデータ入力の有無を判断し(ステップS822)、マウスデータ入力であれば、さらにマウスボタンOFFであるかを判断し(ステップS823)、マウスボタンOFFでなければ、さらに水平スクロールバー上であるかを判断する(ステップS824)。ここで、水平スクロールバー上である場合、入力マウス座標へ水平スクロールボックスを移動する(ステップS825)。続いて、ページ画像を水平スクロールボックス移動分、水平スクロール表示する(ステップS826)。さらに、マウスボタンOFFによりスクロール表示により移動したページ画像(文書)の左上原点座標を上書き制御データへ設定し(ステップS827)、「上書き表示制御」を実行、表示ページへの上書きを上書きファイルから入力、上書き時の位置へ描画する(ステップS828)。
つぎに、図69のフローチャートを参照し垂直スクロール表示制御動作について説明する。まず、上書きウィンドウを消去し(ステップS831)、ページ画像のスクロール表示を可能とする。続いて、マウスデータ入力の有無を判断し(ステップS832)、マウスデータ入力であれば、さらにマウスボタンOFFであるかを判断し(ステップS833)、マウスボタンOFFでなければ、さらに垂直スクロールバー上であるかを判断する(ステップS834)。ここで、垂直スクロールバー上である場合、入力マウス座標へ垂直スクロールボックスを移動する(ステップS835)。続いて、ページ画像を垂直スクロールボックス移動分、垂直スクロール表示する(ステップS836)。さらに、マウスボタンOFFによりスクロール表示により移動したページ画像(文書)の左上原点座標を上書き制御データへ設定し(ステップS837)、「上書き表示制御」を実行、表示ページへの上書きを上書きファイルから入力、上書き時の位置へ描画する(ステップS838)。