JPH1097237A - 描画装置 - Google Patents

描画装置

Info

Publication number
JPH1097237A
JPH1097237A JP8250054A JP25005496A JPH1097237A JP H1097237 A JPH1097237 A JP H1097237A JP 8250054 A JP8250054 A JP 8250054A JP 25005496 A JP25005496 A JP 25005496A JP H1097237 A JPH1097237 A JP H1097237A
Authority
JP
Japan
Prior art keywords
vector
ofg
frame
size
axis
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.)
Withdrawn
Application number
JP8250054A
Other languages
English (en)
Inventor
Hiroto Goto
寛人 後藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP8250054A priority Critical patent/JPH1097237A/ja
Publication of JPH1097237A publication Critical patent/JPH1097237A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【課題】斜め線の線幅1ドット及び太ベクトルを高速に
描画できるようにすること。 【解決手段】クリップ枠で選択されたベクトルの描画範
囲を描画する第1の描画部20と、第1の描画部20で
作成された描画結果をビットマップメモリ10へ転送す
る第2の描画部9aと、第1及び第2の描画部20、9
aの制御を行う制御部3aとを備え、制御部3aは、入
力されたベクトルを45度を境界にしてX軸に近いグル
ープとY軸に近いグループに分け、X軸に近いベクトル
のグループの場合は、第1の描画部20に描画依頼する
クリップ枠のX軸方向サイズを第1の描画部20に設定
できる最大値とし、Y軸に近いベクトルのグループの場
合は、第1の描画部20に描画依頼するクリップ枠のY
軸方向サイズを第1の描画部20に設定できる最大値と
することにより、描画するクリップ枠を設定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、高速にベクトルの
描画を行うことを可能にした描画装置に関する。表示装
置において解像度が上がることにより、ベクトル描画を
行う場合、線幅のドット数の多いベクトル描画をする必
要が増してきた。このため、高速な太いベクトル描画が
必要とされている。
【0002】
【従来の技術】図50は従来例の説明図であり、図50
(A)は線分の説明、図50(B)は1ドットベクトル
の場合の説明、図50(C)は太ベクトルの場合の説明
である。
【0003】図50(A)において、線の開始点を
(s)、終了点を(e)とすると線の長さはL(線長)
となり、X軸方向の長さはΔX、Y軸方向の長さはΔY
となる。また、線のX軸との角度はθ(≦45°)とな
る。
【0004】図50(B)において、開始点(s)から
終了点(e)までをドットで接続する演算(以下、DD
A計算という)を行い得られた連続する水平(垂直)の
ドット列を外部に表示するためのビットマップメモリ
(BMM)に描画する。この描画の順序は図示の→
→のように行われていた。
【0005】図50(C)において、太ベクトルの描画
は輪郭となるドットの座標を計算して求め、水平(垂
直)ベクトルで輪郭を結ぶことでビットマップメモリに
描画する。この描画の順序は図示の→→→→
のように行われていた。
【0006】このように、ビットマップメモリに描画す
るためハードレジスタに、描画開始位置(s)と終了位
置(e)等を前記〜のように複数回設定して描画す
るのでありウエイトが乗るため、高速性を要求される処
理には不的確であった。
【0007】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、次のような課題があった。 :DDAの計算を1ドット単位で行っているため、処
理速度が遅くなっていた。
【0008】:ビットマップメモリに描画する描画部
であるビットマップ描画LSI(大規模集積回路)に1
ドット単位に起動をかけるので、処理速度が遅くなって
いた。
【0009】本発明は、このような従来の課題を解決
し、斜め線の線幅1ドット及び太ベクトルを高速に描画
できるようにすることを目的とする。
【0010】
【課題を解決するための手段】図1は本発明の原理説明
図である。図1中、3aは制御部、9aは第2の描画
部、10はビットマップメモリ(BMM)、20は第1
の描画部、LMはローカルメモリである。
【0011】本発明は前記従来の課題を解決するため次
のように構成した。 (1):クリップ枠で選択されたベクトルの描画範囲を
描画する第1の描画部20と、前記第1の描画部20で
作成された描画結果をビットマップメモリ10へ転送す
る第2の描画部9aと、前記第1及び第2の描画部2
0、9aの制御を行う制御部3aとを備え、前記制御部
3aは、入力されたベクトルを45度を境界にしてX軸
に近いグループとY軸に近いグループに分け、前記X軸
に近いベクトルのグループの場合は、前記第1の描画部
20に描画依頼するクリップ枠のX軸方向サイズを前記
第1の描画部20に設定できる最大値とし、前記Y軸に
近いベクトルのグループの場合は、前記第1の描画部2
0に描画依頼するクリップ枠のY軸方向サイズを前記第
1の描画部20に設定できる最大値とすることにより、
描画するクリップ枠を設定する。
【0012】(2):前記(1)の描画装置において、
前記制御部3aは、前記クリップ枠のX軸方向サイズか
らY軸方向サイズを算出、又は、Y軸方向サイズからX
軸方向サイズを算出する場合、ベクトルの前記クリップ
枠への進入方向及び角度によって、クリップ枠内の開始
座標と終了座標を切捨て又は切上げを行って描画するク
リップ枠を設定する。
【0013】(3):クリップ枠で選択されたベクトル
の描画範囲を描画し、該描画されたベクトルで囲まれた
内部を面塗りする第1の描画部20と、前記第1の描画
部20で作成された描画結果をビットマップメモリ10
へ転送する第2の描画部9aと、前記第1及び第2の描
画部20、9aの制御を行う制御部3aとを備え、前記
制御部3aは、入力された太ベクトルを構成する一辺の
ベクトルに対して45度を境界にしてX軸に近いグルー
プとY軸に近いグループに分け、前記X軸に近いベクト
ルのグループの場合は、前記第1の描画部20に描画依
頼するクリップ枠のX軸方向サイズを前記第1の描画部
20に設定できる最大値とし、前記Y軸に近いベクトル
のグループの場合は、前記第1の描画部20に描画依頼
するクリップ枠のY軸方向サイズを前記第1の描画部2
0に設定できる最大値とすることにより、クリップ枠を
算出し、該クリップ枠を算出したベクトルに対する辺の
ベクトルとぶつかるまで延長させた枠を描画するクリッ
プ枠とする。
【0014】(4):前記(3)の描画装置において、
前記クリップ枠を算出したベクトルに対する辺のベクト
ルとぶつかるまで延長させた描画するクリップ枠が、前
記第1の描画部20に設定できる最大値を越える場合、
前記制御部3aは、前記第1の描画部20に、このクリ
ップ枠内を前記第1の描画部20に設定できる最大の大
きさで満たされるまで繰り返して描画を行わせる。
【0015】(5):クリップ枠で選択されたベクトル
の描画範囲を描画し、該描画されたベクトルで囲まれた
内部を面塗りする第1の描画部20と、前記第1の描画
部20で作成された描画結果をビットマップメモリ10
へ転送する第2の描画部9aと、前記第1及び第2の描
画部20、9aの制御を行う制御部3aとを備え、前記
制御部3aは、入力された太ベクトルを構成する4点の
開始・終了X座標又は4点の開始・終了Y座標が、前記
第1の描画部20の描画可能な範囲を越えないベクトル
において、前記4点を含むクリップ枠を一つだけ設定
し、前記第1の描画部20に、このクリップ枠内を前記
第1の描画部20に設定できる最大の大きさで満たされ
るまで繰り返して描画を行わせる。
【0016】(6):クリップ枠で選択されたベクトル
の描画範囲を描画し、該描画されたベクトルで囲まれた
内部を面塗りする第1の描画部20と、前記第1の描画
部20で作成された描画結果をビットマップメモリ10
へ転送する第2の描画部9aと、前記第1及び第2の描
画部20、9aの制御を行う制御部3aとを備え、前記
制御部3aは、入力された太ベクトルを構成する進行方
向の2辺のベクトル各々に対して45度を境界にしてX
軸に近いグループとY軸に近いグループに分け、前記X
軸に近いベクトルのグループの場合は、前記第1の描画
部20に描画依頼するクリップ枠のX軸方向サイズを前
記第1の描画部20に設定できる最大値とし、前記Y軸
に近いベクトルのグループの場合は、前記第1の描画部
20に描画依頼するクリップ枠のY軸方向サイズを前記
第1の描画部20に設定できる最大値とすることによ
り、描画するクリップ枠を算出して前記第1の描画部2
0で描画を行い、前記2辺のベクトル内部の矩形域を前
記第2の描画部9aのビットマップ転送機能を用いて塗
りつぶす。
【0017】(作用)前記構成に基づく作用を説明す
る。制御部3aで、入力されたベクトルを45度を境界
にしてX軸に近いグループとY軸に近いグループに分
け、前記X軸に近いベクトルのグループの場合は、第1
の描画部20に描画依頼するクリップ枠のX軸方向サイ
ズを前記第1の描画部20に設定できる最大値とし、前
記Y軸に近いベクトルのグループの場合は、前記第1の
描画部20に描画依頼するクリップ枠のY軸方向サイズ
を前記第1の描画部20に設定できる最大値とすること
により、描画するクリップ枠を設定する。このため、複
数のクリップ枠だけを複数の前記第1の描画部20に描
画依頼することができ、斜め線を高速に描画することが
できる。
【0018】また、前記制御部3aは、前記クリップ枠
のX軸方向サイズからY軸方向サイズを算出、又は、Y
軸方向サイズからX軸方向サイズを算出する場合、ベク
トルの前記クリップ枠への進入方向及び角度によって、
クリップ枠内の開始座標と終了座標を切捨て又は切上げ
を行って描画するクリップ枠を設定する。このため、D
DA計算によらないで、また、異なるDDA方式におい
ても対応したクリップ枠を設定することができる。
【0019】さらに、制御部3aで、入力された太ベク
トルを構成する一辺のベクトルに対して45度を境界に
してX軸に近いグループとY軸に近いグループに分け、
前記X軸に近いベクトルのグループの場合は、第1の描
画部20に描画依頼するクリップ枠のX軸方向サイズを
前記第1の描画部20に設定できる最大値とし、前記Y
軸に近いベクトルのグループの場合は、前記第1の描画
部20に描画依頼するクリップ枠のY軸方向サイズを前
記第1の描画部20に設定できる最大値とすることによ
り、クリップ枠を算出し、該クリップ枠を算出したベク
トルに対する辺のベクトルとぶつかるまで延長させた枠
を描画するクリップ枠とする。このため、太ベクトルと
交差する4座標を求めることなく、また、異なるDDA
方式においても対応したクリップ枠を設定することがで
きる。
【0020】また、前記クリップ枠を算出したベクトル
に対する辺のベクトルとぶつかるまで延長させた描画す
るクリップ枠が、前記第1の描画部20に設定できる最
大値を越える場合、前記制御部3aは、前記第1の描画
部20に、このクリップ枠内を前記第1の描画部20に
設定できる最大の大きさで満たされるまで繰り返して描
画を行わせる。このため、途中の繰り返しクリップ枠の
情報(座標及びX、Y軸方向サイズ)を作らないで描画
を行うことができる。
【0021】さらに、制御部3aは、入力された太ベク
トルを構成する4点の開始・終了X座標又は4点の開始
・終了Y座標が、前記第1の描画部20の描画可能な範
囲を越えないベクトルにおいて、前記4点を含むクリッ
プ枠を一つだけ設定し、第1の描画部20に、このクリ
ップ枠内を前記第1の描画部20に設定できる最大の大
きさで満たされるまで繰り返して描画を行わせる。この
ため、途中の繰り返しクリップ枠の情報(座標及びX、
Y軸方向サイズ)を作らないで描画を行うことができ
る。
【0022】また、制御部3aで、入力された太ベクト
ルを構成する進行方向の2辺のベクトル各々に対して4
5度を境界にしてX軸に近いグループとY軸に近いグル
ープに分け、前記X軸に近いベクトルのグループの場合
は、第1の描画部20に描画依頼するクリップ枠のX軸
方向サイズを前記第1の描画部20に設定できる最大値
とし、前記Y軸に近いベクトルのグループの場合は、前
記第1の描画部20に描画依頼するクリップ枠のY軸方
向サイズを前記第1の描画部20に設定できる最大値と
することにより、描画するクリップ枠を算出して前記第
1の描画部20で描画を行い、前記2辺のベクトル内部
の矩形域を第2の描画部9aのビットマップ転送機能を
用いて塗りつぶす。このため、第2の描画部9aのビッ
トマップ転送機能を用いてベクトル展開処理時間を減ら
すことができ、高速に太ベクトル全体を描画することが
できる。
【0023】
【発明の実施の形態】図2〜図49は本発明の実施の形
態を示した図である。以下、図面に基づいて本発明の実
施の形態を説明する。 (1):描画装置の説明 図2は描画装置の説明図である。図2において、描画装
置には、MPU(マイクロプロセッサユニット)3、ロ
ーカルメモリ4、アウトラインフォントジェネレータO
FG(OFG1、OFG2、OFG3、OFG4)、L
M(ローカルメモリ)5、LM6、LM7、LM8、R
IO(ラスタイメージオペレータ)9、BMM(ビット
マップメモリ)10、出力部11が設けてある。
【0024】MPU3は、上位装置等の外部2からベク
トル描画依頼を受け付け、OFG1〜OFG4、RIO
9等の制御を行うものである。ローカルメモリ4は、M
PU3が使用するメモリである。
【0025】OFG1は、専用のLM5に指定された座
標のベクトル描画と面塗りを行うものである。OFG2
は、専用のLM6に指定された座標のベクトル描画と面
塗りを行うものである。OFG3は、専用のLM7に指
定された座標のベクトル描画と面塗りを行うものであ
る。OFG4は、専用のLM8に指定された座標のベク
トル描画と面塗りを行うものである。
【0026】LM5は、OFG1が描画を行うメモリで
ある。LM6は、OFG2が描画を行うメモリである。
LM7は、OFG3が描画を行うメモリである。LM8
は、OFG4が描画を行うメモリである。
【0027】RIO9は、OFGが描画したローカルメ
モリ上のデータをBMM10に転送する描画部である。
BMM10は、外部に表示を行うための1画素単位の書
き込みが可能なメモリである。出力部11は、表示、印
刷処理等の出力部である。
【0028】このような、描画装置のMPU3は、外部
2からベクトル描画の依頼を受けるとOFG1〜OFG
4を起動し、OFG1〜OFG4にそれずれの専用のロ
ーカルメモリであるLM5〜LM8にベクトルを描画さ
せ、描画終了の割り込みをトリガにしてRIO9を起動
し、BMM10にORモード(下面を消さないで上に書
く)で描画する。なお、OFG1〜OFG4は、4つ独
立して存在するものであり、OFGの個数が多いほど性
能が上がる可能性がある。
【0029】このように、ベクトル描画結果を文字のよ
うに扱うことにより高速な処理が実現できる。なお、以
下の説明において、LM5〜LM8のサイズは、例えば
80×80ドット等の全て同じサイズとして説明する。
【0030】(2):OFGの説明 図3はOFGの説明図であり、図3(A)はOFGの説
明、図3(B)はOFG座標系の説明である。
【0031】図3(A)において、図2のOFG1〜O
FG4の1つを示している。OFGには、コマンド受け
付け部21、ベクトル描画部22、塗り潰し処理部2
3、ローカルメモリLM(図2のLM5〜LM8のいず
れかに相当)が設けてある。
【0032】コマンド受け付け部21は、MPU3から
コマンドを受け付けるもである。ベクトル描画部22
は、指定されたOFG座標にベクトルを描画するもので
ある。塗り潰し処理部23は、ベクトルにより一筆書き
で書かれた閉鎖領域を塗り潰すものである。但し、この
塗り潰しは指定されたクリップ領域のみであり、クリッ
プ領域の最大値はLMサイズである。
【0033】図3(B)において、OFG座標系の点線
で示している塗り潰し処理を行うクリップ領域は、任意
指定が可能なものである。 (3):OFGのクリップの説明 図4はOFGのクリップの説明図であり、図4(A)は
マッピング枠の説明、図4(B)はクリップ機能の説明
である。
【0034】図4(A)において、太線はマッピング枠
を示しており、○はマッピング原点を示している。この
OFGの座標系でマッピング原点○をずらすことによっ
て任意の部分が見れる窓のようになっている。このマッ
ピング枠の大きさは可変であるが、最大値はLMサイズ
である。
【0035】図4(B)において、太線枠内であるマッ
ピング枠をずらすことによって任意の部分が見れる窓の
ようになっており、太線枠内の部分だけを取り出すこと
をOFGのクリップ機能という。
【0036】(4):OFG起動フローの説明 図5はOFG起動フローの説明図である。以下、図5の
ステップS1〜ステップS4に従って説明する。
【0037】S1:MPU3は、OFGに座標データ、
マッピング原点、マッピング枠の大きさ等を与えて、O
FGを起動する。OFGは、専用のローカルメモリLM
にベクトルを展開(描画)し、展開終了で割り込みを発
生させRIO9を起動する。
【0038】S2:RIO9は、OFGの専用ローカル
メモリLMを転送元とし、OFGの専用ローカルメモリ
LMのデータを読み出し、BMM10を転送先として、
データを転送する。
【0039】S3:MPU3は、RIO9の転送処理終
了を待つ。 S4:MPU3は、RIO9の転送処理が終了し、マッ
ピング原点をずらしてOFGを起動したいなら、ステッ
プS1に戻る(JUMPに飛ぶ)。
【0040】(5):1ドットベクトル描画の説明 :MPU3は、長い1ドットベクトルの描画依頼を受
信すると、ベクトル作成座標の計算を行って、OFGに
作成依頼するデータに変換する(マッピング枠ごとに行
う)。以下、図6、図7に基づいて、ベクトル作成座標
の計算を説明する。
【0041】図6はBMM→OFG座標変換の説明図で
あり、図6(A)はBMM座標系の説明、図6(B)は
OFG座標系の説明である。図6(A)のように、MP
U3は、開始点(s)と終了点(e)のベクトルの描画
依頼をBMM座標で受信し、マッピング枠毎にOFGに
作成依頼するデータに変換するため図6(B)のOFG
座標系に変換する。図6(B)において、OFG座標系
における開始点(s)から終了点(e)までを区切った
マッピング枠(点線で示す)が示されている。このマッ
ピング枠はできるだけ小さくするため次のようにする。
【0042】図7はマッピング枠の説明図であり、図7
(A)はX軸方向の区切りの説明、図7(B)はマッピ
ング枠の配置の説明である。図7(A)において、開始
点(s)からX軸方向にOFGのLMサイズX(LMの
最大サイズ)でマッピング枠を区切っていく。次に、図
7(B)のように、マッピング枠内の開始・終了座標か
らyを算出し、小数点以下を切り上げ、切り捨てをして
マッピング枠座標及びサイズを決定する。図では、マッ
ピング(1)〜(3)と3つのマッピング枠が示されて
いる。
【0043】:MPU3は、OFGにベクトル作成依
頼を行う(全マッピングの依頼)。例えば、マッピング
(1)をOFG1に依頼し、マッピング(2)をOFG
2に依頼し、マッピング(3)をOFG3に依頼する。
【0044】:MPU3は、OFGからベクトル作成
終了割り込みを受け付けたら、RIO9に割り込みを受
けたOFGのLMからBMM10にマッピング枠分の転
送依頼を行う。
【0045】図8はOFGのLM→BMMへの転送の説
明図である。図8において、例えば、RIO9は、マッ
ピング(1)をOFG1のLM5からBMM10の位置
(1)に転送し、マッピング(2)をOFG2のLM6
からBMM10の位置(2)に転送し、マッピング
(3)をOFG3のLM7からBMM10の位置(3)
に転送する。
【0046】:マッピング枠設定の詳細な説明 マッピング枠のサイズは、OFGの展開時間、RIO9
の転送時間をできるだけ少なくするため、OFGのクリ
ップ領域の最大であるLMサイズを越えないで、かつ、
できるだけ小さく設定する。
【0047】a)ベクトルのグループ分けの説明 図9はベクトルのグループ分けの説明図である。図9に
おいて、ベクトルの方向によりグループAとグループB
に区別する。
【0048】グループAは、ベクトル、等の角度A
の範囲に含まれるX方向に延びる(X軸に近い)グルー
プのベクトルである。グループBは、ベクトル、等
の角度Bの範囲に含まれるY方向に延びる(Y軸に近
い)グループのベクトルである。
【0049】b)グループAの場合の説明 図10はマッピング枠の説明図であり、図10(A)は
X軸方向の区切りの説明、図10(B)はマッピング枠
の説明である。
【0050】図10(A)において、開始点(s)から
X軸方向にOFGのLMサイズX(LMの最大サイズ)
でマッピング枠を、、のように区切っていく。先
ず、マッピング枠のyを求める。
【0051】図10(B)のように、マッピング枠の
開始xはx0、マッピング枠の終了xはx1−1とし、
直線の式y=ax+bよりyを求める。このyの値をy
00、y01とする。この求めたyの値は、通常小数部
をもった値が算出される。このため、DDA方式により
4捨5入又は5捨6入をして、小数部は切上げ又は切捨
てられることになる。
【0052】しかし、小数部を切上げ又は切捨てのどち
らで扱うかの判定は、計算が複雑で、かつ、マッピング
枠毎に計算をしていたのでは性能的にも問題となる。そ
こで、前記算出したyを強制的に切上げ又は切捨てして
DDA方式によらないクリップ枠の開始座標及び終了座
標を決定する。即ち、y00は切上げ、y01は切り捨
てることになる。
【0053】図11はy値の切上げ・切捨ての説明図で
あり、図11(A)はy00の説明、図11(B)はy
01の説明、図11(C)はマッピング枠、の説明
である。
【0054】〔y00の説明〕y00は、DDA計算に
より算出された値となるか、1ドット上の値となる。図
11(A)において、左の図はy00の切上げ値とDD
A値が同じ場合であり、右の図はy00の切上げ値がD
DA値より1ドット上になった場合である。なお、図の
下方向がyの増加する方向である。
【0055】〔y01の説明〕y01は、DDA計算に
より算出された値となるか、1ドット下の値となる。図
11(B)において、左の図はy01の切捨て値とDD
A値が同じ場合であり、右の図はy00の切捨て値がD
DA値より1ドット下(図では上)になった場合であ
る。
【0056】〔マッピング枠の説明〕マッピング枠
の開始xはx1、マッピング枠の終了xはx2−1と
し、式y=ax+bより求めたyの開始、終了の値をy
10、y11とする。図11(C)の左の図において、
y10は強制的に切上げ、y11は強制的に切り捨てる
ことになる。なお、このx1、x2−1のような座標を
マッピング枠内開始・終了座標と呼ぶ。
【0057】〔マッピング枠の説明〕マッピング枠
の開始xはx2、マッピング枠の終了xはx3−1と
し、式y=ax+bより求めたyの開始、終了の値をy
20、y21とする。図11(C)の右の図において、
y20は強制的に切上げ、y21は強制的に切り捨てる
ことになる。
【0058】〔具体的な例による説明〕図12はDDA
方式によらないマッピング枠の例の説明図であり、図1
2(A)はxの値に対するyの値の説明、図12(B)
は4捨5入の場合のDDAの説明、図12(C)は5捨
6入の場合のDDAの説明である。
【0059】図12(A)において、xの値59〜67
に対するyの値4.7〜3.1が示してあり、xの値6
3と64の間でマッピング枠が区切られる場合を次に説
明する。
【0060】図12(B)において、DDA計算で4捨
5入されるためx=64でy=4となり、マッピング枠
の切上げ値とDDA計算により算出された値とが同じと
なっている。
【0061】図12(C)において、DDA計算で5捨
6入されるためx=64でy=3となり、マッピング枠
の切上げ値はDDA計算により算出された値より1ドッ
ト上の値となっている。
【0062】〔ベクトルの方向によるy値の切上げ・切
捨ての説明〕ベクトルの方向によって、マッピング枠内
開始・終了座標の、切上げ・切捨てが決まる。
【0063】図13はベクトルの方向によるy値の切上
げ・切捨ての説明図である。図13において、グループ
Aに属する各ベクトルの方向の例を図13(A)〜
(D)で示している。
【0064】図13(A)において、マッピング枠内開
始座標xmではy値を切上げ、マッピング枠内終了座標
xnではy値を切捨てている。図13(B)において、
座標xmではy値を切捨て、座標xnではy値を切上げ
ている。図13(C)において、座標xmではy値を切
上げ、座標xnではy値を切捨てている。図13(D)
において、座標xmではy値を切捨て、座標xnではy
値を切上げている。
【0065】このように、ベクトルが必ず含まれるよう
に、y値が最大1ドット大きめのマッピング枠を設定す
ることとなる。 c)グループBの説明 基本的な処理は、前記グループAと同じである。
【0066】〔マッピング枠の説明〕図14はマッピン
グ枠の説明図であり、図14(A)はY軸方向の区切り
の説明、図14(B)は1つのマッピング枠の説明であ
る。
【0067】図14(A)において、開始点(s)y0
からY軸方向にOFGのLMサイズY(LMの最大サイ
ズ)でy1,y2,y3のようにマッピング枠を設定し
ていく。そして、マッピング枠のxを求める。
【0068】図14(B)のように、1つのマッピング
枠の開始yをy1、マッピング枠の終了yをy2−1と
し、直線の式x=ay+bよりそれぞれのxを求める。
このxの値をx10、x11とする。この求めたxの値
は、通常小数部をもった値が算出される。そこで、前記
算出したxを強制的に切上げ又は切捨てしてDDA方式
によらないクリップ枠の開始座標及び終了座標を決定す
る。即ち、x10は切捨て、x11は切上げることにな
る。
【0069】〔ベクトルの方向によるx値の切上げ・切
捨ての説明〕ベクトルの方向によって、マッピング枠内
開始・終了座標の、切上げ・切捨てが決まる。
【0070】図15はベクトルの方向によるx値の切上
げ・切捨ての説明図である。図15において、グループ
Bに属する各ベクトルの方向の例を図15(A)〜
(D)で示している。
【0071】図15(A)において、マッピング枠内開
始座標ymではx値を切捨て、マッピング枠内終了座標
ynではx値を切上げている。図14(B)において、
座標ymではx値を切上げ、座標ynではx値を切捨て
ている。図15(C)において、座標ymではx値を切
捨て、座標ynではx値を切上げている。図15(D)
において、座標ymではx値を切上げ、座標ynではx
値を切捨てている。
【0072】このように、ベクトルが必ず含まれるよう
に、x値が最大1ドット大きめのマッピング枠を設定す
ることとなる。 :1ドットベクトル描画処理の流れの説明 図16は1ドットベクトルの描画処理フローの説明図
(1)、図17は1ドットベクトルの描画処理フローの
説明図(2)、図18は1ドットベクトルの描画処理フ
ローの説明図(3)である。以下、図16〜図18のス
テップS11〜ステップS28に従って説明する。
【0073】S11:MPU3は、ベクトル描画依頼待
ちの状態で、外部から開始座標〔X S ,YS 〕、終了座
標〔XE ,YE 〕のベクトル描画依頼を受信する(BM
M座標値)。
【0074】S12:MPU3は、ベクトル文字化計
算、即ち、BMM座標値をOFG座標値にずらせる処理
を行う。このため、基準点座標を求める。基準点座標
は、XS、XE とYS 、YE の内、小さい値(X、Yと
も)となる。
【0075】S13:MPU3は、X軸方向に延びるベ
クトル(グループAのベクトル)かどうか判断する。こ
の判断でX軸方向に延びるベクトルの場合はステップS
14に移り、もしX軸方向に延びるベクトルで無い場合
はステップS17に移る。
【0076】S14:MPU3は、OFGのLMサイズ
(横方向の最大のサイズ)を基準に、マッピング枠を決
めるため、基準点xが、開始Xs と終了Xe の大きい方
の値を越えるまで、ステップS15、ステップS16を
繰り返す。
【0077】S15:MPU3は、マッピング枠内の開
始xと終了xからそれぞれのyを算出する。このyの値
は直線の式y=ax+bを使用して、ベクトルの方向に
より、強制的に切上げ・切捨てを行う。
【0078】S16:MPU3は、求めた分割領域(マ
ッピング枠)の左上座標(BMM)を分割領域テーブル
に格納し、各サイズも格納する。なお、分割領域テーブ
ルには、左上座標〔X,Y〕、サイズX、Y、転送終了
フラグが設けてある。
【0079】S17:前記ステップS13の判断でX軸
方向に延びるベクトルで無い場合は、Y軸方向に延びる
ベクトル(グループBのベクトル)と判断し、MPU3
は、OFGのLMサイズ(縦方向の最大のサイズ)を基
準に、マッピング枠を決めるため、基準点yが、開始Y
s と終了Ye の大きい方の値を越えるまで、ステップS
18、ステップS19を繰り返す。
【0080】S18:MPU3は、マッピング枠内の開
始yと終了yからそれぞれのxを算出する。このxの値
は直線の式x=ay+bを使用して、ベクトルの方向に
より、強制的に切上げ・切捨てを行う。
【0081】S19:MPU3は、求めた分割領域(マ
ッピング枠)の左上座標(BMM)を分割領域テーブル
に格納し、各サイズも格納する。なお、分割領域テーブ
ルには、左上座標〔X,Y〕、サイズX、Y、転送終了
フラグが設けてある。
【0082】S20:ステップS21、ステップS22
を分割領域の個数分繰り返す。 S21:MPU3は、OFG描画依頼データを作成する
ため、OFGクリップ座標を求める(分割領域テーブル
の〔X,Y〕から基準点座標を引いた結果がOFGクリ
ップ座標になる)。
【0083】S22:MPU3は、起動できるOFGが
存在するかどうか判断する。この判断で起動できるOF
Gが存在する場合はステップS23に移り、もし存在し
ない場合はステップS24に移る。
【0084】S23:MPU3は、OFGを起動する
(クリップ指定してベクトル描画依頼を行う)。 S24:MPU3は、前記ステップS22で起動できる
OFGが存在しない場合はOFGの終了待ちとなり、R
IO9でOFGのLMからベクトルをBMM10に転送
する。
【0085】S25:MPU3は、OFGを起動する
(クリップ指定してベクトル描画依頼を行う)。 S26:MPU3は、RIO9で未転送のOFGが有る
間ステップS27、ステップS28を繰り返す。
【0086】S27:MPU3は、OFGのベクトル描
画終了を待つ。 S28:MPU3は、RIO9でOFGのLMからベク
トルをBMM10に転送する。
【0087】(6):太ベクトル描画の説明 :MPU3は、長い太ベクトルの描画依頼を受信する
と、ベクトル作成座標の計算を行って、OFGに作成依
頼するデータに変換する(マッピング枠ごとに行う)。
以下、図19〜図21に基づいて、ベクトル作成座標の
計算を説明する。
【0088】a)BMM→OFGの座標変換の説明 図19はBMM→OFG座標変換の説明図であり、図1
9(A)はBMM座標系の説明、図19(B)はOFG
座標系の説明である。
【0089】図19(A)のように、MPU3は、上側
のベクトルの開始点(b)と終了点(d)、下側のベク
トルの開始点(a)と終了点(c)のベクトルの描画依
頼をBMM座標系で受信し、マッピング枠毎にOFGに
作成依頼するデータに変換するため図19(B)のOF
G座標系に変換する。図19(B)において、OFG座
標系における太ベクトルを区切ったマッピング枠(点線
で示す)が示されている。このマッピング枠はできるだ
け小さくするため次のようにする。
【0090】b)マッピング枠の説明 図20はマッピング枠の説明図であり、図20(A)は
X軸方向の区切りの説明、図20(B)はマッピング枠
の配置の説明である。
【0091】図20(A)において、開始点(b)から
上側のベクトルに関して、X軸方向にOFGのLMサイ
ズX(LMの最大サイズ)でマッピング枠を区切ってい
く。次に、図20(B)のように、マッピング枠内の開
始・終了座標からyを算出し、小数点以下を切り上げ、
切り捨てをしてマッピング枠座標及びサイズを決定す
る。図では、マッピング(1)〜(3)と3つのマッピ
ング枠が示されている。
【0092】c)マッピング枠の延長の説明 図21はマッピング枠延長の説明図であり、図21
(A)はマッピング枠延長前の説明、図21(B)はマ
ッピング枠延長後の説明である。
【0093】図21(A)において、上側の直線をy=
a1x+b1、下側の直線をy=a2+b2と表現した
時、上側の直線と下側の直線の差分bは次のようにな
る。 b=|b2−b1| この差分bの大きさ分、マッピング枠を下(矢印で示
す)に延長する。このように延長したマッピング枠を図
21(B)の(1)〜(3)で示してある。
【0094】:MPU3は、図21(B)のマッピン
グ枠(1)〜(3)毎にOFGにベクトル作成依頼を行
う(全マッピングの依頼)。また、ベクトルで囲まれた
内部を面塗りする処理も依頼する。
【0095】例えば、マッピング(1)をOFG1に依
頼し、マッピング(2)をOFG2に依頼し、マッピン
グ(3)をOFG3に依頼する。 :MPU3は、OFGからベクトル作成終了割り込み
を受け付けたら、RIO9に割り込みを受けたOFGの
LMからBMM10にマッピング枠分の転送依頼を行
う。
【0096】図22はOFGのLM→BMMへの転送の
説明図である。図22において、例えば、RIO9は、
マッピング(1)をOFG1のLM5からBMM10の
位置(1)に転送し、マッピング(2)をOFG2のL
M6からBMM10の位置(2)に転送し、マッピング
(3)をOFG3のLM7からBMM10の位置(3)
に転送する。
【0097】:太ベクトル描画処理の流れの説明 図23は太ベクトルの描画処理フローの説明図(1)、
図24は太ベクトルの描画処理フローの説明図(2)、
図25は太ベクトルの描画処理フローの説明図(3)で
ある。以下、図23〜図25のステップS31〜ステッ
プS50に従って説明する。
【0098】S31:MPU3は、ベクトル描画依頼待
ちの状態で、外部から上側のベクトルの開始座標〔X
S1,YS1〕、終了座標〔XE1,YE1〕と下側のベクトル
の開始座標〔XS2,YS2〕、終了座標〔XE2,YE2
の太ベクトル描画依頼を受信する(BMM座標値)。
【0099】S32:MPU3は、ベクトル文字化計
算、即ち、BMM座標値をOFG座標値にずらせる処理
を行う。このため、基準点座標を求める。基準点座標
は、XS1、XS2、XE1、XE2とYS1、YS2、YE1、YE2
の内、最も小さい値(X、Yとも)となる。
【0100】S33:MPU3は、X軸方向に延びるベ
クトル(グループAのベクトル)かどうか判断する。こ
の判断でX軸方向に延びるベクトルの場合はステップS
34に移り、もしX軸方向に延びるベクトルで無い場合
はステップS37に移る。
【0101】S34:MPU3は、OFGのLMサイズ
(横方向の最大のサイズ)を基準に、マッピング枠を決
めるため、基準点xが、開始Xs と終了Xe の大きい方
の値を越えるまで、ステップS35、ステップS36を
繰り返す。
【0102】S35:MPU3は、マッピング枠内の開
始xと終了xからそれぞれのyを算出する。このyの値
は直線の式y=a1x+b1を使用して、ベクトルの方
向により、強制的に切上げ・切捨てを行う。
【0103】S36:MPU3は、求めた分割領域(マ
ッピング枠)の左上座標(BMM)を分割領域テーブル
に格納し、各サイズも格納する。なお、分割領域テーブ
ルには、左上座標〔X,Y〕、サイズX、Y、転送終了
フラグが設けてある。
【0104】S37:前記ステップS33の判断でX軸
方向に延びるベクトルで無い場合は、Y軸方向に延びる
ベクトル(グループBのベクトル)と判断し、MPU3
は、OFGのLMサイズ(縦方向の最大のサイズ)を基
準に、マッピング枠を決めるため、基準点yが、開始Y
s と終了Ye の大きい方の値を越えるまで、ステップS
38、ステップS39を繰り返す。
【0105】S38:MPU3は、マッピング枠内の開
始yと終了yからそれぞれのxを算出する。このxの値
は直線の式x=a1y+b1を使用して、ベクトルの方
向により、強制的に切上げ・切捨てを行う。
【0106】S39:MPU3は、求めた分割領域(マ
ッピング枠)の左上座標(BMM)を分割領域テーブル
に格納し、各サイズも格納する。なお、分割領域テーブ
ルには、左上座標〔X,Y〕、サイズX、Y、転送終了
フラグが設けてある。
【0107】S40:MPU3は、上端側のベクトルと
下端側のベクトルとの差分b(|b2−b1|)を算出
する。 S41:MPU3は、分割領域テーブルの、サイズY
(グループBのベクトルではサイズX)に前記算出した
差分bを加算する。
【0108】S42:ステップS43、ステップS44
を分割領域の個数分繰り返す。 S43:MPU3は、OFG描画依頼データを作成する
ため、OFGクリップ座標を求める(分割領域テーブル
の座標〔X,Y〕から基準点座標を引いた結果がOFG
クリップ座標になる。)。
【0109】S44:MPU3は、起動できるOFGが
存在するかどうか判断する。この判断で起動できるOF
Gが存在する場合はステップS45に移り、もし存在し
ない場合はステップS46に移る。
【0110】S45:MPU3は、OFGを起動する
(クリップ指定してベクトル描画依頼を行う)。 S46:MPU3は、前記ステップS22で起動できる
OFGが存在しない場合は、OFGの描画終了待ちとな
り、RIO9でOFGのLMからベクトルをBMM10
に転送する。
【0111】S47:MPU3は、OFGを起動する
(クリップ指定してベクトル描画依頼を行う)。 S48:MPU3は、RIO9で未転送のOFGが有る
間ステップS49、ステップS50を繰り返す。
【0112】S49:MPU3は、OFGのベクトル描
画終了を待つ。 S50:OFGの描画が終了すると、RIO9でOFG
のLMからベクトルをBMM10に転送する。
【0113】このように、太ベクトルを構成する一辺に
対してクリップ枠を算出し、そのクリップ枠を設定した
ベクトルに対する辺のベクトルとぶつかるまで延長させ
た枠を描画するクリップ枠とすることで、太ベクトルと
矩形域の交差する4座標を求めることなく、また、異な
ったDDA方式にも対応したクリップ枠を設定すること
ができる。
【0114】(7):長いかつとても太い太ベクトル描
画の説明 :MPU3は、長いかつとても太い太ベクトルの描画
依頼を受信すると、ベクトル作成座標の計算を行って、
OFGに作成依頼するデータに変換する(マッピング枠
ごとに行う)。以下、図26〜図28に基づいて、ベク
トル作成座標の計算を説明する。
【0115】a)BMM→OFGの座標変換の説明 図26はBMM→OFG座標変換の説明図であり、図2
6(A)はBMM座標系の説明、図26(B)はOFG
座標系の説明である。
【0116】図26(A)のように、MPU3は、上側
のベクトルの開始点(b)と終了点(d)、下側のベク
トルの開始点(a)と終了点(c)のベクトルの描画依
頼をBMM座標系で受信し、マッピング枠毎にOFGに
作成依頼するデータに変換するため図26(B)のOF
G座標系に変換する。図26(B)において、OFG座
標系における太ベクトルを区切ったマッピング枠(点線
で示す)が示されている。このマッピング枠はできるだ
け小さくするため次のようにする。
【0117】b)マッピング枠の説明 図27はマッピング枠の説明図であり、図27(A)は
X軸方向の区切りの説明、図27(B)はマッピング枠
の配置の説明である。
【0118】図27(A)において、開始点(b)から
上側のベクトルに関して、X軸方向にOFGのLMサイ
ズX(LMの最大サイズ)でマッピング枠を区切ってい
く。次に、図27(B)のように、マッピング枠内の開
始・終了座標からyを算出し、小数点以下を切り上げ、
切り捨てをしてマッピング枠座標及びサイズを決定す
る。図では、マッピング(1)〜(3)と3つのマッピ
ング枠が示されている。
【0119】c)マッピング枠の延長の説明 図28はマッピング枠延長の説明図であり、図28
(A)はマッピング枠延長前の説明、図28(B)はマ
ッピング枠延長後の説明である。
【0120】図28(A)において、上側の直線をy=
a1x+b1、下側の直線をy=a2+b2と表現した
時、上側の直線と下側の直線の差分bは次のようにな
る。 b=|b2−b1| この差分bの大きさ分、マッピング枠を下(矢印で示
す)に延長する。このように延長したマッピング枠を図
28(B)の(1)〜(3)で示してある。
【0121】:MPU3は、図28(B)のマッピン
グ枠(1)〜(3)毎にOFGにベクトル作成依頼を行
う(全マッピングの依頼)。また、ベクトルで囲まれた
内部を面塗りする処理も依頼する。しかし、OFGが1
回の起動で展開可能なサイズ(LMサイズ)には限界が
ある。ここでは太らせたドットがとても大きいので、マ
ッピング枠とOFGは1対1とならない。そこで、各マ
ッピング枠を分割してOFGに展開させる。
【0122】例えば、マッピング(1)をマッピング
(1)−1、マッピング(1)−2、マッピング(1)
−3と分割し、マッピング(2)をマッピング(2)−
1、マッピング(2)−2、マッピング(2)−3と分
割し、マッピング(3)をマッピング(3)−1、マッ
ピング(3)−2、マッピング(3)−3と分割する。
従って、OFGへの依頼は、次のようになる。
【0123】 OFG1 ← マッピング(1)−1 OFG2 ← マッピング(1)−2 OFG3 ← マッピング(1)−3 OFG4 ← マッピング(2)−1 OFG1 ← マッピング(2)−2 OFG2 ← マッピング(2)−3 OFG3 ← マッピング(3)−1 OFG4 ← マッピング(3)−2 OFG1 ← マッピング(3)−3 :MPU3は、OFGからベクトル作成終了割り込み
を受け付けたら、RIO9に割り込みを受けたOFGの
LMからBMM10にマッピング枠分の転送依頼を行
う。
【0124】図29はOFGのLM→BMM転送の説明
図である。図29において、例えば、RIO9は、マッ
ピング(1)−1をOFG1のLM5からBMM10の
位置(1)−1に転送し、マッピング(2)−1をOF
G4のLM8からBMM10の位置(2)−1に転送
し、マッピング(3)−2をOFG4のLM8からBM
M10の位置(3)−2に転送する。
【0125】:長いかつとても太い太ベクトル描画処
理の流れの説明 図30は長いかつとても太い太ベクトル描画処理フロー
の説明図(1)、図31は長いかつとても太い太ベクト
ル描画処理フローの説明図(2)、図32は長いかつと
ても太い太ベクトル描画処理フローの説明図(3)であ
る。以下、図30〜図32のステップS61〜ステップ
S85に従って説明する。
【0126】S61:MPU3は、ベクトル描画依頼待
ちの状態で、外部から上側のベクトルの開始座標〔X
S1,YS1〕、終了座標〔XE1,YE1〕と下側のベクトル
の開始座標〔XS2,YS2〕、終了座標〔XE2,YE2
の太ベクトル描画依頼を受信する(BMM座標値)。
【0127】S62:MPU3は、ベクトル文字化計
算、即ち、BMM座標値をOFG座標値にずらせる処理
を行う。このため、基準点座標を求める。基準点座標
は、XS1、XS2、XE1、XE2とYS1、YS2、YE1、YE2
の内、最も小さい値(X、Yとも)となる。
【0128】S63:MPU3は、X軸方向に延びるベ
クトル(グループAのベクトル)かどうか判断する(図
9参照)。この判断でX軸方向に延びるベクトルの場合
はステップS64に移り、もしX軸方向に延びるベクト
ルで無い場合はステップS67に移る。
【0129】S64:MPU3は、OFGのLMサイズ
X(横方向の最大のサイズ)を基準に、マッピング枠を
決めるため、基準点xが、開始Xs と終了Xe の大きい
方の値を越えるまで、ステップS65、ステップS66
を繰り返す。
【0130】S65:MPU3は、マッピング枠内の開
始xと終了xからそれぞれのyを算出する。このyの値
は直線の式y=a1x+b1を使用して、ベクトルの方
向により、強制的に切上げ・切捨てを行う。
【0131】S66:MPU3は、求めた分割領域(マ
ッピング枠)の左上座標(BMM)を分割領域テーブル
に格納し、各サイズも格納する。なお、分割領域テーブ
ルには、左上座標〔X,Y〕、サイズX、Y、転送終了
フラグが設けてある。
【0132】S67:前記ステップS63の判断でX軸
方向に延びるベクトルで無い場合は、Y軸方向に延びる
ベクトル(グループBのベクトル)と判断し、MPU3
は、OFGのLMサイズY(縦方向の最大のサイズ)を
基準に、マッピング枠を決めるため、基準点yが、開始
s と終了Ye の大きい方の値を越えるまで、ステップ
S68、ステップS69を繰り返す。
【0133】S68:MPU3は、マッピング枠内の開
始yと終了yからそれぞれのxを算出する。このxの値
は直線の式x=a1y+b1を使用して、ベクトルの方
向により、強制的に切上げ・切捨てを行う。
【0134】S69:MPU3は、求めた分割領域(マ
ッピング枠)の左上座標(BMM)を分割領域テーブル
に格納し、各サイズも格納する。なお、分割領域テーブ
ルには、左上座標〔X,Y〕、サイズX、Y、転送終了
フラグが設けてある。
【0135】S70:MPU3は、上端側のベクトルと
下端側のベクトルとの差分b(|b2−b1|)を算出
する。 S71:MPU3は、分割領域テーブルの、サイズY
(グループBのベクトルではサイズX)に前記ステップ
S70で算出した差分bを加算する。
【0136】S72:ステップS73〜ステップS83
を分割領域の個数分繰り返す。 S73:MPU3は、分割領域テーブルから対象分割デ
ータの一つを処理中テーブルへコピーする。
【0137】S74:MPU3は、処理中テーブルのデ
ータが無くなるまで、ステップS76〜ステップS82
を繰り返す。 S75:MPU3は、処理中テーブルのデータはOFG
のLMサイズのY軸方向の最大値を越えるかどうか判断
する。この判断で最大値を越える場合はステップS76
に移り、もし越えない場合はステップS77に移る。
【0138】S76:MPU3は、OFGのLMサイズ
Yは最大値とする。 S77:前記ステップS76で最大値を越えない場合、
MPU3は、処理中テーブルの残りをそのままOFGの
LMサイズとする。これで処理中テーブルデータは無し
とする。
【0139】S78:MPU3は、OFG描画依頼デー
タを作成するため、OFGクリップ座標を求める(分割
領域テーブルの座標〔X,Y〕から基準点座標を引いた
結果がOFGクリップ座標になる)。
【0140】S79:MPU3は、起動できるOFGが
存在するかどうか判断する。この判断で起動できるOF
Gが存在する場合はステップS80に移り、もし存在し
ない場合はステップS81に移る。
【0141】S80:MPU3は、OFGを起動する
(クリップ指定してベクトル描画依頼を行う)。 S81:MPU3は、前記ステップS79の判断で起動
できるOFGが存在しない場合はOFGの終了待ちとな
り、RIO9でOFGのLMからベクトルをBMM10
に転送する。
【0142】S82:MPU3は、OFGを起動する
(クリップ指定してベクトル描画依頼を行う)。 S83:MPU3は、RIO9で未転送のOFGが有る
間ステップS84、ステップS85を繰り返す。
【0143】S84:MPU3は、OFGのベクトル描
画終了を待つ。 S85:OFGの描画が終了すると、RIO9でOFG
のLMからベクトルをBMM10に転送する。
【0144】このように、ベクトル幅がローカルメモリ
LMの描画可能な範囲の最大を越える太ベクトル描画に
おいて、前記(5)1ドットベクトルの描画方式でロー
カルメモリの最大を越えるクリップ枠を設定し、このク
リップ枠内をローカルメモリLMの描画可能な範囲の最
大の大きさで満たされるまで繰り返すことによって描画
を行うものである。これにより、途中の繰り返しクリッ
プ枠の情報(座標及びX、Yサイズ)を作らないで描画
を行うことができる。
【0145】(8):長いかつ垂直に近い太ベクトル描
画の説明 :MPU3は、長いかつ垂直に近い太ベクトルの描画
依頼を受信すると、ベクトル作成座標の計算を行って、
OFGに作成依頼するデータに変換する(マッピング枠
ごとに行う)。以下、図33、図34に基づいて、ベク
トル作成座標の計算を説明する。
【0146】a)BMM→OFGの座標変換の説明 図33はBMM→OFG座標変換の説明図であり、図3
3(A)はBMM座標系の説明、図33(B)はOFG
座標系の説明である。
【0147】図33(A)のように、MPU3は、上側
のベクトルの開始点(b)と終了点(d)、下側のベク
トルの開始点(a)と終了点(c)のベクトルの描画依
頼をBMM座標系で受信し、マッピング枠毎にOFGに
作成依頼するデータに変換するため図33(B)のOF
G座標系に変換する。図33(B)において、OFG座
標系における太ベクトルのマッピング枠(点線で示す)
が示されている。このマッピング枠は次のようにして作
成する。なお、(s)はベクトルの開始点、(e)はベ
クトルの終了点を示している。
【0148】b)マッピング枠の説明 図34はマッピング枠作成の説明図であり、図34
(A)は一つ目のマッピング枠決定の説明、図34
(B)はマッピング枠を上に延長する説明、図34
(C)はマッピング枠延長後の説明である。
【0149】図34(A)において、開始点(a)から
OFGのLMサイズで決定される一つ目のマッピング枠
(点線で示す)を決定する。次に、図34(B)のよう
に、矢印の方向(上方向)にマッピング枠を延長する。
このように延長したマッピング枠を図34(C)の
(1)で示してある。
【0150】:MPU3は、図34(C)のマッピン
グ枠(1)にOFGにベクトル作成依頼を行う(全マッ
ピングの依頼)。また、ベクトルで囲まれた内部を面塗
りする処理も依頼する。しかし、OFGが1回の起動で
展開可能なサイズ(LMサイズ)には限界がある。ここ
では太らせたドットがとても大きいので、マッピング枠
とOFGは1対1とならない。そこで、各マッピング枠
を分割してOFGに展開させる。
【0151】例えば、マッピング(1)をマッピング
(1)−1、マッピング(1)−2、マッピング(1)
−3、マッピング(1)−4と分割する。従って、OF
Gへの依頼は、次のようになる。
【0152】 OFG1 ← マッピング(1)−1 OFG2 ← マッピング(1)−2 OFG3 ← マッピング(1)−3 OFG4 ← マッピング(1)−4 :MPU3は、OFGからベクトル作成終了割り込み
を受け付けたら、RIO9に割り込みを受けたOFGの
LMからBMM10にマッピング枠分の転送依頼を行
う。
【0153】図35はOFGのLM→BMM転送の説明
図である。図35において、例えば、RIO9は、マッ
ピング(1)−1をOFG1のLM5からBMM10の
位置(1)−1に転送し、マッピング(1)−2をOF
G2のLM6からBMM10の位置(1)−2に転送
し、マッピング(1)−3をOFG3のLM7からBM
M10の位置(1)−3に転送し、マッピング(1)−
4をOFG4のLM8からBMM10の位置(1)−4
に転送する。
【0154】:長いかつ垂直に近い太ベクトル描画処
理の流れの説明 図36は長いかつ垂直に近い太ベクトル描画処理フロー
の説明図(1)、図37は長いかつ垂直に近い太ベクト
ル描画処理フローの説明図(2)、図38は長いかつ垂
直に近い太ベクトル描画処理フローの説明図(3)、図
39は長いかつ垂直に近い太ベクトル描画処理フローの
説明図(4)である。以下、図36〜図39のステップ
S91〜ステップS116に従って説明する。
【0155】S91:MPU3は、ベクトル描画依頼待
ちの状態で、外部から上側のベクトルの開始座標〔X
S1,YS1〕、終了座標〔XE1,YE1〕と下側のベクトル
の開始座標〔XS2,YS2〕、終了座標〔XE2,YE2
の太ベクトル描画依頼を受信する(BMM座標値)。
【0156】S92:MPU3は、ベクトル文字化計
算、即ち、BMM座標値をOFG座標値にずらせる処理
を行う。このため、基準点座標を求める。基準点座標
は、XS1、XS2、XE1、XE2とYS1、YS2、YE1、YE2
の内、最も小さい値(X、Yとも)となる。
【0157】S93:MPU3は、Y軸に近い太ベクト
ルかどうか判断する。この判断でY軸に近い太ベクトル
の場合はステップS94に移り、もしY軸に近い太ベク
トルで無い場合はステップS97に移る。
【0158】S94:MPU3は、ベクトル開始点にO
FGのLMサイズで決定される一番目の分割領域を決定
する。 S95:この太ベクトルは垂直に近いベクトルなので、
分割領域はX方向にずれない。そこでMPU3は、分割
領域を縦方向に延長する。
【0159】S96:MPU3は、求めた分割領域(マ
ッピング枠)の左上座標(BMM)を分割領域テーブル
に格納し、サイズも格納する。このときサイズYは延長
した分を加算する。なお、分割領域テーブルには、左上
座標〔X,Y〕(1)、サイズX、Y、転送終了フラグ
が設けてある。
【0160】S97:前記ステップS93の判断でY軸
に近い太ベクトルで無い場合は、MPU3は、ベクトル
開始点にOFGのLMサイズで決定される一番目の分割
領域を決定する。
【0161】S98:この太ベクトルは水平に近いベク
トルなので、分割領域はY軸方向にずれない。そこでM
PU3は、分割領域を横方向に延長する。 S99:MPU3は、求めた分割領域(マッピング枠)
の左上座標(BMM)を分割領域テーブルに格納し、サ
イズも格納する。このときサイズXは延長した分を加算
する。なお、分割領域テーブルには、左上座標〔X,
Y〕(1)、サイズX、Y、転送終了フラグが設けてあ
る。
【0162】S100:MPU3は、分割領域テーブル
を処理中テーブルとみなす。 S101:MPU3は、処理中テーブルのXサイズがL
Mサイズ以下になるまで、ステップS102〜ステップ
S116を繰り返す。
【0163】S102:MPU3は、処理中テーブルサ
イズXがOFGのLMサイズを越えるかどうか判断す
る。この判断でLMサイズを越える場合はステップS1
03に移り、もし越えない場合はステップS104に移
る。
【0164】S103:MPU3は、処理中テーブル1
を処理中テーブルのXサイズをLMサイズXとしたもの
とする。 S104:MPU3は、前記ステップS104の判断で
LMサイズを越えない場合、MPU3は、処理中テーブ
ルをそのまま処理中テーブル1とする。
【0165】S105:MPU3は、処理中テーブル1
のデータが無くなるまで、ステップS106〜ステップ
S112を繰り返す。 S106:MPU3は、処理中テーブルのデータはOF
GのLMサイズのY軸方向の最大値を越えるかどうか判
断する。この判断で最大値を越える場合はステップS1
07に移り、もし越えない場合はステップS108に移
る。
【0166】S107:MPU3は、OFGのLMサイ
ズYは最大値とする。 S108:前記ステップS106の判断で最大値を越え
ない場合、MPU3は、処理中テーブルの残りをそのま
まOFGのLMサイズとする。これで処理中テーブルデ
ータは無しとする。
【0167】S109:MPU3は、OFG描画依頼デ
ータを作成するため、OFGクリップ座標を求める(分
割領域テーブルの座標〔X,Y〕から基準点座標を引い
た結果がOFGクリップ座標になる)。
【0168】S110:MPU3は、起動できるOFG
が存在するかどうか判断する。この判断で起動できるO
FGが存在する場合はステップS111に移り、もし存
在しない場合はステップS112に移る。
【0169】S111:MPU3は、OFGを起動する
(クリップ指定してベクトル描画依頼を行う)。 S112:MPU3は、前記ステップS110の判断で
起動できるOFGが存在しない場合はOFGの描画終了
待ちとなり、RIO9でOFGのLMからベクトルをB
MM10に転送する。
【0170】S113:MPU3は、OFGを起動する
(クリップ指定してベクトル描画依頼を行う)。 S114:MPU3は、RIO9で未転送のOFGが有
る間ステップS115、ステップS116を繰り返す。
【0171】S115:MPU3は、OFGのベクトル
描画終了を待つ。 S116:OFGの描画が終了すると、RIO9でOF
GのLMからベクトルをBMM10に転送する。
【0172】このように、太ベクトルを構成する4点の
開始・終了X座標又は開始・終了Y座標がLMの描画可
能な範囲の最大の大きさを越えないベクトルにおいて、
4点を含むクリップ枠を一つだけ設定し、このクリップ
枠内をLMの描画可能な範囲で満たされるまで繰り返す
ことによって描画を行うことで、途中の繰り返しクリッ
プ枠の情報(座標及びX、Yサイズ)をつくらずに描画
を行うことができる。
【0173】(9):長いかつとても太い太ベクトル描
画の説明 :MPU3は、長いかつとても太い太ベクトルの描画
依頼を受信すると、ベクトル作成座標の計算を行って、
OFGに作成依頼するデータに変換する(マッピング枠
ごとに行う)。以下、図40〜図42に基づいて、ベク
トル作成座標の計算を説明する。
【0174】a)BMM→OFGの座標変換の説明 図40はBMM→OFG座標変換の説明図であり、図4
0(A)はBMM座標系の説明、図40(B)はOFG
座標系の説明である。
【0175】図40(A)のように、MPU3は、上側
のベクトルの開始点(b)と終了点(d)、下側のベク
トルの開始点(a)と終了点(c)の太ベクトルの描画
依頼をBMM座標系で受信し、マッピング枠毎にOFG
に作成依頼するデータに変換するため図40(B)のO
FG座標系に変換する。図40(B)において、OFG
座標系における太ベクトルのマッピング枠(点線で示
す)が示されている。このマッピング枠は次のようにし
て作成する。なお、(s)はベクトルの開始点、(e)
はベクトルの終了点を示している。
【0176】b)マッピング枠の説明 図41はマッピング枠の説明図(1)であり、図41
(A)はマッピング枠の区切りの説明、図41(B)は
マッピング枠配置1の説明である。図42はマッピング
枠の説明図(2)であり、図42(A)はマッピング枠
配置2の説明、図42(B)はマッピング枠配置3の説
明である。
【0177】図41(A)において、開始点(b)から
上側のベクトルに関し、X軸方向にOFGのLMサイズ
Xでマッピング枠を区切る。次に、図41(B)のよう
に、マッピング枠内開始・終了座標xからyを算出し、
切上げ・切捨てしてマッピング枠座標及びそのサイズを
決定する。なお、点線でマッピング枠(1)−1、
(1)−2、(1)−3、(1)−4を示してある。
【0178】図42(A)において、上側のベクトルと
同様に、下側のベクトルもマッピング枠内開始・終了座
標xからyを算出し、切上げ・切捨てしてマッピング枠
座標及びそのサイズを決定する。なお、点線でこのマッ
ピング枠(4)−1、(4)−2、(4)−3、(4)
−4を示してある。
【0179】更に、図42(B)において、左右のベク
トルは、OFGのLMサイズで分割する。なお、太線枠
でこのマッピング枠(2)−1、(2)−2、(2)−
3、(3)−1、(3)−2、(3)−3を示してあ
る。
【0180】:MPU3は、図42(B)のマッピン
グ枠毎にOFGにベクトル作成依頼を行う(全マッピン
グの依頼)。また、ベクトルで囲まれた内部を面塗りす
る処理も依頼する。例えば、OFGへの依頼は、次のよ
うになる。
【0181】 OFG1 ← マッピング(1)−1 OFG2 ← マッピング(1)−2 OFG3 ← マッピング(1)−3 OFG4 ← マッピング(1)−4 OFG1 ← マッピング(2)−1 OFG2 ← マッピング(2)−2 OFG3 ← マッピング(2)−3 OFG4 ← マッピング(3)−1 OFG1 ← マッピング(3)−2 OFG2 ← マッピング(3)−3 OFG3 ← マッピング(4)−1 OFG4 ← マッピング(4)−2 OFG1 ← マッピング(4)−3 OFG2 ← マッピング(4)−4 :MPU3は、OFGからベクトル作成終了割り込み
を受け付けたら、RIO9に割り込みを受けたOFGの
LMからBMM10にマッピング枠分の転送依頼を行
う。
【0182】図43はOFGのLM→BMM転送の説明
図である。図43において、RIO9は、マッピング
(1)−1〜(4)−4をそれぞれのOFGのLMから
BMM10の所定の位置に転送する。
【0183】:矩形域の転送の説明 図44は矩形域の塗りつぶしの説明図である。図44に
おいて、OFGを用いて転送を行った部分以外は、縦長
の矩形域(太線枠で示す)である。この矩形域をRIO
9の矩形域を塗りつぶす機能(転送論理演算D=1:ベ
タ黒)を用いてRIO9のみ(OFG未使用)で描画を
行い、太ベクトルを完成させる。
【0184】:長いかつとても太い太ベクトル描画処
理の流れの説明 図45は長いかつとても太い太ベクトル描画処理フロー
の説明図(1)、図46は長いかつとても太い太ベクト
ル描画処理フローの説明図(2)、図47は長いかつと
ても太い太ベクトル描画処理フローの説明図(3)、図
48は長いかつとても太い太ベクトル描画処理フローの
説明図(4)、図49は長いかつとても太い太ベクトル
描画処理フローの説明図(5)である。以下、図45〜
図49のステップS121〜ステップS149に従って
説明する。
【0185】S121:MPU3は、ベクトル描画依頼
待ちの状態で、外部から上側のベクトルの開始座標
〔XS1,YS1〕、終了座標〔XE1,YE1〕と下側のベク
トルの開始座標〔XS2,YS2〕、終了座標〔XE2,Y
E2〕の太ベクトル描画依頼を受信する(BMM座標
値)。
【0186】S122:MPU3は、ベクトル文字化計
算、即ち、BMM座標値をOFG座標値にずらせる処理
を行う。このため、基準点座標を求める。基準点座標
は、X S1、XS2、XE1、XE2とYS1、YS2、YE1、YE2
の内、最も小さい値(X、Yとも)となる。
【0187】S123:MPU3は、X軸方向に延びる
ベクトル(グループAのベクトル)かどうか判断する。
この判断でX軸方向に延びるベクトルの場合はステップ
S124に移り、もしX軸方向に延びるベクトルで無い
場合はステップS132に移る。
【0188】S124:MPU3は、上側のベクトルに
関して、OFGのLMサイズX(横方向の最大のサイ
ズ)を基準に、マッピング枠を決めるため、基準点x
が、開始Xs と終了Xe の大きい方の値を越えるまで、
ステップS125、ステップS126を繰り返す。
【0189】S125:MPU3は、マッピング枠内の
開始xと終了xからそれぞれのyを算出する。このyの
値は直線の式y=ax+bを使用して、ベクトルの方向
により、強制的に切上げ・切捨てを行う。
【0190】S126:MPU3は、求めた分割領域
(マッピング枠)の左上座標(BMM)を分割領域テー
ブルに格納し、各サイズも格納する。なお、分割領域テ
ーブルには、左上座標〔X,Y〕、サイズX、Y、転送
終了フラグが設けてある。
【0191】S127:MPU3は、下側のベクトルに
関して、OFGのLMサイズX(横方向の最大のサイ
ズ)を基準に、マッピング枠を決めるため、基準点x
が、開始Xs と終了Xe の大きい方の値を越えるまで、
ステップS128、ステップS129を繰り返す。
【0192】S128:MPU3は、マッピング枠内の
開始xと終了xからそれぞれのyを算出する。このyの
値は直線の式y=ax+bを使用して、ベクトルの方向
により、強制的に切上げ・切捨てを行う。
【0193】S129:MPU3は、求めた分割領域
(マッピング枠)の左上座標(BMM)を分割領域テー
ブルに格納し、各サイズも格納する。なお、分割領域テ
ーブルには、左上座標〔X,Y〕、サイズX、Y、転送
終了フラグが設けてある。
【0194】S130:MPU3は、左右のベクトルを
OFGのLMの最大の大きさで分割する。 S131:MPU3は、前記分割して求めた分割領域
(マッピング枠)の左上座標(BMM)を分割領域テー
ブルに格納し、各サイズも格納する。なお、分割領域テ
ーブルには、左上座標〔X,Y〕、サイズX、Y、転送
終了フラグが設けてある。
【0195】S132:前記ステップS123の判断で
X軸方向に延びるベクトルで無い場合は、Y軸方向に延
びるベクトル(グループBのベクトル)と判断し、MP
U3は、上側のベクトルに関して、OFGのLMサイズ
Y(縦方向の最大のサイズ)を基準に、マッピング枠を
決めるため、基準点yが、開始Ys と終了Ye の大きい
方の値を越えるまで、ステップS133、ステップS1
34を繰り返す。
【0196】S133:MPU3は、マッピング枠内の
開始yと終了yからそれぞれのxを算出する。このxの
値は直線の式x=ay+bを使用して、ベクトルの方向
により、強制的に切上げ・切捨てを行う。
【0197】S134:MPU3は、求めた分割領域
(マッピング枠)の左上座標(BMM)を分割領域テー
ブルに格納し、各サイズも格納する。なお、分割領域テ
ーブルには、左上座標〔X,Y〕、サイズX、Y、転送
終了フラグが設けてある。
【0198】S135:MPU3は、下側のベクトルに
関して、OFGのLMサイズY(縦方向の最大のサイ
ズ)を基準に、マッピング枠を決めるため、基準点y
が、開始Ys と終了Ye の大きい方の値を越えるまで、
ステップS136〜ステップS138を繰り返す。
【0199】S136:MPU3は、マッピング枠内の
開始yと終了yからそれぞれのxを算出する。このxの
値は直線の式x=ay+bを使用して、ベクトルの方向
により、強制的に切上げ・切捨てを行う。
【0200】S137:MPU3は、上下のベクトルを
OFGのLMの最大の大きさで分割する。 S138:MPU3は、前記分割して求めた分割領域
(マッピング枠)の左上座標(BMM)を分割領域テー
ブルに格納し、各サイズも格納する。なお、分割領域テ
ーブルには、左上座標〔X,Y〕、サイズX、Y、転送
終了フラグが設けてある。
【0201】S139:MPU3は、ステップS14
0、ステップS141を分割領域の個数分繰り返す。 S140:MPU3は、OFG描画依頼データを作成す
るため、OFGクリップ座標を求める(分割領域テーブ
ルの〔X,Y〕から基準点座標を引いた結果がOFGク
リップ座標になる)。
【0202】S141:MPU3は、起動できるOFG
が存在するかどうか判断する。この判断で起動できるO
FGが存在する場合はステップS142に移り、もし存
在しない場合はOFGの終了を待ちステップS143に
移る。
【0203】S142:MPU3は、OFGを起動する
(クリップ指定してベクトル描画依頼を行う)。 S143:前記ステップS141で起動できるOFGが
存在しない場合はOFG終了待ちとなり、RIO9でO
FGのLMからベクトルをBMM10に転送する。
【0204】S144:MPU3は、OFGを起動する
(クリップ指定してベクトル描画依頼を行う)。 S145:MPU3は、RIO9で未転送のOFGが有
る間ステップS146、ステップS147を繰り返す。
【0205】S146:MPU3は、OFGのベクトル
描画終了を待つ。 S147:RIO9でOFGのLMからベクトルをBM
M10に転送する。 S148:MPU3は、矩形域の個数分ステップS14
9を繰り返す。
【0206】S149:MPU3は、矩形域をRIO9
を用いて塗りつぶす。 このように、ベクトル幅がLMの描画可能な範囲の最大
値を越える太ベクトル描画において、太ベクトルを構成
している進行方向の2辺のベクトルを各々クリップ枠を
分割し描画を行い、その内部の複数の矩形域をRIO9
のビットマップメモリ転送機能を用いて塗りつぶしを行
うことによって、ベクトル展開処理時間を減らすことで
高速に太ベクトル全体を描画することができる。
【0207】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 (1):制御部で、入力されたベクトルを45度を境界
にしてX軸に近いグループとY軸に近いグループに分
け、前記X軸に近いベクトルのグループの場合は、第1
の描画部に描画依頼するクリップ枠のX軸方向サイズを
前記第1の描画部に設定できる最大値とし、前記Y軸に
近いベクトルのグループの場合は、前記第1の描画部に
描画依頼するクリップ枠のY軸方向サイズを前記第1の
描画部に設定できる最大値とすることにより、描画する
クリップ枠を設定するため、複数のクリップ枠だけを複
数の前記第1の描画部に描画依頼することができ、斜め
線を高速に描画することができる。
【0208】(2):制御部は、前記クリップ枠のX軸
方向サイズからY軸方向サイズを算出、又は、Y軸方向
サイズからX軸方向サイズを算出する場合、ベクトルの
前記クリップ枠への進入方向及び角度によって、クリッ
プ枠内の開始座標と終了座標を切捨て又は切上げを行っ
て描画するクリップ枠を設定するため、DDA計算によ
らないで、また、異なるDDA方式においても対応した
クリップ枠を設定することができる。
【0209】(3):制御部で、入力された太ベクトル
を構成する一辺のベクトルに対して45度を境界にして
X軸に近いグループとY軸に近いグループに分け、前記
X軸に近いベクトルのグループの場合は、第1の描画部
に描画依頼するクリップ枠のX軸方向サイズを前記第1
の描画部に設定できる最大値とし、前記Y軸に近いベク
トルのグループの場合は、前記第1の描画部に描画依頼
するクリップ枠のY軸方向サイズを前記第1の描画部に
設定できる最大値とすることにより、クリップ枠を算出
し、該クリップ枠を算出したベクトルに対する辺のベク
トルとぶつかるまで延長させた枠を描画するクリップ枠
とするため、太ベクトルと交差する4座標を求めること
なく、また、異なるDDA方式においても対応したクリ
ップ枠を設定することができる。
【0210】(4):クリップ枠を算出したベクトルに
対する辺のベクトルとぶつかるまで延長させた描画する
クリップ枠が、第1の描画部に設定できる最大値を越え
る場合、制御部は、前記第1の描画部に、このクリップ
枠内を前記第1の描画部に設定できる最大の大きさで満
たされるまで繰り返して描画を行わせるため、途中の繰
り返しクリップ枠の情報(座標及びX、Y軸方向サイ
ズ)を作らないで描画を行うことができる。
【0211】(5):制御部は、入力された太ベクトル
を構成する4点の開始・終了X座標又は4点の開始・終
了Y座標が、第1の描画部の描画可能な範囲を越えない
ベクトルにおいて、前記4点を含むクリップ枠を一つだ
け設定し、前記第1の描画部に、このクリップ枠内を前
記第1の描画部に設定できる最大の大きさで満たされる
まで繰り返して描画を行わせるため、途中の繰り返しク
リップ枠の情報(座標及びX、Y軸方向サイズ)を作ら
ないで描画を行うことができる。 (6):制御部で、入力された太ベクトルを構成する進
行方向の2辺のベクトル各々に対して45度を境界にし
てX軸に近いグループとY軸に近いグループに分け、前
記X軸に近いベクトルのグループの場合は、第1の描画
部に描画依頼するクリップ枠のX軸方向サイズを前記第
1の描画部に設定できる最大値とし、前記Y軸に近いベ
クトルのグループの場合は、前記第1の描画部に描画依
頼するクリップ枠のY軸方向サイズを前記第1の描画部
に設定できる最大値とすることにより、描画するクリッ
プ枠を算出して前記第1の描画部で描画を行い、前記2
辺のベクトル内部の矩形域を第2の描画部のビットマッ
プ転送機能を用いて塗りつぶすため、第2の描画部のビ
ットマップ転送機能を用いてベクトル展開処理時間を減
らすことができ、高速に太ベクトル全体を描画すること
ができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】実施の形態における描画装置の説明図である。
【図3】実施の形態におけるOFGの説明図である。
【図4】実施の形態におけるOFGのクリップの説明図
である。
【図5】実施の形態におけるOFG起動フローの説明図
である。
【図6】実施の形態におけるBMM→OFG座標変換の
説明図である。
【図7】実施の形態におけるマッピング枠の説明図であ
る。
【図8】実施の形態におけるOFGのLM→BMMへの
転送の説明図である。
【図9】実施の形態におけるベクトルのグループ分けの
説明図である。
【図10】実施の形態におけるマッピング枠の説明図で
ある。
【図11】実施の形態におけるy値の切上げ・切捨ての
説明図である。
【図12】実施の形態におけるDDA方式によらないマ
ッピング枠の例の説明図である。
【図13】実施の形態におけるベクトルの方向によるy
値の切上げ・切捨ての説明図である。
【図14】実施の形態におけるマッピング枠の説明図で
ある。
【図15】実施の形態におけるベクトルの方向によるx
値の切上げ・切捨ての説明図である。
【図16】実施の形態における1ドットベクトルの描画
処理フローの説明図(1)である。
【図17】実施の形態における1ドットベクトルの描画
処理フローの説明図(2)である。
【図18】実施の形態における1ドットベクトルの描画
処理フローの説明図(3)である。
【図19】実施の形態におけるBMM→OFG座標変換
の説明図である。
【図20】実施の形態におけるマッピング枠の説明図で
ある。
【図21】実施の形態におけるマッピング枠延長の説明
図である。
【図22】実施の形態におけるOFGのLM→BMMへ
の転送の説明図である。
【図23】実施の形態における太ベクトルの描画処理フ
ローの説明図(1)である。
【図24】実施の形態における太ベクトルの描画処理フ
ローの説明図(2)である。
【図25】実施の形態における太ベクトルの描画処理フ
ローの説明図(3)である。
【図26】実施の形態におけるBMM→OFG座標変換
の説明図である。
【図27】実施の形態におけるマッピング枠の説明図で
ある。
【図28】実施の形態におけるマッピング枠延長の説明
図である。
【図29】実施の形態におけるOFGのLM→BMM転
送の説明図である。
【図30】実施の形態における長いかつとても太い太ベ
クトル描画処理フローの説明図(1)である。
【図31】実施の形態における長いかつとても太い太ベ
クトル描画処理フローの説明図(2)である。
【図32】実施の形態における長いかつとても太い太ベ
クトル描画処理フローの説明図(3)である。
【図33】実施の形態におけるBMM→OFG座標変換
の説明図である。
【図34】実施の形態におけるマッピング枠作成の説明
図である。
【図35】実施の形態におけるOFGのLM→BMM転
送の説明図である。
【図36】実施の形態における長いかつ垂直に近い太ベ
クトル描画処理フローの説明図(1)である。
【図37】実施の形態における長いかつ垂直に近い太ベ
クトル描画処理フローの説明図(2)である。
【図38】実施の形態における長いかつ垂直に近い太ベ
クトル描画処理フローの説明図(3)である。
【図39】実施の形態における長いかつ垂直に近い太ベ
クトル描画処理フローの説明図(4)である。
【図40】実施の形態におけるBMM→OFG座標変換
の説明図である。
【図41】実施の形態におけるマッピング枠の説明図
(1)である。
【図42】実施の形態におけるマッピング枠の説明図
(2)である。
【図43】実施の形態におけるOFGのLM→BMM転
送の説明図である。
【図44】実施の形態における矩形域の塗りつぶしの説
明図である。
【図45】実施の形態における長いかつとても太い太ベ
クトル描画処理フローの説明図(1)である。
【図46】実施の形態における長いかつとても太い太ベ
クトル描画処理フローの説明図(2)である。
【図47】実施の形態における長いかつとても太い太ベ
クトル描画処理フローの説明図(3)である。
【図48】実施の形態における長いかつとても太い太ベ
クトル描画処理フローの説明図(4)である。
【図49】実施の形態における長いかつとても太い太ベ
クトル描画処理フローの説明図(5)である。
【図50】従来例の説明図である。
【符号の説明】
3a 制御部 9a 第2の描画部 10 ビットマップメモリ(BMM) 20 第1の描画部 LM ローカルメモリ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】クリップ枠で選択されたベクトルの描画範
    囲を描画する第1の描画部と、 前記第1の描画部で作成された描画結果をビットマップ
    メモリへ転送する第2の描画部と、 前記第1及び第2の描画部の制御を行う制御部とを備
    え、 前記制御部は、入力されたベクトルを45度を境界にし
    てX軸に近いグループとY軸に近いグループに分け、 前記X軸に近いベクトルのグループの場合は、前記第1
    の描画部に描画依頼するクリップ枠のX軸方向サイズを
    前記第1の描画部に設定できる最大値とし、 前記Y軸に近いベクトルのグループの場合は、前記第1
    の描画部に描画依頼するクリップ枠のY軸方向サイズを
    前記第1の描画部に設定できる最大値とすることによ
    り、描画するクリップ枠を設定することを特徴とした描
    画装置。
  2. 【請求項2】前記制御部は、前記クリップ枠のX軸方向
    サイズからY軸方向サイズを算出、又は、Y軸方向サイ
    ズからX軸方向サイズを算出する場合、ベクトルの前記
    クリップ枠への進入方向及び角度によって、クリップ枠
    内の開始座標と終了座標を切捨て又は切上げを行って描
    画するクリップ枠を設定することを特徴とした請求項1
    記載の描画装置。
  3. 【請求項3】クリップ枠で選択されたベクトルの描画範
    囲を描画し、該描画されたベクトルで囲まれた内部を面
    塗りする第1の描画部と、 前記第1の描画部で作成された描画結果をビットマップ
    メモリへ転送する第2の描画部と、 前記第1及び第2の描画部の制御を行う制御部とを備
    え、 前記制御部は、入力された太ベクトルを構成する一辺の
    ベクトルに対して45度を境界にしてX軸に近いグルー
    プとY軸に近いグループに分け、前記X軸に近いベクト
    ルのグループの場合は、前記第1の描画部に描画依頼す
    るクリップ枠のX軸方向サイズを前記第1の描画部に設
    定できる最大値とし、前記Y軸に近いベクトルのグルー
    プの場合は、前記第1の描画部に描画依頼するクリップ
    枠のY軸方向サイズを前記第1の描画部に設定できる最
    大値とすることにより、クリップ枠を算出し、 該クリップ枠を算出したベクトルに対する辺のベクトル
    とぶつかるまで延長させた枠を描画するクリップ枠とす
    ることを特徴とした描画装置。
  4. 【請求項4】前記クリップ枠を算出したベクトルに対す
    る辺のベクトルとぶつかるまで延長させた描画するクリ
    ップ枠が、前記第1の描画部に設定できる最大値を越え
    る場合、 前記制御部は、前記第1の描画部に、このクリップ枠内
    を前記第1の描画部に設定できる最大の大きさで満たさ
    れるまで繰り返して描画を行わせることを特徴とした請
    求項3記載の描画装置。
  5. 【請求項5】クリップ枠で選択されたベクトルの描画範
    囲を描画し、該描画されたベクトルで囲まれた内部を面
    塗りする第1の描画部と、 前記第1の描画部で作成された描画結果をビットマップ
    メモリへ転送する第2の描画部と、 前記第1及び第2の描画部の制御を行う制御部とを備
    え、 前記制御部は、入力された太ベクトルを構成する4点の
    開始・終了X座標又は4点の開始・終了Y座標が、前記
    第1の描画部の描画可能な範囲を越えないベクトルにお
    いて、前記4点を含むクリップ枠を一つだけ設定し、前
    記第1の描画部に、このクリップ枠内を前記第1の描画
    部に設定できる最大の大きさで満たされるまで繰り返し
    て描画を行わせることを特徴とした描画装置。
  6. 【請求項6】クリップ枠で選択されたベクトルの描画範
    囲を描画し、該描画されたベクトルで囲まれた内部を面
    塗りする第1の描画部と、 前記第1の描画部で作成された描画結果をビットマップ
    メモリへ転送する第2の描画部と、 前記第1及び第2の描画部の制御を行う制御部とを備
    え、 前記制御部は、入力された太ベクトルを構成する進行方
    向の2辺のベクトル各々に対して45度を境界にしてX
    軸に近いグループとY軸に近いグループに分け、 前記X軸に近いベクトルのグループの場合は、前記第1
    の描画部に描画依頼するクリップ枠のX軸方向サイズを
    前記第1の描画部に設定できる最大値とし、前記Y軸に
    近いベクトルのグループの場合は、前記第1の描画部に
    描画依頼するクリップ枠のY軸方向サイズを前記第1の
    描画部に設定できる最大値とすることにより、描画する
    クリップ枠を算出して前記第1の描画部で描画を行い、 前記2辺のベクトル内部の矩形域を前記第2の描画部の
    ビットマップ転送機能を用いて塗りつぶすことを特徴と
    した描画装置。
