convert.h   convert.h 
skipping to change at line 98 skipping to change at line 98
#define PIXEL_RGB32(r,g,b) ( (0xff << 24) | \ #define PIXEL_RGB32(r,g,b) ( (0xff << 24) | \
((r) << 16) | \ ((r) << 16) | \
((g) << 8) | \ ((g) << 8) | \
(b) ) (b) )
#define PIXEL_ARGB(a,r,g,b) ( ((a) << 24) | \ #define PIXEL_ARGB(a,r,g,b) ( ((a) << 24) | \
((r) << 16) | \ ((r) << 16) | \
((g) << 8) | \ ((g) << 8) | \
(b) ) (b) )
#define PIXEL_ARGB8565(a,r,g,b)( ((a) << 16) | \
PIXEL_RGB16 (r, g, b) )
#define PIXEL_ARGB1666(a,r,g,b) ( (((a)&0x80) << 11) | \ #define PIXEL_ARGB1666(a,r,g,b) ( (((a)&0x80) << 11) | \
(((r)&0xFC) << 10) | \ (((r)&0xFC) << 10) | \
(((g)&0xFC) << 4) | \ (((g)&0xFC) << 4) | \
(((b)&0xFC) >> 2) ) (((b)&0xFC) >> 2) )
#define PIXEL_ARGB6666(a,r,g,b) ( (((a)&0xFC) << 16) | \ #define PIXEL_ARGB6666(a,r,g,b) ( (((a)&0xFC) << 16) | \
(((r)&0xFC) << 10) | \ (((r)&0xFC) << 10) | \
(((g)&0xFC) << 4) | \ (((g)&0xFC) << 4) | \
(((b)&0xFC) >> 2) ) (((b)&0xFC) >> 2) )
#define PIXEL_AYUV(a,y,u,v) ( ((a) << 24) | \ #define PIXEL_AYUV(a,y,u,v) ( ((a) << 24) | \
((y) << 16) | \ ((y) << 16) | \
((u) << 8) | \ ((u) << 8) | \
(v) ) (v) )
#define PIXEL_AVYU(a,y,u,v) ( ((a) << 24) | \
((v) << 16) | \
((y) << 8) | \
(u) )
#define PIXEL_AiRGB(a,r,g,b) ( (((a) ^ 0xff) << 24) | \ #define PIXEL_AiRGB(a,r,g,b) ( (((a) ^ 0xff) << 24) | \
((r) << 16) | \ ((r) << 16) | \
((g) << 8) | \ ((g) << 8) | \
(b) ) (b) )
#ifdef WORDS_BIGENDIAN #ifdef WORDS_BIGENDIAN
#define PIXEL_YUY2(y,u,v) ( ((u) << 24) | \ #define PIXEL_YUY2(y,u,v) ( ((u) << 24) | \
((y) << 16) | \ ((y) << 16) | \
((v) << 8) | \ ((v) << 8) | \
skipping to change at line 143 skipping to change at line 152
((u) << 8) | \ ((u) << 8) | \
(y) ) (y) )
#define PIXEL_UYVY(y,u,v) ( ((y) << 24) | \ #define PIXEL_UYVY(y,u,v) ( ((y) << 24) | \
((v) << 16) | \ ((v) << 16) | \
((y) << 8) | \ ((y) << 8) | \
(u) ) (u) )
#endif #endif
#define PIXEL_VYU(y,u,v) ( ((v) << 16) | \
((y) << 8) | \
(u) )
/* 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) ? 0xf000 : 0 ) | \ #define ARGB1555_TO_ARGB4444(pixel) ( (((pixel) & 0x8000) ? 0xf000 : 0 ) | \
skipping to change at line 166 skipping to change at line 179
#define ARGB1555_TO_RGBA4444(pixel) ( (((pixel) & 0x8000) ? 0x000f : 0 ) | \ #define ARGB1555_TO_RGBA4444(pixel) ( (((pixel) & 0x8000) ? 0x000f : 0 ) | \
(((pixel) & 0x7800) << 1) | \ (((pixel) & 0x7800) << 1) | \
(((pixel) & 0x03C0) << 2) | \ (((pixel) & 0x03C0) << 2) | \
(((pixel) & 0x0018) << 3) ) (((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_ARGB8565(pixel) ( (((pixel) & 0x8000) ? 0x00FF0000 : 0)
| \
ARGB1555_TO_RGB16 (pixel) )
#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) | \
skipping to change at line 234 skipping to change at line 250
#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) & 0x001E) >> 1) ) (((pixel) & 0x001E) >> 1) )
#define RGB16_TO_RGBA4444(pixel) ( 0x000F | \ #define RGB16_TO_RGBA4444(pixel) ( 0x000F | \
(((pixel) & 0xF000) ) | \ (((pixel) & 0xF000) ) | \
(((pixel) & 0x0780) << 1) | \ (((pixel) & 0x0780) << 1) | \
(((pixel) & 0x001E) << 3) ) (((pixel) & 0x001E) << 3) )
#define RGB16_TO_ARGB8565(pixel) ( 0xFF0000 | \
((pixel) & 0xffff) )
#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) )
#define RGB16_TO_RGB555(pixel) ( (((pixel) & 0xF800) >> 1) | \ #define RGB16_TO_RGB555(pixel) ( (((pixel) & 0xF800) >> 1) | \
skipping to change at line 255 skipping to change at line 274
(((pixel) & 0x001F)) ) (((pixel) & 0x001F)) )
#define RGB16_TO_BGR555(pixel) ( (((pixel) & 0xF800) >> 12) | \ #define RGB16_TO_BGR555(pixel) ( (((pixel) & 0xF800) >> 12) | \
(((pixel) & 0x07C0) >> 1) | \ (((pixel) & 0x07C0) >> 1) | \
(((pixel) & 0x001F) << 10 ) ) (((pixel) & 0x001F) << 10 ) )
#define RGB16_TO_RGB444(pixel) ( (((pixel) & 0xF000) >> 4) | \ #define RGB16_TO_RGB444(pixel) ( (((pixel) & 0xF000) >> 4) | \
(((pixel) & 0x0780) >> 3) | \ (((pixel) & 0x0780) >> 3) | \
(((pixel) & 0x001F) >> 1) ) (((pixel) & 0x001F) >> 1) )
#define ARGB8565_TO_RGB332(pixel) ( RGB16_TO_RGB332 (pixel) )
#define ARGB8565_TO_ARGB1555(pixel) ( (((pixel) & 0x800000) >> 16) | \
(((pixel) & 0x00F800) >> 1) | \
(((pixel) & 0x0007C0) >> 1) | \
(((pixel) & 0x00001F)) )
#define ARGB8565_TO_ARGB2554(pixel) ( (((pixel) & 0xC00000) >> 16) | \
(((pixel) & 0x00F800) >> 2) | \
(((pixel) & 0x0007C0) >> 2) | \
(((pixel) & 0x00001F) >> 1) )
#define ARGB8565_TO_ARGB4444(pixel) ( (((pixel) & 0xF00000) >> 16) | \
(((pixel) & 0x00F000) >> 4) | \
(((pixel) & 0x000780) >> 3) | \
(((pixel) & 0x00001F) >> 1) )
#define ARGB8565_TO_RGB16(pixel) ( ((pixel) & 0xffff) )
#define ARGB8565_TO_RGB32(pixel) ( RGB16_TO_RGB32 (pixel) )
#define ARGB8565_TO_ARGB(pixel) ( (((pixel) & 0xFF0000) << 8) | \
(((pixel) & 0x00F800) << 8) | \
(((pixel) & 0x0007E0) << 5) | \
(((pixel) & 0x00001F) << 3) )
#define RGB18_TO_ARGB(pixel) ( 0xFF000000 | \ #define RGB18_TO_ARGB(pixel) ( 0xFF000000 | \
(((pixel) & 0xFC00) << 10) | \ (((pixel) & 0xFC00) << 10) | \
(((pixel) & 0x3F00) << 4) | \ (((pixel) & 0x3F00) << 4) | \
(((pixel) & 0x00FC) << 2) ) (((pixel) & 0x00FC) << 2) )
#define RGB32_TO_RGB332(pixel) ( (((pixel) & 0xE00000) >> 16) | \ #define RGB32_TO_RGB332(pixel) ( (((pixel) & 0xE00000) >> 16) | \
(((pixel) & 0x00E000) >> 11) | \ (((pixel) & 0x00E000) >> 11) | \
(((pixel) & 0x0000C0) >> 6) ) (((pixel) & 0x0000C0) >> 6) )
#define RGB32_TO_ARGB1555(pixel) ( 0x8000 | \ #define RGB32_TO_ARGB1555(pixel) ( 0x8000 | \
skipping to change at line 288 skipping to change at line 333
#define RGB32_TO_RGBA4444(pixel) ( 0x000F | \ #define RGB32_TO_RGBA4444(pixel) ( 0x000F | \
(((pixel) & 0xF00000) >> 8) | \ (((pixel) & 0xF00000) >> 8) | \
(((pixel) & 0x00F000) >> 4) | \ (((pixel) & 0x00F000) >> 4) | \
(((pixel) & 0x0000F0) ) ) (((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_ARGB8565(pixel) ( 0xff0000 | \
RGB32_TO_RGB16 (pixel) )
#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) )
#define ARGB_TO_ARGB8565(pixel) ( (((pixel) & 0xFF000000) >> 8) | \
(((pixel) & 0x00F80000) >> 8) | \
(((pixel) & 0x0000FC00) >> 5) | \
(((pixel) & 0x000000F8) >> 3) )
#define RGB32_TO_RGB555(pixel) ( (((pixel) & 0xF80000) >> 9) | \ #define RGB32_TO_RGB555(pixel) ( (((pixel) & 0xF80000) >> 9) | \
(((pixel) & 0x00F800) >> 6) | \ (((pixel) & 0x00F800) >> 6) | \
(((pixel) & 0x0000F8) >> 3) ) (((pixel) & 0x0000F8) >> 3) )
#define RGB32_TO_BGR555(pixel) ( (((pixel) & 0xF80000) >> 19) | \ #define RGB32_TO_BGR555(pixel) ( (((pixel) & 0xF80000) >> 19) | \
(((pixel) & 0x00F800) >> 6) | \ (((pixel) & 0x00F800) >> 6) | \
(((pixel) & 0x0000F8) << 7) ) (((pixel) & 0x0000F8) << 7) )
#define RGB32_TO_RGB444(pixel) ( (((pixel) & 0xF00000) >> 12) | \ #define RGB32_TO_RGB444(pixel) ( (((pixel) & 0xF00000) >> 12) | \
(((pixel) & 0x00F000) >> 8) | \ (((pixel) & 0x00F000) >> 8) | \
skipping to change at line 397 skipping to change at line 450
static inline u32 static inline u32
dfb_color_to_argb( const DFBColor *color ) dfb_color_to_argb( const DFBColor *color )
{ {
return (color->a << 24) | (color->r << 16) | (color->g << 8) | color-> b; return (color->a << 24) | (color->r << 16) | (color->g << 8) | color-> b;
} }
static inline u32 static inline u32
dfb_color_to_aycbcr( const DFBColor *color ) dfb_color_to_aycbcr( const DFBColor *color )
{ {
u32 y = ( 66 * color->r + 129 * color->g + 25 * color->b + 16*25 u32 y, cb, cr;
6 + 128) >> 8; RGB_TO_YCBCR( color->r, color->g, color->b, y, cb, cr );
u32 cb = ( - 38 * color->r - 74 * color->g + 112 * color->b + 128*25
6 + 128) >> 8;
u32 cr = ( 112 * color->r - 94 * color->g - 18 * color->b + 128*25
6 + 128) >> 8;
return (color->a << 24) | (y << 16) | (cb << 8) | cr; return (color->a << 24) | (y << 16) | (cb << 8) | cr;
} }
static inline u32
dfb_color_to_acrycb( const DFBColor *color )
{
u32 y, cb, cr;
RGB_TO_YCBCR( color->r, color->g, color->b, y, cb, cr );
return (color->a << 24) | (cr << 16) | (y << 8) | cb;
}
static inline void static inline void
dfb_argb_to_rgb332( const u32 *src, u8 *dst, int len ) dfb_argb_to_rgb332( const u32 *src, u8 *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_RGB332( argb ); dst[i] = RGB32_TO_RGB332( argb );
} }
skipping to change at line 477 skipping to change at line 538
int i; int i;
for (i=0; i<len; i++) { for (i=0; i<len; i++) {
register u32 rgba = src[i]; register u32 rgba = src[i];
dst[i] = ARGB_TO_RGBA4444( rgba ); dst[i] = ARGB_TO_RGBA4444( rgba );
} }
} }
static inline void static inline void
dfb_argb_to_argb8565( const u32 *src, u8 *dst, int len )
{
int i = -1, j = -1;
while (++i < len) {
register u32 argb = src[i];
register u32 d = ARGB_TO_ARGB8565( argb );
#ifdef WORDS_BIGENDIAN
dst[++j] = (d >> 16) & 0xff;
dst[++j] = (d >> 8) & 0xff;
dst[++j] = (d >> 0) & 0xff;
#else
dst[++j] = (d >> 0) & 0xff;
dst[++j] = (d >> 8) & 0xff;
dst[++j] = (d >> 16) & 0xff;
#endif
}
}
static inline void
dfb_argb_to_rgb16( const u32 *src, u16 *dst, int len ) dfb_argb_to_rgb16( const 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. 
6 lines changed or deleted 85 lines changed or added


 directfb.h   directfb.h 
skipping to change at line 740 skipping to change at line 740
DSBLIT_INDEX_TRANSLATION = 0x00000800, /* do fast indexed to indexed translation, DSBLIT_INDEX_TRANSLATION = 0x00000800, /* do fast indexed to indexed translation,
this flag is mutual exclusi ve with all others */ this flag is mutual exclusi ve with all others */
DSBLIT_ROTATE90 = 0x00002000, /* rotate the image by 90 degr ee */ DSBLIT_ROTATE90 = 0x00002000, /* rotate the image by 90 degr ee */
DSBLIT_ROTATE180 = 0x00001000, /* rotate the image by 180 deg ree */ DSBLIT_ROTATE180 = 0x00001000, /* rotate the image by 180 deg ree */
DSBLIT_ROTATE270 = 0x00004000, /* rotate the image by 270 deg ree */ DSBLIT_ROTATE270 = 0x00004000, /* rotate the image by 270 deg ree */
DSBLIT_COLORKEY_PROTECT = 0x00010000, /* make sure written pixels do n't match color key (internal only ATM) */ DSBLIT_COLORKEY_PROTECT = 0x00010000, /* make sure written pixels do n't match color key (internal only ATM) */
DSBLIT_SRC_MASK_ALPHA = 0x00100000, /* modulate source alpha chann el with alpha channel from source mask, DSBLIT_SRC_MASK_ALPHA = 0x00100000, /* modulate source alpha chann el with alpha channel from source mask,
see also IDirectFBSurface:: SetSourceMask() */ see also IDirectFBSurface:: SetSourceMask() */
DSBLIT_SRC_MASK_COLOR = 0x00200000, /* modulate source color chann els with color channels from source mask, DSBLIT_SRC_MASK_COLOR = 0x00200000, /* modulate source color chann els with color channels from source mask,
see also IDirectFBSurface:: SetSourceMask() */ see also IDirectFBSurface:: SetSourceMask() */
DSBLIT_SOURCE2 = 0x00400000, /* use secondary source instea
d of destination for reading */
DSBLIT_FLIP_HORIZONTAL = 0x01000000, /* flip the image horizontally
*/
DSBLIT_FLIP_VERTICAL = 0x02000000, /* flip the image vertically *
/
} DFBSurfaceBlittingFlags; } DFBSurfaceBlittingFlags;
/* /*
* Options for drawing and blitting operations. Not mandatory for accelerat ion. * Options for drawing and blitting operations. Not mandatory for accelerat ion.
*/ */
typedef enum { typedef enum {
DSRO_NONE = 0x00000000, /* None of these. */ DSRO_NONE = 0x00000000, /* None of these. */
DSRO_SMOOTH_UPSCALE = 0x00000001, /* Use interpolation for upsca le StretchBlit(). */ DSRO_SMOOTH_UPSCALE = 0x00000001, /* Use interpolation for upsca le StretchBlit(). */
DSRO_SMOOTH_DOWNSCALE = 0x00000002, /* Use interpolation for downs cale StretchBlit(). */ DSRO_SMOOTH_DOWNSCALE = 0x00000002, /* Use interpolation for downs cale StretchBlit(). */
skipping to change at line 770 skipping to change at line 773
DFXL_NONE = 0x00000000, /* None of these. */ DFXL_NONE = 0x00000000, /* None of these. */
DFXL_FILLRECTANGLE = 0x00000001, /* FillRectangle() is accelerated. */ DFXL_FILLRECTANGLE = 0x00000001, /* FillRectangle() is accelerated. */
DFXL_DRAWRECTANGLE = 0x00000002, /* DrawRectangle() is accelerated. */ DFXL_DRAWRECTANGLE = 0x00000002, /* DrawRectangle() is accelerated. */
DFXL_DRAWLINE = 0x00000004, /* DrawLine() is accelerated. */ DFXL_DRAWLINE = 0x00000004, /* DrawLine() is accelerated. */
DFXL_FILLTRIANGLE = 0x00000008, /* FillTriangle() is accelerated. * / DFXL_FILLTRIANGLE = 0x00000008, /* FillTriangle() is accelerated. * /
DFXL_BLIT = 0x00010000, /* Blit() and TileBlit() are accele rated. */ DFXL_BLIT = 0x00010000, /* Blit() and TileBlit() are accele rated. */
DFXL_STRETCHBLIT = 0x00020000, /* StretchBlit() is accelerated. */ DFXL_STRETCHBLIT = 0x00020000, /* StretchBlit() is accelerated. */
DFXL_TEXTRIANGLES = 0x00040000, /* TextureTriangles() is accelerate d. */ DFXL_TEXTRIANGLES = 0x00040000, /* TextureTriangles() is accelerate d. */
DFXL_BLIT2 = 0x00080000, /* BatchBlit2() is accelerated. */
DFXL_DRAWSTRING = 0x01000000, /* DrawString() and DrawGlyph() are accelerated. */ DFXL_DRAWSTRING = 0x01000000, /* DrawString() and DrawGlyph() are accelerated. */
DFXL_ALL = 0x0107000F, /* All drawing/blitting functions. */ DFXL_ALL = 0x010F000F, /* All drawing/blitting functions. */
DFXL_ALL_DRAW = 0x0000000F, /* All drawing functions. */ DFXL_ALL_DRAW = 0x0000000F, /* All drawing functions. */
DFXL_ALL_BLIT = 0x01070000, /* All blitting functions. */ DFXL_ALL_BLIT = 0x010F0000, /* All blitting functions. */
} DFBAccelerationMask; } DFBAccelerationMask;
/* /*
* @internal * @internal
*/ */
#define DFB_DRAWING_FUNCTION(a) ((a) & 0x0000FFFF) #define DFB_DRAWING_FUNCTION(a) ((a) & 0x0000FFFF)
/* /*
* @internal * @internal
*/ */
skipping to change at line 1182 skipping to change at line 1186
/* 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( 27, 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( 28, 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( 29, 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 ),
/* 16 bit RGBA (2 byte, red 5@11, green 5@6, blue 5@1, alpha 1@0) */ /* 16 bit RGBA (2 byte, red 5@11, green 5@6, blue 5@1, alpha 1@0) */
DSPF_RGBA5551 = DFB_SURFACE_PIXELFORMAT( 30, 15, 1, 1, 0, 2, 0, 0, 0, DSPF_RGBA5551 = DFB_SURFACE_PIXELFORMAT( 30, 15, 1, 1, 0, 2, 0, 0, 0,
0, 0 ) 0, 0 ),
/* 24 bit full YUV planar (8 bit Y plane followed by an 8 bit Cb and a
n
8 bit Cr plane) */
DSPF_YUV444P = DFB_SURFACE_PIXELFORMAT( 31, 24, 0, 0, 0, 1, 0, 0, 2,
0, 0 ),
/* 24 bit ARGB (3 byte, alpha 8@16, red 5@11, green 6@5, blue 5@0) */
DSPF_ARGB8565 = DFB_SURFACE_PIXELFORMAT( 32, 16, 8, 1, 0, 3, 0, 0, 0,
0, 0 ),
/* 32 bit AVYU 4:4:4 (4 byte, alpha 8@24, Cr 8@16, Y 8@8, Cb 8@0) */
DSPF_AVYU = DFB_SURFACE_PIXELFORMAT( 33, 24, 8, 1, 0, 4, 0, 0, 0,
0, 0 ),
/* 24 bit VYU 4:4:4 (3 byte, Cr 8@16, Y 8@8, Cb 8@0) */
DSPF_VYU = DFB_SURFACE_PIXELFORMAT( 34, 24, 0, 0, 0, 3, 0, 0, 0,
0, 0 ),
} DFBSurfacePixelFormat; } DFBSurfacePixelFormat;
/* Number of pixelformats defined */ /* Number of pixelformats defined */
#define DFB_NUM_PIXELFORMATS 31 #define DFB_NUM_PIXELFORMATS 35
/* 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 1666 skipping to change at line 1683
IDirectFB *thiz, IDirectFB *thiz,
DFBCooperativeLevel level DFBCooperativeLevel level
); );
/* /*
* Switch the current video mode (primary layer). * Switch the current video mode (primary layer).
* *
* If in shared cooperative level this function sets the * If in shared cooperative level this function sets the
* resolution of the window that is created implicitly for * resolution of the window that is created implicitly for
* the primary surface. * the primary surface.
*
* The following values are valid for bpp: 2, 8, 12, 14, 15, 18, 24, 3
2.
* These will result in the following formats, respectively: DSPF_LUT2
,
* DSPF_LUT8, DSPF_ARGB4444, DSPF_ARGB2554, DSPF_ARGB1555, DSPF_RGB16
,
* DSPF_RGB18, DSPF_RGB24, DSPF_RGB32.
*/ */
DFBResult (*SetVideoMode) ( DFBResult (*SetVideoMode) (
IDirectFB *thiz, IDirectFB *thiz,
int width, int width,
int height, int height,
int bpp int bpp
); );
/** Hardware capabilities **/ /** Hardware capabilities **/
skipping to change at line 3109 skipping to change at line 3131
DSFLIP_BLIT = 0x00000002, /* Copy from back buffer to front b uffer rather than DSFLIP_BLIT = 0x00000002, /* Copy from back buffer to front b uffer rather than
just swapping these buffers. Thi s behaviour is enforced just swapping these buffers. Thi s behaviour is enforced
if the region passed to Flip() i s not NULL or if the if the region passed to Flip() i s not NULL or if the
surface being flipped is a sub s urface. */ surface being flipped is a sub s urface. */
DSFLIP_ONSYNC = 0x00000004, /* Do the actual flipping upon the next vertical sync. DSFLIP_ONSYNC = 0x00000004, /* Do the actual flipping upon the next vertical sync.
The Flip() method will still ret urn immediately unless The Flip() method will still ret urn immediately unless
DSFLIP_WAIT is specified, too. * / DSFLIP_WAIT is specified, too. * /
DSFLIP_PIPELINE = 0x00000008, DSFLIP_PIPELINE = 0x00000008,
DSFLIP_ONCE = 0x00000010,
DSFLIP_WAITFORSYNC = DSFLIP_WAIT | DSFLIP_ONSYNC DSFLIP_WAITFORSYNC = DSFLIP_WAIT | DSFLIP_ONSYNC
} DFBSurfaceFlipFlags; } DFBSurfaceFlipFlags;
/* /*
* Flags controlling the text layout. * Flags controlling the text layout.
*/ */
typedef enum { typedef enum {
DSTF_LEFT = 0x00000000, /* left aligned */ DSTF_LEFT = 0x00000000, /* left aligned */
DSTF_CENTER = 0x00000001, /* horizontally centered */ DSTF_CENTER = 0x00000001, /* horizontally centered */
DSTF_RIGHT = 0x00000002, /* right aligned */ DSTF_RIGHT = 0x00000002, /* right aligned */
skipping to change at line 4039 skipping to change at line 4063
/* /*
* Sets color values used for drawing/text functions or * Sets color values used for drawing/text functions or
* alpha/color modulation (blitting functions). * alpha/color modulation (blitting functions).
*/ */
DFBResult (*SetColors) ( DFBResult (*SetColors) (
IDirectFBSurface *thiz, IDirectFBSurface *thiz,
const DFBColorID *ids, const DFBColorID *ids,
const DFBColor *colors, const DFBColor *colors,
unsigned int num unsigned int num
); );
/** Blitting functions **/
/*
* Blit a bunch of areas at once using secondary source for reading in
stead of destination.
*
* Source may be the same surface.
*/
DFBResult (*BatchBlit2) (
IDirectFBSurface *thiz,
IDirectFBSurface *source,
IDirectFBSurface *source2,
const DFBRectangle *source_rects,
const DFBPoint *dest_points,
const DFBPoint *source2_points,
int num
);
) )
/******************** /********************
* IDirectFBPalette * * IDirectFBPalette *
********************/ ********************/
/* /*
* <i>No summary yet...</i> * <i>No summary yet...</i>
*/ */
DEFINE_INTERFACE( IDirectFBPalette, DEFINE_INTERFACE( IDirectFBPalette,
skipping to change at line 4521 skipping to change at line 4562
DWET_ALL = 0x003F033F /* all event types */ DWET_ALL = 0x003F033F /* all event types */
} DFBWindowEventType; } DFBWindowEventType;
/* /*
* Flags for a window event. * Flags for a window event.
*/ */
typedef enum { typedef enum {
DWEF_NONE = 0x00000000, /* none of these */ DWEF_NONE = 0x00000000, /* none of these */
DWEF_RETURNED = 0x00000001, /* This is a returned event, e.g. u nconsumed key. */ DWEF_RETURNED = 0x00000001, /* This is a returned event, e.g. u nconsumed key. */
DWEF_REPEAT = 0x00000010, /* repeat event, e.g. repeating key */
DWEF_ALL = 0x00000001 /* all of these */ DWEF_ALL = 0x00000011 /* all of these */
} DFBWindowEventFlags; } DFBWindowEventFlags;
/* /*
* Video Provider Event Types - can also be used as flags for event filters . * Video Provider Event Types - can also be used as flags for event filters .
*/ */
typedef enum { typedef enum {
DVPET_NONE = 0x00000000, DVPET_NONE = 0x00000000,
DVPET_STARTED = 0x00000001, /* The video provider has started the playback */ DVPET_STARTED = 0x00000001, /* The video provider has started the playback */
DVPET_STOPPED = 0x00000002, /* The video provider has stopped the playback */ DVPET_STOPPED = 0x00000002, /* The video provider has stopped the playback */
DVPET_SPEEDCHANGE = 0x00000004, /* A speed change has occured */ DVPET_SPEEDCHANGE = 0x00000004, /* A speed change has occured */
skipping to change at line 4555 skipping to change at line 4597
DVPET_ALL = 0x00007FFF /* All event types */ DVPET_ALL = 0x00007FFF /* All event types */
} DFBVideoProviderEventType; } DFBVideoProviderEventType;
/* /*
* Event from the windowing system. * Event from the windowing system.
*/ */
typedef struct { typedef struct {
DFBEventClass clazz; /* clazz of event */ DFBEventClass clazz; /* clazz of event */
DFBWindowEventType type; /* type of event */ DFBWindowEventType type; /* type of event */
/* used by DWET_KEYDOWN, DWET_KEYUP */
DFBWindowEventFlags flags; /* event flags */ DFBWindowEventFlags flags; /* event flags */
DFBWindowID window_id; /* source of event */ DFBWindowID window_id; /* source of event */
/* used by DWET_MOVE, DWET_MOTION, DWET_BUTTONDOWN, DWET_BUTTONUP, /* used by DWET_MOVE, DWET_MOTION, DWET_BUTTONDOWN, DWET_BUTTONUP,
DWET_ENTER, DWET_LEAVE */ DWET_ENTER, DWET_LEAVE */
int x; /* x position of window int x; /* x position of window
or coordinate within or coordinate within
window */ window */
int y; /* y position of window int y; /* y position of window
skipping to change at line 5431 skipping to change at line 5475
unsigned long application_id unsigned long application_id
); );
/* /*
* Get current application ID. * Get current application ID.
*/ */
DFBResult (*GetApplicationID) ( DFBResult (*GetApplicationID) (
IDirectFBWindow *thiz, IDirectFBWindow *thiz,
unsigned long *ret_application_id unsigned long *ret_application_id
); );
/** Updates **/
/*
* Signal start of window content updates.
*/
DFBResult (*BeginUpdates) (
IDirectFBWindow *thiz,
const DFBRegion *update
);
) )
/* /*
* Called for each provided text encoding. * Called for each provided text encoding.
*/ */
typedef DFBEnumerationResult (*DFBTextEncodingCallback) ( typedef DFBEnumerationResult (*DFBTextEncodingCallback) (
DFBTextEncodingID encoding_id, DFBTextEncodingID encoding_id,
const char *name, const char *name,
void *context void *context
); );
skipping to change at line 5594 skipping to change at line 5648
* *
* The bytes specifies the maximum number of bytes to take from the * The bytes specifies the maximum number of bytes to take from the
* string or -1 for complete NULL-terminated string. * string or -1 for complete NULL-terminated string.
* *
* The max_width specifies logical width of column onto which * The max_width specifies logical width of column onto which
* the text will be drawn. Then the logical width of fitted * the text will be drawn. Then the logical width of fitted
* text is returned in ret_width. The returned width may overlap * text is returned in ret_width. The returned width may overlap
* the max width specified if there's only one character * the max width specified if there's only one character
* that fits. * that fits.
* *
* The number of characters that fit into this column is * The number of characters that fit into this column is returned
* returned by the ret_str_length. This value can be used as * by the ret_str_length. Note that you can not use this value as
* the number of bytes to take when using DrawString(). * the number of bytes to take when using DrawString() as it
* represents to the number of characters, not the number of
* bytes.
* *
* In ret_next_line a pointer to the next line of text is returned. Th * In ret_next_line a pointer to the next line of text is
is * returned. This will point to NULL or the end of the string if
* will point to NULL or the end of the string if there's no more brea * there's no more break.
k.
*/ */
DFBResult (*GetStringBreak) ( DFBResult (*GetStringBreak) (
IDirectFBFont *thiz, IDirectFBFont *thiz,
const char *text, const char *text,
int bytes, int bytes,
int max_width, int max_width,
int *ret_width, int *ret_width,
int *ret_str_length, int *ret_str_length,
const char **ret_next_line const char **ret_next_line
); );
 End of changes. 15 change blocks. 
