1vga_imageblt(3) Svgalib User Manual vga_imageblt(3)
2
3
4
6 vga_imageblt - copy a rectangular pixmap from system memory to video
7 memory
8
10 #include <vga.h>
11
12 void vga_imageblt(void *srcaddr, int destaddr, int w, int h, int
13 pitch);
14
15
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
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
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)