---
name: "ggiDrawBox"
section: "3"
platform: "linux"
package: "libggi2-dev"
version: "1:2.2.2-5"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/ggiDrawBox"
---

# ggiDrawBox(3)

Draw, put, and get a rectangle from a visual

## NAME

**ggiDrawBox**, **ggiPutBox**, **ggiGetBox** - Draw, put, and get a rectangle from a visual

## SYNOPSIS

```
#include <ggi/ggi.h>
int ggiDrawBox(ggi_visual_t vis, int x, int y, int w, int h);
int ggiPutBox(ggi_visual_t vis, int x, int y, int w, int h, const void *buf);
int ggiGetBox(ggi_visual_t vis, int x, int y, int w, int h, void *buf);
```

## DESCRIPTION

Draw, put, or get a rectangle at (*x*, *y*), extending *w* pixels in the positive x direction and *h* pixels in the positive y direction.

The *buf* parameter in Get/Put functions points to a buffer from which the pixels will be read, or to which they will be written (it must be correctly allocated), respectively. See `ggiPackColors(3)` and `ggiUnmapPixel(3)` functions for details on how to deal with pixels.

## RETURN VALUE

All three functions return **0** to indicate success.

## SEE ALSO

`ggiDrawHLine(3)`, `ggiDrawLine(3)`, `ggiDrawVLine(3)`, `ggiMapColor(3)`, `ggi_pixelformat(3)`