13 lines changed or deleted 80 lines changed or added


 directfb_strings.h   directfb_strings.h 
skipping to change at line 41 skipping to change at line 41
{ 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" }, \
{ DSPF_RGBA5551, "RGBA5551" }, \ { DSPF_RGBA5551, "RGBA5551" }, \
{ DSPF_YUV444P, "YUV444P" }, \
{ DSPF_ARGB8565, "ARGB8565" }, \
{ DSPF_AVYU, "AVYU" }, \
{ DSPF_VYU, "VYU" }, \
{ DSPF_UNKNOWN, "UNKNOWN" } \ { DSPF_UNKNOWN, "UNKNOWN" } \
}; };
struct DFBInputDeviceTypeFlagsName { struct DFBInputDeviceTypeFlagsName {
DFBInputDeviceTypeFlags type; DFBInputDeviceTypeFlags type;
const char *name; const char *name;
}; };
#define DirectFBInputDeviceTypeFlagsNames(Identifier) struct DFBInputDevice TypeFlagsName Identifier[] = { \ #define DirectFBInputDeviceTypeFlagsNames(Identifier) struct DFBInputDevice TypeFlagsName Identifier[] = { \
{ DIDTF_KEYBOARD, "KEYBOARD" }, \ { DIDTF_KEYBOARD, "KEYBOARD" }, \
skipping to change at line 97 skipping to change at line 101
{ DSBLIT_DEINTERLACE, "DEINTERLACE" }, \ { DSBLIT_DEINTERLACE, "DEINTERLACE" }, \
{ DSBLIT_SRC_PREMULTCOLOR, "SRC_PREMULTCOLOR" }, \ { DSBLIT_SRC_PREMULTCOLOR, "SRC_PREMULTCOLOR" }, \
{ DSBLIT_XOR, "XOR" }, \ { DSBLIT_XOR, "XOR" }, \
{ DSBLIT_INDEX_TRANSLATION, "INDEX_TRANSLATION" }, \ { DSBLIT_INDEX_TRANSLATION, "INDEX_TRANSLATION" }, \
{ DSBLIT_ROTATE90, "ROTATE90" }, \ { DSBLIT_ROTATE90, "ROTATE90" }, \
{ DSBLIT_ROTATE180, "ROTATE180" }, \ { DSBLIT_ROTATE180, "ROTATE180" }, \
{ DSBLIT_ROTATE270, "ROTATE270" }, \ { DSBLIT_ROTATE270, "ROTATE270" }, \
{ DSBLIT_COLORKEY_PROTECT, "COLORKEY_PROTECT" }, \ { DSBLIT_COLORKEY_PROTECT, "COLORKEY_PROTECT" }, \
{ DSBLIT_SRC_MASK_ALPHA, "SRC_MASK_ALPHA" }, \ { DSBLIT_SRC_MASK_ALPHA, "SRC_MASK_ALPHA" }, \
{ DSBLIT_SRC_MASK_COLOR, "SRC_MASK_COLOR" }, \ { DSBLIT_SRC_MASK_COLOR, "SRC_MASK_COLOR" }, \
{ DSBLIT_SOURCE2, "SOURCE2" }, \
{ DSBLIT_FLIP_HORIZONTAL, "FLIP_HORIZONTAL" }, \
{ DSBLIT_FLIP_VERTICAL, "FLIP_VERTICAL" }, \
{ DSBLIT_NOFX, "NOFX" } \ { DSBLIT_NOFX, "NOFX" } \
}; };
struct DFBSurfaceBlendFunctionName { struct DFBSurfaceBlendFunctionName {
DFBSurfaceBlendFunction function; DFBSurfaceBlendFunction function;
const char *name; const char *name;
}; };
#define DirectFBSurfaceBlendFunctionNames(Identifier) struct DFBSurfaceBlen dFunctionName Identifier[] = { \ #define DirectFBSurfaceBlendFunctionNames(Identifier) struct DFBSurfaceBlen dFunctionName Identifier[] = { \
{ DSBF_ZERO, "ZERO" }, \ { DSBF_ZERO, "ZERO" }, \
skipping to change at line 434 skipping to change at line 441
DFBScreenEncoderScanMode scan_mode; DFBScreenEncoderScanMode scan_mode;
const char *name; const char *name;
}; };
#define DirectFBScreenEncoderScanModeNames(Identifier) struct DFBScreenEnco derScanModeName Identifier[] = { \ #define DirectFBScreenEncoderScanModeNames(Identifier) struct DFBScreenEnco derScanModeName Identifier[] = { \
{ DSESM_INTERLACED, "INTERLACED" }, \ { DSESM_INTERLACED, "INTERLACED" }, \
{ DSESM_PROGRESSIVE, "PROGRESSIVE" }, \ { DSESM_PROGRESSIVE, "PROGRESSIVE" }, \
{ DSESM_UNKNOWN, "UNKNOWN" } \ { DSESM_UNKNOWN, "UNKNOWN" } \
}; };
struct DFBScreenEncoderFrequencyName {
DFBScreenEncoderFrequency frequency;
const char *name;
};
#define DirectFBScreenEncoderFrequencyNames(Identifier) struct DFBScreenEnc
oderFrequencyName Identifier[] = { \
{ DSEF_25HZ, "25HZ" }, \
{ DSEF_29_97HZ, "29_97HZ" }, \
{ DSEF_50HZ, "50HZ" }, \
{ DSEF_59_94HZ, "59_94HZ" }, \
{ DSEF_60HZ, "60HZ" }, \
{ DSEF_75HZ, "75HZ" }, \
{ DSEF_30HZ, "30HZ" }, \
{ DSEF_24HZ, "24HZ" }, \
{ DSEF_23_976HZ, "23_976HZ" }, \
{ DSEF_UNKNOWN, "UNKNOWN" } \
};
struct DFBAccelerationMaskName { struct DFBAccelerationMaskName {
DFBAccelerationMask mask; DFBAccelerationMask mask;
const char *name; const char *name;
}; };
#define DirectFBAccelerationMaskNames(Identifier) struct DFBAccelerationMas kName Identifier[] = { \ #define DirectFBAccelerationMaskNames(Identifier) struct DFBAccelerationMas kName Identifier[] = { \
{ DFXL_FILLRECTANGLE, "FILLRECTANGLE" }, \ { DFXL_FILLRECTANGLE, "FILLRECTANGLE" }, \
{ DFXL_DRAWRECTANGLE, "DRAWRECTANGLE" }, \ { DFXL_DRAWRECTANGLE, "DRAWRECTANGLE" }, \
{ DFXL_DRAWLINE, "DRAWLINE" }, \ { DFXL_DRAWLINE, "DRAWLINE" }, \
{ DFXL_FILLTRIANGLE, "FILLTRIANGLE" }, \ { DFXL_FILLTRIANGLE, "FILLTRIANGLE" }, \
{ DFXL_BLIT, "BLIT" }, \ { DFXL_BLIT, "BLIT" }, \
{ DFXL_STRETCHBLIT, "STRETCHBLIT" }, \ { DFXL_STRETCHBLIT, "STRETCHBLIT" }, \
{ DFXL_TEXTRIANGLES, "TEXTRIANGLES" }, \ { DFXL_TEXTRIANGLES, "TEXTRIANGLES" }, \
{ DFXL_BLIT2, "BLIT2" }, \
{ DFXL_DRAWSTRING, "DRAWSTRING" }, \ { DFXL_DRAWSTRING, "DRAWSTRING" }, \
{ DFXL_NONE, "NONE" } \ { DFXL_NONE, "NONE" } \
}; };
#endif #endif
 End of changes. 4 change blocks. 
