---
name: "vga_copytoplane"
section: "3vga"
platform: "linux"
package: "svgalibg1-dev"
version: "1:1.4.3-7"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/vga_copytoplane/3vga"
---

# vga\_copytoplane(3vga)

copy linear pixmap to some planes of VGA 16 color mode video memory

## NAME

vga\_copytoplane - copy linear pixmap to some planes of VGA 16 color mode video memory

## SYNOPSIS

**#include \<vga.h\>**

**void vga\_copytoplane(unsigned char \****virtual***, int** *pitch***, int** *voffset***, int**  *vpitch***, int** *w***, int** *h***, int** *plane***);**

## DESCRIPTION

Similar to [**vga\_copytoplanar16**(3)](/vga_copytoplanar16/3.md), but copies only a subset of the four 16-color mode planes (*plane* should be in the range 0 .. 15). The bits set in *plane* select which of the four 16-color mode planes to modify.

Assumes pixels stored in consecutive bytes ranging from 0 to 15 in the virtual screen.

Copies part of a linear virtual screen in system memory at *\*virtual* to VGA 16 mode video memory. *pitch* is the logical width of the virtual screen (in pixels (which are one byte large)), *voffset* is the address offset into video memory, *vpitch* is the logical scanline width of the screen. **(***w***,** *h***)** is the size of the area to copy in pixels (*width* must be multiple of 4).

## SEE ALSO

[**svgalib**(7)](/svgalib/7.md), [**vgagl**(7)](/vgagl/7.md), [**libvga.config**(5)](/libvga.config/5.md), [**vga\_accel**(3)](/vga_accel/3.md), [**vga\_copytoplanar16**(3)](/vga_copytoplanar16/3.md), [**vga\_copytoplanar256**(3)](/vga_copytoplanar256/3.md), [**vga\_drawscanline**(3)](/vga_drawscanline/3.md), [**vga\_drawscansegment**(3)](/vga_drawscansegment/3.md), [**vga\_getmodeinfo**(3)](/vga_getmodeinfo/3.md), [**vga\_setlogicalwidth**(3)](/vga_setlogicalwidth/3.md), [**vga\_imageblt**(3)](/vga_imageblt/3.md), [**vga\_setmodeX**(3)](/vga_setmodeX/3.md),

## 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.
