ggi_mode(3)
NAME
ggi_mode, ggi_coord, ggi_graphtype - LibGGI mode description
SYNOPSIS
#include <ggi/ggi.h> typedef struct { int16_t x, y; } ggi_coord; typedef uint32_t ggi_graphtype; typedef struct { int32_t frames; ggi_coord visible; ggi_coord virt; ggi_coord size; ggi_graphtype graphtype; ggi_coord dpp; } ggi_mode;
DESCRIPTION
The mode structure describes a visual configuration given by its size
and other graphic properties.
STRUCTURE MEMBERS
- frames The number of frames. Some displays have multi-buffer capabili
- ties (double-buffering, triple-buffering,...). See libggi framerelated functions (ggi{s,g}et{Read,Write,Display}Frame) for information on working with multiple frames.
- visible
- The size of the visible area in pixels. This is what the user will see.
- virt The virtual size of the visual in pixels. It can be larger (but
- not smaller) than the visible area, in which case only a part of it is displayed. It is useful for scrolling or backing up portions of screen efficiently. See ggi[Set|Get]Origin functions for more.
- size The size of the visible area in mm.
- graphtype
- It holds information on the type of display. libggi defines macros to construct graphtypes values or access individual field.
- depth ( access via GT_DEPTH(gt), GT_SETDEPTH(gt,x) )
The number of significant bits holding color information.
- size ( access via GT_SIZE(gt), GT_SETSIZE(gt,x) )
The actual size (in bits) of a pixel. For instance, on a 32 bits X server the pixel size is 32 but the depth is only 24 (8bits RGB channels, 8 unused).
- scheme ( access via GT_SCHEME(gt), GT_SETSCHEME(gt,x) )
The following schemes are available :o GT_TEXT : text mode onlyo GT_TRUECOLOR : true color modeo GT_GREYSCALE : pixels represent level of grayo GT_PALETTE : pixels are entries in a CLUT (ColorLook-Up Table)o GT_STATIC_PALETTEo GT_SUBSAMPLE_YUVo GT_SUBSAMPLE_U_YCRBRo GT_SUBSAMPLE_S_YCRBRo GT_NIL
- subscheme ( access via GT_SUBSCHEME(gt), GT_SETSUBSCHEME(gt,x) )
One of:o GT_SUB_REVERSE_ENDIANo GT_SUB_HIGHBIT_RIGHTo GT_SUB_PACKED_GETPUT
- Graphtypes can be constructed directly or via the GT_CONSTRUCT(depth,scheme,size) macro. The following common graphtypes are defined :
- o GT_TEXT16
- o GT_TEXT32
- o GT_1BIT
- o GT_2BIT
- o GT_4BIT
- o GT_8BIT
- o GT_15BIT
- o GT_16BIT
- o GT_24BIT
- o GT_32BIT
- o GT_AUTO
- o GT_INVALID
- dpp It stands for dot-per-pixel.
- When filling a mode structure for setting a visual, any field can be assigned GGI_AUTO (GT_AUTO for graphtype) if a specific value isn't required.