グラフィックスライブラリ

このライブラリを使うにはソースコードに

include "Graphics.mok";

と追加します。

MouseButton

type MouseButton =
    LeftButton
  | RightButton
  | MiddleButton
  | UnknownButton;

Event

type Event =
    Draw({Graphics})
  | Tick
  | MouseDown(MouseButton, Int, Int)
  | MouseMove(Int, Int)
  | MouseUp(MouseButton, Int, Int);

シーン

scene関数

scene : String -> (Event -> ()) -> ()

新しいシーンを定義する。

switch関数

switch : String -> ()

シーンを切り替える。

タイマー

set_speed関数

set_speed : Int -> ()

Tickイベントを発行する感覚をミリ秒で指定する。

ウインドウ

show_window関数

show_window : String -> ()

ウインドウを表示する。引数は初期シーン名。

set_title関数

set_title : String -> ()

ウインドウのタイトルを設定する。

set_size関数

set_size : Int -> Int -> ()

ウインドウの幅と高さを指定する。

redraw関数

redraw : () -> ()

ウインドウの内容を再描画する。

ペン

new_pen関数

new_pen : Int -> Int -> Int -> Int -> {System.Drawing.Pen}

newpen r g b wで色(r,g,b)と線幅wのペンを作る。

既定のペン

black_pen : {System.Drawing.Pen}
white_pen : {System.Drawing.Pen}
red_pen : {System.Drawing.Pen}
green_pen : {System.Drawing.Pen}
blue_pen : {System.Drawing.Pen}
yellow_pen : {System.Drawing.Pen}
cyan_pen : {System.Drawing.Pen}
magenta_pen : {System.Drawing.Pen

ブラシ

new_solid_brush

new_solid_brush : Int -> Int -> Int -> {System.Drawing.Brush}

new_solid_brush r g bで色(r,g,b)のブラシを作る。

既定のブラシ

black_brush : {System.Drawing.Brush}
white_brush : {System.Drawing.Brush}
red_brush : {System.Drawing.Brush}
green_brush : {System.Drawing.Brush}
blue_brush : {System.Drawing.Brush}
yellow_brush : {System.Drawing.Brush}
cyan_brush : {System.Drawing.Brush}
magenta_brush : {System.Drawing.Brush}

描画関数

draw_line関数

draw_line : {System.Drawing.Graphics} -> {System.Drawing.Pen} ->
    Int -> Int -> Int -> Int -> ()

draw_line graphics pen x1 y1 x2 y2で指定した座標間に線を引く。

draw_rectangle関数

draw_rectangle : {System.Drawing.Graphics} -> {System.Drawing.Pen} ->
    Int -> Int -> Int -> Int -> ()

draw_rectangle graphics pen x y w hで指定した大きさの四角形を、 指定した座標に描く。

draw_ellipse関数

draw_ellipse : {System.Drawing.Graphics} -> {System.Drawing.Pen} ->
    Int -> Int -> Int -> Int -> ()

draw_ellipse graphics pen x y w hで指定した大きさの四角形に 内接する楕円を描く。

draw_string関数

draw_string : {System.Drawing.Graphics} -> {System.Drawing.Brush} ->
    α -> Int -> Int -> Int -> ()

draw_string graphics brush string size x yで文字列を描く。

fill_rectangle関数

fill_rectangle : {System.Drawing.Graphics} -> {System.Drawing.Brush} ->
    Int -> Int -> Int -> Int -> ()

fill_rectangle graphics brush x y w hで塗りつぶした四角形を描く。

fill_ellipse関数

fill_ellipse : {System.Drawing.Graphics} -> {System.Drawing.Brush} ->
    Int -> Int -> Int -> Int -> ()

fill_ellipse graphics brush x y w hで塗りつぶした楕円を描く。

draw_pixel関数

draw_pixel : {System.Drawing.Graphics} ->
   Int -> Int -> Int -> Int -> Int -> ()

draw_pixel graphics r g b x yで指定した座標に指定した色のピクセルを打つ。

色の変換

hsv_to_rgb関数

hsv_to_rgb : Double -> Double -> Double -> (Int, Int, Int)

色相(0.0-360.0)、彩度(0.0-1.0)、明度(0.0-1.0)をRGB値に変換する。