Other Alias
ggi_mode, ggi_coordSYNOPSIS
#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.