0 lines changed or deleted 27 lines changed or added


 directfb_util.h   directfb_util.h 
skipping to change at line 156 skipping to change at line 156
#define DFB_REGION_VALS_INTERSECTED(r,X1,Y1,X2,Y2) (r)->x1 > (X1) ? (r)-> x1 : (X1), \ #define DFB_REGION_VALS_INTERSECTED(r,X1,Y1,X2,Y2) (r)->x1 > (X1) ? (r)-> x1 : (X1), \
(r)->y1 > (Y1) ? (r)-> y1 : (Y1), \ (r)->y1 > (Y1) ? (r)-> y1 : (Y1), \
(r)->x2 < (X2) ? (r)-> x2 : (X2), \ (r)->x2 < (X2) ? (r)-> x2 : (X2), \
(r)->y2 < (Y2) ? (r)-> y2 : (Y2) (r)->y2 < (Y2) ? (r)-> y2 : (Y2)
#define DFB_REGION_INIT_INTERSECTED(r,X1,Y1,X2,Y2) (DFBRegion){ DFB_REGIO N_VALS_INTERSECTED(r,X1,Y1,X2,Y2) } #define DFB_REGION_INIT_INTERSECTED(r,X1,Y1,X2,Y2) (DFBRegion){ DFB_REGIO N_VALS_INTERSECTED(r,X1,Y1,X2,Y2) }
#define DFB_REGION_CONTAINS_POINT(r,X,Y) (((X) >= (r)->x1) && ((X) <= ( r)->x2) && \ #define DFB_REGION_CONTAINS_POINT(r,X,Y) (((X) >= (r)->x1) && ((X) <= ( r)->x2) && \
((Y) >= (r)->y1) && ((Y) <= ( r)->y2)) ((Y) >= (r)->y1) && ((Y) <= ( r)->y2))
#define DFB_REGIONS_DEBUG_AT( Domain, regions, num )
\
do {
\
unsigned int i;
\
\
for (i=0; i<(num); i++)
\
D_DEBUG_AT( Domain, " -> [%2d] %4d,%4d-%4d,%4d\n", i, DFB_R
EGION_VALS(&(regions)[i]) ); \
} while (0)
static inline void dfb_rectangle_from_region( DFBRectangle *rect, static inline void dfb_rectangle_from_region( DFBRectangle *rect,
const DFBRegion *region ) const DFBRegion *region )
{ {
D_ASSERT( rect != NULL ); D_ASSERT( rect != NULL );
DFB_REGION_ASSERT( region ); DFB_REGION_ASSERT( region );
rect->x = region->x1; rect->x = region->x1;
rect->y = region->y1; rect->y = region->y1;
rect->w = region->x2 - region->x1 + 1; rect->w = region->x2 - region->x1 + 1;
skipping to change at line 200 skipping to change at line 208
D_ASSERT( rect->w > 0 ); D_ASSERT( rect->w > 0 );
D_ASSERT( rect->h > 0 ); D_ASSERT( rect->h > 0 );
region->x1 = rect->x; region->x1 = rect->x;
region->y1 = rect->y; region->y1 = rect->y;
region->x2 = rect->x + rect->w - 1; region->x2 = rect->x + rect->w - 1;
region->y2 = rect->y + rect->h - 1; region->y2 = rect->y + rect->h - 1;
} }
static inline void dfb_region_from_rotated( DFBRegion *region, void dfb_region_from_rotated( DFBRegion *region,
const DFBRegion *from, const DFBRegion *from,
const DFBDimension *size, const DFBDimension *size,
int rotation ) int rotation );
{
D_ASSERT( region != NULL );
DFB_REGION_ASSERT( from );
D_ASSERT( size != NULL );
D_ASSERT( size->w > 0 );
D_ASSERT( size->h > 0 );
D_ASSUME( rotation == 0 || rotation == 90 || rotation == 180 || rotati
on == 270 );
switch (rotation) {
default:
D_BUG( "invalid rotation %d", rotation );
case 0:
*region = *from;
break;
case 90:
region->x1 = from->y1;
region->y1 = size->w - from->x2 - 1;
region->x2 = from->y2;
region->y2 = size->w - from->x1 - 1;
break;
case 180:
region->x1 = size->w - from->x2 - 1;
region->y1 = size->h - from->y2 - 1;
region->x2 = size->w - from->x1 - 1;
region->y2 = size->h - from->y1 - 1;
break;
case 270:
region->x1 = size->h - from->y2 - 1;
region->y1 = from->x1;
region->x2 = size->h - from->y1 - 1;
region->y2 = from->x2;
break;
}
DFB_REGION_ASSERT( region );
}
static inline void dfb_rectangle_from_rotated( DFBRectangle *rectangl
e,
const DFBRectangle *from,
const DFBDimension *size,
int rotation
)
{
D_ASSERT( rectangle != NULL );
DFB_RECTANGLE_ASSERT( from );
D_ASSERT( size != NULL );
D_ASSERT( size->w > 0 );
D_ASSERT( size->h > 0 );
D_ASSUME( rotation == 0 || rotation == 90 || rotation == 180 || rotati
on == 270 );
switch (rotation) {
default:
D_BUG( "invalid rotation %d", rotation );
case 0:
*rectangle = *from;
break;
case 90:
rectangle->x = from->y;
rectangle->y = size->w - from->x - from->w;
rectangle->w = from->h;
rectangle->h = from->w;
break;
case 180:
rectangle->x = size->w - from->x - from->w;
rectangle->y = size->h - from->y - from->h;
rectangle->w = from->w;
rectangle->h = from->h;
break;
case 270:
rectangle->x = size->h - from->y - from->h;
rectangle->y = from->x;
rectangle->w = from->h;
rectangle->h = from->w;
break;
}
DFB_RECTANGLE_ASSERT( rectangle );
}
static inline void dfb_point_from_rotated_region( DFBPoint *point
,
const DFBRegion *from,
const DFBDimension *size,
int rotat
ion )
{
D_ASSERT( point != NULL );
DFB_REGION_ASSERT( from );
D_ASSERT( size != NULL );
D_ASSERT( size->w > 0 );
D_ASSERT( size->h > 0 );
D_ASSUME( rotation == 0 || rotation == 90 || rotation == 180 || rotati
on == 270 );
switch (rotation) {
default:
D_BUG( "invalid rotation %d", rotation );
case 0:
point->x = from->x1;
point->y = from->y1;
break;
case 90:
point->x = from->y1;
point->y = size->w - from->x2 - 1;
break;
case 180:
point->x = size->w - from->x2 - 1;
point->y = size->h - from->y2 - 1;
break;
case 270: void dfb_rectangle_from_rotated( DFBRectangle *rectangle,
point->x = size->h - from->y2 - 1; const DFBRectangle *from,
point->y = from->x1; const DFBDimension *size,
break; int rotation );
}
D_ASSERT( point->x >= 0 ); void dfb_point_from_rotated_region( DFBPoint *point,
D_ASSERT( point->y >= 0 ); const DFBRegion *from,
D_ASSERT( point->x < size->w ); const DFBDimension *size,
D_ASSERT( point->y < size->h ); int rotation );
}
static inline void dfb_rectangle_translate( DFBRectangle *rect, static inline void dfb_rectangle_translate( DFBRectangle *rect,
int dx, int dx,
int dy ) int dy )
{ {
DFB_RECTANGLE_ASSERT( rect ); DFB_RECTANGLE_ASSERT( rect );
rect->x += dx; rect->x += dx;
rect->y += dy; rect->y += dy;
} }
skipping to change at line 496 skipping to change at line 386
rect->h -= insets->t + insets->b; rect->h -= insets->t + insets->b;
if (rect->w <= 0 || rect->h <= 0) if (rect->w <= 0 || rect->h <= 0)
rect->w = rect->h = 0; rect->w = rect->h = 0;
} }
/* /*
* Compute line segment intersection. * Compute line segment intersection.
* Return true if intersection point exists within the given segment. * Return true if intersection point exists within the given segment.
*/ */
static inline bool dfb_line_segment_intersect( const DFBRegion *line, bool dfb_line_segment_intersect( const DFBRegion *line,
const DFBRegion *seg, const DFBRegion *seg,
int *x, int *x,
int *y ) int *y );
{
int x1, x2, x3, x4;
int y1, y2, y3, y4;
int num, den;
D_ASSERT( line != NULL );
D_ASSERT( seg != NULL );
x1 = seg->x1; y1 = seg->y1; x2 = seg->y2; y2 = seg->y2;
x3 = line->x1; y3 = line->y1; x4 = line->x2; y4 = line->y2;
num = (x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3);
den = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);
if (!den) /* parallel */
return false;
if (num && ((num < 0) != (den < 0) || abs(num) > abs(den))) /* not wit
hin segment */
return false;
if (x)
*x = (s64)(x2 - x1) * num / den + x1;
if (y)
*y = (s64)(y2 - y1) * num / den + y1;
return true;
}
/* /*
* Copied declaration of DFBPixelFormatName from directfb_strings.h * Copied declaration of DFBPixelFormatName from directfb_strings.h
*/ */
extern const struct DFBPixelFormatName dfb_pixelformat_names[]; extern const struct DFBPixelFormatName dfb_pixelformat_names[];
const char *dfb_input_event_type_name ( DFBInputEventType type ); const char *dfb_input_event_type_name ( DFBInputEventType type );
const char *dfb_pixelformat_name ( DFBSurfacePixelFormat format ); const char *dfb_pixelformat_name ( DFBSurfacePixelFormat format );
const char *dfb_window_event_type_name( DFBWindowEventType type ); const char *dfb_window_event_type_name( DFBWindowEventType type );
 End of changes. 5 change blocks. 
