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.