d1534953b1
Do not begin a line with single quote character. Submitted by: Kazuo Horikawa <k-horik@yk.rim.or.jp>
300 lines
6.6 KiB
Groff
300 lines
6.6 KiB
Groff
.\" Copyright (c) 1997 Sen Schmidt
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer,
|
|
.\" in this position and unchanged.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. The name of the author may not be used to endorse or promote products
|
|
.\" derived from this software withough specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\" %Id: vgl.3,v 1.4 1998/03/19 07:34:22 charnier Exp %
|
|
|
|
.Dd August 13, 1997
|
|
.Dt VGL 3
|
|
.Os FreeBSD 3
|
|
.Sh 名称
|
|
.Nm vgl
|
|
.Nd ビデオグラフィックスライブラリ関数
|
|
.Sh 書式
|
|
.Fd #include <vgl.h>
|
|
|
|
.Sh 解説
|
|
Libvgl は、コンソールドライバ (syscons) によりサポートされている
|
|
グラフィックスモードにプログラマがアクセスできるようにするライブラリです。
|
|
このライブラリは実際のビデオハードウェアのプログラミングを行い、様々な
|
|
グラフィックス操作を行うためのいくつかの簡単な機能を提供します。また、
|
|
FreeBSD
|
|
における標準マウスシステムによるマウス機能 (
|
|
.Fn moused
|
|
参照 ) も
|
|
サポートしており、これには現在作業中のグラフィックスイメージに
|
|
マウスポインタをトランスペアレントに重ねあわせる機能も含まれています。この
|
|
ライブラリは、別の仮想コンソールに切り替える前に現在のイメージをメモリに
|
|
保存し、ユーザが切り替えを元に戻したときにそれを復元することによって
|
|
画面切り替えを行います。これによって、複数のグラフィックスアプリケーション
|
|
を異なる仮想コンソールの上で同時に使うことができます。
|
|
|
|
様々な機能を、以下に簡単に説明します:
|
|
|
|
.Sh 作者
|
|
.An Sen Schmidt Aq sos@FreeBSD.org
|
|
|
|
.Sh 関数
|
|
.Ft int
|
|
.Fn VGLInit "int mode"
|
|
|
|
ライブラリを初期化し、グラフィックモード
|
|
.Em mode
|
|
を設定します。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLEnd "void"
|
|
|
|
グラフィックモードを終了し、
|
|
.Fn VGLInit
|
|
が呼び出される前にアクティブだった画面モードを復元します。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLCheckSwitch "void"
|
|
|
|
グラフィックスの出力がないままにプログラムの処理時間が長くなった
|
|
場合に、この関数を呼び出すとシステムが画面を切り替えることができる
|
|
場合があります。
|
|
|
|
|
|
.Ft int
|
|
.Fn VGLTextSetFontFile "char *filename"
|
|
|
|
char/string 関数に、組み込みフォントの代りにファイル
|
|
.Em filename
|
|
に入っているフォントを使うように指示します。
|
|
|
|
|
|
.Ft int
|
|
.Fn VGLMouseInit "int mode"
|
|
|
|
マウスを初期化します。引数が
|
|
.Em VGL_MOUSESHOW
|
|
である場合は、オプションの画面上マウスポインタを表示します。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLMouseMode "int mode"
|
|
|
|
引数が
|
|
.Em VGL_MOUSESHOW
|
|
である場合はマウスポインタを表示し、引数が
|
|
.Em VGL_MOUSEHIDE
|
|
である場合はマウスポインタを非表示にします。
|
|
|
|
|
|
.Ft int
|
|
.Fn VGLMouseStatus "int *x" "int *y" "char *buttons"
|
|
|
|
現在のマウスポインタの座標およびボタン状態を
|
|
.Em x, y
|
|
, buttons
|
|
で返します。戻り値は、マウスポインタが現在画面に表示されているかいないかを
|
|
反映します。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLMouseSetImage "VGLBitmap *AndMask" "VGLBitmap *OrMask"
|
|
|
|
この関数を使えば、画面上のマウスポインタのイメージを変えることができます。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLMouseSetStdImage "void"
|
|
|
|
この関数は、マウスポインタを標準の矢印に戻します。
|
|
|
|
.Ft void
|
|
.Fn VGLLine "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color"
|
|
|
|
座標
|
|
.Em x1, y1
|
|
から座標
|
|
.Em x2, y2
|
|
へ色が
|
|
.Em color
|
|
の直線を引きます。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color"
|
|
|
|
|
|
左上隅の座標
|
|
.Em x1, y1
|
|
、右下隅の座標
|
|
.Em x2, y2
|
|
の四角形を色
|
|
.Em color
|
|
の線で描きます。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLFilledBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color"
|
|
|
|
|
|
左上隅の座標
|
|
.Em x1, y1
|
|
、右下隅の座標
|
|
.Em x2, y2
|
|
の塗り潰し四角形を色
|
|
.Em color
|
|
で描きます。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" "byte color"
|
|
|
|
中心が
|
|
.Em xc, yc
|
|
であり、幅
|
|
.Em a
|
|
ピクセル、高さ
|
|
.Em b
|
|
ピクセルの楕円を色
|
|
.Em color
|
|
の線で描きます。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLFilledEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b"
|
|
"byte color"
|
|
|
|
中心が
|
|
.Em xc, yc
|
|
であり、幅
|
|
.Em a
|
|
ピクセル、高さ
|
|
.Em b
|
|
ピクセルの塗り潰し楕円を色
|
|
.Em color
|
|
で描きます。
|
|
|
|
|
|
.Ft int
|
|
.Fn VGLBitmapCopy "VGLBitmap *src" "int srcx" "int srcy" "VGLBitmap *dst" "int
|
|
dstx" "int dsty" "int width" "int hight"
|
|
|
|
サイズが
|
|
.Em width, height
|
|
である長方形のピクセルを、ビットマップ
|
|
.Em src
|
|
の左上隅 (
|
|
.Em srcx, srcy
|
|
) からビットマップ
|
|
.Em dst
|
|
の座標 (
|
|
.Em dstx, dsty
|
|
) へコピーします。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLBitmapPutChar "VGLBitmap *Object" "int x" "int y" "byte ch" "byte fgcol" "byte bgcol" "int fill" "int dir"
|
|
|
|
キャラクタ
|
|
.Em ch
|
|
を位置
|
|
.Em x, y
|
|
にフォアグラウンド色
|
|
.Em fgcol
|
|
で書き込みます。
|
|
.Em fill
|
|
が != 0 である場合はバックグラウンド色に色
|
|
.Em bgcol
|
|
を使い、それ以外の場合はバックグラウンドは透明になります。キャラクタは引数
|
|
.Em dir
|
|
によって指定される方向に描かれます。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLBitmapString "VGLBitmap *Object" "int x" "int y" "char *str" "byte fgcol" "byte bgcol" "int fill" "int dir"
|
|
|
|
文字列
|
|
.Em str
|
|
を位置
|
|
.Em x, y
|
|
に色
|
|
.Em fgcol
|
|
で書き込みます。
|
|
.Em fill
|
|
が != 0 である場合はバックグラウンド色に色
|
|
.Em bgcol
|
|
を使い、それ以外の場合はバックグラウンド
|
|
は透明になります。文字列は引数
|
|
.Em dir
|
|
によって指定される方向に描かれます。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLClear "VGLBitmap *object" "byte color"
|
|
|
|
ビットマップの全体を色
|
|
.Em color
|
|
に塗り替えます。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLSetPalette "byte *red" "byte *green" "byte *blue"
|
|
|
|
この関数は使用するパレットを設定するもので、引数
|
|
.Em red, greenm, blue
|
|
はそれぞれ 256 位置のバイト配列を指すものでなければなりません。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLSetPaletteIndex "byte color" "byte red" "byte green" "byte blue"
|
|
|
|
|
|
パレットインデックス
|
|
.Em color
|
|
を、指定された RGB 値に設定します。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLSetBorder "byte color"
|
|
|
|
|
|
境界色を色
|
|
.Em color
|
|
に設定します。
|
|
|
|
|
|
.Ft void
|
|
.Fn VGLBlankDisplay "int blank"
|
|
|
|
引数
|
|
.Em blank
|
|
が != 0 である場合は、ディスプレーを空白表示にします。
|
|
これは、表示更新の間に画面を閉じて、処理が終ったときに初めてユーザが画面を
|
|
見られるようにするために使えます。
|
|
|
|
|
|
.Sh 歴史
|
|
.Nm
|
|
ライブラリは
|
|
.Fx 3.0
|
|
に現れました。
|