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, &region );
}
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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/