Deleted Added
full compact
vgl.3 (52681) vgl.3 (53013)
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.\"
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 52681 1999-10-30 19:29:45Z mpp $
28.Dd October 28, 1999
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
29.Dt VGL 3
30.Os FreeBSD 3.0
31.Sh NAME
32.Nm VGLBitmapAllocateBits ,
32.Nm VGLBitmapCopy ,
33.Nm VGLBitmapCopy ,
34.Nm VGLBitmapCreate ,
35.Nm VGLBitmapDestroy ,
33.Nm VGLBitmapPutChar ,
34.Nm VGLBitmapString ,
35.Nm VGLBlankDisplay ,
36.Nm VGLBox ,
37.Nm VGLCheckSwitch ,
38.Nm VGLClear ,
39.Nm VGLEllipse ,
40.Nm VGLEnd ,
41.Nm VGLFilledBox ,
42.Nm VGLFilledEllipse ,
43.Nm VGLInit ,
44.Nm VGLLine ,
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 ,
45.Nm VGLMouseInit ,
46.Nm VGLMouseMode ,
47.Nm VGLMouseSetImage ,
48.Nm VGLMouseSetStdImage ,
49.Nm VGLMouseStatus ,
51.Nm VGLMouseInit ,
52.Nm VGLMouseMode ,
53.Nm VGLMouseSetImage ,
54.Nm VGLMouseSetStdImage ,
55.Nm VGLMouseStatus ,
56.Nm VGLPanScreen ,
50.Nm VGLSetBorder ,
51.Nm VGLSetPalette ,
52.Nm VGLSetPaletteIndex ,
57.Nm VGLSetBorder ,
58.Nm VGLSetPalette ,
59.Nm VGLSetPaletteIndex ,
60.Nm VGLSetVScreenSize ,
53.Nm VGLTextSetFontFile
54.Nd Video Graphics Library functions (libvgl)
55.Sh SYNOPSIS
56.Fd #include <vgl.h>
57.Ft int
58.Fn VGLInit "int mode"
59.Ft void
60.Fn VGLEnd "void"
61.Ft void
62.Fn VGLCheckSwitch "void"
63.Ft int
64.Fn VGLTextSetFontFile "char *filename"
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"
65.Ft int
66.Fn VGLMouseInit "int mode"
67.Ft void
68.Fn VGLMouseMode "int mode"
69.Ft int
70.Fn VGLMouseStatus "int *x" "int *y" "char *buttons"
71.Ft void
72.Fn VGLMouseSetImage "VGLBitmap *AndMask" "VGLBitmap *OrMask"

--- 4 unchanged lines hidden (view full) ---

77.Ft void
78.Fn VGLBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color"
79.Ft void
80.Fn VGLFilledBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color"
81.Ft void
82.Fn VGLEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" "byte color"
83.Ft void
84.Fn VGLFilledEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" "byte color"
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"
85.Ft int
86.Fn VGLBitmapCopy "VGLBitmap *src" "int srcx" "int srcy" "VGLBitmap *dst" "int dstx" "int dsty" "int width" "int hight"
87.Ft void
88.Fn VGLBitmapPutChar "VGLBitmap *Object" "int x" "int y" "byte ch" "byte fgcol" "byte bgcol" "int fill" "int dir"
89.Ft void
90.Fn VGLBitmapString "VGLBitmap *Object" "int x" "int y" "char *str" "byte fgcol" "byte bgcol" "int fill" "int dir"
91.Ft void
92.Fn VGLClear "VGLBitmap *object" "byte color"
93.Ft void
94.Fn VGLSetPalette "byte *red" "byte *green" "byte *blue"
95.Ft void
96.Fn VGLSetPaletteIndex "byte color" "byte red" "byte green" "byte blue"
97.Ft void
98.Fn VGLSetBorder "byte color"
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"
99.Ft void
100.Fn VGLBlankDisplay "int blank"
101.Sh DESCRIPTION
102.Nm Libvgl
103is a library that enables the programmer access to the graphics
104modes supported by the console driver (syscons). The library takes care of
105programming the actual video hardware, and provides a number of simple
106functions to do various graphic operations. There is also support for a

--- 24 unchanged lines hidden (view full) ---

131any graphics output, calling this function occasionally will allow
132the system to switch screens.
133.Pp
134.Fn VGLTextSetFontFile
135instruct the char/string functions to use the font in file
136.Em filename
137instead of the builtin font.
138.Pp
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
139.Fn VGLMouseInit
140initialize the mouse. The optional on-screen mouse pointer is shown if the
141argument is
142.Em VGL_MOUSESHOW .
143.Pp
144.Fn VGLMouseMode
145either shows the mouse pointer if the argument is
146.Em VGL_MOUSESHOW ,

--- 52 unchanged lines hidden (view full) ---

199.Em xc , yc
200make it
201.Em a
202pixels wide, and
203.Em b
204pixels high in color
205.Em color .
206.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
207.Fn VGLBitmapCopy
208copy a rectangle of pixels from bitmap
209.Em src
210upper left hand corner at
211.Em srcx , srcy
212to bitmap
213.Em dst
214at

--- 44 unchanged lines hidden (view full) ---

259set the palette index
260.Em color
261to the specified RGB value.
262.Pp
263.Fn VGLSetBorder
264set the border color to color
265.Em color .
266.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
267.Fn VGLBlankDisplay
268blank the display if the argment
269.Em blank
270!= 0. This can be done to shut off the screen during display updates that
271the user should first see when it's done.
272.Sh AUTHORS
273.An S�ren Schmidt Aq sos@FreeBSD.org
274.Sh HISTORY
275The
276.Nm vgl
277library appeared in
278.Fx 3.0 .
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 .