(57)【要約】【課題】多様なシステムへ対応する際のメンテナンス性に優れ、アプリケーションの要求に応じて描画処理をダイナミックに変更することが可能な図形描画システムを提供する。【解決手段】例えば、図形描画システム１０をデバイス非依存部１１とデバイス依存部１２から構成する。デバイス依存部１２は、複数の描画関数からなる描画関数群１２０を含み、各描画関数は、システムが実装されるハードウェアの仕様に応じてサーフェス操作処理部１１１に対して画素書き込みを行うプログラムである。デバイス非依存部１１は、描画関数テーブル１１４ａを含み、この中にはアプリケーション１３からの描画要求と前述した描画関数を示すポインタとの対応関係が設定されている。描画要求が受けた際には、この描画要求に対応するポインタを描画関数テーブル１１４ａから取得し、このポインタに対応する描画関数をデバイス依存部１２に対してコールする。【選択図】図１
2008021090.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムによって実現され、アプリケーションからの描画要求に応じてサーフェスに対して画素の書き込みを行う図形描画システムであって、
前記サーフェスに対して画素の書き込み処理を行う描画関数と、
前記アプリケーションからの描画要求と前記描画関数を示すポインタとの対応関係を定義した描画関数テーブルとを含み、
前記アプリケーションからの描画要求を受けた際に、前記描画関数テーブル内の前記描画要求に対応する前記ポインタを用いて所望の描画関数をコールすることを特徴とする図形描画システム。
【請求項２】
請求項１記載の図形描画システムにおいて、
前記コールされた描画関数は、前記サーフェスに対して画素の書き込み処理を行う際に、前記サーフェスの情報や描画効果の情報を前記図形描画システムに含まれるコンテキストを参照して取得することを特徴とする図形描画システム。
【請求項３】
コンピュータシステムによって実現され、アプリケーションからの第１の描画要求に応じてサーフェスに対して画素の書き込みを行う図形描画システムであって、
前記サーフェスに対してそれぞれ異なる方法で画素の書き込み処理を行う複数の描画関数と、
前記第１の描画要求に対応して設けられた複数の関数モードの中からいずれかの関数モードを設定可能な関数モード設定テーブルと、
前記第１の描画要求と前記複数の描画関数をそれぞれ示す複数のポインタと前記複数の関数モードとの対応関係を定義した描画関数テーブルとを含み、
前記アプリケーションからの第１の描画要求を受けた際に、前記描画関数テーブル内の前記第１の描画要求に対応する前記複数のポインタの中から前記関数モード設定テーブルで設定した関数モードに対応するポインタを用いて所望の描画関数をコールすることを特徴とする図形描画システム。
【請求項４】
請求項３記載の図形描画システムにおいて、
前記関数モード設定テーブルは、前記アプリケーションからの命令によって任意に設定可能となっていることを特徴とする図形描画システム。
【請求項５】
請求項３記載の図形描画システムにおいて、
前記コールされた描画関数は、前記サーフェスに対して画素の書き込み処理を行う際に、前記サーフェスの情報や描画効果の情報を前記図形描画システムに含まれるコンテキストを参照して取得することを特徴とする図形描画システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は図形描画システムに関し、特に、組み込みシステムにおけるミドルウェアといった図形描画システムに適用して有効な技術に関するものである。
【背景技術】
【０００２】
例えば、カーナビゲーションや携帯電話分野などで適用される２次元描画ライブラリは、一般的に、使用するシステムやアプリケーションインターフェース（ＡＰＩ）毎に作成させる。例えば、描画手段としてハードウェアアクセラレータを内蔵するデバイスを使用する場合では、ハードウェアアクセラレータを使用した描画処理の実装が必要となり、使用しない場合では、ソフトウェア演算のみで描画処理を実現する実装が必要となる。このような場合、ＡＰＩは同一であるが、描画処理部の異なる２次元描画ライブラリを作成することで、多様なデバイスへの対応を行うということが一般的な手法となる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前述したような従来の手法では、使用するデバイスに応じてそれぞれ個別の２次元描画ライブラリ（すなわち個別のミドルウェアソフト）を作成する必要がある。これは２次元描画ライブラリの開発規模が増大傾向にある昨今では、開発工数やメンテナンスの面において大きな負担となる。このような問題を解決するため、２次元描画ライブラリの構成をデバイス非依存部とデバイス依存部の階層構造とすることで緩和することが可能である。しかしながら、この技術では、デバイス非依存部とデバイス依存部の結合はスタティックに行われるため、例えば、アプリケーションからハードウェアＩＰを使用した描画処理とソフトウェア演算での描画処理を併用するケースにおいて、描画処理をダイナミックに切り替えて使用することができないなどの課題があった。
【０００４】
そこで、本発明の目的は、前述したようなことを鑑み、多様なシステムへ対応する際のメンテナンス性に優れ、また、アプリケーションの要求に応じて描画処理をダイナミックに変更することが可能な図形描画システムを提供することにある。本発明の前記ならびにそれ以外の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００５】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【０００６】
本発明の図形描画システムは、アプリケーションからの描画要求に応じてサーフェスに対して画素の書き込みを行うものである。その構成は、サーフェスに対して画素の書き込み処理を行う描画関数と、アプリケーションからの描画要求と描画関数を示すポインタとの対応関係を定義した描画関数テーブルとを含み、描画要求を受けた際に、それに対応するポインタを描画関数テーブルから取得し、このポインタを用いて所望の描画関数をコールすることが特徴となっている。
【０００７】
このような描画関数テーブルを備えることで、例えば、多様なシステムへの対応に伴い描画関数を追加したり別の仕様のものに入れ替えたりする場合などで、当該描画関数を、描画関数テーブルのポインタ情報を変更することのみで、アプリケーションからの描画要求を変えずに利用できるようになる。したがって、メンテナンス性に優れた図形描画システムを実現できる。
【０００８】
また、本発明の図形描画システムは、アプリケーションからの第１の描画要求に対応して複数の描画関数を含み、この第１の描画要求に応じてどの描画関数を使用するかを関数モードの指定によって選択可能な構成となっている。具体的には、例えば、関数モード設定テーブルと前述したような描画関数テーブルとを設け、関数モード設定テーブルにおいて、第１の描画要求に対して関数モードを設定し、描画関数テーブルにおいて、第１の描画要求と複数の関数モードからなる２次元配列上に複数の描画関数をそれぞれ示す複数のポインタを設定しておく。描画要求を受けた際には、描画関数テーブル内の第１の描画要求に対応する複数のポインタの中から関数モード設定テーブルで設定した関数モードに対応するポインタを用いて所望の描画関数をコールする。
【０００９】
このように、描画関数テーブルに加えて関数モード設定テーブルを備えることで、前述したようなメンテナンス性の向上に加えて、アプリケーションの要求に応じて描画処理をダイナミックに変更することが可能となる。すなわち、アプリケーションから関数モードを設定することで、第１の描画要求に対して実際に使用する描画関数をダイナミックに変更できる。
【発明の効果】
【００１０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、多様なシステムへ対応する際のメンテナンス性に優れ、また、アプリケーションの要求に応じて描画処理をダイナミックに選択して実行することが可能な図形描画システムを実現できる。
【発明を実施するための最良の形態】
【００１１】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【００１２】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１４】
（実施の形態１）
図１は、本発明の実施の形態１による図形描画システムにおいて、その構成の一例を示す概略図である。図１の図形描画システム１０は、アプリケーション１３からの描画要求に応じて、例えばフレームバッファ等に対して描画処理を行うものとなっている。図形描画システム１０は、一般的にミドルウェアなどと呼ばれており、プロセッサやメモリ等を含むコンピュータシステムを用いたプログラム処理によって実現されるものである。この図形描画システム１０は、プロセッサやメモリ等に加えて、例えば、第１のハードウェアアクセラレータを搭載したデバイスや、第２のハードウェアアクセラレータを搭載したデバイスや、あるいはハードウェアアクセラレータを搭載しないデバイスといった様々の仕様のハードウェアデバイスに対してプログラムとして実装される。
【００１５】
図形描画システム１０は、デバイス非依存部１１とデバイス依存部１２によって構成される。デバイス非依存部１１は、前述したハードウェアデバイスの仕様に依存せずに共通に使用可能なプログラム処理部であり、例えば、描画オブジェクト操作処理部１１０と、サーフェス操作処理部１１１と、コンテキスト操作処理部１１２と、システム制御処理部１１３と、図形描画処理部１１４などから構成される。描画オブジェクト操作処理部１１０は、例えば色情報やアルファブレンド情報やグラディエーション情報などといった、一般的に描画効果と呼ばれる情報の集合体である描画オブジェクトを操作する機能を備える。ここでいう操作とは、例えば描画オブジェクトの作成や削除や情報登録などといったことを示す。サーフェス操作処理部１１１は、例えばフレームバッファといったサーフェスの作成や削除などといったサーフェスを操作する機能を備える。
【００１６】
コンテキスト操作処理部１１２は、各種描画処理の場面に応じて、コンテキストの作成や削除といった操作のほかに、描画オブジェクト操作処理部１１０で作成された各種描画オブジェクトや、サーフェス操作処理部１１１で作成されたサーフェスをこのコンテキストに関連付ける操作機能を備える。システム制御処理部１１３は、図形描画システム１０全体を制御する機能を備える。図形描画処理部１１４は、描画関数テーブル１１４ａを含み、後述するデバイス依存部１２内に含まれる各種描画関数を特定する機能を備える。本実施の形態１の図形描画システムでは、この描画関数テーブル１１４ａを備えることが主要な特徴となっている。
【００１７】
デバイス依存部１２は、前述したハードウェアデバイスの仕様に応じて作成された、例えば、折れ線描画関数や多角形描画関数といった各種描画関数群（描画処理）１２０を含んでいる。それぞれの描画関数は、デバイス非依存部１１のコンテキスト操作処理部１１２のコンテキストを参照し、コンテキストに関連付けられている各種描画オブジェクト情報を用いて、コンテキストに関連付けられているサーフェスに対して画素書き込みを行う。
【００１８】
図２は、図１の図形描画システムにおいて、その描画関数テーブルの構成例を示す概略図である。図２では、図１で説明したようなデバイス非依存部２１とデバイス依存部２２が示されており、デバイス非依存部２１内には、描画オブジェクト操作処理部２１０と、サーフェス操作処理部２１１と、コンテキスト操作処理部２１２と、図形描画処理部２１４が含まれている。また、デバイス依存部２２は、各種描画関数群２２０を含み、ここではその一例として、折れ線描画関数［１］２２０ａと多角形描画関数［１］２２０ｂと曲線描画関数［１］２２０ｃなどを含んでいる。
【００１９】
ここで、図形描画処理部２１４は、描画関数テーブル２１４ａを含んでおり、このテーブルの中には、デバイス依存部２２の各種描画関数群２２０への関数ポインタ情報が定義されている。従って、図示しないアプリケーションから、例えば折れ線描画要求を受けた際には、デバイス非依存部２１が描画関数テーブル２１４ａを参照し、ここで管理されている折れ線描画［１］へのポインタを使ってデバイス依存部２２の折れ線描画関数［１］２２０ａをコールする。そして、コールされた折れ線描画関数［１］２２０ａは、デバイス非依存部２１のコンテキスト操作処理部２１２のコンテキストを参照することで折れ線描画処理に必要な各種描画情報（描画オブジェクト又は描画効果）やサーフェスの情報を得て、当該サーフェスに対して描画を行う。
【００２０】
また、同様にして、アプリケーションから、多角形描画要求を受けた際には、描画関数テーブル２１４ａで定義されている多角形描画［１］へのポインタを使ってデバイス依存部２２の多角形描画関数［１］２２０ｂをコールし、曲線描画要求を受けた際には、曲線描画［１］へのポインタを使って曲線描画関数［１］２２０ｃをコールする。そして、コールされた各描画関数は、コンテキスト操作処理部２１２のコンテキストを参照することでそれぞれに必要な各種描画情報（描画オブジェクト又は描画効果）やサーフェスの情報を得て、当該サーフェスに対して描画を行う。
【００２１】
このような描画関数テーブルを用いたプログラム処理を行うことで、例えば図３に示すように、多様なシステムへ対応する際のメンテナンス性を向上させることが可能となる。図３は、図２の図形描画システムを用いた際の効果の一例を示す説明図である。例えば、図２のような図形描画システムにおいて、ハードウェアアクセラレータを追加するといったハードウェアデバイスの仕様が変更となり、これに応じて図３に示すような折れ線描画関数［２］３２０ａ、多角形描画関数［２］３２０ｂおよび曲線描画関数［２］３２０ｃを含む描画関数群３２０が必要になったとする。この場合、デバイス依存部２２において、図２の描画関数群２２０を図３の描画関数群３２０に入れ替える作業と、図３の描画関数テーブル２１４ｂのように、関数ポインタを描画関数群３２０に対応したもの（折れ線描画関数［２］へのポインタ等）に変更する作業を行えばよい。
【００２２】
以上のように、本実施の形態１の図形描画システムを用いると、デバイス依存部の入れ替えを行った場合に、描画関数テーブルのポインタ情報を更新するという容易な作業のみで、入れ替え後の描画関数を使用することができる。この際に、アプリケーションから図形描画システムに向けた描画要求はそのまま使用できるため（すなわち、ＡＰＩの変更は不要であるため）、アプリケーションを変更せずとも入れ替え後の描画関数を利用することができる。このようなことから、多様なシステムへ対応する際のメンテナンス性を向上させることが可能となる。
【００２３】
（実施の形態２）
本実施の形態２の図形描画システムは、実施の形態１で述べた描画関数テーブルの機能を拡張し、更にコンテキスト内に関数モードの設定機能を備えたことが特徴となっている。図４は、本発明の実施の形態２による図形描画システムにおいて、その構成の一例を示す概略図である。図４の図形描画システム４０は、実施の形態１の図形描画システムと同様に、デバイス非依存部４１とデバイス依存部４２を備え、デバイス非依存部４１内には、描画オブジェクト操作処理部４１０と、サーフェス操作処理部４１１と、コンテキスト操作処理部４１２と、図形描画処理部４１４が含まれている。
【００２４】
デバイス依存部４２は、例えば、複数の折れ線描画関数［１］，［２］，…，［ｎ］と、複数の多角形描画関数［１］，［２］，…，［ｎ］と、複数の曲線描画関数［１］，［２］，…，［ｎ］とが含まれる。折れ線描画関数［１］、多角形描画関数［１］および曲線描画関数［１］は、例えば、第１のソフトウェア処理を用いる描画関数であり、折れ線描画関数［２］、多角形描画関数［２］および曲線描画関数［２］は、例えば、第２のソフトウェア処理を用いる描画関数である。また、折れ線描画関数［ｎ］、多角形描画関数［ｎ］および曲線描画関数［ｎ］は、例えば、ハードウェアアクセラレータを用いる描画関数である。
【００２５】
図形描画処理部４１４は、描画関数テーブル４１４ａを含む。描画関数テーブル４１４ａは、２次元配列テーブルとなっており、複数の描画関数を示す複数のポインタの中から任意のポインタを選択してそのポインタに該当する描画関数をデバイス依存部４２に対してコールすることが可能となっている。ここで、例えば描画関数テーブル４１４ａ内で複数の折れ線描画関数［１］，［２］，…，［ｎ］にそれぞれ対応して設けられた複数の折れ線描画［１］，［２］，…，［ｎ］へのポインタのうち、どのポインタを選択するかは、関数モードによって設定可能となっている。例えば、折れ線描画処理に対して関数モード［１］を設定している場合は、折れ線描画［１］へのポインタが選択され、関数モード［２］を設定している場合は、折れ線描画［２］へのポインタが選択される。
【００２６】
そして、各描画処理に対してどの関数モードを設定するかは、コンテキスト操作処理部４１２のコンテキスト内に設けた関数モード設定テーブル４１２ａによって定めることができる。関数モード設定テーブル４１２ａでは、アプリケーション４３からの命令によって各描画処理に対して使用する関数モードを設定可能となっている。ここでは、例えば、折れ線描画処理に対して関数モード［１］を設定し、多角形描画処理に対して関数モード［２］を設定し、曲線描画処理に対して関数モード［ｎ］を設定している。
【００２７】
このような構成において、アプリケーション４３から関数モード設定テーブル４１２ａに対して予め前述したような関数モードの設定を行い、その後、アプリケーション４３から図形描画処理部４１４に対して描画要求を行うと、描画関数テーブル４１４ａと関数モード設定テーブル４１２ａの内容に基づいて所望の描画関数がコールされる。アプリケーション４３からの描画要求は、例えば、「折れ線描画の実行要求」などを意味し、この要求に付随する引数として、例えばコンテキストや描画に伴う座標情報等が含まれる。
【００２８】
図形描画処理部４１４は、このアプリケーション４３からの描画要求を受けて関数モード設定テーブル４１２ａを参照し、これによって描画関数テーブル４１４ａ内の２次元配列の中から１つのポインタを特定してそのポインタに対応する描画関数をコールする。例えば、アプリケーション４３からの描画要求が「折れ線描画の実行要求」であった場合は、この折れ線描画処理に対応して関数モード設定テーブル４１２ａ内に関数モード［１］が設定されているため、描画関数テーブル４１４ａの中の折れ線描画［１］へのポインタが選択され、折れ線描画関数［１］がコールされる。また、例えば、描画要求が「多角形描画の実行要求」であった場合は、この多角形描画処理に対応して関数モード設定テーブル４１２ａ内に関数モード［２］が設定されているため、描画関数テーブル４１４ａの中の多角形描画［２］へのポインタが選択され、多角形描画関数［２］がコールされる。
【００２９】
このようにしてコールされた各描画関数は、それぞれ、コンテキスト操作処理部４１２のコンテキストを参照することで当該描画処理に必要な各種描画オブジェクト（すなわち描画効果であり描画要求に伴う引数では与えられない情報等）と、サーフェス情報とを取得し、当該サーフェスに対して描画（画素書き込み）を行う。
【００３０】
以上のように、本実施の形態２の図形描画システムを用いると、実施の形態１で述べたようなメンテナンス性の効果に加えて、更に、アプリケーションの要求に応じて描画処理をダイナミックに選択して実行することが可能となる。すなわち、例えば、折れ線描画処理は第１のソフトウェア処理を用いて行い、多角形描画処理は第２のソフトウェア処理を用いて行い、曲線描画処理はハードウェアアクセラレータを用いて行うといったような実際の処理の選択をＡＰＩを変更せずに容易に実現可能となる。そして、各描画処理の実際の処理の選択を変更したい場合は、アプリケーションによって関数モード設定テーブルの設定内容を変更すればよい。
【００３１】
（実施の形態３）
本実施の形態３の図形描画システムは、実施の形態２で述べた関数モード設定テーブルの機能を拡張したものとなっている。図５は、本発明の実施の形態３による図形描画システムにおいて、それに含まれる関数モード設定テーブルの構成例を示す概略図である。本実施の形態３の図形描画システムは、前述した図４と同様の構成を備え、その中の関数モード設定テーブル４１２ａが図５の関数モード設定テーブル５１２ａに置き換わった構成となっている。
【００３２】
本実施の形態３の図形描画システムでは、図４に示したように描画する図形の種類に応じて関数モードを定めるだけではなく、図５に示すように描画する図形の属性や面積、長さごとに異なる関数モードを設定することが可能となっている。図５では、例えば、長さが１００ドット以上の折れ線を描画する場合は関数モード［１］を設定し、長さが１００ドット未満の折れ線を描画する場合は関数モード［２］を設定する。また、多角形描画の場合も同様に、例えば４つの条件（パターン塗り潰し、単色塗り潰し、美しさ優先、速度優先）に対してそれぞれ異なる関数モード（［２］、［３］、［１］、［４］）を設定する。
【００３３】
このように、ある一つの描画処理（例えば多角形描画処理）における更に詳細な条件に応じてそれぞれに関数モードを設定することでアプリケーション４３に対して最適な描画処理を提供可能になる。すなわち、例えば、図４の描画関数テーブル４１４ａにおける多角形描画の内、関数モード［１］に対応する多角形描画［１］へのポインタ（即ちその実体となる多角形描画関数［１］）は、美しさを優先するのに最適となる描画アルゴリズムを使ったプログラム処理内容となっている。また、関数モード［２］に対応する多角形描画［２］へのポインタ（即ちその実体となる多角形描画関数［２］）は、パターンを塗り潰す際に最適となる描画アルゴリズムを使ったプログラム処理内容となっている。そうすると、アプリケーション４３から描画要求を受けた際に、デフォルトの状態で、その描画要求の更に詳細な処理条件に応じて最適となる描画関数（描画処理アルゴリズム等）を自動的に選択するような機能を実現でき、アプリケーション４３に対して最適な描画処理を提供可能になる。
【００３４】
（実施の形態４）
本実施の形態４の図形描画システムは、例えば、実施の形態１で述べた図形描画システムのコンテキストの情報に属性を持たせ、共通情報とデバイス固有情報に分けて管理することが特徴となっている。図６は、本発明の実施の形態４による図形描画システムにおいて、その構成の一例を示す概略図である。図６の図形描画システム６０は、実施の形態１の図形描画システムと同様に、デバイス非依存部６１とデバイス依存部６２を備え、デバイス非依存部６１内には、描画オブジェクト操作処理部６１０と、サーフェス操作処理部６１１と、コンテキスト操作処理部６１２と、図形描画処理部６１４が含まれている。図形描画処理部６１４は描画関数テーブル６１４ａを含み、デバイス依存部６２は描画関数群６２０を含んでいる。
【００３５】
このような構成において、コンテキスト操作処理部６１２のコンテキストでは、デバイス共通の情報領域６１２ａとデバイス固有の情報領域６１２ｂが分けて管理されており、描画オブジェクト操作処理部６１０でも、デバイス共通の属性情報領域６１０ａとデバイス固有の属性情報領域６１０ｂが分けて管理されていることが特徴となっている。デバイス共通の(属性)情報領域６１２ａ，６１０ａは、使用するデバイス依存部６２の各描画関数群６２０で共通に使用される情報の格納領域である。一方、デバイス固有の(属性)情報領域６１２ｂ，６１０ｂは、使用する各描画関数群６２０で前述した共通情報以外の個別に使用される情報の格納領域である。
【００３６】
描画要求に基づいて描画関数テーブル６１４ａからコールされた描画関数群６２０内の描画関数は、コンテキストを参照する際に、デバイス共通の（属性）情報領域６１２ａ，６１０ａでの（属性）情報を得ると共に、それ以外に当該描画関数に特化した情報がある場合には、それらをデバイス固有の(属性)情報領域６１２ｂ，６１０ｂから得る。このように、コンテキストおよび描画オブジェクトにデバイス共通の（属性）情報とデバイス固有の（属性）情報を備えることで、アプリケーション６３からの描画要求（すなわちＡＰＩ）を各描画関数で共通とした上で、各描画関数毎に特化した情報をデバイス固有の（属性）情報から得ることができる。これによって、デバイス機能を制限することがない図形描画システムを実現可能となる。
【００３７】
以上、これまでに述べた実施の形態１〜４の図形描画システムによる主要な効果を纏めると以下のようになる。
【００３８】
（１）システム／デバイスを多様に展開していく際のメンテナンス性を向上させることができる。すなわち、システム／デバイスの機能変更や機能拡張等に容易に対応可能となり、それに伴う開発期間も短縮できる。
【００３９】
（２）アプリケーションからの要求に応じて描画処理をダイナミックに変更することが可能となる。すなわち、例えば、ある描画処理はソフトウェア処理を用い、他のある描画処理はハードウェア処理を用いるといった処理の選択をダイナミックに変更できる。
【００４０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００４１】
本発明による図形描画システムは、特に、携帯電話システムやナビゲーションシステムなどで用いられるミドルウェアに適用して有益な技術であり、これに限らず、各種組み込みシステムにおける図形描画機能として広く適用可能である。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施の形態１による図形描画システムにおいて、その構成の一例を示す概略図である。
【図２】図１の図形描画システムにおいて、その描画関数テーブルの構成例を示す概略図である。
【図３】図２の図形描画システムを用いた際の効果の一例を示す説明図である。
【図４】本発明の実施の形態２による図形描画システムにおいて、その構成の一例を示す概略図である。
【図５】本発明の実施の形態３による図形描画システムにおいて、それに含まれる関数モード設定テーブルの構成例を示す概略図である。
【図６】本発明の実施の形態４による図形描画システムにおいて、その構成の一例を示す概略図である。
【符号の説明】
【００４３】
１０，４０，６０  図形描画システム
１１，２１，４１，６１  デバイス非依存部
１２，２２，４２，６２  デバイス依存部
１３，４３，６３  アプリケーション
１１０，２１０，４１０，６１０  描画オブジェクト操作処理部
１１１，２１１，４１１，６１１  サーフェス操作処理部
１１２，２１２，４１２，６１２  コンテキスト操作処理部
１１３  システム制御処理部
１１４，２１４，４１４，６１４  図形描画処理部
１１４ａ，２１４ａ，２１４ｂ，４１４ａ，６１４ａ  描画関数テーブル
１２０，２２０，３２０，４２０，６２０  描画関数群
２２０ａ，３２０ａ  折れ線描画関数
２２０ｂ，３２０ｂ  多角形描画関数
２２０ｃ，３２０ｃ  曲線描画関数
４１２ａ，５１２ａ  関数モード設定テーブル
６１２ａ  デバイス共通の情報領域
６１２ｂ  デバイス固有の情報領域
６１０ａ  デバイス共通の属性情報領域
６１０ｂ  デバイス固有の属性情報領域
【図１】
2008021090.tif 000003
【図２】
2008021090.tif 000004
【図３】
2008021090.tif 000005
【図４】
2008021090.tif 000006
【図５】
2008021090.tif 000007
【図６】
2008021090.tif 000008