メインページ | Directories | ファイル一覧 | グローバル

libgraph2.c

yokogui for Windows [詳細]

#include <windows.h>
#include "libgraph.h"
#include "slot.h"

型定義

typedef char SCHAR
typedef int ID

関数

BOOL x_init (SCHAR *xtitle, int width, int height)
 ライブラリを初期化し、ウィンドウを作成します。
void x_update ()
 ウィンドウをアップデートします。
void x_set_window_size (int width, int height)
 ウィンドウの大きさを変更します。
void x_set_font_size (int size)
 文字の大きさを変更します。
void x_pset (ID dest, int x, int y)
 点を打ちます。
void x_line (ID dest, int x1, int y1, int x2, int y2)
 線を描きます。
void x_rectangle (ID dest, int x, int y, int width, int height, BOOL fill)
 長方形を描きます。
void x_circle (ID dest, int x, int y, int width, int height, BOOL fill)
 円を描きます。
image_info x_load_image (SCHAR *bmp)
 画像ファイルを読み込みます。
void x_set_color (int r, int g, int b)
 これから使用する色を設定します。
void x_putchar (ID dest, int x, int y, XCHAR c)
 文字を打ち出します。
void x_puts (ID dest, int x, int y, XCHAR *s)
 文字列を打ち出します。
int x_printf (ID dest, int x, int y, XCHAR *fmt,...)
 フォーマット付き文字(列)を打ち出します。
void x_copy (ID src, int src_x, int src_y, int width, int height, ID dest, int x, int y, int cmd)
 画像をコピーします。
void x_clear_keybuffer (void)
 キー入力を消去します。
int x_getchar (BOOL nowait)
 キー入力を取得します。
void x_get_keystate (void)
 現在の入力キーを読み取ります。
int x_check_keystate (int key)
 x_get_keystateで保存したキー入力をチェックします。
cursor_info x_get_cursor (void)
 マウス情報を取得します。
void usleep (int utime)
 マイクロ秒の間、実行を停止します。


説明

yokogui for Windows

このlibgraph2は、性能を重視したバージョンです。

Doxygen対応。

作者:
nish
日付:
2.0

関数

void usleep int  utime  ) 
 

マイクロ秒の間、実行を停止します。

引数:
[in] utime 停止時間
戻り値:
なし
utime[μsec]の間、実行を停止します。

int x_check_keystate int  key  ) 
 

x_get_keystateで保存したキー入力をチェックします。

引数:
[in] key チェックするキーのキーコード
戻り値:
0 キーは押されていない
それ以外 キーが押されている
保存した入力情報をチェックします。
参照:
x_get_keystate

void x_circle ID  dest,
int  x,
int  y,
int  width,
int  height,
BOOL  fill
 

円を描きます。

引数:
[in] dest 円を描く
[in] x 円が収まる境界長方形の左の座標
[in] y 円が収まる境界長方形の上の座標
[in] width 円が収まる境界長方形の幅
[in] height 円が収まる境界長方形の高さ
[in] fill 塗り潰しフラグ
戻り値:
なし
(x, y)を左上、(x + width, y + height)を右下とする長方形にちょうど収まる円を描きます。
fillが0なら円の縁だけを描き、0以外なら内部を塗り潰します。
参照:
x_pset, x_set_color

void x_clear_keybuffer void   ) 
 

キー入力を消去します。

戻り値:
なし
キー入力はx_getcharで取得するまで、バッファに溜まっているため、 x_getcharで得た結果は、必ずしも最新のキー入力であるかどうかわからないことがあります。

そういうときに、この関数でバッファを空にしてください。

参照:
x_getchar

void x_copy ID  src,
int  src_x,
int  src_y,
int  width,
int  height,
ID  dest,
int  x,
int  y,
int  cmd
 

画像をコピーします。

引数:
[in] src コピー元の画像のID
[in] src_x コピー元のコピーを開始する左の座標
[in] src_y コピー元のコピーを開始する上の座標
[in] width コピーする幅
[in] height コピーする高さ
[in] dest コピー先の画像のID
[in] x コピー先のコピーを開始する左の座標
[in] y コピー先のコピーを開始する上の座標
[in] cmd コピーコマンド
戻り値:
なし
srcで指定された画像の(src_x, src_y)から(src_x + width, src_y + height)までを destで指定された画像の(x, y)から(x + width, y + height)までにcmdで指定したモードでコピーします。

  • cmd == FUNC_COPY 上書きモード(通常のコピー)
  • cmd == FUNC_AND 論理積モード
  • cmd == FUNC_OR 論理和モード
  • cmd == FUNC_XOR 排他的論理和モード

cursor_info x_get_cursor void   ) 
 

マウス情報を取得します。

戻り値:
マウス情報
cursor_infoに、現在のカ[ソル位置とボタン情報を返します。
cursor_info.state は現在押されているボタンについて
Button1Mask Button2Mask Button3Maskの論理和を返します。
cursor_infoについて詳しくはlibgraph.hを参照してください。

void x_get_keystate void   ) 
 

現在の入力キーを読み取ります。

戻り値:
なし
この関数を呼んだ瞬間の入力情報を保存します。
参照:
x_check_keystate

int x_getchar BOOL  nowait  ) 
 

キー入力を取得します。

引数:
[in] nowait キー待ちフラグ
戻り値:
入力されたキー
nowaitが0ならキー入力があるまで制御を戻しません。
0以外なら入力がなければすぐに戻り、0を返します。
参照:
x_clear_keybuffer