JP8250054A 1996-09-20 1996-09-20 描画装置 Withdrawn JPH1097237A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8250054A JPH1097237A (ja) 1996-09-20 1996-09-20 描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8250054A JPH1097237A (ja) 1996-09-20 1996-09-20 描画装置

Publications (1)

Publication Number Publication Date
JPH1097237A true JPH1097237A (ja) 1998-04-14

Family

ID=17202124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8250054A Withdrawn JPH1097237A (ja) 1996-09-20 1996-09-20 描画装置

Country Status (1)

Country Link
JP (1) JPH1097237A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007026898A1 (ja) * 2005-09-02 2007-03-08 Sharp Kabushiki Kaisha 文字図形表示装置、文字図形表示方法、文字図形表示プログラムおよび記録媒体
JP2014021292A (ja) * 2012-07-19 2014-02-03 Casio Comput Co Ltd 画像表示制御装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007026898A1 (ja) * 2005-09-02 2007-03-08 Sharp Kabushiki Kaisha 文字図形表示装置、文字図形表示方法、文字図形表示プログラムおよび記録媒体
JPWO2007026898A1 (ja) * 2005-09-02 2009-03-12 シャープ株式会社 文字図形表示装置、文字図形表示方法、文字図形表示プログラムおよび記録媒体
JP4761477B2 (ja) * 2005-09-02 2011-08-31 シャープ株式会社 文字図形表示装置、文字図形表示方法、文字図形表示プログラムおよび記録媒体
JP2014021292A (ja) * 2012-07-19 2014-02-03 Casio Comput Co Ltd 画像表示制御装置

