ggi_mode
Section: GGI (3)
Updated: 2006-12-30
Page Index
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.
SEE ALSO
ggiCheckMode(3),
ggiSetMode(3)