(57)【要約】【課題】画像を半透明の表示色で好適に表示する技術を提供することを目的とする。【解決手段】画像データ作成モジュール２８は、選択表示処理において、選択表示処理開始後１回目に実行するステップＳ９にて、第１のブロックの描画範囲のデータを取得し、選択表示処理開始後１回目に実行するステップＳ１１にて、第１のブロックの描画範囲のデータで規定される半透明の矩形画像の描画をＯＳ３２へ指示する。また、画像データ作成モジュール２８は、ステップＳ１１の実行後、ステップＳ１３にて、第１のブロックの描画範囲をクリッピングするようにＯＳ３２へ指示する。デバイス座標で重なる部分の透明度が、重なっていない部分の透明度と異なって表示されることが防止される。【選択図】図６
2019053604.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインタフェース、およびディスプレイを備え、オペレーティングシステムがインストールされた情報処理装置のコンピュータが実行可能な制御プログラムであって、
前記コンピュータを、
前記ディスプレイに表示されているオブジェクトを対象とした半透明描画処理を実行する半透明描画手段として機能させ、前記オブジェクトは、複数の部分オブジェクトを含んでおり、
前記半透明描画手段は、
前記複数の部分オブジェクトの１つである第１部分オブジェクトの描画範囲を示す第１描画範囲情報を取得する第１取得手段と、
前記複数の部分オブジェクトの１つであって、前記第１部分オブジェクトとは異なる第２部分オブジェクトの描画範囲を示す第２描画範囲情報を取得する第２取得手段と、
前記第１取得手段が取得した前記第１描画範囲情報が示す描画範囲である第１描画範囲に、半透明の画像を描画するように前記オペレーティングシステムへ指示する第１指示処理を実行する第１指示手段と、
前記第１指示手段が前記第１指示処理を実行した後に、前記第１描画範囲を描画禁止するように前記オペレーティングシステムへ指示する第２指示処理を実行する第２指示手段と、
前記第２指示手段が前記第２指示処理を実行した後に、前記第２取得手段が取得した前記第２描画範囲情報が示す描画範囲である第２描画範囲に、前記第２部分オブジェクトを示す第２部分オブジェクトデータに基づく画像を、半透明で描画するように前記オペレーティングシステムへ指示する第３指示処理を実行する第３指示手段と、
を含むことを特徴とする制御プログラム。
【請求項２】
前記コンピュータを、
前記ディスプレイに表示されている前記オブジェクトへの操作入力を、前記ユーザインタフェースを介して受付ける受付手段として機能させ、
前記受付手段が受付けた操作入力が、前記半透明描画処理に対応する操作入力である場合に、前記半透明描画手段は、前記半透明描画処理を実行する請求項１に記載の制御プログラム。
【請求項３】
前記コンピュータを、
前記第１部分オブジェクトを特定する第１特定手段と、
前記第２部分オブジェクトを特定する第２特定手段として機能させ、
前記受付手段が受付けた操作入力が、前記オブジェクトを選択する操作入力である場合に、
前記第１特定手段は、前記操作入力によって選択された前記オブジェクトに含まれる前記複数の部分オブジェクト全体を対象として、前記第１部分オブジェクトを特定し、
前記第２特定手段は、前記操作入力によって選択された前記前記オブジェクトに含まれる前記複数の部分オブジェクト全体のうちから、前記第２部分オブジェクトを特定し、
前記第１取得手段は、前記第１特定手段が特定した前記第１部分オブジェクトの描画範囲を示す前記第１描画範囲情報を取得し、
前記第２取得手段は、前記第２特定手段が特定した前記第２部分オブジェクトの描画範囲を示す前記第２描画範囲情報を取得する請求項２に記載の制御プログラム。
【請求項４】
前記受付手段が受付けた操作入力が、前記オブジェクトに含まれる複数の部分オブジェクト全体のうちの一部の部分オブジェクトを選択する操作入力である場合に、
前記第１特定手段は、前記操作入力によって選択された前記一部の部分オブジェクトを対象として、前記第１部分オブジェクトを特定し、
前記第２特定手段は、前記操作入力によって選択された前記一部の部分オブジェクトを対象として、前記第２部分オブジェクトを特定する請求項３に記載の制御プログラム。
【請求項５】
前記半透明描画処理の対象である前記オブジェクトに含まれる前記複数の部分オブジェクトが、第１タイプの部分オブジェクトと、第１タイプとは異なるタイプである第２タイプの部分オブジェクトと、を含んでいる場合に、
前記第１取得手段は、前記第１タイプの部分オブジェクトである前記第１部分オブジェクトの描画範囲を示す前記第１描画範囲情報を取得し、
前記第２取得手段は、前記第２タイプの部分オブジェクトである前記第２部分オブジェクトの描画範囲を示す前記第２描画範囲情報を取得する請求項２から４の何れかに記載の制御プログラム。
【請求項６】
前記第１タイプの部分オブジェクトは、第１タイプフォントを使用する部分オブジェクトであり、前記第２タイプの部分オブジェクトは、前記第１タイプフォントとは異なる第２タイプフォントを使用する部分オブジェクトである請求項５に記載の制御プログラム。
【請求項７】
前記受付手段が、前記ディスプレイに表示されているテキストオブジェクトへの操作入力を、前記ユーザインタフェースを介して受付けた場合に、
前記半透明描画手段は、前記テキストオブジェクトを対象とした前記半透明描画処理を実行し、前記テキストオブジェクトは、複数のテキスト要素を前記複数の部分オブジェクトとして含んでおり、
前記第１取得手段は、前記テキストオブジェクトに含まれるテキスト要素の１つである第１テキスト要素の描画範囲を示す前記第１描画範囲情報を取得し、
前記第２取得手段は、前記テキストオブジェクトに含まれるテキスト要素の１つであって前記第１テキスト要素とは異なる第２テキスト要素の描画範囲を示す前記第２描画範囲情報を取得する請求項２から６の何れかに記載の制御プログラム。
【請求項８】
前記半透明描画手段が前記半透明描画処理の対象である前記オブジェクトが、順番に並んで表示された前記複数の部分オブジェクトを含んでいる場合に、
前記第１取得手段は、前記複数の部分オブジェクトのうちＮ番目の部分オブジェクトである前記第１部分オブジェクトの描画範囲を示す前記第１描画範囲情報を取得し、
前記第２取得手段は、前記複数の部分オブジェクトのうちＮ＋１番目の部分オブジェクトである前記第２部分オブジェクトの描画範囲を示す前記第２描画範囲情報を取得する請求項２から７の何れかに記載の制御プログラム。
【請求項９】
前記コンピュータを、
前記受付手段が受付けた操作入力が、前記複数の部分オブジェクトの１つである部分オブジェクトのタイプを変更するタイプ変更処理に対応する操作入力である場合に、
前記受付手段が受付けた前記部分オブジェクトのタイプを変更する前記タイプ変更処理を実行するタイプ変更手段として機能させ、
前記タイプ変更手段が前記タイプ変更処理を実行した後に、前記半透明描画手段は、前記半透明描画処理を実行することを特徴とする請求項２から８の何れかに記載の制御プログラム。
【請求項１０】
前記コンピュータを、
前記受付手段が受付けた操作入力が、前記オブジェクトの描画範囲を変更する描画範囲変更処理に対応する操作入力である場合に、
前記受付手段が受付けた前記オブジェクトの描画範囲を変更する前記描画範囲変更処理を実行する描画範囲変更手段として機能させ、
前記描画範囲変更手段が前記描画範囲変更処理を実行した後に、前記半透明描画手段は、前記半透明描画処理を実行することを特徴とする請求項２から９の何れかに記載の制御プログラム。
【請求項１１】
ユーザインタフェース、オペレーティングシステム、およびディスプレイを備えたコンピュータが実行可能な制御プログラムであって、
制御プログラムは、第１モジュールおよび第２モジュールを含み、
前記第１モジュールは、
前記コンピュータを、
前記ディスプレイに表示されているテキストオブジェクトに含まれる複数の文字の選択を示す操作入力を、前記ユーザインタフェースを介して受け付けた場合、
選択された前記複数の文字を特定する特定手段と、
特定した前記複数の文字の情報を前記第２モジュールへ通知する通知手段と、として機能させ、
前記第２モジュールは、
前記ディスプレイに表示されているオブジェクトを対象とした半透明描画処理を実行する半透明描画手段として機能させ、前記オブジェクトは、複数の部分オブジェクトを含んでおり、
前記半透明描画手段は、
前記複数の部分オブジェクトの１つである第１部分オブジェクトの描画範囲を示す第１描画範囲情報を取得する第１取得手段と、
前記複数の部分オブジェクトの１つであって、前記第１部分オブジェクトとは異なる第２部分オブジェクトの描画範囲を示す第２描画範囲情報を取得する第２取得手段と、
前記第１取得手段が取得した前記第１描画範囲情報が示す描画範囲である第１描画範囲に、前記第１部分オブジェクトを示す第１部分オブジェクトデータに基づく画像を、半透明で描画するように前記オペレーティングシステムへ指示する第１指示処理を実行する第１指示手段と、
前記第１指示手段が前記第１指示処理を実行した後に、前記第１描画範囲を描画禁止するように前記オペレーティングシステムへ指示する第２指示処理を実行する第２指示手段と、
前記第２指示手段が前記第２指示処理を実行した後に、前記第２取得手段が取得した前記第２描画範囲情報が示す描画範囲である第２描画範囲に、前記第２部分オブジェクトを示す第２部分オブジェクトデータに基づく画像を、半透明で描画するように前記オペレーティングシステムへ指示する第３指示処理を実行する第３指示手段して機能させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイ表示に関わる制御プログラムに関するものである。
【背景技術】
【０００２】
特許文献１には、ラベルプリンタと通信可能な操作端末にて、ラベルプリンタでプリントされるラベル画像の編集が行われる構成が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−７１５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、操作端末にてラベル画像の編集が行われる際には、操作端末のディスプレイに、ラベル画像とされる、例えば文字列が表示される。また、ユーザは操作端末の入力手段を用いて、ディスプレイに表示される文字列を選択状態として、選択した文字列に対して、例えば文字の大きさを変更するなどの編集を行う場合がある。この場合、選択状態である文字列を明示するために、選択状態である文字列の範囲を半透明の表示色で表示することが考えられる。しかしながら、選択状態である文字列の範囲の画像を半透明の表示色で好適に表示する技術はなかった。
【０００５】
本願は、上記の課題に鑑み提案されたものであって、画像を半透明の表示色で好適に表示する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本明細書は、ユーザインタフェース、およびディスプレイを備え、オペレーティングシステムがインストールされた情報処理装置のコンピュータが実行可能な制御プログラムであって、コンピュータを、ディスプレイに表示されているオブジェクトを対象とした半透明描画処理を実行する半透明描画手段として機能させ、オブジェクトは、複数の部分オブジェクトを含んでおり、半透明描画手段は、複数の部分オブジェクトの１つである第１部分オブジェクトの描画範囲を示す第１描画範囲情報を取得する第１取得手段と、複数の部分オブジェクトの１つであって、第１部分オブジェクトとは異なる第２部分オブジェクトの描画範囲を示す第２描画範囲情報を取得する第２取得手段と、第１取得手段が取得した第１描画範囲情報が示す描画範囲である第１描画範囲に、半透明の画像を描画するようにオペレーティングシステムへ指示する第１指示処理を実行する第１指示手段と、第１指示手段が第１指示処理を実行した後に、第１描画範囲を描画禁止するようにオペレーティングシステムへ指示する第２指示処理を実行する第２指示手段と、第２指示手段が第２指示処理を実行した後に、第２取得手段が取得した第２描画範囲情報が示す描画範囲である第２描画範囲に、第２部分オブジェクトを示す第２部分オブジェクトデータに基づく画像を、半透明で描画するようにオペレーティングシステムへ指示する第３指示処理を実行する第３指示手段と、を含むことを特徴とする制御プログラムを開示する。ここでのオブジェクトは処理の対象となる１まとまりのデータであり、部分オブジェクトは共通する属性を有するオブジェクトである。
【発明の効果】
【０００７】
本願に係る技術によれば、選択範囲を半透明の表示色で好適に表示する技術を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係るプリンタシステムのブロック図である。
【図２】各プログラムやデバイスの関係を概念的に示すブロック図である。
【図３】起動シーケンスのシーケンス図である。
【図４】レイアウト画面を説明する図である。
【図５】オブジェクトに含まれるブロックを説明する図である。
【図６】選択表示処理のフローチャートである。
【図７】描画シーケンスのシーケンス図である。
【図８】クリッピングによる効果を説明する図である。
【図９】オブジェクト変更処理のフローチャートである。
【図１０】オブジェクト縮小処理のフローチャートである。
【発明を実施するための形態】
【０００９】
＜プリンタシステムの構成＞
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施形態は、本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更できる。
【００１０】
図１は、本実施形態に係るプリンタシステム１のブロック図である。図１に示すプリンタシステム１は、ＰＣ１０、プリンタ５０、および無線プリンタ５１を備える。ＰＣ１０は、ＣＰＵ１２、メモリ１４、ディスプレイＩ／Ｆ（インタフェースの略）１５、ＬＣＤ１６、入力Ｉ／Ｆ１８、ネットワークＩ／Ｆ２０を主に備えている。これらの構成要素は、バス２２を介して互いに通信可能とされている。
【００１１】
ＰＣ１０およびプリンタ５０，５１は、ネットワーク５６を通じて互いに通信可能となっている。ネットワーク５６の種類は特に限定されず、例えば有線ＬＡＮ、無線ＬＡＮ、ＷＡＮ、ＷｉーＦｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＳＢケーブルなどである。
【００１２】
プリンタ５０，５１は、ラベルプリンタであり、ＰＣ１０との間で各種の情報や指示信号を送受信し、ＰＣ１０による制御に基づいて、所望のテキストや画像等を印字したラベルを作成する。プリンタ５０，５１は、例えば、ラミネートフィルム等の長尺状のテープにテキスト等を印刷してラベルを作成する。
【００１３】
ＣＰＵ１２は、メモリ１４内の、予めインストールされたアプリケーションプログラム２６、ＯＳ３２に従って処理を実行する。アプリケーションプログラム２６は、画像を編集し、編集した画像をプリンタ５０，５１によってラベルを作成するためのプログラムである。アプリケーションプログラム２６は、処理モジュールとして、編集画面制御モジュール２７、画像データ作成モジュール２８、およびデバイス制御モジュール２９を備えている。尚、アプリケーションプログラム２６を、上記したように複数のプログラムの集合体で構成せず、単一のプログラムで構成しても良い。また、アプリケーションプログラム２６は、編集した画像を、ラベルに印刷させるプログラムに限定されない。例えば、アプリケーションプログラム２６は、編集した画像を、Ａ４紙やＡ３紙に印刷するよう、ページプリンタに指示するプログラムでも良い。また、アプリケーションプログラム２６は、編集した画像を、金属、ガラス、あるいは木材の表面に再現するよう、加工機器に指示するプログラムでも良い。レーザーマーカは、加工機器の一例である。また、アプリケーションプログラム２６は、編集した画像を、立体で再現するよう、３Ｄプリンタや工作機器に指示するプログラムでも良い。
【００１４】
ＯＳ３２は、アプリケーションプログラム２６に利用される基本的な機能を提供するプログラムである。ＯＳ３２は、例えば、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、ｉＯＳ（登録商標）等のオペレーティングシステムである。なお、以下の説明では、アプリケーションプログラム２６等を実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「アプリケーションプログラム２６が」という記載は、「アプリケーションプログラム２６を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１５】
図２は、各プログラムやデバイスの関係を概念的に示している。編集画面制御モジュール２７は、例えば、ラベルの作成やラベルの編集を行うための編集画面をＬＣＤ１６に表示するプログラムである。編集画面制御モジュール２７は、例えば、ＯＳ３２が提供するＡＰＩによりＯＳ３２へ表示指示を実行し、ＯＳ３２の表示プログラムを利用して表示処理を実行する。ＯＳ３２は、編集画面制御モジュール２７からの指示に応じてディスプレイＩ／Ｆ１５を制御し、ＬＣＤ１６への表示を行う。
【００１６】
編集画面制御モジュール２７は、編集対象のラベルを構成するオブジェクトを編集画面に表示するためのオブジェクト画像を示す表示画像データの作成を画像データ作成モジュール２８に指示し、画像データ作成モジュール２８が作成した表示画像データを画像データ作成モジュール２８から受け取り、受け取った表示画像データに基づく画像をＬＣＤ１６へ表示させる。尚、ここでのオブジェクトは処理の対象となる１まとまりのデータであり、複数の属性を有するデータである。また、オブジェクト画像は、具体的には、１連の文字列の画像、１まとまりの図形の画像、１つのバーコード画像などである。編集画面制御モジュール２７は、オブジェクトを編集する入力操作を入力Ｉ／Ｆ１８から受付けたとき、編集されたオブジェクトを編集画面に表示するための画像を示す表示画像データの作成を画像データ作成モジュール２８に指示する。オブジェクトの追加、削除、サイズ変更、移動、入力データの変更、入力データの色の変更などが、オブジェクトの編集の一例である。尚、入力データとは、１連の文字列などである。編集画面制御モジュール２７は、編集画面で編集されたラベルを構成するオブジェクトをプリンタ５０，５１から印刷させるための、画像を示す印刷画像データの作成を画像データ作成モジュール２８に指示し、画像データ作成モジュール２８が作成した印刷画像データを画像データ作成モジュール２８から受け取り、受け取った印刷画像データと印刷指示とをデバイス制御モジュール２９に渡すことで、プリンタ５０またはプリンタ５１からラベルの画像を印刷させる。なお、編集画面制御モジュール２７は、画像データ作成モジュール２８から受け取った印刷画像データと印刷指示とをＯＳ３２が備える汎用印刷モジュール１７に渡すことで、プリンタ５０，５１の何れかにラベルの画像を印刷させる。ＭａｃＯＳが備えるＡｉｒＰｒｉｎｔ（登録商標）モジュールは、汎用印刷モジュール１７の一例である。ＡｉｒＰｒｉｎｔモジュールは、編集画面制御モジュール２７から受け取った印刷画像データの印刷指示を、ネットワークＩ／Ｆ２０を介してプリンタ５０，５１の何れかに送信する。以下の説明において、表示画像データと印刷画像データとを総称して画像データと記載する場合がある。
【００１７】
画像データ作成モジュール２８は、ラベルを作成するための画像データの作成や編集を行うためのライブラリを備えており、画像データの作成、編集等を実行するプログラムである。画像データ作成モジュール２８は、編集画面制御モジュール２７からの指示に応じて、ＬＣＤ１６にラベルを示す画像を表示するための表示画像データや、ラベルを示す画像をプリンタ５０，５１で印刷するための印刷画像データを作成する。
【００１８】
デバイス制御モジュール２９は、ネットワークＩ／Ｆ２０を介してプリンタ５０に印刷を実行させるためのプログラムである。デバイス制御モジュール２９は、例えば、ラベルをプリンタから印刷するための画像を示す印刷画像データと印刷指示とを編集画面制御モジュール２７から受け取り、受け取った印刷指示に従って、印刷画像データを、印刷に用いられる画像データである印刷データに変換し、変換した印刷データを、プリンタ５０または５１に送信することで、ラベルを示す画像をプリンタ５０または５１に印刷させる。なお、デバイス制御モジュール２９は、ＯＳ３２に指示することで、ネットワークＩ／Ｆ２０を介して印刷データを送信する。
【００１９】
図１に戻り、メモリ１４は、データ記憶領域３４を備える。データ記憶領域３４は、アプリケーションプログラム２６等の実行に必要なデータなどを記憶する領域である。なお、メモリ１４は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＨＤＤ、ＰＣ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。
【００２０】
また、メモリ１４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００２１】
また、メモリ１４は、デバイスコンテキスト３５を備える。デバイスコンテキスト３５は、ＯＳ３２がメモリ１４に確保する描画のための記憶領域である。ＯＳ３２は、例えば、編集画面制御モジュール２７からの要求に応じてデバイスコンテキスト３５を確保してもよい。デバイスコンテキスト３５は、画像データ作成モジュール２８によるオブジェクトの描画に用いられる描画領域を備える。また、デバイスコンテキスト３５は、描画領域の他に、描画する直線の太さなどの描画に係わる設定情報を記憶する記憶領域を備える。画像データ作成モジュール２８は、ＯＳ３２が確保したデバイスコンテキスト３５の描画領域の編集や、設定情報の変更等を可能にする権限をＯＳ３２から取得する。画像データ作成モジュール２８は、権限を取得した後、例えば、ＯＳ３２が提供するＡＰＩを利用してデバイスコンテキスト３５の描画領域にオブジェクトのラスター画像データを描画する。尚、本願における「描画」とは、ラスター画像データをデバイスコンテキスト３５に記憶させることをいう場合がある。また、ラスター画像データは、複数の画素データから構成される画像データである。画素データは、画素単位の画像データである。画素とは、画像データの単位であり、例えば、画像データの最小単位である。
【００２２】
ＯＳ３２は、デバイスコンテキスト３５に描画されたラスター画像データや設定情報に基づいて、ＬＣＤ１６への表示処理を実行する。
【００２３】
ＬＣＤ１６は、ＰＣ１０の各種情報を表示する。ＬＣＤ１６は、ディスプレイＩ／Ｆ１５を介してバス２２に接続されている。ＬＣＤ１６は、ディスプレイＩ／Ｆ１５を介して表示データを取得し、取得した表示データに基づく画像を表示する。尚、本願のディスプレイは、液晶ディスプレイに限らず、有機ＥＬディスプレイ等の他の表示方式のディスプレイでも良い。
【００２４】
入力Ｉ／Ｆ１８は、キーボード、マウス等を含み、ユーザ操作を入力するためのインタフェースである。尚、入力Ｉ／Ｆ１８は、キーボード等に限らず、ＬＣＤ１６の表示画面に重畳された膜状のタッチセンサでも良い。
【００２５】
＜初期シーケンス＞
ＣＰＵ６２は、アプリケーションプログラム２６の起動指示を入力Ｉ／Ｆ１８が受け付けたことに応じて、編集画面制御モジュール２７を起動する。起動した編集画面制御モジュール２７が実行する初期シーケンスについて図３を用いて説明する。
【００２６】
尚、以下の処理およびフローチャートの各処理ステップは、基本的に、アプリケーションプログラム２６などのプログラムに記述された命令に従ったＣＰＵ１２の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、ＣＰＵ１２の処理を表している。ＣＰＵ１２による処理は、ＯＳ３２のＡＰＩを用いたハードウェア制御も含む。本明細書では、ＯＳ３２の記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムＢがハードウェアＣを制御する」という趣旨の記載は、「プログラムＢがＯＳ３２のＡＰＩを用いてハードウェアＣを制御する」ことを指してもよい。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１２が要求することなくデータを受信するという処理も、「ＣＰＵ１２がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００２７】
まず、編集画面制御モジュール２７は、画像データ作成モジュール２８を起動させる（Ｍ１）。次に編集画面制御モジュール２７は画像データ作成モジュール２８に対応機種を問い合わせる（Ｍ２）。画像データ作成モジュール２８が作成する印刷画像データは、プリンタ５０，５１の仕様に応じたデータとなっている。画像データ作成モジュール２８は流通しているすべてのプリンタに対応する表示画像データおよび印刷画像データを作成できる訳ではなく、画像データ作成モジュール２８が対応可能なプリンタの機種は限られている。そこで、編集画面制御モジュール２７は画像データ作成モジュール２８に対応機種を問い合わせる。画像データ作成モジュール２８は、問い合わせに応じて、例えば、対応可能な機種のリストである対応機種結果を編集画面制御モジュール２７に返す（Ｍ３）。次に、編集画面制御モジュール２７は、ＯＳ３２にプリンタドライバがインストール済みであるプリンタを問い合わせる（Ｍ４）。ＯＳ３２は問い合わせに応じて、例えば、プリンタドライバがインストール済みであるプリンタのリストであるインストール済みプリンタ結果を編集画面制御モジュール２７に返す（Ｍ５）。次に、編集画面制御モジュール２７は、メッセージＭ３，Ｍ５において渡された、対応機種結果およびインストール済みプリンタ結果に基づき、印刷させるプリンタを決定し、決定したプリンタを画像データ作成モジュール２８へ渡す（Ｍ６）。具体的には、編集画面制御モジュール２７は、例えば対応機種結果およびインストール済みプリンタ結果の両者に含まれるプリンタを印刷させるプリンタに決定する。
【００２８】
次に、画像データ作成モジュール２８に画像データファイルをオープンさせる（Ｍ７）。画像データファイルは、編集画面制御モジュール２７と画像データ作成モジュール２８との間でデータをやりとりするためのファイルである。ファイルを正常にオープンできた場合、画像データ作成モジュール２８は、正常にオープンできたことを示すファイルオープン結果を編集画面制御モジュール２７へ渡す（Ｍ８）。これにより、編集画面制御モジュール２７は、画像データファイルを指定してのＬＣＤ１６への描画指示およびプリンタ５０，５１への印刷指示を実行できるようになる。次に、編集画面制御モジュール２７は、画像データファイルに応じた編集画面（不図示）をＬＣＤ１６に表示させる。
【００２９】
編集画面には、メニューバー（不図示）、操作ウィンドウ（不図示）、およびレイアウト画面１００（図４）などが表示される。メニューバーには、例えば、ファイル作成、保存、印刷などの操作を受け付けるメニューが表示される。操作ウィンドウには、例えばテキストのフォント、サイズなどの操作を受け付けるためのウィジェットが表示される。レイアウト画面１００は、編集中のオブジェクト画像を表示するための画面である。図４に例示するレイアウト画面１００は、画像データファイルのオープンによって、入力データとしてテキスト「ａｂｃａｂｃ」が受け付けられた場合に表示される、オブジェクト画像Ｏｂｊ１を含むレイアウト画面である。以下の説明において、方向は、図４に示す方向を用いる。レイアウト画面１００には、データ入力領域１０１が表示される。データ入力領域１０１のＹ軸方向のサイズは、印刷媒体である例えばラミネートテープなどのテープの幅に応じている。また、アプリケーションプログラム２６は、入力データを入力Ｉ／Ｆ１８が受け付けたことに応じて、入力データに応じたオブジェクトをレイアウト画面１００に表示させる。尚、データ入力領域１０１のＸ軸方向のサイズは、例えば、入力データに応じて変更される。
【００３０】
また、アプリケーションプログラム２６は、オブジェクト画像に対する編集操作を入力Ｉ／Ｆ１８が受け付けたことに応じて、編集操作に応じて更新したオブジェクト画像をレイアウト画面１００に表示させる。
上記したように、オブジェクトは処理の対象となる１まとまりのデータであり、複数の属性を有するデータである。入力データがテキストである場合、属性には、例えば、Ａｒｉａｌ、明朝体などのフォント、太字、斜体などの書式、フォントサイズなどがある。つまり、オブジェクト画像は入力データが属性に従って編集された画像である。また、編集操作には、具体的には、オブジェクト画像のサイズの変更、入力データがテキストであった場合のテキストの属性の変更などがある。以下の説明において、入力データがテキストであるオブジェクト画像をテキストオブジェクト画像と記載する場合がある。
【００３１】
例えば、ユーザはオブジェクト画像Ｏｂｊ１の文字列のうち、「ｂｃａｂ」のフォントサイズを変更したい場合、まず、編集画面にて「ｂｃａｂ」を選択し、操作ウィンドウにて所望のフォントサイズを選択する。
アプリケーションプログラム２６は、オブジェクト画像もしくはオブジェクト画像に含まれる文字列に対する選択操作を入力Ｉ／Ｆ１８が受け付けたことに応じて、選択された、オブジェクト画像もしくはオブジェクト画像に含まれる文字列を選択状態であることを明示する表示態様で、レイアウト画面１００に表示させる選択表示処理を実行する。ここで、オブジェクト画像に対する選択操作とは、例えば、レイアウト画面１００に表示されているオブジェクト画像がクリックされる操作である。また、オブジェクト画像に含まれる文字列に対する選択操作とは、具体的には、例えば、レイアウト画面１００に表示されているオブジェクト画像に含まれる文字列の選択開始位置にマウスポインタが合わせられた状態でマウスがクリックされた後、マウスポインタが選択終了位置となるまでドラッグされ、その後マウスを離す操作である。
また、アプリケーションプログラム２６は、選択状態で表示されているオブジェクト画像もしくは、オブジェクト画像に含まれる文字列に対する編集操作を入力Ｉ／Ｆ１８が受け付けたことに応じて、編集操作に応じて、選択状態である、オブジェクト画像もしくは文字列の部分を編集する編集処理を実行する。次に、選択表示処理について詳しく説明する。
【００３２】
＜選択表示処理＞
編集画面制御モジュール２７は、テキストオブジェクトの入力データの選択操作を入力Ｉ／Ｆ１８が受け付けたことに応じて、受け付けた入力データの範囲および編集操作の内容を画像データ作成モジュール２８へ渡す。入力データの範囲とは、テキストオブジェクト画像に含まれる文字列のうち、選択操作を受け付けた文字列である。また、オブジェクト画像の選択操作を受け付けた場合には、入力データの範囲とは、テキストオブジェクト画像に含まれるすべての文字列である。以下の記載において、入力データの範囲を選択範囲と称する。画像データ作成モジュール２８は、受け付けた選択範囲および編集操作の内容を渡されたことに応じて、図６に示す選択表示処理を開始する。
【００３３】
画像データ作成モジュール２８は、編集画面制御モジュール２７から渡された選択範囲に基づいて、開始文字位置および終了文字位置を取得する（Ｓ１）。例えば、入力データの範囲が「ｂｃａｂ」の場合、開始文字位置は１番目の「ｂ」であり終了文字は２番目の「ｂ」である。次に、画像データ作成モジュール２８は、選択範囲に含まれるブロックを取得し、取得したブロックに左から順に番号を付与し、左端のブロックの番号を開始ブロックＳにセットし、右端のブロックの番号を終了ブロックＥにセットする（Ｓ３）。
【００３４】
ここで、ブロックについて、図５を用いて説明する。画像データ作成モジュール２８は、ＯＳ３２に対して行う、ＬＣＤ１６へ描画指示をオブジェクト単位ではなく、ブロック単位で行う。ブロックは、１行の文字列において、同じ属性毎に区切られた１まとまりである。例えば、オブジェクト画像Ｏｂｊ１は、第１のフォントである「ａｂｃ」と、第１のフォントとは異なる第２のフォントである「ａｂｃ」とを含んでいる。また、画像データ作成モジュール２８は、オブジェクトに含まれるブロックに対し、左から右に向かって１から順に番号を付与する。オブジェクト画像Ｏｂｊ１に含まれるブロックは１番目のブロックと２番目のブロックとの２つである。１番目のブロックは、第１のフォントである「ａｂｃ」を含むブロックである。２番目のブロックは、第２のフォントである「ａｂｃ」を含むブロックである。
また、オブジェクトが改行を含む場合には、改行前後で文字列は２つのブロックに区切られる。例えばオブジェクト画像Ｏｂｊ２は、１行目が「あ意ウ絵Ｏ」の文字列と、２行目に「ａａａａａ」の文字列を含むオブジェクト画像である。また、１行目の文字列は互いに異なる４つのフォントで構成されている。また、２行目の文字列は、１行目の末尾の「ｏ」と同じフォントであるが、行が異なるため、１つのブロックとなる。つまり、オブジェクト画像Ｏｂｊ２には５つのブロックが含まれる。尚、図５では、Ｎ番目のブロックをブロック（Ｎ）と表記している。
オブジェクト画像Ｏｂｊ１の選択範囲が「ｂｃａｂ」である場合、画像データ作成モジュール２８は、ステップＳ３にて、開始ブロックＳを１に、終了ブロックＥを２に夫々セットする。
【００３５】
次に、画像データ作成モジュール２８は変数Ｎを開始ブロックＳにセットする（Ｓ５）。次に、変数Ｎは終了ブロックＥ以下であるか否かを画像データ作成モジュール２８は判断する（Ｓ７）。変数Ｎは終了ブロックＥ以下であると判断することに応じて（Ｓ７：ＹＥＳ）、画像データ作成モジュール２８はＮ番目のブロックの描画範囲のデータを取得する（Ｓ９）。描画範囲は、ブロックがＬＣＤ１６に表示された場合に、ブロックが占有する画面における範囲である。詳しくは、論理座標で規定される矩形の範囲である。ここでは、描画範囲のデータは、矩形の左上の論理座標および右下の論理座標で示されるものとする。詳しくは、画像データ作成モジュール２８はステップＳ９にて、ＯＳ３２にＮ番目のブロックの文字列およびフォントなどの属性を引数として、描画範囲のサイズを問い合わせ、返される値を取得する。値は、例えば、描画範囲の幅および高さの値である。また、画像データ作成モジュール２８は、Ｎ番目のオブジェクトの基準位置の論理座標に基づき、Ｎ番目のブロックの左上および右下の論理座標を計算する。次に、画像データ作成モジュール２８は、ステップＳ１１にて、描画範囲のデータで規定される半透明の表示色の矩形画像をＯＳ３２に描画させる。但し、ＯＳ３２に画像を描画させる場合には、デバイスコンテキストのハンドルが必要となる。ＯＳ３２は、デバイスコンテキスト以外にもメモリ領域を確保する。ハンドルという識別情報によって、ＯＳ３２が確保したメモリ領域は識別される。ハンドルの取得は編集画面制御モジュール２７が実行する。画像データ作成モジュール２８、編集画面制御モジュール２７、およびＯＳ３２間で行われる描画シーケンスについて図７を用いて、次に説明する。
【００３６】
例えば画像データ作成モジュール２８からの要求に応じて、編集画面制御モジュール２７はＯＳ３２にデバイスコンテキストのハンドルを要求する（Ｍ１１）。ＯＳ３２は要求に応じ、編集画面制御モジュール２７にデバイスコンテキストのハンドルを返す。次に編集画面制御モジュール２７は、ＯＳ３２から返されたハンドルを画像データ作成モジュール２８へ渡す（Ｍ１３）。次に、画像データ作成モジュール２８は、デバイスコンテキストのハンドルを指定して、描画範囲のデータで規定される半透明の表示色の矩形画像の表示をＯＳ３２に要求する（Ｍ１４，Ｓ１１）。ここで、半透明の表示色の矩形画像は、選択された文字列が選択状態であることを明示するための画像である。つまり、選択された文字列と半透明の表示色の矩形画像とが重ねられてＬＣＤ１６に表示されことにより、ユーザは文字列が選択状態であることを認識することができる。尚、描画シーケンスのメッセージＭ１４と選択表示のステップＳ１１は同じ処理である。
【００３７】
図７に戻り、次に画像データ作成モジュール２８は、デバイスコンテキストのハンドルを指定して描画範囲を、後の描画を無効とするクリッピングに指定する（Ｓ１３）。これにより、ＯＳ３２は、この後要求される、当該描画範囲に対する描画要求を無効とする。次に、変数Ｎをインクリメントし（Ｓ１５）、ステップＳ７へ戻る。編集画面制御モジュール２７は、変数Ｎが終了ブロックＥ以下でないと判断することに応じて（Ｓ７：ＮＯ）、選択表示処理を終了する。このように、画像データ作成モジュール２８は、選択範囲に含まれるすべてのブロックに対して、ステップＳ７以降の処理を実行する。
【００３８】
例えば、オブジェクト画像Ｏｂｊ１で、「ｂｃａｂ」が選択された場合、選択表示処理開始後、初めて実行するステップＳ１１において、「ｂｃ」を含む１番目のブロックの描画範囲で規定される半透明の表示色の矩形画像の描画をＯＳ３２に要求する。次に、選択表示処理開始後、初めて実行するステップＳ１３において、１番目のブロックの描画範囲をクリッピングするようにＯＳ３２へ要求する。次に、選択表示処理開始後、２回目に実行するステップＳ１１において、「ａｂ」を含む２番目のブロックの描画範囲で規定される半透明の表示色の矩形画像の描画をＯＳ３２に要求する。このように、左のブロックから順に、ブロックの描画範囲の矩形図形の描画と、クリッピング指定が行われる。
【００３９】
ここで、選択表示処理において、ステップＳ１３を実行して得られる効果について、図８を用いて説明する。図８は、オブジェクト画像Ｏｂｊ１，Ｏｂｊ２の各々について、ステップＳ１３を実行、つまりクリッピング指定した場合と、ステップＳ１３を実行しない場合、つまりクリッピング指定しない場合との、表示を比較して示した図である。ＯＳ３２は、論理座標で規定された画像の描画指示を受け付けると、デバイス座標に変換し、デバイス座標で規定された画像の描画をディスプレイＩ／Ｆ１５を介してＬＣＤ１６へ指示する。ＯＳ３２は、ＬＣＤ１６に表示する画面を拡大縮小して表示させることができる。具体的には、ユーザはレイアウト画面１００の表示を、例えば１００％から１２０％に拡大表示、および、例えば１００％から８０％に縮小表示を編集画面にて指定することができる。編集画面制御モジュール２７は、画面の倍率設定の操作を入力Ｉ／Ｆ１８が受け付けたことに応じて、画像データ作成モジュール２８に、受け付けた倍率の値を渡す。画像データ作成モジュール２８は倍率の値が渡されると、ＯＳ３２に対し、倍率の値にて表示するように要求する。ＯＳ３２は倍率の値にて表示する要求を受け付けると、論理座標を倍率の値に応じて、デバイス座標に変換し、デバイス座標で規定された画像の描画をディスプレイＩ／Ｆ１５を介してＬＣＤ１６へ指示する。ＯＳ３２が論理座標からデバイス座標に変換する際に例えば端数が生じるために、論理座標においては隣接する矩形画像であっても、デバイス座標において隣接する矩形画像が重なってしまう場合がある。矩形画像が半透明の表示色であると、重なった部分のアルファ値が乗算され、図８に示す様にＬＣＤ１６において線として表示されてしまう場合がある。例えば、オブジェクト画像Ｏｂｊ１の場合には、２つのブロックを含むため、１本の線が表示される場合がある。また、オブジェクト画像Ｏｂｊ２の場合には、１行目に４つのブロックを含むため、３本の線が表示され、１行目と２行目の間にさらに１本の線が表示される場合がある。一方、クリッピング指定することにより、デバイス座標において隣接する矩形図形が重なったとしても、先に描画された範囲に新たな描画は受け付けられないため、線が入ることが防止される。
【００４０】
＜オブジェクト変更処理＞
次に、編集処理の１つであるオブジェクト変更処理について説明する。
ここでは、編集操作が、テキストオブジェクト画像もしくはテキストオブジェクト画像に含まれる文字列が選択状態にされている場合に、操作ウィンドウにて、文字列のフォントサイズの値が変更する操作が行われた場合に、実行されるオブジェクト変更処理について説明する。
【００４１】
編集画面制御モジュール２７は、テキストオブジェクト画像の入力データの編集操作を入力Ｉ／Ｆ１８が受け付けたことに応じて、受け付けた入力データの範囲および編集操作の内容を画像データ作成モジュール２８へ渡す。入力データの範囲は、オブジェクト画像が含む文字列の受け付けた文字列、および、オブジェクト画像の基準位置である。ここで、オブジェクト画像の基準位置は、レイアウト画面１００内の最も左上の座標を原点としてＸＹ座標系で示される、最も左上の座標であるものとする。画像データ作成モジュール２８は、受け付けた入力データの範囲および編集操作の内容を渡されたことに応じて、図９に示すオブジェクト変更処理を開始する。尚、ここでの編集操作の内容は、フォントサイズの変更である。
【００４２】
画像データ作成モジュール２８は、まず、選択範囲に含まれるブロック数を取得し、ブロック数を示す変数であるブロック数Ａに、取得した値をセットする（Ｓ２１）。次に、画像データ作成モジュール２８は、変数Ｎを１にセットする（Ｓ２３）。次に、画像データ作成モジュール２８は、変数Ｎはブロック数Ａ以下であるか否かを判断する（Ｓ２５）。ブロック数Ａ以下であると判断することに応じて（Ｓ２５：ＹＥＳ）、画像データ作成モジュール２８はＮ番目のブロックのサイズを取得し、座標を計算する（Ｓ２７）。詳しくは、ＯＳ３２にＮ番目のブロックの文字列およびフォントなどの属性を引数として、サイズを問い合わせ、返される値を取得する。値は、矩形範囲の幅および高さである。また、オブジェクトの基準位置の座標をブロックの左上の座標として、ブロックの右下の座標を計算する。次に、画像データ作成モジュール２８は、変数Ｎは１であるか否かを判断する（Ｓ２９）。１であると判断することに応じて（Ｓ２９：ＹＥＳ）、画像データ作成モジュール２８はステップＳ２５に戻る。一方、１でないと判断することに応じて（Ｓ２９：ＮＯ）、画像データ作成モジュール２８はＮ番目のブロックの座標を（Ｎ−１）番目のブロックの座標から計算する（Ｓ３１）。詳しくは、（Ｎ−１）番目のブロックの右下のＸ座標をＮ番目のブロックの左上のＸ座標として、Ｎ番目のブロックの座標を計算する。つまり、２番目以降のブロックについては、左のブロックと隣接するように、座標が計算される。次に、画像データ作成モジュール２８は、変数Ｎをインクリメントして（Ｓ３３）、ステップＳ２５に戻る。このように、画像データ作成モジュール２８は、選択範囲に含まれるすべてのブロックに対して、ステップＳ２７以降の処理を実行する。変数Ｎがブロック数Ａよりも大きい値となり、変数Ｎはブロック数Ａ以下でないと判断することに応じて（Ｓ２５：ＮＯ）、画像データ作成モジュール２８は、１番目のブロックの左上の位置の座標とＡ番目のブロックの右下の位置の座標をオブジェクト画像のサイズとして（Ｓ３５）、オブジェクト変更処理を終了する。
【００４３】
画像データ作成モジュール２８は、オブジェクト変更処理を終了すると、オブジェクト変更処理が施されたオブジェクトを対象に、選択表示処理を実行する。このとき、画像データ作成モジュール２８は、オブジェクト全体を選択範囲として、Ｓ１の処理を実行する。これにより、変更後のオブジェクト画像に対して、選択状態であることを示す半透明の矩形画像が表示される。
【００４４】
＜オブジェクト縮小処理＞
次に、編集処理の１つであるオブジェクト縮小処理について説明する。
ここでは、編集操作が、オブジェクト画像が選択状態されている場合に表示される、オブジェクト画像の範囲を示す矩形図形の辺付近にマウスカーソルが位置された場合に表示される矢印が表示されている状態でマウスがクリックされ、矩形図形が縮小される方向にマウスがドラッグされ、その後マウスを離す操作である場合に実行されるオブジェクト縮小処理について説明する。
編集画面制御モジュール２７は、オブジェクト画像が選択されると、オブジェクト画像の範囲を示す矩形図形を表示する。また、編集画面制御モジュール２７は、矩形図形の辺付近にマウスカーソルが位置された場合、矢印を表示させ、オブジェクトのサイズの変更を受け付ける。画像データ作成モジュール２８は、矩形図形が縮小される方向にマウスがドラッグされた場合、選択されたオブジェクト画像のサイズを編集画面制御モジュール２７から取得し、オブジェクト縮小処理（図１０）を開始する。
【００４５】
画像データ作成モジュール２８は、変数Ｓを１００にセットする（Ｓ４１）。次に、画像データ作成モジュール２８はステップＳ２１と同様に、オブジェクト画像に含まれるブロック数を取得し、ブロック数を示す変数であるブロック数Ａに、取得した値をセットする（Ｓ４３）。次に、画像データ作成モジュール２８は、変数Ｓをデクリメントし、変数Ｎを１にセットする（Ｓ４５）。次に、画像データ作成モジュール２８は、変数Ｎはブロック数Ａ以下であるか否かを判断する（Ｓ４７）。変数Ｎはブロック数Ａ以下であると判断することに応じて（Ｓ４７：ＹＥＳ）、画像データ作成モジュール２８は、Ｎ番目のブロックのフォントサイズを初期値のＳ％にし（Ｓ４９）、ステップＳ４７へ戻る。画像データ作成モジュール２８は、ステップＳ４９にて、例えば、選択されたオブジェクト画像の１番目のフォントサイズの値が１０であれば、フォントサイズを初期値の１０の９９パーセントの値に更新する。変数Ｎがブロック数Ａよりも大きくなり、変数Ｎはブロック数Ａ以下でないと判断すると（Ｓ４７：ＮＯ）、サブルーチンとして、画像データ作成モジュール２８は、図９に示すオブジェクト変更処理を実行する。尚、画像データ作成モジュール２８は、オブジェクト変更処理を開始する際に、ステップＳ４９で算出した各ブロックのフォントサイズをオブジェクト変更処理に渡す。また、画像データ作成モジュール２８は、オブジェクト変更処理を終了すると、戻り値として、算出したオブジェクト画像のサイズをオブジェクト縮小処理へ渡す。画像データ作成モジュール２８は、渡されたオブジェクトのサイズが、選択されたオブジェクト画像のサイズ内であるか否かを判断する（Ｓ５３）。オブジェクト画像のサイズ内でないと判断することに応じて（Ｓ５３：ＮＯ）、画像データ作成モジュール２８は、ステップＳ４５へ戻る。一方、オブジェクト画像のサイズ内であると判断することに応じて（Ｓ５３：ＹＥＳ）、画像データ作成モジュール２８は、オブジェクト縮小処理を終了する。このように、画像データ作成モジュール２８は、算出したオブジェクトのサイズが選択されたオブジェクト画像のサイズ内に収まるように、フォントサイズを変更する。
【００４６】
画像データ作成モジュール２８は、オブジェクト縮小処理を終了すると、算出したフォントサイズに応じたオブジェクト画像を表示させる。また、画像データ作成モジュール２８は、オブジェクト縮小処理を終了すると、選択表示処理のステップＳ１１と同様に、選択されたオブジェクト画像のサイズで規定される範囲に、半透明の表示色の矩形画像の表示をＯＳ３２に要求する。これにより、変更後のオブジェクトに対して、選択状態であることを示す半透明の矩形画像が表示される。尚、上記では、オブジェクトが縮小される場合について説明したが、オブジェクトが拡大される場合にも同様の処理が実行される。つまり、算出したオブジェクトのサイズが指定されたオブジェクトのサイズに収まるように、変数Ｓをインクリメントして、フォントサイズを大きくする。
【００４７】
ここで、入力Ｉ／Ｆ１８はユーザインタフェースの一例であり、ＬＣＤ１６はディスプレイの一例であり、ＯＳ３２はオペレーティングシステムの一例であり、ＰＣ１０は情報処理装置の一例であり、ＣＰＵ１２はコンピュータの一例である。アプリケーションプログラム２６は制御プログラムの一例である。
また、選択表示処理は、半透明描画処理および半透明描画手段の一例であり、ステップＳ９は第１取得処理、第２取得処理、第１取得手段、および第２取得手段の一例であり、ステップＳ１１は第１指示処理、第２指示処理、第１指示手段、および第２指示手段の一例であり、ステップＳ１３は第３指示処理および第３指示手段の一例である。アプリケーションプログラム２６が、オブジェクトに対する選択操作を入力Ｉ／Ｆ１８を介して受け付ける処理は、受付手段の一例である。また、アプリケーションプログラム２６が、選択状態で表示されているオブジェクトもしくはオブジェクトに含まれる文字列に対する編集操作を入力Ｉ／Ｆ１８を介して受け付ける処理は、受付手段の一例である。ステップＳ３は、第１特定手段および第２特定手段の一例である。また、オブジェクト変更処理は、タイプ変更処理およびタイプ変更手段の一例であり、オブジェクト縮小処理は、描画範囲変更処理および描画範囲変更手段の一例である。
また、ブロックは部分オブジェクトの一例であり、描画範囲のデータは描画範囲を示す第１描画範囲情報および描画範囲を示す第２描画範囲情報の一例である。
【００４８】
以上、説明した実施形態によれば、以下の効果を奏する。
画像データ作成モジュール２８は、選択表示処理において、選択表示処理開始後１回目に実行するステップＳ９にて、第１のブロックの描画範囲のデータを取得し、選択表示処理開始後１回目に実行するステップＳ１１にて、第１のブロックの描画範囲のデータで規定される半透明の表示色の矩形画像の描画をＯＳ３２へ指示する。また、画像データ作成モジュール２８は、ステップＳ１１の実行後、ステップＳ１３にて、第１のブロックの描画範囲をクリッピングするようにＯＳ３２へ指示する。また、画像データ作成モジュール２８は、選択表示処理開始後２回目に実行するステップＳ９にて、第２のブロックの描画範囲のデータを取得し、選択表示処理開始後２回目に実行するステップＳ１１にて、第２のブロックの描画範囲のデータで規定される半透明の矩形画像の描画をＯＳ３２へ指示する。
【００４９】
ＯＳ３２は画像データ作成モジュール２８から論理座標で規定される画像の描画が要求されると、ディスプレイＩ/Ｆ１５へ指示するために、論理座標をデバイス座標に変換する。この場合に、論理座標で隣接する２つの矩形画像が、デバイス座標に変換された際に重なる場合がある。画像が半透明の表示色である場合、重なった部分の透明度が重なっている部分の画像の透明度と異なって表示されるおそれがある。画像データ作成モジュール２８は、ステップＳ１１の後、ステップＳ１３を実行するので、デバイス座標で重なる部分の透明度が、重なっていない部分の透明度と異なって表示されることが防止される。画像を半透明の表示色で好適に表示することができる。
【００５０】
アプリケーションプログラム２６は、オブジェクト画像に対する選択操作を入力Ｉ／Ｆ１８が受け付けたことに応じて、選択表示処理を実行する。これにより、アプリケーションプログラム２６は、オブジェクト画像に対する選択操作を入力Ｉ／Ｆ１８が受け付けたことに応じて、選択表示処理を実行することができる。
【００５１】
また、画像データ作成モジュール２８は、ステップＳ３にて、選択範囲に含まれるブロックを取得し、取得したブロックに左から順に番号を付与して特定する。また、画像データ作成モジュール２８は、選択表示処理において、選択表示処理開始後１回目に実行するステップＳ９にて、ステップＳ３で特定した第１のブロックの描画範囲のデータを取得する。また、画像データ作成モジュール２８は、選択表示処理において、選択表示処理開始後２回目に実行するステップＳ９にて、ステップＳ３で特定した第２のブロックの描画範囲のデータを取得する。これにより、画像データ作成モジュール２８は、選択範囲に複数のブロックが含まれる場合、複数のブロックの各々について描画範囲のデータを取得することができる。
【００５２】
また、アプリケーションプログラム２６は、複数のブロックを含むオブジェクト画像のうち、少なくとも１つのブロックを除く複数のブロックである一部のブロックに対する選択操作を入力Ｉ／Ｆ１８が受け付けた場合、選択操作を受け付けた一部のブロックに対して、ステップＳ３を実行する。これにより、例えば３つのブロックを含むオブジェクトの場合、オブジェクト画像が選択された場合だけでなく、オブジェクト画像に含まれる１つのブロックが選択された場合にも、ステップＳ３を実行することができる。
【００５３】
また、オブジェクト画像が、第１のフォントである文字列を含む１番目のブロックと第２のフォントである文字列を含む２番目のブロックを含む場合、画像データ作成モジュール２８は、ステップＳ９にて、１番目のブロックおよび２番目のブロックのそれぞれの描画範囲のデータを取得する。これにより、画像データ作成モジュール２８は、互いに異なるフォントである文字列を含むブロック毎に、描画範囲のデータを取得することができる。
【００５４】
また、アプリケーションプログラム２６は、編集操作が、オブジェクト画像もしくはオブジェクト画像に含まれる文字列を選択状態されている場合に、操作ウィンドウにて、オブジェクト画像もしくは文字列のプロパティの値が変更する操作が行われた場合に、オブジェクト変更処理を実行する。また、オブジェクト変更処理を実行後、算出したオブジェクト画像のサイズで規定される範囲に、半透明の表示色の矩形画像の表示をＯＳ３２に要求する。これにより、オブジェクト変更処理の実行により、選択状態とされたオブジェクト画像もしくは文字列のサイズが変更された場合にも、選択を明示するための画像を半透明の表示色で好適に表示することができる。
【００５５】
また、アプリケーションプログラム２６は、編集操作が、オブジェクトが選択状態されている場合に、オブジェクトの描画範囲を示す矩形図形の辺付近にマウスカーソルが位置された場合に表示される矢印が表示されている状態でマウスがクリックされ、矩形図形が縮小される方向にマウスがドラッグされ、その後マウスを離す操作である場合に、オブジェクト縮小処理を実行する。また、オブジェクト縮小処理を実行後、選択されたオブジェクト画像のサイズで規定される範囲に、半透明の表示色の矩形画像の表示をＯＳ３２に要求する。これにより、オブジェクト縮小処理の実行により、選択状態とされたオブジェクトのサイズが変更された場合にも、選択を明示するための画像を半透明の表示色で好適に表示することができる。
【００５６】
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、上記では、描画シーケンスのメッセージＭ１４において、画像データ作成モジュール２８が、ハンドルを指定して、描画範囲のデータで規定される半透明の表示色の矩形画像の表示をＯＳ３２に要求すると説明したが、画像データ作成モジュール２８ではなく、編集画面制御モジュール２７が要求する構成としても良い。
【００５７】
また、上記では、アプリケーションプログラム２６はＰＣ１０が備えるメモリ１４に記憶されていると説明したが、これに限定されない。ネットワーク５６を介してＰＣ１０に接続可能なサーバに記憶される構成としても良い。また、アプリケーションプログラム２６がサーバに記憶されている場合、アプリケーションプログラム２６を示す情報あるいは信号として、インターネット等のネットワーク５６を介してＰＣ１０に配信される構成としても良い。
【００５８】
また、上記では、オブジェクト画像の基準位置は、レイアウト画面１００内の最も左上の座標を原点とした座標であると説明したが、原点位置はこれに限定されない。例えば、データ入力領域１０１の最も右下の座標を原点としてもよい。
【００５９】
また、画像データ作成モジュール２８は、オブジェクト変更処理を終了すると、オブジェクト変更処理が施されたオブジェクトを対象に、選択表示処理を実行する。このとき、画像データ作成モジュール２８は、オブジェクト全体を選択範囲として、Ｓ１の処理を実行すると説明した。ここで、オブジェクト内の一部の文字が選択された状態でオブジェクト変更処理が行われた場合に、オブジェクト変更前の選択文字が選択されているものとして、ステップＳ１の処理を行っても良い。
【符号の説明】
【００６０】
１０  ＰＣ
１２  ＣＰＵ
１６  ＬＣＤ
１８  入力インタフェース
２６  アプリケーションプログラム
２７  編集画面制御モジュール
２８  画像データ作成モジュール
３２  ＯＳ
【図１】
2019053604.tif 000003
【図２】
2019053604.tif 000004
【図３】
2019053604.tif 000005
【図４】
2019053604.tif 000006
【図５】
2019053604.tif 000007
【図６】
2019053604.tif 000008
【図７】
2019053604.tif 000009
【図８】
2019053604.tif 000010
【図９】
2019053604.tif 000011
【図１０】
2019053604.tif 000012