@section 図形言語・グラフィックス機能

@defun make-window-frame xsize ysize [x-begin y-begin x-end y-end]
戻り値: ウィンドウフレームオブジェクト@*
サイズxsize×ysizeのウィンドウを生成します。
3番目から6番目の引数により、ウィンドウに付随する座標系を指定することができます。
3〜6番目の引数を指定したときの座標系は数学で使用する座標系(x軸は右に行くほど大きく、y軸は上に行くほど大きい)となります。
3〜6番目の引数を指定しなかったときはコンピュータグラフィックで使用される座標系(x軸は右に行くほど大きく、y軸は下に行くほど大きい)となります。
3番目と4番目の引数には左下の座標、5番目と6番目の引数には右上の座標を指定します。

ウィンドウをリサイズしたときにも付随する座標系は保存され、新しい座標のマッピングで再描画されます。
ウィンドウがクローズされたときにはウィンドウフレームは破棄されます。クローズしたウィンドウに描画をしようとしたときには何も起きません。
@end defun

@defun make-painter-frame xsize ysize [x-begin y-begin x-end y-end]
戻り値: ペインタフレームオブジェクト@*
サイズxsize×ysizeのペインタフレームを生成します。
引数についてはmake-window-frameと同じです。
ペインタフレームについてはサイズを変更しても変わりません。
@end defun

@defun load-image-painer image-file-name
戻り値: 画像ペインタオブジェクト@*
画像ファイルを画像ペインタとして読み込みます。
読み込める画像ファイルの形式はJPEG, GIF, PNGです。
@end defun

@defun below-painter above below
戻り値:  合成されたペインタオブジェクト@*
画像ペインタを上下に並べます。画像サイズはy軸方向に半分縮小されます。
@end defun

@defun beside-painter left right
戻り値: 合成されたペインタオブジェクト@*
画像ペインタを左右に並べます。画像サイズはx軸方向に半分縮小されます。
@end defun

@defun display-painter frame painter x y
戻り値: 未定義@*
ペインタをフレームに描画します。
座標はフレームに付随する座標で指定します。
@end defun

@defun draw-line frame begin-x begin-y end-x end-y
戻り値: 未定義@*
フレームに線を描画します。
座標はフレームに指定された座標系が適用されます。
@end defun

@defun draw-string frame string x y
戻り値: 未定義@*
フレームに文字列を描画します。
座標はフレームに指定された座標系が適用されます。
@end defun

@defun draw-rectangle frame left-top-x left-top-y right-bottom-x right-bottom-y
戻り値: 未定義@*
フレームに矩形を描画します。
矩形の左上の頂点と右下の頂点の座標を指定します。
座標はフレームに指定された座標系が適用されます。
@end defun

@defun draw-oval frame left-top-x left-top-y right-bottom-x right-bottom-y
戻り値: 未定義@*
フレームに矩形に接する楕円(円)を描画します。
矩形の左上の頂点と右下の頂点の座標を指定します。
座標はフレームに指定された座標系が適用されます。
@end defun

@defun fill-rectangle frame left-top-x left-top-y right-bottom-x right-bottom-y
戻り値: 未定義@*
フレームに矩形を描画し、その内部を塗りつぶします。
矩形の左上の頂点と右下の頂点の座標を指定します。
座標はフレームに指定された座標系が適用されます。
@end defun

@defun fill-oval frame left-top-x left-top-y right-bottom-x right-bottom-y
戻り値: 未定義@*
フレームに矩形に接する楕円(円)を描画し、その内部を塗りつぶします。
矩形の左上の頂点と右下の頂点の座標を指定します。
座標はフレームに指定された座標系が適用されます。
@end defun

@defun clear-rectangle frame left-top-x left-top-y right-bottom-x right-bottom-y
戻り値: 未定義@*
フレームから矩形で指定された領域をクリア-バックグラウンドカラーで塗りつぶします。
矩形の左上の頂点と右下の頂点の座標を指定します。
座標はフレームに指定された座標系が適用されます。
@end defun

@defun clear-screen frame
戻り値: 未定義@*
フレームをクリアします。
ウィンドウフレームのときは描画したオブジェクト情報をクリアします。
ペインタフレームのときはバックグラウンドカラーで塗りつぶします。
@end defun

@defun set-current-color! frame color
戻り値: 未定義@*
フレームのフォアグラウンドカラーを指定した色オブジェクトに指定します。
@end defun

@defun make-color red green blue [alpha]
戻り値: 色オブジェクト@*
色オブジェクトを生成します。
引数にはR,G,B,アルファ値を0.0〜1.0の範囲で指定します。
@end defun

@defvar *color-black*
@defvarx *color-blue*
@defvarx *color-cyan*
@defvarx *color-dark-gray*
@defvarx *color-gray*
@defvarx *color-green*
@defvarx *color-light-gray*
@defvarx *color-magenta*
@defvarx *color-orange*
@defvarx *color-pink*
@defvarx *color-red*
@defvarx *color-white*
@defvarx *color-yellow*
定義済みの色オブジェクトです。
@end defvar

