Reference Manual - 1.4.14
DirectFB Reference   Type Definitions

DFBResult

Return code of all interface methods and most functions

  DFB_OK   DR_OK   No error occured.
  DFB_FAILURE   DR_FAILURE   A general or unknown error occured.
  DFB_INIT   DR_INIT   A general initialization error occured.
  DFB_BUG   DR_BUG   Internal bug or inconsistency has been detected.
  DFB_DEAD   DR_DEAD   Interface has a zero reference counter (available in debug mode).
  DFB_UNSUPPORTED   DR_UNSUPPORTED   The requested operation or an argument is (currently) not supported.
  DFB_UNIMPLEMENTED   DR_UNIMPLEMENTED   The requested operation is not implemented, yet.
  DFB_ACCESSDENIED   DR_ACCESSDENIED   Access to the resource is denied.
  DFB_INVAREA   DR_INVAREA   An invalid area has been specified or detected.
  DFB_INVARG   DR_INVARG   An invalid argument has been specified.
  DFB_NOSYSTEMMEMORY   DR_NOLOCALMEMORY   There's not enough system memory.
  DFB_NOSHAREDMEMORY   DR_NOSHAREDMEMORY   There's not enough shared memory.
  DFB_LOCKED   DR_LOCKED   The resource is (already) locked.
  DFB_BUFFEREMPTY   DR_BUFFEREMPTY   The buffer is empty.
  DFB_FILENOTFOUND   DR_FILENOTFOUND   The specified file has not been found.
  DFB_IO   DR_IO   A general I/O error occured.
  DFB_BUSY   DR_BUSY   The resource or device is busy.
  DFB_NOIMPL   DR_NOIMPL   No implementation for this interface or content type has been found.
  DFB_TIMEOUT   DR_TIMEOUT   The operation timed out.
  DFB_THIZNULL   DR_THIZNULL   'thiz' pointer is NULL.
  DFB_IDNOTFOUND   DR_IDNOTFOUND   No resource has been found by the specified id.
  DFB_DESTROYED   DR_DESTROYED   The underlying object (e.g. a window or surface) has been destroyed.
  DFB_FUSION   DR_FUSION   Internal fusion error detected, most likely related to IPC resources.
  DFB_BUFFERTOOLARGE   DR_BUFFERTOOLARGE   Buffer is too large.
  DFB_INTERRUPTED   DR_INTERRUPTED   The operation has been interrupted.
  DFB_NOCONTEXT   DR_NOCONTEXT   No context available.
  DFB_TEMPUNAVAIL   DR_TEMPUNAVAIL   Temporarily unavailable.
  DFB_LIMITEXCEEDED   DR_LIMITEXCEEDED   Attempted to exceed limit, i.e. any kind of maximum size, count etc.
  DFB_NOSUCHMETHOD   DR_NOSUCHMETHOD   Requested method is not known, e.g. to remote site.
  DFB_NOSUCHINSTANCE   DR_NOSUCHINSTANCE   Requested instance is not known, e.g. to remote site.
  DFB_ITEMNOTFOUND   DR_ITEMNOTFOUND   No such item found.
  DFB_VERSIONMISMATCH   DR_VERSIONMISMATCH   Some versions didn't match.
  DFB_EOF   DR_EOF   Reached end of file.
  DFB_SUSPENDED   DR_SUSPENDED   The requested object is suspended.
  DFB_INCOMPLETE   DR_INCOMPLETE   The operation has been executed, but not completely.
  DFB_NOCORE   DR_NOCORE   Core part not available.
  DFB_NOVIDEOMEMORY     There's not enough video memory.
  DFB_MISSINGFONT     No font has been set.
  DFB_MISSINGIMAGE     No image has been set.

Whenever a method has to return any information, it is done via output parameters. These are pointers to primitive types such as int *ret_num, enumerated types like DFBBoolean *ret_enabled, structures as in DFBDisplayLayerConfig *ret_config, just void **ret_data or other types...


DFBBoolean

A boolean.

  DFB_FALSE   0  
  DFB_TRUE   !DFB_FALSE  


DFBPoint

A point specified by x/y coordinates.

  int   x   X coordinate of it
  int   y   Y coordinate of it


DFBSpan

A horizontal line specified by x and width.

  int   x   X coordinate
  int   w   width of span


DFBDimension

A dimension specified by width and height.

  int   w   width of it
  int   h   height of it


DFBRectangle

A rectangle specified by a point and a dimension.

  int   x   X coordinate of its top-left point
  int   y   Y coordinate of its top-left point
  int   w   width of it
  int   h   height of it


DFBLocation

A rectangle specified by normalized coordinates.

  float   x   normalized X coordinate
  float   y   normalized Y coordinate
  float   w   normalized width
  float   h   normalized height

E.g. using 0.0, 0.0, 1.0, 1.0 would specify the whole screen.


DFBRegion

A region specified by two points.

  int   x1   X coordinate of top-left point
  int   y1   Y coordinate of top-left point
  int   x2   X coordinate of lower-right point
  int   y2   Y coordinate of lower-right point

The defined region includes both endpoints.


DFBInsets

Insets specify a distance from each edge of a rectangle.

  int   l   distance from left edge
  int   t   distance from top edge
  int   r   distance from right edge
  int   b   distance from bottom edge

Positive values always mean 'outside'.


DFBTriangle

A triangle specified by three points.

  int   x1   X coordinate of first edge
  int   y1   Y coordinate of first edge
  int   x2   X coordinate of second edge
  int   y2   Y coordinate of second edge
  int   x3   X coordinate of third edge
  int   y3   Y coordinate of third edge


DFBTrapezoid

A trapezoid specified by two points with a width each.

  int   x1   X coordinate of first span
  int   y1   Y coordinate of first span
  int   w1   width of first span
  int   x2   X coordinate of second span
  int   y2   Y coordinate of second span
  int   w2   width of second span


DFBColor

A color defined by channels with 8bit each.

  u8   a   alpha channel
  u8   r   red channel
  u8   g   green channel
  u8   b   blue channel


DFBColorKey

A color key defined by R,G,B and eventually a color index.

  u8   index   color index
  u8   r   red channel
  u8   g   green channel
  u8   b   blue channel


DFBColorYUV

A color defined by channels with 8bit each.

  u8   a   alpha channel
  u8   y   luma channel
  u8   u   chroma channel
  u8   v   chroma channel


DFB_POINT_EQUAL (a,b)

Macro to compare two points.