169 lines changed or deleted 30 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 (4) #define DIRECTFB_MINOR_VERSION (4)
#define DIRECTFB_MICRO_VERSION (2) #define DIRECTFB_MICRO_VERSION (3)
#define DIRECTFB_BINARY_AGE (2) #define DIRECTFB_BINARY_AGE (3)
#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


 gfxcard.h   gfxcard.h 
skipping to change at line 251 skipping to change at line 251
bool (*FillTriangle) ( void *driver_data, void *device_data, bool (*FillTriangle) ( void *driver_data, void *device_data,
DFBTriangle *tri ); DFBTriangle *tri );
/* /*
* blitting functions * blitting functions
*/ */
bool (*Blit) ( void *driver_data, void *device_data, bool (*Blit) ( void *driver_data, void *device_data,
DFBRectangle *rect, int dx, int dy ); DFBRectangle *rect, int dx, int dy );
bool (*Blit2) ( void *driver_data, void *device_data,
DFBRectangle *rect, int dx, int dy, int sx2,
int sy2 );
bool (*StretchBlit) ( void *driver_data, void *device_data, bool (*StretchBlit) ( void *driver_data, void *device_data,
DFBRectangle *srect, DFBRectangle *drect ); DFBRectangle *srect, DFBRectangle *drect );
bool (*TextureTriangles)( void *driver_data, void *device_data, bool (*TextureTriangles)( void *driver_data, void *device_data,
DFBVertex *vertices, int num, DFBVertex *vertices, int num,
DFBTriangleFormation formation ); DFBTriangleFormation formation );
/* /*
* Signal beginning of a sequence of operations using this state. * Signal beginning of a sequence of operations using this state.
* Any number of states can be 'drawing'. * Any number of states can be 'drawing'.
skipping to change at line 355 skipping to change at line 358
void dfb_gfxcard_blit ( DFBRectangle *rect, void dfb_gfxcard_blit ( DFBRectangle *rect,
int dx, int dx,
int dy, int dy,
CardState *state ); CardState *state );
void dfb_gfxcard_batchblit ( DFBRectangle *rects, void dfb_gfxcard_batchblit ( DFBRectangle *rects,
DFBPoint *points, DFBPoint *points,
int num, int num,
CardState *state ); CardState *state );
void dfb_gfxcard_batchblit2 ( DFBRectangle *rects,
DFBPoint *points,
DFBPoint *points2,
int num,
CardState *state );
void dfb_gfxcard_tileblit ( DFBRectangle *rect, void dfb_gfxcard_tileblit ( DFBRectangle *rect,
int dx1, int dx1,
int dy1, int dy1,
int dx2, int dx2,
int dy2, int dy2,
CardState *state ); CardState *state );
void dfb_gfxcard_stretchblit ( DFBRectangle *srect, void dfb_gfxcard_stretchblit ( DFBRectangle *srect,
DFBRectangle *drect, DFBRectangle *drect,
CardState *state ); CardState *state );
 End of changes. 2 change blocks. 
0 lines changed or deleted 10 lines changed or added


 graphics_driver.h   graphics_driver.h 
skipping to change at line 74 skipping to change at line 74
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( void ); \ \
\ __attribute__((constructor)) void directfb_##shortname##_ctor( void );
void \ \
directfb_##shortname( void ) \ __attribute__((destructor)) void directfb_##shortname##_dtor( void );
{ \ \
direct_modules_register( &dfb_graphics_drivers, \
DFB_GRAPHICS_DRIVER_ABI_VERSION, \ \
#shortname, &driver_funcs ); \ void
\
directfb_##shortname##_ctor( void )
\
{
\
direct_modules_register( &dfb_graphics_drivers,
\
DFB_GRAPHICS_DRIVER_ABI_VERSION,
\
#shortname, &driver_funcs );
\
}
\
\
void
\
directfb_##shortname##_dtor( void )
\
{
\
direct_modules_unregister( &dfb_graphics_drivers,
\
#shortname );
\
} }
#endif #endif
 End of changes. 1 change blocks. 
9 lines changed or deleted 34 lines changed or added


 layers.h   layers.h 
skipping to change at line 146 skipping to change at line 146
* 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,
DFBColorAdjustment *adjustment ); DFBColorAdjustment *adjustment );
/* /*
* Called once by the master to shutdown the layer.
* Use this function to free any resources that were taken during init
.
*/
DFBResult (*ShutdownLayer) ( CoreLayer *layer,
void *driver_data,
void *layer_data );
/*
* Called once by the master for each source. * Called once by the master for each source.
* Driver fills description. * Driver fills description.
*/ */
DFBResult (*InitSource) ( CoreLayer *layer, DFBResult (*InitSource) ( CoreLayer *layer,
void *driver _data, void *driver _data,
void *layer_ data, void *layer_ data,
int source , int source ,
DFBDisplayLayerSourceDescription *descri ption ); DFBDisplayLayerSourceDescription *descri ption );
/** Layer Control **/ /** Layer Control **/
 End of changes. 1 change blocks. 
