1vga_imageblt(3)               Svgalib User Manual              vga_imageblt(3)
2
3
4

NAME

6       vga_imageblt  -  copy  a rectangular pixmap from system memory to video
7       memory
8

SYNOPSIS

10       #include <vga.h>
11
12       void vga_imageblt(void *srcaddr,  int  destaddr,  int  w,  int  h,  int
13       pitch);
14
15

DESCRIPTION

17       Write  a  rectangular  pixmap  from  system  memory  to  video  memory.
18       destaddr is an offset into video memory (up to 2M). The  pitch  is  the
19       logical  width  of  the  screen.  Height  h is in Pixels, Width w is in
20       BYTES!
21
22       It  fills the given box with the data in  memory  area  *srcaddr.   The
23       memory   buffer  must  contain the pixels in the same representation as
24       used in the vga memory, starting at the top left corner, from  left  to
25       right,  and  then, line by line, from up  to  down,  without  any  gaps
26       and  interline spaces.
27
28       This is an old style function to access  the  accelerator  of  an  SVGA
29       card.  Before calling it you should check for availability of the func‐
30       tion in the mode you use with vga_getmodeinfo(3).
31
32       For new applications you might be better of trying to use  vga_accel(3)
33       instead.
34
35       The  old vga_bitblt(3), vga_blitwait(3), vga_fillblt(3), vga_hlinelist‐
36       blt(3), and vga_imageblt(3) interface was originally designed  for  the
37       Cirrus  chipsets.  Then  Mach32  added  support too but has problems to
38       resemble the unintuitive Cirrus interface. Then these  new  ideas  were
39       reinjected  and vga_accel(3) was designed. Now Cirrus and Chips & Tech‐
40       nologies chipset give limited vga_accel(3) support but no  longer  this
41       old style support.  Mach32 is left to use the unintuitive Cirrus inter‐
42       face. At some future point the functions might be added for Mach32  too
43       (which  should  be  rather  simple), so new applications should use the
44       newer and probably more efficient interface.
45
46       It would be fatal if the accelerator would be used while the console is
47       switched  away.   You  should  use vga_lockvc(3) and vga_unlockvc(3) to
48       avoid this, although good implementations of the accelerator  functions
49       (like Mach32) will already ensure that.
50
51       The testaccel(6) demo utilizes the old style accelerator functions.
52
53

SEE ALSO

55       svgalib(7),  vgagl(7),  libvga.config(5),  testaccel(6),  vga_accel(3),
56       vga_bitblt(3),  vga_blitwait(3),  vga_fillblt(3),  vga_hlinelistblt(3),
57       vga_getmodeinfo(3), vga_lockvc(3), vga_unlockvc(3)
58
59

AUTHOR

61       This  manual  page  was  edited by Michael Weller <eowmob@exp-math.uni-
62       essen.de>. The exact source of the referenced function as  well  as  of
63       the original documentation is unknown.
64
65       It is very likely that both are at least to some extent are due to Harm
66       Hanemaayer <H.Hanemaayer@inter.nl.net>.
67
68       Occasionally this might be wrong. I hereby asked to be excused  by  the
69       original author and will happily accept any additions or corrections to
70       this first version of the svgalib manual.
71
72
73
74Svgalib (>= 1.2.11)              27 July 1997                  vga_imageblt(3)
Impressum