vga_ext_set man page on aLinux

Man page or keyword search:  
man Server   7435 pages
apropos Keyword Search (all sections)
Output format
aLinux logo
[printable version]

vga_ext_set(3)		      Svgalib User Manual		vga_ext_set(3)

NAME
       vga_ext_set - set and query several extended features

SYNOPSIS
       #include <vga.h>

       int vga_ext_set(unsigned what, ...);

DESCRIPTION
       sets and several extended features. Before trying to call vga_ext_set()
       you should check if it is available in vga_getmodeinfo(3) for  compati‐
       bility with old svgalib versions. In addition, the availability of cer‐
       tain features will depend on the current graphics mode.

       However, the VGA_EXT_PAGE_OFFSET	 and  VGA_EXT_FONT_SIZE	 features  are
       features of the base module of svgalib and are always available if your
       version of svgalib supports them. Actually the result  of  vga_getmode‐
       info(3)	shows the availability of enhancements of vga_ext_set() in the
       given SVGA graphics mode. Hence, these base features may	 be  supported
       even  if	 svgalib does not admit it. Since version 1.2.13 you can check
       vga_getmodeinfo(TEXT) to see if basic  vga_ext_set()  functionality  is
       available. The VGA_EXT_PAGE_OFFSET and VGA_EXT_FONT_SIZE calls are then
       available in any mode even if vga_getmodeinfo(3) states that you should
       not call vga_ext_set() at all.

       As of now, the following calls are defined:

   Query availability of features
       vga_ext_set(VGA_EXT_AVAILABLE, VGA_AVAIL_SET)
	      returns an int with the i-th bit set if i is a valid what param‐
	      eter for vga_ext_set().

       vga_ext_set(VGA_EXT_AVAILABLE, VGA_AVAIL_ACCEL)
	      returns an integer with the i-th bit set if i is	a  valid  what
	      parameter for vga_accel(3).  For nicer code, the following inte‐
	      gers are predefined to have a bit set in the right position:

	      ACCELFLAG_FILLBOX,   ACCELFLAG_SCREENCOPY,   ACCELFLAG_PUTIMAGE,
	      ACCELFLAG_DRAWLINE,  ACCELFLAG_SETFGCOLOR, ACCELFLAG_SETBGCOLOR,
	      ACCELFLAG_SETTRANSPARENCY, ACCELFLAG_SETRASTEROP, ACCELFLAG_PUT‐
	      BITMAP,	ACCELFLAG_SCREENCOPYBITMAP,   ACCELFLAG_DRAWHLINELIST,
	      ACCELFLAG_SETMODE, and ACCELFLAG_SYNC.

       vga_ext_set(VGA_EXT_AVAILABLE, VGA_AVAIL_ROP)
	      returns an integer as VGA_AVAIL_ACCEL does, but this time	 list‐
	      ing     the     vga_accel(3)    operations    which    obey    a
	      vga_accel(ACCEL_SETRASTEROP, ...)	 setting.

       vga_ext_set(VGA_EXT_AVAILABLE, VGA_AVAIL_TRANSPARENCY)
	      returns an integer as VGA_AVAIL_ACCEL does, but this time	 list‐
	      ing     the     vga_accel(3)    operations    which    obey    a
	      vga_accel(ACCEL_SETTRANSPARENCY, ...)  setting.

       vga_ext_set(VGA_EXT_AVAILABLE, VGA_AVAIL_ROPMODES)
	      returns an integer with the i-th bit set if i is	a  valid  mode
	      parameter	 for  a	 vga_accel(ACCEL_SETRASTEROP,  mode) call. For
	      example:

	      if (vga_ext_set(VGA_EXT_AVAILABLE, VGA_AVAIL_ROPMODES) &	(1  <<
	      ROP_XOR))
		   vga_accel(ACCEL_SETRASTEROP, ROP_XOR);
	      else
		   /* do something else */

       vga_ext_set(VGA_EXT_AVAILABLE, VGA_AVAIL_TRANSMODES)
	      returns  an  integer  with the i-th bit set if i is a valid mode
	      parameter	 for  a	 vga_accel(ACCEL_SETTRANSPARENCY,  mode,  ...)
	      call.  The  function  lists  only the supported enable functions
	      (currently  ENABLE_TRANSPARENCY_COLOR  and  ENABLE_BITMAP_TRANS‐
	      PARENCY).	  It  is  assumed  the corresponding disable functions
	      will then exist as well.

       vga_ext_set(VGA_EXT_AVAILABLE, VGA_AVAIL_FLAGS)
	      returns an int with one bit on/off flags. Bits that are set  are
	      supported	 refer to special features which can be enabled in the
	      current mode.

   Operations with one bit flags
       A certain mode might have a special feature which can be turned	on  or
       off by the applications. These functions allow to handle such features.

       You can always set flags, and their settings are remembered if not sup‐
       ported in the current mode. This is to avoid  problems  when  switching
       VC's.

       vga_ext_set(VGA_EXT_SET, int bitflags)
	      set  all	flags that are set in bitflags, do not touch any other
	      flags. Returns previous setting of all flags.

       vga_ext_set(VGA_EXT_CLEAR, int bitflags)
	      clear all flags that are set in bitflags, do not touch any other
	      flags. Returns previous setting of all flags.

       vga_ext_set(VGA_EXT_RESET, int bitflags)
	      set  all	flags  to the corresponding bits of bitflags.  Returns
	      previous setting of all flags.

   One bit flags for special features
       As of now, we only support

       VGA_CLUT8
	      which is set  by	calling	 vga_ext_set(VGA_EXT_SET,  VGA_CLUT8).
	      This  makes  the	color lookup table for 16 and 256 color lookup
	      table modes work with 8 bit per red, green, blue part instead of
	      the ordinary 6 bits.

	      As  of  now  this feature is only availabl for Mach32 cards with
	      type 2 DAC's.  8 bit per red, green, blue wide in all (even VGA)
	      256  color modes. This mean, however, that all calls to vga_set‐
	      palette(3) and vga_setpalvec(3) need to be  adjuste  accordingly
	      as  well	as  that  the  interpretation  of the return values of
	      vga_getpalette(3) and vga_getpalvec(3) changes.

	      The testaccel(6) demos makes use of this to show	a  smooth  256
	      blue shades scale.

   Miscanellous features
       vga_ext_set(VGA_EXT_PAGE_OFFSET, int offset)
	      for  all	following vga_set*page(n) calls (even those implicitly
	      done by svgalib drawing functions) do vga_set*page(n  +  offset)
	      instead.	 This  is  very nice for drawing in an offscreen area.
	      However, it requires the mode being able to use  more  than  one
	      page  at	all as well as not having called vga_setlinearaddress‐
	      ing(3).

	      A better approach would be to just use higher y values  for  all
	      draw  operations	to  have them end up in offscreen regions that
	      may be displayed later (cf.  vga_setdisplaystart(3)).

	      The previously set value for VGA_EXT_PAGE_OFFSET (which defaults
	      to 0 at startup) is returned.

       vga_ext_set(VGA_EXT_FONT_SIZE, int size)
	      sets  the	 size  of  the	buffer which the application passes to
	      vga_gettextfont(3)  and  vga_puttextfont(3).   Old  versions  of
	      svgalib  used  a	fixed size of 8192 which is still the default.
	      Newer versions of svgalib use a larger size internally to	 prop‐
	      erly support the extended font capabilities of newer kernels.

	      Calling  vga_ext_set(VGA_EXT_FONT_SIZE,  0)  returns the size of
	      the internal buffers of svgalib. It is recommended to  use  this
	      (or a larger size) for any font (re)storing application. If this
	      differs from the size of the applications buffers	 set  vga_get‐
	      textfont(3)  and	vga_puttextfont(3)  truncate  and zero-pad all
	      buffers accordingly.

	      Otherwise the previously set buffer size is returned.

SEE ALSO
       svgalib(7),   vgagl(7),	 libvga.config(5),   accel(6),	 testaccel(6),
       vga_setpalette(3),    vga_setpalvec(3),	 vga_getpalette(3),   vga_get‐
       palvec(3), vga_setlinearaddressing(3), vga_setdisplaystart(3), vga_set‐
       page(3),	 vga_setreadpage(3),  vga_setwritepage(3), vga_gettextfont(3),
       vga_puttextfont(3).

AUTHOR
       This manual page was edited  by	Michael	 Weller	 <eowmob@exp-math.uni-
       essen.de>.  The	exact  source of the referenced function as well as of
       the original documentation is unknown.

       It is very likely that both are at least to some extent are due to Harm
       Hanemaayer <H.Hanemaayer@inter.nl.net>.

       Occasionally  this  might be wrong. I hereby asked to be excused by the
       original author and will happily accept any additions or corrections to
       this first version of the svgalib manual.

Svgalib (>= 1.2.11)		 27 July 1997			vga_ext_set(3)
[top]

List of man pages available for aLinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net