1.\" Copyright (c) 1997 S�ren Schmidt 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer, --- 10 unchanged lines hidden (view full) --- 19.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26.\" |
27.\" $FreeBSD: head/lib/libvgl/vgl.3 53013 1999-11-08 11:37:46Z yokota $ 28.Dd November 7, 1999 |
29.Dt VGL 3 30.Os FreeBSD 3.0 31.Sh NAME |
32.Nm VGLBitmapAllocateBits , |
33.Nm VGLBitmapCopy , |
34.Nm VGLBitmapCreate , 35.Nm VGLBitmapDestroy , |
36.Nm VGLBitmapPutChar , 37.Nm VGLBitmapString , 38.Nm VGLBlankDisplay , 39.Nm VGLBox , 40.Nm VGLCheckSwitch , 41.Nm VGLClear , 42.Nm VGLEllipse , 43.Nm VGLEnd , 44.Nm VGLFilledBox , 45.Nm VGLFilledEllipse , 46.Nm VGLInit , 47.Nm VGLLine , |
48.Nm VGLKeyboardInit , 49.Nm VGLKeyboardEnd , 50.Nm VGLKeyboardGetCh , |
51.Nm VGLMouseInit , 52.Nm VGLMouseMode , 53.Nm VGLMouseSetImage , 54.Nm VGLMouseSetStdImage , 55.Nm VGLMouseStatus , |
56.Nm VGLPanScreen , |
57.Nm VGLSetBorder , 58.Nm VGLSetPalette , 59.Nm VGLSetPaletteIndex , |
60.Nm VGLSetVScreenSize , |
61.Nm VGLTextSetFontFile 62.Nd Video Graphics Library functions (libvgl) 63.Sh SYNOPSIS 64.Fd #include <vgl.h> 65.Ft int 66.Fn VGLInit "int mode" 67.Ft void 68.Fn VGLEnd "void" 69.Ft void 70.Fn VGLCheckSwitch "void" 71.Ft int 72.Fn VGLTextSetFontFile "char *filename" |
73.Ft int 74.Fn VGLKeyboardInit "int code" 75.Ft void 76.Fn VGLKeyboardEnd "void" 77.Ft int 78.Fn VGLKeyboardGetCh "void" |
79.Ft int 80.Fn VGLMouseInit "int mode" 81.Ft void 82.Fn VGLMouseMode "int mode" 83.Ft int 84.Fn VGLMouseStatus "int *x" "int *y" "char *buttons" 85.Ft void 86.Fn VGLMouseSetImage "VGLBitmap *AndMask" "VGLBitmap *OrMask" --- 4 unchanged lines hidden (view full) --- 91.Ft void 92.Fn VGLBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" 93.Ft void 94.Fn VGLFilledBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" 95.Ft void 96.Fn VGLEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" "byte color" 97.Ft void 98.Fn VGLFilledEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" "byte color" |
99.Ft VGLBitmap * 100.Fn VGLBitmapCreate "int type" "int xsize" "int ysize" "byte *bits" 101.Ft void 102.Fn VGLBitmapDestroy "VGLBitmap *object" 103.Ft int 104.Fn VGLBitmapAllocateBits "VGLBitmap *object" |
105.Ft int 106.Fn VGLBitmapCopy "VGLBitmap *src" "int srcx" "int srcy" "VGLBitmap *dst" "int dstx" "int dsty" "int width" "int hight" 107.Ft void 108.Fn VGLBitmapPutChar "VGLBitmap *Object" "int x" "int y" "byte ch" "byte fgcol" "byte bgcol" "int fill" "int dir" 109.Ft void 110.Fn VGLBitmapString "VGLBitmap *Object" "int x" "int y" "char *str" "byte fgcol" "byte bgcol" "int fill" "int dir" 111.Ft void 112.Fn VGLClear "VGLBitmap *object" "byte color" 113.Ft void 114.Fn VGLSetPalette "byte *red" "byte *green" "byte *blue" 115.Ft void 116.Fn VGLSetPaletteIndex "byte color" "byte red" "byte green" "byte blue" 117.Ft void 118.Fn VGLSetBorder "byte color" |
119.Ft int 120.Fn VGLSetVScreenSize "VGLBitmap *object" "int vxsize" "int vysize" 121.Ft int 122.Fn VGLPanSreen "VGLBitmap *object" "int x" "int y" |
123.Ft void 124.Fn VGLBlankDisplay "int blank" 125.Sh DESCRIPTION 126.Nm Libvgl 127is a library that enables the programmer access to the graphics 128modes supported by the console driver (syscons). The library takes care of 129programming the actual video hardware, and provides a number of simple 130functions to do various graphic operations. There is also support for a --- 24 unchanged lines hidden (view full) --- 155any graphics output, calling this function occasionally will allow 156the system to switch screens. 157.Pp 158.Fn VGLTextSetFontFile 159instruct the char/string functions to use the font in file 160.Em filename 161instead of the builtin font. 162.Pp |
163.Fn VGLKeyboardInit 164set up the keyboard in the ``raw'' I/O mode and 165specify the key code to be used. 166.Em code 167must be 168.Em VGL_XLATEKEYS , 169.Em VGL_CODEKEYS , 170or 171.Em VGL_RAWKEYS . 172When 173.Em VGL_XLATEKEYS 174is specified, the keyboard translate the raw keyboard scan code into 175a character code. 176If 177.Em VGL_RAWKEYS 178is used, the raw keyboard scan code is read as is. 179.Em VGL_CODEKEYS 180is the intermediate key code; each key is assigned a unique code whereas 181more than one raw scan code may be generated when a key is pressed. 182.Pp 183.Fn VGLKeyboardEnd 184when you have finished using the keyboard, call this function. 185.Pp 186.Fn VGLKeyboardGetCh 187read one byte from the keyboard. As the keyboard I/O is in the ``raw'' 188input mode, the function will not block even if there is no input data, 189and returns 0. 190.Pp |
191.Fn VGLMouseInit 192initialize the mouse. The optional on-screen mouse pointer is shown if the 193argument is 194.Em VGL_MOUSESHOW . 195.Pp 196.Fn VGLMouseMode 197either shows the mouse pointer if the argument is 198.Em VGL_MOUSESHOW , --- 52 unchanged lines hidden (view full) --- 251.Em xc , yc 252make it 253.Em a 254pixels wide, and 255.Em b 256pixels high in color 257.Em color . 258.Pp |
259.Fn VGLBitmapCreate 260create a bitmap object and initialize it with the specified 261values and bit data. 262.Em type 263must be 264.Em MEMBUF 265for the in-memory bitmap. 266.Em bits 267may be NULL so that bitmap data may be associated later. 268.Pp 269There also is a macro, 270.Fn VGLBITMAP_INITIALIZER "type" "xsize" "ysize" "bits" 271to initialize a statically declared bitmap object. 272.Pp 273.Fn VGLBitmapDestroy 274free the bitmap data and the bitmap object. 275.Pp 276.Fn VGLBitmapAllocateBits 277allocate a bit data buffer for the specified object. 278.Pp |
279.Fn VGLBitmapCopy 280copy a rectangle of pixels from bitmap 281.Em src 282upper left hand corner at 283.Em srcx , srcy 284to bitmap 285.Em dst 286at --- 44 unchanged lines hidden (view full) --- 331set the palette index 332.Em color 333to the specified RGB value. 334.Pp 335.Fn VGLSetBorder 336set the border color to color 337.Em color . 338.Pp |
339.Fn VGLSetVScreenSize 340change the virtual screen size of the display. Note that this 341function must be called when our vty is in the foreground. 342And 343.Em object 344must be 345.Em VGLDisplay . 346Passing a in-memory bitmap to this function results in error. 347.Pp 348The desired virtual screen width may not be achievable because 349of the video card hardware. In such case the video driver (and 350underlaying video BIOS) may choose the next largest values. 351Always examine 352.Em object->VXsize 353and 354.Em VYsize 355after calling this function, in order to see how the virtual screen 356is actually set up. 357.Pp 358In order to set up the largest possible virtual screen, you may 359call this function with arbitrary large values. 360.Pp 361.Dl VGLSetVScreenSize(10000, 10000); 362.Pp 363.Fn VGLPanSreen 364change the origin of the displayed screen in the virtual screen. 365Note that this function must be called when our vty is in the 366foreground. 367.Em object 368must be 369.Em VGLDisplay . 370Passing a in-memory bitmap to this function results in error. 371.Pp |
372.Fn VGLBlankDisplay 373blank the display if the argment 374.Em blank 375!= 0. This can be done to shut off the screen during display updates that 376the user should first see when it's done. 377.Sh AUTHORS 378.An S�ren Schmidt Aq sos@FreeBSD.org 379.Sh HISTORY 380The 381.Nm vgl 382library appeared in 383.Fx 3.0 . |