LibGGI mode description
Name
ggi_mode, ggi_coord, ggi_graphtype : LibGGI mode description
Synopsis
#include <ggi/ggi.h>
typedef struct { sint16 x, y; } ggi_coord;
typedef uint32 ggi_graphtype;
typedef struct {
sint32 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 capabilites
(double-buffering, triple-buffering...). See libggi frame-related
functions for information on working with multiple frames.
- visible
- The size of the visible area. This is what the user will see.
- virt
- The virtual size of the visual. 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
- TODO : Write something here.
- 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.