0 lines changed or deleted 9 lines changed or added


 lock.h   lock.h 
skipping to change at line 39 skipping to change at line 39
#ifndef __FUSION__LOCK_H__ #ifndef __FUSION__LOCK_H__
#define __FUSION__LOCK_H__ #define __FUSION__LOCK_H__
#include <pthread.h> #include <pthread.h>
#include <fusion/types.h> #include <fusion/types.h>
#include <direct/messages.h> #include <direct/messages.h>
#include <direct/util.h> #include <direct/util.h>
typedef struct {
pthread_mutex_t lock;
pthread_cond_t cond;
int count;
char *name;
} FusionSkirmishSingle;
typedef union { typedef union {
/* multi app */ /* multi app */
struct { struct {
int id; int id;
const FusionWorldShared *shared; const FusionWorldShared *shared;
/* builtin impl */ /* builtin impl */
struct { struct {
unsigned int locked; unsigned int locked;
pid_t owner; pid_t owner;
DirectLink *waiting; DirectLink *waiting;
bool requested; bool requested;
bool destroyed; bool destroyed;
} builtin; } builtin;
} multi; } multi;
/* single app */ /* single app */
struct { FusionSkirmishSingle *single;
pthread_mutex_t lock;
pthread_cond_t cond;
int count;
} single;
} FusionSkirmish; } FusionSkirmish;
/* /*
* Initialize. * Initialize.
*/ */
DirectResult fusion_skirmish_init ( FusionSkirmish *skirmish, DirectResult fusion_skirmish_init ( FusionSkirmish *skirmish,
const char *name, const char *name,
const FusionWorld *world ); const FusionWorld *world );
/* /*
 End of changes. 2 change blocks. 
5 lines changed or deleted 9 lines changed or added


 screens.h   screens.h 
skipping to change at line 72 skipping to change at line 72
* Called once by the master to initialize screen data and reset hardw are. * Called once by the master to initialize screen data and reset hardw are.
* Driver has to fill the screen description. * Driver has to fill the screen description.
*/ */
DFBResult (*InitScreen) ( CoreScreen *screen, DFBResult (*InitScreen) ( CoreScreen *screen,
CoreGraphicsDevice *device, CoreGraphicsDevice *device,
void *driver_data , void *driver_data ,
void *screen_data , void *screen_data ,
DFBScreenDescription *description ); DFBScreenDescription *description );
/* /*
* Called once by the master to shutdown the screen.
* Use this function to free any resources that were taken during init
.
* This function is optional.
*/
DFBResult (*ShutdownScreen)( CoreScreen *screen,
void *driver_data
,
void *screen_data
);
/*
* Called once by the master for each mixer. * Called once by the master for each mixer.
* Driver fills description and default config. * Driver fills description and default config.
*/ */
DFBResult (*InitMixer) ( CoreScreen *screen, DFBResult (*InitMixer) ( CoreScreen *screen,
void *driver_data , void *driver_data ,
void *screen_data , void *screen_data ,
int mixer, int mixer,
DFBScreenMixerDescription *description , DFBScreenMixerDescription *description ,
DFBScreenMixerConfig *config ); DFBScreenMixerConfig *config );
 End of changes. 1 change blocks. 