BOOL x_init SCHAR *  xtitle,
int  width,
int  height
 

ライブラリを初期化し、ウィンドウを作成します。

引数:
[in] title タイトル
[in] width ウィンドウの幅
[in] height ウィンドウの高さ
戻り値:
なし
ライブラリを初期化し、width x heightなウィンドウを表示します。
この関数は、最初に一回だけ呼んでください。 この関数を呼ぶまで他の関数は使用できません。

void x_line ID  dest,
int  x1,
int  y1,
int  x2,
int  y2
 

線を描きます。

引数:
[in] dest 線を描く画像
[in] x1 円が収まる境界長方形の左の座標
[in] y1 円が収まる境界長方形の上の座標
[in] width 円が収まる境界長方形の幅
[in] height 円が収まる境界長方形の高さ
戻り値:
なし
(x1, y1)から(x2, y2)までの線を描きます。
参照:
x_pset, x_rectangle, x_set_color

image_info x_load_image SCHAR *  bmp  ) 
 

画像ファイルを読み込みます。

引数:
[in] bmp 読み込む画像ファイル
戻り値:
読み込まれたイメージ情報
bmpで指定した画像ファイルを読み込みます。
Windows版ではビットマップファイル以外は読み込めません。
X-window版ではjpegも読み込めます。

int x_printf ID  dest,
int  x,
int  y,
XCHAR *  fmt,
  ...
 

フォーマット付き文字(列)を打ち出します。

引数:
[in] dest 打ち出す先の画像のID
[in] x 打ち出しを開始する左の座標
[in] y 打ち出しを開始する上の座標
[in] fmt フォーマット
[in] ... 一つ以上のフォーマットに沿った値
戻り値:
打ち出した文字の数
座標指定付きprintfです。
dest, x, yを除く、fmt以降の引数と戻り値は一般的なprintfと同じです。ただし、改行コードは使えません。
指定した座標を左上として整形後の文字列を打ち出します。
打ち出した文字がこの座標よりも左または上に、はみ出すことはありません。

参照:
x_putchar, x_puts, x_set_color

void x_pset ID  dest,
int  x,
int  y
 

点を打ちます。

引数:
[in] dest 点を描く画像
[in] x 点の水平座標
[in] y 点の垂直座標
戻り値:
なし
(x, y)に点を打ちます。
参照:
x_line, x_rectangle, x_circle, x_set_color

void x_putchar ID  dest,
int  x,
int  y,
XCHAR  c
 

文字を打ち出します。

引数:
[in] dest 打ち出す先の画像のID
[in] x 打ち出しを開始する左の座標
[in] y 打ち出しを開始する上の座標
[in] c 打ち出す文字
戻り値:
なし
座標指定付きputcharです。
指定した座標を左上として、1文字だけ文字を打ちます。
打ち出した文字がこの座標よりも左または上に、はみ出すことはありません。

参照:
x_puts, x_printf, x_set_color

void x_puts ID  dest,
int  x,
int  y,
XCHAR *  s
 

文字列を打ち出します。

引数:
[in] dest 打ち出す先の画像のID
[in] x 打ち出しを開始する左の座標
[in] y 打ち出しを開始する上の座標
[in] s 打ち出す文字列
戻り値:
なし
座標指定付きputsです。
指定した座標を左上として文字列を打ち出します。
打ち出した文字がこの座標よりも左または上に、はみ出すことはありません。

参照:
x_putchar, x_printf, x_set_color

void x_rectangle ID  dest,
int  x,
int  y,
int  width,
int  height,
BOOL  fill
 

長方形を描きます。

引数:
[in] dest 円を描く
[in] x 円が収まる境界長方形の左の座標
[in] y 円が収まる境界長方形の上の座標
[in] width 円が収まる境界長方形の幅
[in] height 円が収まる境界長方形の高さ
[in] fill 塗り潰しフラグ
戻り値:
なし
(x, y)を左上、(x + width, y + height)を右下とする長方形を描きます。
fillが0なら長方形の縁だけを描き、0以外なら内部を塗り潰します。
参照:
x_line, x_set_color

void x_set_color int  r,
int  g,
int  b
 

これから使用する色を設定します。

引数:
[in] r 赤色の強さ(0-255)
[in] g 緑色の強さ(0-255)
[in] b 青色の強さ(0-255)
戻り値:
なし
色はr,g,bで指定します。それぞれ0から255を指定してください。
ここで指定した色はコピー以外のすべての描画命令に影響を与えます。

void x_set_font_size int  size  ) 
 

文字の大きさを変更します。

引数:
[in] size 文字の大きさ
戻り値:
なし
文字の大きさをsizeに設定します。
ここでのsizeは、文字の高さをピクセルで表現したものになります。
参照:
x_get_font_size

void x_set_window_size int  width,
int  height
 

ウィンドウの大きさを変更します。

引数:
[in] width ウィンドウの幅
[in] height ウィンドウの高さ
戻り値:
なし
ウィンドウのサイズをwidthとheightに設定します。

void x_update  ) 
 

ウィンドウをアップデートします。

戻り値:
なし
ウィンドウの表示を最新のものにします。

ウィンドウに対する描画を行ったあとは、この関数を呼ぶようにしてください。
ウィンドウに対する描画命令は、画面そのものではなく専用のバッファに対して行われ、 画面の表示は変化しません。
この関数は現在のバッファの内容を画面に出力するようにします。


yokoguiに対してSat Sep 10 15:30:26 2005に生成されました。  doxygen 1.4.4