Man Linux: Main Page and Category List

NAME

       vga_imageblt  -  copy  a rectangular pixmap from system memory to video
       memory

SYNOPSIS

       #include <vga.h>

       void vga_imageblt(void *srcaddr,  int  destaddr,  int  w,  int  h,  int
       pitch);

DESCRIPTION

       Write  a  rectangular  pixmap  from  system  memory  to  video  memory.
       destaddr is an offset into video memory (up to 2M). The  pitch  is  the
       logical  width  of  the  screen.  Height  h is in Pixels, Width w is in
       BYTES!

       It  fills the given box with the data in  memory  area  *srcaddr.   The
       memory   buffer  must  contain the pixels in the same representation as
       used in the vga memory, starting at the top left corner, from  left  to
       right,  and  then, line by line, from up  to  down,  without  any  gaps
       and  interline spaces.

       This is an old style function to access  the  accelerator  of  an  SVGA
       card.  Before  calling  it  you  should  check  for availability of the
       function in the mode you use with vga_getmodeinfo(3).

       For new applications you might be better of trying to use  vga_accel(3)
       instead.

       The     old     vga_bitblt(3),     vga_blitwait(3),     vga_fillblt(3),
       vga_hlinelistblt(3),  and  vga_imageblt(3)  interface  was   originally
       designed for the Cirrus chipsets. Then Mach32 added support too but has
       problems to resemble the unintuitive Cirrus interface. Then  these  new
       ideas  were  reinjected  and  vga_accel(3) was designed. Now Cirrus and
       Chips & Technologies chipset give limited vga_accel(3) support  but  no
       longer  this  old style support.  Mach32 is left to use the unintuitive
       Cirrus interface. At some future point the functions might be added for
       Mach32  too (which should be rather simple), so new applications should
       use the newer and probably more efficient interface.

       It would be fatal if the accelerator would be used while the console is
       switched  away.   You  should  use vga_lockvc(3) and vga_unlockvc(3) to
       avoid this, although good implementations of the accelerator  functions
       (like Mach32) will already ensure that.

       The testaccel(6) demo utilizes the old style accelerator functions.

SEE ALSO

       svgalib(7),  vgagl(7),  libvga.config(5),  testaccel(6),  vga_accel(3),
       vga_bitblt(3),  vga_blitwait(3),  vga_fillblt(3),  vga_hlinelistblt(3),
       vga_getmodeinfo(3), vga_lockvc(3), vga_unlockvc(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.