0 lines changed or deleted 12 lines changed or added


 state.h   state.h 
skipping to change at line 71 skipping to change at line 71
SMF_SOURCE = 0x00000200, SMF_SOURCE = 0x00000200,
SMF_SOURCE_MASK = 0x00000400, SMF_SOURCE_MASK = 0x00000400,
SMF_SOURCE_MASK_VALS = 0x00000800, SMF_SOURCE_MASK_VALS = 0x00000800,
SMF_INDEX_TRANSLATION = 0x00001000, SMF_INDEX_TRANSLATION = 0x00001000,
SMF_COLORKEY = 0x00002000, SMF_COLORKEY = 0x00002000,
SMF_RENDER_OPTIONS = 0x00010000, SMF_RENDER_OPTIONS = 0x00010000,
SMF_MATRIX = 0x00020000, SMF_MATRIX = 0x00020000,
SMF_ALL = 0x00033FFF SMF_SOURCE2 = 0x00100000,
SMF_ALL = 0x00133FFF
} StateModificationFlags; } StateModificationFlags;
typedef enum { typedef enum {
CSF_NONE = 0x00000000, CSF_NONE = 0x00000000,
CSF_DESTINATION = 0x00000001, /* destination is set using df b_state_set_destination() */ CSF_DESTINATION = 0x00000001, /* destination is set using df b_state_set_destination() */
CSF_SOURCE = 0x00000002, /* source is set using dfb_sta te_set_source() */ CSF_SOURCE = 0x00000002, /* source is set using dfb_sta te_set_source() */
CSF_SOURCE_MASK = 0x00000008, /* source mask is set using df b_state_set_source_mask() */ CSF_SOURCE_MASK = 0x00000008, /* source mask is set using df b_state_set_source_mask() */
CSF_SOURCE_LOCKED = 0x00000010, /* source surface is locked */ CSF_SOURCE_LOCKED = 0x00000010, /* source surface is locked */
CSF_SOURCE_MASK_LOCKED = 0x00000020, /* source mask surface is lock ed */ CSF_SOURCE_MASK_LOCKED = 0x00000020, /* source mask surface is lock ed */
CSF_SOURCE2 = 0x00000100, /* source2 is set using dfb_st
ate_set_source2() */
CSF_SOURCE2_LOCKED = 0x00000200, /* source2 surface is locked *
/
CSF_DRAWING = 0x00010000, /* something has been rendered with this state, CSF_DRAWING = 0x00010000, /* something has been rendered with this state,
this is cleared by flushing the state, e.g. upon flip */ this is cleared by flushing the state, e.g. upon flip */
CSF_ALL = 0x0001003B CSF_ALL = 0x0001033B
} CardStateFlags; } CardStateFlags;
struct _CardState { struct _CardState {
int magic; int magic;
CoreDFB *core; CoreDFB *core;
CoreGraphicsDevice *device; CoreGraphicsDevice *device;
FusionID fusion_id; FusionID fusion_id;
pthread_mutex_t lock; /* lock for state handling */ pthread_mutex_t lock; /* lock for state handling */
skipping to change at line 166 skipping to change at line 171
s32 matrix[9]; /* transformation matrix for DSRO_MATRIX (fixed 16.16) */ s32 matrix[9]; /* transformation matrix for DSRO_MATRIX (fixed 16.16) */
DFBBoolean affine_matrix; DFBBoolean affine_matrix;
CoreSurface *source_mask; /* source mask surface */ CoreSurface *source_mask; /* source mask surface */
CoreSurfaceBufferLock src_mask; /* source mask surface lo ck */ CoreSurfaceBufferLock src_mask; /* source mask surface lo ck */
DirectSerial src_mask_serial; /* last source mask surfa ce serial */ DirectSerial src_mask_serial; /* last source mask surfa ce serial */
DFBPoint src_mask_offset; /* relative or absolute c oordinates */ DFBPoint src_mask_offset; /* relative or absolute c oordinates */
DFBSurfaceMaskFlags src_mask_flags; /* controls coordinate mo de and more */ DFBSurfaceMaskFlags src_mask_flags; /* controls coordinate mo de and more */
CoreSurface *source2; /* source2 surface */
DirectSerial src2_serial; /* last source2 surface s
erial */
CoreSurfaceBufferLock src2;
DFBColor colors[DFB_COLOR_IDS_MAX]; /* colors for drawing or modulation */ DFBColor colors[DFB_COLOR_IDS_MAX]; /* colors for drawing or modulation */
unsigned int color_indices[DFB_COLOR_IDS_MAX]; /* indices to colors in palette */ unsigned int color_indices[DFB_COLOR_IDS_MAX]; /* indices to colors in palette */
}; };
int dfb_state_init( CardState *state, CoreDFB *core ); int dfb_state_init( CardState *state, CoreDFB *core );
void dfb_state_destroy( CardState *state ); void dfb_state_destroy( CardState *state );
DFBResult dfb_state_set_destination( CardState *state, CoreSurface *destina tion ); DFBResult dfb_state_set_destination( CardState *state, CoreSurface *destina tion );
DFBResult dfb_state_set_source( CardState *state, CoreSurface *source ); DFBResult dfb_state_set_source( CardState *state, CoreSurface *source );
DFBResult dfb_state_set_source_mask( CardState *state, CoreSurface *source_ mask ); DFBResult dfb_state_set_source_mask( CardState *state, CoreSurface *source_ mask );
DFBResult dfb_state_set_source2( CardState *state, CoreSurface *source2 );
void dfb_state_update( CardState *state, bool update_source ); void dfb_state_update( CardState *state, bool update_source );
DFBResult dfb_state_set_index_translation( CardState *state, DFBResult dfb_state_set_index_translation( CardState *state,
const int *indices, const int *indices,
int num_indices ); int num_indices );
void dfb_state_set_matrix( CardState *state, void dfb_state_set_matrix( CardState *state,
const s32 *matrix ); const s32 *matrix );
 End of changes. 5 change blocks. 
