| directfb.h | | directfb.h | |
| | | | |
| skipping to change at line 921 | | skipping to change at line 921 | |
| DWCAPS_INPUTONLY = 0x00000004, /* The window has no surface. | | DWCAPS_INPUTONLY = 0x00000004, /* The window has no surface. | |
| You can not draw to it but it | | You can not draw to it but it | |
| receives events */ | | receives events */ | |
| DWCAPS_NODECORATION = 0x00000008, /* The window won't be decorated. *
/ | | DWCAPS_NODECORATION = 0x00000008, /* The window won't be decorated. *
/ | |
| | | | |
| DWCAPS_SUBWINDOW = 0x00000010, /* Not a top level window. */ | | DWCAPS_SUBWINDOW = 0x00000010, /* Not a top level window. */ | |
| | | | |
| DWCAPS_COLOR = 0x00000020, /* The window has no buffer; | | DWCAPS_COLOR = 0x00000020, /* The window has no buffer; | |
| it consumes no backing store. | | it consumes no backing store. | |
| It is filled with a constant col
or | | It is filled with a constant col
or | |
|
| and it receives events */ | | and it receives events. The colo | |
| | | r is | |
| | | never specified premultiplied. * | |
| | | / | |
| | | | |
| DWCAPS_NOFOCUS = 0x00000100, /* Window will never get focus or r
eceive key events, unless it grabs them. */ | | DWCAPS_NOFOCUS = 0x00000100, /* Window will never get focus or r
eceive key events, unless it grabs them. */ | |
| | | | |
| DWCAPS_ALL = 0x0000013F /* All of these. */ | | DWCAPS_ALL = 0x0000013F /* All of these. */ | |
| } DFBWindowCapabilities; | | } DFBWindowCapabilities; | |
| | | | |
| /* | | /* | |
| * Flags controlling the appearance and behaviour of the window. | | * Flags controlling the appearance and behaviour of the window. | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| | | | |
| skipping to change at line 952 | | skipping to change at line 953 | |
| with the mouse */ | | with the mouse */ | |
| DWOP_KEEP_SIZE = 0x00000020, /* window can't be resized | | DWOP_KEEP_SIZE = 0x00000020, /* window can't be resized | |
| with the mouse */ | | with the mouse */ | |
| DWOP_KEEP_STACKING = 0x00000040, /* window can't be raised | | DWOP_KEEP_STACKING = 0x00000040, /* window can't be raised | |
| or lowered with the mouse */ | | or lowered with the mouse */ | |
| DWOP_GHOST = 0x00001000, /* never get focus or input, | | DWOP_GHOST = 0x00001000, /* never get focus or input, | |
| clicks will go through, | | clicks will go through, | |
| implies DWOP_KEEP... */ | | implies DWOP_KEEP... */ | |
| DWOP_INDESTRUCTIBLE = 0x00002000, /* window can't be destroyed | | DWOP_INDESTRUCTIBLE = 0x00002000, /* window can't be destroyed | |
| by internal shortcut */ | | by internal shortcut */ | |
|
| | | DWOP_INPUTONLY = 0x00004000, /* The window will be input only. | |
| | | It will receive events but is no | |
| | | t shown. | |
| | | Note that toggling this bit will | |
| | | not | |
| | | free/assign the window surface. | |
| | | */ | |
| DWOP_SCALE = 0x00010000, /* Surface won't be changed if wind
ow size on screen changes. The surface | | DWOP_SCALE = 0x00010000, /* Surface won't be changed if wind
ow size on screen changes. The surface | |
| can be resized separately using
IDirectFBWindow::ResizeSurface(). */ | | can be resized separately using
IDirectFBWindow::ResizeSurface(). */ | |
| | | | |
| DWOP_KEEP_ABOVE = 0x00100000, /* Keep window above parent window.
*/ | | DWOP_KEEP_ABOVE = 0x00100000, /* Keep window above parent window.
*/ | |
| DWOP_KEEP_UNDER = 0x00200000, /* Keep window under parent window.
*/ | | DWOP_KEEP_UNDER = 0x00200000, /* Keep window under parent window.
*/ | |
| DWOP_FOLLOW_BOUNDS = 0x00400000, /* Follow window bounds from parent
. */ | | DWOP_FOLLOW_BOUNDS = 0x00400000, /* Follow window bounds from parent
. */ | |
| | | | |
|
| DWOP_ALL = 0x0071307F /* all possible options */ | | DWOP_ALL = 0x0071707F /* all possible options */ | |
| } DFBWindowOptions; | | } DFBWindowOptions; | |
| | | | |
| /* | | /* | |
| * The stacking class restricts the stacking order of windows. | | * The stacking class restricts the stacking order of windows. | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| DWSC_MIDDLE = 0x00000000, /* This is the default stacking | | DWSC_MIDDLE = 0x00000000, /* This is the default stacking | |
| class of new windows. */ | | class of new windows. */ | |
| DWSC_UPPER = 0x00000001, /* Window is always above windows | | DWSC_UPPER = 0x00000001, /* Window is always above windows | |
| in the middle stacking class. | | in the middle stacking class. | |
| | | | |
| skipping to change at line 1201 | | skipping to change at line 1206 | |
| | | | |
| /* 24 bit ARGB (3 byte, alpha 8@16, red 5@11, green 6@5, blue 5@0) */ | | /* 24 bit ARGB (3 byte, alpha 8@16, red 5@11, green 6@5, blue 5@0) */ | |
| DSPF_ARGB8565 = DFB_SURFACE_PIXELFORMAT( 32, 16, 8, 1, 0, 3, 0, 0, 0,
0, 0 ), | | DSPF_ARGB8565 = DFB_SURFACE_PIXELFORMAT( 32, 16, 8, 1, 0, 3, 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) */ | | /* 32 bit AVYU 4:4:4 (4 byte, alpha 8@24, Cr 8@16, Y 8@8, Cb 8@0) */ | |
| DSPF_AVYU = DFB_SURFACE_PIXELFORMAT( 33, 24, 8, 1, 0, 4, 0, 0, 0,
0, 0 ), | | DSPF_AVYU = DFB_SURFACE_PIXELFORMAT( 33, 24, 8, 1, 0, 4, 0, 0, 0,
0, 0 ), | |
| | | | |
| /* 24 bit VYU 4:4:4 (3 byte, Cr 8@16, Y 8@8, Cb 8@0) */ | | /* 24 bit VYU 4:4:4 (3 byte, 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 ), | | DSPF_VYU = DFB_SURFACE_PIXELFORMAT( 34, 24, 0, 0, 0, 3, 0, 0, 0,
0, 0 ), | |
| | | | |
|
| | | /* 1 bit alpha (1 byte/ 8 pixel, LEAST significant bit used first) */ | |
| | | DSPF_A1_LSB = DFB_SURFACE_PIXELFORMAT( 35, 0, 1, 1, 1, 0, 7, 0, 0, | |
| | | 0, 0 ), | |
| | | | |
| | | /* 16 bit YUV (8 bit Y plane followed by 8 bit 2x1 subsampled V/U pl | |
| | | anes) */ | |
| | | DSPF_YV16 = DFB_SURFACE_PIXELFORMAT( 36, 16, 0, 0, 0, 1, 0, 0, 1, | |
| | | 0, 0 ), | |
| | | | |
| } DFBSurfacePixelFormat; | | } DFBSurfacePixelFormat; | |
| | | | |
| /* Number of pixelformats defined */ | | /* Number of pixelformats defined */ | |
|
| #define DFB_NUM_PIXELFORMATS 35 | | #define DFB_NUM_PIXELFORMATS 37 | |
| | | | |
| /* These macros extract information about the pixel format. */ | | /* These macros extract information about the pixel format. */ | |
| #define DFB_PIXELFORMAT_INDEX(fmt) (((fmt) & 0x0000007F) ) | | #define DFB_PIXELFORMAT_INDEX(fmt) (((fmt) & 0x0000007F) ) | |
| | | | |
| #define DFB_COLOR_BITS_PER_PIXEL(fmt) (((fmt) & 0x00000F80) >> 7) | | #define DFB_COLOR_BITS_PER_PIXEL(fmt) (((fmt) & 0x00000F80) >> 7) | |
| | | | |
| #define DFB_ALPHA_BITS_PER_PIXEL(fmt) (((fmt) & 0x0000F000) >> 12) | | #define DFB_ALPHA_BITS_PER_PIXEL(fmt) (((fmt) & 0x0000F000) >> 12) | |
| | | | |
| #define DFB_PIXELFORMAT_HAS_ALPHA(fmt) (((fmt) & 0x00010000) != 0) | | #define DFB_PIXELFORMAT_HAS_ALPHA(fmt) (((fmt) & 0x00010000) != 0) | |
| | | | |
| | | | |
| skipping to change at line 2183 | | skipping to change at line 2194 | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| DSOC_UNKNOWN = 0x00000000, /* Unknown type */ | | DSOC_UNKNOWN = 0x00000000, /* Unknown type */ | |
| | | | |
| DSOC_VGA = 0x00000001, /* VGA connector */ | | DSOC_VGA = 0x00000001, /* VGA connector */ | |
| DSOC_SCART = 0x00000002, /* SCART connector */ | | DSOC_SCART = 0x00000002, /* SCART connector */ | |
| DSOC_YC = 0x00000004, /* Y/C connector */ | | DSOC_YC = 0x00000004, /* Y/C connector */ | |
| DSOC_CVBS = 0x00000008, /* CVBS connector */ | | DSOC_CVBS = 0x00000008, /* CVBS connector */ | |
| DSOC_SCART2 = 0x00000010, /* 2nd SCART connector */ | | DSOC_SCART2 = 0x00000010, /* 2nd SCART connector */ | |
| DSOC_COMPONENT = 0x00000020, /* Component video connector */ | | DSOC_COMPONENT = 0x00000020, /* Component video connector */ | |
|
| DSOC_HDMI = 0x00000040 /* HDMI connector */ | | DSOC_HDMI = 0x00000040, /* HDMI connector */ | |
| | | DSOC_656 = 0x00000080, /* DVO connector */ | |
| } DFBScreenOutputConnectors; | | } DFBScreenOutputConnectors; | |
| | | | |
| /* | | /* | |
| * Type of output signal. | | * Type of output signal. | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| DSOS_NONE = 0x00000000, /* No signal */ | | DSOS_NONE = 0x00000000, /* No signal */ | |
| | | | |
| DSOS_VGA = 0x00000001, /* VGA signal */ | | DSOS_VGA = 0x00000001, /* VGA signal */ | |
| DSOS_YC = 0x00000002, /* Y/C signal */ | | DSOS_YC = 0x00000002, /* Y/C signal */ | |
| | | | |
| skipping to change at line 2648 | | skipping to change at line 2660 | |
| ); | | ); | |
| | | | |
| /* | | /* | |
| * Set output configuration. | | * Set output configuration. | |
| */ | | */ | |
| DFBResult (*SetOutputConfiguration) ( | | DFBResult (*SetOutputConfiguration) ( | |
| IDirectFBScreen *thiz, | | IDirectFBScreen *thiz, | |
| int output, | | int output, | |
| const DFBScreenOutputConfig *config | | const DFBScreenOutputConfig *config | |
| ); | | ); | |
|
| | | | |
| | | /** Synchronization **/ | |
| | | | |
| | | /* | |
| | | * Return current VSync count. | |
| | | */ | |
| | | DFBResult (*GetVSyncCount) ( | |
| | | IDirectFBScreen *thiz, | |
| | | unsigned long *ret_count | |
| | | ); | |
| ) | | ) | |
| | | | |
| /************************* | | /************************* | |
| * IDirectFBDisplayLayer * | | * IDirectFBDisplayLayer * | |
| *************************/ | | *************************/ | |
| | | | |
| /* | | /* | |
| * <i>No summary yet...</i> | | * <i>No summary yet...</i> | |
| */ | | */ | |
| DEFINE_INTERFACE( IDirectFBDisplayLayer, | | DEFINE_INTERFACE( IDirectFBDisplayLayer, | |
| | | | |
| skipping to change at line 3165 | | skipping to change at line 3187 | |
| DSTF_BOTTOMLEFT = DSTF_BOTTOM | DSTF_LEFT, | | DSTF_BOTTOMLEFT = DSTF_BOTTOM | DSTF_LEFT, | |
| DSTF_BOTTOMCENTER = DSTF_BOTTOM | DSTF_CENTER, | | DSTF_BOTTOMCENTER = DSTF_BOTTOM | DSTF_CENTER, | |
| DSTF_BOTTOMRIGHT = DSTF_BOTTOM | DSTF_RIGHT | | DSTF_BOTTOMRIGHT = DSTF_BOTTOM | DSTF_RIGHT | |
| } DFBSurfaceTextFlags; | | } DFBSurfaceTextFlags; | |
| | | | |
| /* | | /* | |
| * Flags defining the type of data access. | | * Flags defining the type of data access. | |
| * These are important for surface swapping management. | | * These are important for surface swapping management. | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
|
| DSLF_READ = 0x00000001, /* request read access while | | DSLF_READ = 0x00000001, /* Request read access while | |
| surface is locked */ | | surface is locked. */ | |
| DSLF_WRITE = 0x00000002 /* Request write access. If | | DSLF_WRITE = 0x00000002 /* Request write access. If | |
| specified and surface has | | specified and surface has | |
| a back buffer, it will be | | a back buffer, it will be | |
| used. Otherwise, the front | | used. Otherwise, the front | |
| buffer is used. */ | | buffer is used. */ | |
| } DFBSurfaceLockFlags; | | } DFBSurfaceLockFlags; | |
| | | | |
| /* | | /* | |
| * Available Porter/Duff rules. | | * Available Porter/Duff rules. | |
| */ | | */ | |
| | | | |
| skipping to change at line 3390 | | skipping to change at line 3412 | |
| * buffer. | | * buffer. | |
| */ | | */ | |
| DFBResult (*Lock) ( | | DFBResult (*Lock) ( | |
| IDirectFBSurface *thiz, | | IDirectFBSurface *thiz, | |
| DFBSurfaceLockFlags flags, | | DFBSurfaceLockFlags flags, | |
| void **ret_ptr, | | void **ret_ptr, | |
| int *ret_pitch | | int *ret_pitch | |
| ); | | ); | |
| | | | |
| /* | | /* | |
|
| * Returns the framebuffer offset of a locked surface. | | * Obsolete. Returns DFB_FAILURE always. | |
| * | | * | |
|
| * The surface must exist in video memory. | | * Previously returned the framebuffer offset of a locked surface. | |
| | | * However, it is not a safe API to use at all, since it is not | |
| | | * guaranteed that the offset actually belongs to fbmem (e.g. could be | |
| | | AGP memory). | |
| */ | | */ | |
| DFBResult (*GetFramebufferOffset) ( | | DFBResult (*GetFramebufferOffset) ( | |
| IDirectFBSurface *thiz, | | IDirectFBSurface *thiz, | |
| int *offset | | int *offset | |
| ); | | ); | |
| | | | |
| /* | | /* | |
| * Unlock the surface after direct access. | | * Unlock the surface after direct access. | |
| */ | | */ | |
| DFBResult (*Unlock) ( | | DFBResult (*Unlock) ( | |
| | | | |
| skipping to change at line 4080 | | skipping to change at line 4104 | |
| */ | | */ | |
| DFBResult (*BatchBlit2) ( | | DFBResult (*BatchBlit2) ( | |
| IDirectFBSurface *thiz, | | IDirectFBSurface *thiz, | |
| IDirectFBSurface *source, | | IDirectFBSurface *source, | |
| IDirectFBSurface *source2, | | IDirectFBSurface *source2, | |
| const DFBRectangle *source_rects, | | const DFBRectangle *source_rects, | |
| const DFBPoint *dest_points, | | const DFBPoint *dest_points, | |
| const DFBPoint *source2_points, | | const DFBPoint *source2_points, | |
| int num | | int num | |
| ); | | ); | |
|
| | | | |
| | | /** Buffer operations **/ | |
| | | | |
| | | /* | |
| | | * Returns the physical address of a locked surface. | |
| | | * | |
| | | * The surface must exist in a video memory pool. | |
| | | */ | |
| | | DFBResult (*GetPhysicalAddress) ( | |
| | | IDirectFBSurface *thiz, | |
| | | unsigned long *addr | |
| | | ); | |
| ) | | ) | |
| | | | |
| /******************** | | /******************** | |
| * IDirectFBPalette * | | * IDirectFBPalette * | |
| ********************/ | | ********************/ | |
| | | | |
| /* | | /* | |
| * <i>No summary yet...</i> | | * <i>No summary yet...</i> | |
| */ | | */ | |
| DEFINE_INTERFACE( IDirectFBPalette, | | DEFINE_INTERFACE( IDirectFBPalette, | |
| | | | |
| skipping to change at line 6408 | | skipping to change at line 6444 | |
| IDirectFBImageProvider **interface | | IDirectFBImageProvider **interface | |
| ); | | ); | |
| | | | |
| /* | | /* | |
| * Creates a video provider using the buffers data. | | * Creates a video provider using the buffers data. | |
| */ | | */ | |
| DFBResult (*CreateVideoProvider) ( | | DFBResult (*CreateVideoProvider) ( | |
| IDirectFBDataBuffer *thiz, | | IDirectFBDataBuffer *thiz, | |
| IDirectFBVideoProvider **interface | | IDirectFBVideoProvider **interface | |
| ); | | ); | |
|
| | | | |
| | | /* | |
| | | * Load a font using the buffer's data, given a description | |
| | | * of how to load the glyphs. | |
| | | */ | |
| | | DFBResult (*CreateFont) ( | |
| | | IDirectFBDataBuffer *thiz, | |
| | | const DFBFontDescription *desc, | |
| | | IDirectFBFont **interface | |
| | | ); | |
| ) | | ) | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 12 change blocks. |
| 8 lines changed or deleted | | 63 lines changed or added | |
|
| directfb_strings.h | | directfb_strings.h | |
| | | | |
| skipping to change at line 45 | | skipping to change at line 45 | |
| { DSPF_RGB18, "RGB18" }, \ | | { DSPF_RGB18, "RGB18" }, \ | |
| { DSPF_LUT2, "LUT2" }, \ | | { DSPF_LUT2, "LUT2" }, \ | |
| { DSPF_RGB444, "RGB444" }, \ | | { DSPF_RGB444, "RGB444" }, \ | |
| { DSPF_RGB555, "RGB555" }, \ | | { DSPF_RGB555, "RGB555" }, \ | |
| { DSPF_BGR555, "BGR555" }, \ | | { DSPF_BGR555, "BGR555" }, \ | |
| { DSPF_RGBA5551, "RGBA5551" }, \ | | { DSPF_RGBA5551, "RGBA5551" }, \ | |
| { DSPF_YUV444P, "YUV444P" }, \ | | { DSPF_YUV444P, "YUV444P" }, \ | |
| { DSPF_ARGB8565, "ARGB8565" }, \ | | { DSPF_ARGB8565, "ARGB8565" }, \ | |
| { DSPF_AVYU, "AVYU" }, \ | | { DSPF_AVYU, "AVYU" }, \ | |
| { DSPF_VYU, "VYU" }, \ | | { DSPF_VYU, "VYU" }, \ | |
|
| | | { DSPF_A1_LSB, "A1_LSB" }, \ | |
| | | { DSPF_YV16, "YV16" }, \ | |
| { DSPF_UNKNOWN, "UNKNOWN" } \ | | { DSPF_UNKNOWN, "UNKNOWN" } \ | |
| }; | | }; | |
| | | | |
| struct DFBInputDeviceTypeFlagsName { | | struct DFBInputDeviceTypeFlagsName { | |
| DFBInputDeviceTypeFlags type; | | DFBInputDeviceTypeFlags type; | |
| const char *name; | | const char *name; | |
| }; | | }; | |
| | | | |
| #define DirectFBInputDeviceTypeFlagsNames(Identifier) struct DFBInputDevice
TypeFlagsName Identifier[] = { \ | | #define DirectFBInputDeviceTypeFlagsNames(Identifier) struct DFBInputDevice
TypeFlagsName Identifier[] = { \ | |
| { DIDTF_KEYBOARD, "KEYBOARD" }, \ | | { DIDTF_KEYBOARD, "KEYBOARD" }, \ | |
| | | | |
| skipping to change at line 228 | | skipping to change at line 230 | |
| { DWOP_COLORKEYING, "COLORKEYING" }, \ | | { DWOP_COLORKEYING, "COLORKEYING" }, \ | |
| { DWOP_ALPHACHANNEL, "ALPHACHANNEL" }, \ | | { DWOP_ALPHACHANNEL, "ALPHACHANNEL" }, \ | |
| { DWOP_OPAQUE_REGION, "OPAQUE_REGION" }, \ | | { DWOP_OPAQUE_REGION, "OPAQUE_REGION" }, \ | |
| { DWOP_SHAPED, "SHAPED" }, \ | | { DWOP_SHAPED, "SHAPED" }, \ | |
| { DWOP_ALPHACHANNEL, "ALPHACHANNEL" }, \ | | { DWOP_ALPHACHANNEL, "ALPHACHANNEL" }, \ | |
| { DWOP_KEEP_POSITION, "KEEP_POSITION" }, \ | | { DWOP_KEEP_POSITION, "KEEP_POSITION" }, \ | |
| { DWOP_KEEP_SIZE, "KEEP_SIZE" }, \ | | { DWOP_KEEP_SIZE, "KEEP_SIZE" }, \ | |
| { DWOP_KEEP_STACKING, "KEEP_STACKING" }, \ | | { DWOP_KEEP_STACKING, "KEEP_STACKING" }, \ | |
| { DWOP_GHOST, "GHOST" }, \ | | { DWOP_GHOST, "GHOST" }, \ | |
| { DWOP_INDESTRUCTIBLE, "INDESTRUCTIBLE" }, \ | | { DWOP_INDESTRUCTIBLE, "INDESTRUCTIBLE" }, \ | |
|
| | | { DWOP_INPUTONLY, "INPUTONLY" }, \ | |
| { DWOP_SCALE, "SCALE" }, \ | | { DWOP_SCALE, "SCALE" }, \ | |
| { DWOP_KEEP_ABOVE, "KEEP_ABOVE" }, \ | | { DWOP_KEEP_ABOVE, "KEEP_ABOVE" }, \ | |
| { DWOP_KEEP_UNDER, "KEEP_UNDER" }, \ | | { DWOP_KEEP_UNDER, "KEEP_UNDER" }, \ | |
| { DWOP_FOLLOW_BOUNDS, "FOLLOW_BOUNDS" }, \ | | { DWOP_FOLLOW_BOUNDS, "FOLLOW_BOUNDS" }, \ | |
| { DWOP_NONE, "NONE" } \ | | { DWOP_NONE, "NONE" } \ | |
| }; | | }; | |
| | | | |
| struct DFBScreenCapabilitiesName { | | struct DFBScreenCapabilitiesName { | |
| DFBScreenCapabilities capability; | | DFBScreenCapabilities capability; | |
| const char *name; | | const char *name; | |
| | | | |
| skipping to change at line 332 | | skipping to change at line 335 | |
| }; | | }; | |
| | | | |
| #define DirectFBScreenOutputConnectorsNames(Identifier) struct DFBScreenOut
putConnectorsName Identifier[] = { \ | | #define DirectFBScreenOutputConnectorsNames(Identifier) struct DFBScreenOut
putConnectorsName Identifier[] = { \ | |
| { DSOC_VGA, "VGA" }, \ | | { DSOC_VGA, "VGA" }, \ | |
| { DSOC_SCART, "SCART" }, \ | | { DSOC_SCART, "SCART" }, \ | |
| { DSOC_YC, "YC" }, \ | | { DSOC_YC, "YC" }, \ | |
| { DSOC_CVBS, "CVBS" }, \ | | { DSOC_CVBS, "CVBS" }, \ | |
| { DSOC_SCART2, "SCART2" }, \ | | { DSOC_SCART2, "SCART2" }, \ | |
| { DSOC_COMPONENT, "COMPONENT" }, \ | | { DSOC_COMPONENT, "COMPONENT" }, \ | |
| { DSOC_HDMI, "HDMI" }, \ | | { DSOC_HDMI, "HDMI" }, \ | |
|
| | | { DSOC_656, "656" }, \ | |
| { DSOC_UNKNOWN, "UNKNOWN" } \ | | { DSOC_UNKNOWN, "UNKNOWN" } \ | |
| }; | | }; | |
| | | | |
| struct DFBScreenOutputSignalsName { | | struct DFBScreenOutputSignalsName { | |
| DFBScreenOutputSignals signal; | | DFBScreenOutputSignals signal; | |
| const char *name; | | const char *name; | |
| }; | | }; | |
| | | | |
| #define DirectFBScreenOutputSignalsNames(Identifier) struct DFBScreenOutput
SignalsName Identifier[] = { \ | | #define DirectFBScreenOutputSignalsNames(Identifier) struct DFBScreenOutput
SignalsName Identifier[] = { \ | |
| { DSOS_VGA, "VGA" }, \ | | { DSOS_VGA, "VGA" }, \ | |
| | | | |
| skipping to change at line 441 | | skipping to change at line 445 | |
| DFBScreenEncoderScanMode scan_mode; | | DFBScreenEncoderScanMode scan_mode; | |
| const char *name; | | const char *name; | |
| }; | | }; | |
| | | | |
| #define DirectFBScreenEncoderScanModeNames(Identifier) struct DFBScreenEnco
derScanModeName Identifier[] = { \ | | #define DirectFBScreenEncoderScanModeNames(Identifier) struct DFBScreenEnco
derScanModeName Identifier[] = { \ | |
| { DSESM_INTERLACED, "INTERLACED" }, \ | | { DSESM_INTERLACED, "INTERLACED" }, \ | |
| { DSESM_PROGRESSIVE, "PROGRESSIVE" }, \ | | { DSESM_PROGRESSIVE, "PROGRESSIVE" }, \ | |
| { DSESM_UNKNOWN, "UNKNOWN" } \ | | { DSESM_UNKNOWN, "UNKNOWN" } \ | |
| }; | | }; | |
| | | | |
|
| | | struct DFBScreenEncoderConfigFlagsName { | |
| | | DFBScreenEncoderConfigFlags config_flags; | |
| | | const char *name; | |
| | | }; | |
| | | | |
| | | #define DirectFBScreenEncoderConfigFlagsNames(Identifier) struct DFBScreenE | |
| | | ncoderConfigFlagsName Identifier[] = { \ | |
| | | { DSECONF_NONE, "NONE" }, \ | |
| | | { DSECONF_TV_STANDARD, "TV_STANDARD" }, \ | |
| | | { DSECONF_TEST_PICTURE, "TEST_PICTURE" }, \ | |
| | | { DSECONF_MIXER, "MIXER" }, \ | |
| | | { DSECONF_OUT_SIGNALS, "OUT_SIGNALS" }, \ | |
| | | { DSECONF_SCANMODE, "SCANMODE" }, \ | |
| | | { DSECONF_TEST_COLOR, "TEST_COLOR" }, \ | |
| | | { DSECONF_ADJUSTMENT, "ADJUSTMENT" }, \ | |
| | | { DSECONF_FREQUENCY, "FREQUENCY" }, \ | |
| | | { DSECONF_CONNECTORS, "CONNECTORS" }, \ | |
| | | { DSECONF_SLOW_BLANKING, "SLOW_BLANKING" }, \ | |
| | | { DSECONF_RESOLUTION, "RESOLUTION" }, \ | |
| | | { DSECONF_UNKNOWN, "UNKNOWN" } \ | |
| | | }; | |
| | | | |
| struct DFBScreenEncoderFrequencyName { | | struct DFBScreenEncoderFrequencyName { | |
| DFBScreenEncoderFrequency frequency; | | DFBScreenEncoderFrequency frequency; | |
| const char *name; | | const char *name; | |
| }; | | }; | |
| | | | |
| #define DirectFBScreenEncoderFrequencyNames(Identifier) struct DFBScreenEnc
oderFrequencyName Identifier[] = { \ | | #define DirectFBScreenEncoderFrequencyNames(Identifier) struct DFBScreenEnc
oderFrequencyName Identifier[] = { \ | |
| { DSEF_25HZ, "25HZ" }, \ | | { DSEF_25HZ, "25HZ" }, \ | |
| { DSEF_29_97HZ, "29_97HZ" }, \ | | { DSEF_29_97HZ, "29_97HZ" }, \ | |
| { DSEF_50HZ, "50HZ" }, \ | | { DSEF_50HZ, "50HZ" }, \ | |
| { DSEF_59_94HZ, "59_94HZ" }, \ | | { DSEF_59_94HZ, "59_94HZ" }, \ | |
| | | | |
End of changes. 4 change blocks. |
| 0 lines changed or deleted | | 26 lines changed or added | |
|
| idirectfbsurface.h | | idirectfbsurface.h | |
| | | | |
| skipping to change at line 52 | | skipping to change at line 52 | |
| * private data struct of IDirectFBSurface | | * private data struct of IDirectFBSurface | |
| */ | | */ | |
| typedef struct { | | typedef struct { | |
| DirectLink link; | | DirectLink link; | |
| | | | |
| int ref; /* reference counter */ | | int ref; /* reference counter */ | |
| | | | |
| DFBSurfaceCapabilities caps; /* capabilities */ | | DFBSurfaceCapabilities caps; /* capabilities */ | |
| | | | |
| struct { | | struct { | |
|
| DFBRectangle wanted; /* passed to GetSubSurface */ | | /* 'wanted' is passed to GetSubSurface(), it doesn't matter if it' | |
| DFBRectangle granted; /* clipped by parent on creati | | s | |
| on */ | | too large or has negative starting coordinates as long as it | |
| | | intersects with the 'granted' rectangle of the parent. | |
| | | 'wanted' should be seen as the origin for operations on that | |
| | | surface. Non sub surfaces have a 'wanted' rectangle | |
| | | of '{ 0, 0, width, height }'. 'wanted' is calculated just once | |
| | | during surface creation. */ | |
| | | DFBRectangle wanted; | |
| | | /* 'granted' is the intersection of the 'wanted' rectangle and the | |
| | | 'granted' one of the parent. If they do not intersect DFB_INVAR | |
| | | EA | |
| | | is returned. For non sub surfaces it's the same as the 'wanted' | |
| | | rectangle, because it's the rectangle describing the whole | |
| | | surface. 'granted' is calculated just once during surface | |
| | | creation */ | |
| | | DFBRectangle granted; | |
| | | /* 'current' is the intersection of the 'granted' rectangle and th | |
| | | e | |
| | | surface extents. SetClip() and many other functions are limited | |
| | | by this. | |
| | | This way sub surface area information is preserved during surfa | |
| | | ce | |
| | | resizing, e.g. when resizing a window. Calling SetClip() with N | |
| | | ULL | |
| | | causes the clipping region to exactly cover the 'current' | |
| | | rectangle, also the flag 'clip_set' is cleared causing the | |
| | | clipping region to be set to the new 'current' after resizing. | |
| | | If | |
| | | SetClip() is called with a clipping region specified, an | |
| | | intersection is done with the 'wanted' rectangle that is then | |
| | | stored in 'clip_wanted' and 'clip_set' is set. However, if ther | |
| | | e | |
| | | is no intersection 'DFB_INVARG' is returned, otherwise another | |
| | | intersection is made with the 'current' rectangle and gets appl | |
| | | ied | |
| | | to the surface's state. | |
| | | Each resize, after the 'current' rectangle is updated, the | |
| | | clipping region is set to NULL or 'clip_wanted' depending on | |
| | | 'clip_set'. This way even clipping regions are restored or | |
| | | extended automatically. It's now possible to create a fullscree | |
| | | n | |
| | | primary and call SetVideoMode() with different resolutions or | |
| | | pixelformats several times without the need for updating the | |
| | | primary surface by recreating it */ | |
| DFBRectangle current; /* currently available area */ | | DFBRectangle current; /* currently available area */ | |
| DFBInsets insets; /* actually set by the window
manager */ | | DFBInsets insets; /* actually set by the window
manager */ | |
| } area; | | } area; | |
| | | | |
| bool limit_set; /* greanted rectangle set? | | bool limit_set; /* greanted rectangle set? | |
| (GetSubSurface called with
rect != NULL) */ | | (GetSubSurface called with
rect != NULL) */ | |
| | | | |
| bool clip_set; /* fixed clip set? (SetClip ca
lled | | bool clip_set; /* fixed clip set? (SetClip ca
lled | |
| with clip != NULL) */ | | with clip != NULL) */ | |
| DFBRegion clip_wanted; /* last region passed to SetCl
ip | | DFBRegion clip_wanted; /* last region passed to SetCl
ip | |
| | | | |
End of changes. 1 change blocks. |
| 3 lines changed or deleted | | 45 lines changed or added | |
|
| input.h | | input.h | |
| /* | | /* | |
|
| (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (
directfb.org) | | (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (
directfb.org) | |
| (c) Copyright 2000-2004 Convergence (integrated media) GmbH | | (c) Copyright 2000-2004 Convergence (integrated media) GmbH | |
| | | | |
| All rights reserved. | | All rights reserved. | |
| | | | |
| Written by Denis Oliver Kropp <dok@directfb.org>, | | Written by Denis Oliver Kropp <dok@directfb.org>, | |
| Andreas Hundt <andi@fischlustig.de>, | | Andreas Hundt <andi@fischlustig.de>, | |
| Sven Neumann <neo@directfb.org>, | | Sven Neumann <neo@directfb.org>, | |
| Ville Syrjälä <syrjala@sci.fi> and | | Ville Syrjälä <syrjala@sci.fi> and | |
| Claudio Ciccani <klan@users.sf.net>. | | Claudio Ciccani <klan@users.sf.net>. | |
| | | | |
| | | | |
| skipping to change at line 75 | | skipping to change at line 75 | |
| e.g. 'directfb.org' or 'Sven Neuma
nn' */ | | e.g. 'directfb.org' or 'Sven Neuma
nn' */ | |
| } InputDriverInfo; | | } InputDriverInfo; | |
| | | | |
| typedef struct { | | typedef struct { | |
| unsigned int prefered_id; /* Prefered predefined input device i
d, | | unsigned int prefered_id; /* Prefered predefined input device i
d, | |
| e.g. DIDID_MOUSE */ | | e.g. DIDID_MOUSE */ | |
| | | | |
| DFBInputDeviceDescription desc; /* Capabilities, type, etc. */ | | DFBInputDeviceDescription desc; /* Capabilities, type, etc. */ | |
| } InputDeviceInfo; | | } InputDeviceInfo; | |
| | | | |
|
| | | /* | |
| | | * Input provider capability flags. | |
| | | */ | |
| | | typedef enum { | |
| | | IDC_NONE = 0x00, /* None */ | |
| | | IDC_HOTPLUG = 0x01, /* Input devices support hot-plug */ | |
| | | | |
| | | IDC_ALL = 0x01 /* All flags supported */ | |
| | | } InputDriverCapability; | |
| | | | |
| | | typedef struct { | |
| | | CoreDFB *core; | |
| | | void *driver; | |
| | | } HotplugThreadData; | |
| | | | |
| typedef struct { | | typedef struct { | |
| int (*GetAvailable) (void); | | int (*GetAvailable) (void); | |
| void (*GetDriverInfo) (InputDriverInfo *driver_info
); | | void (*GetDriverInfo) (InputDriverInfo *driver_info
); | |
| DFBResult (*OpenDevice) (CoreInputDevice *device, | | DFBResult (*OpenDevice) (CoreInputDevice *device, | |
| unsigned int number, | | unsigned int number, | |
| InputDeviceInfo *device_info
, | | InputDeviceInfo *device_info
, | |
| void **driver_data
); | | void **driver_data
); | |
| DFBResult (*GetKeymapEntry) (CoreInputDevice *device, | | DFBResult (*GetKeymapEntry) (CoreInputDevice *device, | |
| void *driver_data
, | | void *driver_data
, | |
| DFBInputDeviceKeymapEntry *entry); | | DFBInputDeviceKeymapEntry *entry); | |
| void (*CloseDevice) (void *driver_data
); | | void (*CloseDevice) (void *driver_data
); | |
|
| | | DFBResult (*Suspend) (void); | |
| | | DFBResult (*Resume) (void); | |
| | | DFBResult (*IsCreated) (int index, | |
| | | void *data); | |
| | | InputDriverCapability | |
| | | (*GetCapability) (void); | |
| | | DFBResult (*LaunchHotplug) (CoreDFB *core, | |
| | | void *input_driver); | |
| | | DFBResult (*StopHotplug) (void); | |
| | | | |
| DFBResult (*GetAxisInfo) (CoreInputDevice *device, | | DFBResult (*GetAxisInfo) (CoreInputDevice *device, | |
| void *driver_data
, | | void *driver_data
, | |
| DFBInputDeviceAxisIdentifier axis, | | DFBInputDeviceAxisIdentifier axis, | |
| DFBInputDeviceAxisInfo *ret_info); | | DFBInputDeviceAxisInfo *ret_info); | |
| } InputDriverFuncs; | | } InputDriverFuncs; | |
| | | | |
| typedef DFBEnumerationResult (*InputDeviceCallback) (CoreInputDevice *devic
e, | | typedef DFBEnumerationResult (*InputDeviceCallback) (CoreInputDevice *devic
e, | |
| void *ctx); | | void *ctx); | |
| | | | |
| | | | |
| skipping to change at line 132 | | skipping to change at line 156 | |
| void dfb_input_dispatch ( CoreInputDevice *device, | | void dfb_input_dispatch ( CoreInputDevice *device, | |
| DFBInputEvent *event ); | | DFBInputEvent *event ); | |
| | | | |
| void dfb_input_device_description( const CoreInputDevice *
device, | | void dfb_input_device_description( const CoreInputDevice *
device, | |
| DFBInputDeviceDescription *
desc ); | | DFBInputDeviceDescription *
desc ); | |
| | | | |
| DFBInputDeviceID dfb_input_device_id ( const CoreInputDevice *
device ); | | DFBInputDeviceID dfb_input_device_id ( const CoreInputDevice *
device ); | |
| | | | |
| CoreInputDevice *dfb_input_device_at ( DFBInputDeviceID
id ); | | CoreInputDevice *dfb_input_device_at ( DFBInputDeviceID
id ); | |
| | | | |
|
| | | DFBInputDeviceCapabilities dfb_input_device_caps( const CoreInputDevice *de | |
| | | vice ); | |
| | | | |
| DFBResult dfb_input_device_get_keymap_entry( CoreInputDevice
*device, | | DFBResult dfb_input_device_get_keymap_entry( CoreInputDevice
*device, | |
| int
keycode, | | int
keycode, | |
| DFBInputDeviceKeymapEn
try *entry ); | | DFBInputDeviceKeymapEn
try *entry ); | |
| | | | |
| DFBResult dfb_input_device_set_keymap_entry( CoreInputDevice
*device, | | DFBResult dfb_input_device_set_keymap_entry( CoreInputDevice
*device, | |
| int
keycode, | | int
keycode, | |
| DFBInputDeviceKeymapEn
try *entry ); | | DFBInputDeviceKeymapEn
try *entry ); | |
| | | | |
| DFBResult dfb_input_device_load_keymap ( CoreInputDevice
*device, | | DFBResult dfb_input_device_load_keymap ( CoreInputDevice
*device, | |
| char
*filename ); | | char
*filename ); | |
| | | | |
| DFBResult dfb_input_device_reload_keymap ( CoreInputDevice
*device ); | | DFBResult dfb_input_device_reload_keymap ( CoreInputDevice
*device ); | |
| | | | |
|
| | | void containers_attach_device( CoreInputDevice *device ); | |
| | | | |
| | | void containers_detach_device( CoreInputDevice *device ); | |
| | | | |
| | | void stack_containers_attach_device( CoreInputDevice *device ) | |
| | | ; | |
| | | | |
| | | void stack_containers_detach_device( CoreInputDevice *device ) | |
| | | ; | |
| | | | |
| | | DFBResult dfb_input_create_device( int device_index, | |
| | | CoreDFB *core_in, | |
| | | void *driver_in ); | |
| | | | |
| | | DFBResult dfb_input_remove_device( int device_index, | |
| | | void *driver_in ); | |
| | | | |
| /* global reactions */ | | /* global reactions */ | |
| | | | |
| typedef enum { | | typedef enum { | |
| DFB_WINDOWSTACK_INPUTDEVICE_LISTENER | | DFB_WINDOWSTACK_INPUTDEVICE_LISTENER | |
| } DFB_INPUT_GLOBALS; | | } DFB_INPUT_GLOBALS; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 5 change blocks. |
| 1 lines changed or deleted | | 45 lines changed or added | |
|
| input_driver.h | | input_driver.h | |
| /* | | /* | |
|
| (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (
directfb.org) | | (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (
directfb.org) | |
| (c) Copyright 2000-2004 Convergence (integrated media) GmbH | | (c) Copyright 2000-2004 Convergence (integrated media) GmbH | |
| | | | |
| All rights reserved. | | All rights reserved. | |
| | | | |
| Written by Denis Oliver Kropp <dok@directfb.org>, | | Written by Denis Oliver Kropp <dok@directfb.org>, | |
| Andreas Hundt <andi@fischlustig.de>, | | Andreas Hundt <andi@fischlustig.de>, | |
| Sven Neumann <neo@directfb.org>, | | Sven Neumann <neo@directfb.org>, | |
| Ville Syrjälä <syrjala@sci.fi> and | | Ville Syrjälä <syrjala@sci.fi> and | |
| Claudio Ciccani <klan@users.sf.net>. | | Claudio Ciccani <klan@users.sf.net>. | |
| | | | |
| | | | |
| skipping to change at line 62 | | skipping to change at line 62 | |
| static DFBResult | | static DFBResult | |
| driver_get_axis_info( CoreInputDevice *device, | | driver_get_axis_info( CoreInputDevice *device, | |
| void *driver_data, | | void *driver_data, | |
| DFBInputDeviceAxisIdentifier axis, | | DFBInputDeviceAxisIdentifier axis, | |
| DFBInputDeviceAxisInfo *ret_info ); | | DFBInputDeviceAxisInfo *ret_info ); | |
| #endif | | #endif | |
| | | | |
| static void | | static void | |
| driver_close_device( void *driver_data ); | | driver_close_device( void *driver_data ); | |
| | | | |
|
| | | static DFBResult | |
| | | driver_suspend( void ); | |
| | | | |
| | | static DFBResult | |
| | | driver_resume( void ); | |
| | | | |
| | | static DFBResult | |
| | | is_created( int event_num, void *data); | |
| | | | |
| | | static InputDriverCapability | |
| | | get_capability( void ); | |
| | | | |
| | | static DFBResult | |
| | | launch_hotplug(CoreDFB *core, | |
| | | void *input_driver); | |
| | | | |
| | | static DFBResult | |
| | | stop_hotplug( void ); | |
| | | | |
| | | #if !defined(DISABLE_INPUT_HOTPLUG_FUNCTION_STUB) | |
| | | /* Add hot-plug stub function implementations for all input providers by | |
| | | * default when DISABLE_INPUT_HOTPLUG_FUNCTION_STUB is not defined. | |
| | | */ | |
| | | | |
| | | static DFBResult | |
| | | driver_suspend( void ) | |
| | | { | |
| | | return DFB_UNSUPPORTED; | |
| | | } | |
| | | | |
| | | static DFBResult | |
| | | driver_resume( void ) | |
| | | { | |
| | | return DFB_UNSUPPORTED; | |
| | | } | |
| | | | |
| | | static DFBResult | |
| | | is_created( int event_num, void *data) | |
| | | { | |
| | | return DFB_UNSUPPORTED; | |
| | | } | |
| | | | |
| | | static InputDriverCapability | |
| | | get_capability( void ) | |
| | | { | |
| | | return IDC_NONE; | |
| | | } | |
| | | | |
| | | static DFBResult | |
| | | launch_hotplug(CoreDFB *core, | |
| | | void *input_driver) | |
| | | { | |
| | | return DFB_UNSUPPORTED; | |
| | | } | |
| | | | |
| | | static DFBResult | |
| | | stop_hotplug( void ) | |
| | | { | |
| | | return DFB_UNSUPPORTED; | |
| | | } | |
| | | #endif | |
| | | | |
| static const InputDriverFuncs driver_funcs = { | | static const InputDriverFuncs driver_funcs = { | |
| .GetAvailable = driver_get_available, | | .GetAvailable = driver_get_available, | |
| .GetDriverInfo = driver_get_info, | | .GetDriverInfo = driver_get_info, | |
| .OpenDevice = driver_open_device, | | .OpenDevice = driver_open_device, | |
| .GetKeymapEntry = driver_get_keymap_entry, | | .GetKeymapEntry = driver_get_keymap_entry, | |
| .CloseDevice = driver_close_device, | | .CloseDevice = driver_close_device, | |
|
| | | .Suspend = driver_suspend, | |
| | | .Resume = driver_resume, | |
| | | .IsCreated = is_created, | |
| | | .GetCapability = get_capability, | |
| | | .LaunchHotplug = launch_hotplug, | |
| | | .StopHotplug = stop_hotplug, | |
| | | | |
| #ifdef DFB_INPUTDRIVER_HAS_AXIS_INFO | | #ifdef DFB_INPUTDRIVER_HAS_AXIS_INFO | |
| .GetAxisInfo = driver_get_axis_info | | .GetAxisInfo = driver_get_axis_info | |
| #endif | | #endif | |
| }; | | }; | |
| | | | |
| #define DFB_INPUT_DRIVER(shortname)
\ | | #define DFB_INPUT_DRIVER(shortname)
\ | |
| __attribute__((constructor)) void directfb_##shortname##_ctor( void );
\ | | __attribute__((constructor)) void directfb_##shortname##_ctor( void );
\ | |
| __attribute__((destructor)) void directfb_##shortname##_dtor( void );
\ | | __attribute__((destructor)) void directfb_##shortname##_dtor( void );
\ | |
|
\ | |
\ | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 69 lines changed or added | |
|