(57)【特許請求の範囲】
【請求項１】
文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトが、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期システムであって、
前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択する同期対象選択手段と、
アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面領域及びその移動量の情報を獲得する移動量獲得手段と、
描画オブジェクトの表示情報を管理する描画情報管理手段と、
前記描画情報管理手段に管理されている描画オブジェクトのうち、前記移動量獲得手段が獲得した移動量の情報に従って移動すべき描画オブジェクトを判定する判定手段と、
前記判定手段にて移動すべきと判定された描画オブジェクトの前記描画情報管理手段における表示情報を、前記移動量獲得手段にて獲得した移動量の情報に基づいて更新する更新手段と、
前記更新手段にて更新された表示情報に基づいて、移動すべき描画オブジェクトの再描画を行う再描画手段と
を備えることを特徴とするスクロール同期システム。
【請求項２】
文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトが、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期システムであって、
前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択する同期対象選択手段と、
アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面描画領域の情報を獲得する移動量獲得手段と、
クライアント座標系において定義された描画オブジェクトの初期状態の位置からクライアント座標系において定義された現在の位置へのオフセット量の情報を管理する描画情報管理手段と、
前記描画情報管理手段に管理されている描画オブジェクトのうち、前記移動量獲得手段が獲得した情報に従って移動すべき描画オブジェクトを判定する判定手段と、
前記移動量獲得手段にて獲得された文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面描画領域の情報に基づいて前記判定手段にて移動すべきと判定された描画オブジェクトの前記描画情報管理手段におけるオフセット量の情報を更新する更新手段と、
前記更新手段にて更新されたオフセット量の情報に基づいて、描画アプリケーションプログラムにより移動すべき描画オブジェクトの再描画を行う再描画手段と
を備えることを特徴とするスクロール同期システム。
【請求項３】
文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトが、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期システムであって、
前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択する同期対象選択手段と、
アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面のスクロール領域及びスクロール量の情報を獲得する移動量獲得手段と、
クライアント座標系において定義された描画オブジェクトの初期状態の位置からクライアント座標系において定義された現在の位置へのオフセット量の情報を管理する描画情報管理手段と、
前記描画情報管理手段に管理されている描画オブジェクトのうち、前記移動量獲得手段が獲得した情報に従って移動すべき描画オブジェクトを判定する判定手段と、
前記移動量獲得手段にて獲得された文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面のスクロール領域及びスクロール量の情報に基づいて前記判定手段にて移動すべきと判定された描画オブジェクトの前記描画情報管理手段におけるオフセット量の情報を更新する更新手段と、
前記更新手段にて更新されたオフセット量の情報に基づいて、描画アプリケーションプログラムにより移動すべき描画オブジェクトの再描画を行う再描画手段と
を備えることを特徴とするスクロール同期システム。
【請求項４】
文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトを、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期方法であって、
前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択するステップと、
アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面領域及びその移動量の情報を獲得するステップと、
描画オブジェクトの表示情報を管理するステップと、
管理されている描画オブジェクトのうち、獲得した移動量の情報に従って移動すべき描画オブジェクトを判定するステップと、
移動すべきと判定された描画オブジェクトの表示情報を、獲得した移動量の情報に基づいて更新するステップと、
更新された表示情報に基づいて、移動すべき描画オブジェクトの再描画を行うステップと
を有することを特徴とするスクロール同期方法。
【請求項５】
文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトを、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期方法であって、
前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択するステップと、
アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面描画領域の情報を獲得するステップと、
クライアント座標系において定義された描画オブジェクトの初期状態の位置からクライアント座標系において定義された現在の位置へのオフセット量の情報を管理するステップと、
管理されている描画オブジェクトのうち、獲得した情報に従って移動すべき描画オブジェクトを判定するステップと、
獲得された文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面描画領域の情報に基づいて移動すべきと判定された描画オブジェクトのオフセット量の情報を更新するステップと、
更新されたオフセット量の情報に基づいて、描画アプリケーションプログラムにより移動すべき描画オブジェクトの再描画を行うステップと
を有することを特徴とするスクロール同期方法。
【請求項６】
文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトを、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期方法であって、
前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択するステップと、
アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面のスクロール領域及びスクロール量の情報を獲得するステップと、
クライアント座標系において定義された描画オブジェクトの初期状態の位置からクライアント座標系において定義された現在の位置へのオフセット量の情報を管理するステップと、
管理されている描画オブジェクトのうち、獲得した情報に従って移動すべき描画オブジェクトを判定するステップと、
獲得された文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面のスクロール領域及びスクロール量の情報に基づいて移動すべきと判定された描画オブジェクトのオフセット量の情報を更新するステップと、
更新されたオフセット量の情報に基づいて、移動すべき描画オブジェクトの再描画を行うステップと
を有することを特徴とするスクロール同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、汎用のアプリケーションプログラム上に入力装置によって描画を行うアプリケーションプログラムにおいて、この汎用のアプリケーションプログラムの画面変化に対して描画した情報が同期して移動できるスクロール同期システム及びスクロール同期方法に関する。
【背景技術】
【０００２】
ワードプロセッサ，スプレッドシート等の汎用のアプリケーションプログラム上に、マウス，ペンタブレット等のポインティング装置またはタッチパネル等の入力装置を用いて、手書きで描画を行うシステムは従来より既に開発されている。そして、このシステムを用いれば、汎用のアプリケーションプログラムの表示画面上に、手書きで描画情報またはユーザコメントを表示することができ、遠隔端末間での文書共有会議，会議室内の電子黒板等に利用されている。
【特許文献１】特開平６−２２３０５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところが、こうした手書きの描画情報，ユーザコメントは一旦表示された後は、汎用アプリケーションプログラムの画面変化に対して同期しない。従って、ある文字列に対して手書きのコメントなどの入力を行っても、画面がスクロールされた場合、または、コメント先の文字列の位置が変更された場合には、手書きのコメントは元の文字列に対する位置に表示されてしまう。また、従来のシステムではスクロールによって画面から見えなくなった際には、手書き情報はまったく再現されない。このように従来では、汎用アプリケーションプログラムに対して手書きで行った情報は一時的なものとしてしか扱われておらず、汎用アプリケーションプログラムの画面スクロールまたは文字入力等の編集操作による画面変化後には、手書きの情報を再び元の位置に表示したいというユーザの要求を満たしていないのが現状である。
【０００４】
本発明は、斯かる事情に鑑みてなされたものであり、汎用のアプリケーションプログラムでスクロール等の画面変化が発生した際に、描画オブジェクトが汎用のアプリケーションプログラムの画面変化に同期して移動でき、手書きの描画情報，コメントも適切な位置にスクロールすることを可能とする描画装置のスクロール同期システム及びスクロール同期方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
第１発明に係る請求項１のスクロール同期システムは、文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトが、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期システムであって、前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択する同期対象選択手段と、アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面領域及びその移動量の情報を獲得する移動量獲得手段と、描画オブジェクトの表示情報を管理する描画情報管理手段と、前記描画情報管理手段に管理されている描画オブジェクトのうち、前記移動量獲得手段が獲得した移動量の情報に従って移動すべき描画オブジェクトを判定する判定手段と、前記判定手段にて移動すべきと判定された描画オブジェクトの前記描画情報管理手段における表示情報を、前記移動量獲得手段にて獲得した移動量の情報に基づいて更新する更新手段と、前記更新手段にて更新された表示情報に基づいて、移動すべき描画オブジェクトの再描画を行う再描画手段とを備えることを特徴とする。
【０００６】
第２発明に係る請求項２のスクロール同期システムは、文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトが、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期システムであって、前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択する同期対象選択手段と、アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面描画領域の情報を獲得する移動量獲得手段と、クライアント座標系において定義された描画オブジェクトの初期状態の位置からクライアント座標系において定義された現在の位置へのオフセット量の情報を管理する描画情報管理手段と、前記描画情報管理手段に管理されている描画オブジェクトのうち、前記移動量獲得手段が獲得した情報に従って移動すべき描画オブジェクトを判定する判定手段と、前記移動量獲得手段にて獲得された文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面描画領域の情報に基づいて前記判定手段にて移動すべきと判定された描画オブジェクトの前記描画情報管理手段におけるオフセット量の情報を更新する更新手段と、前記更新手段にて更新されたオフセット量の情報に基づいて、描画アプリケーションプログラムにより移動すべき描画オブジェクトの再描画を行う再描画手段とを備えることを特徴とする。
【０００７】
第３発明に係る請求項３のスクロール同期システムは、文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトが、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期システムであって、前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択する同期対象選択手段と、アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面のスクロール領域及びスクロール量の情報を獲得する移動量獲得手段と、クライアント座標系において定義された描画オブジェクトの初期状態の位置からクライアント座標系において定義された現在の位置へのオフセット量の情報を管理する描画情報管理手段と、前記描画情報管理手段に管理されている描画オブジェクトのうち、前記移動量獲得手段が獲得した情報に従って移動すべき描画オブジェクトを判定する判定手段と、前記移動量獲得手段にて獲得された文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面のスクロール領域及びスクロール量の情報に基づいて前記判定手段にて移動すべきと判定された描画オブジェクトの前記描画情報管理手段におけるオフセット量の情報を更新する更新手段と、前記更新手段にて更新されたオフセット量の情報に基づいて、描画アプリケーションプログラムにより移動すべき描画オブジェクトの再描画を行う再描画手段とを備えることを特徴とする。
【０００８】
図１は、本発明に係るシステムのブロック構成図である。本システムは、汎用アプリケーションプログラムの画面がスクロールまたは文字入力によって変化する際に、移動される画面領域及びその移動量を獲得する移動量獲得手段１と、描画オブジェクトが表示される座標などの情報を格納する描画情報管理手段２と、移動量獲得手段１を起動して移動量獲得手段１から通知された情報に従って移動すべき描画オブジェクトを判定し、それらの描画情報管理手段２における管理情報を逐一更新し、必要な描画オブジェクトに関しては再描画を行うアプリケーション実行手段３とを備える。
【０００９】
第１発明では、手書きのコメント，描画情報が書き込まれた汎用アプリケーションプログラムの画面にスクロール，文字入力などの変化が発生した際に、移動量獲得手段１がその汎用アプリケーションプログラムの画面の移動領域と移動量とを獲得する。そして、移動量獲得手段１は、該当アプリケーションプログラムの画面に変化が生じたことを確認した場合にのみ、アプリケーション実行手段３に獲得した移動領域と移動量とを通知する。アプリケーション実行手段３は、通知された情報に従って同期して移動すべき描画オブジェクトを描画情報管理手段２より検索し、必要である場合には描画情報管理手段２内におけるその描画オブジェクトの管理情報を更新し、それらの情報に基づいて再描画を行う。このようにして、汎用アプリケーションプログラムの画面変化に対して、描画オブジェクトが同期して表示される。
【００１０】
第２発明では、手書きのコメント，描画情報が書き込まれた汎用アプリケーションプログラムに対して、文字入力，スクロール等のユーザ入力が発生した場合、汎用アプリケーションプログラムはオペレーションシステムに対して画面描画コマンドを発行するが、この画面描画コマンドがオペレーションシステムに到達する前に移動量獲得手段１によって横取りされる。移動量獲得手段１は、横取りした画面描画コマンドが該当アプリケーションプログラムが発行したものか否かを検査し、検査の結果、該当アプリケーションプログラムが発行したものである場合には、画面描画領域をアプリケーション実行手段３に通知する。アプリケーション実行手段３は、通知された情報から描画情報管理手段２の描画オブジェクト管理テーブルを検査して、移動すべき描画オブジェクトの有無を調べる。アプリケーション実行手段３は、移動すべき描画オブジェクトがあれば、通知された情報によって移動量を計算し、管理テーブル内のその描画オブジェクトのオフセットフィールドの値を移動量分だけ変更した上で、その描画オブジェクトを再描画する。このようにして、汎用アプリケーションプログラムの画面変化に対して、描画オブジェクトが同期して表示される。
【００１１】
第３発明では、手書きのコメント，描画情報が書き込まれた汎用アプリケーションプログラムに対して、画面のスクロールが発生した場合、汎用アプリケーションプログラムはオペレーションシステムに対して画面スクロールコマンドを発行するが、この画面スクロールコマンドがオペレーションシステムに到達する前に移動量獲得手段１によって横取りされる。移動量獲得手段１は、横取りした画面スクロールコマンドが該当アプリケーションプログラムが発行したものか否かを検査し、検査の結果、該当アプリケーションプログラムが発行したものである場合には、スクロール領域及びスクロール量をアプリケーション実行手段３に通知する。アプリケーション実行手段３は、通知された情報から描画情報管理手段２の描画オブジェクト管理テーブルを検査して、移動すべき描画オブジェクトの有無を調べる。アプリケーション実行手段３は、移動すべき描画オブジェクトがあれば、管理テーブル内のその描画オブジェクトのオフセットフィールドの値をスクロール量分だけ変更した上で、管理テーブルの値を変更した上で、その描画オブジェクトを再描画する。このようにして、汎用アプリケーションプログラムの画面変化に対して、描画オブジェクトが同期して表示される。
【００１２】
第１発明に係る請求項４のスクロール同期方法は、文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトを、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期方法であって、前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択するステップと、アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面領域及びその移動量の情報を獲得するステップと、描画オブジェクトの表示情報を管理するステップと、管理されている描画オブジェクトのうち、獲得した移動量の情報に従って移動すべき描画オブジェクトを判定するステップと、移動すべきと判定された描画オブジェクトの表示情報を、獲得した移動量の情報に基づいて更新するステップと、更新された表示情報に基づいて、移動すべき描画オブジェクトの再描画を行うステップとを有することを特徴とする。
【００１３】
第２発明に係る請求項５のスクロール同期方法は、文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトを、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期方法であって、前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択するステップと、アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面描画領域の情報を獲得するステップと、クライアント座標系において定義された描画オブジェクトの初期状態の位置からクライアント座標系において定義された現在の位置へのオフセット量の情報を管理するステップと、管理されている描画オブジェクトのうち、獲得した情報に従って移動すべき描画オブジェクトを判定するステップと、獲得された文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面描画領域の情報に基づいて移動すべきと判定された描画オブジェクトのオフセット量の情報を更新するステップと、更新されたオフセット量の情報に基づいて、描画アプリケーションプログラムにより移動すべき描画オブジェクトの再描画を行うステップとを有することを特徴とする。
【００１４】
第３発明に係る請求項６のスクロール同期方法は、文字列を編集するアプリケーションプログラムの画面上に描画アプリケーションプログラムにより描画された描画オブジェクトを、前記アプリケーションプログラムの画面移動に同期して移動するスクロール同期方法であって、前記描画アプリケーションプログラムとスクロール同期の対象となるアプリケーションプログラムとの画面を選択するステップと、アプリケーションから発行される画面描画コマンドまたは画面スクロールコマンドを監視し、前記同期対象選択手段にて選択されたアプリケーションプログラムから画面描画コマンドまたは画面スクロールコマンドが発行されたことを検知した場合に、発行された画面描画コマンドまたは画面スクロールコマンドに含まれるパラメタに基づいて、文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面のスクロール領域及びスクロール量の情報を獲得するステップと、クライアント座標系において定義された描画オブジェクトの初期状態の位置からクライアント座標系において定義された現在の位置へのオフセット量の情報を管理するステップと、管理されている描画オブジェクトのうち、獲得した情報に従って移動すべき描画オブジェクトを判定するステップと、獲得された文字列の編集操作または画面スクロールによってアプリケーションプログラムの画面が移動された画面のスクロール領域及びスクロール量の情報に基づいて移動すべきと判定された描画オブジェクトのオフセット量の情報を更新するステップと、更新されたオフセット量の情報に基づいて、移動すべき描画オブジェクトの再描画を行うステップとを有することを特徴とする。
【発明の効果】
【００１５】
本発明では、汎用のアプリケーションプログラムに対する手書きの描画情報が、汎用のアプリケーションプログラムの画面スクロールまたは文字入力などの編集操作による画面変化に対しても同期して変化するため、スクロール後または汎用アプリケーションプログラムの文書編集後にも描画情報を正確な位置に再現することが可能である。
【発明を実施するための最良の形態】
【００１６】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
図２，図３は、本発明に係る１つの実施の形態としての構成を示すシステム構成図である。システムは、ＣＰＵ11と、メモリ12と、表示制御部13と、画像メモリ14と、ディスプレイ15と、キーボードインタフェース16と、キーボード17と、マウスインタフェース18と、マウス19と、ファイルインタフェース20と、ファイル装置21とを有する。ＣＰＵ11，メモリ12，表示制御部13，キーボードインタフェース16，マウスインタフェース18及びファイルインタフェース20が、システムバスを介して接続されている。
【００１７】
メモリ12は、汎用のアプリケーションプログラム，パソコンの動作環境条件等を格納する。表示制御部13は、画像メモリ14に対する画像情報の書き込み，読み出し制御を行うと共に、画像メモリ14内の画像情報がディスプレイ15に表示されるように、画像メモリ14及びディスプレイ15を制御する。ディスプレイ15は、ＣＲＴ，液晶パネル，プラズマディスプレイ等から構成されている。
【００１８】
キーボード17からのキー入力情報及びマウス19からのポインティング情報がそれぞれキーボードインタフェース16及びマウスインタフェース18を介してシステムバスに供給される。なお、マウスインタフェース18，マウス19に代えて、タブレットインタフェース，電子ペンを使用しても良い。ファイル装置21は、フレキシブルディスク，磁気ディスク，光磁気ディスク等にて構成され、パソコンにて作成されたファイルまたはＩＳＤＮ回線（図示せず）から受信したファイル等が格納される。
【００１９】
次に、動作について説明する。まず、手書きの描画オブジェクトを入力する動作について説明する。図４は、作図または手書き文字の入力を開始する初期画面を示す。手書き描画を行う対象の汎用アプリケーションプログラムを起動すると、図４に示されるような各種の操作パネルが画面に表示される。この操作パネルのボタンを押すことで、それぞれの機能を利用することが可能となる。
【００２０】
ここで操作パネルの各ボタンにつて説明する。左から、「開始」，「直線」，「円」，「多角形」，「自由曲線」，「消去」，「色」，「太さ」，「終了」ボタンを示す。操作パネルはこれ以外にも様々な機能ボタンを持つ場合がある。手書き描画を行う文書ウインドウが選択される前は、「開始」，「終了」以外のボタンは無効になっており、それらの機能を選択することができない。「開始」ボタンを押すと描画を行うためのウインドウを選択できる状態になる。このとき描画を行うウインドウ上でマウス等によるポインティングまたはその他の入力装置によって選択行為がなされると、以後そのウインドウについてのみ描画が行われるようになる。また、描画を行うウインドウが選択されると、「開始」ボタンは無効となり、その他のボタンが有効になる。
【００２１】
「直線」，「円」，「多角形」，「自由曲線」ボタンをマウス等でクリックすると、描画を実行できるようになる。「消去」ボタンをマウス等でクリックすると、オブジェクトを消去することができる。「色」ボタンをマウス等でクリックすると、予め設定されている複数種の色の中からオブジェクトの色を選択することができるようになり、選択した色が以後の描画に反映される。「太さ」ボタンをマウス等でクリックすると、予め設定されている複数種の太さの中から線の太さを選択することができるようになり、選択した太さが以後の描画に反映される。図５のように、操作パネルから自由曲線ツールが選択されると、マウス等によって自由曲線の描画が可能となる。マウス軌跡にあわせて画面には自由曲線（図５の波線からなる描画オブジェクト）が描画される。
【００２２】
次に、本発明の特徴部分である、汎用アプリケーションプログラムの画面変化に対する上述のように作成された描画オブジェクトの同期動作について説明する。図６，図７は、その動作手順を示すフローチャートである。
【００２３】
上述の「開始」ボタンを押して描画を行うウインドウが選択されると、汎用アプリケーションプログラムがオペレーションシステムに発行する画面描画コマンドを横取りするための移動量獲得手段１を起動する（ステップＳ１）。また、マウス19を使って描画オブジェクトを生成する間に、描画情報管理手段２の描画オブジェクト管理テーブル中に、描画オブジェクトの外接領域、それぞれの座標値等の描画オブジェクトを構成するために必要な情報及び描画オブジェクトが生成された状態でのクライアント領域の初期状態からのオフセット量を格納する（ステップＳ２）。このオフセット量については、後に詳述する。
【００２４】
汎用アプリケーションプログラムでスクロールまたはキーボード17からの文字入力が発生すると、画面を更新するために画面描画コマンドがオペレーションシステムに発行される。この画面描画コマンドは移動量獲得手段１によって横取りされる（ステップＳ３）。移動量獲得手段１は、その画面描画コマンドが該当アプリケーションプログラムが発行したものであるか否かを判断する（ステップＳ４）。該当アプリケーションプログラムが発行したものである場合には、アプリケーション実行手段３に対して横取りした画面描画コマンドのパラメータを通知する（ステップＳ５）。該当のアプリケーションプログラムが発行したコマンドでない場合には、アプリケーション実行手段３にそのパラメータを通知せずに、制御をオペレーションシステムに戻すべく、リターンする。
【００２５】
アプリケーション実行手段３は、通知されたパラメータに基づいて汎用アプリケーションプログラムでの画面変化が画面スクロールであるか否かを判定する（ステップＳ６）。発生する汎用アプリケーションプログラムでの画面変化としては、画面全体がスクロールする場合と、文書中のある部分で文字入力等が発生し、その行以降の文書が一行または文字入力で発生した行数分だけずれる場合とがある。画面全体がスクロールする場合には、画面描画コマンドの画面描画領域は描画を行うウインドウのクライアント領域全体となるが、ある部分より下だけがずれるという場合には、常に画面描画領域がその時点での文書ウインドウのクライアント領域よりも小さくなる。従って、通知されたコマンドのパラメータより画面全体のスクロールであるか、ある部分よりも下または上だけの部分的移動であるかを判定することが可能である。
【００２６】
まず、画面全体がスクロールする場合の描画オブジェクトの同期を実現する手法について説明する。描画オブジェクトは、ある状態の描画対象ウインドウのクライアント領域と呼ばれるウインドウの左上を原点としたクライアント座標系の領域に描かれる。ところが、汎用アプリケーションプログラムでスクロールが発生した場合、このクライアント座標系に描画オブジェクトを描画すると常に同じ位置に描画されてしまう。そこで、汎用アプリケーションプログラムの起動時を基準にして、それ以後スクロールが発生した場合、この基準からのオフセット量を加減してこのオフセット量だけクライアント座標系の原点の座標を上または下にずらして描画することでスクロールへの同期を実現する。
【００２７】
オフセット量は、描画オブジェクトが保持するデータとして、「ドキュメント座標原点とクライアント座標原点との差」の意味で用いる。アプリケーション起動直後はスクロールは行われていないため、ドキュメント座標原点とクライアント座標原点とは同じである（図８（ａ）参照）。ここで、10だけの下スクロールが行われると、描かれた図形は上に10だけ移動する。このとき、現在のクライアント座標系では（100, 90)に描画されているが、オフセット量という概念を用いることによりドキュメント座標系での座標を変えなくても良い（図８（ｂ）参照）。例えば、描画オブジェクトのデータ（オフセット量，Ｘ座標，Ｙ座標）は、スクロールによって（０，100, 100）から（10，100, 100）に変更される。
【００２８】
一般的に、クライアント座標系にて描画は行うが、それぞれの描画オブジェクトはオフセット量を保持しているので、描画の際にこのオフセット量だけ座標系を移動すれば、描画オブジェクトは適切に移動する。画面全体がスクロールされた場合には全ての描画オブジェクトのオフセット量を更新した後に、必要な描画オブジェクトを再描画する。そして、各スクロール毎に、全ての描画オブジェクトのオフセット量は、そのときの値からスクロール量（または描画移動量）だけ変化する。また、描画オブジェクトの再描画が必要な領域も、起動時からのオフセット量を常に保持しているので、ドキュメント座標系に変換することができる。
【００２９】
アプリケーション実行手段３は、再描画が必要なオブジェクトを以下のように検索して、必要なオブジェクトを再描画する。まず、通知されたパラメータと現在のクライアント領域の初期状態からのオフセット量とを用いて、初期状態のクライアント領域を原点とした座標系における移動すべき描画オブジェクトの領域を求めると共に、通知されたパラメータより描画オブジェクトをどれだけ移動するかを求め、オフセット量に加減する。また、描画情報管理手段２の描画オブジェクト管理テーブルに格納されている描画オブジェクトの外接領域と移動量を反映したその描画オブジェクトのオフセット量とから、初期状態のクライアント領域を原点とした座標系での描画オブジェクトの新しい外接領域を求める（ステップＳ７）。
【００３０】
この外接領域が先に求めた移動すべき描画オブジェクトの領域に含まれているか否かの判断結果により、その描画オブジェクトが再描画すべきオブジェクトであるか否かを判断する（ステップＳ８）。求めた新しい外接領域が先に求めた移動すべき描画オブジェクト領域に含まれている場合には、再描画すべきオブジェクトであると判定し（ステップＳ８：ＹＥＳ）、そうでない場合には再描画しなくて良いオブジェクトであると判定する（ステップＳ８：ＮＯ）。
【００３１】
そして、必要なオブジェクトを再描画する（ステップＳ９）。この際、描画オブジェクト管理テーブルに格納されているオフセット量だけ現在のクライアント座標の原点をずらして描画する。
【００３２】
以上のような処理をすべての描画オブジェクトに対して実行する（ステップＳ10）。この結果、汎用アプリケーションプログラムのスクロールに伴う画面変化に対して同期して描画オブジェクトを表示することができる。
【００３３】
次に、文章の挿入に伴う画面変化に対する描画オブジェクトの同期を実現する手法について説明する。この場合は、上述したスクロールの場合のように全ての描画オブジェクトが同期して移動するのではなく、文章が挿入された位置よりも下の部分の描画オブジェクトのみが移動しなければならない。ここでは、簡単のためにアプリケーション起動直後の初期状態で考える。
【００３４】
２つの描画オブジェクトＡ，Ｂが、図９（ａ）に示すように存在しており、両描画オブジェクトＡ，Ｂ間で改行（図９（ａ）での太い矢符）が行われた場合を考える。このような位置で改行が挿入された場合、上側の描画オブジェクトＡの位置はそのままで良いが、下側の描画オブジェクトＢは一行分だけ下側に移動しなければならない（図９（ｂ））。ある部分に文章を挿入した場合も画面描画コマンドをフックすることができ、またそのパラメータから、どの部分から下がスクロールされるかを判定できる。そこで、改行が挿入された位置よりも、ドキュメント座標系で下側に存在する描画オブジェクトのみのオフセット量にスクロール量（または描画移動量）を加えることができる。例えば、図９に示す例では、描画オブジェクトＡのデータは（０，100, 100）のままで変化せず、描画オブジェクトＢのデータは（０，100, 200）から（10，100, 200）に変更される。このようにオフセット量を更新しておき、描画の際にクライアント座標系の原点をオフセット量だけずらせることにより、一部の描画オブジェクトのみを移動することが可能となる。
【００３５】
一部分の移動の場合の処理は、具体的には次のように行う。アプリケーション実行手段３は通知されたパラメータより、文字入力の発生を認識し、現在のクライアント領域での文字入力の発生位置を判定する（ステップＳ６：ＮＯ）。その後、現在のクライアント領域の初期状態からのオフセット量を用いて、文字入力によって描画オブジェクトの移動すべき領域を求めると共に、通知されたパラメータより移動すべき量を求める（ステップＳ11）。この場合は、初期状態のクライアント領域を原点とした座標系における文字入力が発生した座標以降が移動すべき領域となる。
【００３６】
次に、移動すべき描画オブジェクトであるか否かを判断する（ステップＳ12）。文字入力の発生位置より下の位置の描画オブジェクトは移動すべき描画オブジェクトとなり、それより上の位置の描画オブジェクトは移動が不要である。移動すべき描画オブジェクトである場合には、その描画オブジェクトのオフセット量に移動すべき量を加えて描画オブジェクト管理テーブルを更新する（ステップＳ13）。
【００３７】
次に、描画情報管理手段２の描画オブジェクト管理テーブルに格納されている描画オブジェクトの外接領域とその描画オブジェクトのオフセット量とから、初期状態のクライアント領域を原点とした座標系での描画オブジェクトの新しい外接領域を求める。そして、この外接領域が先に求めた移動すべき描画オブジェクト領域に含まれているか否かの判断結果により、そのオブジェクトが再描画すべきオブジェクトであるか否かを判断する（ステップＳ14）。求めた新しい外接領域が先に求めた移動すべき描画オブジェクト領域に含まれている場合には、再描画すべきオブジェクトであると判定し（ステップＳ14：ＹＥＳ）、そうでない場合には再描画しなくて良いオブジェクトであると判定する（ステップＳ14：ＮＯ）。
【００３８】
そして、必要なオブジェクトを再描画する（ステップＳ15）。この際、描画オブジェクト管理テーブルに格納されているオフセット量だけ現在のクライアント座標の原点をずらして描画する。
【００３９】
以上のような処理をすべての描画オブジェクトに対して実行する（ステップＳ16）。この結果、汎用アプリケーションプログラムの文字入力に伴う画面変化に対して同期して描画オブジェクトを表示することができる。
【００４０】
操作パネルの「終了」ボタンが選択されると、描画情報管理手段３の描画オブジェクト管理テーブルの内容をファイルに保存し、移動量獲得手段１を停止させて、画面描画コマンドの横取りを終了する。
【００４１】
なお、上述の例では、文字入力による編集操作に伴ってその入力行数分だけ汎用アプリケーションプログラムの画面がずれる場合について説明したが、編集操作によって文書中のある部分が一行または数行にわたって削除されてその削除行数分だけ汎用アプリケーションプログラムの画面がずれる場合についても、同様に行えることは勿論である。この場合には、削除位置以降の描画オブジェクトが移動すべきオブジェクトとなり、そのオフセット量は削除行数に応じた分だけ減じて更新される。
【００４２】
また、上述した例は、画面描画コマンドのフックによる描画オブジェクトの同期について述べたが、画面スクロールコマンドのフックでも全く同様の手法によって画面の同期が実現可能であることは言うまでもない。
【図面の簡単な説明】
【００４３】
【図１】本発明の基本的な構成例を示すブロック図である。
【図２】本発明の実施の形態の構成を示す模式図である。
【図３】本発明の実施の形態の構成を示すブロック図である。
【図４】描画オブジェクト生成時の初期画面を示す模式図である。
【図５】描画オブジェクト生成時の中途画面を示す模式図である。
【図６】本発明の手順を示すフローチャートである。
【図７】本発明の手順を示すフローチャートである。
【図８】本発明におけるオフセット量を説明するための模式図である。
【図９】本発明におけるオフセット量を説明するための模式図である。
【符号の説明】
【００４４】
１  移動量獲得手段
２  描画情報管理手段
３  アプリケーション実行手段
11  ＣＰＵ
12  メモリ
13  表示制御部
14  画像メモリ
15  ディスプレイ
16  キーボードインタフェース
17  キーボード
18  マウスインタフェース
19  マウス
20  ファイルインタフェース
21  ファイル装置
【図１】
0004573817.tif 000002
【図２】
0004573817.tif 000003
【図３】
0004573817.tif 000004
【図４】
0004573817.tif 000005
【図５】
0004573817.tif 000006
【図６】
0004573817.tif 000007
【図７】
0004573817.tif 000008
【図８】
0004573817.tif 000009
【図９】
0004573817.tif 000010