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