Man

Command Section
vga_imageblt(3)               Svgalib User Manual              vga_imageblt(3)

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 <[email protected]
       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 <[email protected]>.

       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_imageblt(3)
Command Section