VGL(3) FreeBSD ライブラリ関数マニュアル VGL(3)
名称
vgl − ビデオグラフィックスライブラリ関数 |
書式
#include <vgl.h> |
解説
Libvgl は、コンソールドライバ (syscons) によりサポートされているグラ フィックスモードにプログラマがアクセスできるようにするライブラリです。こ のライブラリは実際のビデオハードウェアのプログラミングを行い、様々なグラ フィックス操作を行うためのいくつかの簡単な機能を提供します。また、 FreeBSD における標準マウスシステムによるマウス機能 ( moused() 参照 ) もサ ポートしており、これには現在作業中のグラフィックスイメージにマウスポイン タをトランスペアレントに重ねあわせる機能も含まれています。このライブラリ は、別の仮想コンソールに切り替える前に現在のイメージをメモリに保存し、 ユーザが切り替えを元に戻したときにそれを復元することによって画面切り替え を行います。これによって、複数のグラフィックスアプリケーションを異なる仮 想コンソールの上で同時に使うことができます。 様々な機能を、以下に簡単に説明します: |
作者
Sen Schmidt 〈sos@FreeBSD.org〉 |
関数
int VGLInit(int mode) ライブラリを初期化し、グラフィックモード mode を設定します。 void VGLEnd(void) グラフィックモードを終了し、 VGLInit() が呼び出される前にアクティブだった 画面モードを復元します。 void VGLCheckSwitch(void) グラフィックスの出力がないままにプログラムの処理時間が長くなった場合に、 この関数を呼び出すとシステムが画面を切り替えることができる場合がありま す。 int VGLTextSetFontFile(char *filename) char/string 関数に、組み込みフォントの代りにファイル filename に入ってい るフォントを使うように指示します。 int VGLMouseInit(int mode) マウスを初期化します。引数が VGL_MOUSESHOW である場合は、オプションの画面 上マウスポインタを表示します。 void VGLMouseMode(int mode) 引数が VGL_MOUSESHOW である場合はマウスポインタを表示し、引数が VGL_MOUSEHIDE である場合はマウスポインタを非表示にします。 int VGLMouseStatus(int *x, int *y, char *buttons) 現在のマウスポインタの座標およびボタン状態を x, y , buttons で返します。 戻り値は、マウスポインタが現在画面に表示されているかいないかを反映しま す。 void VGLMouseSetImage(VGLBitmap *AndMask, VGLBitmap *OrMask) この関数を使えば、画面上のマウスポインタのイメージを変えることができま す。 void VGLMouseSetStdImage(void) この関数は、マウスポインタを標準の矢印に戻します。 void VGLLine(VGLBitmap *object, int x1, int y1, int x2, int y2, byte color) 座標 x1, y1 から座標 x2, y2 へ色が color の直線を引きます。 void VGLBox(VGLBitmap *object, int x1, int y1, int x2, int y2, byte color) 左上隅の座標 x1, y1 、右下隅の座標 x2, y2 の四角形を色 color の線で描きま す。 void VGLFilledBox(VGLBitmap *object, int x1, int y1, int x2, int y2, byte color) 左上隅の座標 x1, y1 、右下隅の座標 x2, y2 の塗り潰し四角形を色 color で描 きます。 void VGLEllipse(VGLBitmap *object, int xc, int yc, int a, int b, byte color) 中心が xc, yc であり、幅 a ピクセル、高さ b ピクセルの楕円を色 color の線 で描きます。 void VGLFilledEllipse(VGLBitmap *object, int xc, int yc, int a, int b) "byte color" 中心が xc, yc であり、幅 a ピクセル、高さ b ピクセルの塗り潰し楕円を色 color で描きます。 int VGLBitmapCopy(VGLBitmap *src, int srcx, int srcy, VGLBitmap *dst, int) dstx" "int dsty" "int width" "int hight" サイズが width, height である長方形のピクセルを、ビットマップ src の左上 隅 ( srcx, srcy ) からビットマップ dst の座標 ( dstx, dsty ) へコピーしま す。 void VGLBitmapPutChar(VGLBitmap *Object, int x, int y, byte ch, byte fgcol, byte bgcol, int fill, int dir) キャラクタ ch を位置 x, y にフォアグラウンド色 fgcol で書き込みます。 fill が != 0 である場合はバックグラウンド色に色 bgcol を使い、それ以外の 場合はバックグラウンドは透明になります。キャラクタは引数 dir によって指定 される方向に描かれます。 void VGLBitmapString(VGLBitmap *Object, int x, int y, char *str, byte fgcol, byte bgcol, int fill, int dir) 文字列 str を位置 x, y に色 fgcol で書き込みます。 fill が != 0 である場 合はバックグラウンド色に色 bgcol を使い、それ以外の場合はバックグラウンド は透明になります。文字列は引数 dir によって指定される方向に描かれます。 void VGLClear(VGLBitmap *object, byte color) ビットマップの全体を色 color に塗り替えます。 void VGLSetPalette(byte *red, byte *green, byte *blue) この関数は使用するパレットを設定するもので、引数 red, greenm, blue はそれ ぞれ 256 位置のバイト配列を指すものでなければなりません。 void VGLSetPaletteIndex(byte color, byte red, byte green, byte blue) パレットインデックス color を、指定された RGB 値に設定します。 void VGLSetBorder(byte color) 境界色を色 color に設定します。 void VGLBlankDisplay(int blank) 引数 blank が != 0 である場合は、ディスプレーを空白表示にします。これは、 表示更新の間に画面を閉じて、処理が終ったときに初めてユーザが画面を見られ るようにするために使えます。 |
歴史
vgl ライブラリは FreeBSD 3.0 に現れました。 FreeBSD August 13, 1997 FreeBSD |