<第1実施例>
図1は第1実施例の情報処理装置10の電気的な構成を示すブロック図である。
図1を参照して、この発明の第1実施例である情報処理装置10はCPU12を含む。CPU12には、バス30を介してRAM14、タッチパネル制御回路16、描画制御回路18、I/F回路24が接続される。また、タッチパネル制御回路16にはタッチパネル20が接続され、描画制御回路18にはディスプレイ22が接続される。
図示は省略するが、情報処理装置10には、HDDやROMなどの不揮発性のメモリも設けられ、バス30を介してCPU12に接続される。
この第1実施例では、情報処理装置10は、電子黒板、タブレット端末、スマートフォン、PCなどの各種の情報機器ないし電子機器に適用される。
また、この第1実施例では、入力手段の一例として、タッチパネル20が用いられる場合について説明するが、タッチパネル20以外の入力手段として、たとえばコンピュータマウス、タッチパッド、ペンタブレットなどのポインティングデバイスを用いてもよい。また、情報処理装置10には、他の入力手段として、操作パネルのようなハードウェアキーが設けられたり、ハードウェアのキーボードが接続されたりすることがある。
図1に戻って、CPU12は、情報処理装置10の全体的な制御を司る。RAM14は、CPU12のワーク領域およびバッファ領域として用いられる。
タッチパネル制御回路16は、タッチパネル20に必要な電圧などを付与するとともに、タッチパネル20のタッチ有効範囲内でのタッチ操作(タッチ入力)を検出して、そのタッチ入力の位置を示すタッチ座標データをCPU12に出力する。
タッチパネル20は、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。この第1実施例では、タッチパネル20としては、静電容量方式のタッチパネルがディスプレイ22の表示面上に設けられる。
描画制御回路18は、GPUおよびVRAMなどを含んでおり、CPU12の指示の下、GPUは、RAM14に記憶された手書き入力データおよび画像生成データ332(図5参照)などを用いてディスプレイ22に画面(後述するタッチ画面100)を表示するための画面データをVRAMに生成し、生成した画面データをディスプレイ22に表示する。ディスプレイ22としては、たとえばLCDやEL(Electro-Luminescence)ディスプレイなどを用いることができる。
I/F(インターフェイス)回路24には、通信ケーブル(たとえば、LANケーブルなど)を介して、他の情報処理装置10が通信可能に接続される。(図3参照)。
このような構成の情報処理装置10では、手書き入力モードにおいて、ユーザがタッチパネル20を利用して文字、図形、記号など(以下、「文字等」ということがある。)を手書き入力(タッチ入力)すると、タッチパネル制御回路16は、そのタッチ入力を検出してタッチ位置に対応するタッチ座標データをCPU12に出力する。CPU12は、タッチパネル制御回路16から出力されたタッチ座標データに基づいてディスプレイ22に手書きの文字等を描画(表示)する。つまり、CPU12の指示の下、描画制御回路18において手書きの文字等がVRAM上に描画され、VRAM上に描画された手書きの文字等を含む画像に対応する画像データがディスプレイ22に出力される。したがって、ユーザが手書きした文字等を含む画像がディスプレイ22に表示される。以下、この明細書においては、ユーザが文字を手書きすることを前提とし、手書き文字を含む画像を「手書き画像」と呼ぶことにする。
図2(A)は、手書きが開始される前のタッチ画面100(初期画面)の一例を示す図解図である。つまり、図2(A)は、描画アプリケーションを実行し、ディスプレイ22に表示されるタッチ画面100の一例であって、手書き入力モードを開始した当初のタッチ画面100を示す。また、図2(B)は、ディスプレイ22に表示されるタッチ画面100の第2の例であって、線を手書き(板書)した状態のタッチ画面100を示す。
図2(A)に示すように、たとえば、手書き入力モードが開始された当初では、手書き画像の表示されていない白紙の頁のタッチ画面100がディスプレイ22に表示される。ただし、保存された手書き画像の描画データが読み出された場合には、当該手書き画像を含むタッチ画面100が表示される。なお、上述したように、ディスプレイ22の表示面上にはタッチパネル20が設けられる。以下、同様である。
また、図2(A)に示すように、タッチ画面100の左端部には、それぞれ所定の機能を発揮するボタン(機能ボタン)の画像(アイコン)が表示される。この第1実施例では、画面切替ボタン102が表示される。画面切替ボタン102は、ディスプレイ22に表示されている手書き画像を、他の情報処理装置10のディスプレイ22に表示されている手書き画像に切り替えるためのボタンである。
図示は省略するが、タッチ画面100には、線種、線幅(太さ)、線色などの描画の属性を選択するための属性ボタンや上記以外の機能(新規頁を開く、画像を開く(挿入する)、保存、元に戻すなど)を選択するためのボタンなどのアイコンも表示される。
たとえば、ユーザは、専用のタッチペン110でタッチパネル20を操作する。ただし、ユーザは、手指で操作することもできる。タッチパネル20を用いた操作(入力)としては、タップ(短押し)、スライド(ドラッグ)、フリック、ロングタッチ(長押し)などがあり、この第1実施例では、これらを「タッチ入力」または単に「入力」のように総称する。また、タッチパネル20をタッチしていない状態からタッチしている状態に変化することをタッチオン(ペンダウン)と言い、タッチパネル20をタッチしている状態からタッチしていない状態に変化することをタッチオフ(ペンアップ)と言う。継続的なタッチ入力つまりスライドやフリックによる入力に対しては、タッチパネル20は、現在のタッチ位置に対応するタッチ座標データを所定周期よりも短い周期で出力する。たとえば、所定周期は、1〜数フレームであり、1フレームは1/30秒、1/60秒または1/120秒である。
情報処理装置10の一例である一般的な電子黒板では、ユーザが文字等を手書きすると、手書きされた文字等がタッチ画面100に表示(描画)される。つまり、手書きの文字等を含む手書き画像がディスプレイ22(タッチ画面100)に表示される。このとき、手書き画像は、設定された属性情報(線種、線色、線幅)に従って描画(表示)される。
たとえば、広い教室などでは、上述したような情報処理装置10を複数台使用することが想定される。これらの情報処理装置10を用いて、たとえば、教師や生徒のようなユーザなどにより、授業が進められると、情報処理装置10の画面を他の情報処理装置10の画面に切り替えたい場合があると考えられる。これは、教室の前方に居る教師が、教室の後方に設置された情報処理装置10の画面に表示された内容に従って授業を進めたい場合に、当該内容を教室の前方に設置された情報処理装置10の画面に表示させれば、教室の後方に移動することなく、円滑に授業を進められるからである。
このような場合には、教室に設置された複数台の情報処理装置10を、LANケーブル(およびHUB(ルータ))を用いて通信可能に接続することが考えられる。そして、或る情報処理装置10の画面を他の情報処理装置10の画面に切り替えたい場合には、或る情報処理装置10が、他の情報処理装置10の画面に表示されている内容のデータ(画面データ)を受信して、受信した画面データを当該或る情報処理装置10のディスプレイ22に出力すればよい。
しかし、或る情報処理装置10の画面を他の情報処理装置10の画面に切り替える場合には、送受信される画面データのデータ量が多い場合には、画面データの送受信に時間がかかってしまう。このため、画面の切り替えに時間がかかる。或る情報処理装置10の画面と他の情報処理装置10の画面とを入れ替える場合には、画面データの送受信にさらに時間がかかってしまう。このように、授業を円滑に進めることができない場合がある。
このような不都合を回避するために、第1実施例では、他の情報処理装置10間で一度に送受信するデータ量を抑えるとともに、離れた場所に設置された他の情報処理装置10間で、画面を短時間で切り替えることができるようにしてある。以下、具体的に説明する。
図3は第1実施例における情報処理システム200の一例を示す図解図である。
第1実施例では、図3に示すように、情報処理システム200は、三台の情報処理装置10を含み、三台の情報処理装置10は、それぞれ、LAN(場合によっては、インターネット)のようなネットワーク202を介して通信可能に接続される。この第1実施例では、三台の情報処理装置10は、メインとなる一台の情報処理装置10a(以下、「親機10a」という)と、サブとなる二台の情報処理装置10b(以下、「子機10b」という)および情報処理装置10c(以下、「子機10c」という)として機能する。この第1実施例では、親機10a、子機10b、子機10cは、LANケーブルを介してネットワーク202に接続される。ただし、親機10a、子機10b、子機10cは、無線でネットワーク202に接続されてもよい。
なお、以下においては、親機10a、子機10bおよび子機10cを区別する必要が無い場合には、単に情報処理装置10と言うことにする。
この第1実施例の親機10a、子機10bおよび子機10cでは、それぞれ、ユーザのタッチ入力により手書きされた手書き画像に対応するデータ(以下、「描画データ」という)が保存(記憶)される。
また、この第1実施例の親機10a、子機10bおよび子機10cでは、それぞれ、自機以外の描画データが定期的に保存される。つまり、親機10aには、子機10b、子機10cの描画データが定期的に保存される。また、子機10bには、親機10aおよび子機10cの描画データが定期的に保存され、子機10cには、親機10aおよび子機10bの描画データが定期的に保存される。
ただし、この第1実施例では、親機10aが、子機10bおよび子機10cからそれぞれの描画データを取得し、子機10bおよび子機10cは、親機10aから親機10aおよび他の子機(10cまたは子機10b)の描画データを取得する。
具体的に説明すると、親機10aは、一定時間T1(たとえば、数分〜5分)毎に、子機10bおよび子機10cに、手書き画像を要求する信号(以下、「第1親機要求信号」という)を送信する。これに応じて、子機10bおよび子機10cは、親機10aに描画データを送信する。ただし、親機10aが、子機10bおよび子機10cに、第1親機要求信号を送信するのではなく、子機10bおよび子機10cが、一定時間T1毎に、親機10aに描画データを送信するようにしてもよい。すると、親機10aは、子機10bおよび子機10cから送信された描画データを受信して、受信した描画データをRAM14に記憶する。ただし、子機10bおよび子機10cは、描画データを送信する(第1親機要求信号を受信した)のが1回目のときには、自機の描画データの全て(以下、「ベースデータ」ということがある)を送信し、2回目以降では、前回までに送信した自機の描画データとRAM14に記憶される現在における自機の描画データの差分データを送信する。また、親機10aでは、描画データ(ベースデータおよび差分データ)は、親機10a、子機10bおよび子機10cのそれぞれについて識別可能にRAM14に記憶される。このことは、後述する子機10bおよび子機10cについても同じである。
子機10bは、一定時間T2毎に、親機10aに、描画データを要求する信号(以下、「第1子機要求信号」という)を送信する。これに応じて、親機10aは、子機10bに、親機10aと他の子機(ここでは、子機10c)の描画データを送信する。ただし、子機10bが、親機10aに第1子機要求信号を送信するのではなく、親機10aが、一定時間T2毎に、子機10bに描画データを送信するようにしてもよい。子機10bは、親機から送信された親機10aおよび子機10cのそれぞれの描画データを受信して、受信した各描画データをRAM14に記憶する。ただし、親機10aは、描画データを送信する(第1子機要求信号を受信した)のが1回目のときには、自機のベースデータおよび他の子機のベースデータを送信し、2回目以降は、前回までに送信した自機の描画データとRAM14に記憶される現在における自機の描画データの差分データと、前回までに送信した他の子機の描画データとRAM14に記憶される現在における当該他の子機の描画データの差分データを送信する。
詳細な説明は省略するが、子機10cも、子機10bと同様である。
また、上述した一定時間T1と一定時間T2は同じ時間でも異なる時間でもよい。
このように、親機10a、子機10bおよび子機10cでは、2回目以降では、差分データのみを送受信するので、データ量を少なくすることができる。また、親機10a、子機10bおよび子機10cは、それぞれ、他の情報処理装置10の描画データも記憶するので、画面を切り替える場合に、他の情報処理装置10から描画データを取得する必要が無く、短時間で画面を切り替えることができる。
次に、画面の切り替えについて具体的に説明することにする。図4(A)、(B)および(C)は、情報処理システム200における親機10a、子機10bおよび子機10cのそれぞれのディスプレイ22に表示されるタッチ画面100(100a、100b、100c)の例を示す図解図である。ただし、図4(A)〜(C)では、画面が切り替えられる様子を説明するだけであるため、データ量の少ない手書き画像を示してある。また、以下においては、親機10a、子機10b、子機10cのディスプレイ22に表示される画面を、それぞれ、タッチ画面100a、タッチ画面100bおよびタッチ画面100cと呼ぶことにする。ただし、タッチ画面100a、100bおよび100cを区別する必要が無い場合には、単にタッチ画面100と言うことにする。
たとえば、図4(A)に示すように、親機10aにおいて画面切替ボタン102がタッチ(選択)されると、図4(B)に示すように、タッチ画面100aの上部に第1選択ボタン120、第2選択ボタン122、第3選択ボタン124が表示される。図4(B)からも分かるように、第1選択ボタン120、第2選択ボタン122および第3選択ボタン124は、それぞれ、タッチ画面100a、100bおよび100cについてのサムネイルである。
そして、図4(B)に示すように、ユーザによって、第2選択ボタン122がタッチ(選択)されると、図4(C)に示すように、親機10aのタッチ画面100aとして、子機10bのタッチ画面100bと同じ画面が表示される。つまり、親機10aの画面が子機10bの画面に切り替えられる。
なお、詳細な説明は省略するが、親機10aの画面を子機10cの画面に切り替える場合も、同様である。
ここで、上述したように、親機10aは、一定時間T1毎に、子機10bおよび子機10cから描画データ(差分データ)を取得するようにしてあるため、画面の切り替えを指示された時点において、子機10bおよび子機10cの描画データが最新のデータになっていないことがある。したがって、この第1実施例では、親機10aは、画面の切り替えが指示された場合には、切り替える画面を表示する子機10bまたは子機10cに、差分データを要求する信号(以下、「第2親機要求信号」という)を送信し、当該子機10bまたは子機10cから差分データを受信して、当該子機10bまたは子機10cの描画データを最新のデータに更新して、更新した描画データをディスプレイ22に出力するようにしてある。ただし、厳密には、更新された描画データは描画制御回路18に出力され、GPUが描画データを用いてタッチ画面100に対応する画面データを生成し、生成した画面データがディスプレイ22に出力される。以下、この明細書において同じである。
これらのことは、子機10bまたは子機10cで、親機10aの画面に切り替えることが指示された場合にも同様である。この場合に、子機10bまたは子機10cからは、差分データを要求する信号(以下、「第2子機要求信号」という)が親機10aに送信される。
また、図4(A)〜(C)に示した例では、親機10aの画面を子機10bの画面に切り替えるようにしたが、これに限定される必要はない。たとえば、子機10bの画面を親機10aの画面に切り替えることも可能である。かかる場合には、子機10bのディスプレイ22に表示されたタッチ画面100bにおいて、ユーザによって画面切替ボタン102がタッチ(選択)されると、タッチ画面100bの上部に第1〜第3選択ボタン120、122、124が表示される。
ここで、ユーザにより、第1選択ボタン120がタッチ(選択)されると、子機10bは、親機10aに第2子機要求信号を送信し、親機10aから差分データを受信すると、親機10aについての描画データを最新のデータに更新して、更新した描画データをディスプレイ22に出力する。したがって、子機10bの画面が親機10aの画面に切り替えられる。
なお、子機10cの画面を親機10aの画面に切り替える場合も同様である。
また、子機10bと子機10cの間で画面に切り替えることもできる。かかる場合には、子機10bまたは子機10cは、ユーザによって、他の子機10cまたは子機10bの画面に切り替えることが選択された場合に、当該他の子機10cまたは子機10bに第2子機要求信号を送信して、当該他の子機10cまたは子機10bから直接差分データが受信(取得)される。そして、子機10bまたは子機10cは、他の子機10cまたは子機10bについての描画データを最新のデータに更新し、更新した描画データをディスプレイ22に出力する。
なお、子機10bと子機10cの間で画面を切り替える場合には、最新の差分データを直接子機10cまたは子機10bから取得するようにしたが、親機10aを介して、当該他の子機10cまたは子機10bに第2子機要求信号を送信し、親機10aを介して、当該他の子機10cまたは子機10bから差分データを取得するようにしてもよい。
親機10a、子機10b、子機10cの上記のような動作は、CPU12がRAM14に記憶された情報処理プログラムを実行することにより実現される。ただし、上述したように、親機10aと、子機10bおよび子機10cとでは機能が異なるため、親機10aのRAM14に記憶された情報処理プログラムは、子機10b、子機10cのRAM14に記憶された情報処理プログラムとは、一部異なる。この第1実施例では、情報処理プログラムの一例として、手書きの文字等を描画したり保存したりするとともに、上記のように画面を切り替えるための描画アプリケーションについてのプログラム(描画制御プログラム)が実行される。具体的な処理については、後でフロー図を用いて説明する。
図5は図1に示した親機10aのRAM14のメモリマップ300の一例を示す。図5に示すように、RAM14は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、描画制御プログラムが記憶される。描画制御プログラムは、入力検出プログラム310、画像生成プログラム312、表示プログラム314、通信プログラム316、差分送受信プログラム318、保存プログラム320および画面切替プログラム322を含む。
入力検出プログラム310は、タッチパネル制御回路16から出力されたタッチパネル20におけるタッチ位置を示すタッチ座標データ330を取得し、データ記憶領域304に記憶するためのプログラムである。ただし、入力検出プログラム310は、情報処理装置10に接続されたハードウェアのキーボードや情報処理装置10に設けられたハードウェアの操作パネルないし操作ボタンからの入力を検出するためのプログラムでもある。
画像生成プログラム312は、入力検出プログラム310に従って検出されたタッチ座標データ330を使用したり、後述する画像生成データ332を使用したりして、タッチ画面100に対応する画面データを生成するためのプログラムである。具体的には、画像生成プログラム312が実行されると、CPU12の指示の下、描画制御回路18において、GPUがタッチ画面100に対応する画面データをVRAMに描画する。
表示プログラム314は、画像生成プログラム312に従って生成された描画データをディスプレイ22に出力するためのプログラムである。したがって、タッチ画面100がディスプレイ22に表示される。
通信プログラム316は、子機10b、子機10cのような他の情報処理装置10などと通信するためのプログラムである。
差分送受信プログラム318は、一定時間T1が経過した場合に、通信プログラム316に従って子機10bおよび子機10cと通信することにより、子機10bおよび子機10cに第1親機要求信号を送信し、これに応じて、子機10bおよび子機10cから送信される描画データ(ベースデータまたは差分データ)を受信するためのプログラムである。また、差分送受信プログラム318は、画面切り替えが指示された場合に、通信プログラム316に従って子機10bおよび子機10cと通信することにより、子機10bおよび子機10cに第2親機要求信号を送信し、これに応じて、子機10bおよび子機10cから送信される描画データ(ベースデータまたは差分データ)を受信するためのプログラムである。さらに、差分送受信プログラム318は、通信プログラム316に従って子機10bまたは子機10cと通信することにより、子機10bまたは子機10cから第1子機要求信号または第2子機要求信号を受信し、当該子機10bまたは子機10cに、自機および他の子機10cまたは子機10bの描画データ(ベースデータまたは差分データ)を送信するためのプログラムでもある。
保存プログラム320は、手書き画像についてのタッチ座標データ330を親機10a(自機)の描画データ(後述する第1描画データ334)としてRAM14に記憶(保存)するためのプログラムである。また、保存プログラム320は、他の情報処理装置10(子機10bおよび子機10c)から受信した描画データ(ベースデータや差分データ)を、当該他の情報処理装置10の描画データ(後述する第2描画データ336または第3描画データ338)としてRAM14に記憶(保存)するためのプログラムでもある。
画面切替プログラム322は、自機(ここでは、親機10a)のディスプレイ22に表示された画面を、他の情報処理装置10(ここでは、子機10bまたは子機10c)に表示された画面に切り替えるためのプログラムである。
なお、図示は省略するが、プログラム記憶領域302には、各種の機能を選択および実行するためのプログラムなども記憶される。
データ記憶領域304には、タッチ座標データ330、画像生成データ332、第1表示描画データ334、第2表示描画データ336、第3表示描画データ338および送受信データバッファ340などが記憶される。
タッチ座標データ330は、入力検出プログラム310に従って検出(取得)された現在の(現フレームにおける)タッチ座標データである。タッチ座標データ330が示すタッチ座標がタッチ画面100に表示されたボタン(画面切替ボタン102など)の表示領域に含まれる場合には、当該ボタンに割り当てられた機能を実行したり、属性(属性情報)を設定したりする。また、タッチ座標データ330が示すタッチ座標がタッチ画面100に表示されたボタンの表示領域に含まれていない場合には、手書きの文字等に含まれるタッチ座標であると判断されて、自機の描画データ(ここでは、後述する第1描画データ334)としてデータ記憶領域304に記憶する。
画像生成データ332は、タッチ画面100のような各種の画面に対応する画像データを生成するためのポリゴンデータやテクスチャデータなどのデータである。また、画像生成データ334には、タッチ画面100に表示される各種のボタン(102、120、122、124など)についての画像データも含まれる。ただし、ボタン120、122、124の図柄の画像データは描画データ(334、336、338)から生成するため、画像生成データ332には含まれない。
第1描画データ334は、親機10a(自機)の描画データであり、タッチ入力により手書きされた文字等についてのデータが、タッチオンからタッチオフまでの軌跡(点または線)毎に管理される。また、第1描画データ334では、タッチオンからタッチオフまでフレーム毎に検出されるタッチ座標データ330が時系列に従って記憶される(並べられる)。
第2描画データ336は、他の情報処理装置10(ここでは、子機10b)の描画データであり、保存プログラム320に従って、子機10bから受信(取得)し、保存された描画データである。
また、第3描画データ338は、別の他の情報処理装置10(ここでは、子機10c)の描画データであり、保存プログラム320に従って、子機10cから受信(取得)し、保存された子機10cの描画データである。
この第2描画データ336および第3描画データ338は、最初は、子機10bおよび子機10cから受信したベースデータであり、その後は、子機10bおよび子機10cから差分データを受信する毎に、差分データが追加的に記憶され、更新される。
送受信データバッファ340は、子機10bおよび子機10cとの間で送受信されるデータを一時記憶するための領域である。
なお、データ記憶領域304には、描画制御プログラムの実行に必要な他のデータが記憶されたり、描画制御プログラムの実行に必要なタイマ(カウンタ)やレジスタが設けられたりする。
続いて、子機10bおよび子機10cに設けられるRAM14のメモリマップについて説明する。ただし、子機10bおよび子機10cのメモリマップは、差分送受信プログラム318、保存プログラム320および画面切替プログラム322の内容が異なる以外は、親機10aのメモリマップ300と同じであるため、異なる内容について説明し、重複した説明については省略する。
子機10bまたは子機10cの差分送受信プログラム318は、一定時間T2が経過した場合に、親機10aに第1子機要求信号を送信し、これに応じて、親機10aから送信される親機10aおよび他の子機10cまたは子機10bの描画データ(ベースデータまたは差分データ)を受信するためのプログラムである。また、子機10bまたは子機10cの差分送信プログラム318は、親機10aから第1親機要求信号または第2親機要求信号を受信したときに、描画データ(ベースデータまたは差分データ)を親機10aに送信するためのプログラムでもある。さらに、子機10bまたは子機10cの差分送受信プログラム318は、他の子機10cまたは子機10bから第2子機要求信号を受信したときに、描画データ(差分データ)を当該他の子機10cまたは子機10bに送信するためのプログラムでもある。
子機10bまたは子機10cの保存プログラム320は、手書き画像についてのタッチ座標データ330を自機(子機10bまたは子機10c)の描画データ(第2描画データ336または第3描画データ338)としてRAM14に記憶(保存)するためのプログラムである。また、子機10bまたは子機10cの保存プログラム320は、他の情報処理装置10(親機、子機10cまたは子機10b)から受信した描画データ(ベースデータや差分データ)を、当該他の情報処理装置10の描画データ(第1描画データ334、第3描画データ338または第2描画データ336)としてRAM14に記憶(保存)するためのプログラムでもある。
子機10bまたは子機10cの画面切替プログラム322は、自機(ここでは、子機10bまたは子機10c)のディスプレイ22に表示された画面を、他の情報処理装置10(ここでは、親機10a、子機10cまたは子機10b)に表示された画面に切り替えるためのプログラムである。
図6〜図9は親機10aのCPU12の描画制御処理を示すフロー図である。たとえば、描画アプリケーションが起動され、ユーザの指示によって、またはデフォルトの設定によって、手書き入力モードが選択される。すると、図6に示すように、親機10aのCPU12は、描画制御処理を開始し、ステップS1で、初期処理を実行する。このステップS1の初期処理では、親機10aのCPU12は、データ記憶領域304のタッチ座標データ330を消去したり、画像生成データ332を不揮発性のメモリから読み出したりした上で、初期のタッチ画面100をディスプレイ22に表示する。つまり、親機10aのCPU12の指示の下、描画制御回路18によって、図2(A)に示したような初期のタッチ画面100の画面データが生成(描画)され、ディスプレイ22に出力される。ただし、ユーザが保存した描画データの読み出しを指示した場合には、手書き画像を含むタッチ画面100がディスプレイ22に表示される。
次のステップS3では、後述する親機保存処理(図10参照)をして、ステップS5で、子機10bまたは子機10cから第1子機要求信号を受信したかどうかを判断する。ここでは、親機10aのCPU12は、送受信データバッファ340に、子機10bまたは子機10cからの第1子機要求信号が記憶されているかどうかを判断する。以下、他の信号を受信したかどうかを判断する場合について同様である。
ステップS5で“NO”であれば、つまり子機10bまたは子機10cから第1子機要求信号を受信していなければ、そのままステップS13に進む。一方、ステップS5で“YES”であれば、つまり子機10bまたは子機10cから第1子機要求信号を受信していれば、ステップS7で、1回目の要求かどうかを判断する。ステップS7では、親機10aのCPU12は、第1子機要求信号を受信した回数が1回目かどうかを判断する。ただし、1回目かどうかの判断は、子機10bおよび子機10cのそれぞれについて実行される。
ステップS7で“NO”であれば、つまり第1子機要求信号を受信した回数が2回目以降であれば、ステップS9で、前回までに送信した描画データと現在の第1描画データ334の差分データを送信して、ステップS13に進む。
一方、ステップS7で“YES”であれば、つまり第1子機要求信号を受信した回数が1回目であれば、ステップS11で、ベースデータ(現在の第1描画データ334)を送信して、ステップS13に進む。
ステップS13では、子機10bまたは子機10cから第2子機要求信号を受信したかどうかを判断する。ステップS13で“NO”であれば、つまり子機10bまたは子機10cから第2子機要求信号を受信していなければ、図7に示すステップS17に進む。
一方、ステップS13で“YES”であれば、つまり子機10bまたは子機10cから第2子機要求信号を受信していれば、ステップS15で、差分データを送信して、ステップS17に進む。
図7に示すように、ステップS17では、タッチオンかどうかを判断する。ここでは、親機10aのCPU12は、現在(現フレーム)のタッチ座標データ330がデータ記憶領域304に記憶されているかどうかを判断する。
ステップS17で“NO”であれば、つまりタッチオンでなければ、図6に示したステップS3に戻る。一方、ステップS17で“YES”であれば、つまりタッチオンであれば、ステップS19で、画面切替ボタン102がタッチされたかどうかを判断する。ここでは、親機10aのCPU12は、取得したタッチ座標データ330が示すタッチ位置が画面切替ボタン102の表示領域を指示するかどうかを判断する。以下、タッチ画面100に表示されたボタンがタッチされたかどうかを判断する場合について同様である。
ステップS19で“YES”であれば、つまり画面切替ボタン102がタッチされれば、図8に示すステップS31に進む。一方、ステップS19で“NO”であれば、つまり画面切替ボタン102がタッチされていなければ、ステップS21で、画面切替ボタン102以外の他のボタンがタッチされたかどうかを判断する。
ステップS21で“YES”であれば、つまり画面切替ボタン102以外の他のボタンがタッチされれば、ステップS23で、他のボタンに応じた処理を実行して、図6に示したステップS3に戻る。たとえば、ステップS23では、CPU12は、ユーザの操作(指示)に従って、線の属性情報(線種、線色、線幅)を変更したり、手書き画像をコピーしたり、コピーした画像を貼り付けたり、手書き画像の範囲を指定したり、描画データを不揮発性のメモリに保存したりする。
一方、ステップS21で“NO”であれば、つまり画面切替ボタン102以外の他のボタンがタッチされていなければ、手書きについてのタッチ入力であると判断して、ステップS25で、タッチ座標を手書き入力として記憶する。つまり、ステップS25では、CPU12は、タッチ入力に従うタッチ座標データ330を第1描画データ334としてRAM14に記憶する。
次のステップS27では、タッチ入力に従って手書き画像を表示する。このステップS27では、CPU12の指示の下、描画制御回路18が画像生成データ332および第1描画データ334を用いて手書き画像を含むタッチ画面100の画面データをVRAMに描画し、ディスプレイ22に出力する。したがって、手書き入力中では、タッチ入力に従う複数の点によって線が描画され、一本または複数本の線によって文字等の手書き画像が描画される。
そして、ステップS29では、タッチオフであるかどうかを判断する。ここでは、CPU12は、データ記憶領域304を参照して、現フレームのタッチ座標データ330が記憶されていないかどうかを判断する。ステップS29で“NO”であれば、つまりタッチオンの状態が継続していれば、ステップS29に戻る。したがって、第1描画データ334のうち、描画中の線についてのデータが更新されるとともに、タッチ入力に従って線が表示(描画)される。一方、ステップS29で“YES”であれば、つまりタッチオフであれば、ステップS3に戻る。
図8に示すように、ステップS31では、図4(B)で示したように、各情報処理装置10のディスプレイ22に表示されている画面のサムネイルを表示する。つまり、ステップS31では、親機10aのCPU12は、タッチ画面100a、100b、100cの画面データを用いてサムネイル(第1〜第3選択ボタン120、122、124)を生成し、生成したサムネイルを含むタッチ画面100aの画面データをディスプレイ22に出力する。
次のステップS33では、サムネイルがタッチされたかどうかを判断する。ステップS33で“NO”であれば、つまりサムネイルがタッチされていなければ、そのままステップS33に戻る。一方、ステップS33で“YES”であれば、つまりサムネイルがタッチされれば、ステップS35で、他の情報処理装置10の画面に切り替えるかどうかを判断する。ここでは、親機10aのCPU12は、選択ボタン122または124がタッチされたかどうかを判断する。
ステップS35で“NO”であれば、つまり他の情報処理装置10の画面に切り替えない(自機の画面を表示する)場合には、図9に示すステップS45に進む。一方、ステップS35で“YES”で有れば、つまり他の情報処理装置10の画面に切り替える場合には、ステップS37で、サムネイルを消去して、ステップS39で、n番目のサムネイルに対応する情報処理装置10に第2親機要求信号を送信する。ただし、この第1実施例では、1番目(n=1)のサムネイルは第1選択ボタン120であり、2番目(n=2)のサムネイルは第2選択ボタン122であり、3番目(n=3)のサムネイルは第3選択ボタン124であり、ステップS39では、n=2または3である。したがって、親機10aのCPU12は、タッチされたn番目のサムネイル(第n選択ボタン)に対応する情報処理装置10に第2親機要求信号を送信する。
そして、ステップS41では、第2親機要求信号を送信した子機(10bまたは10c)から差分データを受信したかどうかを判断する。ステップS41で“NO”であれば、つまり差分データを受信していなければ、そのままステップS41に戻る。一方、ステップS41で“YES”であれば、つまり差分データを受信すれば、図9に示すステップS43で、第n描画データを更新して、ステップS45に進む。ステップS43では、たとえば、n=2の場合、親機10aのCPU12は、第2描画データ336を更新する。
ステップS45で、第n描画データをディスプレイ22に出力する。つまり、親機10aのディスプレイ22のタッチ画面100aが子機10bまたは子機10cのタッチ画面100bまたは100cと同じ画面に切り替えられる。
そして、ステップS47で、終了かどうかを判断する。ここでは、親機10aのCPU12は、ユーザから描画アプリケーション(描画制御処理)を終了する指示が与えられたかどうかを判断する。ステップS47で“NO”であれば、つまり終了でなければ、ステップS3に戻る。一方、ステップS47で“YES”であれば、つまり終了であれば、描画制御処理を終了する。
図10は図6のステップS3に示した親機保存処理を示すフロー図である。
図10に示すように、親機10aのCPU12は、親機保存処理を開始すると、ステップS61で、一定時間T1が経過したかどうかを判断する。ただし、描画制御処理が開始されたときに、一定時間T1をカウントするためのタイマがカウントを開始され、一定時間T1をカウントする毎に、リセットおよびスタートされる。
ステップS61で“NO”であれば、つまり一定時間T1が経過していなければ、描画制御処理にリターンする。一方、ステップS61で“YES”であれば、つまり一定時間T1が経過すれば、ステップS63で、各子機(子機10bおよび子機10c)に第1親機要求信号を送信して、ステップS65で、各子機(子機10bおよび子機10c)から描画データ(ベースデータまたは差分データ)を受信したかどうかを判断する。
ステップS65で“NO”であれば、つまり描画データを受信していない子機が存在する場合には、そのままステップS65に戻る。一方、ステップS65で“YES”であれば、つまり各子機から描画データを受信していれば、ステップS67で、受信した描画データを保存して、描画制御処理にリターンする。ただし、ステップS67では、各子機に識別して描画データがRAM14に記憶(保存)される。
次に、子機10bのCPU12の描画制御処理について説明する。ただし、図6〜図10で示した親機10aのCPU12の描画制御処理と一部が異なる以外は同じであるため、重複した図面および説明は省略する。また、以下では、子機10bのCPU12の描画制御処理について説明するが、子機10cについても同様である。
図11は子機10bのCPU12の描画制御処理の一例の一部を示すフロー図である。また、図12は子機10bのCPU12の描画制御処理の他の一部であって、図7に後続するフロー図である。また、図11および図12では、図6および図8に示した各処理と同じ処理については同じ参照符号を付してある。
子機10bのCPU12の描画制御処理では、図11からも分かるように、図6で示したステップS3とステップS5に代えて、ステップS91とステップS93の処理が実行され、ステップS13に代えて、ステップS95の処理が実行される。また、図12からも分かるように、図8に示したステップS37に代えて、ステップS97の処理が実行される。
図11に示すように、子機10bのCPU12は、ステップS91で、後述する子機保存処理(図13参照)をして、ステップS93で、親機10aから第1親機要求信号を受信したかどうかを判断する。
ステップS93で“NO”であれば、つまり親機10aから第1親機要求信号を受信していなければ、ステップS95に進む。一方、ステップS93で“YES”であれば、つまり親機10aから第1親機要求信号を受信していれば、ステップS7に進む。
そして、ステップS95では、親機10aから第2親機要求信号を受信したかどうかを判断する。ステップS95で“YES”であれば、つまり親機10aから第2親機要求信号を受信していれば、ステップS15に進む。一方、ステップS95で“NO”であれば、つまり親機10aから第2親機要求信号を受信していなければ、図7に示したステップS17に進む。
また、図12に示すように、ステップS97で、n番目のサムネイルに対応する情報処理装置10(ここでは、親機10aまたは子機10c)に第2子機要求信号を送信して、ステップS39に進む。
図13は図11のステップS91に示した子機10bのCPU12の子機保存処理を示すフロー図である。
図13に示すように、子機10bのCPU12は、子機保存処理を開始すると、ステップS121で、一定時間T2が経過したかどうかを判断する。ただし、描画制御処理が開始されたときに、一定時間T2をカウントするためのタイマがカウントを開始され、一定時間T2をカウントする毎に、リセットおよびスタートされる。ステップS121で“NO”であれば、つまり一定時間T2が経過していなければ、図11の描画制御処理にリターンする。
一方、ステップS121で“YES”であれば、つまり一定時間T2が経過すれば、ステップS123で、親機10aに第1子機要求信号を送信して、ステップS125で、親機10aから描画データ(ベースデータまたは差分データ)を受信したかどうかを判断する。
ステップS125で“NO”であれば、つまり親機10aから描画データを受信していなければ、そのままステップS125に戻る。一方、ステップS125で“YES”であれば、つまり親機10aから描画データを受信していれば、ステップS127で、受信した描画データを保存して、つまり第1描画データ334をRAM14に記憶または更新して、図11の描画制御処理にリターンする。
なお、子機10cのCPU12の描画制御処理についての詳細な説明は省略するが、上記の子機10bのCPU12の描画制御処理の説明において、子機10bと子機10cとを入れ替えればよい。
この第1実施例によれば、ユーザからの指示に従って、情報処理装置10に保存されている他の情報処理装置10の描画データをディスプレイ22に出力することで、他の情報処理装置10の画面を表示することができる。したがって、情報処理装置10の画面を他の情報処理装置10に表示される画面に短時間で切り替えることができる。
また、第1実施例によれば、複数の情報処理装置10間で、ベースデータが送受信された後では、前回までに送受信した描画データの差分データが送受信されるので、複数の情報処理装置10間で送受信されるデータ量を抑えることができる。
さらに、第1実施例によれば、複数の情報処理装置10は、LANケーブルによって接続されるため、複数の情報処理装置10が離れた場所に設置される場合でも、画面を容易に切り替えることができる。
なお、この第1実施例では、三台の情報処理装置10を含む情報処理システム200について説明したが、少なくとも二台の情報処理装置10を含んでいれば、四台以上含まれてもよい。そして、複数の情報処理装置10のうちの一台が親機10aとして機能する。
また、この第1実施例では、一定時間T1が経過する毎に、親機10aが子機10bおよび子機10cに描画データ(ベースデータまたは差分データ)の送信を要求するようにしたが、これに限定される必要はない。子機10bおよび子機10cが一定時間T1毎に描画データ(ベースデータまたは差分データ)を親機10aに送信するようにしてもよい。または、子機10bおよび子機10cは、それぞれ、ベースデータや差分データが所定のデータ量になったときに、親機10aにベースデータや差分データを送信するようにしてもよい。
また、この第1実施例では、情報処理装置10は、一旦画面を切り替えた後では、自身の画面に切り替える操作を行うことにより、画面を切り替える前の状態(元のタッチ画面100)に戻すこともできるが、画面を切り替えた後に、タッチ画面100に戻るボタンを表示することにより、一回の操作で、元のタッチ画面100に戻せるようにしてもよい。
<第2実施例>
第2実施例の情報処理装置10は、親機10aにおけるユーザの操作に応じて、親機10aの画面と子機10bまたは子機10cの画面とを入れ替えるようにしたこと以外は、第1実施例の情報処理装置10と同じであるため、第1実施例と異なる内容について説明し、重複した説明については省略することにする。
図14(A)は第2実施例の情報処理システム200におけるディスプレイ22に表示されるタッチ画面100の一例を示す図解図であり、図14(B)は情報処理システム200におけるディスプレイ22に表示されるタッチ画面100の他の一例を示す図解図である。ただし、図14(A)には、画面切替ボタン102がタッチされた後の親機10aのディスプレイ22に表示されるタッチ画面100aが示される。
図14(A)に示すように、たとえば、ユーザによって、親機10aのタッチ画面100aに表示される第1〜第3選択ボタン120、122、124の中から第2選択ボタン122がタッチされると、図14(B)に示すように、親機10aのタッチ画面100aと、子機10bのタッチ画面100bとが入れ替えられる。つまり、親機10aのタッチ画面100aとして、入れ替え(変化)前の子機10bのタッチ画面100bと同じ画面が表示され、子機10bのタッチ画面100bとして、入れ替え前の親機10aのタッチ画面100aと同じ画面が表示される。したがって、親機10aのタッチ画面100aが子機10bのタッチ画面100bに切り替えられ、子機10bのタッチ画面100bが親機10aのタッチ画面100aに切り替えられるので、結果的に、親機10aのタッチ画面100aと、子機10bのタッチ画面100bとが入れ替わる。
この第2実施例では、親機10aは、画面を入れ替える相手である子機10bまたは子機10cに差分データの送信を要求するのみならず、当該子機10bまたは子機10cに自機(親機10a)の画面に切り替えることを要求する信号(以下、「第3親機要求信号」という)を送信するとともに、当該子機10bまたは子機10cからの要求に応じて自機の差分データを送信する。
一方、子機10bまたは子機10cは、第3親機要求信号を受信すると、親機10aに第2子機要求信号を送信する。また、子機10bは、親機10aから差分データを受信すると、親機10aの第1描画データ334を更新して、更新した第1描画データ334をディスプレイ22に出力する。
親機10a、子機10b、子機10cの上記のような動作は、第1実施例と同様に、CPU12がRAM14に記憶された情報処理プログラムを実行することにより実現される。ただし、この第2実施例では、親機10aの画面切替プログラム322は、ユーザから画面切り替えの指示がされたときに、第3親機要求信号を送信するためのプログラムでもある。また、第2実施例では、子機10bまたは子機10cの差分送受信プログラム318は、親機10aから第3親機要求信号を受信したときに、親機10aに第2子機要求信号を送信し、これに応じて、親機10aから送信される差分データを受信するためのプログラムでもある。
以下、第2実施例の描画制御処理について具体的に説明するが、第1実施例の図6〜図13で示した描画制御処理と一部が異なる以外は同じであるため、重複した説明は省略する。また、第1実施例の描画制御処理と同じ処理については同じ参照符号を付してある。
図15は第2実施例における親機10aのCPU12の描画制御処理の一部であって、図7に後続するフロー図である。
図15からも分かるように、第2実施例では、図6〜図9に示した親機10aのCPU12の描画制御処理において、ステップS37とステップS39の間に、ステップS151、S153およびS155の処理が追加される。
図15に示すように、親機10aのCPU12は、ステップS37で、サムネイルを消去すると、ステップS151で、n番目のサムネイルに対応する情報処理装置10に第3親機要求信号を送信する。
そして、ステップS153で、n番目のサムネイルに対応する情報処理装置10から第2子機要求信号を受信したかどうかを判断する。ステップS153で“NO”であれば、つまり第2子機要求信号を受信していなければ、そのままステップS153に戻る。
一方、ステップS153で“YES”であれば、つまりn番目のサムネイルに対応する情報処理装置10から第2子機要求信号を受信すると、ステップS155で、n番目のサムネイルに対応する情報処理装置10に差分データを送信して、ステップS39に進む。
なお、上記以外の処理については、第1実施例で示した親機10aのCPU12の描画制御処理と同じである。
図16は第2実施例における子機10bのCPU12の描画制御処理の一部であって、図11に後続するフロー図である。なお、以下では、子機10bのCPU12の描画制御処理について説明するが、子機10cについても同様である。
図16からも分かるように、第2実施例では、図6、図9、図11および図12に示した子機10bのCPU12の描画制御処理において、ステップS15とステップS17の間に、ステップS171、S173、S175、S177およびS179の処理が追加される。
図16に示すように、子機10bのCPU12は、ステップS171で、第3親機要求信号を受信したかどうかを判断する。ステップS171で“NO”であれば、つまり第3親機要求信号を受信していなければ、そのままステップS17に進む。
一方、ステップS171で“YES”であれば、つまり第3親機要求信号を受信すると、ステップS173で、親機10aに第2子機要求信号を送信して、ステップS175で、親機10aから差分データを受信したかどうかを判断する。ステップS175で“NO”であれば、つまり親機10aから差分データを受信していなければ、同じステップS175に戻る。
一方、ステップS175で“YES”であれば、つまり親機10aから差分データを受信すると、ステップS177で、第1描画データ334を更新し、ステップS179で、更新した第1描画データ334をディスプレイ22に出力して、ステップS17に進む。
なお、上記以外の処理については、第1実施例で示した子機10bのCPU12の描画制御処理と同じである。
また、子機10cのCPU12の描画制御処理についての詳細な説明は省略するが、上記の子機10bのCPU12の描画制御処理の説明において、子機10bと子機10cとを入れ替えればよい。
第2実施例によれば、各情報処理装置10は互いに他の情報処理装置10の描画データを保存しているので、親機10aを操作することにより、親機10aの画面と、子機10bまたは子機10cの画面を短時間で入れ替えることができる。
<第3実施例>
第3実施例の情報処理装置10は、子機10bまたは子機10cにおける操作に応じて、親機10aの画面と子機10bまたは子機10cの画面とを入れ替えるようにしたこと以外は、第1実施例の情報処理装置10と同じであるため、第1実施例と異なる内容について説明し、重複した説明については省略することにする。また、画面の入れ替えについては、第2実施例と同様であるため、第2実施例で説明した内容と同じ内容については、説明を省略する。
図17(A)は第3実施例の情報処理システム200におけるディスプレイ22に表示されるタッチ画面100の一例を示す図解図である。また、図17(B)は情報処理システム200におけるディスプレイ22に表示されるタッチ画面100の他の一例を示す図解図である。ただし、図17(A)には、画面切替ボタン102がタッチされた後の子機10bのディスプレイ22に表示されるタッチ画面100bが示される。ただし、第3実施例では、子機10bまたは子機10cの操作に応じて、親機10aの画面と子機10bまたは子機10cの画面を切り替えるため、他の子機(図17(A)では、子機10c)の画面のサムネイル(第3選択ボタン124)は表示されていない。
図17(A)に示すように、たとえば、ユーザによって、子機10bのタッチ画面100bに表示される第1選択ボタン120および第2選択ボタン124から第1選択ボタン120がタッチされると、図17(B)に示すように、子機10aのタッチ画面100aと、子機10bのタッチ画面100bとが入れ替えられる。
したがって、第3実施例では、子機10bまたは子機10cは、画面を入れ替える相手である親機10aに差分データの送信を要求するのみならず、当該親機10aに自機(子機10bまたは子機10c)の画面に切り替えることを要求する信号(以下、「第3子機要求信号」という)を送信するとともに、当該親機10aからの要求に応じて自機の差分データを送信する。
一方、親機10aは、第3子機要求信号を受信すると、当該第3子機要求信号の送信元の子機10bまたは子機10cに第2子機要求信号を送信する。また、親機10aは、子機10bまたは子機10cから差分データを受信すると、子機10bの第2描画データ336または子機10cの第3描画データ338を更新して、更新した描画データ(336または338)をディスプレイ22に出力する。
親機10a、子機10b、子機10cの上記のような動作は、第1実施例および第2実施例と同様に、CPU12がRAM14に記憶された情報処理プログラムを実行することにより実現される。ただし、第3実施例では、親機10aの差分送受信プログラム318は、子機10bまたは子機10cから第3子機要求信号を受信したときに、送信元の子機10bまたは子機10cに第2親機要求信号を送信し、これに応じて、子機10bまたは子機10cから送信される差分データを受信するためのプログラムでもある。また、第3実施例では、子機10bまたは子機10cの画面切替プログラム322は、ユーザから画面切り替えの指示がされたときに、第3子機要求信号を送信するためのプログラムでもある。
図18は第3実施例における親機10aのCPU12の描画制御処理の一部であって、図6に後続するフロー図である。以下、第3実施例の描画制御処理について説明するが、第1実施例および第2実施例で説明した内容と同じ内容については説明を省略することにする。
図18からも分かるように、第3実施例では、図6〜図9に示した親機10aのCPU12の描画制御処理において、ステップS15とステップS17の間に、ステップS201、S203、S205、S207およびS209の処理が追加される。
したがって、図18に示すように、親機10aのCPU12は、ステップS201で、第3子機要求信号を受信したかどうかを判断する。ステップS201で“NO”であれば、つまり第3子機要求信号を受信していなければ、そのままステップS17に進む。
一方、ステップS201で“YES”であれば、つまり第3子機要求信号を受信すると、ステップS203で、第3子機要求信号の送信元の子機10bまたは子機10cに第2子機要求信号を送信して、ステップS205で、子機10bまたは子機10cから差分データを受信したかどうかを判断する。ステップS205で“NO”であれば、つまり子機10bまたは子機10cから差分データを受信していなければ、同じステップS205に戻る。
一方、ステップS205で“YES”であれば、つまり子機10bまたは子機10cから差分データを受信すると、ステップS207で、第2描画データ336または第3描画データ338を更新し、ステップS209で、更新した第2描画データ336または第3描画データ338をディスプレイ22に出力して、ステップS17に進む。
なお、上記以外の処理については、第1実施例で示した親機10aのCPU12の描画制御処理と同じである。
図19は第3実施例における子機10bのCPU12の描画制御処理の一部であって、図6に後続するフロー図である。なお、以下では、子機10bのCPU12の描画制御処理について説明するが、子機10cについても同様である。
図19からも分かるように、図6、図9、図11および図12に示した子機10bまたは子機10cのCPU12の描画制御処理において、ステップS37とステップS97の間に、ステップS221、S223およびS225の処理が追加される。
したがって、図19に示すように、CPU12は、ステップS37で、サムネイルを消去すると、ステップS221で、親機10aに第3子機要求信号を送信する。
そして、ステップS223では、親機10aから第2親機要求信号を受信したかどうかを判断する。ステップS223で“NO”であれば、つまり親機10aから第2親機要求信号を受信していなければ、同じステップS223に戻る。
一方、ステップS223で“YES”であれば、つまり親機10aから第2親機要求信号を受信すると、ステップS225で、親機10aに差分データを送信して、ステップS97に進む。
なお、上記以外の処理については、第1実施例で示した子機10bのCPU12の描画制御処理と同じである。
また、子機10cのCPU12の描画制御処理についての詳細な説明は省略するが、上記の子機10bのCPU12の描画制御処理の説明において、子機10bと子機10cとを入れ替えればよい。
この第3実施例においても、第2実施例と同様に、親機10aの画面と、子機10bまたは子機10cの画面を短時間で入れ替えることができる。
なお、この第3実施例では、親機10aの画面と子機10bまたは子機10cの画面とを入れ替えるようにしたが、これに限定される必要はない。たとえば、子機10bの画面と子機10cの画面とを入れ替えるようにしてもよい。
かかる場合には、画面切替ボタン102が操作されると、子機10bまたは子機10c(親機10aも同様)のタッチ画面100には、第1〜第3選択ボタン120〜124が表示される。また、画面の入れ替えを要求される子機10bおよび子機10cにおいて、図18に示したステップS201〜S209と同様の処理がさらに実行される。さらに、画面の入れ替えを要求する子機10bまたは子機10cは、他の子機10cまたは子機10bに対して第3子機要求信号を送信したり、他の子機10cまたは子機10bから第2子機要求信号を受信したかどうかを判断したり、他の子機10cまたは子機10bに差分データを送信したりする。つまり、図19のステップS221〜S225の処理の内容が、親機10aとの間で画面を入れ替える場合と異なる。
具体的には、画面の入れ替えを要求される他の子機10cまたは子機10bは、第3子機要求信号を受信したかどうかを判断し(S201)、第3子機要求信号を受信したことに応じて、第2子機要求信号を、第3子機要求信号の要求元の子機10bまたは子機10cに送信する(S203)。そして、他方の子機10cまたは子機10bは、差分データを受信したかどうかを判断し(S205)、差分データを受信したことに応じて、第2描画データ336または第3描画データ338を更新して(S207)、第2描画データ336または第3描画データ338をディスプレイに出力する(S209)。
また、子機10bまたは子機10cは、他の子機10cまたは子機10bに、第3子機要求信号を送信し(S221)、他の子機10cまたは子機10bから第2子機要求信号を受信したかどうかを判断し(S223)、第2子機要求信号を受信したことに応じて、他の子機10cまたは子機10bに差分データを送信する(S225)。
なお、第2実施例と第3実施例の変形は、同時に採用することもできる。
また、上述の各実施例で挙げた画面構成や具体的な数値等は一例であり、実際の製品に応じて適宜変更することが可能である。また、同じ効果が得られる場合には、フロー図に示した各ステップの順番は適宜変更されてもよい。