Chapter4. 拡張関数


4.1 グラフィックス関数

関数名
G@GDICHORD
機能

指定した2点間を結ぶ長方形を外接する楕円を弧とする弓形を描画する。弓形とは楕円の弧とその端点を結ぶ直線(弦)で囲まれた領域です。弓形の中を塗り潰します。

書式
G@GDICHORD(SN,X1,Y1,X2,Y2,RX1,RY1,RX2,RY2 )
《パラメーター》
SN int。キャラクターを含むサーフェス番号
X1 int。楕円の外接長方形の左上X座標
Y1 int。楕円の外接長方形の左上Y座標
X2 int。楕円の外接長方形の右下X座標
Y2 int。楕円の外接長方形の右下Y座標
RX1 int。1つ目の楕円の中心を始点として広がる直線の終点のX座標
RY1 int。1つ目の楕円の中心を始点として広がる直線の終点のY座標
RX2 int。2つ目の楕円の中心を始点として広がる直線の終点のX座標
RY2 int。2つ目の楕円の中心を始点として広がる直線の終点のY座標
解説
指定した2点間を結ぶ長方形を外接する楕円を弧の一部とした弓形を描画する。楕円の中心を始点として広がる2本の直線と楕円の弧が交わる点を弓形の始点と終点とする。始点と終点は楕円の弧に沿って反時計周り(左回り)で結ばれます。弧の始点と終点が等しい場合、完全な楕円が描画されます。
弓形の枠は G@GDISETPEN で指定したペンで描画し、弓形の中は G@GDISETBRUSH で指定したブラシで塗りつぶします。
用例
座標1(X=100,Y=200),座標2(X=300,Y=400)間を長方形を外接する楕円を弧とする弓形を描画する。左上45%と右上45%を弧の始点と終点とする。枠を赤色、長方形の中を緑色でぬ潰す。
CN = G@SETUP( 640 , 480 , 8 , 1 )
G@GDISETPEN( LG_GDI_PS_SOLID , 3 , 1.0 , 0 , 0 )
G@GDISETBRUSH( 0 , 0 , 1.0 , 0)
LOOP
  G@GDICHORD( CN , 100, 200, 300, 400, 300, 200, 100, 200 )
  G@FLIP( )
ENDLOOP