Similar Documents

Publication Publication Date Title
KR950012083B1 (ko) 문자/도형 발생 장치 및 정보 처리장치
EP0683469B1 (en) Character processing apparatus and method
EP0537030B1 (en) Character or graphic processing method
JPH1097237A (ja) 描画装置
EP0357444A2 (en) Dynamically configurable, demand driven data processing pipeline
JPH0344345B2 (ja)
JPH02270019A (ja) 高品質文字パターン発生方式
KR100266930B1 (ko) 다각형등의도형을묘화하는방법및표시제어장치
JPS6339947B2 (ja)
JP2523213B2 (ja) ペ―ジプリンタ印刷制御方式
JP3070822B2 (ja) 輪郭線データ変換装置
JPH09214533A (ja) 情報処理装置及びそのipアドレス生成方法及び文字処理装置及びそのipアドレス生成方法
EP0357076A2 (en) Inclined rectangular pattern generating system
JP3238202B2 (ja) 文字・図形発生装置および情報処理装置
JPH0546150A (ja) 斜体文字の描画制御方法
JP3089906B2 (ja) 描画装置
JPH01263051A (ja) プリンタコントローラ
JPH11227266A (ja) 印刷処理装置および印刷処理方法
JP2976419B2 (ja) 印字装置
JP2814709B2 (ja) 描画データ作成装置
JP2622168B2 (ja) 文字処理装置および方法
JPH11216914A (ja) 描画装置
JP3382444B2 (ja) 文字処理装置及び方法
JPH03111893A (ja) 出力装置
JPH0781151A (ja) 描画制御方法及び描画制御装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20031202