(57)【特許請求の範囲】
【請求項１】
描画対象図形を構成する要素として選択された複数の選択要素に関する要素情報、及び前記要素を配置する配置領域に関する領域情報を取得し、
前記領域情報に基づいて配置領域を特定し、
特定した前記配置領域に応じて、前記要素情報を参照して選択要素のサイズを計算するとともに、計算したサイズで各選択要素を配置した場合における各選択要素の配置位置の座標を計算し、
各選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する
処理を情報処理装置に実行させる図形描画プログラムであって、
前記要素情報は、各選択要素が選択された順序を示す選択順序、及び各選択要素のサイズの決定方法が自動計算又は固定値のいずれであるかの指定内容を有し、
前記計算する処理は、前記配置領域の幅及び高さの少なくともいずれか一方のうち、少なくとも前記サイズの決定方法が固定値の選択要素が占める領域の幅及び高さを除いた長さを、前記サイズの決定方法が自動計算の選択要素間で均等に分けることによって、前記サイズの決定方法が自動計算の選択要素のそれぞれのサイズを計算し、前記サイズの決定方法が自動計算の選択要素及び前記サイズの決定方法が固定値の選択要素の両方を、前記選択順序にしたがってそれぞれ配置した場合における各選択要素の配置位置の座標を計算する、図形描画プログラム。
【請求項２】
前記取得する処理は、選択要素をどのように並べて配置するかを示す配置方式情報を取得し、
前記計算する処理は、前記配置方式情報が示す配置方式に基づいて、前記配置領域の幅及び高さの少なくともいずれか一方の全部又は一部を前記選択要素間で均等に分けることにより、各要素のサイズを計算する請求項１記載の図形描画プログラム。
【請求項３】
前記要素情報は、選択要素間の間隔を示す値を含み、
前記計算する処理は、前記配置領域の幅及び高さの少なくともいずれか一方のうち、少なくとも各選択要素間の間隔を除いた長さを前記選択要素間で均等に分けることによって各選択要素のサイズを計算する請求項１又は２に記載の図形描画プログラム。
【請求項４】
前記要素情報を一覧形式で入力するユーザインタフェースを表示し、
前記取得する処理は、前記一覧形式のユーザインタフェースによって入力された前記要素情報を取得する請求項１〜３のいずれか１つに記載の図形描画プログラム。
【請求項５】
前記配置領域を特定する処理は、前記領域情報が配置領域の起点のみを特定する情報である場合に、所定の座標を配置領域の終点として前記配置領域を特定する請求項１〜４のいずれか１つに記載の図形描画プログラム。
【請求項６】
描画対象図形を構成する要素として選択された複数の選択要素に関する要素情報、及び前記要素を配置する配置領域に関する領域情報を取得する手段と、
前記領域情報に基づいて配置領域を特定する手段と、
特定した前記配置領域に応じて、前記要素情報を参照して選択要素のサイズを計算するとともに、計算したサイズで各選択要素を配置した場合における各選択要素の配置位置の座標を計算する手段と、
各選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する手段と
を備える図形描画装置であって、
前記要素情報は、各選択要素が選択された順序を示す選択順序、及び各選択要素のサイズの決定方法が自動計算又は固定値のいずれであるかの指定内容を有し、
前記計算する処理は、前記配置領域の幅及び高さの少なくともいずれか一方のうち、少なくとも前記サイズの決定方法が固定値の選択要素が占める領域の幅及び高さを除いた長さを、前記サイズの決定方法が自動計算の選択要素間で均等に分けることによって、前記サイズの決定方法が自動計算の選択要素のそれぞれのサイズを計算し、前記サイズの決定方法が自動計算の選択要素及び前記サイズの決定方法が固定値の選択要素の両方を、前記選択順序にしたがってそれぞれ配置した場合における各選択要素の配置位置の座標を計算する、図形描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置における図形描画処理の技術に関する。
【背景技術】
【０００２】
情報処理装置を用いた図形描画を実現する技術が提供されている。かかる情報処理装置を用いた図形描画手順は、例えば次のような内容である。すなわち、ユーザが、描画対象とする図形を構成する要素を選択する。そして、ユーザは、選択した要素のサイズ及び配置位置を調整して、意図する図形を描画する。
【０００３】
なお、情報処理装置における図形描画等に関連する技術としては、次のようなものがある。例えば、グラフィカルユーザインタフェース（ＧＵＩ：Graphical User Interface）の作成ツールにおいて、配置対象とするコントロール全体の属性を示す一覧表を表示し、ユーザが、一覧表を用いて、コントロールの配置位置等の入力又は調整等を行うことができるようにした技術が提案されている。さらに、ＧＵＩを用いてアプリケーションを開発するツールにおいて、アプリケーションの構成情報がツールに入力されると、入力された情報に関連する部品を抽出して画面上に配置する技術が提案されている。また、画面上にアプリケーションのＧＵＩを表示する技術として、アプリケーションにおける表示設定に関わらず、特定の部品を画面上に仮配置し、他の部品を残余の部分に配置して、使い易いＧＵＩを提供する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−７６４５９号公報
【特許文献２】特開２００１−３５０６２８号公報
【特許文献３】特開平１１−３５３０７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、前述した図形描画手順において、要素のサイズ及び配置位置を調整する作業は、ユーザにとって特に時間と手間を要する作業である。
【０００６】
そこで、本技術は１つの側面において、情報処理装置における図形描画において、要素のサイズ及び配置位置の調整作業負担を軽減することを目的とする。
【課題を解決するための手段】
【０００７】
本技術は、１つの側面において、描画対象図形を構成する要素として選択された１以上の選択要素に関する要素情報、及び要素を配置する配置領域に関する領域情報を取得する。また、領域情報に基づいて配置領域を特定する。そして、特定した配置領域に応じて、要素情報の選択要素のサイズを計算するとともに、計算したサイズで選択要素を配置した場合における選択要素の配置位置の座標を計算する。そして、選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する。
【発明の効果】
【０００８】
本技術の１つの側面によれば、情報処理装置を用いた図形描画において、要素のサイズ及び配置位置の調整作業負担が軽減される。
【図面の簡単な説明】
【０００９】
【図１】一実施例に係る図形描画装置を含んだ情報処理装置の機能ブロック図である。
【図２】一実施例に係る選択要素テーブルの説明図である。
【図３】一実施例に係る領域設定テーブルの説明図である。
【図４】一実施例に係る配置領域データの説明図である。
【図５】一実施例に係る配置方式データの説明図である。
【図６】一実施例に係るサイズ初期値テーブルの説明図である。
【図７】一実施例に係る要素属性テーブルの説明図である。
【図８】一実施例に係る図形描画画面の説明図である。
【図９】一実施例に係る選択要素一覧の表示例の説明図である。
【図１０】一実施例に係る図形描画処理を示すフローチャートである。
【図１１】一実施例に係る図形描画処理における要素属性計算処理を示すフローチャートである。
【図１２】一実施例に係る図形描画画面において配置領域を指定する方法の説明図である。
【図１３】一実施例に係る図形描画画面において配置領域を指定する方法の説明図である。
【図１４】一実施例に係る図形描画画面において選択要素が配置された状態を示す説明図である。
【図１５】一実施例に係る図形描画装置を含んだ情報処理装置のハードウェア図である。
【発明を実施するための形態】
【００１０】
本明細書では、情報処理装置を用いた図形描画を実現する技術において、特に、描画対象図形を構成する要素を配置する配置領域に基づき、要素のサイズ及び配置位置の座標を自動計算して図形描画領域に配置する技術について説明する。
【００１１】
本明細書において、図形描画とは、矩形や円等の単純な要素から構成される図の描画や、ＧＵＩコントロールを構成要素とする画面デザインの作成等、多種多様なものを含む。ここで、例えば、画面デザイン（例えば、ウェブ画面等）を作成する場合において、複数の要素を画面上に配置するときには、一列又は一行に要素を並べて配置する場合が多い。その場合、従来の一般的な手法を用いて画面を構成する要素を選択（指定）すると、要素のサイズや配置位置が初期状態として設定された状態で表示されるため、ユーザは、要素の各々につき、サイズや配置位置を調整しなければならない。このとき、ユーザは、要素を配置する配置領域に応じて、各要素のサイズ計算及び整列作業を行い、全体のバランスを調整する必要がある。この作業は、一部の要素の位置やサイズを修正すると、修正された要素との間で影響が生じる（重なったり又は離れすぎたりする）要素についてさらに修正を行う、という作業の繰り返しとなり、ユーザの作業負担が大きい。このような点につき、本明細書で説明する図形描画処理によれば、要素のサイズ及び配置位置が自動計算され、整列された状態で要素が配置されるため、調整作業を大幅に軽減することができる。
【００１２】
図１は、本実施形態に係る図形描画装置を含んだ情報処理装置の機能ブロック図の一例である。本情報処理装置は、図形描画プログラムが情報処理装置のメモリにロードされてＣＰＵ（Central Processing Unit）において実行されることにより実現される制御部１に含まれる、入力受付部１１、要素記録部１２、配置領域特定部１３、配置方式特定部１４、要素属性計算部１５、配置部１６及び表示部１７を有する。また、本情報処理装置が備える記憶手段である記憶部２には、選択要素テーブル２１、領域設定テーブル２２、配置領域データ２３、配置方式データ２４、サイズ初期値テーブル２５及び要素属性テーブル２６が格納される。なお、本明細書において記憶手段とは、揮発性記憶装置及び不揮発性記憶装置のいずれか一方又は両方を示す。さらに、本情報処理装置は、入力装置３１及び表示装置３２を有する。
【００１３】
入力受付部１１は、ユーザにより、表示装置３２に表示されたユーザインタフェースである図形描画画面を用いつつ入力装置３１を介して入力された、様々な情報を受け付ける。
【００１４】
要素記録部１２は、入力受付部１１により受け付けられた、ユーザにより描画対象の図形の全体又は一部分を構成する要素として選択された要素（以下、選択要素という）に関する情報（要素情報）を取得し、選択要素テーブル２１に格納する。
【００１５】
配置領域特定部１３は、入力受付部１１により受け付けられた、配置領域に関するユーザの指定や、領域設定テーブル２２に格納された領域情報を取得し、これらの情報に基づいて、要素の配置領域を特定する。そして、配置領域特定部１３は、特定した配置領域を示す情報を、配置領域データ２３として記憶手段に格納する。なお、本実施例では、配置領域が矩形であるものとして以下説明する。
【００１６】
配置方式特定部１４は、入力受付部１１により受け付けられた、要素の配置方式に関してユーザが指定した配置方式情報を取得し、当該配置方式情報に基づき、選択要素の配置方式を特定する。要素の配置方式とは、複数の要素をどのように並べて配置するかを示し、本実施例においては、縦配置又は横配置のいずれかであるものとする。そして、配置方式特定部１４は、特定した配置方式を、配置方式データ２４として記憶手段に格納する。なお、選択要素が単数である場合には、配置方式の特定は不要である。
【００１７】
要素属性計算部１５は、選択要素テーブル２１に格納された選択要素に関する要素情報、サイズ初期値テーブル２５に格納された要素のサイズの初期値、及び配置領域データ２３に基づいて、各選択要素のサイズを計算する。さらに、要素属性計算部１５は、当該計算したサイズで選択要素を図形描画領域に配置した場合の配置位置の座標を計算する。なお、本明細書では、要素のサイズ及び配置位置のことをまとめて要素の属性と表記するものとする。また、要素のサイズには、要素の幅（width）及び高さ（height）が含まれる。本明細書において、単に要素のサイズと記載する場合には、要素の幅及び高さの少なくともいずれか一方を含んだ概念とする。要素属性計算部１５は、各選択要素について計算した属性を、要素属性テーブル２６に記録する。
【００１８】
配置部１６は、選択要素を、要素属性テーブル２６に格納された属性に基づいて、図形描画領域（作業ウィンドウ）上に配置する。
【００１９】
表示部１７は、ユーザが図形描画作業を行うインタフェースである図形描画画面を表示装置３２に表示する。この図形描画画面については後述する。
【００２０】
入力装置３１は、情報処理装置に対する指示操作を受け付ける装置であり、例えば、マウスやキーボード、タッチパネル等である。なお、例えば入力装置３１がタッチパネル等の場合には、入力装置３１と表示装置３２が同一装置となる。
【００２１】
表示装置３２は、情報処理装置における処理結果等を表示する装置であり、本実施例では、図形描画画面を表示する。表示装置３２は、例えば、ディスプレイ等である。
【００２２】
図２〜図７は、情報処理装置の記憶手段に格納された、選択要素テーブル２１、領域設定テーブル２２、配置領域データ２３、配置方式データ２４、サイズ初期値テーブル２５及び要素属性テーブル２６の構成及びデータ例を示す。
【００２３】
選択要素テーブル２１は、入力受付部１１により受け付けられた、選択要素に関する要素情報が格納されるテーブルである。選択要素テーブル２１は、図２に示すように、選択要素がユーザにより選択された順序が格納される「選択順序」カラム、選択要素の要素種別が格納される「要素種別」カラム、選択要素の幅の大きさをどのように設定するかを示す情報が格納される「幅設定方法」カラム、選択要素の高さをどのように設定するかを示す情報が格納される「高さ設定方法」カラム、及び、選択要素と当該選択要素の後に続く他の要素（例えば、要素の配置方式が横配置である場合には右の要素、縦配置である場合には下の要素が該当する）と間の間隔が格納される「間隔値」カラムを有する。なお、幅設定方法及び高さ設定方法の具体的内容については後述する。
【００２４】
領域設定テーブル２２は、要素の配置領域となり得る図形描画領域を特定する情報が予め格納されるテーブルである。ここで、図形描画領域は、複数の領域に分割されている場合もある。この場合、分割された領域ごとに、領域を特定する情報が格納される。領域設定テーブル２２は、図３に示すように、各領域の識別子が格納される「領域区分」カラム、領域の左端のＸ座標が格納される「Xmin」カラム、領域の右端のＸ座標が格納される「Xmax」カラム、領域の上端のＹ座標が格納される「Ymin」カラム、及び、領域の下端のＹ座標が格納される「Ymax」を有する。なお、本実施例では、座標をｐｘ（ピクセル）値で表している。かかる座標について換言すれば、「Xmin」カラムの値は、図形の描画領域全体における左端から領域の左端までの距離を示し、「Xmax」カラムの値は、図形の描画領域全体における左端から領域の右端までの距離を示すこととなる。さらに、「Ymin」カラムの値は、図形の描画領域全体における上端から領域の上端までの距離を示し、「Ymax」カラムの値は、図形の描画領域全体における上端から領域の下端までの距離を示すこととなる。
【００２５】
配置領域データ２３は、選択要素を配置する配置領域を示すデータである。配置領域データ２３は、図４に示すように、配置領域の左端のＸ座標である「Xmin」、配置領域の右端のＸ座標である「Xmax」、配置領域の上端のＹ座標である「Ymin」、及び、配置領域の下端のＹ座標である「Ymax」の値を有する。
【００２６】
配置方式データ２４は、選択要素の配置方式を示すデータである。配置方式データ２４は、図５に示すように、配置方式を示すデータ（縦配置又は横配置）を有する。
【００２７】
サイズ初期値テーブル２５は、要素のサイズの初期値が要素種別ごとに予め格納されるテーブルである。サイズ初期値テーブル２５は、図６に示すように、「要素種別」カラム、要素の幅の初期値が格納される「幅初期値」カラム、及び要素の高さの初期値が格納される「高さ初期値」カラムを有する。
【００２８】
要素属性テーブル２６は、要素属性計算部１５によって計算された、各選択要素の属性が格納されるテーブルである。要素属性テーブル２６は、図７に示すように、「選択順序」カラム、「要素種別」カラムを有するとともに、選択要素の配置位置として、図形描画領域全体における左端からの距離を示す「left」カラム及び図形の描画領域全体における上端からの距離を示す「top」カラムを有する。換言すれば、「left」カラムの値は、選択要素の左端のＸ座標であり、「top」カラムの値は、選択要素の上端のＹ座標である。さらに、要素属性テーブル２６は、選択要素のサイズとして、選択要素の幅を示す「width」カラム及び選択要素の高さを示す「height」カラムを有する。
【００２９】
図８は、表示装置３２に表示される図形描画画面の一例を示す。図形描画画面３１は、作業ウィンドウ３２、要素バー３３及び選択要素一覧３４を含む。作業ウィンドウ３２は、図形描画領域を表示する部分であり、選択要素を配置した状態の画面が表示（プレビュー）される。要素バー３３は、要素種別が表示される部分である。ユーザは、選択要素を選択する際に、要素バー３３に表示された要素種別を選択する。なお、要素種別はいかなる手順で選択してもよく、例えば、要素バー３３に表示された要素種別にカーソルが位置している状態でマウスを右クリックして選択する等の方法でもよい。選択要素一覧３４は、選択要素が、選択された順に表示される部分である。ユーザは、要素を選択した後、この選択要素一覧３４を用いて、選択要素に関する要素情報を修正することができる。図９は、選択要素一覧３４で表示される内容の一例を示している。選択要素一覧３４は、上述した選択要素テーブル２１と同様の構造を有し、「選択順序」カラム、「要素種別」カラム、「幅設定方法」カラム、「高さ設定方法」カラム、及び「間隔値」カラムを有する。選択要素一覧３４において設定された情報は、選択要素テーブル２１に格納される。なお、ユーザは、例えば、選択要素一覧３４の選択要素の選択順序の修正、選択要素の削除等を行うこともできる。
【００３０】
ここで、選択要素一覧３４において「幅設定方法」カラム及び「高さ設定方法」カラムに設定されるデータ（すなわち、選択要素テーブル２１の「幅設定方法」カラム及び「高さ設定方法」カラムに格納されるデータ）の内容について説明する。「幅設定方法」カラム及び「高さ設定方法」カラムには、図９に示す選択要素一覧３４の１レコード目の幅設定方法においてリストボックスで例示されているように、「デフォルト」、「自動」及び「ユーザ指定」の３種類の設定を行うことができる。「デフォルト」は、サイズ初期値テーブル２５に設定されたサイズを要素のサイズとする設定方法である。「自動」は、配置領域のサイズ（幅設定方法の場合は幅、高さ設定方法の場合は高さ）のうち、選択要素間の間隔となる部分を除いた残りの長さを均等に分けることによって要素のサイズを決定する方法である。ここで、設定方法が「自動」以外の要素（すなわち、「デフォルト」又は「ユーザ指定」の要素であり、換言すれば、固定値の要素）が存在する場合には、設定方法が「自動」以外の要素が占める領域をさらに除いた残りの領域の長さを均等に分けることによって選択要素のサイズが決定される。なお、具体的なサイズの計算方法については後述する。「ユーザ指定」は、ユーザが直接入力した数値を要素のサイズとする設定方法である。ユーザは、「ユーザ指定」の設定方法を選択した場合には、選択要素一覧３４において、具体的な要素のサイズのピクセル値の入力を行う。
【００３１】
また、選択要素一覧３４の「間隔値」カラムには、所定の値が初期値として表示される。この間隔値は、ユーザが任意に変更することができる。さらに、初期値の設定自体も、ユーザが任意に変更することができる。なお、「間隔値」カラムの値は、前述したように、要素と、当該要素の後に続く他の要素との間の長さであるため、選択要素に続く要素が存在しない場合は無効になる。
【００３２】
かかる図形描画装置で行われる図形描画処理の一例につき、図１０及び図１１に示すフローチャートを参照しつつ説明する。図１０は、図形描画処理の全体の流れを示すフローチャートであり、図１１は、図形描画処理のうち、特に、要素属性計算部１５が行う処理について詳細に示すフローチャートである。
【００３３】
図１０のステップ１（図ではＳ１と表記されている。以下同様）では、入力受付部１１が、ユーザが描写対象の図形の全体又は一部分として選択した選択要素に関する要素情報を、入力装置３１を介して受け付ける。このとき、ユーザは、図８に示す図形描画画面上における要素バー３３を用いて要素種別を特定しつつ要素を選択し、図９に示す選択要素一覧３４を用いて、選択要素に関する要素情報を設定する。
【００３４】
ステップ２では、要素記録部１２が、入力受付部１１により受け付けられた、選択要素に関する要素情報を、選択要素テーブル２１に格納する。
【００３５】
ステップ３〜４及びステップ５〜７は、配置領域を特定する処理を示す。ここで、ステップ３〜４は、ユーザにより配置領域の起点及び終点の両方が指定される場合の処理を示す。なお、配置領域の起点及び終点を指定する方法としては、例えば、ユーザがマウス操作で起点から終点までの矩形範囲を画する方法がある。
【００３６】
ステップ３では、入力受付部１１が、配置領域の起点の位置（Xmin,Ymin）及び終点の位置（Xmax,Ymax）に関するユーザの指定を受け付ける。なお、図１２は、ユーザにより配置領域の起点及び終点が指定された場合における配置領域の特定の例を示している。
【００３７】
ステップ４では、配置領域特定部１３が、入力受付部１１により受け付けられた起点の位置及び終点の位置の座標を、配置領域データ２３として記憶手段に格納する。
【００３８】
例えば、入力受付部１１により受け付けられた起点の位置の座標が（0px,40px）であり、終点の位置の座標が（165px,50px）である場合、配置領域データ２３は、図４に示すようになる。
【００３９】
一方、ステップ５〜７は、ユーザにより配置領域の起点のみが指定される場合の処理を示す。この場合、配置領域の起点を指定する方法としては、例えば、ユーザが、起点とする位置にカーソルがある状態でマウスを右クリックすることにより起点を指定する等の方法がある。
【００４０】
ステップ５では、入力受付部１１が、配置領域の起点の位置（Xmin,Ymin）に関するユーザの指定を受け付ける。
【００４１】
ステップ６では、配置領域特定部１３が、入力受付部１１により受け付けられた起点の位置及び領域設定テーブル２２に格納された領域情報に基づいて、配置領域の終点の位置を特定する。具体的には、まず、配置領域特定部１３は、領域設定テーブル２２に格納された、各領域区分が占める領域を示す座標を参照し、入力受付部１１により受け付けられた起点の位置が、どの領域区分に属しているかを特定する。そして、配置領域特定部１３は、特定した領域区分の右下端（Xmax,Ymax）の座標を、配置領域の終点の位置の座標として特定する。
【００４２】
例えば、入力受付部１１により受け付けられた起点の位置の座標が（0px,40px）である場合、図３に示す領域設定テーブル２２に格納されたレコードを参照すると、この起点の位置の座標は、「領域１」の領域区分に属していることが特定できる。このため、配置領域特定部１３は、領域設定テーブル２２に格納された、領域１の右下端（165px,50px）の座標を、配置領域の終点の座標として特定する。なお、図１３は、このようにユーザにより配置領域の起点のみが指定された場合における配置領域の特定の例を示している。
【００４３】
ステップ７では、配置領域特定部１３は、入力受付部１１により受け付けられた起点の位置の座標及び特定した終点の位置の座標を、配置領域データ２３として記憶手段に格納する。
【００４４】
例えば、ステップ６の説明で示したように、入力受付部１１により受け付けられた起点の位置の座標が（0px,40px）であり、特定した終点の位置の座標が（165px,50px）である場合、配置領域データ２３は、図４に示すようになる。
【００４５】
ステップ８では、入力受付部１１が、選択要素の配置方式に関するユーザの指定を受け付ける。なお、選択要素の配置方式を指定する方法としては、例えば、ユーザが、作業画面上にカーソルがある状態でマウスを右クリックして表示されるメニューから横配置又は縦配置を選択する等の方法がある。また、作業画面上に、配置方式を選択するためのユーザインタフェースを設けることにより、ユーザがユーザインタフェースを用いて配置方式を選択できるようにしてもよい。
【００４６】
ステップ９では、要素属性計算部１５が、選択要素テーブル２１に格納された選択要素に関するデータ及び配置領域データ２３に基づいて、要素の属性を計算し、計算結果を要素属性テーブル２６に格納する。この計算処理については後で詳述する。
【００４７】
ステップ１０では、配置部１６が、要素属性テーブル２６に格納されたデータに基づいて、作業ウィンドウ上に選択要素を仮配置する。そして、表示部１７が、選択要素が仮配置されて描画された作業ウィンドウを、表示装置３２に表示（プレビュー）する。なお、図１４は、選択要素が仮配置されて描画された作業ウィンドウの一例を示す。
【００４８】
ステップ１１では、配置部１６が、プレビューを見たユーザによって、選択要素に関する要素情報の修正がなされたか否かを判定する。換言すれば、配置部１６は、入力受付部１１により選択要素に関する要素情報の修正が受け付けられたか否かを判定する。なお、ユーザは、要素情報の修正を、選択要素一覧３４を用いて行うことができる。要素情報の修正がなされた場合にはステップ９に戻り、要素属性計算部１５が、要素の属性を再計算する。一方、要素情報の修正がなされず、ユーザにより選択要素の配置の確定操作がなされた場合にはステップ１２に進む。
【００４９】
ステップ１２では、配置部１６が、選択要素の配置を確定させる。
【００５０】
次に、図１１のフローを参照しつつ、要素属性計算部１５による計算処理について説明する。
【００５１】
ステップ２１では、要素属性計算部１５が、選択要素テーブル２１を参照し、選択要素に関する要素情報を取得する。
【００５２】
ステップ２２では、要素属性計算部１５が、配置領域データ２３を参照し、配置領域の情報を取得する。
【００５３】
ステップ２３では、要素属性計算部１５が、配置方式データ２４を参照し、配置方式の情報を取得する。
【００５４】
ステップ２４では、要素属性計算部１５が、幅設定方法又は高さ設定方法が「自動」に設定された選択要素があるか否かを判定する。幅設定方法又は高さ設定方法が「自動」に設定された選択要素がある場合には、ステップ２５に進み（Ｙｅｓ）、幅設定方法又は高さ設定方法が「自動」に設定された選択要素がない場合には、ステップ２９に進む（Ｎｏ）。
【００５５】
ステップ２５では、要素属性計算部１５が、各選択要素の幅及び高さを示す具体的な数値を取得する。具体的には、選択要素テーブル２１に格納された選択要素に関する要素情報において、幅設定方法又は高さ設定方法が「デフォルト」の場合には、サイズ初期値テーブル２５を参照し、その選択要素の要素種別の幅初期値又は高さ初期値を取得する。また、幅設定方法又は高さ設定方法が「ユーザ設定」である場合、すなわち、具体的な数値が選択要素テーブル２１に格納されている場合には、その数値を取得する。
【００５６】
ステップ２６では、要素属性計算部１５が、配置方式が横配置又は縦配置のいずれであるかを判定する。配置方式が横配置の場合にはステップ２７に進み（Ｙｅｓ）、配置方式が縦配置の場合にはステップ２８に進む（Ｎｏ）。
【００５７】
ステップ２７では、要素属性計算部１５が、幅設定方法が「自動」に設定された選択要素につき、幅の大きさを計算する。この場合の計算式は、例えば次のようになる。
［横配置の場合の幅算出計算式の例］
幅（width）=[(Xmax-Xmin)-Sum(幅設定方法が「デフォルト」の選択要素の幅初期値)-Sum(幅設定方法が「ユーザ指定」の選択要素の幅)-Sum(全ての選択要素の間隔値)]/幅設定方法が「デフォルト」の選択要素の数n
なお、当該計算式のうち、(Xmax-Xmin) は、配置領域の幅を表す。
【００５８】
また、要素属性計算部１５は、高さ設定方法が「自動」に設定された選択要素につき、高さの大きさを計算する。この場合の計算式は、例えば次のようになる。
［横配置の場合の高さ算出計算式の例］
高さ（height）=Ymax-Ymin
ステップ２８では、要素属性計算部１５が、幅設定方法が「自動」に設定された選択要素につき、幅の大きさを計算する。この場合の計算式は、例えば次のようになる。
［縦配置の場合の幅算出計算式の例］
幅（width）=Xmax-Xmin
また、要素属性計算部１５は、高さ設定方法が「自動」に設定された選択要素につき、高さを計算する。この場合の計算式は、例えば次のようになる。
［縦配置の場合の高さ算出計算式の例］
高さ（height）=[Ymax-Ymin-Sum(デフォルトの要素の高さ)-Sum(ユーザ選択要素の高さ)-Sum(すべての要素の間隔)]/自動選択要素の数n
なお、幅設定方法が「デフォルト」の選択要素の幅初期値及び高さ設定方法が「デフォルト」の選択要素の高さ初期値は、サイズ初期値テーブル２５から取得することができる。
【００５９】
ステップ２９では、要素属性計算部１５が、計算結果が有効であるか否かを判定する。計算結果が有効である場合とは、計算結果の幅及び高さが０より大きい場合である。計算結果の幅及び高さの少なくともいずれか一方が０以下である場合には、計算結果は無効となる。計算結果が有効である場合には、ステップ３０に進み、計算結果が無効である場合には、図形描画処理を終了させる。このとき、表示部１７が、エラーメッセージを表示装置３２に表示させてもよい。図形描画処理が終了すると、ユーザは、作業画面において再度要素を選択し、選択要素一覧３４において、選択要素に関する要素情報を設定することとなる。
【００６０】
ステップ３０では、各選択要素の位置の座標（各選択要素の左端（left）及び上端（top））を計算する。
【００６１】
この選択要素の位置の座標の計算は、例えば、次のように行う。配置方式が横配置の場合には、領域区分内において選択順序が早いものから順に左から配置するように、各選択要素の幅の大きさ及び間隔値を用いてleftを計算する。例えば、左から２番目に配置する選択要素のleftは、配置領域の左端のＸ座標の値と、左から１番目の選択要素の幅と、１番目の選択要素と２番目の選択要素との間の間隔値と、を合算した値となる。この場合、例えばtopは、領域区分の上端のＹ座標（Ymin）と同一にしてもよいし、領域区分の上端のＹ座標から所定の間隔だけ離れた座標としてもよい。一方、配置方式が縦配置の場合には、領域区分内において選択順序が早いものから順に上から配置するように、各選択要素の高さ及び間隔値を用いてtopを計算する。この場合、例えばleftは、領域区分の左端のＸ座標（Xmin）と同一にしてもよいし、領域区分の左端の座標から所定の間隔だけ離れた座標としてもよい。
【００６２】
ステップ３１では、計算又は取得した選択要素の属性を、要素属性テーブル２６に格納する。
【００６３】
なお、ユーザが選択要素一覧３４を用いて設定した選択要素に関する要素情報が図２に示す選択要素テーブル２１のデータであって、ユーザが指定した配置方式が図５の配置方式データ２４に示すように横配置であり、配置領域データ２３が図４に示す内容である場合、要素属性計算部１５によって計算又は取得された結果の各選択要素の属性は、図７に示す要素属性テーブル２６のデータ例のようになる。
【００６４】
具体的に説明すると、図２に示した選択要素に関する要素情報のうち、選択順序が１及び３の選択要素は、幅設定方法が「デフォルト」である。そして、選択順序が１及び３の選択要素は、いずれも要素種別が「ａ」であるため、これらの選択要素の幅は、図３に示すサイズ初期値テーブル２５のレコードのうち、要素種別が「ａ」のレコードに設定された幅初期値の「３０ｐｘ」となる。さらに、選択順序が５の選択要素は、幅設定方法に数値「３０ｐｘ」が直接格納されており、これはすなわち幅設定方法が「ユーザ設定」であるということである。このため、選択順序が５の選択要素の幅は、この選択要素テーブル２１に設定された「３０ｐｘ」となる。一方、選択順序が２、４及び６の選択要素は、幅設定方法が「自動」である。このため、これらの選択要素の幅は、前述した［横配置の場合の幅算出計算式の例］の計算式に基づいて計算される。すなわち、
[(165-0)-(30+30)-30)-(3+3+3+3+3)]/3 = 20
となり、選択順序が２、４及び６の選択要素の幅は「２０ｐｘ」となる。
【００６５】
一方、高さについては、全選択要素の高さ設定方法が「自動」であるため、全選択要素の高さが、前述した［横配置の場合の高さ算出計算式の例］の計算式に基づいて計算される。すなわち、50-40 = 10 となり、全選択要素の高さは10となる。
【００６６】
そして、これらの選択要素を、配置領域の左端から順に、間隔値の分だけ間隔をあけて配置すると、各選択要素のleft及びtopの座標は、それぞれ、図７の要素属性テーブル２６に示す値のようになる。
【００６７】
なお、かかる計算結果である図７の要素属性テーブル２６の値に基づいて、選択要素を作業ウィンドウ上に配置した状態を示すのが図１４である。なお、図１４では、全ての選択要素の要素種別が矩形であるものとして表示している。このように、ユーザが選択要素一覧３４において選択要素の情報について設定を行えば、配置領域内において、各選択要素が適切なサイズで整列されて配置される。
【００６８】
前述した図形描画装置及び図形描画処理によれば、選択要素の幅設定方法又は高さ設定方法が「自動」に設定されている場合に、配置領域及び配置方式に基づいて、選択要素の幅又は高さが計算される。そして、計算された幅又は高さに基づいて、選択要素が配置される位置の座標が自動で決定される。このため、ユーザは、選択要素について自ら幅や高さの大きさを設定したり、選択要素の配置位置を調整したりする必要がなくなり、図形描画作業の負担が軽減される。
【００６９】
ここで、上記実施例では、選択要素が複数である場合を例に挙げて説明をしたが、選択要素が単数であっても前述した図形描画処理を適用することは可能である。例えば、選択要素が単数の場合、幅設定方法及び高さ設定方法を「自動」にしておけば、選択要素の幅及び高さはそれぞれ配置領域の幅及び高さとなり、選択要素の属性を調整する手間を省くことができる。しかし、本図形描画処理によれば、上記実施例のように、複数の選択要素を整列させて配置するときに、特に、図形描画作業の負担の大幅な軽減を図ることができる。
【００７０】
さらに、上記図形描画処理によれば、ユーザは、選択要素一覧３４を用いて選択要素の一部の大きさの設定方法を「自動」と設定する一方で、他の選択要素の大きさの設定方法を「デフォルト」と設定することもできる。この場合、当該選択要素の大きさは、サイズ初期値テーブル２５に設定された初期値の大きさとすることができる。また、ユーザは、選択要素一覧３４を用いて選択要素の一部の大きさの設定方法を「自動」と設定する一方で、他の選択要素の大きさの設定方法を「ユーザ設定」とし、具体的な数値を設定することもできる。この場合、当該選択要素の大きさは、ユーザが設定した具体的な数値の大きさとなる。
【００７１】
そして、このように選択要素の一部の大きさにつき固定値が設定されたとしても、上記図形描画処理によれば、これらの固定値の大きさの選択要素の存在を考慮した上で、設定方法が「自動」の選択要素の大きさが計算され、全ての要素が整列されて配置される。このため、ユーザにとっては、大きさを固定的に設定したい要素と一律で大きさを計算させたい要素とを混在させても、全ての選択要素が自動調整された状態で配置されるため、柔軟に図形描画を行うことができる。しかし、かかる計算方法に限らず、例えば、サイズ設定方法の指定を特に受け付けず、サイズ設定方法が全て「自動」であるものとして計算を行ってもよい。
【００７２】
また、上記図形描画処理によれば、領域区分を領域設定テーブル２２に設定しておき、図１３で示したように特定の領域を配置領域として指定すれば、図形描画領域のうち特定の領域区分の範囲内で配置領域が特定される。そして、その配置領域の範囲内において、選択要素の大きさ及び位置が計算され、配置される。このため、例えば、ウェブ画面を作成する場合等において、図形描画領域をヘッダー部分やボディ部分、フッター部分等に分けて領域区分を設定しておけば、各々の領域区分ごとに選択要素を整列させて配置することができ、見栄えのよい画面を容易に作成することができる。また、その一方で、ユーザは、領域区分の設定に関係なく、図１２で示したように、任意に配置領域を指定することもできるため、作業の簡易性と図形描画の柔軟性との両方が実現されている。
【００７３】
なお、上記実施形態では、要素のサイズの計算において、要素間の間隔値を考慮した計算を行っているが、例えば、要素間の間隔がないものとして、単純に配置領域を各要素で均等に分割してもよい。
【００７４】
また、上記実施形態では、ユーザによる配置領域の指定を受け付け、かかる指定に基づいて配置領域を特定して配置領域データ２３を記憶手段２に格納しているが、配置領域データ２３を予め記憶手段２に格納しておいてもよい。配置方式についても同様に、配置方式データ２４を予め記憶手段２に格納しておいてもよい。
【００７５】
さらに、上記実施形態では、要素のサイズや位置の座標をピクセル値の単位で示したが、これに限定されるものではない（例えばドットなど、他の単位でもよい）。また、サイズ計算式や選択要素の座標決定の方法次第では、配置領域が矩形以外の形状（例えば円形や楕円形等）であっても対応することが可能である。
【００７６】
［ハードウェア構成］
図１５は、上述した一実施形態に係る図形描画装置を含んだ情報処理装置のハードウェア構成の一例を示す。本情報処理装置は、ＣＰＵ１０１、メモリ１０２、ストレージ１０３、可搬記憶媒体駆動装置１０４、入出力装置１０５及び通信インタフェース１０６を備える。
【００７７】
ＣＰＵ１０１は、制御ユニット、演算ユニット及び命令デコーダ等を含み、実行ユニットが、命令デコーダで解読された図形描画プログラムの命令に従い、制御ユニットより出力される制御信号に応じ、演算ユニットを用いて算術・論理演算を実行する。かかるＣＰＵ１０１は、制御に用いる各種情報が格納される制御レジスタ、既にアクセスしたメモリ１０２等の内容を一時的に格納可能なキャッシュ等を備える。なお、ＣＰＵ１０１は、ＣＰＵコアが複数設けられている構成でもよい。
【００７８】
メモリ１０２は、例えばＲＡＭ（Random Access Memory）等の記憶手段であり、ＣＰＵ１０１で実行される図形描画プログラムがロードされるとともに、ＣＰＵ１０１の処理に用いるデータが格納されるメインメモリである。また、ストレージ１０３は、例えばＨＤＤ（Hard Disk Drive）やフラッシュメモリ等の記憶手段であり、プログラムや各種データが格納される。可搬記憶媒体駆動装置１０４は、可搬記憶媒体１０７に記憶されたデータやプログラムを読み出す装置である。可搬記憶媒体１０７は、例えば磁気ディスク、光ディスク、光磁気ディスク又はフラッシュメモリ等である。なお、ＣＰＵ１０１は、メモリ１０２やストレージ１０３と協働しつつ、ストレージ１０３又は可搬記憶媒体１０７に格納された図形描画プログラムを実行する。なお、図形描画プログラムや、アクセス対象となるデータは、当該情報処理装置と通信可能な他の装置に格納されていてもよい。
【００７９】
入出力装置１０５は例えばキーボード等やディスプレイ等であり、ユーザ操作等による動作命令を受け付ける一方、情報処理装置による処理結果を出力する。なお、図１における入力装置３１や表示装置３２は、図１５の入出力装置１０５に対応している。通信インタフェース１０６は例えばＬＡＮ（Local Area Network）カード等であり、外部とのデータ通信を可能にする。上述した情報処理装置の各構成要素は、バス１０８で接続されている。
【００８０】
上述した情報処理装置の機能的構成及び物理的構成は、上述の態様に限るものではなく、例えば、各機能や物理資源を統合して実装したり、逆に、さらに分散して実装したりすることも可能である。
【００８１】
以上の実施形態に関し、更に以下の付記を開示する。
【００８２】
（付記１）描画対象図形を構成する要素として選択された１以上の選択要素に関する要素情報、及び前記要素を配置する配置領域に関する領域情報を取得し、
前記領域情報に基づいて配置領域を特定し、
特定した前記配置領域に応じて、前記要素情報の選択要素のサイズを計算するとともに、計算したサイズで選択要素を配置した場合における選択要素の配置位置の座標を計算し、
前記選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する
処理を情報処理装置に実行させる図形描画プログラム。
【００８３】
（付記２）前記取得する処理は、前記選択要素をどのように並べて配置するかを示す配置方式情報を取得し、
前記計算する処理は、前記配置方式情報が示す配置方式に基づいて、前記配置領域の幅及び高さの少なくともいずれか一方の全部又は一部を選択要素間で均等に分けることにより、各要素のサイズを計算する付記１記載の図形描画プログラム。
【００８４】
（付記３）前記要素情報は、選択要素のサイズの決定方法が自動計算又は固定値のいずれであるかの指定内容を要素ごとに有し、
前記計算する処理は、サイズの決定方法が自動計算である選択要素のみを対象として、選択要素のサイズの計算を行う付記１又は２に記載の図形描画プログラム。
【００８５】
（付記４）前記計算する処理は、前記配置領域の幅及び高さの少なくともいずれか一方のうち、少なくともサイズの決定方法が自動計算以外の選択要素が占める領域の幅及び高さを除いた長さを、サイズの決定方法が自動計算の選択要素間で均等に分けることによって各要素のサイズを計算する付記３記載の図形描画プログラム。
【００８６】
（付記５）前記要素情報は、選択要素間の間隔を示す値を含み、
前記計算する処理は、前記配置領域の幅及び高さの少なくともいずれか一方のうち、少なくとも各選択要素間の間隔を除いた長さを前記選択要素間で均等に分けることによって各選択要素のサイズを計算する付記２〜４のいずれか１つに記載の図形描画プログラム。
【００８７】
（付記６）前記要素情報を一覧形式で入力するユーザインタフェースを表示し、
前記取得する処理は、前記一覧形式のユーザインタフェースによって入力された前記要素情報を取得する付記１〜５のいずれか１つに記載の図形描画プログラム。
【００８８】
（付記７）前記配置領域を特定する処理は、前記領域情報が配置領域の起点のみを特定する情報である場合に、所定の座標を配置領域の終点として前記配置領域を特定する付記１〜６のいずれか１つに記載の図形描画プログラム。
【００８９】
（付記８）描画対象図形を構成する要素として選択された１以上の選択要素に関する要素情報、及び前記要素を配置する配置領域に関する領域情報を取得する手段と、
前記領域情報に基づいて配置領域を特定する手段と、
特定した前記配置領域に応じて、前記要素情報の選択要素のサイズを計算するとともに、計算したサイズで選択要素を配置した場合における選択要素の配置位置の座標を計算する手段と、
前記選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する手段と、
を備える図形描画装置。
【符号の説明】
【００９０】
１…制御部、１１…入力受付部、１２…要素記録部、１３…配置領域特定部、１４…配置方式特定部、１５…要素属性計算部、１６…配置部、１７…表示部、２…記憶手段、２１…選択要素テーブル、２２…領域設定テーブル、２３…配置領域データ、２４…配置方式データ、２５…サイズ初期値テーブル、２６…要素属性テーブル、３１…入力装置、３２…表示装置
【図１０】
0005673264.tif 000002
【図１１】
0005673264.tif 000003
【図１３】
0005673264.tif 000004
【図１】
0005673264.tif 000005
【図２】
0005673264.tif 000006
【図３】
0005673264.tif 000007
【図４】
0005673264.tif 000008
【図５】
0005673264.tif 000009
【図６】
0005673264.tif 000010
【図７】
0005673264.tif 000011
【図８】
0005673264.tif 000012
【図９】
0005673264.tif 000013
【図１２】
0005673264.tif 000014
【図１４】
0005673264.tif 000015
【図１５】
0005673264.tif 000016