2 lines changed or deleted 15 lines changed or added


 surface_buffer.h   surface_buffer.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 __CORE__SURFACE_BUFFER_H__ #ifndef __CORE__SURFACE_BUFFER_H__
#define __CORE__SURFACE_BUFFER_H__ #define __CORE__SURFACE_BUFFER_H__
#include <direct/debug.h> #include <direct/debug.h>
#include <direct/list.h>
#include <fusion/vector.h> #include <fusion/vector.h>
#include <core/surface.h> #include <core/surface.h>
#include <directfb.h> #include <directfb.h>
/* /*
* Configuration and State flags of a Surface Buffer * Configuration and State flags of a Surface Buffer
*/ */
 End of changes. 1 change blocks. 
1 lines changed or deleted 0 lines changed or added


 system.h   system.h 
skipping to change at line 96 skipping to change at line 96
int broadcast; int broadcast;
struct _VideoMode *next; struct _VideoMode *next;
} VideoMode; } VideoMode;
DECLARE_MODULE_DIRECTORY( dfb_core_systems ); DECLARE_MODULE_DIRECTORY( dfb_core_systems );
/* /*
* Increase this number when changes result in binary incompatibility! * Increase this number when changes result in binary incompatibility!
*/ */
#define DFB_CORE_SYSTEM_ABI_VERSION 9 #define DFB_CORE_SYSTEM_ABI_VERSION 10
#define DFB_CORE_SYSTEM_INFO_NAME_LENGTH 60 #define DFB_CORE_SYSTEM_INFO_NAME_LENGTH 60
#define DFB_CORE_SYSTEM_INFO_VENDOR_LENGTH 80 #define DFB_CORE_SYSTEM_INFO_VENDOR_LENGTH 80
#define DFB_CORE_SYSTEM_INFO_URL_LENGTH 120 #define DFB_CORE_SYSTEM_INFO_URL_LENGTH 120
#define DFB_CORE_SYSTEM_INFO_LICENSE_LENGTH 40 #define DFB_CORE_SYSTEM_INFO_LICENSE_LENGTH 40
typedef struct { typedef struct {
int major; /* major version */ int major; /* major version */
int minor; /* minor version */ int minor; /* minor version */
} CoreSystemVersion; /* major.minor, e.g. 0.1 */ } CoreSystemVersion; /* major.minor, e.g. 0.1 */
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 wm.h   wm.h 
skipping to change at line 253 skipping to change at line 253
DFBResult (*Ungrab) ( CoreWindow *window, DFBResult (*Ungrab) ( CoreWindow *window,
void *wm_data, void *wm_data,
void *window_data, void *window_data,
CoreWMGrab *grab ); CoreWMGrab *grab );
DFBResult (*RequestFocus) ( CoreWindow *window, DFBResult (*RequestFocus) ( CoreWindow *window,
void *wm_data, void *wm_data,
void *window_data ) ; void *window_data ) ;
DFBResult (*BeginUpdates) ( CoreWindow *window,
void *wm_data,
void *window_data,
const DFBRegion *update );
/** Updates **/ /** Updates **/
DFBResult (*UpdateStack) ( CoreWindowStack *stack, DFBResult (*UpdateStack) ( CoreWindowStack *stack,
void *wm_data, void *wm_data,
void *stack_data, void *stack_data,
const DFBRegion *region, const DFBRegion *region,
DFBSurfaceFlipFlags flags ); DFBSurfaceFlipFlags flags );
DFBResult (*UpdateWindow) ( CoreWindow *window, DFBResult (*UpdateWindow) ( CoreWindow *window,
void *wm_data, void *wm_data,
skipping to change at line 351 skipping to change at line 356
int relation ); int relation );
DFBResult dfb_wm_grab ( CoreWindow *window, DFBResult dfb_wm_grab ( CoreWindow *window,
CoreWMGrab *grab ); CoreWMGrab *grab );
DFBResult dfb_wm_ungrab ( CoreWindow *window, DFBResult dfb_wm_ungrab ( CoreWindow *window,
CoreWMGrab *grab ); CoreWMGrab *grab );
DFBResult dfb_wm_request_focus ( CoreWindow *window ); DFBResult dfb_wm_request_focus ( CoreWindow *window );
DFBResult dfb_wm_begin_updates ( CoreWindow *window,
const DFBRegion *update );
DFBResult dfb_wm_update_stack ( CoreWindowStack *stack, DFBResult dfb_wm_update_stack ( CoreWindowStack *stack,
const DFBRegion *region, const DFBRegion *region,
DFBSurfaceFlipFlags flags ); DFBSurfaceFlipFlags flags );
DFBResult dfb_wm_update_window ( CoreWindow *window, DFBResult dfb_wm_update_window ( CoreWindow *window,
const DFBRegion *region, const DFBRegion *region,
DFBSurfaceFlipFlags flags ); DFBSurfaceFlipFlags flags );
DFBResult dfb_wm_update_cursor ( CoreWindowStack *stack, DFBResult dfb_wm_update_cursor ( CoreWindowStack *stack,
CoreCursorUpdateFlags flags ); CoreCursorUpdateFlags flags );
 End of changes. 2 change blocks. 
