| Reference Manual - 1.4.3

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

### 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_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 |  | 0x010F000F |  | All drawing/blitting functions.
| DFXL_ALL_DRAW |  | 0x0000000F |  | 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
| 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_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 |  | 0x0071307F |  | 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 |  |

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

### 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

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.

### 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)

### DFB_NUM_PIXELFORMATS

####

35

### 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.

### 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

### 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

### 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_NTSC_443 |  | 0x00000800 |  | NTSC with 4.43MHz colour carrier
| DSETV_DIGITAL |  | 0x00000400 |  | TV standards from the digital domain. specify resolution, scantype, frequency.
| 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_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_ALL |  | 0x003F033F |  | 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_REPEAT |  | 0x00000010 |  | repeat event, e.g. repeating key
| DWEF_ALL |  | 0x00000011 |  | 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 |  |

### 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

### video

#### 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 video 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 video input buffer.

### video

#### 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.

### 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 ) |  |

### 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 |  |

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