conf.h | conf.h | |||
---|---|---|---|---|
skipping to change at line 182 | skipping to change at line 182 | |||
bool decorations; /* Enable window decorati ons. */ | bool decorations; /* Enable window decorati ons. */ | |||
DFBSurfacePixelFormat font_format; /* Preferred font format. */ | DFBSurfacePixelFormat font_format; /* Preferred font format. */ | |||
char *h3600_device; /* H3600 Touchscreen Devi ce */ | char *h3600_device; /* H3600 Touchscreen Devi ce */ | |||
char *mut_device; /* MuTouch Device */ | char *mut_device; /* MuTouch Device */ | |||
char *penmount_device; /* PenMount Device */ | char *penmount_device; /* PenMount Device */ | |||
char *zytronic_device; /* Zytronic Device */ | ||||
char *elo_device; /* elo Device */ | ||||
int unichrome_revision; /* Unichrome hardware | int unichrome_revision; /* Unichrome hardware | |||
revision number overri de */ | revision number overri de */ | |||
bool dma; /* Enable DMA */ | bool dma; /* Enable DMA */ | |||
int agp; /* AGP mode */ | int agp; /* AGP mode */ | |||
int agpmem_limit; /* Limit of AGP memory | int agpmem_limit; /* Limit of AGP memory | |||
used by DirectFB */ | used by DirectFB */ | |||
bool i8xx_overlay_pipe_b; /* video overlay output v ia pixel pipe B */ | bool i8xx_overlay_pipe_b; /* video overlay output v ia pixel pipe B */ | |||
bool primary_only; /* tell application only about primary layer */ | bool primary_only; /* tell application only about primary layer */ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 4 lines changed or added | |||
convert.h | convert.h | |||
---|---|---|---|---|
skipping to change at line 66 | skipping to change at line 66 | |||
#define PIXEL_ARGB2554(a,r,g,b)( (((a)&0xC0) << 8) | \ | #define PIXEL_ARGB2554(a,r,g,b)( (((a)&0xC0) << 8) | \ | |||
(((r)&0xF8) << 6) | \ | (((r)&0xF8) << 6) | \ | |||
(((g)&0xF8) << 1) | \ | (((g)&0xF8) << 1) | \ | |||
(((b)&0xF0) >> 4) ) | (((b)&0xF0) >> 4) ) | |||
#define PIXEL_ARGB4444(a,r,g,b)( (((a)&0xF0) << 8) | \ | #define PIXEL_ARGB4444(a,r,g,b)( (((a)&0xF0) << 8) | \ | |||
(((r)&0xF0) << 4) | \ | (((r)&0xF0) << 4) | \ | |||
(((g)&0xF0) ) | \ | (((g)&0xF0) ) | \ | |||
(((b)&0xF0) >> 4) ) | (((b)&0xF0) >> 4) ) | |||
#define PIXEL_RGBA4444(a,r,g,b)( (((r)&0xF0) << 8) | \ | ||||
(((g)&0xF0) << 4) | \ | ||||
(((b)&0xF0) ) | \ | ||||
(((a)&0xF0) >> 4) ) | ||||
#define PIXEL_RGB444(r,g,b) ( (((r)&0xF0) << 4) | \ | #define PIXEL_RGB444(r,g,b) ( (((r)&0xF0) << 4) | \ | |||
(((g)&0xF0) ) | \ | (((g)&0xF0) ) | \ | |||
(((b)&0xF0) >> 4) ) | (((b)&0xF0) >> 4) ) | |||
#define PIXEL_RGB16(r,g,b) ( (((r)&0xF8) << 8) | \ | #define PIXEL_RGB16(r,g,b) ( (((r)&0xF8) << 8) | \ | |||
(((g)&0xFC) << 3) | \ | (((g)&0xFC) << 3) | \ | |||
(((b)&0xF8) >> 3) ) | (((b)&0xF8) >> 3) ) | |||
#define PIXEL_RGB18(r,g,b) ( (((r)&0xFC) << 10) | \ | #define PIXEL_RGB18(r,g,b) ( (((r)&0xFC) << 10) | \ | |||
(((g)&0xFC) << 4) | \ | (((g)&0xFC) << 4) | \ | |||
skipping to change at line 141 | skipping to change at line 146 | |||
/* packed pixel conversions */ | /* packed pixel conversions */ | |||
#define ARGB1555_TO_RGB332(pixel) ( (((pixel) & 0x7000) >> 7) | \ | #define ARGB1555_TO_RGB332(pixel) ( (((pixel) & 0x7000) >> 7) | \ | |||
(((pixel) & 0x0380) >> 5) | \ | (((pixel) & 0x0380) >> 5) | \ | |||
(((pixel) & 0x0018) >> 3) ) | (((pixel) & 0x0018) >> 3) ) | |||
#define ARGB1555_TO_ARGB2554(pixel) ( (((pixel) & 0x8000) ) | \ | #define ARGB1555_TO_ARGB2554(pixel) ( (((pixel) & 0x8000) ) | \ | |||
(((pixel) & 0x7FFF) >> 1) ) | (((pixel) & 0x7FFF) >> 1) ) | |||
#define ARGB1555_TO_ARGB4444(pixel) ( (((pixel) & 0x8000) ) | \ | #define ARGB1555_TO_ARGB4444(pixel) ( (((pixel) & 0x8000) ? 0xf000 : 0 ) | \ | |||
(((pixel) & 0x7800) >> 3) | \ | (((pixel) & 0x7800) >> 3) | \ | |||
(((pixel) & 0x03C0) >> 2) | \ | (((pixel) & 0x03C0) >> 2) | \ | |||
(((pixel) & 0x001E) >> 1) ) | (((pixel) & 0x0018) >> 1) ) | |||
#define ARGB1555_TO_RGBA4444(pixel) ( (((pixel) & 0x8000) ? 0x000f : 0 ) | | ||||
\ | ||||
(((pixel) & 0x7800) << 1) | \ | ||||
(((pixel) & 0x03C0) << 2) | \ | ||||
(((pixel) & 0x0018) << 3) ) | ||||
#define ARGB1555_TO_RGB16(pixel) ( (((pixel) & 0x7C00) << 1) | \ | #define ARGB1555_TO_RGB16(pixel) ( (((pixel) & 0x7C00) << 1) | \ | |||
(((pixel) & 0x03E0) << 1) | \ | (((pixel) & 0x03E0) << 1) | \ | |||
(((pixel) & 0x001F)) ) | (((pixel) & 0x001F)) ) | |||
#define ARGB1555_TO_RGB32(pixel) ( (((pixel) & 0x7C00) << 9) | \ | #define ARGB1555_TO_RGB32(pixel) ( (((pixel) & 0x7C00) << 9) | \ | |||
(((pixel) & 0x03E0) << 6) | \ | (((pixel) & 0x03E0) << 6) | \ | |||
(((pixel) & 0x001F) << 3) ) | (((pixel) & 0x001F) << 3) ) | |||
#define ARGB1555_TO_ARGB(pixel) ( (((pixel) & 0x8000) ? 0xFF000000 : 0) | \ | #define ARGB1555_TO_ARGB(pixel) ( (((pixel) & 0x8000) ? 0xFF000000 : 0) | \ | |||
(((pixel) & 0x7C00) << 9) | \ | (((pixel) & 0x7C00) << 9) | \ | |||
(((pixel) & 0x03E0) << 6) | \ | (((pixel) & 0x03E0) << 6) | \ | |||
(((pixel) & 0x001F) << 3) ) | (((pixel) & 0x001F) << 3) ) | |||
#define ARGB1555_TO_RGB555(pixel) ( (((pixel) & 0x7C00) << 9) | \ | #define ARGB1555_TO_RGB555(pixel) ( (((pixel) & 0x7C00) << 9) | \ | |||
(((pixel) & 0x03E0) << 6) | \ | (((pixel) & 0x03E0) << 6) | \ | |||
(((pixel) & 0x001F) << 3) ) | (((pixel) & 0x001F) << 3) ) | |||
#define ARGB1555_TO_RGB444(pixel) ( (((pixel) & 0x7800) >> 3) | \ | #define ARGB1555_TO_RGB444(pixel) ( (((pixel) & 0x7800) >> 3) | \ | |||
(((pixel) & 0x03C0) >> 2) | \ | (((pixel) & 0x03C0) >> 2) | \ | |||
(((pixel) & 0x001E) >> 1) ) | (((pixel) & 0x001E) >> 1) ) | |||
/* xRGB to xxRRGGBB, so xRxx left 3, xRGx left 2, xxGB left 1, xxxB */ | ||||
#define ARGB4444_TO_RGB32(pixel) ( (((pixel) & 0x0F00) << 12) | \ | #define ARGB4444_TO_RGB32(pixel) ( (((pixel) & 0x0F00) << 12) | \ | |||
(((pixel) & 0x00F0) << 8) | \ | (((pixel) & 0x0FF0) << 8) | \ | |||
(((pixel) & 0x000F) << 4) ) | (((pixel) & 0x00FF) << 4) | \ | |||
(((pixel) & 0x000F) ) ) | ||||
/* RGBx to xxRRGGBB, so Rxxx left 2, RGxx left 1, xGBx, xxBx right 1 */ | ||||
#define RGBA4444_TO_RGB32(pixel) ( (((pixel) & 0xF000) << 8) | \ | ||||
(((pixel) & 0xFF00) << 4) | \ | ||||
(((pixel) & 0x0FF0) ) | \ | ||||
(((pixel) & 0x00F0) >> 4) ) | ||||
/* ARGB to AARRGGBB, so Axxx left 4, ARxx left 3, xRGx left 2, xxGB left 1, | ||||
xxxB */ | ||||
#define ARGB4444_TO_ARGB(pixel) ( (((pixel) & 0xF000) << 16) | \ | ||||
(((pixel) & 0xFF00) << 12) | \ | ||||
(((pixel) & 0x0FF0) << 8) | \ | ||||
(((pixel) & 0x00FF) << 4) | \ | ||||
(((pixel) & 0x000F) ) ) | ||||
/* RGBA to AARRGGBB, so Rxxx left 2, RGxx left 1, xGBx, xxBx right 1, A to | ||||
the left */ | ||||
#define RGBA4444_TO_ARGB(pixel) ( (((pixel) & 0x000F) << 28) | \ | ||||
(((pixel) & 0x000F) << 24) | \ | ||||
(((pixel) & 0xF000) << 8) | \ | ||||
(((pixel) & 0xFF00) << 4) | \ | ||||
(((pixel) & 0x0FF0) ) | \ | ||||
(((pixel) & 0x00F0) >> 4) ) | ||||
#define RGB16_TO_RGB332(pixel) ( (((pixel) & 0xE000) >> 8) | \ | #define RGB16_TO_RGB332(pixel) ( (((pixel) & 0xE000) >> 8) | \ | |||
(((pixel) & 0x0700) >> 6) | \ | (((pixel) & 0x0700) >> 6) | \ | |||
(((pixel) & 0x0018) >> 3) ) | (((pixel) & 0x0018) >> 3) ) | |||
#define RGB16_TO_ARGB1555(pixel) ( 0x8000 | \ | #define RGB16_TO_ARGB1555(pixel) ( 0x8000 | \ | |||
(((pixel) & 0xF800) >> 1) | \ | (((pixel) & 0xF800) >> 1) | \ | |||
(((pixel) & 0x07C0) >> 1) | \ | (((pixel) & 0x07C0) >> 1) | \ | |||
(((pixel) & 0x001F)) ) | (((pixel) & 0x001F)) ) | |||
#define RGB16_TO_ARGB2554(pixel) ( 0xC000 | \ | #define RGB16_TO_ARGB2554(pixel) ( 0xC000 | \ | |||
(((pixel) & 0xF800) >> 2) | \ | (((pixel) & 0xF800) >> 2) | \ | |||
(((pixel) & 0x07C0) >> 2) | \ | (((pixel) & 0x07C0) >> 2) | \ | |||
(((pixel) & 0x001F) >> 1) ) | (((pixel) & 0x001F) >> 1) ) | |||
#define RGB16_TO_ARGB4444(pixel) ( 0xF000 | \ | #define RGB16_TO_ARGB4444(pixel) ( 0xF000 | \ | |||
(((pixel) & 0xF000) >> 4) | \ | (((pixel) & 0xF000) >> 4) | \ | |||
(((pixel) & 0x0780) >> 3) | \ | (((pixel) & 0x0780) >> 3) | \ | |||
(((pixel) & 0x001F) >> 1) ) | (((pixel) & 0x001E) >> 1) ) | |||
#define RGB16_TO_RGBA4444(pixel) ( 0x000F | \ | ||||
(((pixel) & 0xF000) ) | \ | ||||
(((pixel) & 0x0780) << 1) | \ | ||||
(((pixel) & 0x001E) << 3) ) | ||||
#define RGB16_TO_RGB32(pixel) ( (((pixel) & 0xF800) << 8) | \ | #define RGB16_TO_RGB32(pixel) ( (((pixel) & 0xF800) << 8) | \ | |||
(((pixel) & 0x07E0) << 5) | \ | (((pixel) & 0x07E0) << 5) | \ | |||
(((pixel) & 0x001F) << 3) ) | (((pixel) & 0x001F) << 3) ) | |||
#define RGB16_TO_ARGB(pixel) ( 0xFF000000 | \ | #define RGB16_TO_ARGB(pixel) ( 0xFF000000 | \ | |||
(((pixel) & 0xF800) << 8) | \ | (((pixel) & 0xF800) << 8) | \ | |||
(((pixel) & 0x07E0) << 5) | \ | (((pixel) & 0x07E0) << 5) | \ | |||
(((pixel) & 0x001F) << 3) ) | (((pixel) & 0x001F) << 3) ) | |||
skipping to change at line 235 | skipping to change at line 273 | |||
#define RGB32_TO_ARGB2554(pixel) ( 0xC000 | \ | #define RGB32_TO_ARGB2554(pixel) ( 0xC000 | \ | |||
(((pixel) & 0xF80000) >> 10) | \ | (((pixel) & 0xF80000) >> 10) | \ | |||
(((pixel) & 0x00F800) >> 7) | \ | (((pixel) & 0x00F800) >> 7) | \ | |||
(((pixel) & 0x0000F0) >> 4) ) | (((pixel) & 0x0000F0) >> 4) ) | |||
#define RGB32_TO_ARGB4444(pixel) ( 0xF000 | \ | #define RGB32_TO_ARGB4444(pixel) ( 0xF000 | \ | |||
(((pixel) & 0xF00000) >> 12) | \ | (((pixel) & 0xF00000) >> 12) | \ | |||
(((pixel) & 0x00F000) >> 8) | \ | (((pixel) & 0x00F000) >> 8) | \ | |||
(((pixel) & 0x0000F0) >> 4) ) | (((pixel) & 0x0000F0) >> 4) ) | |||
#define RGB32_TO_RGBA4444(pixel) ( 0x000F | \ | ||||
(((pixel) & 0xF00000) >> 8) | \ | ||||
(((pixel) & 0x00F000) >> 4) | \ | ||||
(((pixel) & 0x0000F0) ) ) | ||||
#define RGB32_TO_RGB16(pixel) ( (((pixel) & 0xF80000) >> 8) | \ | #define RGB32_TO_RGB16(pixel) ( (((pixel) & 0xF80000) >> 8) | \ | |||
(((pixel) & 0x00FC00) >> 5) | \ | (((pixel) & 0x00FC00) >> 5) | \ | |||
(((pixel) & 0x0000F8) >> 3) ) | (((pixel) & 0x0000F8) >> 3) ) | |||
#define RGB32_TO_ARGB1555(pixel) ( 0x8000 | \ | #define RGB32_TO_ARGB1555(pixel) ( 0x8000 | \ | |||
(((pixel) & 0xF80000) >> 9) | \ | (((pixel) & 0xF80000) >> 9) | \ | |||
(((pixel) & 0x00F800) >> 6) | \ | (((pixel) & 0x00F800) >> 6) | \ | |||
(((pixel) & 0x0000F8) >> 3) ) | (((pixel) & 0x0000F8) >> 3) ) | |||
#define RGB32_TO_ARGB(pixel) ( 0xFF000000 | (pixel) ) | #define RGB32_TO_ARGB(pixel) ( 0xFF000000 | (pixel) ) | |||
skipping to change at line 273 | skipping to change at line 316 | |||
#define ARGB_TO_ARGB2554(pixel) ( (((pixel) & 0xC0000000) >> 16) | \ | #define ARGB_TO_ARGB2554(pixel) ( (((pixel) & 0xC0000000) >> 16) | \ | |||
(((pixel) & 0x00F80000) >> 10) | \ | (((pixel) & 0x00F80000) >> 10) | \ | |||
(((pixel) & 0x0000F800) >> 7) | \ | (((pixel) & 0x0000F800) >> 7) | \ | |||
(((pixel) & 0x000000F0) >> 4) ) | (((pixel) & 0x000000F0) >> 4) ) | |||
#define ARGB_TO_ARGB4444(pixel) ( (((pixel) & 0xF0000000) >> 16) | \ | #define ARGB_TO_ARGB4444(pixel) ( (((pixel) & 0xF0000000) >> 16) | \ | |||
(((pixel) & 0x00F00000) >> 12) | \ | (((pixel) & 0x00F00000) >> 12) | \ | |||
(((pixel) & 0x0000F000) >> 8) | \ | (((pixel) & 0x0000F000) >> 8) | \ | |||
(((pixel) & 0x000000F0) >> 4) ) | (((pixel) & 0x000000F0) >> 4) ) | |||
#define ARGB_TO_RGBA4444(pixel) ( (((pixel) & 0xF0000000) >> 28) | \ | ||||
(((pixel) & 0x00F00000) >> 8) | \ | ||||
(((pixel) & 0x0000F000) >> 4) | \ | ||||
(((pixel) & 0x000000F0) ) ) | ||||
#define ARGB_TO_RGB444(pixel) ( (((pixel) & 0x00F00000) >> 12) | \ | #define ARGB_TO_RGB444(pixel) ( (((pixel) & 0x00F00000) >> 12) | \ | |||
(((pixel) & 0x0000F000) >> 8) | \ | (((pixel) & 0x0000F000) >> 8) | \ | |||
(((pixel) & 0x000000F0) >> 4) ) | (((pixel) & 0x000000F0) >> 4) ) | |||
#define ARGB_TO_RGB555(pixel) ( (((pixel) & 0x00F80000) >> 9) | \ | #define ARGB_TO_RGB555(pixel) ( (((pixel) & 0x00F80000) >> 9) | \ | |||
(((pixel) & 0x0000F800) >> 6) | \ | (((pixel) & 0x0000F800) >> 6) | \ | |||
(((pixel) & 0x000000F8) >> 3) ) | (((pixel) & 0x000000F8) >> 3) ) | |||
#define ARGB_TO_BGR555(pixel) ( (((pixel) & 0x00F80000) >> 19) | \ | #define ARGB_TO_BGR555(pixel) ( (((pixel) & 0x00F80000) >> 19) | \ | |||
(((pixel) & 0x0000F800) >> 6) | \ | (((pixel) & 0x0000F800) >> 6) | \ | |||
skipping to change at line 394 | skipping to change at line 442 | |||
int i; | int i; | |||
for (i=0; i<len; i++) { | for (i=0; i<len; i++) { | |||
register u32 argb = src[i]; | register u32 argb = src[i]; | |||
dst[i] = ARGB_TO_ARGB4444( argb ); | dst[i] = ARGB_TO_ARGB4444( argb ); | |||
} | } | |||
} | } | |||
static inline void | static inline void | |||
dfb_argb_to_rgba4444( u32 *src, u16 *dst, int len ) | ||||
{ | ||||
int i; | ||||
for (i=0; i<len; i++) { | ||||
register u32 rgba = src[i]; | ||||
dst[i] = ARGB_TO_RGBA4444( rgba ); | ||||
} | ||||
} | ||||
static inline void | ||||
dfb_argb_to_rgb16( u32 *src, u16 *dst, int len ) | dfb_argb_to_rgb16( u32 *src, u16 *dst, int len ) | |||
{ | { | |||
int i; | int i; | |||
for (i=0; i<len; i++) { | for (i=0; i<len; i++) { | |||
register u32 argb = src[i]; | register u32 argb = src[i]; | |||
dst[i] = RGB32_TO_RGB16( argb ); | dst[i] = RGB32_TO_RGB16( argb ); | |||
} | } | |||
} | } | |||
End of changes. 11 change blocks. | ||||
9 lines changed or deleted | 72 lines changed or added | |||
core_parts.h | core_parts.h | |||
---|---|---|---|---|
skipping to change at line 48 | skipping to change at line 48 | |||
#include <core/coredefs.h> | #include <core/coredefs.h> | |||
typedef DFBResult (*CoreInitialize)( CoreDFB *core, | typedef DFBResult (*CoreInitialize)( CoreDFB *core, | |||
void *data_local, | void *data_local, | |||
void *data_shared ); | void *data_shared ); | |||
typedef DFBResult (*CoreJoin) ( CoreDFB *core, | typedef DFBResult (*CoreJoin) ( CoreDFB *core, | |||
void *data_local, | void *data_local, | |||
void *data_shared ); | void *data_shared ); | |||
typedef DFBResult (*CoreShutdown) ( CoreDFB *core, | typedef DFBResult (*CoreShutdown) ( void *data_local, | |||
bool emergency ); | bool emergency ); | |||
typedef DFBResult (*CoreLeave) ( CoreDFB *core, | typedef DFBResult (*CoreLeave) ( void *data_local, | |||
bool emergency ); | bool emergency ); | |||
typedef DFBResult (*CoreSuspend) ( CoreDFB *core ); | typedef DFBResult (*CoreSuspend) ( void *data_local ); | |||
typedef DFBResult (*CoreResume) ( CoreDFB *core ); | typedef DFBResult (*CoreResume) ( void *data_local ); | |||
typedef struct { | typedef struct { | |||
const char *name; | const char *name; | |||
int size_local; | int size_local; | |||
int size_shared; | int size_shared; | |||
CoreInitialize Initialize; | CoreInitialize Initialize; | |||
CoreJoin Join; | CoreJoin Join; | |||
CoreShutdown Shutdown; | CoreShutdown Shutdown; | |||
skipping to change at line 94 | skipping to change at line 94 | |||
CorePart *core_part, | CorePart *core_part, | |||
bool emergency ); | bool emergency ); | |||
DFBResult dfb_core_part_leave ( CoreDFB *core, | DFBResult dfb_core_part_leave ( CoreDFB *core, | |||
CorePart *core_part, | CorePart *core_part, | |||
bool emergency ); | bool emergency ); | |||
#define DFB_CORE_PART(part,Type) \ | #define DFB_CORE_PART(part,Type) \ | |||
\ | \ | |||
static DFBResult dfb_##part##_initialize( CoreDFB *core, \ | static DFBResult dfb_##part##_initialize( CoreDFB *core, \ | |||
DFB##Type *data, \ | DFB##Type *local, \ | |||
DFB##Type##Shared *shared ); \ | DFB##Type##Shared *shared ); \ | |||
\ | \ | |||
static DFBResult dfb_##part##_join ( CoreDFB *core, \ | static DFBResult dfb_##part##_join ( CoreDFB *core, \ | |||
DFB##Type *data, \ | DFB##Type *local, \ | |||
DFB##Type##Shared *shared ); \ | DFB##Type##Shared *shared ); \ | |||
\ | \ | |||
static DFBResult dfb_##part##_shutdown ( DFB##Type *data, \ | static DFBResult dfb_##part##_shutdown ( DFB##Type *local, \ | |||
bool emergency ); \ | bool emergency ); \ | |||
\ | \ | |||
static DFBResult dfb_##part##_leave ( DFB##Type *local, \ | static DFBResult dfb_##part##_leave ( DFB##Type *local, \ | |||
bool emergency ); \ | bool emergency ); \ | |||
\ | \ | |||
static DFBResult dfb_##part##_suspend ( DFB##Type *local ); \ | static DFBResult dfb_##part##_suspend ( DFB##Type *local ); \ | |||
\ | \ | |||
static DFBResult dfb_##part##_resume ( DFB##Type *local ); \ | static DFBResult dfb_##part##_resume ( DFB##Type *local ); \ | |||
\ | \ | |||
CorePart dfb_##part = { \ | CorePart dfb_##part = { \ | |||
#part, \ | .name = #part, \ | |||
\ | \ | |||
sizeof(DFB##Type), | .size_local = sizeof(DFB##Type), | |||
\ | \ | |||
sizeof(DFB##Type##Shared), | .size_shared = sizeof(DFB##Type##Shared), | |||
\ | \ | |||
\ | \ | |||
(void*)dfb_##part##_initialize, | .Initialize = (void*)dfb_##part##_initialize, | |||
\ | \ | |||
(void*)dfb_##part##_join, | .Join = (void*)dfb_##part##_join, | |||
\ | \ | |||
(void*)dfb_##part##_shutdown, | .Shutdown = (void*)dfb_##part##_shutdown, | |||
\ | \ | |||
(void*)dfb_##part##_leave, | .Leave = (void*)dfb_##part##_leave, | |||
\ | \ | |||
(void*)dfb_##part##_suspend, | .Suspend = (void*)dfb_##part##_suspend, | |||
\ | \ | |||
(void*)dfb_##part##_resume | .Resume = (void*)dfb_##part##_resume, | |||
\ | \ | |||
} | } | |||
#endif | #endif | |||
End of changes. 10 change blocks. | ||||
24 lines changed or deleted | 24 lines changed or added | |||
core_system.h | core_system.h | |||
---|---|---|---|---|
skipping to change at line 50 | skipping to change at line 50 | |||
static DFBResult | static DFBResult | |||
system_join( CoreDFB *core, void **data ); | system_join( CoreDFB *core, void **data ); | |||
static DFBResult | static DFBResult | |||
system_shutdown( bool emergency ); | system_shutdown( bool emergency ); | |||
static DFBResult | static DFBResult | |||
system_leave( bool emergency ); | system_leave( bool emergency ); | |||
static DFBResult | static DFBResult | |||
system_suspend(); | system_suspend( void ); | |||
static DFBResult | static DFBResult | |||
system_resume(); | system_resume( void ); | |||
static VideoMode* | static VideoMode* | |||
system_get_modes(); | system_get_modes( void ); | |||
static VideoMode* | static VideoMode* | |||
system_get_current_mode(); | system_get_current_mode( void ); | |||
static DFBResult | static DFBResult | |||
system_thread_init(); | system_thread_init( void ); | |||
static bool | static bool | |||
system_input_filter( CoreInputDevice *device, | system_input_filter( CoreInputDevice *device, | |||
DFBInputEvent *event ); | DFBInputEvent *event ); | |||
static volatile void* | static volatile void* | |||
system_map_mmio( unsigned int offset, | system_map_mmio( unsigned int offset, | |||
int length ); | int length ); | |||
static void | static void | |||
system_unmap_mmio( volatile void *addr, | system_unmap_mmio( volatile void *addr, | |||
int length ); | int length ); | |||
static int | static int | |||
system_get_accelerator(); | system_get_accelerator( void ); | |||
static unsigned long | static unsigned long | |||
system_video_memory_physical( unsigned int offset ); | system_video_memory_physical( unsigned int offset ); | |||
static void* | static void* | |||
system_video_memory_virtual( unsigned int offset ); | system_video_memory_virtual( unsigned int offset ); | |||
static unsigned int | static unsigned int | |||
system_videoram_length(); | system_videoram_length( void ); | |||
static unsigned long | static unsigned long | |||
system_aux_memory_physical( unsigned int offset ); | system_aux_memory_physical( unsigned int offset ); | |||
static void* | static void* | |||
system_aux_memory_virtual( unsigned int offset ); | system_aux_memory_virtual( unsigned int offset ); | |||
static unsigned int | static unsigned int | |||
system_auxram_length(); | system_auxram_length( void ); | |||
static void | static void | |||
system_get_busid(); | system_get_busid( int *ret_bus, int *ret_dev, int *ret_func ); | |||
static void | static void | |||
system_get_deviceid(); | system_get_deviceid( unsigned int *ret_vendor_id, unsigned int *ret_device_ id ); | |||
static CoreSystemFuncs system_funcs = { | static CoreSystemFuncs system_funcs = { | |||
.GetSystemInfo = system_get_info, | .GetSystemInfo = system_get_info, | |||
.Initialize = system_initialize, | .Initialize = system_initialize, | |||
.Join = system_join, | .Join = system_join, | |||
.Shutdown = system_shutdown, | .Shutdown = system_shutdown, | |||
.Leave = system_leave, | .Leave = system_leave, | |||
.Suspend = system_suspend, | .Suspend = system_suspend, | |||
.Resume = system_resume, | .Resume = system_resume, | |||
.GetModes = system_get_modes, | .GetModes = system_get_modes, | |||
skipping to change at line 128 | skipping to change at line 128 | |||
.VideoMemoryPhysical = system_video_memory_physical, | .VideoMemoryPhysical = system_video_memory_physical, | |||
.VideoMemoryVirtual = system_video_memory_virtual, | .VideoMemoryVirtual = system_video_memory_virtual, | |||
.VideoRamLength = system_videoram_length, | .VideoRamLength = system_videoram_length, | |||
.AuxMemoryPhysical = system_aux_memory_physical, | .AuxMemoryPhysical = system_aux_memory_physical, | |||
.AuxMemoryVirtual = system_aux_memory_virtual, | .AuxMemoryVirtual = system_aux_memory_virtual, | |||
.AuxRamLength = system_auxram_length, | .AuxRamLength = system_auxram_length, | |||
.GetBusID = system_get_busid, | .GetBusID = system_get_busid, | |||
.GetDeviceID = system_get_deviceid | .GetDeviceID = system_get_deviceid | |||
}; | }; | |||
#define DFB_CORE_SYSTEM(shortname) \ | #define DFB_CORE_SYSTEM(shortname) \ | |||
__attribute__((constructor)) void directfb_##shortname(); \ | __attribute__((constructor)) void directfb_##shortname( void ); \ | |||
\ | \ | |||
void \ | void \ | |||
directfb_##shortname() \ | directfb_##shortname( void ) \ | |||
{ \ | { \ | |||
direct_modules_register( &dfb_core_systems, \ | direct_modules_register( &dfb_core_systems, \ | |||
DFB_CORE_SYSTEM_ABI_VERSION, \ | DFB_CORE_SYSTEM_ABI_VERSION, \ | |||
#shortname, &system_funcs ); \ | #shortname, &system_funcs ); \ | |||
} | } | |||
#endif | #endif | |||
End of changes. 11 change blocks. | ||||
19 lines changed or deleted | 19 lines changed or added | |||
directfb.h | directfb.h | |||
---|---|---|---|---|
skipping to change at line 490 | skipping to change at line 490 | |||
DLCAPS_SURFACE = 0x00000001, /* The layer has a surface tha t can be drawn to. This | DLCAPS_SURFACE = 0x00000001, /* The layer has a surface tha t can be drawn to. This | |||
may not be provided by laye rs that display realtime | may not be provided by laye rs that display realtime | |||
data, e.g. from an MPEG dec oder chip. Playback | data, e.g. from an MPEG dec oder chip. Playback | |||
control may be provided by an external API. */ | control may be provided by an external API. */ | |||
DLCAPS_OPACITY = 0x00000002, /* The layer supports blending with layer(s) below | DLCAPS_OPACITY = 0x00000002, /* The layer supports blending with layer(s) below | |||
based on a global alpha fac tor. */ | based on a global alpha fac tor. */ | |||
DLCAPS_ALPHACHANNEL = 0x00000004, /* The layer supports blending with layer(s) below | DLCAPS_ALPHACHANNEL = 0x00000004, /* The layer supports blending with layer(s) below | |||
based on each pixel's alpha value. */ | based on each pixel's alpha value. */ | |||
DLCAPS_SCREEN_LOCATION = 0x00000008, /* The layer location on the s creen can be changed, | DLCAPS_SCREEN_LOCATION = 0x00000008, /* The layer location on the s creen can be changed, | |||
this includes position and size as normalized | this includes position and size as normalized | |||
values. The default is 0.0f | values. The default is 0.0f | |||
, 0.0f, 1.0f, 1.0f. */ | , 0.0f, 1.0f, 1.0f. | |||
Supports IDirectFBDisplayLa | ||||
yer::SetScreenLocation() | ||||
and IDirectFBDisplayLayer:: | ||||
SetScreenRectangle(). | ||||
This implies DLCAPS_SCREEN_ | ||||
POSITION and _SIZE. */ | ||||
DLCAPS_FLICKER_FILTERING = 0x00000010, /* Flicker filtering can be en abled for smooth output | DLCAPS_FLICKER_FILTERING = 0x00000010, /* Flicker filtering can be en abled for smooth output | |||
on interlaced display devic es. */ | on interlaced display devic es. */ | |||
DLCAPS_DEINTERLACING = 0x00000020, /* The layer provides optional deinterlacing for | DLCAPS_DEINTERLACING = 0x00000020, /* The layer provides optional deinterlacing for | |||
displaying interlaced video data on progressive | displaying interlaced video data on progressive | |||
display devices. */ | display devices. */ | |||
DLCAPS_SRC_COLORKEY = 0x00000040, /* A specific color can be dec lared as transparent. */ | DLCAPS_SRC_COLORKEY = 0x00000040, /* A specific color can be dec lared as transparent. */ | |||
DLCAPS_DST_COLORKEY = 0x00000080, /* A specific color of layers below can be specified | DLCAPS_DST_COLORKEY = 0x00000080, /* A specific color of layers below can be specified | |||
as the color of the only lo cations where the layer | as the color of the only lo cations where the layer | |||
is visible. */ | is visible. */ | |||
DLCAPS_BRIGHTNESS = 0x00000100, /* Adjustment of brightness is supported. */ | DLCAPS_BRIGHTNESS = 0x00000100, /* Adjustment of brightness is supported. */ | |||
skipping to change at line 517 | skipping to change at line 520 | |||
DLCAPS_WINDOWS = 0x00004000, /* Hardware window support. */ | DLCAPS_WINDOWS = 0x00004000, /* Hardware window support. */ | |||
DLCAPS_SOURCES = 0x00008000, /* Sources can be selected. */ | DLCAPS_SOURCES = 0x00008000, /* Sources can be selected. */ | |||
DLCAPS_ALPHA_RAMP = 0x00010000, /* Alpha values for formats wi th one or two alpha bits | DLCAPS_ALPHA_RAMP = 0x00010000, /* Alpha values for formats wi th one or two alpha bits | |||
can be chosen, i.e. using A RGB1555 or ARGB2554 the | can be chosen, i.e. using A RGB1555 or ARGB2554 the | |||
user can define the meaning of the two or four | user can define the meaning of the two or four | |||
possibilities. In short, th is feature provides a | possibilities. In short, th is feature provides a | |||
lookup table for the alpha bits of these formats. | lookup table for the alpha bits of these formats. | |||
See also IDirectFBSurface:: SetAlphaRamp(). */ | See also IDirectFBSurface:: SetAlphaRamp(). */ | |||
DLCAPS_PREMULTIPLIED = 0x00020000, /* Surfaces with premultiplied alpha are supported. */ | DLCAPS_PREMULTIPLIED = 0x00020000, /* Surfaces with premultiplied alpha are supported. */ | |||
DLCAPS_SCREEN_POSITION = 0x00100000, | DLCAPS_SCREEN_POSITION = 0x00100000, /* The layer position on the s | |||
DLCAPS_SCREEN_SIZE = 0x00200000, | creen can be changed. | |||
Supports IDirectFBDisplayLa | ||||
yer::SetScreenPosition(). */ | ||||
DLCAPS_SCREEN_SIZE = 0x00200000, /* The layer size (defined by | ||||
its source rectangle) | ||||
can be scaled to a differen | ||||
t size on the screen | ||||
(defined by its screen/dest | ||||
ination rectangle or | ||||
its normalized size) and do | ||||
es not have to be 1:1 | ||||
with it. */ | ||||
DLCAPS_CLIP_REGIONS = 0x00400000, /* Supports IDirectFBDisplayLa yer::SetClipRegions(). */ | DLCAPS_CLIP_REGIONS = 0x00400000, /* Supports IDirectFBDisplayLa yer::SetClipRegions(). */ | |||
DLCAPS_ALL = 0x0073FFFF | DLCAPS_ALL = 0x0073FFFF | |||
} DFBDisplayLayerCapabilities; | } DFBDisplayLayerCapabilities; | |||
/* | /* | |||
* Capabilities of a screen. | * Capabilities of a screen. | |||
*/ | */ | |||
typedef enum { | typedef enum { | |||
skipping to change at line 1110 | skipping to change at line 1118 | |||
/* 16 bit YUV (8 bit Y plane followed by one 16 bit half width Cb|Cr [7:0|7:0] plane) */ | /* 16 bit YUV (8 bit Y plane followed by one 16 bit half width Cb|Cr [7:0|7:0] plane) */ | |||
DSPF_NV16 = DFB_SURFACE_PIXELFORMAT( 16, 24, 0, 0, 0, 1, 0, 0, 1, 0, 0 ), | DSPF_NV16 = DFB_SURFACE_PIXELFORMAT( 16, 24, 0, 0, 0, 1, 0, 0, 1, 0, 0 ), | |||
/* 16 bit ARGB (2 byte, alpha 2@14, red 5@9, green 5@4, blue 4@0) */ | /* 16 bit ARGB (2 byte, alpha 2@14, red 5@9, green 5@4, blue 4@0) */ | |||
DSPF_ARGB2554 = DFB_SURFACE_PIXELFORMAT( 17, 14, 2, 1, 0, 2, 0, 0, 0, 0, 0 ), | DSPF_ARGB2554 = DFB_SURFACE_PIXELFORMAT( 17, 14, 2, 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) */ | /* 16 bit ARGB (2 byte, alpha 4@12, red 4@8, green 4@4, blue 4@0) */ | |||
DSPF_ARGB4444 = DFB_SURFACE_PIXELFORMAT( 18, 12, 4, 1, 0, 2, 0, 0, 0, 0, 0 ), | DSPF_ARGB4444 = DFB_SURFACE_PIXELFORMAT( 18, 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_RGBA4444 = DFB_SURFACE_PIXELFORMAT( 19, 12, 4, 1, 0, 2, 0, 0, 0, | ||||
0, 0 ), | ||||
/* 12 bit YUV (8 bit Y plane followed by one 16 bit quarter size Cr| Cb [7:0|7:0] plane) */ | /* 12 bit YUV (8 bit Y plane followed by one 16 bit quarter size Cr| Cb [7:0|7:0] plane) */ | |||
DSPF_NV21 = DFB_SURFACE_PIXELFORMAT( 19, 12, 0, 0, 0, 1, 0, 2, 0, 0, 0 ), | DSPF_NV21 = DFB_SURFACE_PIXELFORMAT( 20, 12, 0, 0, 0, 1, 0, 2, 0, 0, 0 ), | |||
/* 32 bit AYUV (4 byte, alpha 8@24, Y 8@16, Cb 8@8, Cr 8@0) */ | /* 32 bit AYUV (4 byte, alpha 8@24, Y 8@16, Cb 8@8, Cr 8@0) */ | |||
DSPF_AYUV = DFB_SURFACE_PIXELFORMAT( 20, 24, 8, 1, 0, 4, 0, 0, 0, 0, 0 ), | DSPF_AYUV = DFB_SURFACE_PIXELFORMAT( 21, 24, 8, 1, 0, 4, 0, 0, 0, 0, 0 ), | |||
/* 4 bit alpha (1 byte/ 2 pixel, more significant nibble used first) */ | /* 4 bit alpha (1 byte/ 2 pixel, more significant nibble used first) */ | |||
DSPF_A4 = DFB_SURFACE_PIXELFORMAT( 21, 0, 4, 1, 4, 0, 1, 0, 0, 0, 0 ), | DSPF_A4 = DFB_SURFACE_PIXELFORMAT( 22, 0, 4, 1, 4, 0, 1, 0, 0, 0, 0 ), | |||
/* 1 bit alpha (3 byte/ alpha 1@18, red 6@16, green 6@6, blue 6@0) * | /* 1 bit alpha (3 byte/ alpha 1@18, red 6@12, green 6@6, blue 6@0) * | |||
/ | / | |||
DSPF_ARGB1666 = DFB_SURFACE_PIXELFORMAT( 22, 18, 1, 1, 0, 3, 0, 0, 0, | DSPF_ARGB1666 = DFB_SURFACE_PIXELFORMAT( 23, 18, 1, 1, 0, 3, 0, 0, 0, | |||
0, 0 ), | 0, 0 ), | |||
/* 6 bit alpha (3 byte/ alpha 6@18, red 6@16, green 6@6, blue 6@0) * | /* 6 bit alpha (3 byte/ alpha 6@18, red 6@12, green 6@6, blue 6@0) * | |||
/ | / | |||
DSPF_ARGB6666 = DFB_SURFACE_PIXELFORMAT( 23, 18, 6, 1, 0, 3, 0, 0, 0, | DSPF_ARGB6666 = DFB_SURFACE_PIXELFORMAT( 24, 18, 6, 1, 0, 3, 0, 0, 0, | |||
0, 0 ), | 0, 0 ), | |||
/* 6 bit RGB (3 byte/ red 6@16, green 6@6, blue 6@0) */ | /* 6 bit RGB (3 byte/ red 6@12, green 6@6, blue 6@0) */ | |||
DSPF_RGB18 = DFB_SURFACE_PIXELFORMAT( 24, 18, 0, 0, 0, 3, 0, 0, 0, | DSPF_RGB18 = DFB_SURFACE_PIXELFORMAT( 25, 18, 0, 0, 0, 3, 0, 0, 0, | |||
0, 0 ), | 0, 0 ), | |||
/* 2 bit LUT (1 byte/ 4 pixel, 2 bit color and alpha lookup from pa lette) */ | /* 2 bit LUT (1 byte/ 4 pixel, 2 bit color and alpha lookup from pa lette) */ | |||
DSPF_LUT2 = DFB_SURFACE_PIXELFORMAT( 25, 2, 0, 1, 2, 0, 3, 0, 0, 1, 0 ), | DSPF_LUT2 = DFB_SURFACE_PIXELFORMAT( 26, 2, 0, 1, 2, 0, 3, 0, 0, 1, 0 ), | |||
/* 16 bit RGB (2 byte, nothing @12, red 4@8, green 4@4, blue 4@0) */ | /* 16 bit RGB (2 byte, nothing @12, red 4@8, green 4@4, blue 4@0) */ | |||
DSPF_RGB444 = DFB_SURFACE_PIXELFORMAT( 26, 12, 0, 0, 0, 2, 0, 0, 0, 0, 0 ), | DSPF_RGB444 = DFB_SURFACE_PIXELFORMAT( 27, 12, 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) * / | /* 16 bit RGB (2 byte, nothing @15, red 5@10, green 5@5, blue 5@0) * / | |||
DSPF_RGB555 = DFB_SURFACE_PIXELFORMAT( 27, 15, 0, 0, 0, 2, 0, 0, 0, 0, 0 ), | DSPF_RGB555 = DFB_SURFACE_PIXELFORMAT( 28, 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) * / | /* 16 bit BGR (2 byte, nothing @15, blue 5@10, green 5@5, red 5@0) * / | |||
DSPF_BGR555 = DFB_SURFACE_PIXELFORMAT( 28, 15, 0, 0, 0, 2, 0, 0, 0, 0, 0 ) | DSPF_BGR555 = DFB_SURFACE_PIXELFORMAT( 29, 15, 0, 0, 0, 2, 0, 0, 0, 0, 0 ) | |||
} DFBSurfacePixelFormat; | } DFBSurfacePixelFormat; | |||
/* Number of pixelformats defined */ | /* Number of pixelformats defined */ | |||
#define DFB_NUM_PIXELFORMATS 29 | #define DFB_NUM_PIXELFORMATS 30 | |||
/* 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 2702 | skipping to change at line 2713 | |||
DFBResult (*SetConfiguration) ( | DFBResult (*SetConfiguration) ( | |||
IDirectFBDisplayLayer *thiz, | IDirectFBDisplayLayer *thiz, | |||
const DFBDisplayLayerConfig *config | const DFBDisplayLayerConfig *config | |||
); | ); | |||
/** Layout **/ | /** Layout **/ | |||
/* | /* | |||
* Set location on screen as normalized values. | * Set location on screen as normalized values. | |||
* | * | |||
* So the whole screen is 0.0, 0.0, -1.0, 1.0. | * So the whole screen is 0.0, 0.0, 1.0, 1.0. | |||
*/ | */ | |||
DFBResult (*SetScreenLocation) ( | DFBResult (*SetScreenLocation) ( | |||
IDirectFBDisplayLayer *thiz, | IDirectFBDisplayLayer *thiz, | |||
float x, | float x, | |||
float y, | float y, | |||
float width, | float width, | |||
float height | float height | |||
); | ); | |||
/* | /* | |||
skipping to change at line 3093 | skipping to change at line 3104 | |||
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 */ | DSLF_WRITE = 0x00000002 /* Request write access. If | |||
specified and surface has | ||||
a back buffer, it will be | ||||
used. Otherwise, the front | ||||
buffer is used. */ | ||||
} DFBSurfaceLockFlags; | } DFBSurfaceLockFlags; | |||
/* | /* | |||
* Available Porter/Duff rules. | * Available Porter/Duff rules. | |||
*/ | */ | |||
typedef enum { | typedef enum { | |||
/* pixel = (source * fs + destination * fd), | /* pixel = (source * fs + destination * fd), | |||
sa = source alpha, | sa = source alpha, | |||
da = destination alpha */ | da = destination alpha */ | |||
DSPD_NONE = 0, /* fs: sa fd: 1.0-sa (defaults) */ | DSPD_NONE = 0, /* fs: sa fd: 1.0-sa (defaults) */ | |||
skipping to change at line 3122 | skipping to change at line 3137 | |||
DSPD_SRC_ATOP = 9, /* fs: da 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_DST_ATOP = 10, /* fs: 1.0-da fd: sa */ | |||
DSPD_ADD = 11, /* fs: 1.0 fd: 1.0 */ | DSPD_ADD = 11, /* fs: 1.0 fd: 1.0 */ | |||
DSPD_XOR = 12, /* fs: 1.0-da fd: 1.0-sa */ | DSPD_XOR = 12, /* fs: 1.0-da fd: 1.0-sa */ | |||
} DFBSurfacePorterDuffRule; | } DFBSurfacePorterDuffRule; | |||
/* | /* | |||
* Blend functions to use for source and destination blending | * Blend functions to use for source and destination blending | |||
*/ | */ | |||
typedef enum { | typedef enum { | |||
DSBF_UNKNOWN = 0, /* */ | /* | |||
DSBF_ZERO = 1, /* */ | * pixel color = sc * cf[sf] + dc * cf[df] | |||
DSBF_ONE = 2, /* */ | * pixel alpha = sa * af[sf] + da * af[df] | |||
DSBF_SRCCOLOR = 3, /* */ | * sc = source color | |||
DSBF_INVSRCCOLOR = 4, /* */ | * sa = source alpha | |||
DSBF_SRCALPHA = 5, /* */ | * dc = destination color | |||
DSBF_INVSRCALPHA = 6, /* */ | * da = destination alpha | |||
DSBF_DESTALPHA = 7, /* */ | * sf = source blend function | |||
DSBF_INVDESTALPHA = 8, /* */ | * df = destination blend function | |||
DSBF_DESTCOLOR = 9, /* */ | * cf[x] = color factor for blend function x | |||
DSBF_INVDESTCOLOR = 10, /* */ | * af[x] = alpha factor for blend function x | |||
DSBF_SRCALPHASAT = 11 /* */ | */ | |||
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 */ | ||||
} DFBSurfaceBlendFunction; | } DFBSurfaceBlendFunction; | |||
/* | /* | |||
* Transformed vertex of a textured triangle. | * Transformed vertex of a textured triangle. | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
float x; /* Destination X coordinate (in pixels) */ | float x; /* Destination X coordinate (in pixels) */ | |||
float y; /* Destination Y coordinate (in pixels) */ | float y; /* Destination Y coordinate (in pixels) */ | |||
float z; /* Z coordinate */ | float z; /* Z coordinate */ | |||
float w; /* W coordinate */ | float w; /* W coordinate */ | |||
skipping to change at line 3284 | skipping to change at line 3311 | |||
u8 a1, | u8 a1, | |||
u8 a2, | u8 a2, | |||
u8 a3 | u8 a3 | |||
); | ); | |||
/** Buffer operations **/ | /** Buffer operations **/ | |||
/* | /* | |||
* Lock the surface for the access type specified. | * Lock the surface for the access type specified. | |||
* | * | |||
* Returns a data pointer and the line pitch of it. | * Returns a data pointer and the line pitch of it.<br> | |||
* <br> | ||||
* <b>Note:</b> If the surface is double/triple buffered and | ||||
* the DSLF_WRITE flag is specified, the pointer is to the back | ||||
* buffer. In all other cases, the pointer is to the front | ||||
* 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. | * Returns the framebuffer offset of a locked surface. | |||
skipping to change at line 3768 | skipping to change at line 3800 | |||
*/ | */ | |||
DFBResult (*GetSubSurface) ( | DFBResult (*GetSubSurface) ( | |||
IDirectFBSurface *thiz, | IDirectFBSurface *thiz, | |||
const DFBRectangle *rect, | const DFBRectangle *rect, | |||
IDirectFBSurface **ret_interface | IDirectFBSurface **ret_interface | |||
); | ); | |||
/** OpenGL **/ | /** OpenGL **/ | |||
/* | /* | |||
* Get an OpenGL context for this surface. | * Get a unique OpenGL context for this surface. | |||
*/ | */ | |||
DFBResult (*GetGL) ( | DFBResult (*GetGL) ( | |||
IDirectFBSurface *thiz, | IDirectFBSurface *thiz, | |||
IDirectFBGL **ret_interface | IDirectFBGL **ret_interface | |||
); | ); | |||
/** Debug **/ | /** Debug **/ | |||
/* | /* | |||
* Dump the contents of the surface to one or two files. | * Dump the contents of the surface to one or two files. | |||
skipping to change at line 3924 | skipping to change at line 3956 | |||
/** Lightweight helpers **/ | /** Lightweight helpers **/ | |||
/* | /* | |||
* Make this a sub surface or adjust the rectangle of this sub surface . | * Make this a sub surface or adjust the rectangle of this sub surface . | |||
*/ | */ | |||
DFBResult (*MakeSubSurface) ( | DFBResult (*MakeSubSurface) ( | |||
IDirectFBSurface *thiz, | IDirectFBSurface *thiz, | |||
IDirectFBSurface *from, | IDirectFBSurface *from, | |||
const DFBRectangle *rect | const DFBRectangle *rect | |||
); | ); | |||
/** Direct Write/Read **/ | ||||
/* | ||||
* Write to the surface without the need for (Un)Lock. | ||||
* | ||||
* <b>rect</b> defines the area inside the surface. | ||||
* <br><b>ptr</b> and <b>pitch</b> specify the source. | ||||
* <br>The format of the surface and the source data must be the same. | ||||
*/ | ||||
DFBResult (*Write) ( | ||||
IDirectFBSurface *thiz, | ||||
const DFBRectangle *rect, | ||||
const void *ptr, | ||||
int pitch | ||||
); | ||||
/* | ||||
* Read from the surface without the need for (Un)Lock. | ||||
* | ||||
* <b>rect</b> defines the area inside the surface to be read. | ||||
* <br><b>ptr</b> and <b>pitch</b> specify the destination. | ||||
* <br>The destination data will have the same format as the surface. | ||||
*/ | ||||
DFBResult (*Read) ( | ||||
IDirectFBSurface *thiz, | ||||
const DFBRectangle *rect, | ||||
const void *ptr, | ||||
int pitch | ||||
); | ||||
) | ) | |||
/******************** | /******************** | |||
* IDirectFBPalette * | * IDirectFBPalette * | |||
********************/ | ********************/ | |||
/* | /* | |||
* <i>No summary yet...</i> | * <i>No summary yet...</i> | |||
*/ | */ | |||
DEFINE_INTERFACE( IDirectFBPalette, | DEFINE_INTERFACE( IDirectFBPalette, | |||
skipping to change at line 4124 | skipping to change at line 4186 | |||
/* | /* | |||
* Fetch one entry from the keymap for a specific hardware keycode. | * Fetch one entry from the keymap for a specific hardware keycode. | |||
*/ | */ | |||
DFBResult (*GetKeymapEntry) ( | DFBResult (*GetKeymapEntry) ( | |||
IDirectFBInputDevice *thiz, | IDirectFBInputDevice *thiz, | |||
int keycode, | int keycode, | |||
DFBInputDeviceKeymapEntry *ret_entry | DFBInputDeviceKeymapEntry *ret_entry | |||
); | ); | |||
/* | ||||
* Set one entry of the keymap to the specified entry. | ||||
* Each entry has 4 modifier combinations for going from key to symbol | ||||
. | ||||
*/ | ||||
DFBResult (*SetKeymapEntry) ( | ||||
IDirectFBInputDevice *thiz, | ||||
int keycode, | ||||
DFBInputDeviceKeymapEntry *entry | ||||
); | ||||
/* | ||||
* Load a keymap from the specified file. | ||||
* All specified keys will overwrite the current keymap. | ||||
* On return of an error, the keymap is in an unspecified state. | ||||
* the file must be ASCII containing lines: | ||||
* keycode <hw code> = <key id> = <symbol> .... (up to 4 symbols) | ||||
* Modifier-key-sensitive keys can be framed between | ||||
* capslock: .... :capslock or numlock: ... :numlock. | ||||
*/ | ||||
DFBResult (*LoadKeymap) ( | ||||
IDirectFBInputDevice *thiz, | ||||
char *filename | ||||
); | ||||
/** Event buffers **/ | /** Event buffers **/ | |||
/* | /* | |||
* Create an event buffer for this device and attach it. | * Create an event buffer for this device and attach it. | |||
*/ | */ | |||
DFBResult (*CreateEventBuffer) ( | DFBResult (*CreateEventBuffer) ( | |||
IDirectFBInputDevice *thiz, | IDirectFBInputDevice *thiz, | |||
IDirectFBEventBuffer **ret_buffer | IDirectFBEventBuffer **ret_buffer | |||
); | ); | |||
End of changes. 21 change blocks. | ||||
39 lines changed or deleted | 136 lines changed or added | |||
directfb_strings.h | directfb_strings.h | |||
---|---|---|---|---|
skipping to change at line 29 | skipping to change at line 29 | |||
{ DSPF_I420, "I420" }, \ | { DSPF_I420, "I420" }, \ | |||
{ DSPF_YV12, "YV12" }, \ | { DSPF_YV12, "YV12" }, \ | |||
{ DSPF_LUT8, "LUT8" }, \ | { DSPF_LUT8, "LUT8" }, \ | |||
{ DSPF_ALUT44, "ALUT44" }, \ | { DSPF_ALUT44, "ALUT44" }, \ | |||
{ DSPF_AiRGB, "AiRGB" }, \ | { DSPF_AiRGB, "AiRGB" }, \ | |||
{ DSPF_A1, "A1" }, \ | { DSPF_A1, "A1" }, \ | |||
{ DSPF_NV12, "NV12" }, \ | { DSPF_NV12, "NV12" }, \ | |||
{ DSPF_NV16, "NV16" }, \ | { DSPF_NV16, "NV16" }, \ | |||
{ DSPF_ARGB2554, "ARGB2554" }, \ | { DSPF_ARGB2554, "ARGB2554" }, \ | |||
{ DSPF_ARGB4444, "ARGB4444" }, \ | { DSPF_ARGB4444, "ARGB4444" }, \ | |||
{ DSPF_RGBA4444, "RGBA4444" }, \ | ||||
{ DSPF_NV21, "NV21" }, \ | { DSPF_NV21, "NV21" }, \ | |||
{ DSPF_AYUV, "AYUV" }, \ | { DSPF_AYUV, "AYUV" }, \ | |||
{ DSPF_A4, "A4" }, \ | { DSPF_A4, "A4" }, \ | |||
{ DSPF_ARGB1666, "ARGB1666" }, \ | { DSPF_ARGB1666, "ARGB1666" }, \ | |||
{ DSPF_ARGB6666, "ARGB6666" }, \ | { DSPF_ARGB6666, "ARGB6666" }, \ | |||
{ 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" }, \ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
directfb_util.h | directfb_util.h | |||
---|---|---|---|---|
skipping to change at line 547 | skipping to change at line 547 | |||
typedef struct { | typedef struct { | |||
int magic; | int magic; | |||
DFBRegion *regions; | DFBRegion *regions; | |||
int max_regions; | int max_regions; | |||
int num_regions; | int num_regions; | |||
DFBRegion bounding; | DFBRegion bounding; | |||
} DFBUpdates; | } DFBUpdates; | |||
#define DFB_UPDATES_ASSERT(updates) | ||||
\ | ||||
do { | ||||
\ | ||||
D_MAGIC_ASSERT( updates, DFBUpdates ); | ||||
\ | ||||
D_ASSERT( (updates)->regions != NULL ); | ||||
\ | ||||
D_ASSERT( (updates)->max_regions > 0 ); | ||||
\ | ||||
D_ASSERT( (updates)->num_regions <= (updates)->max_regions ); | ||||
\ | ||||
} while (0) | ||||
void dfb_updates_init( DFBUpdates *updates, | void dfb_updates_init( DFBUpdates *updates, | |||
DFBRegion *regions, | DFBRegion *regions, | |||
int max_regions ); | int max_regions ); | |||
void dfb_updates_add ( DFBUpdates *updates, | void dfb_updates_add ( DFBUpdates *updates, | |||
const DFBRegion *region ); | const DFBRegion *region ); | |||
void dfb_updates_stat( DFBUpdates *updates, | void dfb_updates_stat( DFBUpdates *updates, | |||
int *ret_total, | int *ret_total, | |||
int *ret_bounding ); | int *ret_bounding ); | |||
void dfb_updates_get_rectangles( DFBUpdates *updates, | ||||
DFBRectangle *ret_rects, | ||||
int *ret_num ); | ||||
static inline void | ||||
dfb_updates_add_rect( DFBUpdates *updates, | ||||
int x, | ||||
int y, | ||||
int w, | ||||
int h ) | ||||
{ | ||||
DFBRegion region = DFB_REGION_INIT_FROM_RECTANGLE_VALS( x, y, w, h ); | ||||
dfb_updates_add( updates, ®ion ); | ||||
} | ||||
static inline void | static inline void | |||
dfb_updates_reset( DFBUpdates *updates ) | dfb_updates_reset( DFBUpdates *updates ) | |||
{ | { | |||
D_MAGIC_ASSERT( updates, DFBUpdates ); | D_MAGIC_ASSERT( updates, DFBUpdates ); | |||
updates->num_regions = 0; | updates->num_regions = 0; | |||
} | } | |||
static inline void | ||||
dfb_updates_deinit( DFBUpdates *updates ) | ||||
{ | ||||
D_MAGIC_ASSERT( updates, DFBUpdates ); | ||||
D_MAGIC_CLEAR( updates ); | ||||
} | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 38 lines changed or added | |||
directfb_version.h | directfb_version.h | |||
---|---|---|---|---|
skipping to change at line 34 | skipping to change at line 34 | |||
License along with this library; if not, write to the | License along with this library; if not, write to the | |||
Free Software Foundation, Inc., 59 Temple Place - Suite 330, | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||
Boston, MA 02111-1307, USA. | Boston, MA 02111-1307, USA. | |||
*/ | */ | |||
#ifndef __DIRECTFB_VERSION_H__ | #ifndef __DIRECTFB_VERSION_H__ | |||
#define __DIRECTFB_VERSION_H__ | #define __DIRECTFB_VERSION_H__ | |||
#define DIRECTFB_MAJOR_VERSION (1) | #define DIRECTFB_MAJOR_VERSION (1) | |||
#define DIRECTFB_MINOR_VERSION (3) | #define DIRECTFB_MINOR_VERSION (3) | |||
#define DIRECTFB_MICRO_VERSION (0) | #define DIRECTFB_MICRO_VERSION (1) | |||
#define DIRECTFB_BINARY_AGE (0) | #define DIRECTFB_BINARY_AGE (1) | |||
#define DIRECTFB_INTERFACE_AGE (0) | #define DIRECTFB_INTERFACE_AGE (0) | |||
#endif /* __DIRECTFB_VERSION_H__ */ | #endif /* __DIRECTFB_VERSION_H__ */ | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
fbdev.h | fbdev.h | |||
---|---|---|---|---|
skipping to change at line 121 | skipping to change at line 121 | |||
VirtualTerminal *vt; | VirtualTerminal *vt; | |||
AGPDevice *agp; | AGPDevice *agp; | |||
} FBDev; | } FBDev; | |||
/* | /* | |||
* core init function, opens /dev/fb, get fbdev screeninfo | * core init function, opens /dev/fb, get fbdev screeninfo | |||
* disables font acceleration, reads mode list | * disables font acceleration, reads mode list | |||
*/ | */ | |||
DFBResult dfb_fbdev_initialize(); | DFBResult dfb_fbdev_initialize( void ); | |||
DFBResult dfb_fbdev_join(); | DFBResult dfb_fbdev_join( void ); | |||
/* | /* | |||
* deinitializes DirectFB fbdev stuff and restores fbdev settings | * deinitializes DirectFB fbdev stuff and restores fbdev settings | |||
*/ | */ | |||
DFBResult dfb_fbdev_shutdown( bool emergency ); | DFBResult dfb_fbdev_shutdown( bool emergency ); | |||
DFBResult dfb_fbdev_leave ( bool emergency ); | DFBResult dfb_fbdev_leave ( bool emergency ); | |||
const VideoMode *dfb_fbdev_find_mode( int width, | ||||
int height ) | ||||
; | ||||
DFBResult dfb_fbdev_test_mode ( const VideoMode *mode, | DFBResult dfb_fbdev_test_mode ( const VideoMode *mode, | |||
const CoreLayerRegionConfig *config ) ; | const CoreLayerRegionConfig *config ) ; | |||
DFBResult dfb_fbdev_test_mode_simple( const VideoMode *mode ); | DFBResult dfb_fbdev_test_mode_simple( const VideoMode *mode ); | |||
DFBResult dfb_fbdev_set_mode ( const VideoMode *mode, | DFBResult dfb_fbdev_set_mode ( const VideoMode *mode, | |||
const CoreSurfaceConfig *config ) | CoreSurface *surface, | |||
; | unsigned int xoffset, | |||
unsigned int yoffset | ||||
); | ||||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
4 lines changed or deleted | 9 lines changed or added | |||
generic.h | generic.h | |||
---|---|---|---|---|
skipping to change at line 133 | skipping to change at line 133 | |||
CorePalette *Alut; | CorePalette *Alut; | |||
CorePalette *Blut; | CorePalette *Blut; | |||
/* | /* | |||
* accumulators | * accumulators | |||
*/ | */ | |||
void *ABstart; | void *ABstart; | |||
int ABsize; | int ABsize; | |||
GenefxAccumulator *Aacc; | GenefxAccumulator *Aacc; | |||
GenefxAccumulator *Bacc; | GenefxAccumulator *Bacc; | |||
GenefxAccumulator *Tacc; /* for simultaneous S+D blending */ | ||||
GenefxAccumulator Cacc; | GenefxAccumulator Cacc; | |||
GenefxAccumulator SCacc; | GenefxAccumulator SCacc; | |||
/* | /* | |||
* dataflow control | * dataflow control | |||
*/ | */ | |||
GenefxAccumulator *Xacc; | GenefxAccumulator *Xacc; /* writing pointer for blending */ | |||
GenefxAccumulator *Yacc; /* input pointer for blending */ | ||||
GenefxAccumulator *Dacc; | GenefxAccumulator *Dacc; | |||
GenefxAccumulator *Sacc; | GenefxAccumulator *Sacc; | |||
void **Sop; | void **Sop; | |||
CorePalette *Slut; | CorePalette *Slut; | |||
int Ostep; /* controls horizontal blitting direction */ | int Ostep; /* controls horizontal blitting direction */ | |||
int SperD; /* for scaled routines only */ | int SperD; /* for scaled routines only */ | |||
int Xphase; /* initial value for fractional steps (zero if not clip ped) */ | int Xphase; /* initial value for fractional steps (zero if not clip ped) */ | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 3 lines changed or added | |||
graphics_driver.h | graphics_driver.h | |||
---|---|---|---|---|
skipping to change at line 75 | skipping to change at line 75 | |||
static GraphicsDriverFuncs driver_funcs = { | static GraphicsDriverFuncs driver_funcs = { | |||
.Probe = driver_probe, | .Probe = driver_probe, | |||
.GetDriverInfo = driver_get_info, | .GetDriverInfo = driver_get_info, | |||
.InitDriver = driver_init_driver, | .InitDriver = driver_init_driver, | |||
.InitDevice = driver_init_device, | .InitDevice = driver_init_device, | |||
.CloseDevice = driver_close_device, | .CloseDevice = driver_close_device, | |||
.CloseDriver = driver_close_driver | .CloseDriver = driver_close_driver | |||
}; | }; | |||
#define DFB_GRAPHICS_DRIVER(shortname) \ | #define DFB_GRAPHICS_DRIVER(shortname) \ | |||
__attribute__((constructor)) void directfb_##shortname(); \ | __attribute__((constructor)) void directfb_##shortname( void ); \ | |||
\ | \ | |||
void \ | void \ | |||
directfb_##shortname() \ | directfb_##shortname( void ) \ | |||
{ \ | { \ | |||
direct_modules_register( &dfb_graphics_drivers, \ | direct_modules_register( &dfb_graphics_drivers, \ | |||
DFB_GRAPHICS_DRIVER_ABI_VERSION, \ | DFB_GRAPHICS_DRIVER_ABI_VERSION, \ | |||
#shortname, &driver_funcs ); \ | #shortname, &driver_funcs ); \ | |||
} | } | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
input.h | input.h | |||
---|---|---|---|---|
skipping to change at line 136 | skipping to change at line 136 | |||
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 ); | |||
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, | ||||
int | ||||
keycode, | ||||
DFBInputDeviceKeymapEn | ||||
try *entry ); | ||||
DFBResult dfb_input_device_load_keymap ( CoreInputDevice | ||||
*device, | ||||
char | ||||
*filename ); | ||||
DFBResult dfb_input_device_reload_keymap ( CoreInputDevice *device ); | DFBResult dfb_input_device_reload_keymap ( CoreInputDevice *device ); | |||
/* 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. 1 change blocks. | ||||
0 lines changed or deleted | 12 lines changed or added | |||
input_driver.h | input_driver.h | |||
---|---|---|---|---|
skipping to change at line 35 | skipping to change at line 35 | |||
Free Software Foundation, Inc., 59 Temple Place - Suite 330, | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||
Boston, MA 02111-1307, USA. | Boston, MA 02111-1307, USA. | |||
*/ | */ | |||
#ifndef __INPUT_DRIVER_H__ | #ifndef __INPUT_DRIVER_H__ | |||
#define __INPUT_DRIVER_H__ | #define __INPUT_DRIVER_H__ | |||
#include <core/input.h> | #include <core/input.h> | |||
static int | static int | |||
driver_get_available(); | driver_get_available( void ); | |||
static void | static void | |||
driver_get_info( InputDriverInfo *info ); | driver_get_info( InputDriverInfo *info ); | |||
static DFBResult | static DFBResult | |||
driver_open_device( CoreInputDevice *device, | driver_open_device( CoreInputDevice *device, | |||
unsigned int number, | unsigned int number, | |||
InputDeviceInfo *info, | InputDeviceInfo *info, | |||
void **driver_data ); | void **driver_data ); | |||
skipping to change at line 75 | skipping to change at line 75 | |||
.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, | |||
#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(); | __attribute__((constructor)) void directfb_##shortname##_ctor( void ); | |||
\ | \ | |||
__attribute__((destructor)) void directfb_##shortname##_dtor( void ); | ||||
\ | ||||
\ | \ | |||
void \ | void \ | |||
directfb_##shortname() \ | directfb_##shortname##_ctor( void ) \ | |||
{ \ | { \ | |||
direct_modules_register( &dfb_input_modules, DFB_INPUT_DRIVER_ABI_VERS ION, \ | direct_modules_register( &dfb_input_modules, DFB_INPUT_DRIVER_ABI_VERS ION, \ | |||
#shortname, &driver_funcs ); \ | #shortname, &driver_funcs ); \ | |||
} | ||||
\ | ||||
\ | ||||
void | ||||
\ | ||||
directfb_##shortname##_dtor( void ) | ||||
\ | ||||
{ | ||||
\ | ||||
direct_modules_unregister( &dfb_input_modules, #shortname ); | ||||
\ | ||||
} | } | |||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 18 lines changed or added | |||
interface.h | interface.h | |||
---|---|---|---|---|
skipping to change at line 122 | skipping to change at line 122 | |||
/* | /* | |||
* Called by implementation modules during 'dlopen'ing or at startup if lin ked | * Called by implementation modules during 'dlopen'ing or at startup if lin ked | |||
* into the executable. | * into the executable. | |||
*/ | */ | |||
void DirectRegisterInterface( DirectInterfaceFuncs *funcs ); | void DirectRegisterInterface( DirectInterfaceFuncs *funcs ); | |||
void DirectUnregisterInterface( DirectInterfaceFuncs *funcs ); | void DirectUnregisterInterface( DirectInterfaceFuncs *funcs ); | |||
void direct_print_interface_leaks(void); | void direct_print_interface_leaks(void); | |||
#if DIRECT_BUILD_DEBUG || defined(DIRECT_ENABLE_DEBUG) || defined(DIRECT_FO | #if DIRECT_BUILD_DEBUGS | |||
RCE_DEBUG) | ||||
#if !DIRECT_BUILD_DEBUGS | ||||
#error Building with debug, but library headers suggest that debug is not s | ||||
upported. | ||||
#endif | ||||
void direct_dbg_interface_add ( const char *func, | void direct_dbg_interface_add ( const char *func, | |||
const char *file, | const char *file, | |||
int line, | int line, | |||
const char *what, | const char *what, | |||
const void *interface, | const void *interface, | |||
const char *name ); | const char *name ); | |||
void direct_dbg_interface_remove( const char *func, | void direct_dbg_interface_remove( const char *func, | |||
const char *file, | const char *file, | |||
int line, | int line, | |||
const char *what, | const char *what, | |||
const void *interface ); | const void *interface ); | |||
#endif | ||||
#if DIRECT_BUILD_DEBUG || defined(DIRECT_ENABLE_DEBUG) || defined(DIRECT_FO | ||||
RCE_DEBUG) | ||||
#if !DIRECT_BUILD_DEBUGS | ||||
#error Building with debug, but library headers suggest that debug is not s | ||||
upported. | ||||
#endif | ||||
#define DIRECT_DBG_INTERFACE_ADD direct_dbg_interface_add | #define DIRECT_DBG_INTERFACE_ADD direct_dbg_interface_add | |||
#define DIRECT_DBG_INTERFACE_REMOVE direct_dbg_interface_remove | #define DIRECT_DBG_INTERFACE_REMOVE direct_dbg_interface_remove | |||
#else | #else | |||
#define DIRECT_DBG_INTERFACE_ADD(func,file,line,what,interface,name) do {} while (0) | #define DIRECT_DBG_INTERFACE_ADD(func,file,line,what,interface,name) do {} while (0) | |||
#define DIRECT_DBG_INTERFACE_REMOVE(func,file,line,what,interface) do {} while (0) | #define DIRECT_DBG_INTERFACE_REMOVE(func,file,line,what,interface) do {} while (0) | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
8 lines changed or deleted | 10 lines changed or added | |||
interface_implementation.h | interface_implementation.h | |||
---|---|---|---|---|
skipping to change at line 69 | skipping to change at line 69 | |||
\ | \ | |||
static DirectResult \ | static DirectResult \ | |||
Allocate( void **interface ) \ | Allocate( void **interface ) \ | |||
{ \ | { \ | |||
DIRECT_ALLOCATE_INTERFACE( *interface, type ); \ | DIRECT_ALLOCATE_INTERFACE( *interface, type ); \ | |||
return DR_OK; \ | return DR_OK; \ | |||
} \ | } \ | |||
\ | \ | |||
__attribute__((constructor)) \ | __attribute__((constructor)) \ | |||
void \ | void \ | |||
type##_##impl##_ctor(void); \ | ||||
\ | ||||
__attribute__((constructor)) \ | ||||
void \ | ||||
type##_##impl##_ctor(void) \ | type##_##impl##_ctor(void) \ | |||
{ \ | { \ | |||
DirectRegisterInterface( &interface_funcs ); \ | DirectRegisterInterface( &interface_funcs ); \ | |||
} \ | } \ | |||
\ | \ | |||
__attribute__((destructor)) \ | __attribute__((destructor)) \ | |||
void \ | void \ | |||
type##_##impl##_dtor(void); \ | ||||
\ | ||||
__attribute__((destructor)) \ | ||||
void \ | ||||
type##_##impl##_dtor(void) \ | type##_##impl##_dtor(void) \ | |||
{ \ | { \ | |||
DirectUnregisterInterface( &interface_funcs ); \ | DirectUnregisterInterface( &interface_funcs ); \ | |||
} | } | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 8 lines changed or added | |||
layers.h | layers.h | |||
---|---|---|---|---|
skipping to change at line 127 | skipping to change at line 127 | |||
CLRCF_ALL = 0xB013377F | CLRCF_ALL = 0xB013377F | |||
} CoreLayerRegionConfigFlags; | } CoreLayerRegionConfigFlags; | |||
typedef struct { | typedef struct { | |||
/** Driver Control **/ | /** Driver Control **/ | |||
/* | /* | |||
* Return size of layer data (shared memory). | * Return size of layer data (shared memory). | |||
*/ | */ | |||
int (*LayerDataSize) (); | int (*LayerDataSize) ( void ); | |||
/* | /* | |||
* Return size of region data (shared memory). | * Return size of region data (shared memory). | |||
*/ | */ | |||
int (*RegionDataSize)(); | int (*RegionDataSize)( void ); | |||
/* | /* | |||
* Called once by the master to initialize layer data and reset hardwa re. | * Called once by the master to initialize layer data and reset hardwa re. | |||
* Return layer description, default configuration and color adjustmen t. | * Return layer description, default configuration and color adjustmen t. | |||
*/ | */ | |||
DFBResult (*InitLayer) ( CoreLayer *layer, | DFBResult (*InitLayer) ( CoreLayer *layer, | |||
void *driver_data, | void *driver_data, | |||
void *layer_data, | void *layer_data, | |||
DFBDisplayLayerDescription *description, | DFBDisplayLayerDescription *description, | |||
DFBDisplayLayerConfig *config, | DFBDisplayLayerConfig *config, | |||
skipping to change at line 332 | skipping to change at line 332 | |||
CoreLayer *dfb_layers_replace_primary( CoreGraphicsDevice *device, | CoreLayer *dfb_layers_replace_primary( CoreGraphicsDevice *device, | |||
void *driver_data, | void *driver_data, | |||
DisplayLayerFuncs *funcs ); | DisplayLayerFuncs *funcs ); | |||
typedef DFBEnumerationResult (*DisplayLayerCallback) (CoreLayer *layer, | typedef DFBEnumerationResult (*DisplayLayerCallback) (CoreLayer *layer, | |||
void *ctx); | void *ctx); | |||
void dfb_layers_enumerate( DisplayLayerCallback callback, | void dfb_layers_enumerate( DisplayLayerCallback callback, | |||
void *ctx ); | void *ctx ); | |||
int dfb_layer_num(); | int dfb_layer_num( void ); | |||
CoreLayer *dfb_layer_at( DFBDisplayLayerID id ); | CoreLayer *dfb_layer_at( DFBDisplayLayerID id ); | |||
CoreLayer *dfb_layer_at_translated( DFBDisplayLayerID id ); | CoreLayer *dfb_layer_at_translated( DFBDisplayLayerID id ); | |||
void dfb_layer_get_description( const CoreLayer *layer, | void dfb_layer_get_description( const CoreLayer *layer, | |||
DFBDisplayLayerDescription *desc ); | DFBDisplayLayerDescription *desc ); | |||
CoreScreen *dfb_layer_screen( const CoreLayer *layer ); | CoreScreen *dfb_layer_screen( const CoreLayer *layer ); | |||
CardState *dfb_layer_state( CoreLayer *layer ); | CardState *dfb_layer_state( CoreLayer *layer ); | |||
DFBDisplayLayerID dfb_layer_id( const CoreLayer *layer ); | DFBDisplayLayerID dfb_layer_id( const CoreLayer *layer ); | |||
DFBDisplayLayerID dfb_layer_id_translated( const CoreLayer *layer ); | DFBDisplayLayerID dfb_layer_id_translated( const CoreLayer *layer ); | |||
DFBSurfacePixelFormat dfb_primary_layer_pixelformat(); | DFBSurfacePixelFormat dfb_primary_layer_pixelformat( void ); | |||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
memcpy.h | memcpy.h | |||
---|---|---|---|---|
skipping to change at line 42 | skipping to change at line 42 | |||
#include <stdlib.h> | #include <stdlib.h> | |||
#include <string.h> | #include <string.h> | |||
void direct_find_best_memcpy( void ); | void direct_find_best_memcpy( void ); | |||
void direct_print_memcpy_routines( void ); | void direct_print_memcpy_routines( void ); | |||
extern void *(*direct_memcpy)( void *to, const void *from, size_t len ); | extern void *(*direct_memcpy)( void *to, const void *from, size_t len ); | |||
static __inline__ void *direct_memmove( void *to, const void *from, size_t len ) | static __inline__ void *direct_memmove( void *to, const void *from, size_t len ) | |||
{ | { | |||
if ((from < to && ((char*) from + len) < ((char*) to)) || | if ((from < to && ((const char*) from + len) < ((char*) to)) || | |||
(((char*) to + len) < ((char*) from))) | (((char*) to + len) < ((const char*) from))) | |||
return direct_memcpy( to, from, len ); | return direct_memcpy( to, from, len ); | |||
else | else | |||
return memmove( to, from, len ); | return memmove( to, from, len ); | |||
} | } | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
modules.h | modules.h | |||
---|---|---|---|---|
skipping to change at line 73 | skipping to change at line 73 | |||
DirectLink *entries; | DirectLink *entries; | |||
DirectModuleEntry *loading; | DirectModuleEntry *loading; | |||
}; | }; | |||
#define DECLARE_MODULE_DIRECTORY(d) \ | #define DECLARE_MODULE_DIRECTORY(d) \ | |||
extern DirectModuleDir d | extern DirectModuleDir d | |||
#define DEFINE_MODULE_DIRECTORY(d,p,n) \ | #define DEFINE_MODULE_DIRECTORY(d,p,n) \ | |||
DirectModuleDir d = { \ | DirectModuleDir d = { \ | |||
lock: PTHREAD_MUTEX_INITIALIZER, \ | .lock = PTHREAD_MUTEX_INITIALIZER, \ | |||
path: MODULEDIR"/"p, \ | .path = p, \ | |||
abi_version: n, \ | .abi_version = n, \ | |||
entries: NULL, \ | .entries = NULL, \ | |||
loading: NULL \ | .loading = NULL, \ | |||
} | } | |||
int direct_modules_explore_directory( DirectModuleDir *directory ); | int direct_modules_explore_directory( DirectModuleDir *directory ); | |||
void direct_modules_register( DirectModuleDir *directory, | void direct_modules_register( DirectModuleDir *directory, | |||
unsigned int abi_version, | unsigned int abi_version, | |||
const char *name, | const char *name, | |||
const void *funcs ); | const void *funcs ); | |||
void direct_modules_unregister( DirectModuleDir *directory, | ||||
const char *name ); | ||||
const void *direct_module_ref ( DirectModuleEntry *module ); | const void *direct_module_ref ( DirectModuleEntry *module ); | |||
void direct_module_unref( DirectModuleEntry *module ); | void direct_module_unref( DirectModuleEntry *module ); | |||
#endif | #endif | |||
End of changes. 2 change blocks. | ||||
5 lines changed or deleted | 8 lines changed or added | |||
surface_pool.h | surface_pool.h | |||
---|---|---|---|---|
skipping to change at line 71 | skipping to change at line 71 | |||
typedef struct { | typedef struct { | |||
CoreSurfacePoolCapabilities caps; | CoreSurfacePoolCapabilities caps; | |||
CoreSurfaceAccessFlags access[_CSAID_NUM]; | CoreSurfaceAccessFlags access[_CSAID_NUM]; | |||
CoreSurfaceTypeFlags types; | CoreSurfaceTypeFlags types; | |||
CoreSurfacePoolPriority priority; | CoreSurfacePoolPriority priority; | |||
char name[DFB_SURFACE_POOL_DESC_NAME_LENGTH]; | char name[DFB_SURFACE_POOL_DESC_NAME_LENGTH]; | |||
unsigned long size; | unsigned long size; | |||
} CoreSurfacePoolDescription; | } CoreSurfacePoolDescription; | |||
typedef struct { | typedef struct { | |||
int (*PoolDataSize)(); | int (*PoolDataSize)( void ); | |||
int (*PoolLocalDataSize)(); | int (*PoolLocalDataSize)( void ); | |||
int (*AllocationDataSize)(); | int (*AllocationDataSize)( void ); | |||
/* | /* | |||
* Pool init/destroy | * Pool init/destroy | |||
*/ | */ | |||
DFBResult (*InitPool) ( CoreDFB *core, | DFBResult (*InitPool) ( CoreDFB *core, | |||
CoreSurfacePool *pool, | CoreSurfacePool *pool, | |||
void *pool_data, | void *pool_data, | |||
void *pool_local, | void *pool_local, | |||
void *system_data, | void *system_data, | |||
CoreSurfacePoolDescription *ret_desc ); | CoreSurfacePoolDescription *ret_desc ); | |||
End of changes. 1 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
surface_pool_bridge.h | surface_pool_bridge.h | |||
---|---|---|---|---|
skipping to change at line 58 | skipping to change at line 58 | |||
#define DFB_SURFACE_POOL_BRIDGE_ABI_VERSION 1 | #define DFB_SURFACE_POOL_BRIDGE_ABI_VERSION 1 | |||
#define DFB_SURFACE_POOL_BRIDGE_DESC_NAME_LENGTH 44 | #define DFB_SURFACE_POOL_BRIDGE_DESC_NAME_LENGTH 44 | |||
typedef struct { | typedef struct { | |||
CoreSurfacePoolBridgeCapabilities caps; | CoreSurfacePoolBridgeCapabilities caps; | |||
char name[DFB_SURFACE_POOL_BRIDGE_DESC_N AME_LENGTH]; | char name[DFB_SURFACE_POOL_BRIDGE_DESC_N AME_LENGTH]; | |||
} CoreSurfacePoolBridgeDescription; | } CoreSurfacePoolBridgeDescription; | |||
typedef struct { | typedef struct { | |||
int (*PoolBridgeDataSize)(); | int (*PoolBridgeDataSize)( void ); | |||
int (*PoolBridgeLocalDataSize)(); | int (*PoolBridgeLocalDataSize)( void ); | |||
int (*PoolTransferDataSize)(); | int (*PoolTransferDataSize)( void ); | |||
/* | /* | |||
* Bridge init/destroy | * Bridge init/destroy | |||
*/ | */ | |||
DFBResult (*InitPoolBridge) ( CoreDFB *core , | DFBResult (*InitPoolBridge) ( CoreDFB *core , | |||
CoreSurfacePoolBridge *brid ge, | CoreSurfacePoolBridge *brid ge, | |||
void *brid ge_data, | void *brid ge_data, | |||
void *brid ge_local, | void *brid ge_local, | |||
void *cont ext, | void *cont ext, | |||
CoreSurfacePoolBridgeDescription *ret_ desc ); | CoreSurfacePoolBridgeDescription *ret_ desc ); | |||
End of changes. 2 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
vt.h | vt.h | |||
---|---|---|---|---|
skipping to change at line 33 | skipping to change at line 33 | |||
You should have received a copy of the GNU Lesser General Public | You should have received a copy of the GNU Lesser General Public | |||
License along with this library; if not, write to the | License along with this library; if not, write to the | |||
Free Software Foundation, Inc., 59 Temple Place - Suite 330, | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||
Boston, MA 02111-1307, USA. | Boston, MA 02111-1307, USA. | |||
*/ | */ | |||
#ifndef __VT_H__ | #ifndef __VT_H__ | |||
#define __VT_H__ | #define __VT_H__ | |||
#include <signal.h> | #include <signal.h> | |||
#include <termios.h> | ||||
#include <unistd.h> | ||||
#include <linux/vt.h> | #include <linux/vt.h> | |||
#include <directfb.h> | #include <directfb.h> | |||
typedef struct { | typedef struct { | |||
int fd0; /* file descriptor of /dev/tty0 */ | int fd0; /* file descriptor of /dev/tty0 */ | |||
int fd; /* file descriptor of /dev/ttyN | int fd; /* file descriptor of /dev/ttyN | |||
where N is the number of the allocate d VT, | where N is the number of the allocate d VT, | |||
may be equal to 'fd0' if VT allocatio n | may be equal to 'fd0' if VT allocatio n | |||
is disabled by "--no-vt-switch" */ | is disabled by "--no-vt-switch" */ | |||
skipping to change at line 59 | skipping to change at line 61 | |||
struct sigaction sig_usr1; /* previous signal handler for USR1 */ | struct sigaction sig_usr1; /* previous signal handler for USR1 */ | |||
struct sigaction sig_usr2; /* previous signal handler for USR2 */ | struct sigaction sig_usr2; /* previous signal handler for USR2 */ | |||
struct vt_mode vt_mode; /* previous VT mode */ | struct vt_mode vt_mode; /* previous VT mode */ | |||
DirectThread *thread; | DirectThread *thread; | |||
pthread_mutex_t lock; | pthread_mutex_t lock; | |||
pthread_cond_t wait; | pthread_cond_t wait; | |||
int vt_sig; | int vt_sig; | |||
struct termios old_ts; | ||||
} VirtualTerminal; | } VirtualTerminal; | |||
/* | /* | |||
* allocates and switches to a new virtual terminal | * allocates and switches to a new virtual terminal | |||
*/ | */ | |||
DFBResult dfb_vt_initialize(); | DFBResult dfb_vt_initialize( void ); | |||
DFBResult dfb_vt_join(); | DFBResult dfb_vt_join( void ); | |||
/* | /* | |||
* deallocates virtual terminal | * deallocates virtual terminal | |||
*/ | */ | |||
DFBResult dfb_vt_shutdown( bool emergency ); | DFBResult dfb_vt_shutdown( bool emergency ); | |||
DFBResult dfb_vt_leave( bool emergency ); | DFBResult dfb_vt_leave( bool emergency ); | |||
DFBResult dfb_vt_detach( bool force ); | DFBResult dfb_vt_detach( bool force ); | |||
bool dfb_vt_switch( int num ); | bool dfb_vt_switch( int num ); | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 5 lines changed or added | |||
wm_module.h | wm_module.h | |||
---|---|---|---|---|
skipping to change at line 245 | skipping to change at line 245 | |||
.RestackWindow = wm_restack_window, | .RestackWindow = wm_restack_window, | |||
.Grab = wm_grab, | .Grab = wm_grab, | |||
.Ungrab = wm_ungrab, | .Ungrab = wm_ungrab, | |||
.RequestFocus = wm_request_focus, | .RequestFocus = wm_request_focus, | |||
.UpdateStack = wm_update_stack, | .UpdateStack = wm_update_stack, | |||
.UpdateWindow = wm_update_window, | .UpdateWindow = wm_update_window, | |||
.UpdateCursor = wm_update_cursor | .UpdateCursor = wm_update_cursor | |||
}; | }; | |||
#define DFB_WINDOW_MANAGER(shortname) \ | #define DFB_WINDOW_MANAGER(shortname) \ | |||
__attribute__((constructor)) void directfbwm_##shortname(); \ | __attribute__((constructor)) void directfbwm_##shortname( void ); \ | |||
\ | \ | |||
void \ | void \ | |||
directfbwm_##shortname() \ | directfbwm_##shortname( void ) \ | |||
{ \ | { \ | |||
direct_modules_register( &dfb_core_wm_modules, \ | direct_modules_register( &dfb_core_wm_modules, \ | |||
DFB_CORE_WM_ABI_VERSION, \ | DFB_CORE_WM_ABI_VERSION, \ | |||
#shortname, &wm_funcs ); \ | #shortname, &wm_funcs ); \ | |||
} | } | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
9 lines changed or deleted | 9 lines changed or added | |||