0 lines changed or deleted 8 lines changed or added


 wm_module.h   wm_module.h 
skipping to change at line 187 skipping to change at line 187
static DFBResult wm_ungrab ( CoreWindow *window, static DFBResult wm_ungrab ( CoreWindow *window,
void *wm_data, void *wm_data,
void *window_data, void *window_data,
CoreWMGrab *grab ); CoreWMGrab *grab );
static DFBResult wm_request_focus ( CoreWindow *window, static DFBResult wm_request_focus ( CoreWindow *window,
void *wm_data, void *wm_data,
void *window_data ); void *window_data );
static DFBResult wm_begin_updates ( CoreWindow *window,
void *wm_data,
void *window_data,
const DFBRegion *update );
/** Updates **/ /** Updates **/
static DFBResult wm_update_stack ( CoreWindowStack *stack, static DFBResult wm_update_stack ( CoreWindowStack *stack,
void *wm_data, void *wm_data,
void *stack_data, void *stack_data,
const DFBRegion *region, const DFBRegion *region,
DFBSurfaceFlipFlags flags ); DFBSurfaceFlipFlags flags );
static DFBResult wm_update_window ( CoreWindow *window, static DFBResult wm_update_window ( CoreWindow *window,
void *wm_data, void *wm_data,
skipping to change at line 239 skipping to change at line 244
.SetWindowProperty = wm_set_window_property, .SetWindowProperty = wm_set_window_property,
.GetWindowProperty = wm_get_window_property, .GetWindowProperty = wm_get_window_property,
.RemoveWindowProperty = wm_remove_window_property, .RemoveWindowProperty = wm_remove_window_property,
.AddWindow = wm_add_window, .AddWindow = wm_add_window,
.RemoveWindow = wm_remove_window, .RemoveWindow = wm_remove_window,
.SetWindowConfig = wm_set_window_config, .SetWindowConfig = wm_set_window_config,
.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,
.BeginUpdates = wm_begin_updates,
.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( void ); \ __attribute__((constructor)) void directfbwm_##shortname( void ); \
\ \
void \ void \
 End of changes. 2 change blocks. 
0 lines changed or deleted 6 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/