JP5049515B2 - 情報処理装置および情報処理方法および情報処理プログラム - Google Patents

情報処理装置および情報処理方法および情報処理プログラム Download PDF

Info

Publication number
JP5049515B2
JP5049515B2 JP2006157469A JP2006157469A JP5049515B2 JP 5049515 B2 JP5049515 B2 JP 5049515B2 JP 2006157469 A JP2006157469 A JP 2006157469A JP 2006157469 A JP2006157469 A JP 2006157469A JP 5049515 B2 JP5049515 B2 JP 5049515B2
Authority
JP
Japan
Prior art keywords
drawing order
objects
position information
changing
change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006157469A
Other languages
English (en)
Other versions
JP2007328029A (ja
Inventor
大次郎 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006157469A priority Critical patent/JP5049515B2/ja
Priority to US11/754,921 priority patent/US8773460B2/en
Priority to CN2007101106535A priority patent/CN101086833B/zh
Publication of JP2007328029A publication Critical patent/JP2007328029A/ja
Application granted granted Critical
Publication of JP5049515B2 publication Critical patent/JP5049515B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、オブジェクトに設定されている描画順に従って、複数のオブジェクトを出力することが可能な情報処理装置に関する。
コンピュータなどで使用される、図形やテキストなどのオブジェクトを用いてコンテンツを作成するアプリケーションにおいて、各オブジェクトは奥行方向に順番(以下、描画順、または奥行位置情報、またはzオーダと呼ぶ)が一意に設定されている。アプリケーションは、各オブジェクトに設定されている描画順に従って、オブジェクト同士の重なりを表現している。
従来技術において、オブジェクトの描画順を変更する場合、「前面へ移動」、「背面へ移動」などを指示することでオブジェクトの重なり状態を変更することが可能であった。この方法を用いることにより、操作の対象となったオブジェクトは、そのオブジェクトの描画順に対して1加算された描画順、または、1減算された描画順が設定されているオブジェクトとの描画順を入れ替えることができる。しかし、この方法では例えば図17に示すような場合において、課題が発生する。
図17では、各オブジェクトが、オブジェクト3401から3419の順に従って描画されている。つまり、オブジェクト3401が一番下に配置され、オブジェクト3419が一番上に配置されている。この状態で、新規オブジェクト3501を追加した場合、オブジェクト3501の描画順は、オブジェクト3419の上に配置される。
図17において、オブジェクト3501はオブジェクト3412の上に描画されているように見える。そのため、ユーザがオブジェクト3501をオブジェクト3411と3412の間に描画したいと考えた場合、ユーザは、オブジェクト3501を選択して、「背面へ移動」を指示する。しかしながら、オブジェクト3501とオブジェクト3412の間には、その他のオブジェクト(オブジェクト3413からオブジェクト3419)が存在しているため、ユーザは、「背面へ移動」という指示を繰り返さなければならない。
また、図17のような場面において、「背面へ移動」を一度指示したとしても、対象としているオブジェクトの描画順は変更されているにも関わらず見た目上は変化しないため、ユーザは操作が正常に行われたか否かわからないことがあった。
この課題を解決するために、特許文献1では、選択されたオブジェクトと重なっているオブジェクト群を特定する。そして、選択されたオブジェクトと特定されたオブジェクト群の中で選択されたオブジェクトの重なり順と最も近い重なり順が設定されているオブジェクトとの重なり関係を入れ替える技術が開示されている。
また、特許文献2には、複数のオブジェクトの重なりを変更する方法として、オブジェクトの選択順序を記憶しておき、選択順序に従って各オブジェクトの重なりを変更する技術が開示されている。
特開平07−152356号公報 特開平09−016368号公報
しかしながら、特許文献1に記載の技術では、選択されたオブジェクトと重なり位置が変更されるオブジェクトは、選択されたオブジェクトの重なり順と最も近い重なり順が設定されたオブジェクトである。その結果、選択されたオブジェクトと所望とする重なり順が設定されたオブジェクトの間に膨大な量のオブジェクトが存在する場合、ユーザは重なり変更処理を繰り返し実行しなければならず、ユーザの負担を解消できなくなるおそれがある。
また、特許文献2に記載の技術では、ユーザが重なり関係を変更したい場合、ユーザが所望とする重なり順序に従ってオブジェクトを選択しなければならない。そのため、大量のオブジェクトが存在した場合には、オブジェクト数分の選択処理を実行しなければならず、ユーザの処理負担を軽減できないおそれがある。
よって、いずれの技術を用いても、ユーザが所望とする重なり関係を実現すべく、複数のオブジェクトの描画順を容易に変更することができない。
本願は上記課題に鑑みてなされたものであり、ユーザが選択したオブジェクトを容易に任意の描画順に変更することを目的とする。
上述した課題を解決するために、本発明は、本発明に係る情報処理装置は、複数のオブジェクトの描画順に従って当該複数のオブジェクトを操作画面に表示する情報処装置であって、前記複数のオブジェクトが表示された操作画面を介して選択されたオブジェクトを第1オブジェクトとして選択する第1選択手段と、前記第1選択手段によって選択された前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報をユーザの指示に従って変更する位置変更手段と、前記第1オブジェクトと重なっている状態にある任意のオブジェクトが、前記位置変更手段による前記第1オブジェクトの位置情報の変更に応じて重ならない状態へ変化した場合、前記第1オブジェクトとは異なる前記任意のオブジェクトを、前記第1選択手段によって選択された第1オブジェクトの描画順を前記複数のオブジェクトの前記描画順において変更する際に基準となる第2オブジェクトとして選択する第2選択手段と、前記位置変更手段による前記第1オブジェクトの位置情報の更なる変更に応じて前記第2オブジェクトが前記第1オブジェクトと再度重なる状態へ変化した場合、前記第1選択手段により前記第1オブジェクトが選択される前の前記複数のオブジェクトの前記描画順において前記第1オブジェクトが前記第2オブジェクトよりも上に描画されていたかを判定する描画順判定手段と、前記描画順判定手段によって前記第1オブジェクトが前記第2オブジェクトよりも上に描画されていたと判定された場合、前記第1オブジェクトが前記第2オブジェクトの下に描画されるように前記複数のオブジェクトの前記描画順を変更する描画順変更手段を有することを特徴とする。
また、本発明は、複数のオブジェクトの描画順に従って当該複数のオブジェクトを操作画面に表示する情報処装置であって、前記複数のオブジェクトが表示された操作画面を介して選択されたオブジェクトを第1オブジェクトとして選択する第1選択手段と、前記第1選択手段によって選択された前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報をユーザの指示に従って変更する位置変更手段と、前記第1オブジェクトと重なっている状態にある任意のオブジェクトが、前記位置変更手段による前記第1オブジェクトの位置情報の変更に応じて重ならない状態へ変化した場合、前記第1オブジェクトとは異なる前記任意のオブジェクトを、前記第1選択手段によって選択された第1オブジェクトの描画順を前記複数のオブジェクトの前記描画順において変更する際に基準となる第2オブジェクトとして選択する第2選択手段と、前記位置変更手段による前記第1オブジェクトの位置情報の更なる変更に応じて前記第2オブジェクトが前記第1オブジェクトと再度重なる状態へ変化した場合、前記第1選択手段により前記第1オブジェクトが選択される前の前記複数のオブジェクトの前記描画順に従って前記第1オブジェクトが前記第2オブジェクトよりも下に描画されていたかを判定する描画順判定手段と、前記描画順判定手段によって前記第1オブジェクトが前記第2オブジェクトよりも下に描画されていたと判定された場合、前記第1オブジェクトが前記第2オブジェクトの上に描画されるように前記複数のオブジェクトの前記描画順を変更する描画順変更手段を有することを特徴とする。
以上、本発明を用いることによって、複数のオブジェクトが配置されている状態において、ユーザが選択したオブジェクトを容易に任意の描画順で出力できるようになり、操作性の向上を図れる。
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
<システム概要>
まず、本発明に係る文書処理システムの概要について、図1乃至図12を参照して以下に説明する。尚、この文書処理システムは、一般アプリケーションによって作成されたデータファイルを電子原稿ファイルに変換する電子原稿ライタと、その電子原稿ファイルを編集する機能を提供する製本アプリケーションとを含む。そして、製本アプリケーションは、一般アプリケーションによって作成されたデータを一まとめにした文書の作成及び編集を可能とし、その操作性を向上させて文書編集を効率的に行える。
<システム構成及び動作>
図1は、本実施形態の文書処理システムのソフトウェア構成を示す図である。文書処理システムは、本発明の情報処理装置に好適な実施形態であるデジタルコンピュータ100(以下、ホストコンピュータとも呼ぶ)によって実現される。図1に示す一般アプリケーション101は、ワードプロセシング、フォトレタッチ、ペイント、プレゼンテーション、テキスト編集などの機能を提供するプログラムであり、OSに対する印刷機能を有している。これらのアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷する際に、オペレーティングシステム(OS)によって提供される所定のインタフェース(一般に、GDIと呼ばれる)を利用する。即ち、アプリケーション101は、作成したデータを印刷するために、上述のインタフェースを提供するOSの出力モジュールに対して、OSに依存する形式の出力コマンド(GDI関数と呼ばれる)を送信する。一方、出力コマンドを受けた出力モジュールは、その出力コマンドをプリンタ等の出力デバイスが処理可能な形式に変換して、変換されたコマンド(DDI関数と呼ばれる)を出力する。出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるため、デバイスごとにデバイスドライバが提供されている。デバイスドライバは、アプリケーションデータに基づく印刷データを生成し、JL(Job Language)でくくることにより印刷ジョブを生成する。OSとしてマイクロソフト社のウインドウズを利用する場合、前述した出力モジュールとしてはGDI(Graphic Device Interface)と呼ばれるモジュールが相当する。
電子原稿ライタ102は、上述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。但し、電子原稿ライタ102は特定の出力デバイスを目的としておらず、詳細は後述する製本アプリケーション104やプリンタドライバ106により処理可能な形式に出力コマンドを変換する。この電子原稿ライタ102による変換後の形式(以後電子原稿形式と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうち、例えばアドビシステムズによるPDF形式やSVG形式などが電子原稿形式として採用できる。
一般アプリケーション101から電子原稿ライタ102を利用させる場合、出力に使用するデバイスドライバとして電子原稿ライタ102が指定される。但し、電子原稿ライタ102によって作成された電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ102を指定するのは製本アプリケーション104であり、その管理下でアプリケーションデータの電子原稿ファイルへ変換される。そして、製本アプリケーション104は電子原稿ライタ102が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。以下、この点を明瞭に識別する必要がある場合、電子原稿ライタ102によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション104によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
このようにデバイスドライバとして電子原稿ライタ102を指定し、一般アプリケーション101によりデータを印刷させることで、アプリケーションデータはアプリケーション101によって定義されたページを単位とする電子原稿形式に変換される。そして、アプリケーションデータは、電子原稿ファイル103としてハードディスクなどの記憶媒体に格納される。なお、アプリケーションによって定義されるページを以後論理ページあるいは原稿ページと呼ぶ。また、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであっても良く、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
製本アプリケーション104は電子原稿ファイル(あるいはブックファイル)103を読み込み、それを編集するための機能を利用者に提供する。但し、製本アプリケーション104は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
製本アプリケーション104によって編集されたブックファイル103を印刷する際、製本アプリケーション104によって電子原稿デスプーラ105が起動される。電子原稿デスプーラ105は、製本アプリケーションと共にコンピュータ内にインストールされるプログラムモジュールである。電子原稿デスプーラ105は、製本アプリケーションで利用するドキュメント(ブックファイル)を印刷する際、プリンタドライバへ描画データを出力するために使用されるモジュールである。電子原稿デスプーラ105は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際、出力デバイスとして使用されるプリンタ107用のプリンタドライバ106がデバイスドライバとして指定される。上述の出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して指定されたプリンタ107用のプリンタドライバ106に出力し、そのプリンタドライバ106がプリンタ107で解釈実行可能なページ記述言語等のコマンドに変換する。そして、変換されたコマンドはプリンタドライバ106から不図示のシステムスプーラを介してプリンタ107に送信され、プリンタ107によってコマンドに応じた画像が印刷される。
図2は、コンピュータ100とコンピュータ100に接続されるプリンタ107のハードウェアブロック図である。図2において、CPU201は、ROM203のプログラム用ROMに記憶された、あるいはハードディスク211からRAM202にロードされたOSや一般アプリケーション、製本アプリケーションなどのプログラムを実行する。さらにCPU201は、図1のソフトウェア構成や、後述するフローチャートの処理を実現する。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等とのアクセスを制御する。PRTC208は、接続されたプリンタ107との間の信号の交換を制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
以下、プリンタ107の構成について説明する。尚、本発明の機能が実現されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN、WAN等のネットワークを介して接続がなされ、処理が行われるシステムであっても本発明を適用できる。
図示するように、プリンタ107において、1301はプリンタCPUである。CPU1301は、ROM1302のプログラム用ROMまたは外部メモリ1303に記憶された制御プログラム等によりシステムバス1304に接続される印刷部I/F1305を介して印刷部(プリンタエンジン)1306に出力情報として画像信号を出力する。また、このROM1302内のプログラムROMには、CPU1301の制御プログラム等が記憶され、ROM1302内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等が記憶される。さらに、ROM1302内のデータ用ROMには、ハードディスク等の外部メモリ1303がないプリンタの場合、ホストコンピュータ100上で利用される情報等が記憶されている。
また、CPU1301は、入力部1307を介してホストコンピュータ100との通信処理が可能となっており、プリンタ107内の情報等をホストコンピュータ100に通知できる。RAM1308は、CPU1301の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。尚、RAM1308は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。上述したハードディスク(HD)、ICカード等の外部メモリ1303は、メモリコントローラ(MC)1309によりアクセスを制御される。外部メモリ1303は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル1311は操作のためのスイッチ及びLED表示器等で構成されている。また、上述の外部メモリ1303は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。更に、図示しないNVRAMを有し、操作パネル1311からのプリンタモード設定情報を記憶するようにしても良い。
<電子原稿データの形式>
製本アプリケーション104の詳細を言及する前に、ブックファイルのデータ形式について説明する。ブックファイルは紙媒体の書物を模倣した3層の層構造を有する。まず、上位層は「ブック」と呼ばれ、1冊の本を模倣しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章毎の属性が定義できる。そして、下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。尚、各ページについてもページ毎の属性が定義できる。更に、一つのブックは複数の章を含んでいてよく、また一つの章は複数のページを含むこともできる。
図3に示す(A)は、ブックファイルの形式の一例を模式的に示す図である。図示するように、この例では、ブックファイルにおけるブック、章、ページは、それぞれに相当するノードにより示されている。1つのブックファイルは1つのブックを含む。ブック、章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページ毎のデータを実体として有する。そのため、ページは、その属性値のほかに、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
図3において、ブック301には、ブック属性が定義されていると共に、2つの章302A,302Bがリンクされている。このリンクにより、章302A、302Bがブック301に包含されていることが表示される。章302Aには、ページ303A、303Bがリンクされ、これらページが含まれることが示されている。各ページ303A、303Bにはそれぞれ属性値が定義され、その実体である原稿ページデータ(1)、(2)へのリンクが含まれる。これらリンクは、図3に示す(B)のように原稿ページデータ304のデータ(1)、(2)を指し示し、ページ303A、303Bの実体が原稿ページデータ(1)、(2)であることを表示している。
図4は、ブック属性のリストである。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先的に採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、ブック属性として設定された内容が有効な値となる。尚、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。
図5は章属性の、図6はページ属性のリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。図4〜図6から明らかなように、ブック属性に固有の項目は、印刷方法、製本詳細、表紙/裏表紙、インデックス紙、合紙、章区切りの6項目である。これらはブックを通して定義される項目である。印刷方法の属性としては、片面印刷、両面印刷、製本印刷の3つの値を指定できる。ここで、製本印刷とは、別途指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
表紙/裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きインデックス紙の挿入の指定及びインデックス(耳)部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
合紙属性は、章の区切りとして、インサータから、あるいは給紙カセットから供給される用紙の挿入の指定、及び合紙を挿入する場合には、給紙元の指定などを含む。章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
章属性に関しては、章に固有の項目はなく、全てブック属性と重複する。従って、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、N−up印刷指定、拡大縮小、排紙方法の5項目である。これらのうち、N−up印刷指定属性は1印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、1×1、1×2、2×2、3×3、4×4などがある。排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを100%として指定される。仮想論理ページ領域とは、原稿ページを、Nup等の指定に応じて配置した場合に、1原稿ページが占める領域である。例えば、1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
ブック、章、ページについて共通な属性としては、ウォーターマーク属性及びヘッダ・フッタ属性がある。ここで、ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、ヘッダ・フッタには、ページ番号や日時など変数により指定可能な項目が用意されている。尚、ウォーターマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックには、ウォーターマーク、ヘッダ・フッタの内容を設定可能であり、また、ブック全体を通してどのようにウォーターマーク、ヘッダ・フッタを印刷するかを指定できる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
<ブックファイルの生成手順>
ブックファイルは上述したような構造及び内容を有している。次に、製本アプリケーション104及び電子原稿ライタ102によるブックファイルの作成手順について説明する。ブックファイルの作成手順は、製本アプリケーション104によるブックファイルの編集操作の一環として実現される。
図7は、製本アプリケーション104によりブックファイルを開く際の手順である。なお、本願のフローチャートにおける各ステップはホストコンピュータのCPU201によって実行される。
製本アプリケーション104は、開こうとするブックファイルが新規作成すべきものであるか、それとも既存のものであるか判定する(ステップS701)。新規作成の場合、製本アプリケーション104は、章を含まないブックファイルを新規に作成する(ステップS702)。新規に作成されるブックファイルは、図3の例で示せば、ブックノード301のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、製本アプリケーション104は、新規ブックファイルを編集するためのユーザインタフェース(UI)画面を表示する(ステップS703)。図11は、新規にブックファイルが作成された際のUI画面の一例である。この場合は、ブックファイルは実質的な内容を持たないため、UI画面1100には何も表示されない。
一方、既存のブックファイルがあれば、製本アプリケーション104は、指定されたブックファイルを開き(ステップS703)、そのブックファイルの構造、属性、内容に従ってユーザインタフェース(UI)画面を表示する。図10は、既存のブックファイルから指定されたブックファイルを表示するUI画面の一例である。UI画面1100は、ブックの構造を示すツリー部1101と、印刷された状態を表示するプレビュー部1102とを含む。ツリー部1101には、ブックに含まれる章、各章に含まれるページが図3に示す(A)のような木構造で表示される。ツリー部1101に表示されるページは原稿ページである。またプレビュー部1102には、印刷ページの内容が縮小されて表示される。その表示順序はブックの構造を反映したものとなっている。
開かれたブックファイルには、電子原稿ライタ102によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。図7に示す手順によって新規に作成されたブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられる。この機能は、図10の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。
図8に電子原稿インポートの手順を示す。まず、製本アプリケーション104は、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動する。そして、製本アプリケーション104は、デバイスドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷出力することで、電子原稿データに変換する(ステップS801)。変換を終えたら、製本アプリケーション104は、変換されたデータが画像データであるか否かを判定する(ステップS802)。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行われる。例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればjpeg圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、このような画像データの場合、製本アプリケーション104は、アプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能である。
一方、S802の判定により、画像データでないと判定された場合、製本アプリケーション104は、ステップS801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する(ステップS803)。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、予め用意された規定値に設定される。
また、ステップS802で画像データである場合、製本アプリケーション104は、原則として新たな章を追加せず、指定されている章に、ステップS801で生成された電子原稿ファイルに含まれる各原稿ページを追加する(ステップS804)。但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、Nup指定などがアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
図9は、図8に示すステップS801において、電子原稿ライタ102により電子原稿ファイルを生成させる手順のフローチャートである。まず、製本アプリケーション104は、新たな電子原稿ファイルを作成してそれを開く(ステップS901)。製本アプリケーション104は、指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタをデバイスドライバとしてOSの出力モジュールに対して出力コマンドを送信する。出力モジュールは、受信した出力コマンドを電子原稿ライタ102によって電子原稿形式のデータに変換し、出力する(ステップS902)。その出力先はステップS901で開いた電子原稿ファイルである。製本アプリケーション104は、指定されたデータ全てについて変換が終了したか判定し(ステップS903)、終了していれば電子原稿ファイルを閉じる(ステップS904)。電子原稿ライタ102によって生成される電子原稿ファイルは、図3の(B)に示される原稿ページデータの実体を含むファイルである。
<ブックファイルの編集>
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
(1)新規追加
(2)削除
(3)コピー
(4)切り取り
(5)貼り付け
(6)移動
(7)章名称変更
(8)ページ番号名称振り直し
(9)表紙挿入
(10)合紙挿入
(11)インデックス紙挿入
(12)各原稿ページに対するページレイアウト。
このほか、一旦行った編集操作を取り消す操作や、更に取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などの編集操作が可能となる。これらの操作を行うと、図4、図5に示す属性に操作結果が反映、あるいはブックファイルの構造に反映される。例えば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やN−up印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
<ブックファイルの出力>
以上のように作成・編集されるブックファイルは、印刷出力を最終目的とするものである。ここで、利用者が図10に示した製本アプリケーションのUI画面1100からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、まず製本アプリケーション104は、現在開かれているブックファイルからジョブチケットを作成し、そのジョブチケットを電子原稿デスプーラ105に渡す。
一方、電子原稿デスプーラ105は、ジョブチケットをOSの出力コマンド、例えばウインドウズのGDI関数に変換し、それを出力モジュール、例えばGDIに送信する。出力モジュールは、指定されたプリンタドライバ106によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
ここで、ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは1ジョブにつき1つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷/片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子やプリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。1シートは1枚の用紙に相当する。各シートには、印刷ページ(物理ページ)が属する。片面印刷ならば1シートには1物理ページが属し、両面印刷ならば1シートに2物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。電子原稿デスプーラ105は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
<そのほかのシステム構成>
本実施形態の文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルを作成・編集できる。但し、ブックファイルや印刷処理はサーバによって管理される。
図12は、サーバクライアント型文書処理システムの構成を示すブロック図である。クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるDOMSドライバ109及びDOMSプリントサービスモジュール110、DS(文書サービス)クライアントモジュール108を加えた構成を有する。なお、DOMSとは、文書出力管理サービスであり、Document Output Management Serviceの略である。
このクライアント文書処理システム1200に文書管理サーバ1201、印刷集中管理サーバ1202及びプリントサーバ1203が接続されている。これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。
尚、図12に示す例では、文書管理サーバ1201と印刷集中管理サーバ1202の両方のサーバがクライアントに接続されているが、何れか一方のみネットワーク上に存在する場合もあり得る。例えば、接続されているサーバが文書管理サーバであれば、そのクライアントモジュール108を含む文書管理サーバクライアントシステム1201SCがスタンドアロン型文書管理システムに追加される。また、接続されているサーバが印刷集中管理サーバ1202であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム1202SCが、スタンドアロン型文書管理システムに追加される。
文書管理サーバ1201は、製本アプリケーション104により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ1201によってブックファイルを管理する場合、ブックファイルは、文書管理サーバ1201のデータベース1211に保存される。製本アプリケーション104と文書管理サーバ1201との間のブックファイルの保存及び読み出しは、DSクライアント108及びDSコア1212を介して行われる。
印刷集中管理サーバ1202は、クライアント文書管理システム1200に格納された、あるいは文書管理サーバ1201に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、DOMSドライバ109およびDOMSプリントサービスモジュール110を介して印刷集中管理サーバ1202のDOMSWGサーバモジュール1221に送信される。集中印刷管理サーバ1202は、クライアントのプリンタで印刷する場合にはクライアントのDOMSプリントサービスモジュール110を介して電子原稿デスプーラ105に電子原稿データを渡す。また、プリントサーバ1203により印刷する場合、集中印刷管理サーバ1202は、電子原稿データをプリントサーバ1203のDOMSプリントサービスモジュール1203に送信する。集中印刷管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
<プレビュー表示の内容>
既に説明した通り、ブックファイルが製本アプリケーションによって開かれると、図10に示したユーザインタフェース画面1100が表示される。ツリー部1101には、開いているブック(以下、「注目ブック」と呼ぶ)の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、3通りの表示方法が用意されている。まず、第1は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。この原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。尚、プレビュー部1102の表示にレイアウトは反映されない。次に、第2は印刷ビューモードである。この印刷ビューモードでは、プレビュー部1102には原稿ページのレイアウトが反映された形で原稿ページが表示される。そして、第3は簡易印刷ビューモードである。この簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
<ブックファイル編集機能>
製本アプリケーション104にて生成されたブックファイルに対して、文章・画像の編集を行うことを可能とする原稿エディタを備える。なお、原稿エディタは製本アプリケーションに含まれる1つの機能である。
製本アプリケーション104は、原稿エディタを起動し、ブックファイルを論理ページ毎に編集することが可能である。図13は原稿エディタの起動フローを示している。まず製本アプリケーション104は、選択された原稿ファイルに対してメニューを表示し(S1501)、メニューより“原稿エディタ”が選択されたことを認識する(S1502)。製本アプリケーション104は、原稿エディタを起動し、メイン画面を表示する(S1503)。なお、上述した原稿エディタは、製本アプリケーション104の機能である。原稿エディタの起動は、インポートされた原稿ファイルをマウスポインタで選択し、ポップアップメニューを表示させ、メニュー内の“原稿エディタ”を選択することで実行される。なお、その他(たとえばツールボタン、メニューアイテム)の方法により原稿エディタを起動しても良い。
次に、原稿エディタで行える編集機能について説明をする。図14は原稿エディタの全体UIを示している。1601は原稿エディタ、1602はメニューバー、1603はツールボタン、1604はページ移動ボタン、1605はズーム指定ボックス、1606は編集対象の原稿ファイルである。また、1607はテキストオブジェクト、1608、1609は図形オブジェクト、1610は直線オブジェクトを示している。これらを元に各編集機能について説明を行う。
<テキスト編集機能>
マウスポインタで原稿ファイル1606内のテキスト1607上を選択すると、選択されたテキストがオブジェクトとしてマッチングされ、選択状態となる。選択状態になったオブジェクトにはコントロールハンドルが表示され、選択されたことをユーザに示す。なお、コントロールハンドルに限られることなく、テキストオブジェクトの外接矩形が表示されても良い。テキストオブジェクトは、選択して移動・削除・テキスト属性の変更・テキストの追加・削除などの操作を行うことができる。
製本アプリケーション104は、マウスポインタで選択された原稿ファイル内のテキストを、テキストオブジェクトとして抽出する。続いて、製本アプリケーション104は、抽出されたテキストオブジェクトに対して、テキストの追加、テキストの削除、テキスト属性の変更、テキストオブジェクトの移動・削除などの編集を施す。
製本アプリケーションは、テキストの追加処理も可能である。選択状態になっているテキストオブジェクトを再度マウスポインタで選択すると、テキストオブジェクトが矩形で囲まれ、編集カーソルが表示される。テキストを追加する位置にカーソルを移動させ、文字を入力すると、テキストオブジェクトに入力した文字が追加される。また、同様にテキストを削除することも可能である。
テキスト属性の編集について、各テキストオブジェクト内のテキストは属性を持っており、その属性についても編集することが可能である。テキスト属性には、フォント・スタイル・サイズ・色・文字装飾・文字間隔・水平スケーリング率・単語間隔などがある。それぞれの意味、設定方法については、公知であるため説明は省略する。
<テキストボックス編集機能>
前述したテキストオブジェクトは1行に限定された編集であったが、原稿エディタは複数行のテキストを新規に作成する機能を有する。複数行のテキストを作成する際には、テキストボックスを用いる。
製本アプリケーション104は、テキストボックス作成モードへ遷移し、マウスドラッグの矩形でテキストボックスを生成する。次に、製本アプリケーション104は、作成したテキストボックスに対して、テキストオブジェクトの編集(前述した1行テキストの編集操作と同じ)、テキストボックス属性の編集、テキストボックスの移動・削除などの編集を施す。
テキストボックス作成について説明する。原稿ファイル1606上にテキストボックス作成モードで、マウスポインタ1903を用いて矩形を描画すると、テキストボックスが作成される。作成されたテキストボックスには、新規作成時およびボックスを選択時に、コントロールハンドルが表示される。コントロールハンドルをマウスポインタでドラッグすることにより、ボックスのリサイズが可能である。
選択状態のテキストボックスを再度マウスポインタで選択すると、テキストオブジェクト編集の時と同様に、ボックス内に編集カーソルが表示される。その状態で、テキストを入力することにより、テキストボックスにテキストを追加することが可能である。また、テキストの削除についてもテキストオブジェクトの時と同様の方法で、行うことが可能である。なお、入力されたテキストが適すとボックスの右端までに収まらない場合、テキストは改行されて表示される。
テキストボックスおよびテキストボックス内のテキストについてもテキストオブジェクトと同様に属性を編集することが可能である。テキストボックスの属性には、線種・線幅・線の色・塗りつぶし・不透明度などがある。テキストボックス内のテキストの属性は、手テキストオブジェクトと同様である。それぞれの意味、設定方法については、公知であるため説明は省略する。
<イメージ編集機能>
次に、原稿エディタにおけるイメージの編集機能について説明をする。イメージの編集機能には、“イメージの挿入”と“イメージの書き出し”がある。イメージの挿入について説明をする。製本アプリケーション104は、イメージ挿入モードに遷移し、イメージ選択ダイアログを表示し、ダイアログで選択されたイメージをエディタ上に表示する。製本アプリケーション104は、表示されたイメージに対して指示された回転や移動・削除などの編集を施す。
UIを介してイメージの挿入が指示されると、製本アプリケーション104は、イメージの挿入ダイアログを表示する。イメージ挿入ダイアログで挿入するイメージファイルを選択することで、原稿上にイメージオブジェクトが挿入される。前述した方法でイメージを挿入すると、原稿ファイル1606にイメージが挿入される。イメージの挿入される位置については、原稿ファイルの中心となる。ただし、位置については、中心に限定せずに原稿ファイルの左上基準、左下基準などユーザビリティを考慮して変更できるようにしても良い。また、挿入の方法についても、メニューからの挿入だけでなく、ツールボタンなどで行えるようにしても良い。挿入したイメージ、もしくは原稿ファイルに配置されたイメージオブジェクトに対しては、回転、移動・削除と言った編集を行うことができる。
次にイメージの書き出しについて説明する。製本アプリケーション104は、ユーザにより選択されたイメージを抽出し、ポップアップメニューなどからイメージ書き出しダイアログを表示させる。そして、書き出し先(場所)や書き出すイメージのファイル名などが入力されると、製本アプリケーション104は、入力された位置に対してイメージを保存する。製本アプリケーション104は、ユーザにより指定されたイメージを書き出すイメージとして選択し、イメージの書き出しを指定する。イメージの書き出しが指定されると、イメージの書き出しダイアログを表示する。表示したダイアログ内で設定した書き出し場所・イメージファイル名を適用させイメージの書き出しを行う。
<図形オブジェクト編集機能>
次に、原稿エディタにおける図形オブジェクトの編集機能について説明をする。図形オブジェクトの種類には、四角形・楕円・角丸四角形・直線・オートシェイプ・その他任意図形が存在する。それらの図形オブジェクトの新規作成および編集を行うことが可能である。原稿ファイルの描画されている図形オブジェクトに対しても選択すること、および編集を加えることができる。新規作成、および編集操作については、移動・削除や各属性(色・線種など)の変更など公知の技術であるため、個々の説明は省略する。
製本アプリケーション104は、図形オブジェクト作成フローに遷移し、マウスドラッグで描画された矩形により、図形オブジェクトを作成する。製本アプリケーション104は、図形オブジェクトに対して編集(属性の編集や移動・削除など)を施すオブジェクトを新規作成する場合、ツールバー1602からオブジェクトを選択し、所望とするオブジェクト(例えば、直線、四角形等)を選択して、マウスドラッグを実行すると選択されたオブジェクトが作成される。また、オブジェクトは選択状態になるとコントロールハンドルが表示され、選択されたことをユーザに認識させる。
<奥行位置情報変更機能>
上記で説明したテキストオブジェクト、テキストボックス、イメージ、図形オブジェクトなどの全てのオブジェクトは、図15で図示されるように画面上で描画される順番を示す奥行位置情報(描画順ともいう)3305が付加されている。なお、本願では各オブジェクトの描画順を示す奥行位置情報を数字で表し、数字の数が少ないほど最初に描画されることを示す。つまり、図15では、オブジェクト3301、3302、3303、3304の順で描画される。なお、3305は、奥行位置情報を示す図である。また、画面上で表示される状態としては奥行位置情報が1のオブジェクト3301が一番下(奥)に配置され、奥行位置情報がオブジェクト数の数であるオブジェクト3304が一番上(手前)に配置される。
図16は、図14の論理ページの奥行位置情報を示した図である。図16では、オブジェクト3401から3419の順に従って描画される。つまり、オブジェクト3419が一番上(手前)に配置され、表示される。このように、本願の情報処理装置は、複数のオブジェクトの描画順に従って、それらの複数のオブジェクトを操作画面に表示する。
図17に、オブジェクト3501が新規に追加された状態を示す。新規に追加されたオブジェクト3501には追加された後のオブジェクト数が新規オブジェクトの奥行位置情報として格納される。例えば、図17ではオブジェクト3501が追加されるまでは、19個のオブジェクトが存在していた。ここで、オブジェクト3501が追加されることによりオブジェクト数が20個になった。そのため、製本アプリケーション104は、オブジェクト3501の奥行位置情報に20を格納する。
次に、原稿エディタにおけるオブジェクトの奥行位置情報変更機能について説明をする。奥行位置情報変更機能は、オブジェクトに付加されている奥行位置情報を変更する機能である。ユーザは特定の操作を実行すると奥行位置情報変更機能のUIが表示される。UIに表示される変更方法の一例としては、「最前面へ移動」、「最背面へ移動」、「前面へ移動」、「背面へ移動」が挙げられる。「最前面へ移動」が選択された場合、製本アプリケーション104は、指定されたオブジェクトの奥行位置情報をオブジェクト数に変更する。「最背面へ移動」が選択された場合、製本アプリケーション104は、指定されたオブジェクトの奥行位置情報を「1」に変更する。「前面へ移動」が選択された場合、製本アプリケーション104は、指定されたオブジェクトの奥行位置情報を「1」増加し、指定したオブジェクトの奥行位置情報より「1」大きいオブジェクトの奥行位置情報を「1」減らす。「背面へ移動」が選択された場合、製本アプリケーション104は、指定されたオブジェクトの奥行位置情報を「1」減少し、指定したオブジェクトの奥行位置情報より「1」大きいオブジェクトの奥行位置情報を「1」増やす。
製本アプリケーション104は、奥行位置情報変更後の奥行位置情報に従って全てのオブジェクトを表示することで、ユーザにより選択された変更処理を反映した表示結果を出力することが可能となる。
<移動による奥行位置情報変更機能>
オブジェクトの編集操作であるオブジェクトの移動時に奥行位置情報を変更する機能について説明する。図18は、移動時奥行位置情報変更の処理手順を示したフローチャートである。
製本アプリケーション104は、ユーザが設定画面を介して指示した奥行変更モードに従って、奥行位置情報変更モードを切り替える(S3701)。本願において移動時のモードとしては、移動のみを行う「通常移動モード」と、「移動時に奥行位置情報の変更を同時に行う」モードを設ける。図19に、奥行変更モードへ切り替えるためのUI例を示す。図19において3801または、3802が選択された場合、製本アプリケーション104は、「オブジェクト移動時に同時に行う」モードに切り替える。
次に、製本アプリケーション104は、奥行位置情報の変更対象となる操作対象オブジェクトを選択する(S3702)。選択方法の1つとして製本アプリケーション104は、ユーザによって選択された範囲内に存在するオブジェクトを操作対象オブジェクトとする。その他には、製本アプリケーション104が、ユーザによって選択された変更オブジェクトを選択したときに、その変更オブジェクトと重なっていたオブジェクトを操作対象オブジェクトとする方法も挙げられる。さらに、製本アプリケーション104は、オブジェクトの種類から判断し、例えばテキストオブジェクトは操作対象オブジェクトから外すなどの方法も挙げられる。また、製本アプリケーション104は、全てのオブジェクトを操作対象オブジェクトとすることも可能である。
また、ユーザが特定の操作を実行すると操作対象オブジェクトを指定するためのUIが表示される。設定画面を介して「動作範囲の選択をする」が選択され、「手動」が選択された場合、ユーザは、マウス等を用いて範囲選択する。そして、製本アプリケーション104は、選択された範囲内に含まれるオブジェクトを操作対象オブジェクトとして選択する。
マウスでドラッグアンドドロップ操作を行った場合、ドラッグアンドドロップ操作による矩形領域にオブジェクト全てが含まれているオブジェクトが操作対象オブジェクトとなる。また、ドラッグアンドドロップ矩形領域での選択方法は、一部でも矩形領域に含まれるオブジェクトを操作対象オブジェクトとしてもよい。ユーザが、操作対象オブジェクトを指定するためのUIを介して「変更するオブジェクトと重なっているオブジェクトを選択する」を選択する。その場合、製本アプリケーション104は、後述するS3703において選択された変更オブジェクトと重なるオブジェクトを操作対象オブジェクトとして選択する。
図20に変更オブジェクトと重なりがあったオブジェクトを操作対象オブジェクトとする例を示す。ユーザが、変更オブジェクト4101を選択した後の重なり判定(S3705)において、製本アプリケーション104が、選択された変更オブジェクト4101と重なっていると判断したオブジェクト4102を操作対象オブジェクトとする。
また、操作対象オブジェクトを指定するためのUIには、「テキストオブジェクトは選択しない」、「イメージオブジェクトは選択しない」等が含まれる。これらが選択された場合、製本アプリケーション104は、オブジェクトの属性によって操作対象オブジェクトを選択する。
図18の説明に戻る。次に、製本アプリケーション104は、ユーザが複数のオブジェクトが表示された操作画面を介して選択したオブジェクトを、奥行位置情報(描画順)を変更したい変更オブジェクトとして選択する(S3703)。これは、移動時に移動したいオブジェクトを選択する方法と同様の方法で選択できる。なお、変更オブジェクトは複数選択することもできる。
図21は、変更オブジェクト選択時の処理を示すフローチャートである。まず、製本アプリケーション104は、選択された変更オブジェクトが複数であるか否かを調べる(S4301)。複数の変更オブジェクトが選択されたと判定された場合、製本アプリケーション104は、変更オブジェクトとして選択されたオブジェクト内で最も大きな奥行位置情報を探す。そして、製本アプリケーション104は、選択されたオブジェクト内で一番手前(上)に配置されるオブジェクトから小さい奥行位置情報側に変更オブジェクトが連続して並ぶように奥行位置情報を並べ替える(S4302)。例えば、ユーザが、図22に示すようにオブジェクトが配置されている状態で複数の変更オブジェクト4401を選択する。選択する前の状態では奥行位置情報が「2」と「5」と「7」のオブジェクトである。図23に選択後のオブジェクトの配置状態を示す。S4302の処理が実行されると変更オブジェクトの奥行位置情報は、変更オブジェクト内で最大値である「7」から連続するように変更される。変更の際、製本アプリケーション104は、変更オブジェクト内で奥行の位置関係は変わらないように変更する。すなわち、図22では、2番目に大きな値である「5」が「7」に続く「6」に変更され、次に大きな値である「2」が「5」に変更される。その変更結果が図23である。その後、変更オブジェクト以外のオブジェクトについても同様に奥行の位置関係は変わらないように、奥行位置情報が変更される。
変更オブジェクトの選択後、製本アプリケーション104は、移動中の変更オブジェクトの奥行位置情報を管理するための現在奥行位置情報にS3703によって選択された変更オブジェクトの奥行位置情報を格納する(S3704)。なお、複数の変更オブジェクトが選択されている場合、製本アプリケーション104は、選択された変更オブジェクトの中で最前面のオブジェクトの奥行位置情報(つまり、本願では、奥行位置情報の最大値)を現在奥行位置情報として格納する。
製本アプリケーション104は、選択された変更オブジェクトと重なっているオブジェクトを調べるために重なり判定を行う(S3705)。つまり、製本アプリケーション104は、各オブジェクト間の重なり状態を判定する。なお、S3705の処理は、各オブジェクトの描画領域または描画領域に対する外接矩形に従って各オブジェクトの重なりを判定する。
図37は、オブジェクトの外接矩形と描画領域を示した図である。製本アプリケーション104は、重なりを調べる2つのオブジェクトの外接矩形6001の幅と高さから重なる領域があるかどうかを判断する。オブジェクトの外接矩形同士が重なる領域6003が存在した場合、製本アプリケーション104は、2つのオブジェクトの外接矩形が重なっていた領域6003を描画する。そして、製本アプリケーション104は、領域6003内の1ドットごと両方のオブジェクトで描画されているドットがあるかを判定する。ここで製本アプリケーション104が、両方のオブジェクトで描画されているドットがあると判定した場合、二つのオブジェクトは重なっていると判断する。この方法を用いると、実際にオブジェクトが描画されている領域6002が重なっているか否かを判定できる。
オブジェクトの重なり判定方法としては、オブジェクトの外接矩形6001を用いてもよい。この場合、実際にオブジェクト同士が重なっていなくても外接矩形が重なっていれば、重なっていると判定する。また、上述した重なり判定の方法は一例であり、重なりを判定できる方法であればその他の方法を用いても良い。
図24は、オブジェクトが描画されている領域を基準に重なり判定を実行した結果を示す図である。図24(1)においてオブジェクト4601と4602は、各オブジェクトの描画領域において重なりが生じているため、製本アプリケーションは、オブジェクト4601と4602について重なっていると判定する。
また、図24(2)において、オブジェクト4603と4604では、各オブジェクトの描画領域は重なっていないが、各オブジェクトの外接矩形は重なっている。しかしながら、図24では、オブジェクトが描画されている領域を基準に重なりを判定しているため、製本アプリケーションは、オブジェクト4603と4604は重なっていないと判定する。なお、オブジェクト4603および4604を囲む点線が外接矩形を表す。
図24(3)において、オブジェクト4605とオブジェクト4606は、描画領域および外接矩形において重なりが生じていないため、製本アプリケーション104は、重なっていないと判定する。なお、オブジェクト4605および4606を囲む点線が外接矩形を表す。
図25は、オブジェクトの外接矩形を基準に重なり判定を実行した結果を示す図である。
図25(1)において、オブジェクト4701と4702は、各オブジェクトの描画領域において重なりが生じているため、製本アプリケーションは、オブジェクト4701と4702について重なっていると判定する。
また、図25(2)において、オブジェクト4703と4704では、各オブジェクトの描画領域は重なっていないが、各オブジェクトの外接矩形は重なっている。図25では、オブジェクトが描画されている領域の外接領域を基準に重なりを判定しているため、製本アプリケーションは、オブジェクト4703と4704は重なっていると判定する。
図25(3)において、オブジェクト4705とオブジェクト4706は、描画領域および外接矩形において重なりが生じていないため、製本アプリケーション104は、重なっていないと判定する。
次に、製本アプリケーション104は、ユーザの指示に従って変更オブジェクトの移動を行なう(S3706)。つまり、S3706の処理は、製本アプリケーション104が、選択された変更オブジェクトの水平方向または垂直方向の位置を示す位置情報を変更する処理に該当する。製本アプリケーション104は、移動時に変更オブジェクトと重なりが発生し、さらに変更オブジェクトを移動することで重ならない状態への変化が最後に起こったオブジェクトを指標オブジェクトとする。そして、変更オブジェクトが指標オブジェクトと再度重なった場合、製本アプリケーション104は、指標オブジェクトと現在奥行位置情報との奥行位置関係が入れ替わるように現在奥行位置情報を変更する。
製本アプリケーション104は、変更オブジェクトの移動終了時に現在奥行位置情報として保持されている情報を変更オブジェクトの奥行位置情報を設定し、それに伴い変更が必要なその他のオブジェクトの奥行位置情報を変更する(S3707)。詳細な処理の内容については後述する。なお、移動終了時の一例は、ユーザがドラッグアンドドロップ処理に、マウスから手を離した時点が挙げられる。
奥行位置情報変更後、製本アプリケーション104は、位置固定モードが選択されていた場合(S3708―Yes)、変更オブジェクトの位置をS3706による移動処理が実行される前の位置に戻す(S3709)。具体的には、製本アプリケーション104が、S3706の移動処理が行われる前の変更オブジェクトの位置情報を一時的に記憶しておくことで、S3709の処理が可能となる。位置固定モードは、特定のキーを選択することにより設定される。このように、製本アプリケーション104は、変更オブジェクトの位置情報の変更に従って複数のオブジェクトの描画順が変更された場合、変更オブジェクトの位置情報をS3706による移動処理が実行される前の位置情報へ戻すことができる。
次に、オブジェクトの移動処理の詳細な説明をする。図26は、図18のS3706、S3707を説明するためのフローチャートである。
図26に示す一連の処理は、マウスから移動信号が発生されるたびに行われる。
まず、ユーザがマウスを操作することにより発生した移動信号を受信すると、製本アプリケーション104は、選択されている変更オブジェクトの位置を移動する(S4801)。そして、製本アプリケーション104は、S4801により指定された場所に変更オブジェクトを移動した後、その移動後の場所において各操作対象オブジェクトとの重なり判定処理を実行するため、判定対象となる調査オブジェクトを初期化する(S4802)。
製本アプリケーション104は、変更オブジェクトと調査オブジェクトが前回の重なり判定で重なっていたかを判断する(S4805)。前回の重なり判定とは、S4805にて対象となっている調査オブジェクトに対して行われた1つ前の重なり判定処理である。なお、各オブジェクトに対する重なり判定結果はRAM202等に保持されているので、製本アプリケーション104は、現在対象となっている調査オブジェクトの重なり判定結果を参照することでS4805の処理が可能となる。なお、最初の移動時には、S3705で行った重なり判定が前回の重なり判定に相当する。
S4805において、前回の重なり判定で変更オブジェクトと調査オブジェクトが重なっていると判定された場合、製本アプリケーション104は、移動後の変更オブジェクトと調査オブジェクトが重なっているかを調べる(S4806)。ここで、S4806の重なり判定でも重なっていると判定された場合、S4803へ進む。一方、S4806の重なり判定で変更オブジェクトと重なっていないと判定された場合、製本アプリケーション104は、調査オブジェクトを指標オブジェクトに設定する(S4807)。なお、指標オブジェクトとは、変更オブジェクトの奥行位置情報を変更する際に基準となるオブジェクトである。つまり、製本アプリケーション104は、操作画面を介して選択された変更オブジェクトとは異なる任意のオブジェクトを、変更オブジェクトの描画順を変更する際に基準となるオブジェクトとして選択する。
図27に、指標オブジェクトを設定する処理のフローチャートを示す。まず、製本アプリケーション104は、S4801にて発生したオブジェクトの移動処理で他のオブジェクトに対して既に指標オブジェクトが設定されているかを判断する(S4901)。まだ、指標オブジェクトに設定されているオブジェクトがなかった場合、製本アプリケーション104は、S4806においてNoと判定された調査オブジェクトを指標オブジェクトに設定する(S4902)。一方、指標オブジェクトが既に設定されている場合、製本アプリケーション104は、奥行位置情報の大きな方のオブジェクト、すなわちUI上で手前に表示されているオブジェクトを指標オブジェクトに設定する。このとき、UI上では、指標オブジェクトを他のオブジェクトと識別可能に表示することにより、どのオブジェクトが指標オブジェクトになっているのかを知らせることができる。図27の処理は、変更オブジェクトの移動処理により同時に複数の操作対象オブジェクトとの重なり状態が解消された場合に有効である。
S4805の判定で、現在対象としている調査オブジェクトが、前回の重なり判定で変更オブジェクトと重なっていなかった場合、製本アプリケーション104は、移動後の変更オブジェクトと調査オブジェクトが重なっているかを調べる(S4808)。ここで、重なっていないと判断された場合、S4803へと進む。一方、重なっていると判定された場合、製本アプリケーション104は、現在対象としている調査オブジェクトが指標オブジェクトかを判断する(S4809)。製本アプリケーション104が、当該調査オブジェクトが指標オブジェクトでないと判定した場合、S4803へと進む。一方、調査オブジェクトが指標オブジェクトであった場合、製本アプリケーション104は、指標オブジェクトの奥行位置情報と現在奥行位置情報を比較する(S4810)。つまり、製本アプリケーション104は、複数のオブジェクトの描画順に従って変更オブジェクトが指標オブジェクトよりも上に描画されるか、下に描画されるかを判定する。
S4810の判定処理により、指標オブジェクトの奥行位置情報が現在奥行位置情報より大きかった場合(S4810−Yes)、製本アプリケーション104は、現在奥行位置情報に指標オブジェクトの奥行位置情報を格納する(S4811)。つまり、指標オブジェクトが変更オブジェクトよりも手前にあると判定された場合、製本アプリケーション104は、指標オブジェクトの奥行位置情報を現在奥行位置情報として格納する。
一方、指標オブジェクトの奥行位置情報が現在奥行位置情報より小さい場合、製本アプリケーション104は、現在奥行位置情報に指標オブジェクトの奥行位置情報から1減算した奥行位置情報を格納する(S4812)。つまり、指標オブジェクトが変更オブジェクトよりも奥にあると判定された場合、製本アプリケーション104は、指標オブジェクトの奥行位置情報から1減算した奥行位置情報を現在奥行位置情報として格納する。
以上、S4805からS4812までの処理を全ての操作対象オブジェクトに対して行ったか否かを判定する(S4803)。S4803において製本アプリケーション104が、全ての操作対象オブジェクトに対してS4805からS4812の処理を行っていないと判定した場合(S4803−No)、S4804にて次の操作対象オブジェクトを調査オブジェクトとして処理を繰り返す。
一方、製本アプリケーション104は、S4803にてYesと判定した場合、指標オブジェクトとなっているオブジェクトの情報と現在奥行位置情報を指標オブジェクト情報として指標オブジェクトスタックに格納する(S4813)。指標オブジェクトスタックとは、図28に示すように積み重ね式の記憶領域であり、先入れ後出しの規則でスタックに格納されたデータが格納、取り出される。取り出されたデータはスタック内から消去されるため、再度、取り出しを行うとその次に格納されているデータが取り出される。
図28に指標オブジェクトスタックの構造を示す。5001は、指標オブジェクトスタックに「B」、「C」、「A」の順に格納された状態を示す。これは、移動中に指標オブジェクトが変更された順を示すものでもある。つまり、最初にオブジェクトBが指標オブジェクトとして設定され、次にオブジェクトC、Aの順で指標オブジェクトが設定されたことを示している。5002は、オブジェクトAに関する情報を取り出した際の状態を示している。5003は、再度取り出しを行った際の状態である。2番目に格納されたオブジェクトCに関する情報が取り出される。5004は、5003の状態でオブジェクトEに関する情報を格納した際の状態である。
次に、製本アプリケーション104は、奥行位置情報を変更する(S4814)。詳細は図30に説明するが、S4812において変更オブジェクトが指標オブジェクトよりも下に描画されると判定された場合、製本アプリケーション104は、変更オブジェクトが指標オブジェクトの上に描画されるように複数のオブジェクトの描画順を変更する。
一方、S4811により、変更オブジェクトが指標オブジェクトよりも上に描画されると判定された場合、製本アプリケーション104は、変更オブジェクトが指標オブジェクトの下に描画されるように複数のオブジェクトの描画順を変更する。製本アプリケーションは、S4814によって変更された奥行位置情報に従ってオブジェクトを描画する(S4815)。製本アプリケーション104は、各オブジェクトに設定されている奥行位置情報の小さい順にオブジェクトを描画する。
続いて図29を用いて図26のフローチャートに対応する処理を具体的に説明する。なお、図29では、変更オブジェクトとしてオブジェクト5101が選択され、操作対象オブジェクトとしてオブジェクト5102(三角形オブジェクト)およびオブジェクト5103(矩形オブジェクト)が選択された場合を想定する。
まず、最初の状態である図29の(1)において変更オブジェクト5101はオブジェクト5102、5103と重なっている。ここで、ユーザが変更オブジェクト5101を指定して移動処理を実行すると(S4801)、製本アプリケーション104は、最初の調査オブジェクトを特定する(S4802)。なお、図29(1)ではオブジェクト5102を最初の調査オブジェクトとする。
図29(2)は、図29(1)から変更オブジェクト5101を右に移動したときの状態を示す図である。ここで、オブジェクト5102は変更オブジェクト5101と重ならなくなった。つまり、製本アプリケーション104は、変更オブジェクト5101と現在対象としている調査オブジェクト5102は、S4805により、前回の重なり判定で重なっていたオブジェクトであると判定する(図29(1)が前回の重なり判定に相当)。そして、S4806により、変更オブジェクト5101は、調査オブジェクト5102に重なっていないと判定される(S4806−No)。その結果、図29(2)において、調査オブジェクト5102は、指標オブジェクトとして特定される。その後、製本アプリケーション104は、調査オブジェクトをオブジェクト5103へ変更する(S4804)。図29(2)において、調査オブジェクト5103は、前回(図29(1))の重なり判定(S4805)、および、今回(図29(2))の重なり判定(S4806)でも、変更オブジェクト5101と重なっている。よって、調査オブジェクト5103は、指標オブジェクトとして特定されない。
図29(2)から更に右へ変更オブジェクト5101を移動させた状態が図29(3)である。図29(3)では、オブジェクト5103が、変更オブジェクト5101と重ならなくなった。製本アプリケーションは、図26に示した処理を実行するとオブジェクト5102については前回(図29(2))および今回(図29(3))において、変更オブジェクト5101と重なっていないので指標オブジェクトにはならない。一方、オブジェクト5103は、前回(図29(2))において重なっていたが(S4805−Yes)、今回(図29(3))において重なっていないので(S4806―No)、指標オブジェクトとして特定される。つまり、製本アプリケーション104は、変更オブジェクトと重なり状態にあると判定された任意オブジェクトが、変更オブジェクトの位置情報の変更に応じて重ならない状態へ変化したと判定された場合、任意オブジェクトを指標オブジェクトとして特定する。
図29(4)は図29(3)の状態で変更オブジェクト5101を左に移動したときの状態である。このとき、変更オブジェクト5101はオブジェクト5103と重なっている。製本アプリケーション104は、変更オブジェクト5101は、前回(図29(3))において調査オブジェクト5103と重なっておらず(S4805−No)、今回(図29(4))において調査オブジェクト5103と重なっている(S4808−Yes)。よって製本アプリケーション104は、調査オブジェクト5103が指標オブジェクトか否かを判定する(S4809)。このとき、製本アプリケーション104は、調査オブジェクト5103が指標オブジェクトであると判定するので(S4810−Yes)、指標オブジェクトの奥行位置情報と現在奥行位置情報の位置関係を比較する(S4810)。S3704にて上述したように変更オブジェクトを選択すると変更オブジェクトの奥行位置情報が現在奥行位置情報として設定されている。つまり、図29(1)において、変更オブジェクト5101の奥行位置情報は「3」であり、指標オブジェクト5103の奥行位置情報は「1」である。よって、製本アプリケーション104は、指標オブジェクト5103の奥行位置情報が現在奥行位置情報よりも小さいと判定するので(S4810−No)、現在奥行位置情報に指標オブジェクトの奥行位置情報から1減算した値を格納する(S4812)。この結果、図29(4)において現在奥行位置情報は「0」となる。
図29(4)において、製本アプリケーション104は、全ての操作対象オブジェクトについて判定処理が終わったので、指標オブジェクト5103を指標オブジェクトスタックに格納する。この際、製本アプリケーション104は、現在奥行位置情報「0」も指標オブジェクト5103と対応付けて格納する。つまり、製本アプリケーション104は、重ならない状態へ変化した指標オブジェクト(図29の5103に相当)が、変更オブジェクトの位置情報の変更により再度重なる状態へ変化した場合(図29(4))、S4810の判定結果に従って描画順を変更する。
つぎに、製本アプリケーション104は、全オブジェクトの描画処理を実行する際の詳細な処理について図30を用いて説明する。
図30に、奥行位置情報変更S3707の詳細な処理のフローチャートを示す。
まず、製本アプリケーション104は、指標オブジェクトスタックが空であるかを判断し(S5201)、空であった場合には、奥行位置情報変更の必要がないため処理を終了する。
一方、指標オブジェクトスタックが空でないと判定された場合、製本アプリケーション104は、指標オブジェクトスタックから指標オブジェクト情報を取り出す(S5202)。そして、製本アプリケーション104は、指標オブジェクトスタックから取り出した指標オブジェクトと変更オブジェクトが重なっているかを判断する(S5203)。指標オブジェクトが変更オブジェクトと重なっていない場合、再度、指標オブジェクトスタックから指標オブジェクト情報を取り出す。重なっている指標オブジェクトが1つもないときは、奥行位置情報を変更する必要がないため処理を終了する。
図31を用いてS5203の判定処理において重なっていないと判定される場合を説明する。図31は、図29(4)の状態から更に変更オブジェクト5101を左に移動させた状態を示す。この状態で指標オブジェクトスタックから指標オブジェクト情報を取り出すとオブジェクト5402の指標オブジェクト情報が取得される。しかし、オブジェクト5402は変更オブジェクト5401と重なっていないため、再度指標オブジェクトスタックから指標オブジェクト情報が取り出される。ここで取り出される指標オブジェクトは、オブジェクト5402の前に指標オブジェクトとして設定されたオブジェクト5403である。
製本アプリケーション104は、指標オブジェクトスタックから取り出した指標オブジェクトと変更オブジェクトが重なっている場合、当該指標オブジェクトに対応付けて保持されている奥行位置情報を現在奥行位置情報に格納する(S5204)。
そして、製本アプリケーション104は、現在奥行位置情報と変更オブジェクトの奥行位置情報を比較する(S5205)。変更オブジェクトの奥行位置情報が現在奥行位置情報より小さい場合(S5205−Yes)、製本アプリケーション104は、変更オブジェクトよりも手前に配置されており、現在奥行位置情報よりも奥に配置されているオブジェクトの奥行位置情報を変更する。具体的には、製本アプリケーション104は、変更オブジェクトの奥行位置情報より大きく、現在奥行位置情報以下のオブジェクトの奥行位置情報を1減らす(S5206)。そして、製本アプリケーション104は、変更後の変更オブジェクトの奥行位置情報を現在奥行位置情報に変更する(S5207)。変更オブジェクトが複数の場合、複数の変更オブジェクトにおける奥行位置情報の最大値より大きく、現在奥行位置情報以下のオブジェクトの奥行位置情報を変更オブジェクト数分減らす。そして、変更オブジェクトのうち一番手前にあるオブジェクトの奥行位置情報を現在奥行位置情報として、その一つ背面の変更オブジェクトから奥行位置情報の順序を保ったまま連続して配置されるように変更する。
一方、製本アプリケーション104が、変更オブジェクトの奥行位置情報が現在奥行位置情報より大きい場合(S5205−No)、現在奥行位置情報より大きく、変更オブジェクトの奥行位置情報より小さいオブジェクトの奥行位置情報を1増やす(S5208)。そして、製本アプリケーション104は、変更オブジェクトの奥行位置情報に現在奥行位置情報を格納する(S5209)。変更オブジェクトが複数の場合、奥行位置情報が現在奥行位置情報より大きく、変更オブジェクトより小さいオブジェクトの奥行位置情報を変更オブジェクト数分増やす。そして、変更オブジェクトのうち一番背面にあるオブジェクトの奥行位置情報を現在奥行位置情報として、その一つ前面から変更オブジェクトが順序を保ったまま連続して配置されるよう変更する。
ここで図29を用いて図30の処理を具体的に説明する。
図29(4)において、指標オブジェクトスタックの一番上には、指標オブジェクト5103が格納されているので(S5201−No)、製本アプリケーション104は、指標オブジェクト5103を取り出す(S5202)。図29(4)において変更オブジェクト5101と指標オブジェクト5103は重なっている(S5203−Yes)。よって、製本アプリケーションは指標オブジェクトスタックから取り出した指標オブジェクトと対応付けられている現在奥行位置情報に格納する(S5204)。図29において説明した通り、図29(4)では現在奥行位置情報に「0」が格納されている。よって、製本アプリケーション104は、S5204において現在奥行位置情報を「0」とする。
続いて、製本アプリケーション104は、変更オブジェクト5101の奥行位置情報と現在奥行位置情報の位置関係を比較する(S5205)。図29において変更オブジェクト5101の奥行位置情報は「3」であるため、変更オブジェクト5101は、現在奥行位置情報「0」よりも上にあると判定される(S5205−No)。よって、製本アプリケーション104は、現在奥行位置情報「0」より大きく、変更オブジェクト5101の奥行位置情報「3」より小さいオブジェクトを特定する。この場合、オブジェクト5102の奥行位置情報は「2」であり、現在奥行位置情報「0」より大きく、変更オブジェクト5101の奥行位置情報「3」より小さいためオブジェクト5102の奥行位置情報は1加算され、「3」となる。さらにオブジェクト5103の奥行位置情報は「1」であり、現在奥行位置情報「0」より大きく、変更オブジェクト5101の奥行位置情報「3」より小さいため、オブジェクト5103の奥行位置情報は1加算され、「2」となる(S5208)。
一方、変更オブジェクト5101の奥行位置情報には、現在奥行位置情報「0」に1加算した値となるため、変更オブジェクトの奥行位置情報は「1」となる(S5209)。
以上より、製本アプリケーション104は、図18、図26、図27、図30の処理結果を踏まえて描画処理を実行すると図29(4)のように変更オブジェクトを任意に指定したオブジェクトを基準にして、容易に複数の描画順を変更することが可能となる。
このように図18、21、26、27、30の処理を用いることにより、ユーザが描画順を変更すべく選択したオブジェクト(変更オブジェクト、第1オブジェクトに相当)を容易に任意の描画順に変更することが可能となる。また、操作画面にオブジェクトを表示しながら描画順を変更することが可能となり、操作性の向上も図れる。
次に、奥行変更モードにおける連続判定モードについて説明する。連続判定モードは、移動中に現在奥行位置情報の変更(S4811、S4812で説明した処理)を1度だけ行う。そして、製本アプリケーション104は、連続判定モードが設定され、描画順の変更に従って変更オブジェクトが指標オブジェクトの上に描画されるように描画順が変更された場合、変更オブジェクトに対して上方向移動処理が行われたことを示す情報を記憶する。
製本アプリケーション104は、上方向移動処理が行われたことを示す情報を記憶後、変更オブジェクトを移動して、以降他のオブジェクトと重なった場合、記憶されている情報に従って描画順を変更する。なお、下方向に移動する場合も基本的に同様の処理である。
つまり、製本アプリケーションは、変更オブジェクトを手前と奥どちらに移動させたかを記憶し、手前だった場合、以降重なったオブジェクト全ての中で一番手前になるように変更オブジェクトの奥行位置情報を変更する。一方、一度だけ行われた現在奥行位置情報の変更処理によって、変更オブジェクトが奥となるように移動された場合、以降重なったオブジェクト全ての中で一番奥になるように変更オブジェクトの奥行位置情報を変更する。
連続判定モードに変更するUIについて説明する。ユーザが特定の操作を実行すると判定モードを選択するためのUIが表示される。ここで、通常判定モード5401を選択すると図26のフローチャートの方法で判定され、連続判定モード5402を選択すると図35のフローチャートの方法で判定される。
図32から図34を用いて通常判定モードと連続判定モードの動作の違いを説明する。
図32(1)から変更オブジェクト5501を図32(2)の状態まで移動した後、変更オブジェクト5501が、オブジェクト5502、5503と重なるように移動した場合における通常判定モードでの状態を図33に、連続判定モードでの状態を図34に示す。
通常判定モードの場合(図33)、オブジェクト5502が指標オブジェクトとなっているため、変更オブジェクト5501とオブジェクト5502との奥行位置情報の位置関係を入れ替える。その結果、変更オブジェクト5501は、オブジェクト5502とオブジェクト5503の間に配置される。
連続判定モードの場合(図34)、オブジェクト5502が指標オブジェクトのため、変更オブジェクト5501とオブジェクト5502との奥行位置情報の位置関係を入れ替える。このとき、製本アプリケーション104は、変更オブジェクトを指標オブジェクトよりも奥に配置したのか、手前に配置したのかを記憶しておく。そして、製本アプリケーション104は、変更オブジェクトと指標オブジェクトの位置関係の入れ替えを行った場合、その入れ替え処理を他の調査オブジェクトにも適用する。図34の例では、変更オブジェクト5501は指標オブジェクト5502の奥に配置されるように位置関係を入れ替えたため、同様に、変更オブジェクト5501は調査オブジェクト5503の奥に配置されるように描画順が変更される。
図35は、連続判定モード時のオブジェクト移動(S3706)時の処理のフローチャートである。なお、図18のフローチャートはモードを問わず同じである。また、図35では、図26のフローチャートと同様な処理は上述しているため説明を省略する。
まず、最初にS5814、S5815、S5816の処理が行われるまでは図26の説明の際に上述したため省略する。
製本アプリケーション104は、S5815もしくはS5816の処理が実行された時にどちらの処理が行われたかを記憶し、その情報を変更情報に格納する(S5817)。変更情報には、「手前に移動」か「背面に移動」のどちらかを示す情報が格納される。なお、S5815が実行された場合、「手前に移動」が変更情報として格納される。一方、S5816が実行された場合、「背面に移動」が変更情報として格納される。そして、製本アプリケーション104は、そのときの調査オブジェクトをオブジェクトリストに格納する(S5818)。
製本アプリケーション104は、オブジェクトリストには以後変更オブジェクトと重なったオブジェクトを格納し(S5819)、逆に重ならなくなったオブジェクトをリストから外す(S5809)。変更情報が一度設定されると、S5809、S5819の処理により、オブジェクトがオブジェクトリストに追加・削除される。
製本アプリケーション104は、オブジェクトリストに調査オブジェクトを追加すると(S5819)、現在奥行位置情報と追加されたオブジェクトの奥行位置情報を比較して、現在奥行位置情報の更新処理を実行する(S5820)。具体的には、変更情報が「手前に移動」を示す情報が格納されており、追加されたオブジェクトの奥行位置情報の方が大きい場合、現在奥行位置情報に追加されたオブジェクトの奥行位置情報が格納される。一方、変更情報に「背面に移動」を示す情報が格納され、現在奥行位置情報より追加されたオブジェクトの奥行位置情報が小さい場合、現在奥行位置情報に追加されたオブジェクトの奥行位置情報から1減算した値が格納される。
製本アプリケーション104は、オブジェクトリストから調査オブジェクトを削除すると(S5809)、削除されたオブジェクトの奥行位置情報と現在奥行位置情報を比較して、現在奥行位置情報の更新処理を実行する(S5810)。更新情報が「手前に移動」を示す情報が格納され、現在奥行位置情報と削除されたオブジェクトの奥行位置情報が等しい場合、オブジェクトリストに格納されたオブジェクトの中で奥行位置情報の最大値が現在奥行位置情報に格納される。更新情報に「背面に移動」を示す情報が格納され、現在奥行位置情報+1と削除されたオブジェクトの奥行位置情報が等しい場合、オブジェクトリストに格納されたオブジェクトの中で奥行位置情報の最小値から1減算した値が現在奥行位置情報に格納される。ただし、削除対象のオブジェクトがオブジェクトリストに存在しなかった場合はS5810の処理は行われない。
図36に、連続判定モード時の奥行位置情報変更S3707の詳細な処理のフローチャートを示す。図36のフローチャートは、S5201からS5204の処理を除いたものであり、S5205からS5209までの処理と同様のものであるため、詳細な説明は省略する。
図35、36の処理が有効となる場面について図38を用いて説明する。図38には、8本の線オブジェクトとテキストデータによって構成される表の上にオブジェクト6100が配置されている。また、表の中で縦線オブジェクト6101が一番上に配置されているとする。この状況において、オブジェクト6100を表の下に配置すべく、通常判定モードを選択して、図26、27、30の処理を実行した場合を想定する。ユーザが、オブジェクト6100を選択して、右方向に移動して表オブジェクトとの重なりを解除した場合、指標オブジェクトは縦線オブジェクト6101となる。その後、変更オブジェクト6100を、左方向に移動すると変更オブジェクト6100は、縦線オブジェクト6101の下に配置されるが、その他のオブジェクトよりは上に配置されるため、図39のようになる。しかし、図35、36の処理を用いると、変更オブジェクト6100は、指標オブジェクト6101の下に配置されたので、変更オブジェクト6100に対して更なる移動処理が実行されても以降重なるオブジェクトよりも下に配置される。よって、図39のようなユーザが所望としない出力結果が得られてしまうことを防止できる。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本実施形態のスタンドアロン型文書処理システムのソフトウェア構成例を示すブロック図である。 本実施形態の文書処理システムを実現するハードウェア構成例を示すブロック図である。 ブックファイルの構造の一例を示す図である。 ブック属性の一覧を示す図である。 章属性の一覧を示す図である。 ページ属性の一覧を示す図である。 ブックファイルを開く手順例を示すフローチャートである。 電子原稿ファイルをブックファイルにインポートする手順例を示すフローチャートである。 図8のステップ801に示すアプリケーションデータを電子原稿ファイルに変換する手順例を示すフローチャートである。 製本アプリケーションのUI画面である。 新規にブックファイルが作成された際のUI画面である。 クライアントサーバ型の文書処理システムのソフトウェア構成例を示すブロック図である。 原稿エディタの起動手順を示すフローチャートである。 原稿エディタのメインUI画面を示している。 奥行位置情報について示した図である。 原稿エディタのメインUI画面を示している。 オブジェクトが新規に追加されたときの奥行位置情報を示す図である。 移動時奥行位置情報変更機能の操作手順を示したフローチャートである。 移動時のモードを奥行変更モードに切り替えるUI例を示した図である。 操作対象オブジェクトを変更オブジェクトと重なりがあったオブジェクトを自動で選択する際のUI画面を示した図である。 変更オブジェクト選択時の処理の詳細を示したフローチャートである。 変更オブジェクトを複数選択した時の動作を示した図である。 変更オブジェクトを複数選択した後の状態を示した図である。 オブジェクトの描画領域から重なり判定を行った場合の状態を示した図である。 オブジェクトの外接矩形から重なり判定を行った場合の状態を示した図である。 オブジェクトの移動時の処理についての詳細を示したフローチャートである。 指標オブジェクトに設定する処理についての詳細を示したフローチャートである。 指標オブジェクトスタックの状態を示した図である。 オブジェクト移動時の処理を行った際のUI画面を示した図である。 奥行位置情報の変更を行う処理の詳細を示したフローチャートである。 奥行位置情報変更時の指標オブジェクトスタックからの取り出しについて示した図である。 連続判定モードでの動作を説明するためのUI画面を示した図である。 通常判定モードで図55の操作をした次の状態を示したUI画面である。 連続判定モードで図55の操作をした次の状態を示したUI画面である。 連続判定モードでのオブジェクト移動時の処理についての詳細を示したフローチャートである。 連続判定モードでの奥行位置情報の変更を行う処理の詳細を示したフローチャートである。 重なり判定のオブジェクトの外接矩形と描画領域について示した図である。 連続判定モードの効果を説明するための図である。 連続判定モードの効果を説明するための図である。
符号の説明
101 汎用コンピュータモジュール
103 ユーザインターフェース
105 レイアウトエンジン
119 データベース
121 レイアウト編集アプリケーション

Claims (12)

  1. 複数のオブジェクトの描画順に従って当該複数のオブジェクトを操作画面に表示する情報処装置であって、
    前記複数のオブジェクトが表示された操作画面を介して選択されたオブジェクトを第1オブジェクトとして選択する第1選択手段と、
    前記第1選択手段によって選択された前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報をユーザの指示に従って変更する位置変更手段と、
    前記第1オブジェクトと重なっている状態にある任意のオブジェクトが、前記位置変更手段による前記第1オブジェクトの位置情報の変更に応じて重ならない状態へ変化した場合、
    前記第1オブジェクトとは異なる前記任意のオブジェクトを、前記第1選択手段によって選択された第1オブジェクトの描画順を前記複数のオブジェクトの前記描画順において変更する際に基準となる第2オブジェクトとして選択する第2選択手段と、
    前記位置変更手段による前記第1オブジェクトの位置情報の更なる変更に応じて前記第2オブジェクトが前記第1オブジェクトと再度重なる状態へ変化した場合、前記第1選択手段により前記第1オブジェクトが選択される前の前記複数のオブジェクトの前記描画順において前記第1オブジェクトが前記第2オブジェクトよりも上に描画されていたかを判定する描画順判定手段と、
    前記描画順判定手段によって前記第1オブジェクトが前記第2オブジェクトよりも上に描画されていたと判定された場合、前記第1オブジェクトが前記第2オブジェクトの下に描画されるように前記複数のオブジェクトの前記描画順を変更する描画順変更手段を有することを特徴とする情報処理装置。
  2. 複数のオブジェクトの描画順に従って当該複数のオブジェクトを操作画面に表示する情報処装置であって、
    前記複数のオブジェクトが表示された操作画面を介して選択されたオブジェクトを第1オブジェクトとして選択する第1選択手段と、
    前記第1選択手段によって選択された前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報をユーザの指示に従って変更する位置変更手段と、
    前記第1オブジェクトと重なっている状態にある任意のオブジェクトが、前記位置変更手段による前記第1オブジェクトの位置情報の変更に応じて重ならない状態へ変化した場合、
    前記第1オブジェクトとは異なる前記任意のオブジェクトを、前記第1選択手段によって選択された第1オブジェクトの描画順を前記複数のオブジェクトの前記描画順において変更する際に基準となる第2オブジェクトとして選択する第2選択手段と、
    前記位置変更手段による前記第1オブジェクトの位置情報の更なる変更に応じて前記第2オブジェクトが前記第1オブジェクトと再度重なる状態へ変化した場合、前記第1選択手段により前記第1オブジェクトが選択される前の前記複数のオブジェクトの前記描画順に従って前記第1オブジェクトが前記第2オブジェクトよりも下に描画されていたかを判定する描画順判定手段と、
    前記描画順判定手段によって前記第1オブジェクトが前記第2オブジェクトよりも下に描画されていたと判定された場合、前記第1オブジェクトが前記第2オブジェクトの上に描画されるように前記複数のオブジェクトの前記描画順を変更する描画順変更手段を有することを特徴とする情報処理装置。
  3. 前記第1オブジェクトの位置情報の変更に従って前記複数のオブジェクトの前記描画順が変更された場合、前記位置変更手段は、前記第1オブジェクトの位置情報を前記位置変更手段による変更処理が実行される前の位置情報へ戻すことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記描画順判定手段を連続的に実行する連続判定モードを設定する判定モード設定手段と、
    前記連続判定モードが設定され、前記描画順変更手段による描画順の変更に従って前記複数のオブジェクトの前記描画順が前記第1オブジェクトが第2オブジェクトの上に描画される描画順変更された場合、前記第1オブジェクトに対して上方向移動処理が行われたことを示す情報を記憶する記憶手段を有し、
    当該情報を記憶後、前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報の変更に従い前記第2オブジェクトとは異なるオブジェクトと重なった場合、前記描画順変更手段は、前記記憶手段に記憶されている情報に従って前記第1オブジェクトが当該異なるオブジェクトよりも上に配置されるように描画順を変更することを特徴とする請求項1に記載の情報処理装置。
  5. 前記描画順判定手段を連続的に実行する連続判定モードを設定する判定モード設定手段と、
    前記連続判定モードが設定され、前記描画順変更手段による描画順の変更に従って前記複数のオブジェクトの前記描画順が前記第1オブジェクトが第2オブジェクトの下に描画されるように描画順変更された場合、前記第1オブジェクトに対して下方向移動処理が行われたことを示す情報を記憶する記憶手段を有し、
    当該情報を記憶後、前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報の変更に従い前記第2オブジェクトとは異なるオブジェクトと重なった場合、前記描画順変更手段は、前記記憶手段に記憶されている情報に従って前記第1オブジェクトが当該異なるオブジェクトよりも下に配置されるように描画順を変更することを特徴とする請求項2に記載の情報処理装置。
  6. 複数のオブジェクトの描画順に従って当該複数のオブジェクトを操作画面に表示する情報処装置において実行される情報処理方法であって、
    前記複数のオブジェクトが表示された操作画面を介して選択されたオブジェクトを第1オブジェクトとして選択する第1選択工程と、
    前記第1選択工程によって選択された前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報をユーザの指示に従って変更する位置変更工程と、
    前記第1オブジェクトと重なっている状態にある任意のオブジェクトが、前記位置変更工程による前記第1オブジェクトの位置情報の変更に応じて重ならない状態へ変化した場合、
    前記第1オブジェクトとは異なる前記任意のオブジェクトを、前記第1選択工程によって選択された第1オブジェクトの描画順を前記複数のオブジェクトの前記描画順において変更する際に基準となる第2オブジェクトとして選択する第2選択工程と、
    前記位置変更工程による前記第1オブジェクトの位置情報の更なる変更に応じて前記第2オブジェクトが前記第1オブジェクトと再度重なる状態へ変化した場合、前記第1選択工程により前記第1オブジェクトが選択される前の前記複数のオブジェクトの前記描画順において前記第1オブジェクトが前記第2オブジェクトよりも上に描画されていたかを判定する描画順判定工程と、
    前記描画順判定工程によって前記第1オブジェクトが前記第2オブジェクトよりも上に描画されていたと判定された場合、前記第1オブジェクトが前記第2オブジェクトの下に描画されるように前記複数のオブジェクトの前記描画順を変更する描画順変更工程を有することを特徴とする情報処理方法。
  7. 複数のオブジェクトの描画順に従って当該複数のオブジェクトを操作画面に表示する情報処装置において実行される情報処理方法であって、
    前記複数のオブジェクトが表示された操作画面を介して選択されたオブジェクトを第1オブジェクトとして選択する第1選択工程と、
    前記第1選択工程によって選択された前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報をユーザの指示に従って変更する位置変更工程と、
    前記第1オブジェクトと重なっている状態にある任意のオブジェクトが、前記位置変更工程による前記第1オブジェクトの位置情報の変更に応じて重ならない状態へ変化した場合、
    前記第1オブジェクトとは異なる前記任意のオブジェクトを、前記第1選択工程によって選択された第1オブジェクトの描画順を前記複数のオブジェクトの前記描画順において変更する際に基準となる第2オブジェクトとして選択する第2選択工程と、
    前記位置変更工程による前記第1オブジェクトの位置情報の更なる変更に応じて前記第2オブジェクトが前記第1オブジェクトと再度重なる状態へ変化した場合、前記第1選択工程により前記第1オブジェクトが選択される前の前記複数のオブジェクトの前記描画順に従って前記第1オブジェクトが前記第2オブジェクトよりも下に描画されていたかを判定する描画順判定工程と、
    前記描画順判定工程によって前記第1オブジェクトが前記第2オブジェクトよりも下に描画されていたと判定された場合、前記第1オブジェクトが前記第2オブジェクトの上に描画されるように前記複数のオブジェクトの前記描画順を変更する描画順変更工程を有することを特徴とする情報処理方法。
  8. 複数のオブジェクトの描画順に従って当該複数のオブジェクトを操作画面に表示するコンピュータを、
    前記複数のオブジェクトが表示された操作画面を介して選択されたオブジェクトを第1オブジェクトとして選択する第1選択手段と、
    前記第1選択手段によって選択された前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報をユーザの指示に従って変更する位置変更手段と、
    前記第1オブジェクトと重なっている状態にある任意のオブジェクトが、前記位置変更手段による前記第1オブジェクトの位置情報の変更に応じて重ならない状態へ変化した場合、
    前記第1オブジェクトとは異なる前記任意のオブジェクトを、前記第1選択手段によって選択された第1オブジェクトの描画順を前記複数のオブジェクトの前記描画順において変更する際に基準となる第2オブジェクトとして選択する第2選択手段と、
    前記位置変更手段による前記第1オブジェクトの位置情報の更なる変更に応じて前記第2オブジェクトが前記第1オブジェクトと再度重なる状態へ変化した場合、前記第1選択手段により前記第1オブジェクトが選択される前の前記複数のオブジェクトの前記描画順において前記第1オブジェクトが前記第2オブジェクトよりも上に描画されていたかを判定する描画順判定手段と、
    前記描画順判定手段によって前記第1オブジェクトが前記第2オブジェクトよりも上に描画されていたと判定された場合、前記第1オブジェクトが前記第2オブジェクトの下に描画されるように前記複数のオブジェクトの前記描画順を変更する描画順変更手段として機能させるための情報処理プログラム。
  9. 複数のオブジェクトの描画順に従って当該複数のオブジェクトを操作画面に表示するコンピュータを、
    前記複数のオブジェクトが表示された操作画面を介して選択されたオブジェクトを第1オブジェクトとして選択する第1選択手段と、
    前記第1選択手段によって選択された前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報をユーザの指示に従って変更する位置変更手段と、
    前記第1オブジェクトと重なっている状態にある任意のオブジェクトが、前記位置変更手段による前記第1オブジェクトの位置情報の変更に応じて重ならない状態へ変化した場合、
    前記第1オブジェクトとは異なる前記任意のオブジェクトを、前記第1選択手段によって選択された第1オブジェクトの描画順を前記複数のオブジェクトの前記描画順において変更する際に基準となる第2オブジェクトとして選択する第2選択手段と、
    前記位置変更手段による前記第1オブジェクトの位置情報の更なる変更に応じて前記第2オブジェクトが前記第1オブジェクトと再度重なる状態へ変化した場合、前記第1選択手段により前記第1オブジェクトが選択される前の前記複数のオブジェクトの前記描画順に従って前記第1オブジェクトが前記第2オブジェクトよりも下に描画されていたかを判定する描画順判定手段と、
    前記描画順判定手段によって前記第1オブジェクトが前記第2オブジェクトよりも下に描画されていたと判定された場合、前記第1オブジェクトが前記第2オブジェクトの上に描画されるように前記複数のオブジェクトの前記描画順を変更する描画順変更手段として機能させるための情報処理プログラム。
  10. 前記第1オブジェクトの位置情報の変更に従って前記複数のオブジェクトの前記描画順が変更された場合、前記位置変更手段は、前記第1オブジェクトの位置情報を前記位置変更手段による変更処理が実行される前の位置情報へ戻すことを特徴とする請求項8または9に記載の情報処理プログラム。
  11. 前記描画順判定手段を連続的に実行する連続判定モードを設定する判定モード設定手段と、
    前記連続判定モードが設定され、前記描画順変更手段による描画順の変更に従って前記複数のオブジェクトの前記描画順が前記第1オブジェクトが第2オブジェクトの上に描画される描画順に変更された場合、前記第1オブジェクトに対して上方向移動処理が行われたことを示す情報を記憶する記憶手段を有し、
    当該情報を記憶後、前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報の変更に従い前記第2オブジェクトとは異なるオブジェクトと重なった場合、前記描画順変更手段は、前記記憶手段に記憶されている情報に従って前記第1オブジェクトが当該異なるオブジェクトよりも上に配置されるように描画順を変更することを特徴とする請求項8に記載の情報処理プログラム。
  12. 前記描画順判定手段を連続的に実行する連続判定モードを設定する判定モード設定手段と、
    前記連続判定モードが設定され、前記描画順変更手段による描画順の変更に従って前記複数のオブジェクトの前記描画順が前記第1オブジェクトが第2オブジェクトの下に描画されるように描画順変更された場合、前記第1オブジェクトに対して下方向移動処理が行われたことを示す情報を記憶する記憶手段を有し、
    当該情報を記憶後、前記第1オブジェクトの水平方向または垂直方向の位置を示す位置情報の変更に従い前記第2オブジェクトとは異なるオブジェクトと重なった場合、前記描画順変更手段は、前記記憶手段に記憶されている情報に従って前記第1オブジェクトが当該異なるオブジェクトよりも下に配置されるように描画順を変更することを特徴とする請求項9に記載の情報処理プログラム。
JP2006157469A 2006-06-06 2006-06-06 情報処理装置および情報処理方法および情報処理プログラム Expired - Fee Related JP5049515B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006157469A JP5049515B2 (ja) 2006-06-06 2006-06-06 情報処理装置および情報処理方法および情報処理プログラム
US11/754,921 US8773460B2 (en) 2006-06-06 2007-05-29 Information processing apparatus, information processing method, and information processing program for displaying a plurality of objects on an operation screen based on a drawing order of the plurity of objects
CN2007101106535A CN101086833B (zh) 2006-06-06 2007-06-06 信息处理装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006157469A JP5049515B2 (ja) 2006-06-06 2006-06-06 情報処理装置および情報処理方法および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2007328029A JP2007328029A (ja) 2007-12-20
JP5049515B2 true JP5049515B2 (ja) 2012-10-17

Family

ID=38861234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006157469A Expired - Fee Related JP5049515B2 (ja) 2006-06-06 2006-06-06 情報処理装置および情報処理方法および情報処理プログラム

Country Status (3)

Country Link
US (1) US8773460B2 (ja)
JP (1) JP5049515B2 (ja)
CN (1) CN101086833B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438472B2 (en) 2009-01-02 2013-05-07 Apple Inc. Efficient data structures for parsing and analyzing a document
US20100245385A1 (en) * 2009-03-26 2010-09-30 Xerox Corporation Page region image offset methods and systems
JP4759081B2 (ja) * 2009-11-11 2011-08-31 1stホールディングス株式会社 チャート描画装置およびチャート描画方法
CN102314223B (zh) * 2010-06-30 2018-11-13 百度在线网络技术(北京)有限公司 一种供用户在非输入场景进行自适应输入的方法与设备
US20120044259A1 (en) * 2010-08-17 2012-02-23 Apple Inc. Depth management for displayed graphical elements
US8442998B2 (en) 2011-01-18 2013-05-14 Apple Inc. Storage of a document using multiple representations
EP2523129B1 (en) * 2011-05-11 2020-07-01 Dassault Systèmes Selection of a manipulator of an object among a plurality of manipulators
CN105159869B (zh) * 2011-05-23 2020-06-16 成都科创知识产权研究所 图片编辑方法及***
EP2544152A3 (en) * 2011-07-07 2013-02-20 HTC Corporation Management of multiple interface display layers
JP5520343B2 (ja) 2011-08-30 2014-06-11 キヤノン株式会社 情報処理装置、及びその制御方法、プログラム、及び記録媒体
WO2013069276A1 (ja) * 2011-11-07 2013-05-16 パナソニック株式会社 電子機器、表示システム、表示制御方法、および表示制御プログラム
WO2013073196A1 (ja) * 2011-11-18 2013-05-23 株式会社ニコン 画像編集装置、画像編集プログラム、電子情報端末機、ポインティングデバイス及び入力システム
JP6422228B2 (ja) * 2014-03-28 2018-11-14 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP2018181182A (ja) * 2017-04-20 2018-11-15 富士通株式会社 表示制御プログラム、表示制御方法、及び表示制御装置
KR102423295B1 (ko) * 2017-08-18 2022-07-21 삼성전자주식회사 심도 맵을 이용하여 객체를 합성하기 위한 장치 및 그에 관한 방법
JP6950391B2 (ja) * 2017-09-15 2021-10-13 ブラザー工業株式会社 制御プログラム及び画像データ作成モジュール
CN111784800A (zh) * 2019-04-03 2020-10-16 珠海金山办公软件有限公司 一种图形对象选中方法、装置、电子设备及存储介质
JP7456139B2 (ja) * 2019-12-09 2024-03-27 ブラザー工業株式会社 プログラム、および情報処理装置
JP6807621B1 (ja) * 2020-08-05 2021-01-06 株式会社インタラクティブソリューションズ 音声に基づいて画像を変更するためのシステム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4761642A (en) * 1985-10-04 1988-08-02 Tektronix, Inc. System for providing data communication between a computer terminal and a plurality of concurrent processes running on a multiple process computer
JPS62276673A (ja) * 1986-05-26 1987-12-01 Toshiba Corp マルチウインドウ表示装置
JPH07152356A (ja) * 1993-11-26 1995-06-16 Toppan Printing Co Ltd 表示制御装置
US5487143A (en) * 1994-04-06 1996-01-23 Altera Corporation Computer user interface having tiled and overlapped window areas
JPH0916368A (ja) * 1995-06-28 1997-01-17 Hitachi Ltd オブジェクト編集システム
US6077161A (en) * 1997-09-12 2000-06-20 Wisler; James M. Multiplayer card games having card plays to foundations
JP2001045124A (ja) * 1999-07-30 2001-02-16 Sony Corp 情報端末
JP2002032775A (ja) * 2000-07-17 2002-01-31 Murata Mach Ltd 画像処理装置及び画像処理方法
US6864905B2 (en) * 2001-03-23 2005-03-08 International Business Machines Corporation Method to redisplay active panels
US20030189602A1 (en) * 2002-04-04 2003-10-09 Dalton Dan L. Method and apparatus for browsing images in a digital imaging device
JP4285022B2 (ja) * 2003-02-14 2009-06-24 カシオ計算機株式会社 オブジェクト表示装置およびプログラム
JP2004295577A (ja) * 2003-03-27 2004-10-21 Kureo:Kk オブジェクト選択装置、オブジェクト選択方法及びオブジェクト選択プログラム
US20040261039A1 (en) * 2003-06-19 2004-12-23 International Business Machines Corporation Method and system for ordering on-screen windows for display
US7327349B2 (en) * 2004-03-02 2008-02-05 Microsoft Corporation Advanced navigation techniques for portable devices
JP2006040161A (ja) * 2004-07-29 2006-02-09 Fuji Xerox Co Ltd 画像処理装置及びプログラム

Also Published As

Publication number Publication date
US20070291308A1 (en) 2007-12-20
US8773460B2 (en) 2014-07-08
CN101086833A (zh) 2007-12-12
JP2007328029A (ja) 2007-12-20
CN101086833B (zh) 2010-06-09

Similar Documents

Publication Publication Date Title
JP5049515B2 (ja) 情報処理装置および情報処理方法および情報処理プログラム
JP4817556B2 (ja) 情報処理装置、情報処理装置における文書処理方法およびプログラム
JP3970137B2 (ja) 文書処理方法及びその装置
US8089653B2 (en) Document processing apparatus, method and program for variable printing with document file dividing
JP4136634B2 (ja) 文書処理装置及び方法
JP4185899B2 (ja) 文書処理方法及びそのシステム
JP3950657B2 (ja) 情報処理システム及びその表示方法、プログラム、並びに記録媒体
JP5252933B2 (ja) 文書処理装置、文書処理方法、及びプログラム
JP4881048B2 (ja) 情報処理装置および情報処理方法および情報処理プログラム
JP4095512B2 (ja) 文書変換方法及び装置
JP2006107033A (ja) フォント情報の埋め込み機能を備える情報処理装置及び情報処理方法及びプログラム並びに記憶媒体
JP5341388B2 (ja) 文書処理装置及び文書処理方法
JP2005309514A (ja) 文書処理装置及びその制御方法、並びにコンピュータプログラム
JP2006107142A (ja) 文書処理装置及び方法
JP2006293598A (ja) 文書処理システム
JP2008262405A (ja) 文書処理システム
JP4799253B2 (ja) 情報処理装置及びその処理方法
JP5882850B2 (ja) 文書処理装置、文書処理方法及びプログラム
JP2007128325A (ja) 印刷制御装置およびその手段
JP2006202025A (ja) 文書処理方法及び印刷制御方法及びそのシステム
JP5063785B2 (ja) 文書処理装置、文書処理方法及びプログラム
JP2006107038A (ja) 情報処理装置および原稿編集方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2003091528A (ja) 文書処理装置及びそのシステム及び方法
JP2006139561A (ja) 文書処理方法及びそのシステム
JP2006099400A (ja) 文書処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090604

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120423

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120717

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120723

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5049515

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees