---
name: "ggiPutc"
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/ggiPutc"
---

# ggiPutc(3)

Draw one or more characters on visual

## NAME

**ggiPutc**, **ggiPuts**, **ggiGetCharSize** - Draw one or more characters on visual

## SYNOPSIS

```
#include <ggi/ggi.h>
int ggiPutc(ggi_visual_t vis, int x, int y, char c);
int ggiPuts(ggi_visual_t vis, int x, int y, const char *str);
int ggiGetCharSize(ggi_visual_t vis, int *width, int *height);
```

## DESCRIPTION

LibGGI provides a few functions to do basic character output. They are for debugging and simple GUI applications. They are simple on purpose: there is only one fixed-width font and its size cannot be changed. Only the standard ASCII character set (0x20 to 0x7f) is supported, with no internationalization features.  All more complex character functions go beyond the scope of this base library.

**ggiPutc** puts a single character on a graphical visual.

**ggiPuts** puts multiple characters (from a C-style null-terminated string) at once. No special handling is applied to control characters like CR or LF. The associated glyph for control characters will be displayed. ggiPuts also only clips text at the clipping rectangle and does not wrap text.

**ggiGetCharSize** obtains the size of the character cell, in pixels. This function allows the application to correctly position the text output. Character size must always be checked and application should not assume that it will be constant across targets or even modes. Visuals must have a mode set before querying the character size. It means that if you want to use a visual size which depends on the character size, you might have to iterate over `ggiSetMode(3)` and **ggiGetCharSize** to get it right.

**Note:** The values returned by **ggiGetCharSize** is not the same as the values of **dpp** of the current mode, which is in dots.  In graphics modes are 1x1 dpp by definition and use at least 8x8-pixel fonts.  In text mode, the character cell is 1x1 pixels by definition and the **dpp** value is the actual size of the font.

## RETURN VALUE

**0** for success.
