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 capabilities (double-buffering, triple-buffering,...). See libggi frame-related 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 :
- •
-
GT_TEXT : text mode only
- •
-
GT_TRUECOLOR : true color mode
- •
-
GT_GREYSCALE : pixels represent level of gray
- •
-
GT_PALETTE : pixels are entries in a CLUT (Color Look-Up Table)
- •
-
GT_STATIC_PALETTE
- •
-
GT_SUBSAMPLE_YUV
- •
-
GT_SUBSAMPLE_U_YCRBR
- •
-
GT_SUBSAMPLE_S_YCRBR
- •
-
GT_NIL
- subscheme ( access via GT_SUBSCHEME(gt), GT_SETSUBSCHEME(gt,x) )
-
One of:
- •
-
GT_SUB_REVERSE_ENDIAN
- •
-
GT_SUB_HIGHBIT_RIGHT
- •
-
GT_SUB_PACKED_GETPUT
Graphtypes can be constructed directly or via the GT_CONSTRUCT(depth,scheme,size) macro. The following common graphtypes are defined :
- •
-
GT_TEXT16
- •
-
GT_TEXT32
- •
-
GT_1BIT
- •
-
GT_2BIT
- •
-
GT_4BIT
- •
-
GT_8BIT
- •
-
GT_15BIT
- •
-
GT_16BIT
- •
-
GT_24BIT
- •
-
GT_32BIT
- •
-
GT_AUTO
- •
-
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.