(57)【特許請求の範囲】
【請求項１】
画面上の任意の要素を選択する選択手段と、
前記選択手段によって選択された要素を、前記画面内にある拡縮範囲に表示する表示手段と、
前記選択された要素を編集する編集手段と、
前記編集手段によって編集される要素が前記拡縮範囲からはみ出す場合には、該編集に伴う外部入力装置の移動量に応じた縮小率を求め前記選択された要素を該縮小率に応じて縮小する制御を行い、前記編集される要素が前記拡縮範囲内の領域周辺に空き領域が生じる場合には、該編集に伴う外部入力装置の移動量に応じた拡大率を求め前記選択された要素を該拡大率に応じて拡大する制御を行う拡縮制御手段と、
を有することを特徴とする編集画面の表示制御装置。
【請求項２】
画面上の任意の要素を選択する選択手段と、
前記選択手段によって選択された要素を、前記画面内にある拡縮範囲に表示する表示手段と、
前記選択された要素を編集する編集手段と、
前記拡縮範囲の左上座標（Ｘ１，Ｙ１）と前記拡縮範囲の右下座標（Ｘ２，Ｙ２）と外部入力装置の移動量（Ｘｍ，Ｙｍ）を取得する手段と、
前記編集手段によって編集される要素が前記拡縮範囲からはみ出す場合には、該編集に伴う外部入力装置の移動量に応じた縮小率（Ｘｓ，Ｙｓ）を次式から計算し、
Ｘｓ＝（Ｘ２−Ｘ１）／（Ｘ２−Ｘ１＋｜Ｘｍ｜）
Ｙｓ＝（Ｙ２−Ｙ１）／（Ｙ２−Ｙ１＋｜Ｙｍ｜）
求めた縮小率に応じて前記選択された要素を縮小する制御を行い、前記編集される要素が前記拡縮範囲内の領域周辺に空き領域が生じる場合には、該編集に伴う外部入力装置の移動量に応じた拡大率（Ｘｓ，Ｙｓ）を次式から計算し、
Ｘｓ＝（Ｘ２−Ｘ１）／（Ｘ２−Ｘ１−｜Ｘｍ｜）
Ｙｓ＝（Ｙ２−Ｙ１）／（Ｙ２−Ｙ１−｜Ｙｍ｜）
求めた拡大率に応じて前記選択された要素を拡大する制御を行う拡縮制御手段と、
を有することを特徴とする編集画面の表示制御装置。
【請求項３】
前記編集手段による編集は、前記選択された要素の中のただ１つの要素に対して行われることを特徴とする請求項１または請求項２に記載の編集画面の表示制御装置。
【請求項４】
前記編集手段による編集は、前記選択された要素の中の複数の要素に対して行われることを特徴とする請求項１または請求項２に記載の編集画面の表示制御装置。
【請求項５】
前記画面上の任意の要素は、論理回路または該論理回路を接続する配線であることを特徴とする請求項１または請求項２に記載の編集画面の表示制御装置。
【請求項６】
前記画面上の任意の要素は、文章中の文字であることを特徴とする請求項１または請求項２に記載の編集画面の表示制御装置。
【請求項７】
前記選択手段は、前記拡縮制御手段による要素の縮小によって、新たに前記拡縮範囲内に表示された要素も含めることを特徴とする請求項１または請求項２に記載の編集画面の表示制御装置。
【請求項８】
前記選択手段は、前記編集手段によって新たに作成された要素も含めることを特徴とする請求項１または請求項２に記載の編集画面の表示制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本願発明は、表示画面上の編集画面で図形、或いは文字等を編集する場合において、編集画面内の図形等の表示を制御する装置に関する。
【０００２】
【従来の技術】
図形や文字を扱うエディタ（例えば、ＣＡＤ(Computer Aided Design) やワード・プロセッサ等）を使用する場合、画面上の情報量が多くなると、図形や文字の配置が煩雑になり、後で画面上の図形や文字の整理を行う必要がでてくる。
【０００３】
このようなことを防ぐため、常に編集領域全体を表示することができ、レイアウトに重点をおいた編集ができることが必要となる。
従来、図形や文字を扱うエディタにおいて、編集中の図形や文字のレイアウトを把握する方法として、次の▲１▼や▲２▼の方法が知られている。
▲１▼  従来技術（１）
図２０は、第１の従来技術を示す図であり、（ａ）及び（ｂ）は、ディスプレイ上の画面を示している。（ａ）は、レイアウト画面上の部分図である編集画面３０１が表示されている。編集画面３０１内の図形の編集作業を中断し、全体のレイアウトを表示させる場合、レイアウト表示機能を選ぶことにより、今まで編集していた編集画面がレイアウト画面３０２に置き変わり、編集中の図形のレイアウト全体が表示される。（ｂ）が、レイアウト全体が表示されるレイアウト画面３０２を示す図である。
【０００４】
編集者は（ｂ）に示すレイアウト画面３０２を参照して全体のレイアウトを確認した後、（ａ）に示す編集画面３０１に切り換えて編集作業を行う。また、編集領域を変更する場合には、レイアウト画面３０２の表示状態で編集領域を設定し直して、編集画面３０１に切り換える。この動作を繰り返すことによって、編集作業が行われる。
▲２▼  従来技術（２）
図２１は、第２の従来技術を示す図であり、（ａ）及び（ｂ）は、画面上で２枚のウィンドウが開かれているところを示している。２枚のウィンドウには、それぞれ編集画面４０１、及びレイアウト画面４０２が割り当てられている。（ａ）は、レイアウト画面上の部分図が表示された編集画面４０１のウィンドウが、レイアウト画面４０２が表示されたウィンドウの上にオーバラップ表示されているところを示している。編集画面４０１内の図形の編集作業を中断し、全体のレイアウトを表示させる場合、（ｂ）に示すようにレイアウト画面４０２が表示されたウィンドウが、編集画面４０１が表示されたウィンドウの上に表示されるように切り換えを行い、レイアウト画面４０２により全体のレイアウトを参照する。
【０００５】
編集者は（ｂ）に示すレイアウト画面４０２を参照して全体のレイアウトを確認してから、再び（ａ）に示すように編集画面４０１のウィンドウが前面に表示されるように切り換えて編集作業を再開する。また、編集領域を変更する場合には、（ｂ）に示すオーバラップ表示状態でレイアウト画面４０２内で編集領域を設定し直してから、（ａ）に示すようにアクティブウィンドウが編集画面４０１となるように切り換えを行って編集作業を行う。
【０００６】
また、上記従来例の他、任意のズーミングで編集する手段として、あらかじめ画面毎に拡大・縮小等の画面表示モードを指定しておき、必要に応じて画面表示モードを変更して編集を行う場合がある。例えば、画面表示モードを縮小に指定した画面で大まかな編集を行い、画面表示モードを拡大に指定した画面に切り換えて、細部の編集を行う。この動作を繰り返すことによって、編集作業が進められる。
【０００７】
【発明が解決しようとする課題】
上記した従来技術には次の問題点がある。
▲１▼の方法においては、表示画面３０１をレイアウト画面３０２に切り換える手順と、編集作業に戻る際に編集画面３０１に切り換える手順が必要となるため、レイアウト画面を見ながら編集を行うことができない。また、編集領域を変更する場合には所定の手順が必要となる。
【０００８】
▲２▼の方法においては、レイアウト画面４０２が表示されたウィンドウと、編集画面４０１が表示されたウィンドウを切り換える手順が必要となる。また、この手順を省くため、ウィンドウが重ならないように配置すると、図２２に示すように、１画面上にレイアウト画面５０２が表示されたウィンドウと、編集画面５０１が表示されたウィンドウが並んで表示されるため、編集画面５０１が表示されるウィンドウのサイズが小さくなり、編集画面５０１に表示できる情報量が少なくなる。また、編集領域を変更する場合には所定の手順が必要となる。
【０００９】
更に、前記した任意のズーミングで編集する方法の場合においても、編集画面の縮尺を変更する場合には途中で画面表示モードを変更する操作が必要となる。
【００１０】
【課題を解決するための手段】
上記課題を解決するための手段を、図１に示す本願発明の原理ブロック図を用いて説明する。
【００１１】
選択手段１０１は、画面１０６上に表示された要素の中から、任意の要素を選択する。選択手段１０１で選択される要素は、外部入力装置１０５によって指定された始点及び終点によって定まる矩形領域内の要素、或いは外部入力装置１０５によるクリック操作によって選択される要素である。
【００１２】
表示手段１０２は、前記選択手段１０１によって選択された要素を、前記画面１０６内にある拡縮範囲１０７に表示する。
編集手段１０３は、前記選択された要素に対して移動、変形、削除等の編集を行う。
【００１３】
拡縮制御手段１０４は、前記編集手段１０３によって編集される要素が前記拡縮範囲１０７からはみ出す場合には、該編集に伴う外部入力装置１０５の移動量に応じた縮小率を求め前記選択された要素を該縮小率に応じて縮小する制御を行い、一方、前記編集される要素が前記拡縮範囲１０７内の領域周辺に空き領域が生じる場合には、該編集に伴う外部入力装置１０５の移動量に応じた拡大率を求め前記選択された要素を該拡大率に応じて拡大する制御を行う。
【００１４】
【作用】
図１は、本願発明の原理ブロックを示す図である。なお、以下に図形を対象として説明するが、本願発明は図形の編集処理だけでなく、文字情報からなる文章の編集処理にも適用することが可能である。
【００１５】
同図において、表示画面１０６にはレイアウト画面が表示されており、全ての図形が表示されている。編集者は、レイアウト画面に表示された図形の中から編集を行いたい図形を拡縮対象図形として、外部入力装置１０５を用いて選択する。選択手段１０１は、外部入力装置１０５による指示に基づいて図形の選択を行う。図形の選択方法としては、外部入力装置１０５によって指定された表示画面１０６上の始点及び終点によって定まる矩形領域内の図形が選択される方法、外部入力装置１０５のクリック操作によって図形が１つ１つ選択される方法等がある。
【００１６】
図形の選択が終了すると、表示画面１０６上には拡縮範囲１０７が表示され、選択手段１０１によって選択された図形が表示手段１０２によって拡縮範囲１０７上に表示される。この際、拡縮制御手段１０４によって拡縮範囲１０７内に拡縮対象図形が全て収まる程度の大きさに拡大／縮小制御が行われる。また、上記矩形領域を設定して図形を選択した場合には、矩形領域をそそまま拡縮範囲１０７としても良い。
【００１７】
以上の処理により、拡縮範囲１０７に表示された図形を示すのが（ｂ）である。拡縮対象として、レイアウト画面に表示された図形の中から４つの図形Ａ、Ｂ、Ｃ、Ｄが選択されている。編集者が拡縮範囲１０７内の図形Ｄを編集する際、例えば図形Ｄを右方向へ移動する場合に、図形Ｄが拡縮範囲１０７を越えそうになるのを示したのが（ｃ）である。更に、図形Ｄを右方向へ移動する場合、（ｄ）に示すように拡縮制御手段１０４によって各拡縮対象図形の縮小制御が行われ、表示手段１０２による再表示によって各拡縮対象図形が拡縮範囲１０７に丁度収まるようになる。図形の編集は、外部入力装置１０５による指示により、編集手段１０３において処理が行われる。
【００１８】
また、逆に（ｄ）に示す拡縮範囲１０７内の図形Ｄを左方向へ移動する場合には、拡縮範囲１０７の右側に空き領域が発生するので、拡縮制御手段１０４によって各拡縮対象図形の拡大制御が行われ、表示手段１０２による再表示によって各拡縮対象図形が拡縮範囲１０７に丁度収まるようになる。それを示したのが、（ｂ）である。
【００１９】
【実施例】
図２及び図３は、本願発明の全体構成を示す図であり、表示画面上に表示される図形を編集処理する情報処理装置２０１、図形を表示画面上に表示するための制御を行う表示制御装置２０２、図形を表示するためのディスプレイ装置２０３、外部入力装置として使用されるマウス２０４、及び図形データ等が格納されるファイル２０５によって構成される。また、図２及び図３の（ｂ）〜（ｄ）はディスプレイ装置２０３内の拡縮範囲に表示された拡縮対象図形を示している。
【００２０】
図４は、本願発明の概要を示したフローチャートである。同図を用いて、図２及び図３を参照しながら本願発明の概要を説明する。
先ず、レイアウト画面に表示された図形の中から、拡縮対象となる図形の選択を行う。マウス２０４によって指定されたレイアウト画面上の始点及び終点によって定まる矩形領域内の図形が、拡縮対象図形として選択される。即ち、例えば、図２（ｂ）、及び図３（ｂ）に示すように、レイアウト画面上のａの位置でマウス２０４上のボタンを押し、ボタンを押したままｂの位置までマウス２０４を移動し、ｂの位置でボタンをアップすることにより、始点ａ、終点ｂを対角線上の頂点とする矩形領域内に表示されている図形が拡縮対象図形として選択される。また、マウス２０４のクリック操作によって拡縮対象図形を１つ１つ直接選択しても良い（ステップＳ１０１）。
【００２１】
次に、上記ステップＳ１０１で選択された拡縮対象図形を、それぞれ認識する。レイアウト画面で表示された図形の情報は、全てファイル２０５に格納されており、拡縮対象図形を決定する際に、順次ファイル２０５からそれらの情報が読み出され、各拡縮対象図形の表示位置、大きさ等が認識される（ステップＳ１０２）。
【００２２】
続いて、ステップＳ１０１で選択された拡縮対象図形が、全て表示されるように拡縮範囲が表示される。矩形領域を設定して拡縮対象図形を選択した場合には、該矩形領域がそのまま拡縮範囲の領域にされるか、または矩形領域が拡大／縮小されて拡縮範囲として設定される。一方、マウス２０４のクリック操作によって拡縮対象図形が１つ１つ選択された場合には、選択された図形が全て収まるように拡縮範囲が設定される（ステップＳ１０３）。
【００２３】
次に、編集作業が終了したか否かを判断する。編集作業の終了は、例えばマウス２０４の移動に連動するマウスカーソルが、表示画面上の終了を示す領域へ移動された状態でマウス２０４上のボタンがクリックされる操作を検出する等によって判断する。編集作業が終了の場合には、ステップＳ１０５へ進み編集が終了する。編集作業を続ける場合には、ステップＳ１０６へ進んで編集作業が続行される（ステップＳ１０４）。
【００２４】
前ステップＳ１０４で編集作業が終了と判定されれば、拡縮範囲を閉じてレイアウト画面が表示されるようにし、編集を終了する（ステップＳ１０５）。
次に、拡縮範囲に表示された図形の中から、編集対象図形が選択されたか否かを判断する。編集対象図形は、マウス２０４上のボタンのクリック操作によって拡縮範囲に表示された図形の中からただ１つが選択されても良いし、複数の図形が選択されても良い。編集対象図形が選択されればステップＳ１０７へ進み、選択されなければステップＳ１０３へ戻る（ステップＳ１０６）。
【００２５】
次に、マウス２０４の移動があったか否かを判断する。マウス２０４の移動がなければステップＳ１０３へ戻り、マウス２０４の移動があれば次のステップＳ１０８へ進む（ステップＳ１０７）。
【００２６】
マウス２０４の移動があった場合には、マウス２０４の移動量の取得が行われると共に、編集が図形の移動の場合には、編集対象図形もマウス２０４の移動に伴って移動する。図２（ｃ）は、操作対象図形Ｄが右方向へ移動される場合を示している。また、編集が図形の変形の場合には、マウス２０４の移動に伴って編集対象図形の変形が行われる。図３（ｃ）は、編集対象図形Ｄが変形（拡大）された場合を示している（ステップＳ１０８）。
【００２７】
次に、編集対象図形が拡縮範囲からはみ出したか否かを判断する。拡縮範囲からはみ出さない場合にはステップＳ１１０へ進み、拡縮範囲からはみ出した場合にはステップＳ１１２へ進む（ステップＳ１０９）。
【００２８】
編集対象図形が拡縮範囲からは出さない場合には、編集対象図形の編集によって、拡縮範囲の領域周辺に空き領域が発生したか否かを判断する。空き領域が発生しない場合にはステップＳ１１１へ進み、空き領域が発生した場合にはステップＳ１１２へ進む（ステップＳ１１０）。
【００２９】
前ステップＳ１１０で空き領域が発生しない場合には、拡縮範囲内の図形は拡大／縮小する必要がないため、編集が図形の移動の場合には移動後の図形の位置を求め、編集が図形の変形の場合には変形後の図形の大きさを求めて編集対象図形の再表示を行い、ステップＳ１０３に戻る（ステップＳ１１１）。
【００３０】
編集対象図形が拡縮範囲からはみ出す場合には、全ての拡縮対象図形が拡縮範囲内に収まるように縮小率を計算する。また、編集対象図形の編集によって、拡縮範囲の領域周辺に空き領域が発生する場合には全ての拡縮対象図形が拡縮範囲内に収まるように拡大率を計算する（ステップＳ１１２）。
【００３１】
次に、前ステップＳ１１２で求められた拡大／縮小率に基づいて、各拡縮対象図形の大きさ、表示位置を計算する（ステップＳ１１３）。
続いて、前ステップＳ１１３で求められた各拡縮対象図形の大きさ、表示位置に基づいて全ての拡縮対象図形の再表示を行う。図２（ｄ）は、編集対象図形Ｄの右方向の移動により拡縮範囲内の各拡縮対象図形が縮小された場合を示している。また、図３（ｄ）は、編集対象図形Ｄの変形（拡大）によって拡縮範囲内の他の拡縮対象図形が縮小された場合を示している（ステップＳ１１４）。
【００３２】
更に、編集対象図形の移動、変形に伴って新たな図形が拡縮範囲内に表示された場合、その図形を拡縮対象図形に加えてステップＳ１０３へ戻る（ステップＳ１１５）。
【００３３】
また、図形Ｄを上述した場合とは反対に左方向に移動、或いは図形Ｄを変形（縮小）した場合には、図２及び図３の拡縮範囲は（ｄ）→（ｃ）→（ｂ）のように変化し拡縮範囲内の各拡縮対象図形（但し、図３の図形Ｄは除く）は拡大される。
【００３４】
図５〜図８のフローチャートを用いて、上述した処理をより詳細に説明する。
なお、以下のフローチャートにおいて、変数は次のように設定される。
Ｐ１（Ｘ１，Ｙ１）：拡縮範囲左上座標
Ｐ２（Ｘ２，Ｙ２）：拡縮範囲右下座標
Ｐ３（Ｘ３，Ｙ３）：マウス２０４の移動に連動したマウスカーソルの座標
Ｐ３’（Ｘ３’，Ｙ３’）：上記マウスカーソルの最新座標
ＸＭ，ＹＭ：上記マウスカーソルの移動量
ｅｄｉｔｆｌａｇ  ：編集状態フラグ（１＝編集中，０＝未編集中）
ＮＩ（ＸＩ，ＹＩ，ＷＩ，ＨＩ）：図形情報（左上のＸ座標、左上のＹ座標、幅、高さ）  （Ｉ＝０〜ｎ：図形数）
ＭＪ（ＸＪ，ＹＪ，ＷＪ，ＨＪ）：記憶した拡縮対象図形情報
ＭＬ（ＸＬ，ＹＬ，ＷＬ，ＨＬ）：拡縮範囲内左端座標情報
ＭＲ（ＸＲ，ＹＲ，ＷＲ，ＨＲ）：拡縮範囲内右端座標情報
ＭＴ（ＸＴ，ＹＴ，ＷＴ，ＨＴ）：拡縮範囲内上端座標情報
ＭＢ（ＸＢ，ＹＢ，ＷＢ，ＨＢ）：拡縮範囲内下端座標情報
ＮＮ（ＸＮ，ＹＮ，ＷＮ，ＨＮ）：編集対象図形の図形情報
ＰＣ（ＸＣ，ＹＣ）：拡縮範囲内の拡縮の基準点
ＸＳ，ＹＳ：縮小／拡大率
上記拡縮範囲内左端座標情報、拡縮範囲内右端座標情報、拡縮範囲内上端座標情報、拡縮範囲内下端座標情報は、それぞれ拡縮範囲内の最左端の図形情報、最右端の図形情報、最上端の図形情報、最下端の図形情報が格納される。
【００３５】
先ず、マウス２０４のボタンダウンによる、拡縮範囲左上座標Ｐ１を取得する。マウス２０４のボタンを押したまま移動することによって、拡縮範囲左上座標Ｐ１とマウスカーソルとによって定まる矩形領域が表示される（ステップＳ２０１）。
【００３６】
次に、マウス２０４のボタンアップによる、拡縮範囲右下座標Ｐ２を取得する。拡縮範囲左上座標Ｐ１と拡縮範囲右下座標Ｐ２とによって定まる矩形領域が拡縮範囲となる。拡縮範囲は、図９に示す矩形領域内となる（ステップＳ２０２）。
【００３７】
各パラメータＩ、Ｊ、ＭＬ、ＭＲ、ＭＴ、ＭＢ、及びｅｄｉｔｆｌａｇの初期化を行う（ステップＳ２０３）。
次に、レイアウト画面内の図形Ｉの図形情報を取得する。図形情報は、図１０に示すように４つのパラメータ（ＸＩ，ＹＩ，ＷＩ，ＨＩ）を所有している。ＸＩは図形Ｉの左上のＸ座標を、ＹＩは図形Ｉの左上のＹ座標を、ＷＩは図形の幅を、ＨＩは図形の高さをそれぞれ示している（ステップＳ２０４）。
【００３８】
前ステップＳ２０４で取得された図形Ｉが、ステップＳ２０２で定まった矩形領域に含まれるか否かを判定する。取得された図形情報ＮＩと拡縮範囲左上座標Ｐ１、拡縮範囲右下座標Ｐ２との比較を以下のように行う。
【００３９】
Ｘ１≦ＸＩ、Ｙ１≦ＹＩ、ＸＩ＋ＷＩ≦Ｘ２、ＹＩ＋ＨＩ≦Ｙ２
上記の条件を全て満たす場合に、図形Ｉを拡縮対象図形と見なしステップＳ２０６へ進み、条件を満たさない場合には拡縮対象図形とは見なさずにステップＳ２１６へ進む。図１１に示すように、図形Ａ、Ｂ、Ｄ、Ｅは矩形領域内に完全には含まれていないので、拡縮対象図形と見なさない。図形Ｃは矩形領域内に完全に含まれるので、拡縮対象図形と見なす（ステップＳ２０５）。
【００４０】
前ステップＳ２０５で、図形Ｉが拡縮対象図形であると見なされた場合には、ＭＪに図形Ｉの図形情報ＮＩを代入して記憶する（ステップＳ２０６）。
次に、Ｊの値をインクリメントする（ステップＳ２０７）。
【００４１】
続いて、図形Ｉの左端のＸ座標ＸＩが、拡縮範囲内左端座標ＭＬのＸ座標ＸＬより小さいか否かを判定する。ＸＩがＸＬより小さい場合には次のステップＳ２０９へ進み、その他の場合にはステップＳ２１０へ進む（ステップＳ２０８）。
【００４２】
ＸＩがＸＬより小さい場合には、拡縮範囲内左端座標ＭＬに図形Ｉの図形情報ＮＩを代入する。図１２に示す図形Ａ’はＡより左にあるので、拡縮範囲内左端座標ＭＬは図形ＡからＡ’に更新される（ステップＳ２０９）。
【００４３】
次に、図形Ｉの上端のＹ座標ＹＩが、拡縮範囲内上端座標ＭＴのＹ座標ＹＴより小さいか否かを判定する。ＹＩがＹＴより小さい場合には次のステップＳ２１１へ進み、その他の場合にはステップＳ２１２へ進む（ステップＳ２１０）。
【００４４】
ＹＩがＹＴより小さい場合には、拡縮範囲内上端座標ＭＴに図形Ｉの図形情報ＮＩを代入する。図１２に示す図形Ｂ’はＢより上にあるので、拡縮範囲内上端座標ＭＴは図形ＢからＢ’に更新される（ステップＳ２１１）。
【００４５】
次に、図形Ｉの右端のＸ座標ＸＩ＋ＷＩが、拡縮範囲内右端座標ＭＲのＸ座標ＸＲ＋ＷＲより大きいか否かを判定する。ＸＩ＋ＷＩがＸＲ＋ＷＲより大きい場合には次のステップＳ２１３へ進み、その他の場合にはステップＳ２１４へ進む（ステップＳ２１２）。
【００４６】
ＸＩ＋ＷＩがＸＲ＋ＷＲより大きい場合には、拡縮範囲内右端座標ＭＲに図形Ｉの図形情報ＮＩを代入する。図１２に示す図形Ｃ’はＣより右にあるので、拡縮範囲内右端座標ＭＲは図形ＣからＣ’に更新される（ステップＳ２１３）。
【００４７】
次に、図形Ｉの下端のＹ座標ＹＩ＋ＨＩが、拡縮範囲内下端座標ＭＢのＹ座標ＹＢ＋ＨＢより大きいか否かを判定する。ＹＩ＋ＨＩがＹＢ＋ＨＢより大きい場合には次のステップＳ２１５へ進み、その他の場合にはステップＳ２１６へ進む（ステップＳ２１４）。
【００４８】
ＹＩ＋ＨＩがＹＢ＋ＨＢより大きい場合には、拡縮範囲内下端座標ＭＢに図形Ｉの図形情報ＮＩを代入する。図１２に示す図形Ｄ’はＤより下にあるので、拡縮範囲内下端座標ＭＢは図形ＤからＤ’に更新される（ステップＳ２１５）。
【００４９】
次に、レイアウト画面内の全ての図形の図形情報の取得が終了したか否かを判断する。図形情報の取得が終了していなければステップＳ２１７へ進み、図形情報の取得が終了していればステップＳ２１８へ進む（ステップＳ２１６）。
【００５０】
次の図形の図形情報を取得するためにＩをインクリメントして、ステップＳ２０４へ戻る（ステップＳ２１７）。
レイアウト画面内の全ての図形に対して、拡縮対象か否かの判断が終了した場合、拡縮対象図形数としてＪを記憶する。また、拡縮範囲の表示も行うが、以後の説明はステップＳ２０１〜Ｓ２０２で設定された矩形領域をそのまま拡縮範囲とした場合の説明を行う（ステップＳ２１８）。
【００５１】
次に、現在のマウスカーソルの座標Ｐ３（Ｘ３，Ｙ３）を取得する（ステップＳ２１９）。
矩形領域の設定時に設定されたｅｄｉｔｆｌａｇが“１”であるか否かの判定を行う。ｅｄｉｔｆｌａｇが“１”であれば、拡縮範囲内の図形に対して編集が行われると判断してステップＳ２２２へ進み、ｅｄｉｔｆｌａｇが“０”であれば、拡縮範囲内の図形に対して編集が行われないと判断してステップＳ２２１へ進み処理を終了する（ステップＳ２２０）。
【００５２】
前ステップで編集が行われると判断されれば、現在のマウスカーソルの座標Ｐ３’（Ｘ３’，Ｙ３’）を取得する（ステップＳ２２２）。
前回のマウスカーソル座標Ｐ３と、現在のマウスカーソル座標Ｐ３’が同じであるか否かの判定を行う。同じであればマウス２０４の移動がなかったと見なし、ステップＳ２２０へ戻る。違えばマウス２０４の移動があったと見なし、次のステップＳ２２４へ進む（ステップＳ２２３）。
【００５３】
マウス２０４の移動があれば、編集対象図形Ｎの選択を行い、図形情報ＮＮ（ＸＮ，ＹＮ，ＷＮ，ＨＮ）を取得する。但し、ここでは拡縮対象図形の中のただ１つの図形が編集対象として選択される場合を説明する（ステップＳ２２４）。
【００５４】
次に、マウスカーソルのＸ方向移動量ＸＭ＝Ｘ３’−Ｘ３、Ｙ方向移動量ＹＭ＝Ｙ３’−Ｙ３を計算する。前ステップＳ２２４で選択された編集対象図形Ｎは、マウスカーソルの移動に伴って移動する。図１３にマウスカーソルの移動とその移動量を示す（ステップＳ２２５）。
【００５５】
次に、編集対象図形の移動により、編集対象図形が拡縮範囲からはみ出したか否かを、以下の４つの条件を用いて判定する。
ＸＮ＋ＸＭ≦Ｘ１、Ｘ２≦ＸＮ＋ＷＮ＋ＸＭ、ＹＮ＋ＹＭ≦Ｙ１、
Ｙ２≦ＹＮ＋ＨＮ＋ＹＭ
上記４つの条件の中の１つでも満足されれば拡縮範囲からはみ出したものと見なし、拡縮制御を行うためにステップＳ２２７へ進む。また、４つの条件のどれにも当てはまらなければ拡縮範囲からはみ出さないと見なし、ステップＳ２２８へ進む。図１４は図形Ａ〜Ｄが拡縮範囲からはみ出す場合を示している。図形Ａ’〜Ｄ’は、図形Ａ〜Ｄをそれぞれ左側、上側、右側、下側に移動して編集領域からはみ出した状態を示している（ステップＳ２２６）。
【００５６】
前ステップＳ２２６で編集対象図形が拡縮範囲からはみ出した場合、マウスカーソルのＸ方向移動量ＸＭにＸＭの絶対値を代入し、Ｙ方向移動量ＹＭにＹＭの絶対値を代入する（ステップＳ２２７）。
【００５７】
また、前記ステップＳ２２６で編集対象図形が拡縮範囲からはみ出さなかった場合、ステップＳ２２８〜Ｓ２３１において、拡縮範囲に空き領域が発生したか否かを判定する。先ず、編集対象図形の図形情報ＮＮが拡縮範囲内左端情報ＭＬ又は拡縮範囲内上端情報ＭＴと同じであるか否かを判定する。同じものであればステップＳ２２９へ進み、違うものであればステップＳ２３０へ進む（ステップＳ２２８）。
【００５８】
編集対象図形の図形情報ＮＮが拡縮範囲内左端情報ＭＬと同じである場合には、マウスカーソルがＸ方向の“＋”方向に移動すれば拡縮範囲に空き領域が発生する。また、編集対象図形の図形情報ＮＮが拡縮範囲内上端情報ＭＴと同じである場合には、マウスカーソルがＹ方向の“＋”方向に移動すれば拡縮範囲に空き領域が発生する。拡縮範囲に空き領域が発生する場合にはステップＳ２３３へ進み拡縮制御を行い、拡縮範囲に空き領域が発生しない場合にはステップＳ２３２へ進み通常処理を行う。図１５は図形Ａ〜Ｄの移動によって、拡縮範囲に空き領域が発生したところを示している。同図において、図形Ａ〜Ｂをそれぞれ右側、下側に移動して図形Ａ’〜Ｂ’の位置に移動されることにより、拡縮範囲に空き領域が発生している（ステップＳ２２９）。
【００５９】
次に、編集対象図形の図形情報ＮＮが拡縮範囲内右端情報ＭＲ又は拡縮範囲内下端情報ＭＢと同じであるか否かを判定する。同じものであればステップＳ２３１へ進み、違うものであればステップＳ２３２へ進む（ステップＳ２３０）。
【００６０】
編集対象図形の図形情報ＮＮが拡縮範囲内右端情報ＭＲと同じである場合には、マウスカーソルがＸ方向の“−”方向に移動すれば拡縮範囲に空き領域が発生する。また、編集対象図形の図形情報ＮＮが拡縮範囲内下端情報ＭＢと同じである場合には、マウスカーソルがＹ方向の“−”方向に移動すれば拡縮範囲に空き領域が発生する。拡縮範囲に空き領域が発生する場合にはステップＳ２３３へ進み拡縮制御を行い、拡縮範囲に空き領域が発生しない場合にはステップＳ２３２へ進み通常処理を行う。図１５は図形Ａ〜Ｄの移動によって、拡縮範囲に空き領域が発生したところを示している。図形Ｃ〜Ｄをそれぞれ左側、上側に移動し状態が図形Ｃ’〜Ｄ’である（ステップＳ２３１）。
【００６１】
拡縮範囲に空き領域が発生しない場合には、拡縮制御を行う必要がないため、編集対象図形に対する通常の編集を行いステップＳ２２０へ戻る（ステップＳ２３２）。
【００６２】
また、拡縮範囲に空き領域が発生する場合には、マウスカーソルのＸ方向移動量ＸＭに、ＸＭの絶対値に負の符号を付加したものを代入し、Ｙ方向移動量ＹＭに、ＹＭの絶対値に負の符号を付加したものを代入する（ステップＳ２３３）。
【００６３】
次に、Ｘ方向、Ｙ方向の縮小率、拡大率をそれぞれ以下の式を用いて計算し、ステップＳ２３５へ進む（ステップＳ２３４）。
ＸＳ＝（Ｘ２−Ｘ１）／（Ｘ２−Ｘ１＋ＸＭ）
ＹＳ＝（Ｙ２−Ｙ１）／（Ｙ２−Ｙ１＋ＹＭ）
図１６は、マウスカーソルの移動による拡縮範囲内の拡縮対象図形の拡大／縮小率の計算方法を示している。マウスカーソルの移動により、拡縮範囲Ａに空き領域が発生する場合には、マウスカーソルの移動量ＸＭ或いはＹＭが負の数となり、拡縮対象図形はＡ’の領域で表示可能となるが、Ａの領域に表示するために拡縮対象図形をそれぞれ拡大する。その時の拡大率が上式である。
【００６４】
また、マウスカーソルの移動により、編集図形が拡縮範囲Ａを越える場合には、マウスカーソルの移動量ＸＭ或いはＹＭが正の数となり、拡縮対象図形を表示するためにはＡ”の領域が必要となるが、Ａの領域に表示するために拡縮対象図形をそれぞれ縮小する。その時の縮小率が上式である。
【００６５】
次に、拡縮対象図形の図形番号を示すＪの値に“０”を代入する（ステップＳ２３５）。
続いて、拡縮対象図形の図形番号Ｊに対応する図形情報ＭＪを取得する（ステップＳ２３６）。
【００６６】
次に、ステップＳ２３４で求めた縮小率、拡大率に基づいて拡縮対象図形Ｊの情報を以下の式を用いて計算する。ここでＸＣとＹＣは、拡縮範囲内の拡縮制御のための基準点を示しており、通常は拡縮範囲内の左上座標を基準点とする（ステップＳ２３７）。
【００６７】
ＸＪ＝（ＸＪ−ＸＣ）×ＸＳ＋ＸＣ、ＹＪ＝（ＹＪ−ＹＣ）×ＹＳ＋ＹＣ、
ＷＪ＝ＷＪ×ＸＳ、ＨＪ＝ＨＪ×ＹＳ
図１７は、元の図形Ａを縮小、拡大したところを示したものであり、Ａ’は縮小された図形を、Ａ”は拡大された図形を示している。
【００６８】
次に、拡縮対象図形の図形番号Ｊをインクリメントする（ステップＳ２３８）。
次に、拡縮対象図形の図形番号Ｊが、上記ステップＳ２１８で記憶された拡縮対象図形数と一致するか否かを判定し、一致すれば全ての拡縮対象図形の図形情報の取得を終了したものと判断し、一致しなければステップＳ２３６へ戻って次の拡縮対象図形の図形情報の取得を行う（ステップＳ２３９）。
【００６９】
続いて、ステップＳ２３７において求められた拡縮範囲内の全ての拡縮対象図形の図形情報に基づいて、拡縮範囲内に全ての拡縮対象図形を再表示する（ステップＳ２４０）。
【００７０】
次に、移動後のマウスカーソル座標Ｐ３’を元のマウスカーソル座標Ｐ３に代入して、マウスカーソル座標Ｐ３の更新を行う（ステップＳ２４１）。
最後に、ステップＳ２０３〜Ｓ２１８と同様の処理を行う。これにより、編集対象図形の移動によって拡縮対象図形でなかった図形が新たに拡縮範囲内に現れた場合に、その図形が拡縮対象図形として認識され拡縮範囲内に表示される。また、編集対象図形の移動によって拡縮範囲内左端座標情報ＭＬ、拡縮範囲内右端座標情報ＭＲ、拡縮範囲内上端座標情報ＭＴ、拡縮範囲内下端座標情報ＭＢに変更がある場合には、それらの情報の更新が行われる。処理終了後ステップＳ２２０へ戻る（ステップＳ２４２）。
【００７１】
以上の処理により、拡縮対象図形の中からただ１つの図形が編集対象図形として選択され、編集対象図形の移動によって拡縮範囲内の各拡縮対象図形が拡大／縮小表示される。編集対象図形の変形、削除、追加等の編集作業においても、上記処理と同様の処理によって上記拡縮制御の実現が可能である。
【００７２】
また、上記実施例では編集図形としてただ１つの図形が選択された場合を説明したが、図１８に示すように複数の図形Ａ〜Ｄが選択された場合でも、それらの図形Ａ〜Ｄを包絡する図形Ｅを求め、該図形Ｅに対し図形情報（ＸＩ，ＹＩ，ＷＩ，ＨＩ）を同図に示すように定めることによって、上記実施例のように１つの図形が選択された場合と同様にして処理することが可能である。
【００７３】
更には、図形の形状を矩形のものに限定して説明したが、図１９に示すように、矩形以外の図形についても図形を包含する最小の矩形領域を設定することによって、矩形図形と同じ処理を行うことが可能になる。文字に関しても、同様な方法により矩形領域を設定することによって、形状が矩形の図形と同じ処理を行うことが可能になる。
【００７４】
本願発明は図形を論理回路として扱えば、回路設計に使用されるＣＡＤに適用することが可能である。
また、本願発明は図形だけでなく、文書編集に応用することによって、必要な文書箇所を常に拡縮範囲内に表示でき、編集中に拡縮範囲内に表示された前後の文章関係を参照しながら文章の作成や、校正を行うことが可能になる。また、文字だけでなく、図形、表、画像等を含んだ文書編集にも適用できることは言うまでもない。
【００７５】
また、本実施例では外部入力装置としてマウスを用いて説明したが、トラックボール、タッチスクリーン、タブレット、ペン等の入力装置であっても良いことは言うまでもない。
【００７６】
【発明の効果】
以上説明したように、本願発明においてはレイアウト画面内の任意の図形が拡縮対象として選択され、拡縮対象図形内の編集対象図形の編集作業に伴って、拡縮範囲内の各拡縮対象図形が自動的に拡大／縮小されるため、以下の効果を得ることができる。
▲１▼．拡縮範囲内の要素が自動的に拡大／縮小されるので、拡縮範囲内の要素の拡縮を指定する余分な操作を必要としない。
▲２▼．予め指定した要素が常に拡縮範囲内に表示されるので、編集時のスクロール処理を必要としない。
▲３▼．予め指定した要素が常に拡縮範囲内に表示されるので、レイアウトに重点をおいた編集が可能となる。
▲４▼．常にレイアウトを把握できるので、表示画面をレイアウト画面に切り換えるための余分な手間を必要としない。
▲５▼．常にレイアウトを把握できるので、最適な配置を模索しながらの編集が可能となる。
【図面の簡単な説明】
【図１】本願発明の原理を示す図である。
【図２】本願発明の編集対象図形の移動を示す図である。
【図３】本願発明の編集対象図形の変形を示す図である。
【図４】本願発明の概要を示すフローチャートである。
【図５】本願発明の詳細を示すフローチャート（その１）である。
【図６】本願発明の詳細を示すフローチャート（その２）である。
【図７】本願発明の詳細を示すフローチャート（その３）である。
【図８】本願発明の詳細を示すフローチャート（その４）である。
【図９】拡縮範囲の設定を示す図である。
【図１０】拡縮対象図形の座標を示す図である。
【図１１】拡縮範囲に図形が含まれるか否かを示す図である。
【図１２】拡縮範囲の座標情報であるＭＬ、ＭＲ、ＭＴ、ＭＢの対象となる図形を示す図である。
【図１３】マウスカーソルの移動量の取得を示した図である。
【図１４】編集対象図形が移動により拡縮範囲からはみ出した場合を示す図である。
【図１５】編集対象図形の移動により拡縮範囲の領域周辺に空き領域が発生した場合を示す図である。
【図１６】拡縮対象図形の拡大／縮小率を示す図である。
【図１７】図形の拡大／縮小制御によって図形がどの位置に表示されるかを示した図である。
【図１８】拡縮対象図形の中から複数図形が編集対象として選択された場合の座標を示した図である。
【図１９】図形の形状が矩形以外の場合の座標を示した図である。
【図２０】第１の従来技術を示す図であり、（ａ）は編集画面を、（ｂ）はレイアウト画面を示している。
【図２１】第２の従来技術を示す図であり、（ａ）は編集画面が表示されるウィンドウを、（ｂ）はレイアウト画面が表示されるウィンドウを示している。
【図２２】図２１に示す第２の従来技術の問題点を示す図である。
【符号の説明】
１０１  選択手段
１０２  表示手段
１０３  編集手段
１０４  拡縮手段
１０５  外部入力装置
１０６  表示画面
１０７  拡縮範囲
【図１】
0003686432.tif 000002
【図２】
0003686432.tif 000003
【図３】
0003686432.tif 000004
【図４】
0003686432.tif 000005
【図５】
0003686432.tif 000006
【図６】
0003686432.tif 000007
【図７】
0003686432.tif 000008
【図８】
0003686432.tif 000009
【図９】
0003686432.tif 000010
【図１０】
0003686432.tif 000011
【図１１】
0003686432.tif 000012
【図１２】
0003686432.tif 000013
【図１３】
0003686432.tif 000014
【図１４】
0003686432.tif 000015
【図１５】
0003686432.tif 000016
【図１６】
0003686432.tif 000017
【図１７】
0003686432.tif 000018
【図１８】
0003686432.tif 000019
【図１９】
0003686432.tif 000020
【図２０】
0003686432.tif 000021
【図２１】
0003686432.tif 000022
【図２２】
0003686432.tif 000023