(57)【要約】【課題】複数のゲストツールを用いて画像編集を行う場合の作業効率の向上を図る。【解決手段】受付部２２は、画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、操作情報を受付ける。判別部２５は、受付けた操作情報を示す操作内容の操作に用いられたゲストツールを判別する。登録部２６は、操作情報を受付ける毎に、受付けた操作情報を含む処理情報を、判別されたゲストツールに対応する処理リストに、該操作情報の受付順に登録する。配置部２７は、操作情報を受付ける毎に、該処理リストにおける、受付けた最新の操作情報を含む処理情報に、現在位置を示すポインタを配置する。表示制御部２８は、複数のゲストツールの各々に対応する処理リストの各々における、最初に登録された処理情報からポインタの配置された処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示する。【選択図】図１
2018005695.tif 000002
【特許請求の範囲】
【請求項１】
画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付ける受付部と、
受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別する判別部と、
前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録する登録部と、
前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置する配置部と、
複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示する表示制御部と、
を備える画像処理装置。
【請求項２】
前記処理情報は、前記操作情報、前記操作情報を示す前記操作内容の操作の行われたオブジェクトの識別情報、および該操作によって表示される前記表示画像の論理構造情報を含む、請求項１に記載の画像処理装置。
【請求項３】
前記論理構造情報は、前記表示画像に含まれるオブジェクトの各々の現在の編集状態情報と、該操作情報を示す操作内容に対応するオブジェクトの識別情報と、該操作内容の操作に用いられた前記ゲストツールの識別情報と、を含む、請求項２に記載の画像処理装置。
【請求項４】
前記表示制御部は、複数の前記ゲストツールの各々に対応する前記処理リストの各々における、前記ポインタの配置された前記処理情報に含まれる前記論理構造情報に基づいて、前記表示画像を表示する、請求項３に記載の画像処理装置。
【請求項５】
前記受付部は、
複数の前記ゲストツールの何れかを介した、ユーザによるアンドゥ操作またはリドゥ操作を受付け、
前記配置部は、
前記アンドゥ操作を受付けた場合、該アンドゥ操作に用いられた前記ゲストツールに対応する前記処理リストに配置された前記ポインタの位置を、現在の位置より過去の位置に向かって戻した位置に配置し、
前記リドゥ操作を受付けた場合、該リドゥ操作に用いられた前記ゲストツールに対応する前記処理リストにおける前記ポインタの位置を、現在の位置から進めた位置に配置する、
請求項１〜請求項４の何れか１項に記載の画像処理装置。
【請求項６】
前記受付部は、
画像編集に関する基本機能を提供するためのホストツールを用いて、オブジェクトに対してユーザが操作した、前記操作内容を示す前記操作情報を更に受付け、
前記判別部は、
受付けた前記操作情報を示す前記操作内容の操作に前記ホストツールが用いられたか、および、前記ゲストツールの何れかが用いられたか、を更に判別し、
前記登録部は、
前記ホストツールが用いられたと判別された場合、受け付けた該操作情報を含む前記処理情報をホスト処理リストに登録し、前記ゲストツールの何れかが用いられたと判別された場合、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する前記処理リストおよび前記ホストツールに対応する前記ホスト処理リストに登録し、
前記配置部は、
前記操作情報を受付ける毎に、前記処理リストおよび前記ホスト処理リストの各々における、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置する、
請求項１〜請求項５の何れか１項に記載の画像処理装置。
【請求項７】
前記受付部は、
前記ホストツールを介した、ユーザによるアンドゥ操作を更に受付け、
前記配置部は、
前記ホストツールを介した前記アンドゥ操作を受付けた場合、前記ホスト処理リストに配置された前記ポインタの位置を、現在の位置より過去の位置に向かって戻した位置に配置し、
前記登録部は、
前記ホストツールを介した前記アンドゥ操作を受付けた場合、前記ホスト処理リストにおける前記配置部によって戻された前記ポインタの配置された前記処理情報に基づいて、該処理情報に含まれる前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールに対応する前記処理リストを更新する、
請求項６に記載の画像処理装置。
【請求項８】
前記受付部は、
前記ホストツールを介した、ユーザによるリドゥ操作を更に受付け、
前記配置部は、
前記ホストツールを介した前記リドゥ操作を受付けた場合、前記ホスト処理リストに配置された前記ポインタの位置を、現在の位置より進めた位置に配置し、
前記登録部は、
前記ホストツールを介した前記リドゥ操作を受付けた場合、前記ホスト処理リストにおける前記配置部によって進められた前記ポインタの配置された前記処理情報に基づいて、該処理情報に含まれる前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールに対応する前記処理リストを更新する、
請求項６または請求項７に記載の画像処理装置。
【請求項９】
画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付けるステップと、
受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別するステップと、
前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録するステップと、
前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置するステップと、
複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示するステップと、
を含む画像処理方法。
【請求項１０】
画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付けるステップと、
受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別するステップと、
前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録するステップと、
前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置するステップと、
複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示するステップと、
をコンピュータに実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
画像編集のためのアプリケーションを用いて、オブジェクトの作成や、オブジェクトの色や形の編集を行う技術が知られている。
【０００３】
例えば、画像編集のための様々な機能を提供するための編集ツールを用いて、画像を編集する技術が開示されている。ユーザは、編集ツールを介して、オブジェクトの作成や編集などを操作指示する。アプリケーション側では、操作指示に応じた編集処理をオブジェクトに施す。また、複数の画像処理を順次適用した後に、その中の何れかの処理に遡って編集をやり直したり取り消したりする技術も知られている（例えば、特許文献１参照）。また、アプリケーションに複数のゲストツール（プラグイン）をインストールし、編集機能を拡張することが行われている。この場合、ユーザは、複数のゲストツールの各々を介して、画像編集のための操作指示を行う。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、１つのゲストツールを介して行われた編集処理が、他のゲストツールを介して行われた実行済の編集処理に影響を与える場合があった。このため、従来では、ユーザは、意図する画像編集を行うために、様々な操作指示を行う必要があった。すなわち、従来では、画像編集時の作業効率に問題があった。本発明は、上記に鑑みてなされたものであって、複数のゲストツールを用いて画像編集を行う場合の、作業効率の向上を図ることができる、画像処理装置、画像処理方法、および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付ける受付部と、受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別する判別部と、前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録する登録部と、前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置する配置部と、複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示する表示制御部と、を備える画像処理装置である。
【発明の効果】
【０００６】
本発明によれば、複数のゲストツールを用いて画像編集を行う場合の、作業効率の向上を図ることができる。
【図面の簡単な説明】
【０００７】
【図１】図１は、画像処理装置の機能構成の一例を示すブロック図である。
【図２】図２は、操作画面の一例を示す模式図である。
【図３】図３は、ホスト処理リストと処理リストの各々の一例を示す模式図である。
【図４】図４は、処理情報のデータ構成の一例を示す模式図である。
【図５】図５は、処理情報に含まれる論理構造情報の一例を示す説明図である。
【図６】図６は、画像処理の流れの一例の説明図である。
【図７】図７は、従来の方式の説明図である。
【図８】図８は、画像処理装置のハードウェア構成の一例を示す図である。
【図９】図９は、画像処理の手順の一例を示す、フローチャートである。
【図１０】図１０は、アンドゥ操作を受付けた場合の、割込み処理の手順の一例を示す、フローチャートである。
【図１１】図１１は、リドゥ操作を受付けた場合の、割込み処理の手順の一例を示す、フローチャートである。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、本発明に係る画像処理装置、画像処理方法、および画像処理プログラムの実施の形態を詳細に説明する。
【０００９】
図１は、画像処理装置１０の機能構成の一例を示すブロック図である。画像処理装置１０は、画像編集を行うための装置である。
【００１０】
画像処理装置１０は、操作部１２と、データ入力部１４と、編集部２０と、表示部１６と、記憶部１８と、を備える。
【００１１】
操作部１２は、ユーザによって操作される入力デバイスである。操作部１２は、例えば、キーボードやマウスなどである。以下においては、操作部１２はマウスで構成される場合を例に挙げて説明する。
【００１２】
データ入力部１４は、操作部１２の操作に応じて指定された電子データ（例えば不図示のメモリに記憶された画像データなど）を不図示のメモリから読み込み、その読み込んだ画像データを記憶部１８に記憶する。また、データ入力部１４は、その読み込んだ画像データを、表示部１６に表示する制御を行う。
【００１３】
表示部１６は、各種の画像を表示するデバイスである。表示部１６は、例えば液晶型ディスプレイ装置などである。記憶部１８は、各種のデータを記録するデバイスである。記憶部１８は、例えばハードディスクドライブ装置（ＨＤＤ）やフラッシュメモリ等の記憶媒体である。
【００１４】
画像処理装置１０には、画像編集を行うためのアプリケーションが予めインストールされている。このアプリケーションは、例えば、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ（Ｒ）社が販売しているＩｌｌｕｓｔｒａｔｏｒや、Ａｃｒｏｂａｔなどであるが、これらに限定されない。データ入力部１４は、このアプリケーションを実行することによって表示される操作画面を、表示部１６へ表示する。ユーザは、操作画面を介して操作指示を入力することで、オブジェクトの作成やオブジェクトの編集を行うことができる。
【００１５】
該アプリケーションには、画像編集に関する基本機能を提供するためのホストツールが導入されている。ホストツールは、画像編集に関する基本機能を提供するためのプログラムであり、該アプリケーションに組み込まれている。
【００１６】
また、画像処理装置１０には、該アプリケーションの画像編集機能を拡張するための、複数のゲストツールがインストールされている。ゲストツールは、画像編集に関する、１または複数の拡張機能を提供するためのプラグインである。すなわち、ゲストツールは、該アプリケーション内で動作し、画像編集に関する１または複数種類の機能を提供する。
【００１７】
なお、以下では、ゲストツールおよびホストツールを総称して説明する場合には、単に、ツールと称して説明する場合がある。また、以下では、基本機能および拡張機能を総称して説明する場合、単に、機能と称して説明する場合がある。
【００１８】
画像編集に関する機能は、例えば、オブジェクトの編集機能（色、形、配置、模様、線種、などの編集機能）や、新たなオブジェクトの作成機能などである。本実施の形態では、ゲストツールは、複数種類の機能（すなわち、機能群）を提供する。
【００１９】
ユーザは、操作画面を介して、ホストツールおよび複数のゲストツールの各々を用いて、オブジェクトに対する画像編集に関する操作を行う。
【００２０】
図２は、操作画面４０の一例を示す模式図である。図２に示すように、操作画面４０は、描画領域４８を含む。描画領域４８は、画像編集時にユーザによって操作される領域である。描画領域４８には、ユーザによる操作部１２の操作によって編集・作成されたオブジェクト５２を含む表示画像５０が表示される。
【００２１】
操作画面４０における、描画領域４８の周囲には、ホストツールバー４２およびゲストツールバー４４が表示されている。
【００２２】
ホストツールバー４２は、ホストツール３２によって提供される基本機能の各々を呼び出すためのツールバーである。ホストツールバー４２には、アプリケーションに組み込まれている、画像編集に関する基本機能の一覧が表示される。例えば、ホストツールバー４２には、基本機能の各々を示すアイコン画像が表示される。
【００２３】
ユーザは、操作部１２を操作することによって、ホストツールバー４２に表示されている基本機能の何れか１つを指示すると共に、描画領域４８を操作する。これにより、指示した基本機能が呼び出され、ユーザは、該基本機能を用いた画像編集を示す操作を行うことができる。例えば、ユーザは、基本機能を用いて、新たなオブジェクトの作成や、描画領域４８に表示されているオブジェクトの色、形、配置、模様、線種、などの指定や変更に関する操作を行う。
【００２４】
ゲストツールバー４４は、ゲストツール３４によって提供される拡張機能の各々を呼び出すためのツールバーである。ゲストツールバー４４には、ゲストツール３４によって提供される拡張機能の一覧が表示される。例えば、ゲストツールバー４４には、拡張機能の各々を示すアイコン画像が表示される。
【００２５】
本実施の形態では、一例として、２種類のゲストツール３４（ゲストツールＡ、ゲストツールＢ）が、アプリケーションに追加されているものとして説明する。なお、３種類以上のゲストツール３４が追加されていてもよい。また、ユーザによる操作部１２の操作によって、適宜、新たなゲストツール３４を追加してもよい。
【００２６】
具体的には、本実施の形態では、２種類のゲストツール３４（ゲストツールＡ、ゲストツールＢ）が、アプリケーションに追加されているものとして説明する。
【００２７】
このため、本実施の形態では、操作画面４０には、ゲストツールバー４４として、ゲストツールバー４４Ａと、ゲストツールバー４４Ｂと、が表示される。
【００２８】
ゲストツールバー４４Ａは、ゲストツールＡによって提供される拡張機能の各々を呼び出すためのツールバーである。ゲストツールバー４４Ａには、ゲストツールＡによって提供される拡張機能の一覧が表示される。例えば、ゲストツールバー４４Ａには、拡張機能の各々を示すアイコン画像が表示される。
【００２９】
ユーザは、操作部１２を操作することによって、ゲストツールバー４４Ａに表示されている拡張機能の何れか１つを指示すると共に、描画領域４８を操作する。これにより、指示した拡張機能が呼び出され、ユーザは、該拡張機能を用いた画像編集を示す操作を行うことができる。例えば、ユーザは、拡張機能を用いて、新たなオブジェクトの作成や、描画領域４８に表示されているオブジェクトの色、形、配置、模様、線種、などの指定や変更に関する操作を行う。
【００３０】
同様に、ゲストツールバー４４Ｂは、ゲストツールＢによって提供される拡張機能の各々を呼び出すためのツールバーである。ゲストツールバー４４Ｂには、ゲストツールＢによって提供される拡張機能の一覧が表示される。例えば、ゲストツールバー４４Ｂには、拡張機能の各々を示すアイコン画像が表示される。
【００３１】
ユーザは、操作部１２を操作することによって、ゲストツールバー４４Ｂに表示されている拡張機能の何れか１つを指示すると共に、描画領域４８を操作する。これにより、指示した拡張機能が呼び出され、ユーザは、該拡張機能を用いた画像編集を示す操作指示を行うことができる。例えば、ユーザは、拡張機能を用いて、新たなオブジェクトの作成や、描画領域４８に表示されているオブジェクトの色、形、配置、模様、線種、などの指定や変更に関する操作を行う。
【００３２】
なお、複数のゲストツール３４は、互いに独立である。すなわち、複数のゲストツール３４の１つを用いて行われた操作指示は、他のゲストツール３４で行われた操作指示に対して影響を与えないものとする。一方、ホストツール３２を用いて行われた操作指示は、複数のゲストツール３４の全てに対して影響を与えるものとする。
【００３３】
また、本実施の形態では、表示画像５０のデータ形式は、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）であるものとして説明する。なお、表示画像５０のデータ形式は、ＰＤＦに限定されない。
【００３４】
図１に戻り、説明を続ける。編集部２０は、ユーザによる操作部１２の操作に応じて、画像の編集処理を行う。編集処理には、作成済のオブジェクト５２に対する編集に加えて、新たなオブジェクト５２の作成も含まれる。すなわち、編集部２０は、新たなオブジェクト５２の作成や、オブジェクト５２の編集を行う。
【００３５】
編集部２０は、受付部２２と、画像処理部２４と、を含む。
【００３６】
受付部２２は、受付部の一例である。受付部２２は、ユーザの操作内容を示す操作情報を受付ける。
【００３７】
詳細には、受付部２２は、複数のゲストツール３４の何れかを用いて、オブジェクト５２に対してユーザが操作した、操作内容を示す操作情報を受付ける。具体的には、受付部２２は、ゲストツール３４の提供する拡張機能を用いて操作した操作内容を示す、操作情報を受付ける。
【００３８】
操作情報は、例えば、操作に用いたゲストツール３４の識別情報、用いられた拡張機能、操作された内容（作成または変更されたオブジェクト５２の色、形、配置（位置情報）、模様、線種、など）を含む。
【００３９】
また、受付部２２は、ホストツール３２を用いて、オブジェクト５２に対してユーザが操作した、操作内容を示す操作情報を受付ける。具体的には、受付部２２は、ホストツール３２を用いて、オブジェクト５２に対してユーザが操作した、操作内容を示す操作情報を受付ける。
【００４０】
また、受付部２２は、複数のゲストツール３４の何れかを介した、ユーザによるアンドゥ操作またはリドゥ操作を受付ける。また、受付部２２は、ホストツール３２を介した、ユーザによるアンドゥ操作またはリドゥ操作を受付ける。
【００４１】
アンドゥ操作は、行った編集処理を元に戻すことを指示する時の操作を示す。リドゥ操作は、いったん元に戻した編集処理をやり直すことを指示するときの操作を示す。
【００４２】
ホストツールバー４２やゲストツールバー４４の各々は、アンドゥ操作を指示するためのアンドゥ機能を示すアイコン画像や、リドゥ操作を指示するためのリドゥ機能を示すアイコン画像を含む。
【００４３】
ユーザは、ホストツールバー４２またはゲストツールバー４４における、アンドゥ機能を示すアイコン画像やリドゥ機能を示すアイコン画像を指示する。これによって、受付部２２は、ホストツール３２およびゲストツール３４（ゲストツールＡ、ゲストツールＢ）の各々を介した、アンドゥ操作またはリドゥ操作を受付ける。
【００４４】
画像処理部２４は、受付部２２で受付けた、操作情報や、アンドゥ操作や、リドゥ操作などに応じて、画像編集を行う。画像処理部２４は、判別部２５と、登録部２６と、配置部２７と、表示制御部２８と、を含む。
【００４５】
判別部２５は、受付部２２で受付けた操作情報を示す操作内容の操作に、ホストツール３２が用いられたか、ゲストツール３４の何れかが用いられたか、を判別する。また、判別部２５は、受付部２２で受付けた操作情報を示す操作内容の操作に用いられた、ゲストツール３４を判別する。
【００４６】
このため、判別部２５は、受付部２２で受付けた操作情報を示す操作内容の操作に、ホストツール３２、ゲストツールＡ、ゲストツールＢ、の何れが用いられたかを判別する。
【００４７】
例えば、判別部２５は、受付けた操作情報の操作時に選択されていた、ツールを特定することで、この判別を行う。
【００４８】
登録部２６は、ゲストツール３４ごとに、処理リストを管理する。また、登録部２６は、ホストツール３２に対応するホスト処理リストを管理する。
【００４９】
処理リストは、操作情報の各々に対応する処理情報を、操作情報の受付順に登録したものである。登録部２６は、ゲストツール３４と、処理リストと、を１対１で管理する。本実施の形態では、登録部２６は、ゲストツールＡに対応する処理リストと、ゲストツールＢに対応する処理リストと、を管理する。
【００５０】
ホスト処理リストは、処理リストと同様に、操作情報の各々に対応する処理情報を、操作情報の受付順に登録したものである。但し、ホスト処理リストには、ホストツール３２を用いて操作された操作情報を含む処理情報と、ゲストツール３４の各々を用いて操作された操作情報を含む処理情報と、の双方が、操作情報の受付順に登録される。
【００５１】
図３は、ホスト処理リスト３６と、処理リスト３８（処理リスト３８Ａ、処理リスト３８Ｂ）と、の各々の一例を示す模式図である。
【００５２】
ホスト処理リスト３６は、ホストツール３２に対応する処理リストである。処理リスト３８Ａは、ゲストツールＡに対応する処理リスト３８である。処理リスト３８Ｂは、ゲストツールＢに対応する処理リスト３８である。
【００５３】
なお、登録部２６は、少なくとも、ゲストツール３４の各々に対応する処理リスト３８を管理すればよく、ホスト処理リスト３６を管理しない形態であってもよい。
【００５４】
ホスト処理リスト３６、処理リスト３８Ａ、処理リスト３８Ｂ、の各々には、ユーザによる操作部１２の操作の各々に対応する、処理情報３７が登録される。
【００５５】
図３に示す例では、処理リスト３８（処理リスト３８Ａ、処理リスト３８Ｂ）には、“操作１”〜“操作４”の操作情報を各々含む処理情報３７が登録されている。“操作１”〜“操作４”の操作情報は、ゲストツール３４を用いた１番目〜４番目の操作の操作内容を示す。登録部２６は、処理情報３７に含まれる操作情報の示す操作内容の操作に用いられた、ゲストツール３４に対応する処理リスト３８に、操作情報の受付順に処理情報３７を登録する。
【００５６】
また、ホスト処理リスト３６には、ホストツール３２およびゲストツール３４を用いた１番目〜４番目の操作である“操作１”〜“操作４”の操作情報を各々含む処理情報３７が、操作情報の受付順に登録されている。
【００５７】
図４は、処理情報３７のデータ構成の一例を示す模式図である。処理情報３７は、操作情報と、該操作情報を示す操作内容の操作の行われたオブジェクト５２の識別情報（以下、オブジェクトＩＤと称する）と、該操作によって表示される表示画像５２の論理構造情報と、を含む。
【００５８】
論理構造情報は、表示画像５０に含まれるオブジェクト５２に関する論理構造を示す情報である。論理構造情報は、該操作によって表示される表示画像５０に含まれるオブジェクト５２の各々の、現在の編集状態を示す編集状態情報と、該操作の該操作情報を示す操作内容に対応するオブジェクトの識別情報と、該操作内容の操作に用いられたゲストツール３４の識別情報と、を含む。
【００５９】
編集状態情報は、表示画像５０に含まれるオブジェクト５２の各々の、表示画像５０における位置情報と、該操作情報を示す操作内容の操作に用いられたゲストツール３４の識別情報と、オブジェクト５２に施されている編集内容（色、形、模様、など）と、を含む。
【００６０】
具体的には、論理構造情報は、木構造の頂点である親ノードを基準とし、新たに作成されるオブジェクト５２の各々を該親ノードに対する子ノードとして示し、子ノードであるオブジェクト５２の各々について、現在の編集状態情報（位置、形、色など）を示した情報である。
【００６１】
図５は、処理情報３７に含まれる論理構造情報の一例を示す説明図である。図５に示すように、ゲストツールＡに対応する処理リスト３８Ａに、“操作１”、“操作２”、“操作４”の各々の操作情報を含む処理情報３７１、処理情報３７２、処理情報３７４が登録されていたと仮定する。
【００６２】
そして、１番目の“操作１”で、ゲストツールＡを用いて円形のオブジェクト５２Ａ１が作成されたとする。また、２番目の“操作２”で、ゲストツールＡを用いて三角形のオブジェクト５２Ａ２が作成されたとする。また、３番目の“操作３”で、ゲストツールＢを用いて星形のオブジェクト５２Ｂ３が作成されたとする。さらに、４番目の“操作４”で、ゲストツールＡを用いてオブジェクト５２Ａ２の色が変更されてオブジェクト５２Ａ４とされたと仮定する。
【００６３】
この場合、ゲストツールＡに対応する処理リスト３８Ａにおける、“操作１”、“操作２”、“操作４”の各々の操作情報を含む処理情報３７１、処理情報３７２、処理情報３７４の各々に含まれる論理構造情報Ｓ１、論理構造情報Ｓ２、論理構造情報Ｓ３は、例えば、図５に示す木構造で表される。
【００６４】
具体的には、論理構造情報Ｓ１は、木構造の頂点である親ノードＮを基準とし、円形のオブジェクト５２Ａ１を該親ノードＮに対する子ノードとして示した木構造で表される。また、該論理構造情報Ｓ１は、子ノードである円形のオブジェクト５２Ａ１の現在の編集状態情報（例えば、ゲストツールＡを用いて作成された円形のオブジェクトであることを示す情報、および、該円形のオブジェクト５２Ａ１の位置、形、色など）示す情報を含む。
【００６５】
また、論理構造情報Ｓ１には、対応する処理情報３７１に含まれる操作情報を示す操作内容に対応するオブジェクト５２の識別情報と、該操作内容の操作に用いられたゲストツール３４の識別情報と、を含む特定情報Ｔが含まれる。図５に示す例では、論理構造情報Ｓ１は、特定情報Ｔとして、円形のオブジェクト５２Ａ１の識別情報と、処理情報３７１に示される該オブジェクト５２Ａ１の操作内容の操作に用いたゲストツールＡの識別情報と、を含む。
【００６６】
また、論理構造情報Ｓ２は、木構造の頂点である親ノードＮを基準とし、円形のオブジェクト５２Ａ１と、三角形のオブジェクト５２Ａ２と、を該親ノードＮに対する子ノードとして示した木構造で表される。また、該論理構造情報Ｓ２は、子ノードである円形のオブジェクト５２Ａ１の現在の編集状態情報と、子ノードである三角形のオブジェクト５２Ａ２の現在の編集状態情報（例えば、ゲストツールＡを用いて作成された三角形のオブジェクトであることを示す情報、および、該三角形のオブジェクト５２Ａ２の位置、形、色など）を含む。
【００６７】
また、論理構造情報Ｓ２には、対応する処理情報３７２に含まれる操作情報を示す操作内容に対応するオブジェクト５２の識別情報と、該操作内容の操作に用いられたゲストツール３４の識別情報と、を含む特定情報Ｔが含まれる。図５に示す例では、論理構造情報Ｓ２は、特定情報Ｔとして、三角形のオブジェクト５２Ａ２の識別情報と、処理情報３７２に示される該オブジェクト５２Ａ２の操作内容の操作に用いたゲストツールＡの識別情報と、を含む。
【００６８】
また、操作４の処理情報に含まれる、表示画像５０の論理構造情報Ｓ４は、木構造の頂点である親ノードＮを基準とし、円形のオブジェクト５２Ａ１と、三角形のオブジェクト５２Ａ４と、星形のオブジェクト５２Ｂ３と、を該親ノードＮに対する子ノードとして示した木構造で表される。また、該論理構造情報Ｓ４は、子ノードである円形のオブジェクト５２Ａ１の現在の編集状態情報と、三角形のオブジェクト５２Ａ４の現在の編集状態情報と、星形のオブジェクト５２Ｂ３の現在の編集状態情報（例えば、ゲストツールＢを用いて作成された星形のオブジェクトであることを示す情報、および、該星形のオブジェクト５２Ｂ３の位置、形、色など）と、を含む。
【００６９】
また、論理構造情報Ｓ４には、対応する処理情報３７４に含まれる操作情報を示す操作内容に対応するオブジェクト５２の識別情報と、該操作内容の操作に用いられたゲストツール３４の識別情報と、を含む特定情報Ｔが含まれる。図５に示す例では、論理構造情報Ｓ４は、特定情報Ｔとして、三角形のオブジェクト５２Ａ４の識別情報と、処理情報３７４に示される該オブジェクト５２Ａ４の操作内容の操作に用いたゲストツールＡの識別情報と、を含む。
【００７０】
図１に戻り、説明を続ける。登録部２６は、受付部２２で操作情報を受付ける毎に、受付けた操作情報を含む処理情報３７を、判別部２５で判別されたゲストツール３４に対応する処理リスト３８に、該操作情報の受付順に登録する。
【００７１】
また、登録部２６は、ホストツール３２が用いられたと判別された場合、受け付けた操作情報を含む処理情報３７を、ホスト処理リスト３６に登録する。また、登録部２６は、ゲストツール３４の何れかが用いられたと判別された場合、受付けた操作情報を含む処理情報３７を、判別部２５で判別されたゲストツール３４に対応する処理リスト３８と、ホスト処理リスト３６と、の各々に登録する。
【００７２】
このため、処理リスト３８（処理リスト３８Ａ、処理リスト３８Ｂ）の各々には、各処理リスト３８に対応するゲストツール３４を用いて行われた操作内容の処理情報３７が、操作情報を受付ける毎に順次登録される。一方、ホスト処理リスト３６には、ゲストツール３４およびホストツール３２の各々を用いて行われた操作内容の処理情報３７が、操作情報を受付ける毎に順次登録される。
【００７３】
配置部２７は、ホスト処理リスト３６および処理リスト３８に、現在位置を示すポインタＰを配置する。詳細には、図３に示すように、ホスト処理リスト３６および処理リスト３８の各々について、ホスト処理リスト３６および処理リスト３８に登録されている処理情報の１つに、ポインタＰを配置する。
【００７４】
配置部２７は、受付部２２で操作情報を受付ける毎に、ホスト処理リスト３６および処理リスト３８の各々における、受付けた最新の操作情報を含む処理情報３７に、現在位置を示すポインタＰを配置する。このため、ポインタＰの配置された処理情報３７が、現在の処理状態に対応する処理情報３７を示す。
【００７５】
このため、ユーザによる操作部１２の操作によって、ゲストツールバー４４Ａまたはゲストツールバー４４Ｂを介して、新たな操作情報が入力されるごとに、対応する処理リスト３８におけるポインタＰの位置が、入力された（受付けた）操作情報の処理情報３７に対応する位置に配置される。
【００７６】
また、配置部２７は、受付部２２でアンドゥ操作を受付けた場合、該アンドゥ操作に用いられたゲストツール３４（ゲストツールＡ、またはゲストツールＢ）に対応する処理リスト３８（処理リスト３８Ａ、または処理リスト３８Ｂ）に配置されたポインタＰの位置を、現在の位置より過去の位置に向かって戻した位置に配置する。本実施の形態では、配置部２７は、アンドゥ操作を１回受付けるごとに、ポインタＰの位置を現在の位置より過去の位置に向かって、１つ戻した位置に配置する。
【００７７】
一方、配置部２７は、受付部２２でリドゥ操作を受付けた場合、該リドゥ操作に用いられたゲストツール３４（ゲストツールＡ、ゲストツールＢ）に対応する処理リスト３８（処理リスト３８Ａ、または処理リスト３８Ｂ）に配置されたポインタＰの位置を、現在の位置から進めた位置に配置する。本実施の形態では、配置部２７は、リドゥ操作を１回受付けるごとに、ポインタＰの位置を現在の位置から、１つ進めた位置に配置する。
【００７８】
受付部２２がホストツール３２を介した、ユーザによるアンドゥ操作を更に受付ける場合がある。この場合、配置部２７は、ホスト処理リスト３６に配置されたポインタＰの位置を、現在の位置より過去の位置に向かって戻した位置に配置する。本実施の形態では、配置部２７は、アンドゥ操作を１回受付けるごとに、ポインタＰの位置を現在の位置より過去の位置に向かって、１つ戻した位置に配置する。
【００７９】
なお、この場合、登録部２６は、ホスト処理リスト３６における、配置部２７によって戻されたポインタＰの配置された処理情報３７に基づいて、該処理情報３７に含まれる操作情報を示す操作内容の操作に用いられたゲストツール３４に対応する処理リスト３８（処理リスト３８Ａまたは処理リスト３８Ｂ）を更新する。このとき、登録部２６は、該処理リスト３８におけるポインタＰの位置についても更新する。
【００８０】
また、受付部２２が、ホストツール３２を介した、ユーザによるリドゥ操作を受付ける場合がある。この場合、配置部２７は、ホスト処理リスト３６に配置されたポインタＰの位置を、現在の位置より進めた位置に配置する。本実施の形態では、配置部２７は、リドゥ操作を１回受付けるごとに、ポインタＰの位置を現在の位置から、１つ進めた位置に配置する。
【００８１】
なお、この場合、登録部２６は、ホスト処理リスト３６における、配置部２７によって進められたポインタＰの配置された処理情報３７に基づいて、該処理情報３７に含まれる操作情報を示す操作内容の操作に用いられたゲストツール３４に対応する処理リスト３８（処理リスト３８Ａまたは処理リスト３８Ｂ）を更新する。このとき、登録部２６は、該処理リスト３８におけるポインタＰの位置についても更新する。
【００８２】
表示制御部２８は、表示画像５０を表示する。本実施の形態では、表示制御部２８は、表示画像５０を、操作画面４０の描画領域４８に表示する。
【００８３】
詳細には、表示制御部２８は、複数のゲストツール３４（ゲストツールＡ、ゲストツールＢ）の各々に対応する処理リスト３８（処理リスト３８Ａ、処理リスト３８Ｂ）の各々における、最初に登録された処理情報３７からポインタＰの配置された処理情報３７までの各々に応じた編集処理を順に実行したオブジェクト５２を含む、表示画像５０を、操作画面４０の描画領域４８に表示する。
【００８４】
例えば、表示制御部２８は、複数のゲストツール３４の各々に対応する処理リスト３８（処理リスト３８Ａ、および処理リスト３８Ｂ）の各々における、ポインタＰの配置された処理情報３７に含まれる論理構造情報に基づいて、表示画像５０を表示する。これによって、表示制御部２８は、該編集処理を順に実行したオブジェクト５２を含む表示画像５０を、描画領域４８に表示する。すなわち、表示制御部２８は、論理構造情報に含まれる、オブジェクト５２の各々の現在の編集状態情報に基づいて、論理構造情報に含まれるオブジェクト５２の各々を現在の編集状態となるように配置することで、表示画像５０を生成し、操作画面４０に表示する。
【００８５】
図６は、本実施の形態の画像処理装置１０を用いた、画像処理の流れの一例の説明図である。
【００８６】
例えば、図６（Ａ）に示すように、ユーザが１回目の“操作１”の操作によって、ゲストツールＡを用いて、円形のオブジェクト５２Ａ１を描画したとする。すると、受付部２２は、ゲストツールＡの識別情報、用いられた拡張機能、操作された内容（ここでは、円形のオブジェクト５２Ａ１の作成）を含む、操作情報を受付ける。この場合、登録部２６は、該“操作１”の操作情報を含む処理情報３７を、ホスト処理リスト３６およびゲストツールＡの処理リスト３８Ａに登録する。また、配置部２７は、ホスト処理リスト３６および処理リスト３８Ａの各々における、該“操作１”の処理情報３７に、ポインタＰを配置する。この場合、表示制御部２８は、“操作１”の処理情報３７に含まれる操作情報に応じた編集処理を実行した、円形のオブジェクト５２Ａ１を含む表示画像５０１を表示する。
【００８７】
次に、図６（Ｂ）に示すように、ユーザが２回目の“操作２”の操作によって、ゲストツールＡを用いて、三角形のオブジェクト５２Ａ２を描画したとする。すると、受付部２２は、ゲストツールＡの識別情報、用いられた拡張機能、操作された内容（ここでは、三角形のオブジェクト５２Ａ２の作成）を含む、操作情報を受付ける。この場合、登録部２６は、該“操作２”の操作情報を含む処理情報３７を、ホスト処理リスト３６およびゲストツールＡの処理リスト３８Ａの最後尾に登録する。また、配置部２７は、ホスト処理リスト３６および処理リスト３８Ａの各々における、該“操作２”の処理情報３７に、ポインタＰを配置する。
【００８８】
この場合、表示制御部２８は、“操作１”および“操作２”の処理情報３７に含まれる操作情報に応じた編集処理を順に実行した、円形のオブジェクト５２Ａ１および三角形のオブジェクト５２Ａ２を含む、表示画像５０２を表示する。
【００８９】
次に、図６（Ｃ）に示すように、ユーザが３回目の“操作３”の操作によって、ゲストツールＢを用いて、星形のオブジェクト５２Ｂ３を描画したとする。すると、受付部２２は、ゲストツールＢの識別情報、用いられた拡張機能、操作された内容（ここでは、星形のオブジェクト５２Ｂ３の作成）を含む、操作情報を受付ける。この場合、登録部２６は、該“操作３”の操作情報を含む処理情報３７を、ホスト処理リスト３６およびゲストツールＢの処理リスト３８Ｂの最後尾に登録する。また、配置部２７は、ホスト処理リスト３６および処理リスト３８Ｂの各々における、該“操作３”の処理情報３７に、ポインタＰを配置する。
【００９０】
この場合、表示制御部２８は、処理リスト３８Ａにおける“操作１”および“操作２”の処理情報３７に含まれる操作情報に応じた編集処理を順に実行した、円形のオブジェクト５２Ａ１および三角形のオブジェクト５２Ａ２と、処理リスト３８Ｂにおける“操作３”の処理情報３７に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト５２Ｂ３と、を含む、表示画像５０３を表示する。
【００９１】
次に、図６（Ｄ）に示すように、ユーザが３回目の“操作３”の操作によって、ゲストツールＡを用いて、三角形のオブジェクト５２Ａ２の色を変更し、オブジェクト５２Ａ４とする操作を行ったとする。すると、受付部２２は、ゲストツールＡの識別情報、用いられた拡張機能、操作された内容（ここでは、三角形のオブジェクト５２Ａ２の色を変更して、オブジェクト５２Ａ４とする、色変更）を含む、操作情報を受付ける。この場合、登録部２６は、該“操作４”の操作情報を含む処理情報３７を、ホスト処理リスト３６およびゲストツールＡの処理リスト３８Ａに登録する。また、配置部２７は、ホスト処理リスト３６および処理リスト３８Ａの各々における、該“操作４”の処理情報３７に、ポインタＰを配置する。
【００９２】
この場合、表示制御部２８は、処理リスト３８Ａにおける“操作１”、“操作２”、“操作４”の処理情報３７に含まれる操作情報に応じた編集処理を順に実行した、円形のオブジェクト５２Ａ１、および色の変更された三角形のオブジェクト５２Ａ４と、処理リスト３８Ｂにおける“操作３”の処理情報３７に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト５２Ｂ３と、を含む、表示画像５０４を表示する。
【００９３】
次に、図６（Ｅ）に示すように、ユーザが、ゲストツールバー４４Ａを操作することで、アンドゥ機能を操作指示したとする。この場合、例えば、受付部２２は、ユーザによる“操作５”の操作によって、操作に用いたゲストツールＡの識別情報と、アンドゥ操作を示す情報と、を受付ける。すると、登録部２６は、ゲストツールＡに対応する処理リスト３８Ａに配置されたポインタＰの位置を、現在より一つ過去の位置に戻した位置に配置する。このため、処理リスト３８ＡにおけるポインタＰの位置は、“操作４”の処理情報３７を示す位置から、一つ前の処理情報３７である“操作２”の処理情報３７を示す位置に動かされる。一方、処理リスト３８ＢのポインタＰの位置は変更されない。
【００９４】
また、この場合、登録部２６は、“操作５”の操作によって受付けた、操作に用いたゲストツールＡの識別情報と、アンドゥ操作を示す情報と、論理構造情報と、を含む処理情報３７を、ホスト処理リスト３６に登録する。また、配置部２７は、ホスト処理リスト３６における、該“操作５”の処理情報に、ポインタＰを配置する（すなわちポインタＰを移動させる）。
【００９５】
この場合、表示制御部２８は、処理リスト３８Ａにおける“操作１”、“操作２”の処理情報３７に含まれる操作情報に応じた編集処理を順に実行した、円形のオブジェクト５２Ａ１、および色の変更前の三角形のオブジェクト５２Ａ２と、処理リスト３８Ｂにおける“操作３”の処理情報３７に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト５２Ｂ３と、を含む、表示画像５０５を表示する。
【００９６】
次に、図６（Ｆ）に示すように、ユーザが、ゲストツールバー４４Ａを操作することで、アンドゥ機能を操作指示したとする。この場合、例えば、受付部２２は、ユーザによる“操作６”の操作によって、操作に用いたゲストツールＡの識別情報と、アンドゥ操作を示す情報と、を受付ける。すると、登録部２６は、ゲストツールＡに対応する処理リスト３８Ａに配置されたポインタＰの位置を、現在より一つ過去の位置に戻した位置に配置する。このため、処理リスト３８ＡにおけるポインタＰの位置は、“操作２”の処理情報３７を示す位置から、一つ前の処理情報３７である“操作１”の処理情報３７を示す位置に動かされる。一方、処理リスト３８ＢのポインタＰの位置は変更されない。
【００９７】
また、この場合、登録部２６は、“操作６”の操作によって受付けた、操作に用いたゲストツールＡの識別情報と、アンドゥ操作を示す情報と、論理構造情報と、を含む処理情報３７を、ホスト処理リスト３６に登録する。また、配置部２７は、ホスト処理リスト３６における、該“操作６”の処理情報に、ポインタＰを配置する（すなわちポインタＰを移動させる）。
【００９８】
この場合、表示制御部２８は、処理リスト３８Ａにおける“操作１”の処理情報３７に含まれる操作情報に応じた編集処理を実行した、円形のオブジェクト５２Ａ１と、処理リスト３８Ｂにおける“操作３”の処理情報３７に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト５２Ｂ３と、を含む、表示画像５０６を表示する。
【００９９】
次に、図６（Ｇ）に示すように、ユーザが７回目の“操作７”の操作によって、ゲストツールＡを用いて、逆三角形のオブジェクト５２Ａ７を描画したとする。すると、受付部２２は、ゲストツールＡの識別情報、用いられた拡張機能、操作された内容（ここでは、逆三角形のオブジェクト５２Ａ７の作成）を含む、操作情報を受付ける。この場合、登録部２６は、該“操作７”の操作情報を含む処理情報３７を、ホスト処理リスト３６の最後尾に登録する。また、登録部２６は、処理リスト３８Ａにおける、現在ポインタＰの位置している“操作１”の示す処理情報３７より後に登録された、処理情報３７（“操作２”および“操作４”の各々の処理情報３７（図６（Ｆ）参照））を削除した後に、最後尾に“操作７”の操作情報を含む処理情報３７を登録する（図６（Ｇ）参照）。また、配置部２７は、ホスト処理リスト３６および処理リスト３８Ａの各々における、該“操作７”の処理情報３７に、ポインタＰを配置する。
【０１００】
この場合、表示制御部２８は、処理リスト３８Ａにおける“操作１”および“操作７”の処理情報３７に含まれる操作情報に応じた編集処理を順に実行した、円形のオブジェクト５２Ａ１および逆三角形のオブジェクト５２Ａ７と、処理リスト３８Ｂにおける“操作３”の処理情報３７に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト５２Ｂ３と、を含む、表示画像５０７を表示する。
【０１０１】
次に、図６（Ｈ）に示すように、ユーザが、ホストツールバー４２を操作することで、アンドゥ機能を操作指示したとする。この場合、例えば、受付部２２は、ユーザによる操作によって、操作に用いたホストツール３２の識別情報と、アンドゥ操作を示す情報と、を受付ける。すると、登録部２６は、ホスト処理リスト３６に配置されたポインタＰの位置を、現在より一つ過去の位置に戻した位置に配置する。このため、ホスト処理リスト３６におけるポインタＰの位置は、“操作７”の処理情報３７を示す位置から、一つ前の処理情報３７である“操作６”の処理情報３７を示す位置に動かされる。一方、処理リスト３８ＢのポインタＰの位置は変更されない。
【０１０２】
また、この場合、登録部２６は、ホスト処理リスト３６におけるポインタＰの示す“操作６”の処理情報３７に基づいて、処理リスト３８Ａを更新する。具体的には、登録部２６は、該“操作６”の処理情報３７に含まれる、論理構造情報を用いて、“操作６”の示す編集状態となるように、処理リスト３８Ａを更新する。このとき、登録部２６は、ポインタＰの位置も更新する。このため、図６（Ｈ）に示すように、処理リスト３８Ａは、“操作１”、“操作２”、“操作４”の各々の処理情報３７をこの順に登録し、且つ、ポインタＰを“操作１”の処理情報３７を示す位置に配置したものとなるように、更新される。
【０１０３】
この場合、表示制御部２８は、処理リスト３８Ａにおける“操作１”の処理情報３７に含まれる操作情報に応じた編集処理を実行した、円形のオブジェクト５２Ａ１と、処理リスト３８Ｂにおける“操作３”の処理情報３７に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト５２Ｂ３と、を含む、表示画像５０８を表示する。
【０１０４】
このように、本実施の形態では、ゲストツール３４の各々ごとに処理リスト３８を管理し、処理リスト３８を用いて表示画像５０を表示する。このため、画像編集時の作業効率の向上を図ることができる。
【０１０５】
ここで、複数のゲストツール３４（ゲストツールＡ、ゲストツールＢ）の内の１つのゲストツール３４（例えばゲストツールＡ）を用いて作成・編集したオブジェクト５２に対してのみ、アンドゥ操作やリドゥ操作を実行するためには、表示画像５０の論理構造情報を、各ゲストツール３４で管理しておく必要がある。
【０１０６】
上述したように、処理リスト３８に含まれる、各操作の各々に対応する処理情報３７の各々には、表示画像５０の論理構造情報が含まれる。このため、画像処理装置１０は、該論理構造情報を用いることで、複数のゲストツール３４（ゲストツールＡ、ゲストツールＢ）の内の１つのゲストツール３４（例えばゲストツールＡ）を用いて作成・編集したオブジェクト５２に対してのみ、アンドゥ操作やリドゥ操作を実行することができる。
【０１０７】
一方、従来では、１つのゲストツールを介して行われた操作指示の示す編集処理が、他のゲストツールを介して行われた実行済の編集処理に影響を与える場合があった。このため、従来では、ユーザは、意図する画像編集を行うために、様々な操作指示を行う必要があった。
【０１０８】
図７は、従来の方式の説明図である。従来では、複数のゲストツール３４を介して行われた操作指示を示す情報を、１つのリストで管理していた。このため、図７に示すような不都合が発生する場合があった。
【０１０９】
具体的には、図７（Ａ）は、ゲストツールＡとゲストツールＢの操作を交互に行った場合の、リストの状態の一例を示す図である。図７（Ａ）に示すように、“操作１”〜“操作４”を順に行うことで、ゲストツールＡを用いて丸いオブジェクトを描画、ゲストツールＡを用いて三角形のオブジェクトを描画、ゲストツールＢを用いて星形のオブジェクトを描画、ゲストツールＡを用いて三角形のオブジェクトの色を変更、を順に行ったと仮定する。この場合、ポインタＰは、“操作４”を示している。
【０１１０】
図７（Ｂ）は、ユーザによる操作指示によって、“操作４”から“操作１”までアンドゥ操作されたときの状態を示す図である。図７（Ｂ）に示すように、従来では、“操作１”まで戻した場合、ゲストツールＢで描画した星型のオブジェクトが表示されなくなっていた。
【０１１１】
図７（Ｃ）は、更に、ユーザによる操作指示によって、ゲストツールＡを用いて新たな操作が行われた場合の、リストの状態の一例を示す図である。図７（Ｃ）に示すように、図７（Ｂ）に示す状態から、ゲストツールＡを用いて新たな“操作２’”が行われて、逆三角形のオブジェクトが描画されたとする。この場合、リストに登録されていた、該アンドゥ操作前の操作を示す情報（ここでは、“操作２”〜“操作４”の情報）が削除されていた。
【０１１２】
このように、従来では、ゲストツールＡとゲストツールＢの操作を交互に行った場合、ゲストツールＡの操作に対応する処理情報のみについて、アンドゥ操作を適用しようとしても、ゲストツールＢの操作に対応する情報についてもアンドゥ操作が適用されていた。このため、ゲストツールＢを用いて描画したオブジェクト（ここでは、星形のオブジェクト）が消去されてしまっていた。
【０１１３】
このため、再度、星形のオブジェクトを描画するためには、ユーザは、再度ゲストツールＢを用いた操作を行う必要があった。すなわち、従来の方式では、複数のゲストツールを用いて画像編集を行う場合の、作業効率が低下していた。
【０１１４】
一方、本実施の形態の画像処理装置１０では、ゲストツール３４の各々ごとに処理リスト３８を管理する。また、処理リスト３８に含まれる、各操作の各々に対応する処理情報３７の各々には、表示画像５０の論理構造情報が含まれる。
【０１１５】
このため、図６を用いて説明したように、複数のゲストツール３４を用いて画像編集を行う場合の、作業効率の向上を図ることができる。
【０１１６】
具体的には、図６を用いて説明したように、本実施の形態の画像処理装置１０を用いて、図６（Ｄ）に示す“操作４”の表示画像５０４が表示されているときに、ゲストツールＡを用いてアンドゥ操作が行われ（図６（Ｅ）参照）、更に、もう一度、アンドゥ操作が行われたとする（図６（Ｆ）参照）。このような場合、本実施の形態の画像処理装置１０では、操作されたゲストツールＡについてのみアンドゥ操作が有効となり、操作されていないゲストツールＢについてはアンドゥ操作が適用されない。このため、図６（Ｅ）および図６（Ｆ）に示すように、ゲストツールＡを用いてアンドゥ操作が行われた場合、ゲストツールＢを用いて作成・編集された星形のオブジェクト５２Ｂ３が消去されずに、表示画像５０に残る。
【０１１７】
このため、本実施の形態の画像処理装置１０では、複数のゲストツール３４を用いて画像編集を行う場合の、作業効率の向上を図ることができる。
【０１１８】
次に、画像処理装置１０のハードウェア構成を説明する。図８は、画像処理装置１０のハードウェア構成の一例を示す図である。図８に示すように、画像処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６０と、ＲＯＭ６１やＲＡＭ６２、ＶＲＡＭ６３などのメモリと、ＨＤＤ等の記憶部６４と、ディスプレイなどの表示部６５と、キーボードやマウスなどの操作部６６と、入出力インタフェースなどのＩ／Ｏ６７とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１１９】
本実施形態では、ＣＰＵ６０が、ＲＯＭ６１等に格納されたプログラムをＲＡＭ６２上に読み出して実行することにより、上述のデータ入力部１４、編集部２０（受付部２２、画像処理部２４（判別部２５、登録部２６、配置部２７、表示制御部２８））の各々の機能が実現される。なお、これに限らず、例えば上述のデータ入力部１４、編集部２０（受付部２２、画像処理部２４（判別部２５、登録部２６、配置部２７、表示制御部２８））のうちの少なくとも一部を、専用のハードウェア回路（例えば半導体集積回路等）で実現してもよい。また、この例では、上述の操作部１２は、操作部６６により実現され、上述の表示部１６は、表示部６５により実現される。また、上述の記憶部１８は、例えば記憶部６４等により実現することができる。
【０１２０】
なお、上述のＣＰＵ６０が実行するプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１２１】
さらに、上述のＣＰＵ６０が実行するプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述のＣＰＵ６０が実行する制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２２】
次に、画像処理装置１０が実行する画像処理の手順の一例を説明する。図９は、画像処理装置１０が実行する画像処理の手順の一例を示す、フローチャートである。
【０１２３】
まず、受付部２２が、操作情報を受付けたか否かを判断する（ステップＳ１００）。ステップＳ１００で否定判断すると（ステップＳ１００：Ｎｏ）、本ルーチンを終了する。ステップＳ１００で肯定判断すると（ステップＳ１００：Ｙｅｓ）、ステップＳ１０２へ進む。
【０１２４】
ステップＳ１０２では、判別部２５が、ステップＳ１００で受付けた操作情報を示す操作内容の操作に、ホストツール３２が用いられたか、ゲストツール３４の何れかが用いられたか、を判別する（ステップＳ１０２）。
【０１２５】
ホストツール３２が用いられたと判別した場合（ステップＳ１０２：Ｙｅｓ）、ステップＳ１０４へ進む。ステップＳ１０４では、登録部２６が、ステップＳ１００で受け付けた操作情報を含む処理情報３７を、ホスト処理リスト３６の末尾に登録する（ステップＳ１０４）。次に、配置部２７が、ホスト処理リスト３６における、ステップＳ１０４で登録された処理情報３７に、ポインタＰを配置する（ステップＳ１０６）。そして、後述するステップＳ１０８へ進む。
【０１２６】
一方、ステップＳ１０２でゲストツール３４であると判別した場合（ステップＳ１０２：Ｎｏ）、ステップＳ１１０へ進む。
【０１２７】
ステップＳ１１０では、判別部２５が、ステップＳ１００で受付けた操作情報を示す操作内容の操作に、ゲストツール３４の何れが用いられたかを判別する（ステップＳ１１０）。本実施の形態では、判別部２５は、ゲストツールＡおよびゲストツールＢの何れが用いられたかを判別する。
【０１２８】
ゲストツールＡが用いられたと判別した場合（ステップＳ１１０：Ｙｅｓ）、ステップＳ１１２へ進む。ステップＳ１１２では、登録部２６が、ゲストツールＡに対応する処理リスト３８Ａの末尾に、ステップＳ１００で受付けた操作情報を含む処理情報３７を登録する（ステップＳ１１２）。次に、配置部２７が、処理リスト３８Ａにおける、ステップＳ１１２で登録された処理情報３７に、ポインタＰを配置する（ステップＳ１１４）。
【０１２９】
次に、登録部２６が、ホストツール３２に対応するホスト処理リスト３６の末尾に、ステップＳ１００で受付けた操作情報を含む処理情報３７を登録する（ステップＳ１１６）。ステップＳ１１６で登録される処理情報３７と、ステップＳ１１２で登録される処理情報３７と、は同じ内容を示す。
【０１３０】
次に、配置部２７が、ホスト処理リスト３６における、ステップＳ１１６で登録された処理情報３７に、ポインタＰを配置する（ステップＳ１１８）。そして、後述するステップＳ１０８へ進む。
【０１３１】
一方、ステップＳ１１０で、判別部２５が、ゲストツールＢが用いられたと判別した場合（ステップＳ１１０：Ｎｏ）、ステップＳ１２０へ進む。ステップＳ１２０では、登録部２６が、ゲストツールＢに対応する処理リスト３８Ｂの末尾に、ステップＳ１００で受付けた操作情報を含む処理情報３７を登録する（ステップＳ１２０）。次に、配置部２７が、処理リスト３８Ｂにおける、ステップＳ１２０で登録された処理情報３７に、ポインタＰを配置する（ステップＳ１２２）。
【０１３２】
次に、登録部２６が、ホストツール３２に対応するホスト処理リスト３６の末尾に、ステップＳ１００で受付けた操作情報を含む処理情報３７を登録する（ステップＳ１２４）。ステップＳ１２４で登録される処理情報３７と、ステップＳ１２０で登録される処理情報３７と、は同じ内容を示す。
【０１３３】
次に、配置部２７が、ホスト処理リスト３６における、ステップＳ１２４で登録された処理情報３７に、ポインタＰを配置する（ステップＳ１２６）。そして、後述するステップＳ１０８へ進む。
【０１３４】
ステップＳ１０８では、表示制御部２８が、複数のゲストツール３４（ゲストツールＡ、ゲストツールＢ）の各々に対応する処理リスト３８（処理リスト３８Ａ、処理リスト３８Ｂ）の各々に基づいて、表示画像５０を表示部１６の操作画面４０へ表示する（ステップＳ１０８）。例えば、表示制御部２８は、複数のゲストツール３４の各々に対応する処理リスト３８（処理リスト３８Ａ、および処理リスト３８Ｂ）の各々における、ポインタＰの配置された処理情報３７に含まれる論理構造情報に基づいて、表示画像５０を表示する。すなわち、表示制御部２８は、論理構造情報に含まれる、オブジェクト５２の各々の現在の編集状態情報に基づいて、論理構造情報に含まれるオブジェクト５２の各々を現在の編集状態となるように配置することで、表示画像５０を生成し、操作画面４０に表示する。そして、本ルーチンを終了する。
【０１３５】
次に、図９に示す画像処理において、画像処理装置１０が実行する割込み処理の一例を説明する。図１０は、アンドゥ操作を受付けた場合の、割込み処理の手順の一例を示す、フローチャートである。
【０１３６】
まず、受付部２２がアンドゥ操作を受付けたか否かを判断する（ステップＳ２００）。ステップＳ２００で否定判断すると（ステップＳ２００：Ｎｏ）、本ルーチンを終了する。ステップＳ２００で肯定判断すると（ステップＳ２００：Ｙｅｓ）、ステップＳ２０２へ進む。
【０１３７】
ステップＳ２０２では、判別部２５が、ステップＳ２００で受付けたアンドゥ操作に、ゲストツール３４が用いられたか否かを判断する（ステップＳ２０２）。ゲストツール３４が用いられたと判断した場合（ステップＳ２０２：Ｙｅｓ）、ステップＳ２０４へ進む。
【０１３８】
ステップＳ２０４では、配置部２７が、該アンドゥ操作に用いられたゲストツール３４（ゲストツールＡ、またはゲストツールＢ）に対応する処理リスト３８（処理リスト３８Ａ、または処理リスト３８Ｂ）に配置されたポインタＰの位置を、現在の位置より過去の位置に向かって１つ戻した位置に配置する（ステップＳ２０４）。
【０１３９】
次に、配置部２７は、ホスト処理リスト３６の最後尾に、該アンドゥ操作に用いたゲストツール３４（ゲストツールＡまたはゲストツールＢ）の識別情報と、アンドゥ操作を示す情報と、論理構造情報と、を含む処理情報３７を登録する（ステップＳ２０６）。また、配置部２７は、ホスト処理リスト３６における、現在のポインタＰの位置を、一つ進めた位置に配置する（ステップＳ２０８）。ステップＳ２０８の処理によって、ホスト処理リスト３６における、ステップＳ２０６で登録された処理情報３７の位置にポインタＰが配置される。
【０１４０】
次に、表示制御部２８が表示画像５０を更新する（ステップＳ２１０）。すなわち、例えば、表示制御部２８は、複数のゲストツール３４の各々に対応する処理リスト３８（処理リスト３８Ａ、および処理リスト３８Ｂ）の各々における、ポインタＰの配置された処理情報３７に含まれる論理構造情報に基づいて、表示画像５０を表示する。そして、本ルーチンを終了する。
【０１４１】
このため、操作されたゲストツール３４（ゲストツールＡまたはゲストツールＢ）についてのみアンドゥ操作が有効とされた、表示画像５０が表示される。また、この表示画像５０には、操作されていないゲストツール３４（ゲストツールＡまたはゲストツールＢ）については、アンドゥ操作は適用されない。
【０１４２】
一方、ステップＳ２０２でホストツール３２が用いられたと判断した場合（ステップＳ２０２：Ｎｏ）、ステップＳ２１２へ進む。ステップＳ２１２では、配置部２７が、ホスト処理リスト３６に配置されたポインタＰの位置を、現在の位置より過去の位置に向かって１つ戻した位置に配置する（ステップＳ２１２）。
【０１４３】
次に、登録部２６が、該アンドゥ操作された処理情報３７の操作情報は、ゲストツール３４を用いて操作したものか否かを判断する（ステップＳ２１４）。ステップＳ２１４で否定判断すると（ステップＳ２１４：Ｎｏ）、後述するステップＳ２１８へ進む。
【０１４４】
ステップＳ２１４で肯定判断すると（ステップＳ２１４：Ｙｅｓ）、ステップＳ２１６へ進む。ステップＳ２１６では、ステップＳ２１４で判断したゲストツール３４（ゲストツールＡまたはゲストツールＢ）に対応する処理リスト３８（処理リスト３８Ａまたは処理リスト３８Ｂ）を、ホスト処理リスト３６における、ステップＳ２１２で配置されたポインタＰの示す処理情報３７に基づいて更新する（ステップＳ２１６）。
【０１４５】
次に、ステップＳ２１８では、表示制御部２８が、ステップＳ２１０と同様にして、表示画像５０を更新する（ステップＳ２１８）。そして、本ルーチンを終了する。
【０１４６】
次に、図９に示す画像処理において、画像処理装置１０が実行する、他の割込み処理の一例を説明する。図１１は、リドゥ操作を受付けた場合の、割込み処理の手順の一例を示す、フローチャートである。
【０１４７】
まず、受付部２２がリドゥ操作を受付けたか否かを判断する（ステップＳ３００）。ステップＳ３００で否定判断すると（ステップＳ３００：Ｎｏ）、本ルーチンを終了する。ステップＳ３００で肯定判断すると（ステップＳ３００：Ｙｅｓ）、ステップＳ３０２へ進む。
【０１４８】
ステップＳ３０２では、判別部２５が、ステップＳ３００で受付けたリドゥ操作に、ゲストツール３４が用いられたか否かを判断する（ステップＳ３０２）。ゲストツール３４が用いられたと判断した場合（ステップＳ３０２：Ｙｅｓ）、ステップＳ３０４へ進む。
【０１４９】
ステップＳ３０４では、配置部２７が、該リドゥ操作に用いられたゲストツール３４（ゲストツールＡ、またはゲストツールＢ）に対応する処理リスト３８（処理リスト３８Ａ、または処理リスト３８Ｂ）に配置されたポインタＰの位置を、現在の位置から１つ進めた位置に配置する（ステップＳ３０４）。
【０１５０】
次に、配置部２７は、ホスト処理リスト３６の最後尾に、該リドゥ操作に用いたゲストツール３４（ゲストツールＡまたはゲストツールＢ）の識別情報と、リドゥ操作を示す情報と、論理構造情報と、を含む処理情報３７を登録する（ステップＳ３０６）。また、配置部２７は、ホスト処理リスト３６における、現在のポインタＰの位置を、一つ進めた位置に配置する（ステップＳ３０８）。ステップＳ３０８の処理によって、ホスト処理リスト３６における、ステップＳ３０６で登録された処理情報３７の位置にポインタＰが配置される。
【０１５１】
次に、表示制御部２８が表示画像５０を更新する（ステップＳ３１０）。すなわち、例えば、表示制御部２８は、複数のゲストツール３４の各々に対応する処理リスト３８（処理リスト３８Ａ、および処理リスト３８Ｂ）の各々における、ポインタＰの配置された処理情報３７に含まれる論理構造情報に基づいて、表示画像５０を表示する。そして、本ルーチンを終了する。
【０１５２】
このため、操作されたゲストツール３４（ゲストツールＡまたはゲストツールＢ）についてのみリドゥ操作が有効とされた、表示画像５０が表示される。また、この表示画像５０には、操作されていないゲストツール３４（ゲストツールＡまたはゲストツールＢ）については、リドゥ操作は適用されない。
【０１５３】
一方、ステップＳ３０２でホストツール３２が用いられたと判断した場合（ステップＳ３０２：Ｎｏ）、ステップＳ３１２へ進む。ステップＳ３１２では、配置部２７が、ホスト処理リスト３６に配置されたポインタＰの位置を、現在の位置より１つ進めた位置に配置する（ステップＳ３１２）。
【０１５４】
次に、登録部２６が、該リドゥ操作された処理情報３７の操作情報は、ゲストツール３４を用いて操作したものか否かを判断する（ステップＳ３１４）。ステップＳ３１４で否定判断すると（ステップＳ３１４：Ｎｏ）、後述するステップＳ３１８へ進む。
【０１５５】
ステップＳ３１４で肯定判断すると（ステップＳ３１４：Ｙｅｓ）、ステップＳ３１６へ進む。ステップＳ３１６では、ステップＳ３１４で判断したゲストツール３４（ゲストツールＡまたはゲストツールＢ）に対応する処理リスト３８（処理リスト３８Ａまたは処理リスト３８Ｂ）を、ホスト処理リスト３６における、ステップＳ３１２で配置されたポインタＰの示す処理情報３７に基づいて更新する（ステップＳ３１６）。
【０１５６】
次に、ステップＳ３１８では、表示制御部２８が、ステップＳ３１０と同様にして、表示画像５０を更新する（ステップＳ３１８）。そして、本ルーチンを終了する。
【０１５７】
以上説明したように、本実施の形態の画像処理装置１０は、受付部２２と、判別部２５と、登録部２６と、配置部２７と、表示制御部２８と、を備える。受付部２２は、画像編集に関する拡張機能を提供するための複数のゲストツール３４の何れかを用いて、オブジェクト５２に対してユーザが操作した操作内容を示す操作情報を受付ける。判別部２５は、受付けた操作情報を示す操作内容の操作に用いられたゲストツール３４を判別する。登録部２６は、操作情報を受付ける毎に、受付けた操作情報を含む処理情報３７を、判別されたゲストツール３４に対応する処理リスト３８に、該操作情報の受付順に登録する。配置部２７は、操作情報を受付ける毎に、該処理リスト３８における、受付けた最新の操作情報を含む処理情報３７に、現在位置を示すポインタＰを配置する。表示制御部２８は、複数のゲストツール３４の各々に対応する処理リスト３６の各々における、最初に登録された処理情報３７からポインタＰの配置された処理情報３７までの各々に応じた編集処理を順に実行したオブジェクト５２を含む、表示画像５０を表示する。
【０１５８】
このように、本実施の形態の画像処理装置１０では、ゲストツール３４の各々ごとに処理リスト３８を管理し、これらの処理リスト３８を用いて表示画像５０を表示する。このため、１つのゲストツール３４を介して行われた編集処理が、他のゲストツール３４を介して行われた実行済の編集処理に影響を与えることを抑制することができる。
【０１５９】
従って、本実施の形態の画像処理装置１０では、複数のゲストツール３４を用いて画像編集を行う場合の、作業効率の向上を図ることができる。
【０１６０】
処理情報３７は、操作情報、操作情報を示す操作内容の操作の行われたオブジェクト５２の識別情報、および該操作によって表示される表示画像５０の論理構造情報を含む。
【０１６１】
論理構造情報は、表示画像５０に含まれるオブジェクト５２の各々の現在の編集状態情報と、該操作情報を示す操作内容に対応するオブジェクト５２の識別情報と、該操作内容の操作に用いられたゲストツール３４の識別情報と、を含む。
【０１６２】
表示制御部２８は、複数のゲストツール３４の各々に対応する処理リスト３８の各々における、ポインタＰの配置された処理情報３７に含まれる論理構造情報に基づいて、表示画像５０を表示する。
【０１６３】
受付部２２は、複数のゲストツール３４の何れかを介した、ユーザによるアンドゥ操作またはリドゥ操作を受付ける。配置部２７は、アンドゥ操作を受付けた場合、該アンドゥ操作に用いられたゲストツール３４に対応する処理リスト３８に配置されたポインタＰの位置を、現在の位置より過去の位置に向かって戻した位置に配置する。配置部２７は、リドゥ操作を受付けた場合、該リドゥ操作に用いられたゲストツール３４に対応する処理リスト３８におけるポインタＰの位置を、現在の位置から進めた位置に配置する。
【０１６４】
受付部２２は、画像編集に関する基本機能を提供するためのホストツール３２を用いて、オブジェクト５２に対してユーザが操作した操作内容を示す操作情報を更に受付ける。判別部２５は、受付けた操作情報を示す操作内容の操作にホストツール３２が用いられたか、および、ゲストツール３４の何れかが用いられたか、を更に判別する。登録部２６は、ホストツール３２が用いられたと判別された場合、受け付けた該操作情報を含む処理情報３７をホスト処理リスト３６に登録する。登録部２６は、ゲストツール３４の何れかが用いられたと判別された場合、受付けた操作情報を含む処理情報３７を、判別されたゲストツール３４に対応する処理リスト３８およびホストツール３２に対応するホスト処理リスト３６に登録する。配置部２７は、操作情報を受付ける毎に、処理リスト３６およびホスト処理リスト３８の各々における、受付けた最新の操作情報を含む処理情報３７に、現在位置を示すポインタＰを配置する。
【０１６５】
受付部２２は、ホストツール３２を介した、ユーザによるアンドゥ操作を更に受付ける。配置部２７は、ホストツール３２を介したアンドゥ操作を受付けた場合、ホスト処理リスト３６に配置されたポインタＰの位置を、現在の位置より過去の位置に向かって戻した位置に配置する。登録部２６は、ホストツール３２を介したアンドゥ操作を受付けた場合、ホスト処理リスト３６における配置部２７によって戻されたポインタＰの配置された処理情報３７に基づいて、該処理情報３７に含まれる操作情報を示す操作内容の操作に用いられたゲストツール３４に対応する処理リスト３８を更新する。
【０１６６】
受付部２２は、ホストツール３２を介した、ユーザによるリドゥ操作を更に受付ける。配置部２７は、ホストツール３２を介したリドゥ操作を受付けた場合、ホスト処理リスト３６に配置されたポインタＰの位置を、現在の位置より進めた位置に配置する。登録部２６は、ホストツール３２を介したリドゥ操作を受付けた場合、ホスト処理リスト３６における配置部２７によって進められたポインタＰの配置された処理情報３７に基づいて、該処理情報３７に含まれる操作情報を示す操作内容の操作に用いられたゲストツール３４に対応する処理リスト３８を更新する。
【０１６７】
本実施の形態の画像処理方法は、画像編集に関する拡張機能を提供するための複数のゲストツール３４の何れかを用いて、オブジェクト５２に対してユーザが操作した操作内容を示す操作情報を受付けるステップと、受付けた操作情報を示す操作内容の操作に用いられたゲストツール３４を判別するステップと、操作情報を受付ける毎に、受付けた操作情報を含む処理情報３７を、判別されたゲストツール３４に対応する処理リスト３８に、該操作情報の受付順に登録するステップと、操作情報を受付ける毎に、該処理リスト３８における、受付けた最新の操作情報を含む処理情報３７に、現在位置を示すポインタＰを配置するステップと、複数のゲストツール３４の各々に対応する処理リスト３８の各々における、最初に登録された処理情報３７に含まれる操作情報からポインタＰの配置された処理情報３７までの各々に応じた編集処理を順に実行したオブジェクト５２を含む、表示画像５０を表示するステップと、を含む。
【０１６８】
また、本実施の形態の画像処理プログラムは、画像編集に関する拡張機能を提供するための複数のゲストツール３４の何れかを用いて、オブジェクト５２に対してユーザが操作した操作内容を示す操作情報を受付けるステップと、受付けた操作情報を示す操作内容の操作に用いられたゲストツール３４を判別するステップと、操作情報を受付ける毎に、受付けた操作情報を含む処理情報３７を、判別されたゲストツール３４に対応する処理リスト３８に、該操作情報の受付順に登録するステップと、操作情報を受付ける毎に、該処理リスト３８における、受付けた最新の操作情報を含む処理情報３７に、現在位置を示すポインタＰを配置するステップと、複数のゲストツール３４の各々に対応する処理リスト３８の各々における、最初に登録された処理情報３７に含まれる操作情報からポインタＰの配置された処理情報３７までの各々に応じた編集処理を順に実行したオブジェクト５２を含む、表示画像５０を表示するステップと、をコンピュータに実行させるための、画像処理プログラムである。
【０１６９】
なお、上記には、本実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１７０】
１０  画像処理装置
２２  受付部
２５  判別部
２６  登録部
２７  配置部
２８  表示制御部
【先行技術文献】
【特許文献】
【０１７１】
【特許文献１】特開２０１１−２４８４７８号公報
【図１】
2018005695.tif 000003
【図２】
2018005695.tif 000004
【図３】
2018005695.tif 000005
【図４】
2018005695.tif 000006
【図５】
2018005695.tif 000007
【図６】
2018005695.tif 000008
【図７】
2018005695.tif 000009
【図８】
2018005695.tif 000010
【図９】
2018005695.tif 000011
【図１０】
2018005695.tif 000012
【図１１】
2018005695.tif 000013