((a).x == (b).x && \


DFB_RECTANGLE_EQUAL (a,b)

Macro to compare two rectangles.

((a).x == (b).x && \


DFB_LOCATION_EQUAL (a,b)

Macro to compare two locations.

((a).x == (b).x && \


DFB_REGION_EQUAL (a,b)

Macro to compare two regions.

((a).x1 == (b).x1 && \


DFB_COLOR_EQUAL (x,y)

Macro to compare two colors.

((x).a == (y).a && \


DFB_COLORKEY_EQUAL (x,y)

Macro to compare two color keys.

((x).index == (y).index && \


DCID_PRIMARY

Predefined color IDs.

0


DFB_COLOR_IDS_MAX

Maximum number of color ids.

8


DFB_DISPLAYLAYER_IDS_MAX

Maximum number of layer ids.

32


DFB_DISPLAYLAYER_IDS_ADD (ids,id)

Adds the id to the bitmask of layer ids.

(ids) |= (1 << (id))


DFB_DISPLAYLAYER_IDS_REMOVE (ids,id)

Removes the id from the bitmask of layer ids.

(ids) &= ~(1 << (id))


DFB_DISPLAYLAYER_IDS_HAVE (ids,id)

Checks if the bitmask of layer ids contains the id.

((ids) & (1 << (id)))


DFB_DISPLAYLAYER_IDS_EMPTY (ids)

Empties (clears) the bitmask of layer ids.

(ids) = 0


DTEID_UTF8

Predefined text encoding IDs.

0


DFBCooperativeLevel

The cooperative level controls the super interface's behaviour in functions like SetVideoMode or CreateSurface for the primary.

  DFSCL_NORMAL   0x00000000   Normal shared access, primary surface will be the buffer of an implicitly created window at the resolution given by SetVideoMode().
  DFSCL_FULLSCREEN     Application grabs the primary layer, SetVideoMode automates layer control. Primary surface is the primary layer surface.
  DFSCL_EXCLUSIVE     All but the primary layer will be disabled, the application has full control over layers if desired, other applications have no input/output/control. Primary surface is the primary layer surface.


DFBDisplayLayerCapabilities

Capabilities of a display layer.

  DLCAPS_NONE   0x00000000  
  DLCAPS_SURFACE   0x00000001   The layer has a surface that can be drawn to. This may not be provided by layers that display realtime data, e.g. from an MPEG decoder chip. Playback control may be provided by an external API.
  DLCAPS_OPACITY   0x00000002   The layer supports blending with layer(s) below based on a global alpha factor.
  DLCAPS_ALPHACHANNEL   0x00000004   The layer supports blending with layer(s) below based on each pixel's alpha value.
  DLCAPS_SCREEN_LOCATION   0x00000008   The layer location on the screen can be changed, this includes position and size as normalized values. The default is 0.0f, 0.0f, 1.0f, 1.0f. Supports IDirectFBDisplayLayer::SetScreenLocation() and IDirectFBDisplayLayer::SetScreenRectangle(). This implies DLCAPS_SCREEN_POSITION and _SIZE.
  DLCAPS_FLICKER_FILTERING   0x00000010   Flicker filtering can be enabled for smooth output on interlaced display devices.
  DLCAPS_DEINTERLACING   0x00000020   The layer provides optional deinterlacing for displaying interlaced video data on progressive display devices.
  DLCAPS_SRC_COLORKEY   0x00000040   A specific color can be declared as transparent.
  DLCAPS_DST_COLORKEY   0x00000080   A specific color of layers below can be specified as the color of the only locations where the layer is visible.
  DLCAPS_BRIGHTNESS   0x00000100   Adjustment of brightness is supported.
  DLCAPS_CONTRAST   0x00000200   Adjustment of contrast is supported.
  DLCAPS_HUE   0x00000400   Adjustment of hue is supported.
  DLCAPS_SATURATION   0x00000800   Adjustment of saturation is supported.
  DLCAPS_LEVELS   0x00001000   Adjustment of the layer's level (z position) is supported.
  DLCAPS_FIELD_PARITY   0x00002000   Field parity can be selected
  DLCAPS_WINDOWS   0x00004000   Hardware window support.
  DLCAPS_SOURCES   0x00008000   Sources can be selected.
  DLCAPS_ALPHA_RAMP   0x00010000   Alpha values for formats with one or two alpha bits can be chosen, i.e. using ARGB1555 or ARGB2554 the user can define the meaning of the two or four possibilities. In short, this feature provides a lookup table for the alpha bits of these formats. See also IDirectFBSurface::SetAlphaRamp().
  DLCAPS_PREMULTIPLIED   0x00020000   Surfaces with premultiplied alpha are supported.
  DLCAPS_SCREEN_POSITION   0x00100000   The layer position on the screen can be changed. Supports IDirectFBDisplayLayer::SetScreenPosition().
  DLCAPS_SCREEN_SIZE   0x00200000   The layer size (defined by its source rectangle) can be scaled to a different size on the screen (defined by its screen/destination rectangle or its normalized size) and does not have to be 1:1 with it.
  DLCAPS_CLIP_REGIONS   0x00400000   Supports IDirectFBDisplayLayer::SetClipRegions().
  DLCAPS_ALL   0x0073FFFF  


DFBScreenCapabilities

Capabilities of a screen.

  DSCCAPS_NONE   0x00000000  
  DSCCAPS_VSYNC   0x00000001   Synchronization with the vertical retrace supported.
  DSCCAPS_POWER_MANAGEMENT   0x00000002   Power management supported.
  DSCCAPS_MIXERS   0x00000010   Has mixers.
  DSCCAPS_ENCODERS   0x00000020   Has encoders.
  DSCCAPS_OUTPUTS   0x00000040   Has outputs.
  DSCCAPS_ALL   0x00000073  


DFBDisplayLayerOptions

Used to enable some capabilities like flicker filtering or colorkeying.

  DLOP_NONE   0x00000000   None of these.
  DLOP_ALPHACHANNEL   0x00000001   Make usage of alpha channel for blending on a pixel per pixel basis.
  DLOP_FLICKER_FILTERING   0x00000002   Enable flicker filtering.
  DLOP_DEINTERLACING   0x00000004   Enable deinterlacing of an interlaced (video) source.
  DLOP_SRC_COLORKEY   0x00000008   Enable source color key.
  DLOP_DST_COLORKEY   0x00000010   Enable dest. color key.
  DLOP_OPACITY   0x00000020   Make usage of the global alpha factor set by SetOpacity.
  DLOP_FIELD_PARITY   0x00000040   Set field parity


DFBDisplayLayerBufferMode

Layer Buffer Mode.

  DLBM_UNKNOWN   0x00000000  
  DLBM_FRONTONLY   0x00000001   no backbuffer
  DLBM_BACKVIDEO   0x00000002   backbuffer in video memory
  DLBM_BACKSYSTEM   0x00000004   backbuffer in system memory
  DLBM_TRIPLE   0x00000008   triple buffering
  DLBM_WINDOWS   0x00000010   no layer buffers at all, using buffer of each window


DFBSurfaceDescriptionFlags

Flags defining which fields of a DFBSurfaceDescription are valid.

  DSDESC_NONE   0x00000000   none of these
  DSDESC_CAPS   0x00000001   caps field is valid
  DSDESC_WIDTH   0x00000002   width field is valid
  DSDESC_HEIGHT   0x00000004   height field is valid
  DSDESC_PIXELFORMAT   0x00000008   pixelformat field is valid
  DSDESC_PREALLOCATED   0x00000010   Surface uses data that has been preallocated by the application. The field array 'preallocated' has to be set using the first element for the front buffer and eventually the second one for the back buffer.
  DSDESC_PALETTE   0x00000020   Initialize the surfaces palette with the entries specified in the description.
  DSDESC_RESOURCE_ID   0x00000100   user defined resource id for general purpose surfaces is specified, or resource id of window, layer, user is returned
  DSDESC_HINTS   0x00000200   Flags for optimized allocation and pixel format selection are set. See also DFBSurfaceHintFlags.
  DSDESC_ALL   0x0000033F   all of these


DFBPaletteDescriptionFlags

Flags defining which fields of a DFBPaletteDescription are valid.

  DPDESC_CAPS   0x00000001   Specify palette capabilities.
  DPDESC_SIZE   0x00000002   Specify number of entries.
  DPDESC_ENTRIES   0x00000004   Initialize the palette with the entries specified in the description.


DFBSurfaceCapabilities

The surface capabilities.

  DSCAPS_NONE   0x00000000   None of these.
  DSCAPS_PRIMARY   0x00000001   It's the primary surface.
  DSCAPS_SYSTEMONLY   0x00000002   Surface data is permanently stored in system memory.
There's no video memory allocation/storage.
  DSCAPS_VIDEOONLY   0x00000004   Surface data is permanently stored in video memory.
There's no system memory allocation/storage.
  DSCAPS_DOUBLE   0x00000010   Surface is double buffered
  DSCAPS_SUBSURFACE   0x00000020   Surface is just a sub area of another one sharing the surface data.
  DSCAPS_INTERLACED   0x00000040   Each buffer contains interlaced video (or graphics) data consisting of two fields.
Their lines are stored interleaved. One field's height is a half of the surface's height.
  DSCAPS_SEPARATED   0x00000080   For usage with DSCAPS_INTERLACED.
DSCAPS_SEPARATED specifies that the fields are NOT interleaved line by line in the buffer.
The first field is followed by the second one.
  DSCAPS_STATIC_ALLOC   0x00000100   The amount of video or system memory allocated for the surface is never less than its initial value. This way a surface can be resized (smaller and bigger up to the initial size) without reallocation of the buffers. It's useful for surfaces that need a guaranteed space in video memory after resizing.
  DSCAPS_TRIPLE   0x00000200   Surface is triple buffered.
  DSCAPS_PREMULTIPLIED   0x00001000   Surface stores data with premultiplied alpha.
  DSCAPS_DEPTH   0x00010000   A depth buffer is allocated.
  DSCAPS_SHARED   0x00100000   The surface will be accessible among processes.
  DSCAPS_ROTATED   0x01000000   The back buffers are allocated with swapped width/height (unimplemented!).
  DSCAPS_ALL   0x011113F7   All of these.
  DSCAPS_FLIPPING   DSCAPS_DOUBLE | DSCAPS_TRIPLE   Surface needs Flip() calls to make updates/changes visible/usable.


DFBPaletteCapabilities

The palette capabilities.

  DPCAPS_NONE   0x00000000   None of these.


DFBSurfaceDrawingFlags

Flags controlling drawing commands.

  DSDRAW_NOFX   0x00000000   uses none of the effects
  DSDRAW_BLEND   0x00000001   uses alpha from color
  DSDRAW_DST_COLORKEY   0x00000002   write to destination only if the destination pixel matches the destination color key
  DSDRAW_SRC_PREMULTIPLY   0x00000004   multiplies the color's rgb channels by the alpha channel before drawing
  DSDRAW_DST_PREMULTIPLY   0x00000008   modulates the dest. color with the dest. alpha
  DSDRAW_DEMULTIPLY   0x00000010   divides the color by the alpha before writing the data to the destination
  DSDRAW_XOR   0x00000020   bitwise xor the destination pixels with the specified color after premultiplication


DFBSurfaceBlittingFlags

Flags controlling blitting commands.

  DSBLIT_NOFX   0x00000000   uses none of the effects
  DSBLIT_BLEND_ALPHACHANNEL   0x00000001   enables blending and uses alphachannel from source
  DSBLIT_BLEND_COLORALPHA   0x00000002   enables blending and uses alpha value from color
  DSBLIT_COLORIZE   0x00000004   modulates source color with the color's r/g/b values
  DSBLIT_SRC_COLORKEY   0x00000008   don't blit pixels matching the source color key
  DSBLIT_DST_COLORKEY   0x00000010   write to destination only if the destination pixel matches the destination color key
  DSBLIT_SRC_PREMULTIPLY   0x00000020   modulates the source color with the (modulated) source alpha
  DSBLIT_DST_PREMULTIPLY   0x00000040   modulates the dest. color with the dest. alpha
  DSBLIT_DEMULTIPLY   0x00000080   divides the color by the alpha before writing the data to the destination
  DSBLIT_DEINTERLACE   0x00000100   deinterlaces the source during blitting by reading only one field (every second line of full image) scaling it vertically by factor two
  DSBLIT_SRC_PREMULTCOLOR   0x00000200   modulates the source color with the color alpha
  DSBLIT_XOR   0x00000400   bitwise xor the destination pixels with the source pixels after premultiplication
  DSBLIT_INDEX_TRANSLATION   0x00000800   do fast indexed to indexed translation, this flag is mutual exclusive with all others
  DSBLIT_ROTATE90   0x00002000   rotate the image by 90 degree
  DSBLIT_ROTATE180   0x00001000   rotate the image by 180 degree
  DSBLIT_ROTATE270   0x00004000   rotate the image by 270 degree
  DSBLIT_COLORKEY_PROTECT   0x00010000   make sure written pixels don't match color key (internal only ATM)
  DSBLIT_SRC_MASK_ALPHA   0x00100000   modulate source alpha channel with alpha channel from source mask, see also IDirectFBSurface::SetSourceMask()
  DSBLIT_SRC_MASK_COLOR   0x00200000   modulate source color channels with color channels from source mask, see also IDirectFBSurface::SetSourceMask()
  DSBLIT_SOURCE2   0x00400000   use secondary source instead of destination for reading
  DSBLIT_FLIP_HORIZONTAL   0x01000000   flip the image horizontally
  DSBLIT_FLIP_VERTICAL   0x02000000   flip the image vertically


DFBSurfaceRenderOptions

Options for drawing and blitting operations. Not mandatory for acceleration.

  DSRO_NONE   0x00000000   None of these.
  DSRO_SMOOTH_UPSCALE   0x00000001   Use interpolation for upscale StretchBlit().
  DSRO_SMOOTH_DOWNSCALE   0x00000002   Use interpolation for downscale StretchBlit().
  DSRO_MATRIX   0x00000004   Use the transformation matrix set via IDirectFBSurface::SetMatrix().
  DSRO_ANTIALIAS   0x00000008   Enable anti-aliasing for edges (alphablend must be enabled).
  DSRO_ALL   0x0000000F   All of these.


DFBAccelerationMask

Mask of accelerated functions.

  DFXL_NONE   0x00000000   None of these.
  DFXL_FILLRECTANGLE   0x00000001   FillRectangle() is accelerated.
  DFXL_DRAWRECTANGLE   0x00000002   DrawRectangle() is accelerated.
  DFXL_DRAWLINE   0x00000004   DrawLine() is accelerated.
  DFXL_FILLTRIANGLE   0x00000008   FillTriangle() is accelerated.
  DFXL_FILLTRAPEZOID   0x00000010   FillTrapezoid() is accelerated.
  DFXL_BLIT   0x00010000   Blit() and TileBlit() are accelerated.
  DFXL_STRETCHBLIT   0x00020000   StretchBlit() is accelerated.
  DFXL_TEXTRIANGLES   0x00040000   TextureTriangles() is accelerated.
  DFXL_BLIT2   0x00080000   BatchBlit2() is accelerated.
  DFXL_DRAWSTRING   0x01000000   DrawString() and DrawGlyph() are accelerated.
  DFXL_ALL   0x010F001F   All drawing/blitting functions.
  DFXL_ALL_DRAW   0x0000001F   All drawing functions.
  DFXL_ALL_BLIT   0x010F0000   All blitting functions.


DFBDisplayLayerTypeFlags

Type of display layer for basic classification. Values may be or'ed together.

  DLTF_NONE   0x00000000   Unclassified, no specific type.
  DLTF_GRAPHICS   0x00000001   Can be used for graphics output.
  DLTF_VIDEO   0x00000002   Can be used for live video output.
  DLTF_STILL_PICTURE   0x00000004   Can be used for single frames.
  DLTF_BACKGROUND   0x00000008   Can be used as a background layer.
  DLTF_ALL   0x0000000F   All type flags set.


DFBInputDeviceTypeFlags

Type of input device for basic classification. Values may be or'ed together.

  DIDTF_NONE   0x00000000   Unclassified, no specific type.
  DIDTF_KEYBOARD   0x00000001   Can act as a keyboard.
  DIDTF_MOUSE   0x00000002   Can be used as a mouse.
  DIDTF_JOYSTICK   0x00000004   Can be used as a joystick.
  DIDTF_REMOTE   0x00000008   Is a remote control.
  DIDTF_VIRTUAL   0x00000010   Is a virtual input device.
  DIDTF_ALL   0x0000001F   All type flags set.


DFBInputDeviceCapabilities

Basic input device features.

  DICAPS_KEYS   0x00000001   device supports key events
  DICAPS_AXES   0x00000002   device supports axis events
  DICAPS_BUTTONS   0x00000004   device supports button events
  DICAPS_ALL   0x00000007   all capabilities


DFBInputDeviceButtonIdentifier

Identifier (index) for e.g. mouse or joystick buttons.

  DIBI_LEFT   0x00000000   left mouse button
  DIBI_RIGHT   0x00000001   right mouse button
  DIBI_MIDDLE   0x00000002   middle mouse button
  DIBI_FIRST   DIBI_LEFT   other buttons: DIBI_FIRST + zero based index
  DIBI_LAST   0x0000001F   32 buttons maximum


DFBInputDeviceAxisIdentifier

Axis identifier (index) for e.g. mouse or joystick.

  DIAI_X   0x00000000   X axis
  DIAI_Y   0x00000001   Y axis
  DIAI_Z   0x00000002   Z axis
  DIAI_FIRST   DIAI_X   other axis: DIAI_FIRST + zero based index
  DIAI_LAST   0x0000001F   32 axes maximum

The X, Y and Z axis are predefined. To access other axes, use DIAI_FIRST plus a zero based index, e.g. the 4th axis would be (DIAI_FIRST + 3).


DFBWindowDescriptionFlags

Flags defining which fields of a DFBWindowDescription are valid.

  DWDESC_CAPS   0x00000001   caps field is valid
  DWDESC_WIDTH   0x00000002   width field is valid
  DWDESC_HEIGHT   0x00000004   height field is valid
  DWDESC_PIXELFORMAT   0x00000008   pixelformat field is valid
  DWDESC_POSX   0x00000010   posx field is valid
  DWDESC_POSY   0x00000020   posy field is valid
  DWDESC_SURFACE_CAPS   0x00000040   Create the window surface with special capabilities.
  DWDESC_PARENT   0x00000080   This window has a parent according to parent_id field.
  DWDESC_OPTIONS   0x00000100   Initial window options have been set.
  DWDESC_STACKING   0x00000200   Initial stacking class has been set.
  DWDESC_TOPLEVEL_ID   0x00000400   The top level window is set in toplevel_id field.
  DWDESC_RESOURCE_ID   0x00001000   Resource id for window surface creation has been set.


DFBDataBufferDescriptionFlags

Flags defining which fields of a DFBDataBufferDescription are valid.

  DBDESC_FILE   0x00000001   Create a static buffer for the specified filename.
  DBDESC_MEMORY   0x00000002   Create a static buffer for the specified memory area.


DFBWindowCapabilities

Capabilities a window can have.

  DWCAPS_NONE   0x00000000   None of these.
  DWCAPS_ALPHACHANNEL   0x00000001   The window has an alphachannel for pixel-per-pixel blending.
  DWCAPS_DOUBLEBUFFER   0x00000002   The window's surface is double buffered. This is very useful to avoid visibility of content that is still in preparation. Normally a window's content can get visible before an update if there is another reason causing a window stack repaint.
  DWCAPS_INPUTONLY   0x00000004   The window has no surface. You can not draw to it but it receives events
  DWCAPS_NODECORATION   0x00000008   The window won't be decorated.
  DWCAPS_SUBWINDOW   0x00000010   Not a top level window.
  DWCAPS_COLOR   0x00000020   The window has no buffer; it consumes no backing store. It is filled with a constant color and it receives events. The color is never specified premultiplied.
  DWCAPS_NOFOCUS   0x00000100   Window will never get focus or receive key events, unless it grabs them.
  DWCAPS_ALL   0x0000013F   All of these.


DFBWindowOptions

Flags controlling the appearance and behaviour of the window.

  DWOP_NONE   0x00000000   none of these
  DWOP_COLORKEYING   0x00000001   enable color key
  DWOP_ALPHACHANNEL   0x00000002   enable alpha blending using the window's alpha channel
  DWOP_OPAQUE_REGION   0x00000004   overrides DWOP_ALPHACHANNEL for the region set by SetOpaqueRegion()
  DWOP_SHAPED   0x00000008   window doesn't receive mouse events for invisible regions, must be used with DWOP_ALPHACHANNEL or DWOP_COLORKEYING
  DWOP_KEEP_POSITION   0x00000010   window can't be moved with the mouse
  DWOP_KEEP_SIZE   0x00000020   window can't be resized with the mouse
  DWOP_KEEP_STACKING   0x00000040   window can't be raised or lowered with the mouse
  DWOP_GHOST   0x00001000   never get focus or input, clicks will go through, implies DWOP_KEEP...
  DWOP_INDESTRUCTIBLE   0x00002000   window can't be destroyed by internal shortcut
  DWOP_INPUTONLY   0x00004000   The window will be input only. It will receive events but is not shown. Note that toggling this bit will not free/assign the window surface.
  DWOP_SCALE   0x00010000   Surface won't be changed if window size on screen changes. The surface can be resized separately using IDirectFBWindow::ResizeSurface().
  DWOP_KEEP_ABOVE   0x00100000   Keep window above parent window.
  DWOP_KEEP_UNDER   0x00200000   Keep window under parent window.
  DWOP_FOLLOW_BOUNDS   0x00400000   Follow window bounds from parent.
  DWOP_ALL   0x0071707F   all possible options


DFBWindowStackingClass

The stacking class restricts the stacking order of windows.

  DWSC_MIDDLE   0x00000000   This is the default stacking class of new windows.
  DWSC_UPPER   0x00000001   Window is always above windows in the middle stacking class. Only windows that are also in the upper stacking class can get above them.
  DWSC_LOWER   0x00000002   Window is always below windows in the middle stacking class. Only windows that are also in the lower stacking class can get below them.


DFBFontAttributes

Flags describing how to load a font.

  DFFA_NONE   0x00000000   none of these flags
  DFFA_NOKERNING   0x00000001   don't use kerning
  DFFA_NOHINTING   0x00000002   don't use hinting
  DFFA_MONOCHROME   0x00000004   don't use anti-aliasing
  DFFA_NOCHARMAP   0x00000008   no char map, glyph indices are specified directly
  DFFA_FIXEDCLIP   0x00000010   width fixed advance, clip to it
  DFFA_NOBITMAP   0x00000020   ignore bitmap strikes; for bitmap-only fonts this flag is ignored
  DFFA_OUTLINED   0x00000040  
  DFFA_AUTOHINTING   0x00000080   prefer auto-hinter over the font's native hinter
  DFFA_SOFTHINTING   0x00000100   use a lighter hinting algorithm that produces glyphs that are more fuzzy but better resemble the original shape

These flags describe how a font is loaded and affect how the glyphs are drawn. There is no way to change this after the font has been loaded. If you need to render a font with different attributes, you have to create multiple FontProviders of the same font file.


DFBFontDescriptionFlags

Flags defining which fields of a DFBFontDescription are valid.

  DFDESC_ATTRIBUTES   0x00000001   attributes field is valid
  DFDESC_HEIGHT   0x00000002   height is specified
  DFDESC_WIDTH   0x00000004   width is specified
  DFDESC_INDEX   0x00000008   index is specified
  DFDESC_FIXEDADVANCE   0x00000010   specify a fixed advance overriding any character advance of fixed or proportional fonts
  DFDESC_FRACT_HEIGHT   0x00000020   fractional height is set
  DFDESC_FRACT_WIDTH   0x00000040   fractional width is set
  DFDESC_OUTLINE_WIDTH   0x00000080   outline width is set
  DFDESC_OUTLINE_OPACITY   0x00000100   outline opacity is set
  DFDESC_ROTATION   0x00000200   rotation is set


DFBFontDescription

Description of how to load glyphs from a font file.

  DFBFontDescriptionFlags   flags  
  DFBFontAttributes   attributes  
  int   height  
  int   width  
  unsigned int   index  
  int   fixed_advance  
  int   fract_height  
  int   fract_width  
  int   outline_width   Outline width as 16.16 fixed point integer
  int   outline_opacity   Outline opacity as 16.16 fixed point integer
  int   rotation  

The attributes control how the glyphs are rendered. Width and height can be used to specify the desired face size in pixels. If you are loading a non-scalable font, you shouldn't specify a font size.

Please note that the height value in the DFBFontDescription doesn't correspond to the height returned by IDirectFBFont::GetHeight().

The index field controls which face is loaded from a font file that provides a collection of faces. This is rarely needed.

Fractional sizes (fract_height and fract_width) are 26.6 fixed point integers and override the pixel sizes if both are specified.

Outline parameters are ignored if DFFA_OUTLINED is not used (see DFBFontAttributes). To change the default values of 1.0 each use DFDESC_OUTLINE_WIDTH and/or DFDESC_OUTLINE_OPACITY.

The rotation value is a 0.24 fixed point number of rotations. Use the macros DFB_DEGREES and DFB_RADIANS to convert from those units.


DFB_DEGREES (deg)

((int)((deg)/360.0*(1<<24)))


DFBSurfacePixelFormat

Pixel format of a surface.

  DSPF_UNKNOWN   0x00000000   unknown or unspecified format
  DSPF_ARGB1555   DFB_SURFACE_PIXELFORMAT( 0, 15, 1, 1, 0, 2, 0, 0, 0, 0, 0 )   16 bit ARGB (2 byte, alpha 1@15, red 5@10, green 5@5, blue 5@0)
  DSPF_RGB16   DFB_SURFACE_PIXELFORMAT( 1, 16, 0, 0, 0, 2, 0, 0, 0, 0, 0 )   16 bit RGB (2 byte, red 5@11, green 6@5, blue 5@0)
  DSPF_RGB24   DFB_SURFACE_PIXELFORMAT( 2, 24, 0, 0, 0, 3, 0, 0, 0, 0, 0 )   24 bit RGB (3 byte, red 8@16, green 8@8, blue 8@0)
  DSPF_RGB32   DFB_SURFACE_PIXELFORMAT( 3, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0 )   24 bit RGB (4 byte, nothing@24, red 8@16, green 8@8, blue 8@0)
  DSPF_ARGB   DFB_SURFACE_PIXELFORMAT( 4, 24, 8, 1, 0, 4, 0, 0, 0, 0, 0 )   32 bit ARGB (4 byte, alpha 8@24, red 8@16, green 8@8, blue 8@0)
  DSPF_A8   DFB_SURFACE_PIXELFORMAT( 5, 0, 8, 1, 0, 1, 0, 0, 0, 0, 0 )   8 bit alpha (1 byte, alpha 8@0), e.g. anti-aliased glyphs
  DSPF_YUY2   DFB_SURFACE_PIXELFORMAT( 6, 16, 0, 0, 0, 2, 0, 0, 0, 0, 0 )   16 bit YUV (4 byte/ 2 pixel, macropixel contains CbYCrY [31:0])
  DSPF_RGB332   DFB_SURFACE_PIXELFORMAT( 7, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0 )   8 bit RGB (1 byte, red 3@5, green 3@2, blue 2@0)
  DSPF_UYVY   DFB_SURFACE_PIXELFORMAT( 8, 16, 0, 0, 0, 2, 0, 0, 0, 0, 0 )   16 bit YUV (4 byte/ 2 pixel, macropixel contains YCbYCr [31:0])
  DSPF_I420   DFB_SURFACE_PIXELFORMAT( 9, 12, 0, 0, 0, 1, 0, 2, 0, 0, 0 )   12 bit YUV (8 bit Y plane followed by 8 bit quarter size U/V planes)
  DSPF_YV12   DFB_SURFACE_PIXELFORMAT( 10, 12, 0, 0, 0, 1, 0, 2, 0, 0, 0 )   12 bit YUV (8 bit Y plane followed by 8 bit quarter size V/U planes)
  DSPF_LUT8   DFB_SURFACE_PIXELFORMAT( 11, 8, 0, 1, 0, 1, 0, 0, 0, 1, 0 )   8 bit LUT (8 bit color and alpha lookup from palette)
  DSPF_ALUT44   DFB_SURFACE_PIXELFORMAT( 12, 4, 4, 1, 0, 1, 0, 0, 0, 1, 0 )   8 bit ALUT (1 byte, alpha 4@4, color lookup 4@0)
  DSPF_AiRGB   DFB_SURFACE_PIXELFORMAT( 13, 24, 8, 1, 0, 4, 0, 0, 0, 0, 1 )   32 bit ARGB (4 byte, inv. alpha 8@24, red 8@16, green 8@8, blue 8@0)
  DSPF_A1   DFB_SURFACE_PIXELFORMAT( 14, 0, 1, 1, 1, 0, 7, 0, 0, 0, 0 )   1 bit alpha (1 byte/ 8 pixel, most significant bit used first)
  DSPF_NV12   DFB_SURFACE_PIXELFORMAT( 15, 12, 0, 0, 0, 1, 0, 2, 0, 0, 0 )   12 bit YUV (8 bit Y plane followed by one 16 bit quarter size Cb|Cr [7:0|7:0] plane)
  DSPF_NV16   DFB_SURFACE_PIXELFORMAT( 16, 24, 0, 0, 0, 1, 0, 0, 1, 0, 0 )   16 bit YUV (8 bit Y plane followed by one 16 bit half width Cb|Cr [7:0|7:0] plane)
  DSPF_ARGB2554   DFB_SURFACE_PIXELFORMAT( 17, 14, 2, 1, 0, 2, 0, 0, 0, 0, 0 )   16 bit ARGB (2 byte, alpha 2@14, red 5@9, green 5@4, blue 4@0)
  DSPF_ARGB4444   DFB_SURFACE_PIXELFORMAT( 18, 12, 4, 1, 0, 2, 0, 0, 0, 0, 0 )   16 bit ARGB (2 byte, alpha 4@12, red 4@8, green 4@4, blue 4@0)
  DSPF_RGBA4444   DFB_SURFACE_PIXELFORMAT( 19, 12, 4, 1, 0, 2, 0, 0, 0, 0, 0 )   16 bit RGBA (2 byte, red 4@12, green 4@8, blue 4@4, alpha 4@0)
  DSPF_NV21   DFB_SURFACE_PIXELFORMAT( 20, 12, 0, 0, 0, 1, 0, 2, 0, 0, 0 )   12 bit YUV (8 bit Y plane followed by one 16 bit quarter size Cr|Cb [7:0|7:0] plane)
  DSPF_AYUV   DFB_SURFACE_PIXELFORMAT( 21, 24, 8, 1, 0, 4, 0, 0, 0, 0, 0 )   32 bit AYUV (4 byte, alpha 8@24, Y 8@16, Cb 8@8, Cr 8@0)
  DSPF_A4   DFB_SURFACE_PIXELFORMAT( 22, 0, 4, 1, 4, 0, 1, 0, 0, 0, 0 )   4 bit alpha (1 byte/ 2 pixel, more significant nibble used first)
  DSPF_ARGB1666   DFB_SURFACE_PIXELFORMAT( 23, 18, 1, 1, 0, 3, 0, 0, 0, 0, 0 )   1 bit alpha (3 byte/ alpha 1@18, red 6@12, green 6@6, blue 6@0)
  DSPF_ARGB6666   DFB_SURFACE_PIXELFORMAT( 24, 18, 6, 1, 0, 3, 0, 0, 0, 0, 0 )   6 bit alpha (3 byte/ alpha 6@18, red 6@12, green 6@6, blue 6@0)
  DSPF_RGB18   DFB_SURFACE_PIXELFORMAT( 25, 18, 0, 0, 0, 3, 0, 0, 0, 0, 0 )   6 bit RGB (3 byte/ red 6@12, green 6@6, blue 6@0)
  DSPF_LUT2   DFB_SURFACE_PIXELFORMAT( 26, 2, 0, 1, 2, 0, 3, 0, 0, 1, 0 )   2 bit LUT (1 byte/ 4 pixel, 2 bit color and alpha lookup from palette)
  DSPF_RGB444   DFB_SURFACE_PIXELFORMAT( 27, 12, 0, 0, 0, 2, 0, 0, 0, 0, 0 )   16 bit RGB (2 byte, nothing @12, red 4@8, green 4@4, blue 4@0)
  DSPF_RGB555   DFB_SURFACE_PIXELFORMAT( 28, 15, 0, 0, 0, 2, 0, 0, 0, 0, 0 )   16 bit RGB (2 byte, nothing @15, red 5@10, green 5@5, blue 5@0)
  DSPF_BGR555   DFB_SURFACE_PIXELFORMAT( 29, 15, 0, 0, 0, 2, 0, 0, 0, 0, 0 )   16 bit BGR (2 byte, nothing @15, blue 5@10, green 5@5, red 5@0)
  DSPF_RGBA5551   DFB_SURFACE_PIXELFORMAT( 30, 15, 1, 1, 0, 2, 0, 0, 0, 0, 0 )   16 bit RGBA (2 byte, red 5@11, green 5@6, blue 5@1, alpha 1@0)
  DSPF_YUV444P   DFB_SURFACE_PIXELFORMAT( 31, 24, 0, 0, 0, 1, 0, 0, 2, 0, 0 )   24 bit full YUV planar (8 bit Y plane followed by an 8 bit Cb and an 8 bit Cr plane)
  DSPF_ARGB8565   DFB_SURFACE_PIXELFORMAT( 32, 16, 8, 1, 0, 3, 0, 0, 0, 0, 0 )   24 bit ARGB (3 byte, alpha 8@16, red 5@11, green 6@5, blue 5@0)
  DSPF_AVYU   DFB_SURFACE_PIXELFORMAT( 33, 24, 8, 1, 0, 4, 0, 0, 0, 0, 0 )   32 bit AVYU 4:4:4 (4 byte, alpha 8@24, Cr 8@16, Y 8@8, Cb 8@0)
  DSPF_VYU   DFB_SURFACE_PIXELFORMAT( 34, 24, 0, 0, 0, 3, 0, 0, 0, 0, 0 )   24 bit VYU 4:4:4 (3 byte, Cr 8@16, Y 8@8, Cb 8@0)
  DSPF_A1_LSB   DFB_SURFACE_PIXELFORMAT( 35, 0, 1, 1, 1, 0, 7, 0, 0, 0, 0 )   1 bit alpha (1 byte/ 8 pixel, LEAST significant bit used first)
  DSPF_YV16   DFB_SURFACE_PIXELFORMAT( 36, 16, 0, 0, 0, 1, 0, 0, 1, 0, 0 )   16 bit YUV (8 bit Y plane followed by 8 bit 2x1 subsampled V/U planes)


DFB_NUM_PIXELFORMATS

37


DFB_PIXELFORMAT_INDEX (fmt)

(((fmt) & 0x0000007F) )


DFB_COLOR_BITS_PER_PIXEL (fmt)

(((fmt) & 0x00000F80) >> 7)


DFB_ALPHA_BITS_PER_PIXEL (fmt)

(((fmt) & 0x0000F000) >> 12)


DFB_PIXELFORMAT_HAS_ALPHA (fmt)

(((fmt) & 0x00010000) != 0)


DFB_BITS_PER_PIXEL (fmt)

(((fmt) & 0x007E0000) >> 17)


DFB_BYTES_PER_PIXEL (fmt)

(((fmt) & 0x00700000) >> 20)


DFB_BYTES_PER_LINE (fmt,width)

(((((fmt) & 0x007E0000) >> 17) * (width) + 7) >> 3)


DFB_PIXELFORMAT_ALIGNMENT (fmt)

(((fmt) & 0x03800000) >> 23)


DFB_PLANE_MULTIPLY (fmt,height)

((((((fmt) & 0x3C000000) >> 26) + 4) * (height)) >> 2)


DFB_PIXELFORMAT_IS_INDEXED (fmt)

(((fmt) & 0x40000000) != 0)


DFB_PLANAR_PIXELFORMAT (fmt)

(((fmt) & 0x3C000000) != 0)


DFB_PIXELFORMAT_INV_ALPHA (fmt)

(((fmt) & 0x80000000) != 0)


DFBSurfaceHintFlags

Hint flags for optimized allocation, format selection etc.

  DSHF_NONE   0x00000000  
  DSHF_LAYER   0x00000001   Surface optimized for display layer usage
  DSHF_WINDOW   0x00000002   Surface optimized for being a window buffer
  DSHF_CURSOR   0x00000004   Surface optimized for usage as a cursor shape
  DSHF_FONT   0x00000008   Surface optimized for text rendering
  DSHF_ALL   0x0000000F  


DFBSurfaceDescription

Description of the surface that is to be created.

  DFBSurfaceDescriptionFlags   flags   field validation
  DFBSurfaceCapabilities   caps   capabilities
  int   width   pixel width
  int   height   pixel height
  DFBSurfacePixelFormat   pixelformat   pixel format
  void   * data   data pointer of existing buffer
  int   pitch   pitch of buffer
  const DFBColor   * entries  
  unsigned int   size  
  unsigned long   resource_id   universal resource id, either user specified for general purpose surfaces or id of layer or window
  DFBSurfaceHintFlags   hints   usage hints for optimized allocation, format selection etc.


DFBPaletteDescription

Description of the palette that is to be created.

  DFBPaletteDescriptionFlags   flags   Validation of fields.
  DFBPaletteCapabilities   caps   Palette capabilities.
  unsigned int   size   Number of entries.
  const DFBColor   * entries   Preset palette entries.


DFB_DISPLAY_LAYER_DESC_NAME_LENGTH

32


DFBDisplayLayerDescription

Description of the display layer capabilities.

  DFBDisplayLayerTypeFlags   type   Classification of the display layer.
  DFBDisplayLayerCapabilities   caps   Capability flags of the display layer.
  char   name[DFB_DISPLAY_LAYER_DESC_NAME_LENGTH]   Display layer name.
  int   level   Default level.
  int   regions   Number of concurrent regions supported.
-1 = unlimited, 0 = unknown/one, >0 = actual number
  int   sources   Number of selectable sources.
  int   clip_regions   Number of clipping regions.
  DFBSurfaceCapabilities   surface_caps  
  unsigned int   surface_accessor  


DFBDisplayLayerSourceCaps

Capabilities of a display layer source.

  DDLSCAPS_NONE   0x00000000   none of these
  DDLSCAPS_SURFACE   0x00000001   source has an accessable surface
  DDLSCAPS_ALL   0x00000001   all of these


DFB_DISPLAY_LAYER_SOURCE_DESC_NAME_LENGTH

24


DFBDisplayLayerSourceDescription

Description of a display layer source.

  DFBDisplayLayerSourceID   source_id   ID of the source.
  char   name[DFB_DISPLAY_LAYER_SOURCE_DESC_NAME_LENGTH]   Name of the source.
  DFBDisplayLayerSourceCaps   caps   Capabilites of the source.


DFB_SCREEN_DESC_NAME_LENGTH

32


DFBScreenDescription

Description of the display encoder capabilities.

  DFBScreenCapabilities   caps   Capability flags of the screen.
  char   name[DFB_SCREEN_DESC_NAME_LENGTH]   Rough description.
  int   mixers   Number of mixers available.
  int   encoders   Number of display encoders available.
  int   outputs   Number of output connectors available.


DFB_INPUT_DEVICE_DESC_NAME_LENGTH

32


DFBInputDeviceDescription

Description of the input device capabilities.

  DFBInputDeviceTypeFlags   type   classification of input device
  DFBInputDeviceCapabilities   caps   capabilities, validates the following fields
  int   min_keycode   minimum hardware keycode or -1 if no differentiation between hardware keys is made
  int   max_keycode   maximum hardware keycode or -1 if no differentiation between hardware keys is made
  DFBInputDeviceAxisIdentifier   max_axis   highest axis identifier
  DFBInputDeviceButtonIdentifier   max_button   highest button identifier
  char   name[DFB_INPUT_DEVICE_DESC_NAME_LENGTH]   Device name
  char   vendor[DFB_INPUT_DEVICE_DESC_VENDOR_LENGTH]   Device vendor
  int   vendor_id   Vendor ID
  int   product_id   Product ID


DFBInputDeviceAxisInfoFlags

  DIAIF_NONE   0x00000000  
  DIAIF_ABS_MIN   0x00000001  
  DIAIF_ABS_MAX   0x00000002  
  DIAIF_ALL   0x00000003  


DFBInputDeviceAxisInfo

  DFBInputDeviceAxisInfoFlags   flags  
  int   abs_min  
  int   abs_max  


DFB_GRAPHICS_DRIVER_INFO_NAME_LENGTH

40


DFBGraphicsDriverInfo

  int   major   Major version
  int   minor   Minor version
  char   name[DFB_GRAPHICS_DRIVER_INFO_NAME_LENGTH]   Driver name
  char   vendor[DFB_GRAPHICS_DRIVER_INFO_VENDOR_LENGTH]   Driver vendor


DFB_GRAPHICS_DEVICE_DESC_NAME_LENGTH

48


DFBGraphicsDeviceDescription

Description of the graphics device capabilities.

  DFBAccelerationMask   acceleration_mask   Accelerated functions
  DFBSurfaceBlittingFlags   blitting_flags   Supported blitting flags
  DFBSurfaceDrawingFlags   drawing_flags   Supported drawing flags
  unsigned int   video_memory   Amount of video memory in bytes
  char   name[DFB_GRAPHICS_DEVICE_DESC_NAME_LENGTH]   Device/Chipset name
  char   vendor[DFB_GRAPHICS_DEVICE_DESC_VENDOR_LENGTH]   Device vendor
  DFBGraphicsDriverInfo   driver  


DFBWindowDescription

Description of the window that is to be created.

  DFBWindowDescriptionFlags   flags   field validation
  DFBWindowCapabilities   caps   capabilities
  int   width   pixel width
  int   height   pixel height
  DFBSurfacePixelFormat   pixelformat   pixel format
  int   posx   distance from left layer border
  int   posy   distance from upper layer border
  DFBSurfaceCapabilities   surface_caps   pixel format
  DFBWindowID   parent_id   window id of parent window
  DFBWindowOptions   options   initial window options
  DFBWindowStackingClass   stacking   initial stacking class
  unsigned long   resource_id   resource id used to create the window surface
  DFBWindowID   toplevel_id   top level window, if != 0 window will be a sub window


DFBDataBufferDescription

Description of a data buffer that is to be created.

  DFBDataBufferDescriptionFlags   flags   field validation
  const char   * file   for file based data buffers
  const void   * data   static data pointer
  unsigned int   length   length of buffer


DFBEnumerationResult

Return value of callback function of enumerations.

  DFENUM_OK   0x00000000   Proceed with enumeration
  DFENUM_CANCEL   0x00000001   Cancel enumeration


DFBVideoModeCallback

Called for each supported video mode.

DFBEnumerationResult (*DFBVideoModeCallback) (
  int   width  
  int   height  
  int   bpp  
  void   * callbackdata  
);


DFBScreenCallback

Called for each existing screen. "screen_id" can be used to get an interface to the screen.

DFBEnumerationResult (*DFBScreenCallback) (
  DFBScreenID   screen_id  
  DFBScreenDescription   desc  
  void   * callbackdata  
);


DFBDisplayLayerCallback

Called for each existing display layer. "layer_id" can be used to get an interface to the layer.

DFBEnumerationResult (*DFBDisplayLayerCallback) (
  DFBDisplayLayerID   layer_id  
  DFBDisplayLayerDescription   desc  
  void   * callbackdata  
);


DFBInputDeviceCallback

Called for each existing input device. "device_id" can be used to get an interface to the device.

DFBEnumerationResult (*DFBInputDeviceCallback) (
  DFBInputDeviceID   device_id  
  DFBInputDeviceDescription   desc  
  void   * callbackdata  
);


DFBGetDataCallback

Called for each block of continous data requested, e.g. by a Video Provider. Write as many data as you can but not more than specified by length. Return the number of bytes written or 'EOF' if no data is available anymore.

int (*DFBGetDataCallback) (
  void   * buffer  
  unsigned int   length  
  void   * callbackdata  
);


DFBVideoProviderCapabilities

Information about an IDirectFBVideoProvider.

  DVCAPS_BASIC   0x00000000   basic ops (PlayTo, Stop)
  DVCAPS_SEEK   0x00000001   supports SeekTo
  DVCAPS_SCALE   0x00000002   can scale the video
  DVCAPS_INTERLACED   0x00000004   supports interlaced surfaces
  DVCAPS_SPEED   0x00000008   supports changing playback speed
  DVCAPS_BRIGHTNESS   0x00000010   supports Brightness adjustment
  DVCAPS_CONTRAST   0x00000020   supports Contrast adjustment
  DVCAPS_HUE   0x00000040   supports Hue adjustment
  DVCAPS_SATURATION   0x00000080   supports Saturation adjustment
  DVCAPS_INTERACTIVE   0x00000100   supports SendEvent
  DVCAPS_VOLUME   0x00000200   supports Volume adjustment
  DVCAPS_EVENT   0x00000400   supports the sending of events as video/audio data changes.
  DVCAPS_ATTRIBUTES   0x00000800   supports dynamic changing of atrributes.
  DVCAPS_AUDIO_SEL   0x00001000   Supportes chosing audio outputs.


DFBVideoProviderStatus

Information about the status of an IDirectFBVideoProvider.

  DVSTATE_UNKNOWN   0x00000000   unknown status
  DVSTATE_PLAY   0x00000001   video provider is playing
  DVSTATE_STOP   0x00000002   playback was stopped
  DVSTATE_FINISHED   0x00000003   playback is finished
  DVSTATE_BUFFERING   0x00000004   video provider is buffering, playback is running


DFBVideoProviderPlaybackFlags

Flags controlling playback mode of a IDirectFBVideoProvider.

  DVPLAY_NOFX   0x00000000   normal playback
  DVPLAY_REWIND   0x00000001   reverse playback
  DVPLAY_LOOPING   0x00000002   automatically restart playback when end-of-stream is reached (gapless).


DFBVideoProviderAudioUnits

Flags to allow Audio Unit selection.

  DVAUDIOUNIT_NONE   0x00000000   No Audio Unit
  DVAUDIOUNIT_ONE   0x00000001   Audio Unit One
  DVAUDIOUNIT_TWO   0x00000002   Audio Unit Two
  DVAUDIOUNIT_THREE   0x00000004   Audio Unit Three
  DVAUDIOUNIT_FOUR   0x00000008   Audio Unit Four
  DVAUDIOUNIT_ALL   0x0000000F   Audio Unit One


DFBColorAdjustmentFlags

Flags defining which fields of a DFBColorAdjustment are valid.

  DCAF_NONE   0x00000000   none of these
  DCAF_BRIGHTNESS   0x00000001   brightness field is valid
  DCAF_CONTRAST   0x00000002   contrast field is valid
  DCAF_HUE   0x00000004   hue field is valid
  DCAF_SATURATION   0x00000008   saturation field is valid
  DCAF_ALL   0x0000000F   all of these


DFBColorAdjustment

Color Adjustment used to adjust video colors.

  DFBColorAdjustmentFlags   flags  
  u16   brightness  
  u16   contrast  
  u16   hue  
  u16   saturation  

All fields are in the range 0x0 to 0xFFFF with 0x8000 as the default value (no adjustment).


DLID_PRIMARY

0x0000


DLSID_SURFACE

0x0000


DSCID_PRIMARY

0x0000


DIDID_KEYBOARD

0x0000 /* primary keyboard */


DIDID_JOYSTICK

0x0002 /* primary joystick */


DIDID_ANY

0x0010 /* no primary device */


DFBDisplayLayerCooperativeLevel

Cooperative level handling the access permissions.

  DLSCL_SHARED   0   shared access
  DLSCL_EXCLUSIVE     exclusive access, fullscreen/mode switching
  DLSCL_ADMINISTRATIVE     administrative access, enumerate windows, control them


DFBDisplayLayerBackgroundMode

Background mode defining how to erase/initialize the area for a windowstack repaint

  DLBM_DONTCARE   0   do not clear the layer before repainting the windowstack
  DLBM_COLOR     fill with solid color (SetBackgroundColor)
  DLBM_IMAGE     use an image (SetBackgroundImage)
  DLBM_TILE     use a tiled image (SetBackgroundImage)


DFBDisplayLayerConfigFlags

Layer configuration flags

  DLCONF_NONE   0x00000000  
  DLCONF_WIDTH   0x00000001  
  DLCONF_HEIGHT   0x00000002  
  DLCONF_PIXELFORMAT   0x00000004  
  DLCONF_BUFFERMODE   0x00000008  
  DLCONF_OPTIONS   0x00000010  
  DLCONF_SOURCE   0x00000020  
  DLCONF_SURFACE_CAPS   0x00000040  
  DLCONF_ALL   0x0000007F  


DFBDisplayLayerConfig

Layer configuration

  DFBDisplayLayerConfigFlags   flags   Which fields of the configuration are set
  int   width   Pixel width
  int   height   Pixel height
  DFBSurfacePixelFormat   pixelformat   Pixel format
  DFBDisplayLayerBufferMode   buffermode   Buffer mode
  DFBDisplayLayerOptions   options   Enable capabilities
  DFBDisplayLayerSourceID   source   Selected layer source
  DFBSurfaceCapabilities   surface_caps   Choose surface capabilities, available: INTERLACED, SEPARATED, PREMULTIPLIED.


DFBScreenPowerMode

Screen Power Mode.

  DSPM_ON   0  
  DSPM_STANDBY    
  DSPM_SUSPEND    
  DSPM_OFF    


DFBScreenMixerCapabilities

Capabilities of a mixer.

  DSMCAPS_NONE   0x00000000   None of these.
  DSMCAPS_FULL   0x00000001   Can mix full tree as specified in the description.
  DSMCAPS_SUB_LEVEL   0x00000002   Can set a maximum layer level, e.g. to exclude an OSD from VCR output.
  DSMCAPS_SUB_LAYERS   0x00000004   Can select a number of layers individually as specified in the description.
  DSMCAPS_BACKGROUND   0x00000008   Background color is configurable.


DFB_SCREEN_MIXER_DESC_NAME_LENGTH

24


DFBScreenMixerDescription

Description of a mixer.

  DFBScreenMixerCapabilities   caps  
  DFBDisplayLayerIDs   layers   Visible layers if the full tree is selected.
  int   sub_num   Number of layers that can be selected in sub mode.
  DFBDisplayLayerIDs   sub_layers   Layers available for sub mode with layer selection.
  char   name[DFB_SCREEN_MIXER_DESC_NAME_LENGTH]   Mixer name


DFBScreenMixerConfigFlags

Flags for mixer configuration.

  DSMCONF_NONE   0x00000000   None of these.
  DSMCONF_TREE   0x00000001   (Sub) tree is selected.
  DSMCONF_LEVEL   0x00000002   Level is specified.
  DSMCONF_LAYERS   0x00000004   Layer selection is set.
  DSMCONF_BACKGROUND   0x00000010   Background color is set.
  DSMCONF_ALL   0x00000017  


DFBScreenMixerTree

(Sub) tree selection.

  DSMT_UNKNOWN   0x00000000   Unknown mode
  DSMT_FULL   0x00000001   Full tree.
  DSMT_SUB_LEVEL   0x00000002   Sub tree via maximum level.
  DSMT_SUB_LAYERS   0x00000003   Sub tree via layer selection.


DFBScreenMixerConfig

Configuration of a mixer.

  DFBScreenMixerConfigFlags   flags   Validates struct members.
  DFBScreenMixerTree   tree   Selected (sub) tree.
  int   level   Max. level of sub level mode.
  DFBDisplayLayerIDs   layers   Layers for sub layers mode.
  DFBColor   background   Background color.


DFBScreenOutputCapabilities

Capabilities of an output.

  DSOCAPS_NONE   0x00000000   None of these.
  DSOCAPS_CONNECTORS   0x00000001   Output connectors are available.
  DSOCAPS_ENCODER_SEL   0x00000010   Encoder can be selected.
  DSOCAPS_SIGNAL_SEL   0x00000020   Signal(s) can be selected.
  DSOCAPS_CONNECTOR_SEL   0x00000040   Connector(s) can be selected.
  DSOCAPS_SLOW_BLANKING   0x00000080   Slow Blanking on outputs is supported.
  DSOCAPS_RESOLUTION   0x00000100   Output Resolution can be changed. (global screen size)
  DSOCAPS_ALL   0x000001F1  


DFBScreenOutputConnectors

Type of output connector.

  DSOC_UNKNOWN   0x00000000   Unknown type
  DSOC_VGA   0x00000001   VGA connector
  DSOC_SCART   0x00000002   SCART connector
  DSOC_YC   0x00000004   Y/C connector
  DSOC_CVBS   0x00000008   CVBS connector
  DSOC_SCART2   0x00000010   2nd SCART connector
  DSOC_COMPONENT   0x00000020   Component video connector
  DSOC_HDMI   0x00000040   HDMI connector
  DSOC_656   0x00000080   DVO connector


DFBScreenOutputSignals

Type of output signal.

  DSOS_NONE   0x00000000   No signal
  DSOS_VGA   0x00000001   VGA signal
  DSOS_YC   0x00000002   Y/C signal
  DSOS_CVBS   0x00000004   CVBS signal
  DSOS_RGB   0x00000008   R/G/B signal
  DSOS_YCBCR   0x00000010   Y/Cb/Cr signal
  DSOS_HDMI   0x00000020   HDMI signal
  DSOS_656   0x00000040   656 Digital output signal


DFBScreenOutputSlowBlankingSignals

Type of slow blanking signalling.

  DSOSB_OFF   0x00000000   No signal
  DSOSB_16x9   0x00000001   16*9 Widescreen signalling
  DSOSB_4x3   0x00000002   4*3 widescreen signalling
  DSOSB_FOLLOW   0x00000004   Follow signalling
  DSOSB_MONITOR   0x00000008   Monitor


DFBScreenOutputResolution

  DSOR_UNKNOWN   0x00000000   Unknown Resolution
  DSOR_640_480   0x00000001   640x480 Resolution
  DSOR_720_480   0x00000002   720x480 Resolution
  DSOR_720_576   0x00000004   720x576 Resolution
  DSOR_800_600   0x00000008   800x600 Resolution
  DSOR_1024_768   0x00000010   1024x768 Resolution
  DSOR_1152_864   0x00000020   1152x864 Resolution
  DSOR_1280_720   0x00000040   1280x720 Resolution
  DSOR_1280_768   0x00000080   1280x768 Resolution
  DSOR_1280_960   0x00000100   1280x960 Resolution
  DSOR_1280_1024   0x00000200   1280x1024 Resolution
  DSOR_1400_1050   0x00000400   1400x1050 Resolution
  DSOR_1600_1200   0x00000800   1600x1200 Resolution
  DSOR_1920_1080   0x00001000   1920x1080 Resolution
  DSOR_ALL   0x00001FFF   All Resolution


DFB_SCREEN_OUTPUT_DESC_NAME_LENGTH

24


DFBScreenOutputDescription

Description of a screen output.

  DFBScreenOutputCapabilities   caps   Screen capabilities.
  DFBScreenOutputConnectors   all_connectors   Output connectors.
  DFBScreenOutputSignals   all_signals   Output signals.
  DFBScreenOutputResolution   all_resolutions   Output Resolutions
  char   name[DFB_SCREEN_OUTPUT_DESC_NAME_LENGTH]   Output name


DFBScreenOutputConfigFlags

Flags for screen output configuration.

  DSOCONF_NONE   0x00000000   None of these.
  DSOCONF_ENCODER   0x00000001   Set encoder the signal(s) comes from.
  DSOCONF_SIGNALS   0x00000002   Select signal(s) from encoder.
  DSOCONF_CONNECTORS   0x00000004   Select output connector(s).
  DSOCONF_SLOW_BLANKING   0x00000008   Can select slow blanking support.
  DSOCONF_RESOLUTION   0x00000010   Can change output resolution
  DSOCONF_ALL   0x0000001F  


DFBScreenOutputConfig

Configuration of an output.

  DFBScreenOutputConfigFlags   flags   Validates struct members.
  int   encoder   Chosen encoder.
  DFBScreenOutputSignals   out_signals   Selected encoder signal(s).
  DFBScreenOutputConnectors   out_connectors   Selected output connector(s).
  DFBScreenOutputSlowBlankingSignals   slow_blanking   Slow Blanking signals.
  DFBScreenOutputResolution   resolution   Output Resolution


DFBScreenEncoderCapabilities

Capabilities of a display encoder.

  DSECAPS_NONE   0x00000000   None of these.
  DSECAPS_TV_STANDARDS   0x00000001   TV standards can be selected.
  DSECAPS_TEST_PICTURE   0x00000002   Test picture generation supported.
  DSECAPS_MIXER_SEL   0x00000004   Mixer can be selected.
  DSECAPS_OUT_SIGNALS   0x00000008   Different output signals are supported.
  DSECAPS_SCANMODE   0x00000010   Can switch between interlaced and progressive output.
  DSECAPS_FREQUENCY   0x00000020   Can switch between different frequencies.
  DSECAPS_BRIGHTNESS   0x00000100   Adjustment of brightness is supported.
  DSECAPS_CONTRAST   0x00000200   Adjustment of contrast is supported.
  DSECAPS_HUE   0x00000400   Adjustment of hue is supported.
  DSECAPS_SATURATION   0x00000800   Adjustment of saturation is supported.
  DSECAPS_CONNECTORS   0x00001000   Select output connector(s).
  DSECAPS_SLOW_BLANKING   0x00002000   Slow Blanking on outputs is supported.
  DSECAPS_RESOLUTION   0x00004000   Different encoder resolutions supported
  DSECAPS_ALL   0x00007f3f  


DFBScreenEncoderType

Type of display encoder.

  DSET_UNKNOWN   0x00000000   Unknown type
  DSET_CRTC   0x00000001   Encoder is a CRTC.
  DSET_TV   0x00000002   TV output encoder.
  DSET_DIGITAL   0x00000004   Support signals other than SD TV standards.


DFBScreenEncoderTVStandards

TV standards.

  DSETV_UNKNOWN   0x00000000   Unknown standard
  DSETV_PAL   0x00000001   PAL
  DSETV_NTSC   0x00000002   NTSC
  DSETV_SECAM   0x00000004   SECAM
  DSETV_PAL_60   0x00000008   PAL-60
  DSETV_PAL_BG   0x00000010   PAL BG support (specific)
  DSETV_PAL_I   0x00000020   PAL I support (specific)
  DSETV_PAL_M   0x00000040   PAL M support (specific)
  DSETV_PAL_N   0x00000080   PAL N support (specific)
  DSETV_PAL_NC   0x00000100   PAL NC support (specific)
  DSETV_NTSC_M_JPN   0x00000200   NTSC_JPN support
  DSETV_DIGITAL   0x00000400   TV standards from the digital domain. specify resolution, scantype, frequency.
  DSETV_NTSC_443   0x00000800   NTSC with 4.43MHz colour carrier
  DSETV_ALL   0x00000FFF   All TV Standards


DFBScreenEncoderScanMode

Scan modes.

  DSESM_UNKNOWN   0x00000000   Unknown mode
  DSESM_INTERLACED   0x00000001   Interlaced scan mode
  DSESM_PROGRESSIVE   0x00000002   Progressive scan mode


DFBScreenEncoderFrequency

Frequency of output signal.

  DSEF_UNKNOWN   0x00000000   Unknown Frequency
  DSEF_25HZ   0x00000001   25 Hz Output.
  DSEF_29_97HZ   0x00000002   29.97 Hz Output.
  DSEF_50HZ   0x00000004   50 Hz Output.
  DSEF_59_94HZ   0x00000008   59.94 Hz Output.
  DSEF_60HZ   0x00000010   60 Hz Output.
  DSEF_75HZ   0x00000020   75 Hz Output.
  DSEF_30HZ   0x00000040   30 Hz Output.
  DSEF_24HZ   0x00000080   24 Hz Output.
  DSEF_23_976HZ   0x00000100   23.976 Hz Output.


DFB_SCREEN_ENCODER_DESC_NAME_LENGTH

24


DFBScreenEncoderDescription

Description of a display encoder.

  DFBScreenEncoderCapabilities   caps   Encoder capabilities.
  DFBScreenEncoderType   type   Type of encoder.
  DFBScreenEncoderTVStandards   tv_standards   Supported TV standards.
  DFBScreenOutputSignals   out_signals   Supported output signals.
  DFBScreenOutputConnectors   all_connectors   Supported output connectors
  DFBScreenOutputResolution   all_resolutions   Supported Resolutions
  char   name[DFB_SCREEN_ENCODER_DESC_NAME_LENGTH]   Encoder name


DFBScreenEncoderConfigFlags

Flags for display encoder configuration.

  DSECONF_NONE   0x00000000   None of these.
  DSECONF_TV_STANDARD   0x00000001   Set TV standard.
  DSECONF_TEST_PICTURE   0x00000002   Set test picture mode.
  DSECONF_MIXER   0x00000004   Select mixer.
  DSECONF_OUT_SIGNALS   0x00000008   Select generated output signal(s).
  DSECONF_SCANMODE   0x00000010   Select interlaced or progressive output.
  DSECONF_TEST_COLOR   0x00000020   Set color for DSETP_SINGLE.
  DSECONF_ADJUSTMENT   0x00000040   Set color adjustment.
  DSECONF_FREQUENCY   0x00000080   Set Output Frequency
  DSECONF_CONNECTORS   0x00000100   Select output connector(s).
  DSECONF_SLOW_BLANKING   0x00000200   Can select slow blanking support.
  DSECONF_RESOLUTION   0x00000400   Can change resolution of the encoder.
  DSECONF_ALL   0x000007FF  


DFBScreenEncoderTestPicture

Test picture mode.

  DSETP_OFF   0x00000000   Disable test picture.
  DSETP_MULTI   0x00000001   Show color bars.
  DSETP_SINGLE   0x00000002   Whole screen as defined in configuration.
  DSETP_WHITE   0x00000010   Whole screen (ff, ff, ff).
  DSETP_YELLOW   0x00000020   Whole screen (ff, ff, 00).
  DSETP_CYAN   0x00000030   Whole screen (00, ff, ff).
  DSETP_GREEN   0x00000040   Whole screen (00, ff, 00).
  DSETP_MAGENTA   0x00000050   Whole screen (ff, 00, ff).
  DSETP_RED   0x00000060   Whole screen (ff, 00, 00).
  DSETP_BLUE   0x00000070   Whole screen (00, 00, ff).
  DSETP_BLACK   0x00000080   Whole screen (00, 00, 00).


DFBScreenEncoderConfig

Configuration of a display encoder.

  DFBScreenEncoderConfigFlags   flags   Validates struct members.
  DFBScreenEncoderTVStandards   tv_standard   TV standard.
  DFBScreenEncoderTestPicture   test_picture   Test picture mode.
  int   mixer   Selected mixer.
  DFBScreenOutputSignals   out_signals   Generated output signals.
  DFBScreenOutputConnectors   out_connectors   Selected output connector(s).
  DFBScreenOutputSlowBlankingSignals   slow_blanking   Slow Blanking signals.
  DFBScreenEncoderScanMode   scanmode   Interlaced or progressive output.
  DFBColor   test_color   Color for DSETP_SINGLE.
  DFBColorAdjustment   adjustment   Color adjustment.
  DFBScreenEncoderFrequency   frequency   Selected Output Frequency
  DFBScreenOutputResolution   resolution   Selected Output resolution


DFBSurfaceFlipFlags

Flipping flags controlling the behaviour of IDirectFBSurface::Flip().

  DSFLIP_NONE   0x00000000   None of these.
  DSFLIP_WAIT   0x00000001   Flip() returns upon vertical sync. Flipping is still done immediately unless DSFLIP_ONSYNC is specified, too.
  DSFLIP_BLIT   0x00000002   Copy from back buffer to front buffer rather than just swapping these buffers. This behaviour is enforced if the region passed to Flip() is not NULL or if the surface being flipped is a sub surface.
  DSFLIP_ONSYNC   0x00000004   Do the actual flipping upon the next vertical sync. The Flip() method will still return immediately unless DSFLIP_WAIT is specified, too.
  DSFLIP_PIPELINE   0x00000008  
  DSFLIP_ONCE   0x00000010  
  DSFLIP_QUEUE   0x00000100  
  DSFLIP_FLUSH   0x00000200  
  DSFLIP_WAITFORSYNC   DSFLIP_WAIT | DSFLIP_ONSYNC  


DFBSurfaceTextFlags

Flags controlling the text layout.

  DSTF_LEFT   0x00000000   left aligned
  DSTF_CENTER   0x00000001   horizontally centered
  DSTF_RIGHT   0x00000002   right aligned
  DSTF_TOP   0x00000004   y specifies the top instead of the baseline
  DSTF_BOTTOM   0x00000008   y specifies the bottom instead of the baseline
  DSTF_OUTLINE   0x00000010   enables outline rendering if loaded font supports it
  DSTF_TOPLEFT   DSTF_TOP | DSTF_LEFT  
  DSTF_TOPCENTER   DSTF_TOP | DSTF_CENTER  
  DSTF_TOPRIGHT   DSTF_TOP | DSTF_RIGHT  
  DSTF_BOTTOMLEFT   DSTF_BOTTOM | DSTF_LEFT  
  DSTF_BOTTOMCENTER   DSTF_BOTTOM | DSTF_CENTER  
  DSTF_BOTTOMRIGHT   DSTF_BOTTOM | DSTF_RIGHT  


DFBSurfaceLockFlags

Flags defining the type of data access. These are important for surface swapping management.

  DSLF_READ   0x00000001   Request read access while surface is locked.
  DSLF_WRITE   0x00000002   Request write access. If specified and surface has a back buffer, it will be used. Otherwise, the front buffer is used.


DFBSurfacePorterDuffRule

Available Porter/Duff rules.

  DSPD_NONE   0   fs: sa fd: 1.0-sa (defaults)
  DSPD_CLEAR   1   fs: 0.0 fd: 0.0
  DSPD_SRC   2   fs: 1.0 fd: 0.0
  DSPD_SRC_OVER   3   fs: 1.0 fd: 1.0-sa
  DSPD_DST_OVER   4   fs: 1.0-da fd: 1.0
  DSPD_SRC_IN   5   fs: da fd: 0.0
  DSPD_DST_IN   6   fs: 0.0 fd: sa
  DSPD_SRC_OUT   7   fs: 1.0-da fd: 0.0
  DSPD_DST_OUT   8   fs: 0.0 fd: 1.0-sa
  DSPD_SRC_ATOP   9   fs: da fd: 1.0-sa
  DSPD_DST_ATOP   10   fs: 1.0-da fd: sa
  DSPD_ADD   11   fs: 1.0 fd: 1.0
  DSPD_XOR   12   fs: 1.0-da fd: 1.0-sa
  DSPD_DST   13   fs: 0.0 fd: 1.0


DFBSurfaceBlendFunction

Blend functions to use for source and destination blending

  DSBF_UNKNOWN   0  
  DSBF_ZERO   1   cf: 0 af: 0
  DSBF_ONE   2   cf: 1 af: 1
  DSBF_SRCCOLOR   3   cf: sc af: sa
  DSBF_INVSRCCOLOR   4   cf: 1-sc af: 1-sa
  DSBF_SRCALPHA   5   cf: sa af: sa
  DSBF_INVSRCALPHA   6   cf: 1-sa af: 1-sa
  DSBF_DESTALPHA   7   cf: da af: da
  DSBF_INVDESTALPHA   8   cf: 1-da af: 1-da
  DSBF_DESTCOLOR   9   cf: dc af: da
  DSBF_INVDESTCOLOR   10   cf: 1-dc af: 1-da
  DSBF_SRCALPHASAT   11   cf: min(sa, 1-da) af: 1


DFBVertex

Transformed vertex of a textured triangle.

  float   x   Destination X coordinate (in pixels)
  float   y   Destination Y coordinate (in pixels)
  float   z   Z coordinate
  float   w   W coordinate
  float   s   Texture S coordinate
  float   t   Texture T coordinate


DFBTriangleFormation

Way of building triangles from the list of vertices.

  DTTF_LIST     0/1/2 3/4/5 6/7/8 ...
  DTTF_STRIP     0/1/2 1/2/3 2/3/4 ...
  DTTF_FAN     0/1/2 0/2/3 0/3/4 ...


DFBSurfaceMaskFlags

Flags controlling surface masks set via IDirectFBSurface::SetSourceMask().

  DSMF_NONE   0x00000000   None of these.
  DSMF_STENCIL   0x00000001   Take x and y as fixed start coordinates in the mask.
  DSMF_ALL   0x00000001   All of these.


DFBInputDeviceKeyState

Specifies whether a key is currently down.

  DIKS_UP   0x00000000   key is not pressed
  DIKS_DOWN   0x00000001   key is pressed


DFBInputDeviceButtonState

Specifies whether a button is currently pressed.

  DIBS_UP   0x00000000   button is not pressed
  DIBS_DOWN   0x00000001   button is pressed


DFBInputDeviceButtonMask

Flags specifying which buttons are currently down.

  DIBM_LEFT   0x00000001   left mouse button
  DIBM_RIGHT   0x00000002   right mouse button
  DIBM_MIDDLE   0x00000004   middle mouse button


DFBEventClass

Event class.

  DFEC_NONE   0x00   none of these
  DFEC_INPUT   0x01   raw input event
  DFEC_WINDOW   0x02   windowing event
  DFEC_USER   0x03   custom event for the user of this library
  DFEC_UNIVERSAL   0x04   universal event for custom usage with variable size
  DFEC_VIDEOPROVIDER   0x05   video provider event


DFBInputEventType

The type of an input event.

  DIET_UNKNOWN   0   unknown event
  DIET_KEYPRESS     a key is been pressed
  DIET_KEYRELEASE     a key is been released
  DIET_BUTTONPRESS     a (mouse) button is been pressed
  DIET_BUTTONRELEASE     a (mouse) button is been released
  DIET_AXISMOTION     mouse/joystick movement


DFBInputEventFlags

Flags defining which additional (optional) event fields are valid.

  DIEF_NONE   0x0000   no additional fields
  DIEF_TIMESTAMP   0x0001   timestamp is valid
  DIEF_AXISABS   0x0002   axis and axisabs are valid
  DIEF_AXISREL   0x0004   axis and axisrel are valid
  DIEF_KEYCODE   0x0008   used internally by the input core, always set at application level
  DIEF_KEYID   0x0010   used internally by the input core, always set at application level
  DIEF_KEYSYMBOL   0x0020   used internally by the input core, always set at application level
  DIEF_MODIFIERS   0x0040   used internally by the input core, always set at application level
  DIEF_LOCKS   0x0080   used internally by the input core, always set at application level
  DIEF_BUTTONS   0x0100   used internally by the input core, always set at application level
  DIEF_GLOBAL   0x0200   Only for event buffers creates by IDirectFB::CreateInputEventBuffer() with global events enabled. Indicates that the event would have been filtered if the buffer hadn't been global.
  DIEF_REPEAT   0x0400   repeated event, e.g. key or button press
  DIEF_FOLLOW   0x0800   another event will follow immediately, e.g. x/y axis
  DIEF_MIN   0x1000   minimum value is set, e.g. for absolute axis motion
  DIEF_MAX   0x2000   maximum value is set, e.g. for absolute axis motion


DFBInputEvent

An input event, item of an input buffer.

  DFBEventClass   clazz   clazz of event
  DFBInputEventType   type   type of event
  DFBInputDeviceID   device_id   source of event
  DFBInputEventFlags   flags   which optional fields are valid?
  struct timeval   timestamp   time of event creation
  int   key_code   hardware keycode, no mapping, -1 if device doesn't differentiate between several keys
  DFBInputDeviceKeyIdentifier   key_id   basic mapping, modifier independent
  DFBInputDeviceKeySymbol   key_symbol   advanced mapping, unicode compatible, modifier dependent
  DFBInputDeviceModifierMask   modifiers   pressed modifiers (optional)
  DFBInputDeviceLockState   locks   active locks (optional)
  DFBInputDeviceButtonIdentifier   button   in case of a button event
  DFBInputDeviceButtonMask   buttons   mask of currently pressed buttons
  DFBInputDeviceAxisIdentifier   axis   in case of an axis event
  int   axisabs   absolute mouse/ joystick coordinate
  int   axisrel   relative mouse/ joystick movement
  int   min   minimum possible value
  int   max   maximum possible value


DFBWindowEventType

Window Event Types - can also be used as flags for event filters.

  DWET_NONE   0x00000000  
  DWET_POSITION   0x00000001   window has been moved by window manager or the application itself
  DWET_SIZE   0x00000002   window has been resized by window manager or the application itself
  DWET_CLOSE   0x00000004   closing this window has been requested only
  DWET_DESTROYED   0x00000008   window got destroyed by global deinitialization function or the application itself
  DWET_GOTFOCUS   0x00000010   window got focus
  DWET_LOSTFOCUS   0x00000020   window lost focus
  DWET_KEYDOWN   0x00000100   a key has gone down while window has focus
  DWET_KEYUP   0x00000200   a key has gone up while window has focus
  DWET_BUTTONDOWN   0x00010000   mouse button went down in the window
  DWET_BUTTONUP   0x00020000   mouse button went up in the window
  DWET_MOTION   0x00040000   mouse cursor changed its position in window
  DWET_ENTER   0x00080000   mouse cursor entered the window
  DWET_LEAVE   0x00100000   mouse cursor left the window
  DWET_WHEEL   0x00200000   mouse wheel was moved while window has focus
  DWET_POSITION_SIZE   DWET_POSITION | DWET_SIZE   initially sent to window when it's created
  DWET_UPDATE   0x01000000  
  DWET_ALL   0x013F033F   all event types


DFBWindowEventFlags

Flags for a window event.

  DWEF_NONE   0x00000000   none of these
  DWEF_RETURNED   0x00000001   This is a returned event, e.g. unconsumed key.
  DWEF_RELATIVE   0x00000002   This is a relative motion event (using DWCF_RELATIVE)
  DWEF_REPEAT   0x00000010   repeat event, e.g. repeating key
  DWEF_ALL   0x00000013   all of these


DFBVideoProviderEventType

Video Provider Event Types - can also be used as flags for event filters.

  DVPET_NONE   0x00000000  
  DVPET_STARTED   0x00000001   The video provider has started the playback
  DVPET_STOPPED   0x00000002   The video provider has stopped the playback
  DVPET_SPEEDCHANGE   0x00000004   A speed change has occured
  DVPET_STREAMCHANGE   0x00000008   A stream description change has occured
  DVPET_FATALERROR   0x00000010   A fatal error has occured: restart must be done
  DVPET_FINISHED   0x00000020   The video provider has finished the playback
  DVPET_SURFACECHANGE   0x00000040   A surface description change has occured
  DVPET_FRAMEDECODED   0x00000080   A frame has been decoded by the decoder
  DVPET_FRAMEDISPLAYED   0x00000100   A frame has been rendered to the output
  DVPET_DATAEXHAUSTED   0x00000200   There is no more data available for consumption
  DVPET_VIDEOACTION   0x00000400   An action is required on the video provider
  DVPET_DATALOW   0x00000800   The stream buffer is running low in data (threshold defined by implementation).
  DVPET_DATAHIGH   0x00001000   The stream buffer is high.
  DVPET_BUFFERTIMELOW   0x00002000   The stream buffer has less than requested playout time buffered.
  DVPET_BUFFERTIMEHIGH   0x00004000   The stream buffer has more than requested playout time buffered.
  DVPET_ALL   0x00007FFF   All event types


DFBWindowEvent

Event from the windowing system.

  DFBEventClass   clazz   clazz of event
  DFBWindowEventType   type   type of event
  DFBWindowEventFlags   flags   event flags
  DFBWindowID   window_id   source of event
  int   x   x position of window or coordinate within window
  int   y   y position of window or coordinate within window
  int   cx   x cursor position
  int   cy   y cursor position
  int   step   wheel step
  int   w   width of window
  int   h   height of window
  int   key_code   hardware keycode, no mapping, -1 if device doesn't differentiate between several keys
  DFBInputDeviceKeyIdentifier   key_id   basic mapping, modifier independent
  DFBInputDeviceKeySymbol   key_symbol   advanced mapping, unicode compatible, modifier dependent
  DFBInputDeviceModifierMask   modifiers   pressed modifiers
  DFBInputDeviceLockState   locks   active locks
  DFBInputDeviceButtonIdentifier   button   button being pressed or released
  DFBInputDeviceButtonMask   buttons   mask of currently pressed buttons
  struct timeval   timestamp   always set


DFBVideoProviderEventDataSubType

Video Provider Event Types - can also be used as flags for event filters.

  DVPEDST_UNKNOWN   0x00000000   Event is valid for unknown Data
  DVPEDST_AUDIO   0x00000001   Event is valid for Audio Data
  DVPEDST_VIDEO   0x00000002   Event is valid for Video Data
  DVPEDST_DATA   0x00000004   Event is valid for Data types
  DVPEDST_ALL   0x00000007   Event is valid for all Data types


DFBVideoProviderEvent

Event from the video provider

  DFBEventClass   clazz   clazz of event
  DFBVideoProviderEventType   type   type of event
  DFBVideoProviderEventDataSubType   data_type   data type that this event is applicable for.
  int   data[4]   custom data - large enough for 4 ints so that in most cases memory allocation will not be needed


DFBUserEvent

Event for usage by the user of this library.

  DFBEventClass   clazz   clazz of event
  unsigned int   type   custom type
  void   * data   custom data


DFBUniversalEvent

Universal event for custom usage with variable size.

  DFBEventClass   clazz   clazz of event (DFEC_UNIVERSAL)
  unsigned int   size   size of this event, minimum is sizeof(DFBUniversalEvent), e.g. 8 bytes (on 32bit architectures)


DFBEvent

General container for a DirectFB Event.

  DFBEventClass   clazz   clazz of event
  DFBInputEvent   input   field for input events
  DFBWindowEvent   window   field for window events
  DFBUserEvent   user   field for user-defined events
  DFBUniversalEvent   universal   field for universal events
  DFBVideoProviderEvent   videoprovider   field for video provider


DFB_EVENT (e)

((DFBEvent *) (e))


DFBEventBufferStats

Statistics about event buffer queue.

  unsigned int   num_events   Total number of events in the queue.
  unsigned int   DFEC_INPUT   Number of input events.
  unsigned int   DFEC_WINDOW   Number of window events.
  unsigned int   DFEC_USER   Number of user events.
  unsigned int   DFEC_UNIVERSAL   Number of universal events.
  unsigned int   DFEC_VIDEOPROVIDER   Number of universal events.
  unsigned int   DIET_KEYPRESS  
  unsigned int   DIET_KEYRELEASE  
  unsigned int   DIET_BUTTONPRESS  
  unsigned int   DIET_BUTTONRELEASE  
  unsigned int   DIET_AXISMOTION  
  unsigned int   DWET_POSITION  
  unsigned int   DWET_SIZE  
  unsigned int   DWET_CLOSE  
  unsigned int   DWET_DESTROYED  
  unsigned int   DWET_GOTFOCUS  
  unsigned int   DWET_LOSTFOCUS  
  unsigned int   DWET_KEYDOWN  
  unsigned int   DWET_KEYUP  
  unsigned int   DWET_BUTTONDOWN  
  unsigned int   DWET_BUTTONUP  
  unsigned int   DWET_MOTION  
  unsigned int   DWET_ENTER  
  unsigned int   DWET_LEAVE  
  unsigned int   DWET_WHEEL  
  unsigned int   DWET_POSITION_SIZE  
  unsigned int   DVPET_STARTED  
  unsigned int   DVPET_STOPPED  
  unsigned int   DVPET_SPEEDCHANGE  
  unsigned int   DVPET_STREAMCHANGE  
  unsigned int   DVPET_FATALERROR  
  unsigned int   DVPET_FINISHED  
  unsigned int   DVPET_SURFACECHANGE  
  unsigned int   DVPET_FRAMEDECODED  
  unsigned int   DVPET_FRAMEDISPLAYED  
  unsigned int   DVPET_DATAEXHAUSTED  
  unsigned int   DVPET_DATALOW  
  unsigned int   DVPET_VIDEOACTION  
  unsigned int   DVPET_DATAHIGH  
  unsigned int   DVPET_BUFFERTIMELOW  
  unsigned int   DVPET_BUFFERTIMEHIGH  


DFBWindowKeySelection

The key selection defines a mode for filtering keys while the window is having the focus.

  DWKS_ALL   0x00000000   Select all keys (default).
  DWKS_NONE   0x00000001   Don't select any key.
  DWKS_LIST   0x00000002   Select a list of keys.


DFBWindowGeometryMode

  DWGM_DEFAULT   0x00000000   Use default values.
  DWGM_FOLLOW   0x00000001   Use values of parent window.
  DWGM_RECTANGLE   0x00000002   Use pixel values as defined.
  DWGM_LOCATION   0x00000003   Use relative values as defined.


DFBWindowGeometry

  DFBWindowGeometryMode   mode  
  DFBRectangle   rectangle  
  DFBLocation   location  


DFBWindowCursorFlags

  DWCF_NONE   0x00000000  
  DWCF_RELATIVE   0x00000001  
  DWCF_EXPLICIT   0x00000002  
  DWCF_UNCLIPPED   0x00000004  
  DWCF_TRAPPED   0x00000008  
  DWCF_FIXED   0x00000010  
  DWCF_INVISIBLE   0x00000020  
  DWCF_ALL   0x0000003F  


DFBTextEncodingCallback

Called for each provided text encoding.

DFBEnumerationResult (*DFBTextEncodingCallback) (
  DFBTextEncodingID   encoding_id  
  const char   * name  
  void   * context  
);


DFBImageCapabilities

Capabilities of an image.

  DICAPS_NONE   0x00000000   None of these.
  DICAPS_ALPHACHANNEL   0x00000001   The image data contains an alphachannel.
  DICAPS_COLORKEY   0x00000002   The image has a colorkey, e.g. the transparent color of a GIF image.


DFBImageDescription

Information about an image including capabilities and values belonging to available capabilities.

  DFBImageCapabilities   caps   capabilities
  u8   colorkey_r   colorkey red channel
  u8   colorkey_g   colorkey green channel
  u8   colorkey_b   colorkey blue channel


DIRenderCallbackResult

  DIRCR_OK    
  DIRCR_ABORT    


DFBStreamCapabilities

Capabilities of an audio/video stream.

  DVSCAPS_NONE   0x00000000   None of these.
  DVSCAPS_VIDEO   0x00000001   Stream contains video.
  DVSCAPS_AUDIO   0x00000002   Stream contains audio.


DFB_STREAM_DESC_ENCODING_LENGTH

30


DFB_STREAM_DESC_TITLE_LENGTH

255


DFB_STREAM_DESC_AUTHOR_LENGTH

255


DFB_STREAM_DESC_ALBUM_LENGTH

255


DFB_STREAM_DESC_GENRE_LENGTH

32


DFB_STREAM_DESC_COMMENT_LENGTH

255


DFBStreamDescription

Informations about an audio/video stream.

  DFBStreamCapabilities   caps   capabilities
  char   encoding[DFB_STREAM_DESC_ENCODING_LENGTH]   encoding (e.g. "AAC")
  double   framerate   number of frames per second
  double   aspect   frame aspect ratio
  int   bitrate   amount of bits per second
  int   afd   Active Format Descriptor
  int   width   Width as reported by Sequence Header
  int   height   Height as reported by Sequence Header
  char   encoding[DFB_STREAM_DESC_ENCODING_LENGTH]   encoding (e.g. "AAC")
  int   samplerate   number of samples per second
  int   channels   number of channels per sample
  int   bitrate   amount of bits per second
  char   title[DFB_STREAM_DESC_TITLE_LENGTH]   title
  char   author[DFB_STREAM_DESC_AUTHOR_LENGTH]   author
  char   album[DFB_STREAM_DESC_ALBUM_LENGTH]   album
  short   year   year
  char   genre[DFB_STREAM_DESC_GENRE_LENGTH]   genre
  char   comment[DFB_STREAM_DESC_COMMENT_LENGTH]   comment


DFBStreamFormat

Type of an audio stream.

  DSF_ES   0x00000000   ES.
  DSF_PES   0x00000001   PES.


DFBStreamAttributes

Stream attributes for an audio/video stream.

  char   encoding[DFB_STREAM_DESC_ENCODING_LENGTH]   encoding (e.g. "AAC")
  DFBStreamFormat   format   format of the audio stream
  char   encoding[DFB_STREAM_DESC_ENCODING_LENGTH]   encoding (e.g. "AAC")
  DFBStreamFormat   format   format of the audio stream


DFBBufferOccupancy

Buffer levels and occupancy for Audio/Video input buffers.

  DFBStreamCapabilities   valid   Which of the Audio / Video sections are valid.
  unsigned int   buffer_size   Size in bytes of the input buffer to audio decoder
  unsigned int   minimum_level   The level at which a DVPET_DATALOW event will be generated.
  unsigned int   maximum_level   The level at which a DVPET_DATAHIGH event will be generated.
  unsigned int   current_level   Current fill level of audio input buffer.
  unsigned int   buffer_size   Size in bytes of the input buffer to audio decoder
  unsigned int   minimum_level   The level at which a DVPET_DATALOW event will be generated.
  unsigned int   maximum_level   The level at which a DVPET_DATAHIGH event will be generated.
  unsigned int   current_level   Current fill level of audio input buffer.


DFBBufferThresholds

Buffer thresholds for Audio and Video.

  DFBStreamCapabilities   selection   Which of the Audio / Video are we setting?
  unsigned int   minimum_level   The level at which a DVPET_DATALOW event will be generated.
  unsigned int   maximum_level   The level at which a DVPET_DATAHIGH event will be generated.
  unsigned int   minimum_time   The level at which a DVPET_BUFFERTIMELOW event will be generated.
  unsigned int   maximum_time   The level at which a DVPET_BUFFERTIMEHIGH event will be generated.
  unsigned int   minimum_level   The level at which a DVPET_DATALOW event will be generated.
  unsigned int   maximum_level   The level at which a DVPET_DATAHIGH event will be generated.
  unsigned int   minimum_time   The level at which a DVPET_BUFFERTIMELOW event will be generated.
  unsigned int   maximum_time   The level at which a DVPET_BUFFERTIMEHIGH event will be generated.


DFBInputDeviceKeyType

DirectFB key types (for advanced mapping)

  DIKT_UNICODE   0x0000   Unicode 3.x character (compatible to Latin-1)
  DIKT_SPECIAL   0xF000   Special key (e.g. Cursor Up or Menu)
  DIKT_FUNCTION   0xF100   Function key (F1 - Fn)
  DIKT_MODIFIER   0xF200   Modifier key
  DIKT_LOCK   0xF300   Lock key (e.g. CapsLock)
  DIKT_DEAD   0xF400   Dead key (e.g. dead grave)
  DIKT_CUSTOM   0xF500   Custom key (vendor specific)
  DIKT_IDENTIFIER   0xF600   DirectFB key identifier


DFB_KEY (type,index)

((DIKT_##type) | (index))


DFB_KEY_TYPE (symbol)

((((symbol) & ~0xFFF) == 0xF000) ? (symbol) & 0xFF00 : DIKT_UNICODE)


DFB_KEY_IS_ASCII (symbol)

((symbol) < 128)


DFB_FUNCTION_KEY (n)

(DFB_KEY( FUNCTION, n ))


DFB_CUSTOM_KEY (n)

(DFB_KEY( CUSTOM, n ))


DFB_LOWER_CASE (symbol)

(((symbol) >= 'A' && (symbol) <= 'Z') ?\


DFB_UPPER_CASE (symbol)

(((symbol) >= 'a' && (symbol) <= 'z') ?\


DFBInputDeviceModifierKeyIdentifier

DirectFB modifier key identifiers (for advanced mapping)

  DIMKI_SHIFT     Shift modifier key
  DIMKI_CONTROL     Control modifier key
  DIMKI_ALT     Alt modifier key
  DIMKI_ALTGR     AltGr modifier key
  DIMKI_META     Meta modifier key
  DIMKI_SUPER     Super modifier key
  DIMKI_HYPER     Hyper modifier key
  DIMKI_FIRST   DIMKI_SHIFT  
  DIMKI_LAST   DIMKI_HYPER  


DFBInputDeviceKeyIdentifier

DirectFB key identifiers (for basic mapping)

  DIKI_UNKNOWN   DFB_KEY( IDENTIFIER, 0 )  
  DIKI_A    
  DIKI_B    
  DIKI_C    
  DIKI_D    
  DIKI_E    
  DIKI_F    
  DIKI_G    
  DIKI_H    
  DIKI_I    
  DIKI_J    
  DIKI_K    
  DIKI_L    
  DIKI_M    
  DIKI_N    
  DIKI_O    
  DIKI_P    
  DIKI_Q    
  DIKI_R    
  DIKI_S    
  DIKI_T    
  DIKI_U    
  DIKI_V    
  DIKI_W    
  DIKI_X    
  DIKI_Y    
  DIKI_Z    
  DIKI_0    
  DIKI_1    
  DIKI_2    
  DIKI_3    
  DIKI_4    
  DIKI_5    
  DIKI_6    
  DIKI_7    
  DIKI_8    
  DIKI_9    
  DIKI_F1    
  DIKI_F2    
  DIKI_F3    
  DIKI_F4    
  DIKI_F5    
  DIKI_F6    
  DIKI_F7    
  DIKI_F8    
  DIKI_F9    
  DIKI_F10    
  DIKI_F11    
  DIKI_F12    
  DIKI_SHIFT_L    
  DIKI_SHIFT_R    
  DIKI_CONTROL_L    
  DIKI_CONTROL_R    
  DIKI_ALT_L    
  DIKI_ALT_R    
  DIKI_META_L    
  DIKI_META_R    
  DIKI_SUPER_L    
  DIKI_SUPER_R    
  DIKI_HYPER_L    
  DIKI_HYPER_R    
  DIKI_CAPS_LOCK    
  DIKI_NUM_LOCK    
  DIKI_SCROLL_LOCK    
  DIKI_ESCAPE    
  DIKI_LEFT    
  DIKI_RIGHT    
  DIKI_UP    
  DIKI_DOWN    
  DIKI_TAB    
  DIKI_ENTER    
  DIKI_SPACE    
  DIKI_BACKSPACE    
  DIKI_INSERT    
  DIKI_DELETE    
  DIKI_HOME    
  DIKI_END    
  DIKI_PAGE_UP    
  DIKI_PAGE_DOWN    
  DIKI_PRINT    
  DIKI_PAUSE    
  DIKI_QUOTE_LEFT     TLDE
  DIKI_MINUS_SIGN     AE11
  DIKI_EQUALS_SIGN     AE12
  DIKI_BRACKET_LEFT     AD11
  DIKI_BRACKET_RIGHT     AD12
  DIKI_BACKSLASH     BKSL
  DIKI_SEMICOLON     AC10
  DIKI_QUOTE_RIGHT     AC11
  DIKI_COMMA     AB08
  DIKI_PERIOD     AB09
  DIKI_SLASH     AB10
  DIKI_LESS_SIGN     103rd
  DIKI_KP_DIV    
  DIKI_KP_MULT    
  DIKI_KP_MINUS    
  DIKI_KP_PLUS    
  DIKI_KP_ENTER    
  DIKI_KP_SPACE    
  DIKI_KP_TAB    
  DIKI_KP_F1    
  DIKI_KP_F2    
  DIKI_KP_F3    
  DIKI_KP_F4    
  DIKI_KP_EQUAL    
  DIKI_KP_SEPARATOR    
  DIKI_KP_DECIMAL    
  DIKI_KP_0    
  DIKI_KP_1    
  DIKI_KP_2    
  DIKI_KP_3    
  DIKI_KP_4    
  DIKI_KP_5    
  DIKI_KP_6    
  DIKI_KP_7    
  DIKI_KP_8    
  DIKI_KP_9    
  DIKI_KEYDEF_END    


DFBInputDeviceKeySymbol

DirectFB key symbols (for advanced mapping)

  DIKS_NULL   DFB_KEY( UNICODE, 0x00 )  
  DIKS_BACKSPACE   DFB_KEY( UNICODE, 0x08 )  
  DIKS_TAB   DFB_KEY( UNICODE, 0x09 )  
  DIKS_RETURN   DFB_KEY( UNICODE, 0x0D )  
  DIKS_CANCEL   DFB_KEY( UNICODE, 0x18 )  
  DIKS_ESCAPE   DFB_KEY( UNICODE, 0x1B )  
  DIKS_SPACE   DFB_KEY( UNICODE, 0x20 )  
  DIKS_EXCLAMATION_MARK   DFB_KEY( UNICODE, 0x21 )  
  DIKS_QUOTATION   DFB_KEY( UNICODE, 0x22 )  
  DIKS_NUMBER_SIGN   DFB_KEY( UNICODE, 0x23 )  
  DIKS_DOLLAR_SIGN   DFB_KEY( UNICODE, 0x24 )  
  DIKS_PERCENT_SIGN   DFB_KEY( UNICODE, 0x25 )  
  DIKS_AMPERSAND   DFB_KEY( UNICODE, 0x26 )  
  DIKS_APOSTROPHE   DFB_KEY( UNICODE, 0x27 )  
  DIKS_PARENTHESIS_LEFT   DFB_KEY( UNICODE, 0x28 )  
  DIKS_PARENTHESIS_RIGHT   DFB_KEY( UNICODE, 0x29 )  
  DIKS_ASTERISK   DFB_KEY( UNICODE, 0x2A )  
  DIKS_PLUS_SIGN   DFB_KEY( UNICODE, 0x2B )  
  DIKS_COMMA   DFB_KEY( UNICODE, 0x2C )  
  DIKS_MINUS_SIGN   DFB_KEY( UNICODE, 0x2D )  
  DIKS_PERIOD   DFB_KEY( UNICODE, 0x2E )  
  DIKS_SLASH   DFB_KEY( UNICODE, 0x2F )  
  DIKS_0   DFB_KEY( UNICODE, 0x30 )  
  DIKS_1   DFB_KEY( UNICODE, 0x31 )  
  DIKS_2   DFB_KEY( UNICODE, 0x32 )  
  DIKS_3   DFB_KEY( UNICODE, 0x33 )  
  DIKS_4   DFB_KEY( UNICODE, 0x34 )  
  DIKS_5   DFB_KEY( UNICODE, 0x35 )  
  DIKS_6   DFB_KEY( UNICODE, 0x36 )  
  DIKS_7   DFB_KEY( UNICODE, 0x37 )  
  DIKS_8   DFB_KEY( UNICODE, 0x38 )  
  DIKS_9   DFB_KEY( UNICODE, 0x39 )  
  DIKS_COLON   DFB_KEY( UNICODE, 0x3A )  
  DIKS_SEMICOLON   DFB_KEY( UNICODE, 0x3B )  
  DIKS_LESS_THAN_SIGN   DFB_KEY( UNICODE, 0x3C )  
  DIKS_EQUALS_SIGN   DFB_KEY( UNICODE, 0x3D )  
  DIKS_GREATER_THAN_SIGN   DFB_KEY( UNICODE, 0x3E )  
  DIKS_QUESTION_MARK   DFB_KEY( UNICODE, 0x3F )  
  DIKS_AT   DFB_KEY( UNICODE, 0x40 )  
  DIKS_CAPITAL_A   DFB_KEY( UNICODE, 0x41 )  
  DIKS_CAPITAL_B   DFB_KEY( UNICODE, 0x42 )  
  DIKS_CAPITAL_C   DFB_KEY( UNICODE, 0x43 )  
  DIKS_CAPITAL_D   DFB_KEY( UNICODE, 0x44 )  
  DIKS_CAPITAL_E   DFB_KEY( UNICODE, 0x45 )  
  DIKS_CAPITAL_F   DFB_KEY( UNICODE, 0x46 )  
  DIKS_CAPITAL_G   DFB_KEY( UNICODE, 0x47 )  
  DIKS_CAPITAL_H   DFB_KEY( UNICODE, 0x48 )  
  DIKS_CAPITAL_I   DFB_KEY( UNICODE, 0x49 )  
  DIKS_CAPITAL_J   DFB_KEY( UNICODE, 0x4A )  
  DIKS_CAPITAL_K   DFB_KEY( UNICODE, 0x4B )  
  DIKS_CAPITAL_L   DFB_KEY( UNICODE, 0x4C )  
  DIKS_CAPITAL_M   DFB_KEY( UNICODE, 0x4D )  
  DIKS_CAPITAL_N   DFB_KEY( UNICODE, 0x4E )  
  DIKS_CAPITAL_O   DFB_KEY( UNICODE, 0x4F )  
  DIKS_CAPITAL_P   DFB_KEY( UNICODE, 0x50 )  
  DIKS_CAPITAL_Q   DFB_KEY( UNICODE, 0x51 )  
  DIKS_CAPITAL_R   DFB_KEY( UNICODE, 0x52 )  
  DIKS_CAPITAL_S   DFB_KEY( UNICODE, 0x53 )  
  DIKS_CAPITAL_T   DFB_KEY( UNICODE, 0x54 )  
  DIKS_CAPITAL_U   DFB_KEY( UNICODE, 0x55 )  
  DIKS_CAPITAL_V   DFB_KEY( UNICODE, 0x56 )  
  DIKS_CAPITAL_W   DFB_KEY( UNICODE, 0x57 )  
  DIKS_CAPITAL_X   DFB_KEY( UNICODE, 0x58 )  
  DIKS_CAPITAL_Y   DFB_KEY( UNICODE, 0x59 )  
  DIKS_CAPITAL_Z   DFB_KEY( UNICODE, 0x5A )  
  DIKS_SQUARE_BRACKET_LEFT   DFB_KEY( UNICODE, 0x5B )  
  DIKS_BACKSLASH   DFB_KEY( UNICODE, 0x5C )  
  DIKS_SQUARE_BRACKET_RIGHT   DFB_KEY( UNICODE, 0x5D )  
  DIKS_CIRCUMFLEX_ACCENT   DFB_KEY( UNICODE, 0x5E )  
  DIKS_UNDERSCORE   DFB_KEY( UNICODE, 0x5F )  
  DIKS_GRAVE_ACCENT   DFB_KEY( UNICODE, 0x60 )  
  DIKS_SMALL_A   DFB_KEY( UNICODE, 0x61 )  
  DIKS_SMALL_B   DFB_KEY( UNICODE, 0x62 )  
  DIKS_SMALL_C   DFB_KEY( UNICODE, 0x63 )  
  DIKS_SMALL_D   DFB_KEY( UNICODE, 0x64 )  
  DIKS_SMALL_E   DFB_KEY( UNICODE, 0x65 )  
  DIKS_SMALL_F   DFB_KEY( UNICODE, 0x66 )  
  DIKS_SMALL_G   DFB_KEY( UNICODE, 0x67 )  
  DIKS_SMALL_H   DFB_KEY( UNICODE, 0x68 )  
  DIKS_SMALL_I   DFB_KEY( UNICODE, 0x69 )  
  DIKS_SMALL_J   DFB_KEY( UNICODE, 0x6A )  
  DIKS_SMALL_K   DFB_KEY( UNICODE, 0x6B )  
  DIKS_SMALL_L   DFB_KEY( UNICODE, 0x6C )  
  DIKS_SMALL_M   DFB_KEY( UNICODE, 0x6D )  
  DIKS_SMALL_N   DFB_KEY( UNICODE, 0x6E )  
  DIKS_SMALL_O   DFB_KEY( UNICODE, 0x6F )  
  DIKS_SMALL_P   DFB_KEY( UNICODE, 0x70 )  
  DIKS_SMALL_Q   DFB_KEY( UNICODE, 0x71 )  
  DIKS_SMALL_R   DFB_KEY( UNICODE, 0x72 )  
  DIKS_SMALL_S   DFB_KEY( UNICODE, 0x73 )  
  DIKS_SMALL_T   DFB_KEY( UNICODE, 0x74 )  
  DIKS_SMALL_U   DFB_KEY( UNICODE, 0x75 )  
  DIKS_SMALL_V   DFB_KEY( UNICODE, 0x76 )  
  DIKS_SMALL_W   DFB_KEY( UNICODE, 0x77 )  
  DIKS_SMALL_X   DFB_KEY( UNICODE, 0x78 )  
  DIKS_SMALL_Y   DFB_KEY( UNICODE, 0x79 )  
  DIKS_SMALL_Z   DFB_KEY( UNICODE, 0x7A )  
  DIKS_CURLY_BRACKET_LEFT   DFB_KEY( UNICODE, 0x7B )  
  DIKS_VERTICAL_BAR   DFB_KEY( UNICODE, 0x7C )  
  DIKS_CURLY_BRACKET_RIGHT   DFB_KEY( UNICODE, 0x7D )  
  DIKS_TILDE   DFB_KEY( UNICODE, 0x7E )  
  DIKS_DELETE   DFB_KEY( UNICODE, 0x7F )  
  DIKS_ENTER   DIKS_RETURN  
  DIKS_CURSOR_LEFT   DFB_KEY( SPECIAL, 0x00 )  
  DIKS_CURSOR_RIGHT   DFB_KEY( SPECIAL, 0x01 )  
  DIKS_CURSOR_UP   DFB_KEY( SPECIAL, 0x02 )  
  DIKS_CURSOR_DOWN   DFB_KEY( SPECIAL, 0x03 )  
  DIKS_INSERT   DFB_KEY( SPECIAL, 0x04 )  
  DIKS_HOME   DFB_KEY( SPECIAL, 0x05 )  
  DIKS_END   DFB_KEY( SPECIAL, 0x06 )  
  DIKS_PAGE_UP   DFB_KEY( SPECIAL, 0x07 )  
  DIKS_PAGE_DOWN   DFB_KEY( SPECIAL, 0x08 )  
  DIKS_PRINT   DFB_KEY( SPECIAL, 0x09 )  
  DIKS_PAUSE   DFB_KEY( SPECIAL, 0x0A )  
  DIKS_OK   DFB_KEY( SPECIAL, 0x0B )  
  DIKS_SELECT   DFB_KEY( SPECIAL, 0x0C )  
  DIKS_GOTO   DFB_KEY( SPECIAL, 0x0D )  
  DIKS_CLEAR   DFB_KEY( SPECIAL, 0x0E )  
  DIKS_POWER   DFB_KEY( SPECIAL, 0x0F )  
  DIKS_POWER2   DFB_KEY( SPECIAL, 0x10 )  
  DIKS_OPTION   DFB_KEY( SPECIAL, 0x11 )  
  DIKS_MENU   DFB_KEY( SPECIAL, 0x12 )  
  DIKS_HELP   DFB_KEY( SPECIAL, 0x13 )  
  DIKS_INFO   DFB_KEY( SPECIAL, 0x14 )  
  DIKS_TIME   DFB_KEY( SPECIAL, 0x15 )  
  DIKS_VENDOR   DFB_KEY( SPECIAL, 0x16 )  
  DIKS_ARCHIVE   DFB_KEY( SPECIAL, 0x17 )  
  DIKS_PROGRAM   DFB_KEY( SPECIAL, 0x18 )  
  DIKS_CHANNEL   DFB_KEY( SPECIAL, 0x19 )  
  DIKS_FAVORITES   DFB_KEY( SPECIAL, 0x1A )  
  DIKS_EPG   DFB_KEY( SPECIAL, 0x1B )  
  DIKS_PVR   DFB_KEY( SPECIAL, 0x1C )  
  DIKS_MHP   DFB_KEY( SPECIAL, 0x1D )  
  DIKS_LANGUAGE   DFB_KEY( SPECIAL, 0x1E )  
  DIKS_TITLE   DFB_KEY( SPECIAL, 0x1F )  
  DIKS_SUBTITLE   DFB_KEY( SPECIAL, 0x20 )  
  DIKS_ANGLE   DFB_KEY( SPECIAL, 0x21 )  
  DIKS_ZOOM   DFB_KEY( SPECIAL, 0x22 )  
  DIKS_MODE   DFB_KEY( SPECIAL, 0x23 )  
  DIKS_KEYBOARD   DFB_KEY( SPECIAL, 0x24 )  
  DIKS_PC   DFB_KEY( SPECIAL, 0x25 )  
  DIKS_SCREEN   DFB_KEY( SPECIAL, 0x26 )  
  DIKS_TV   DFB_KEY( SPECIAL, 0x27 )  
  DIKS_TV2   DFB_KEY( SPECIAL, 0x28 )  
  DIKS_VCR   DFB_KEY( SPECIAL, 0x29 )  
  DIKS_VCR2   DFB_KEY( SPECIAL, 0x2A )  
  DIKS_SAT   DFB_KEY( SPECIAL, 0x2B )  
  DIKS_SAT2   DFB_KEY( SPECIAL, 0x2C )  
  DIKS_CD   DFB_KEY( SPECIAL, 0x2D )  
  DIKS_TAPE   DFB_KEY( SPECIAL, 0x2E )  
  DIKS_RADIO   DFB_KEY( SPECIAL, 0x2F )  
  DIKS_TUNER   DFB_KEY( SPECIAL, 0x30 )  
  DIKS_PLAYER   DFB_KEY( SPECIAL, 0x31 )  
  DIKS_TEXT   DFB_KEY( SPECIAL, 0x32 )  
  DIKS_DVD   DFB_KEY( SPECIAL, 0x33 )  
  DIKS_AUX   DFB_KEY( SPECIAL, 0x34 )  
  DIKS_MP3   DFB_KEY( SPECIAL, 0x35 )  
  DIKS_PHONE   DFB_KEY( SPECIAL, 0x36 )  
  DIKS_AUDIO   DFB_KEY( SPECIAL, 0x37 )  
  DIKS_VIDEO   DFB_KEY( SPECIAL, 0x38 )  
  DIKS_INTERNET   DFB_KEY( SPECIAL, 0x39 )  
  DIKS_MAIL   DFB_KEY( SPECIAL, 0x3A )  
  DIKS_NEWS   DFB_KEY( SPECIAL, 0x3B )  
  DIKS_DIRECTORY   DFB_KEY( SPECIAL, 0x3C )  
  DIKS_LIST   DFB_KEY( SPECIAL, 0x3D )  
  DIKS_CALCULATOR   DFB_KEY( SPECIAL, 0x3E )  
  DIKS_MEMO   DFB_KEY( SPECIAL, 0x3F )  
  DIKS_CALENDAR   DFB_KEY( SPECIAL, 0x40 )  
  DIKS_EDITOR   DFB_KEY( SPECIAL, 0x41 )  
  DIKS_RED   DFB_KEY( SPECIAL, 0x42 )  
  DIKS_GREEN   DFB_KEY( SPECIAL, 0x43 )  
  DIKS_YELLOW   DFB_KEY( SPECIAL, 0x44 )  
  DIKS_BLUE   DFB_KEY( SPECIAL, 0x45 )  
  DIKS_CHANNEL_UP   DFB_KEY( SPECIAL, 0x46 )  
  DIKS_CHANNEL_DOWN   DFB_KEY( SPECIAL, 0x47 )  
  DIKS_BACK   DFB_KEY( SPECIAL, 0x48 )  
  DIKS_FORWARD   DFB_KEY( SPECIAL, 0x49 )  
  DIKS_FIRST   DFB_KEY( SPECIAL, 0x4A )  
  DIKS_LAST   DFB_KEY( SPECIAL, 0x4B )  
  DIKS_VOLUME_UP   DFB_KEY( SPECIAL, 0x4C )  
  DIKS_VOLUME_DOWN   DFB_KEY( SPECIAL, 0x4D )  
  DIKS_MUTE   DFB_KEY( SPECIAL, 0x4E )  
  DIKS_AB   DFB_KEY( SPECIAL, 0x4F )  
  DIKS_PLAYPAUSE   DFB_KEY( SPECIAL, 0x50 )  
  DIKS_PLAY   DFB_KEY( SPECIAL, 0x51 )  
  DIKS_STOP   DFB_KEY( SPECIAL, 0x52 )  
  DIKS_RESTART   DFB_KEY( SPECIAL, 0x53 )  
  DIKS_SLOW   DFB_KEY( SPECIAL, 0x54 )  
  DIKS_FAST   DFB_KEY( SPECIAL, 0x55 )  
  DIKS_RECORD   DFB_KEY( SPECIAL, 0x56 )  
  DIKS_EJECT   DFB_KEY( SPECIAL, 0x57 )  
  DIKS_SHUFFLE   DFB_KEY( SPECIAL, 0x58 )  
  DIKS_REWIND   DFB_KEY( SPECIAL, 0x59 )  
  DIKS_FASTFORWARD   DFB_KEY( SPECIAL, 0x5A )  
  DIKS_PREVIOUS   DFB_KEY( SPECIAL, 0x5B )  
  DIKS_NEXT   DFB_KEY( SPECIAL, 0x5C )  
  DIKS_BEGIN   DFB_KEY( SPECIAL, 0x5D )  
  DIKS_DIGITS   DFB_KEY( SPECIAL, 0x5E )  
  DIKS_TEEN   DFB_KEY( SPECIAL, 0x5F )  
  DIKS_TWEN   DFB_KEY( SPECIAL, 0x60 )  
  DIKS_BREAK   DFB_KEY( SPECIAL, 0x61 )  
  DIKS_EXIT   DFB_KEY( SPECIAL, 0x62 )  
  DIKS_SETUP   DFB_KEY( SPECIAL, 0x63 )  
  DIKS_CURSOR_LEFT_UP   DFB_KEY( SPECIAL, 0x64 )  
  DIKS_CURSOR_LEFT_DOWN   DFB_KEY( SPECIAL, 0x65 )  
  DIKS_CURSOR_UP_RIGHT   DFB_KEY( SPECIAL, 0x66 )  
  DIKS_CURSOR_DOWN_RIGHT   DFB_KEY( SPECIAL, 0x67 )  
  DIKS_F1   DFB_FUNCTION_KEY( 1 )  
  DIKS_F2   DFB_FUNCTION_KEY( 2 )  
  DIKS_F3   DFB_FUNCTION_KEY( 3 )  
  DIKS_F4   DFB_FUNCTION_KEY( 4 )  
  DIKS_F5   DFB_FUNCTION_KEY( 5 )  
  DIKS_F6   DFB_FUNCTION_KEY( 6 )  
  DIKS_F7   DFB_FUNCTION_KEY( 7 )  
  DIKS_F8   DFB_FUNCTION_KEY( 8 )  
  DIKS_F9   DFB_FUNCTION_KEY( 9 )  
  DIKS_F10   DFB_FUNCTION_KEY( 10 )  
  DIKS_F11   DFB_FUNCTION_KEY( 11 )  
  DIKS_F12   DFB_FUNCTION_KEY( 12 )  
  DIKS_SHIFT   DFB_MODIFIER_KEY( DIMKI_SHIFT )  
  DIKS_CONTROL   DFB_MODIFIER_KEY( DIMKI_CONTROL )  
  DIKS_ALT   DFB_MODIFIER_KEY( DIMKI_ALT )  
  DIKS_ALTGR   DFB_MODIFIER_KEY( DIMKI_ALTGR )  
  DIKS_META   DFB_MODIFIER_KEY( DIMKI_META )  
  DIKS_SUPER   DFB_MODIFIER_KEY( DIMKI_SUPER )  
  DIKS_HYPER   DFB_MODIFIER_KEY( DIMKI_HYPER )  
  DIKS_CAPS_LOCK   DFB_KEY( LOCK, 0x00 )  
  DIKS_NUM_LOCK   DFB_KEY( LOCK, 0x01 )  
  DIKS_SCROLL_LOCK   DFB_KEY( LOCK, 0x02 )  
  DIKS_DEAD_ABOVEDOT   DFB_KEY( DEAD, 0x00 )  
  DIKS_DEAD_ABOVERING   DFB_KEY( DEAD, 0x01 )  
  DIKS_DEAD_ACUTE   DFB_KEY( DEAD, 0x02 )  
  DIKS_DEAD_BREVE   DFB_KEY( DEAD, 0x03 )  
  DIKS_DEAD_CARON   DFB_KEY( DEAD, 0x04 )  
  DIKS_DEAD_CEDILLA   DFB_KEY( DEAD, 0x05 )  
  DIKS_DEAD_CIRCUMFLEX   DFB_KEY( DEAD, 0x06 )  
  DIKS_DEAD_DIAERESIS   DFB_KEY( DEAD, 0x07 )  
  DIKS_DEAD_DOUBLEACUTE   DFB_KEY( DEAD, 0x08 )  
  DIKS_DEAD_GRAVE   DFB_KEY( DEAD, 0x09 )  
  DIKS_DEAD_IOTA   DFB_KEY( DEAD, 0x0A )  
  DIKS_DEAD_MACRON   DFB_KEY( DEAD, 0x0B )  
  DIKS_DEAD_OGONEK   DFB_KEY( DEAD, 0x0C )  
  DIKS_DEAD_SEMIVOICED_SOUND   DFB_KEY( DEAD, 0x0D )  
  DIKS_DEAD_TILDE   DFB_KEY( DEAD, 0x0E )  
  DIKS_DEAD_VOICED_SOUND   DFB_KEY( DEAD, 0x0F )  
  DIKS_CUSTOM0   DFB_CUSTOM_KEY( 0 )  
  DIKS_CUSTOM1   DFB_CUSTOM_KEY( 1 )  
  DIKS_CUSTOM2   DFB_CUSTOM_KEY( 2 )  
  DIKS_CUSTOM3   DFB_CUSTOM_KEY( 3 )  
  DIKS_CUSTOM4   DFB_CUSTOM_KEY( 4 )  
  DIKS_CUSTOM5   DFB_CUSTOM_KEY( 5 )  
  DIKS_CUSTOM6   DFB_CUSTOM_KEY( 6 )  
  DIKS_CUSTOM7   DFB_CUSTOM_KEY( 7 )  
  DIKS_CUSTOM8   DFB_CUSTOM_KEY( 8 )  
  DIKS_CUSTOM9   DFB_CUSTOM_KEY( 9 )  
  DIKS_CUSTOM10   DFB_CUSTOM_KEY( 10 )  
  DIKS_CUSTOM11   DFB_CUSTOM_KEY( 11 )  
  DIKS_CUSTOM12   DFB_CUSTOM_KEY( 12 )  
  DIKS_CUSTOM13   DFB_CUSTOM_KEY( 13 )  
  DIKS_CUSTOM14   DFB_CUSTOM_KEY( 14 )  
  DIKS_CUSTOM15   DFB_CUSTOM_KEY( 15 )  
  DIKS_CUSTOM16   DFB_CUSTOM_KEY( 16 )  
  DIKS_CUSTOM17   DFB_CUSTOM_KEY( 17 )  
  DIKS_CUSTOM18   DFB_CUSTOM_KEY( 18 )  
  DIKS_CUSTOM19   DFB_CUSTOM_KEY( 19 )  
  DIKS_CUSTOM20   DFB_CUSTOM_KEY( 20 )  
  DIKS_CUSTOM21   DFB_CUSTOM_KEY( 21 )  
  DIKS_CUSTOM22   DFB_CUSTOM_KEY( 22 )  
  DIKS_CUSTOM23   DFB_CUSTOM_KEY( 23 )  
  DIKS_CUSTOM24   DFB_CUSTOM_KEY( 24 )  
  DIKS_CUSTOM25   DFB_CUSTOM_KEY( 25 )  
  DIKS_CUSTOM26   DFB_CUSTOM_KEY( 26 )  
  DIKS_CUSTOM27   DFB_CUSTOM_KEY( 27 )  
  DIKS_CUSTOM28   DFB_CUSTOM_KEY( 28 )  
  DIKS_CUSTOM29   DFB_CUSTOM_KEY( 29 )  
  DIKS_CUSTOM30   DFB_CUSTOM_KEY( 30 )  
  DIKS_CUSTOM31   DFB_CUSTOM_KEY( 31 )  
  DIKS_CUSTOM32   DFB_CUSTOM_KEY( 32 )  
  DIKS_CUSTOM33   DFB_CUSTOM_KEY( 33 )  
  DIKS_CUSTOM34   DFB_CUSTOM_KEY( 34 )  
  DIKS_CUSTOM35   DFB_CUSTOM_KEY( 35 )  
  DIKS_CUSTOM36   DFB_CUSTOM_KEY( 36 )  
  DIKS_CUSTOM37   DFB_CUSTOM_KEY( 37 )  
  DIKS_CUSTOM38   DFB_CUSTOM_KEY( 38 )  
  DIKS_CUSTOM39   DFB_CUSTOM_KEY( 39 )  
  DIKS_CUSTOM40   DFB_CUSTOM_KEY( 40 )  
  DIKS_CUSTOM41   DFB_CUSTOM_KEY( 41 )  
  DIKS_CUSTOM42   DFB_CUSTOM_KEY( 42 )  
  DIKS_CUSTOM43   DFB_CUSTOM_KEY( 43 )  
  DIKS_CUSTOM44   DFB_CUSTOM_KEY( 44 )  
  DIKS_CUSTOM45   DFB_CUSTOM_KEY( 45 )  
  DIKS_CUSTOM46   DFB_CUSTOM_KEY( 46 )  
  DIKS_CUSTOM47   DFB_CUSTOM_KEY( 47 )  
  DIKS_CUSTOM48   DFB_CUSTOM_KEY( 48 )  
  DIKS_CUSTOM49   DFB_CUSTOM_KEY( 49 )  
  DIKS_CUSTOM50   DFB_CUSTOM_KEY( 50 )  
  DIKS_CUSTOM51   DFB_CUSTOM_KEY( 51 )  
  DIKS_CUSTOM52   DFB_CUSTOM_KEY( 52 )  
  DIKS_CUSTOM53   DFB_CUSTOM_KEY( 53 )  
  DIKS_CUSTOM54   DFB_CUSTOM_KEY( 54 )  
  DIKS_CUSTOM55   DFB_CUSTOM_KEY( 55 )  
  DIKS_CUSTOM56   DFB_CUSTOM_KEY( 56 )  
  DIKS_CUSTOM57   DFB_CUSTOM_KEY( 57 )  
  DIKS_CUSTOM58   DFB_CUSTOM_KEY( 58 )  
  DIKS_CUSTOM59   DFB_CUSTOM_KEY( 59 )  
  DIKS_CUSTOM60   DFB_CUSTOM_KEY( 60 )  
  DIKS_CUSTOM61   DFB_CUSTOM_KEY( 61 )  
  DIKS_CUSTOM62   DFB_CUSTOM_KEY( 62 )  
  DIKS_CUSTOM63   DFB_CUSTOM_KEY( 63 )  
  DIKS_CUSTOM64   DFB_CUSTOM_KEY( 64 )  
  DIKS_CUSTOM65   DFB_CUSTOM_KEY( 65 )  
  DIKS_CUSTOM66   DFB_CUSTOM_KEY( 66 )  
  DIKS_CUSTOM67   DFB_CUSTOM_KEY( 67 )  
  DIKS_CUSTOM68   DFB_CUSTOM_KEY( 68 )  
  DIKS_CUSTOM69   DFB_CUSTOM_KEY( 69 )  
  DIKS_CUSTOM70   DFB_CUSTOM_KEY( 70 )  
  DIKS_CUSTOM71   DFB_CUSTOM_KEY( 71 )  
  DIKS_CUSTOM72   DFB_CUSTOM_KEY( 72 )  
  DIKS_CUSTOM73   DFB_CUSTOM_KEY( 73 )  
  DIKS_CUSTOM74   DFB_CUSTOM_KEY( 74 )  
  DIKS_CUSTOM75   DFB_CUSTOM_KEY( 75 )  
  DIKS_CUSTOM76   DFB_CUSTOM_KEY( 76 )  
  DIKS_CUSTOM77   DFB_CUSTOM_KEY( 77 )  
  DIKS_CUSTOM78   DFB_CUSTOM_KEY( 78 )  
  DIKS_CUSTOM79   DFB_CUSTOM_KEY( 79 )  
  DIKS_CUSTOM80   DFB_CUSTOM_KEY( 80 )  
  DIKS_CUSTOM81   DFB_CUSTOM_KEY( 81 )  
  DIKS_CUSTOM82   DFB_CUSTOM_KEY( 82 )  
  DIKS_CUSTOM83   DFB_CUSTOM_KEY( 83 )  
  DIKS_CUSTOM84   DFB_CUSTOM_KEY( 84 )  
  DIKS_CUSTOM85   DFB_CUSTOM_KEY( 85 )  
  DIKS_CUSTOM86   DFB_CUSTOM_KEY( 86 )  
  DIKS_CUSTOM87   DFB_CUSTOM_KEY( 87 )  
  DIKS_CUSTOM88   DFB_CUSTOM_KEY( 88 )  
  DIKS_CUSTOM89   DFB_CUSTOM_KEY( 89 )  
  DIKS_CUSTOM90   DFB_CUSTOM_KEY( 90 )  
  DIKS_CUSTOM91   DFB_CUSTOM_KEY( 91 )  
  DIKS_CUSTOM92   DFB_CUSTOM_KEY( 92 )  
  DIKS_CUSTOM93   DFB_CUSTOM_KEY( 93 )  
  DIKS_CUSTOM94   DFB_CUSTOM_KEY( 94 )  
  DIKS_CUSTOM95   DFB_CUSTOM_KEY( 95 )  
  DIKS_CUSTOM96   DFB_CUSTOM_KEY( 96 )  
  DIKS_CUSTOM97   DFB_CUSTOM_KEY( 97 )  
  DIKS_CUSTOM98   DFB_CUSTOM_KEY( 98 )  
  DIKS_CUSTOM99   DFB_CUSTOM_KEY( 99 )  
  DIKS_CUSTOM100   DFB_CUSTOM_KEY( 100 )  
  DIKS_CUSTOM101   DFB_CUSTOM_KEY( 101 )  
  DIKS_CUSTOM102   DFB_CUSTOM_KEY( 102 )  
  DIKS_CUSTOM103   DFB_CUSTOM_KEY( 103 )  
  DIKS_CUSTOM104   DFB_CUSTOM_KEY( 104 )  
  DIKS_CUSTOM105   DFB_CUSTOM_KEY( 105 )  
  DIKS_CUSTOM106   DFB_CUSTOM_KEY( 106 )  
  DIKS_CUSTOM107   DFB_CUSTOM_KEY( 107 )  
  DIKS_CUSTOM108   DFB_CUSTOM_KEY( 108 )  
  DIKS_CUSTOM109   DFB_CUSTOM_KEY( 109 )  
  DIKS_CUSTOM110   DFB_CUSTOM_KEY( 110 )  
  DIKS_CUSTOM111   DFB_CUSTOM_KEY( 111 )  
  DIKS_CUSTOM112   DFB_CUSTOM_KEY( 112 )  
  DIKS_CUSTOM113   DFB_CUSTOM_KEY( 113 )  
  DIKS_CUSTOM114   DFB_CUSTOM_KEY( 114 )  
  DIKS_CUSTOM115   DFB_CUSTOM_KEY( 115 )  
  DIKS_CUSTOM116   DFB_CUSTOM_KEY( 116 )  
  DIKS_CUSTOM117   DFB_CUSTOM_KEY( 117 )  
  DIKS_CUSTOM118   DFB_CUSTOM_KEY( 118 )  
  DIKS_CUSTOM119   DFB_CUSTOM_KEY( 119 )  
  DIKS_CUSTOM120   DFB_CUSTOM_KEY( 120 )  
  DIKS_CUSTOM121   DFB_CUSTOM_KEY( 121 )  
  DIKS_CUSTOM122   DFB_CUSTOM_KEY( 122 )  
  DIKS_CUSTOM123   DFB_CUSTOM_KEY( 123 )  
  DIKS_CUSTOM124   DFB_CUSTOM_KEY( 124 )  
  DIKS_CUSTOM125   DFB_CUSTOM_KEY( 125 )  
  DIKS_CUSTOM126   DFB_CUSTOM_KEY( 126 )  
  DIKS_CUSTOM127   DFB_CUSTOM_KEY( 127 )  
  DIKS_CUSTOM128   DFB_CUSTOM_KEY( 128 )  
  DIKS_CUSTOM129   DFB_CUSTOM_KEY( 129 )  
  DIKS_CUSTOM130   DFB_CUSTOM_KEY( 130 )  
  DIKS_CUSTOM131   DFB_CUSTOM_KEY( 131 )  
  DIKS_CUSTOM132   DFB_CUSTOM_KEY( 132 )  
  DIKS_CUSTOM133   DFB_CUSTOM_KEY( 133 )  
  DIKS_CUSTOM134   DFB_CUSTOM_KEY( 134 )  
  DIKS_CUSTOM135   DFB_CUSTOM_KEY( 135 )  
  DIKS_CUSTOM136   DFB_CUSTOM_KEY( 136 )  
  DIKS_CUSTOM137   DFB_CUSTOM_KEY( 137 )  
  DIKS_CUSTOM138   DFB_CUSTOM_KEY( 138 )  
  DIKS_CUSTOM139   DFB_CUSTOM_KEY( 139 )  
  DIKS_CUSTOM140   DFB_CUSTOM_KEY( 140 )  
  DIKS_CUSTOM141   DFB_CUSTOM_KEY( 141 )  
  DIKS_CUSTOM142   DFB_CUSTOM_KEY( 142 )  
  DIKS_CUSTOM143   DFB_CUSTOM_KEY( 143 )  
  DIKS_CUSTOM144   DFB_CUSTOM_KEY( 144 )  
  DIKS_CUSTOM145   DFB_CUSTOM_KEY( 145 )  
  DIKS_CUSTOM146   DFB_CUSTOM_KEY( 146 )  
  DIKS_CUSTOM147   DFB_CUSTOM_KEY( 147 )  
  DIKS_CUSTOM148   DFB_CUSTOM_KEY( 148 )  
  DIKS_CUSTOM149   DFB_CUSTOM_KEY( 149 )  
  DIKS_CUSTOM150   DFB_CUSTOM_KEY( 150 )  
  DIKS_CUSTOM151   DFB_CUSTOM_KEY( 151 )  
  DIKS_CUSTOM152   DFB_CUSTOM_KEY( 152 )  
  DIKS_CUSTOM153   DFB_CUSTOM_KEY( 153 )  
  DIKS_CUSTOM154   DFB_CUSTOM_KEY( 154 )  
  DIKS_CUSTOM155   DFB_CUSTOM_KEY( 155 )  
  DIKS_CUSTOM156   DFB_CUSTOM_KEY( 156 )  
  DIKS_CUSTOM157   DFB_CUSTOM_KEY( 157 )  
  DIKS_CUSTOM158   DFB_CUSTOM_KEY( 158 )  
  DIKS_CUSTOM159   DFB_CUSTOM_KEY( 159 )  
  DIKS_CUSTOM160   DFB_CUSTOM_KEY( 160 )  
  DIKS_CUSTOM161   DFB_CUSTOM_KEY( 161 )  
  DIKS_CUSTOM162   DFB_CUSTOM_KEY( 162 )  
  DIKS_CUSTOM163   DFB_CUSTOM_KEY( 163 )  
  DIKS_CUSTOM164   DFB_CUSTOM_KEY( 164 )  
  DIKS_CUSTOM165   DFB_CUSTOM_KEY( 165 )  
  DIKS_CUSTOM166   DFB_CUSTOM_KEY( 166 )  
  DIKS_CUSTOM167   DFB_CUSTOM_KEY( 167 )  
  DIKS_CUSTOM168   DFB_CUSTOM_KEY( 168 )  
  DIKS_CUSTOM169   DFB_CUSTOM_KEY( 169 )  
  DIKS_CUSTOM170   DFB_CUSTOM_KEY( 170 )  
  DIKS_CUSTOM171   DFB_CUSTOM_KEY( 171 )  
  DIKS_CUSTOM172   DFB_CUSTOM_KEY( 172 )  
  DIKS_CUSTOM173   DFB_CUSTOM_KEY( 173 )  
  DIKS_CUSTOM174   DFB_CUSTOM_KEY( 174 )  
  DIKS_CUSTOM175   DFB_CUSTOM_KEY( 175 )  
  DIKS_CUSTOM176   DFB_CUSTOM_KEY( 176 )  
  DIKS_CUSTOM177   DFB_CUSTOM_KEY( 177 )  
  DIKS_CUSTOM178   DFB_CUSTOM_KEY( 178 )  
  DIKS_CUSTOM179   DFB_CUSTOM_KEY( 179 )  
  DIKS_CUSTOM180   DFB_CUSTOM_KEY( 180 )  
  DIKS_CUSTOM181   DFB_CUSTOM_KEY( 181 )  
  DIKS_CUSTOM182   DFB_CUSTOM_KEY( 182 )  
  DIKS_CUSTOM183   DFB_CUSTOM_KEY( 183 )  
  DIKS_CUSTOM184   DFB_CUSTOM_KEY( 184 )  
  DIKS_CUSTOM185   DFB_CUSTOM_KEY( 185 )  
  DIKS_CUSTOM186   DFB_CUSTOM_KEY( 186 )  
  DIKS_CUSTOM187   DFB_CUSTOM_KEY( 187 )  
  DIKS_CUSTOM188   DFB_CUSTOM_KEY( 188 )  
  DIKS_CUSTOM189   DFB_CUSTOM_KEY( 189 )  
  DIKS_CUSTOM190   DFB_CUSTOM_KEY( 190 )  
  DIKS_CUSTOM191   DFB_CUSTOM_KEY( 191 )  
  DIKS_CUSTOM192   DFB_CUSTOM_KEY( 192 )  
  DIKS_CUSTOM193   DFB_CUSTOM_KEY( 193 )  
  DIKS_CUSTOM194   DFB_CUSTOM_KEY( 194 )  
  DIKS_CUSTOM195   DFB_CUSTOM_KEY( 195 )  
  DIKS_CUSTOM196   DFB_CUSTOM_KEY( 196 )  
  DIKS_CUSTOM197   DFB_CUSTOM_KEY( 197 )  
  DIKS_CUSTOM198   DFB_CUSTOM_KEY( 198 )  
  DIKS_CUSTOM199   DFB_CUSTOM_KEY( 199 )  
  DIKS_CUSTOM200   DFB_CUSTOM_KEY( 200 )  
  DIKS_CUSTOM201   DFB_CUSTOM_KEY( 201 )  
  DIKS_CUSTOM202   DFB_CUSTOM_KEY( 202 )  
  DIKS_CUSTOM203   DFB_CUSTOM_KEY( 203 )  
  DIKS_CUSTOM204   DFB_CUSTOM_KEY( 204 )  
  DIKS_CUSTOM205   DFB_CUSTOM_KEY( 205 )  
  DIKS_CUSTOM206   DFB_CUSTOM_KEY( 206 )  
  DIKS_CUSTOM207   DFB_CUSTOM_KEY( 207 )  
  DIKS_CUSTOM208   DFB_CUSTOM_KEY( 208 )  
  DIKS_CUSTOM209   DFB_CUSTOM_KEY( 209 )  
  DIKS_CUSTOM210   DFB_CUSTOM_KEY( 210 )  
  DIKS_CUSTOM211   DFB_CUSTOM_KEY( 211 )  
  DIKS_CUSTOM212   DFB_CUSTOM_KEY( 212 )  
  DIKS_CUSTOM213   DFB_CUSTOM_KEY( 213 )  
  DIKS_CUSTOM214   DFB_CUSTOM_KEY( 214 )  
  DIKS_CUSTOM215   DFB_CUSTOM_KEY( 215 )  
  DIKS_CUSTOM216   DFB_CUSTOM_KEY( 216 )  
  DIKS_CUSTOM217   DFB_CUSTOM_KEY( 217 )  
  DIKS_CUSTOM218   DFB_CUSTOM_KEY( 218 )  
  DIKS_CUSTOM219   DFB_CUSTOM_KEY( 219 )  
  DIKS_CUSTOM220   DFB_CUSTOM_KEY( 220 )  
  DIKS_CUSTOM221   DFB_CUSTOM_KEY( 221 )  
  DIKS_CUSTOM222   DFB_CUSTOM_KEY( 222 )  
  DIKS_CUSTOM223   DFB_CUSTOM_KEY( 223 )  
  DIKS_CUSTOM224   DFB_CUSTOM_KEY( 224 )  
  DIKS_CUSTOM225   DFB_CUSTOM_KEY( 225 )  
  DIKS_CUSTOM226   DFB_CUSTOM_KEY( 226 )  
  DIKS_CUSTOM227   DFB_CUSTOM_KEY( 227 )  
  DIKS_CUSTOM228   DFB_CUSTOM_KEY( 228 )  
  DIKS_CUSTOM229   DFB_CUSTOM_KEY( 229 )  
  DIKS_CUSTOM230   DFB_CUSTOM_KEY( 230 )  
  DIKS_CUSTOM231   DFB_CUSTOM_KEY( 231 )  
  DIKS_CUSTOM232   DFB_CUSTOM_KEY( 232 )  
  DIKS_CUSTOM233   DFB_CUSTOM_KEY( 233 )  
  DIKS_CUSTOM234   DFB_CUSTOM_KEY( 234 )  
  DIKS_CUSTOM235   DFB_CUSTOM_KEY( 235 )  
  DIKS_CUSTOM236   DFB_CUSTOM_KEY( 236 )  
  DIKS_CUSTOM237   DFB_CUSTOM_KEY( 237 )  
  DIKS_CUSTOM238   DFB_CUSTOM_KEY( 238 )  
  DIKS_CUSTOM239   DFB_CUSTOM_KEY( 239 )  
  DIKS_CUSTOM240   DFB_CUSTOM_KEY( 240 )  
  DIKS_CUSTOM241   DFB_CUSTOM_KEY( 241 )  
  DIKS_CUSTOM242   DFB_CUSTOM_KEY( 242 )  
  DIKS_CUSTOM243   DFB_CUSTOM_KEY( 243 )  
  DIKS_CUSTOM244   DFB_CUSTOM_KEY( 244 )  
  DIKS_CUSTOM245   DFB_CUSTOM_KEY( 245 )  
  DIKS_CUSTOM246   DFB_CUSTOM_KEY( 246 )  
  DIKS_CUSTOM247   DFB_CUSTOM_KEY( 247 )  
  DIKS_CUSTOM248   DFB_CUSTOM_KEY( 248 )  
  DIKS_CUSTOM249   DFB_CUSTOM_KEY( 249 )  
  DIKS_CUSTOM250   DFB_CUSTOM_KEY( 250 )  
  DIKS_CUSTOM251   DFB_CUSTOM_KEY( 251 )  
  DIKS_CUSTOM252   DFB_CUSTOM_KEY( 252 )  
  DIKS_CUSTOM253   DFB_CUSTOM_KEY( 253 )  
  DIKS_CUSTOM254   DFB_CUSTOM_KEY( 254 )  
  DIKS_CUSTOM255   DFB_CUSTOM_KEY( 255 )  


DFBInputDeviceLockState

Flags specifying the key locks that are currently active.

  DILS_SCROLL   0x00000001   scroll-lock active?
  DILS_NUM   0x00000002   num-lock active?
  DILS_CAPS   0x00000004   caps-lock active?


DFBInputDeviceKeymapSymbolIndex

Groups and levels as an index to the symbol array.

  DIKSI_BASE   0x00   base group, base level (no modifier pressed)
  DIKSI_BASE_SHIFT   0x01   base group, shifted level (with Shift pressed)
  DIKSI_ALT   0x02   alternative group, base level (with AltGr pressed)
  DIKSI_ALT_SHIFT   0x03   alternative group, shifted level (with AltGr and Shift pressed)
  DIKSI_LAST   DIKSI_ALT_SHIFT  


DFBInputDeviceKeymapEntry

One entry in the keymap of an input device.

  int   code   hardware key code
  DFBInputDeviceLockState   locks   locks activating shifted level
  DFBInputDeviceKeyIdentifier   identifier   basic mapping
  DFBInputDeviceKeySymbol   symbols[DIKSI_LAST+1]   advanced key mapping


DIRECTFBGL_INTERFACE_VERSION

The DirectFBGL interface version.

1


DFBGLAttributes

Attributes of an OpenGL context.

  int   buffer_size  
  int   depth_size  
  int   stencil_size  
  int   aux_buffers  
  int   red_size  
  int   green_size  
  int   blue_size  
  int   alpha_size  
  int   accum_red_size  
  int   accum_green_size  
  int   accum_blue_size  
  int   accum_alpha_size  
  DFBBoolean   double_buffer  
  DFBBoolean   stereo  


Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License