| call.h | | call.h | |
| | | | |
| skipping to change at line 46 | | skipping to change at line 46 | |
| FCHR_RETAIN | | FCHR_RETAIN | |
| } FusionCallHandlerResult; | | } FusionCallHandlerResult; | |
| | | | |
| typedef FusionCallHandlerResult (*FusionCallHandler) (int caller,
/* fusion id of the caller */ | | typedef FusionCallHandlerResult (*FusionCallHandler) (int caller,
/* fusion id of the caller */ | |
| int call_ar
g, /* optional call parameter */ | | int call_ar
g, /* optional call parameter */ | |
| void *call_pt
r, /* optional call parameter */ | | void *call_pt
r, /* optional call parameter */ | |
| void *ctx,
/* optional handler context */ | | void *ctx,
/* optional handler context */ | |
| unsigned int serial, | | unsigned int serial, | |
| int *ret_val
); | | int *ret_val
); | |
| | | | |
|
| | | typedef FusionCallHandlerResult (*FusionCallHandler3)(int caller, | |
| | | /* fusion id of the caller */ | |
| | | int call_ar | |
| | | g, /* optional call parameter */ | |
| | | void *ptr, | |
| | | /* optional call parameter */ | |
| | | unsigned int length, | |
| | | void *ctx, | |
| | | /* optional handler context */ | |
| | | unsigned int serial, | |
| | | void *ret_ptr | |
| | | , | |
| | | unsigned int ret_siz | |
| | | e, | |
| | | unsigned int *ret_len | |
| | | gth ); | |
| | | | |
| typedef struct { | | typedef struct { | |
|
| FusionWorldShared *shared; | | FusionWorldShared *shared; | |
| int call_id; | | int call_id; | |
| FusionID fusion_id; | | FusionID fusion_id; | |
| FusionCallHandler handler; | | FusionCallHandler handler; | |
| void *ctx; | | FusionCallHandler3 handler3; | |
| | | void *ctx; | |
| } FusionCall; | | } FusionCall; | |
| | | | |
| DirectResult fusion_call_init ( FusionCall *call, | | DirectResult fusion_call_init ( FusionCall *call, | |
| FusionCallHandler handler, | | FusionCallHandler handler, | |
| void *ctx, | | void *ctx, | |
| const FusionWorld *world ); | | const FusionWorld *world ); | |
| | | | |
|
| | | DirectResult fusion_call_init3 ( FusionCall *call, | |
| | | FusionCallHandler3 handler3, | |
| | | void *ctx, | |
| | | const FusionWorld *world ); | |
| | | | |
| DirectResult fusion_call_execute( FusionCall *call, | | DirectResult fusion_call_execute( FusionCall *call, | |
| FusionCallExecFlags flags, | | FusionCallExecFlags flags, | |
| int call_arg, | | int call_arg, | |
| void *call_ptr, | | void *call_ptr, | |
| int *ret_val ); | | int *ret_val ); | |
| | | | |
|
| | | DirectResult fusion_call_execute3( FusionCall *call, | |
| | | FusionCallExecFlags flags, | |
| | | int call_arg, | |
| | | void *ptr, | |
| | | unsigned int length, | |
| | | void *ret_ptr, | |
| | | unsigned int ret_size, | |
| | | unsigned int *ret_length ); | |
| | | | |
| DirectResult fusion_call_return ( FusionCall *call, | | DirectResult fusion_call_return ( FusionCall *call, | |
| unsigned int serial, | | unsigned int serial, | |
| int val ); | | int val ); | |
| | | | |
|
| | | DirectResult fusion_call_return3( FusionCall *call, | |
| | | unsigned int serial, | |
| | | void *ptr, | |
| | | unsigned int length ); | |
| | | | |
| DirectResult fusion_call_destroy( FusionCall *call ); | | DirectResult fusion_call_destroy( FusionCall *call ); | |
| | | | |
|
| | | typedef enum { | |
| | | FUSION_CALL_PERMIT_NONE = 0x00000000, | |
| | | | |
| | | FUSION_CALL_PERMIT_EXECUTE = 0x00000001, | |
| | | | |
| | | FUSION_CALL_PERMIT_ALL = 0x00000001, | |
| | | } FusionCallPermissions; | |
| | | | |
| | | /* | |
| | | * Give permissions to another fusionee to use the call. | |
| | | */ | |
| | | DirectResult fusion_call_add_permissions( FusionCall *call, | |
| | | FusionID fusion_id, | |
| | | FusionCallPermissions permission | |
| | | s ); | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 6 change blocks. |
| 5 lines changed or deleted | | 58 lines changed or added | |
|
| core.h | | core.h | |
| | | | |
| skipping to change at line 41 | | skipping to change at line 41 | |
| | | | |
| #include <fusion/types.h> | | #include <fusion/types.h> | |
| #include <fusion/lock.h> | | #include <fusion/lock.h> | |
| #include <fusion/object.h> | | #include <fusion/object.h> | |
| | | | |
| #include <directfb.h> | | #include <directfb.h> | |
| | | | |
| #include "coretypes.h" | | #include "coretypes.h" | |
| #include "coredefs.h" | | #include "coredefs.h" | |
| | | | |
|
| #define DIRECTFB_CORE_ABI 45 | | #define DIRECTFB_CORE_ABI 46 | |
| | | | |
| typedef enum { | | typedef enum { | |
| DFCP_CLIPBOARD, | | DFCP_CLIPBOARD, | |
| DFCP_COLORHASH, | | DFCP_COLORHASH, | |
| DFCP_GRAPHICS, | | DFCP_GRAPHICS, | |
| DFCP_INPUT, | | DFCP_INPUT, | |
| DFCP_LAYER, | | DFCP_LAYER, | |
| DFCP_SCREEN, | | DFCP_SCREEN, | |
| DFCP_SURFACE, | | DFCP_SURFACE, | |
| DFCP_SYSTEM, | | DFCP_SYSTEM, | |
| | | | |
| skipping to change at line 78 | | skipping to change at line 78 | |
| bool emergency ); | | bool emergency ); | |
| | | | |
| void *dfb_core_get_part( CoreDFB *core, | | void *dfb_core_get_part( CoreDFB *core, | |
| DFBCorePartID part_id ); | | DFBCorePartID part_id ); | |
| | | | |
| #define DFB_CORE(core,PART) dfb_core_get_part( core, DFCP_##PART ) | | #define DFB_CORE(core,PART) dfb_core_get_part( core, DFCP_##PART ) | |
| | | | |
| /* | | /* | |
| * Object creation | | * Object creation | |
| */ | | */ | |
|
| CoreLayerContext *dfb_core_create_layer_context( CoreDFB *core ); | | CoreGraphicsState *dfb_core_create_graphics_state( CoreDFB *core ); | |
| CoreLayerRegion *dfb_core_create_layer_region ( CoreDFB *core ); | | CoreLayerContext *dfb_core_create_layer_context ( CoreDFB *core ); | |
| CorePalette *dfb_core_create_palette ( CoreDFB *core ); | | CoreLayerRegion *dfb_core_create_layer_region ( CoreDFB *core ); | |
| CoreSurface *dfb_core_create_surface ( CoreDFB *core ); | | CorePalette *dfb_core_create_palette ( CoreDFB *core ); | |
| CoreWindow *dfb_core_create_window ( CoreDFB *core ); | | CoreSurface *dfb_core_create_surface ( CoreDFB *core ); | |
| | | CoreWindow *dfb_core_create_window ( CoreDFB *core ); | |
| | | | |
| | | DFBResult dfb_core_get_graphics_state ( CoreDFB *core | |
| | | , | |
| | | u32 obje | |
| | | ct_id, | |
| | | CoreGraphicsState **ret_ | |
| | | state ); | |
| | | | |
| | | DFBResult dfb_core_get_layer_context ( CoreDFB *core | |
| | | , | |
| | | u32 obje | |
| | | ct_id, | |
| | | CoreLayerContext **ret_ | |
| | | context ); | |
| | | | |
| | | DFBResult dfb_core_get_layer_region ( CoreDFB *core | |
| | | , | |
| | | u32 obje | |
| | | ct_id, | |
| | | CoreLayerRegion **ret_ | |
| | | region ); | |
| | | | |
| | | DFBResult dfb_core_get_palette ( CoreDFB *core | |
| | | , | |
| | | u32 obje | |
| | | ct_id, | |
| | | CorePalette **ret_ | |
| | | palette ); | |
| | | | |
| | | DFBResult dfb_core_get_surface ( CoreDFB *core | |
| | | , | |
| | | u32 obje | |
| | | ct_id, | |
| | | CoreSurface **ret_ | |
| | | surface ); | |
| | | | |
| | | DFBResult dfb_core_get_window ( CoreDFB *core | |
| | | , | |
| | | u32 obje | |
| | | ct_id, | |
| | | CoreWindow **ret_ | |
| | | window ); | |
| | | | |
| /* | | /* | |
| * Debug | | * Debug | |
| */ | | */ | |
| DirectResult dfb_core_enum_surfaces ( CoreDFB *core, | | DirectResult dfb_core_enum_surfaces ( CoreDFB *core, | |
| FusionObjectCallback callback, | | FusionObjectCallback callback, | |
| void *ctx ); | | void *ctx ); | |
| DirectResult dfb_core_enum_layer_contexts( CoreDFB *core, | | DirectResult dfb_core_enum_layer_contexts( CoreDFB *core, | |
| FusionObjectCallback callback, | | FusionObjectCallback callback, | |
| void *ctx ); | | void *ctx ); | |
| | | | |
| skipping to change at line 155 | | skipping to change at line 180 | |
| bool emergency ); | | bool emergency ); | |
| | | | |
| /* | | /* | |
| * Removes a function from the cleanup stack. | | * Removes a function from the cleanup stack. | |
| */ | | */ | |
| void dfb_core_cleanup_remove( CoreDFB *core, | | void dfb_core_cleanup_remove( CoreDFB *core, | |
| CoreCleanup *cleanup ); | | CoreCleanup *cleanup ); | |
| | | | |
| DFBFontManager *dfb_core_font_manager( CoreDFB *core ); | | DFBFontManager *dfb_core_font_manager( CoreDFB *core ); | |
| | | | |
|
| | | struct __DFB_CoreDFBShared { | |
| | | int magic; | |
| | | | |
| | | FusionSkirmish lock; | |
| | | bool active; | |
| | | | |
| | | FusionObjectPool *graphics_state_pool; | |
| | | FusionObjectPool *layer_context_pool; | |
| | | FusionObjectPool *layer_region_pool; | |
| | | FusionObjectPool *palette_pool; | |
| | | FusionObjectPool *surface_pool; | |
| | | FusionObjectPool *window_pool; | |
| | | | |
| | | FusionSHMPoolShared *shmpool; | |
| | | FusionSHMPoolShared *shmpool_data; /* for raw data, e.g. surface buffe | |
| | | rs */ | |
| | | | |
| | | FusionCall call; | |
| | | }; | |
| | | | |
| | | struct __DFB_CoreDFB { | |
| | | int magic; | |
| | | | |
| | | int refs; | |
| | | | |
| | | int fusion_id; | |
| | | | |
| | | FusionWorld *world; | |
| | | FusionArena *arena; | |
| | | | |
| | | CoreDFBShared *shared; | |
| | | | |
| | | bool master; | |
| | | bool suspended; | |
| | | | |
| | | DirectLink *cleanups; | |
| | | | |
| | | DirectThreadInitHandler *init_handler; | |
| | | | |
| | | DirectSignalHandler *signal_handler; | |
| | | | |
| | | DirectCleanupHandler *cleanup_handler; | |
| | | | |
| | | DFBFontManager *font_manager; | |
| | | }; | |
| | | | |
| | | extern CoreDFB *core_dfb; // FIXME | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 3 change blocks. |
| 6 lines changed or deleted | | 97 lines changed or added | |
|
| coretypes.h | | coretypes.h | |
| | | | |
| skipping to change at line 48 | | skipping to change at line 48 | |
| typedef struct __DFB_DFBColorHashCore DFBColorHashCore; | | typedef struct __DFB_DFBColorHashCore DFBColorHashCore; | |
| typedef struct __DFB_DFBGraphicsCore DFBGraphicsCore; | | typedef struct __DFB_DFBGraphicsCore DFBGraphicsCore; | |
| typedef struct __DFB_DFBInputCore DFBInputCore; | | typedef struct __DFB_DFBInputCore DFBInputCore; | |
| typedef struct __DFB_DFBLayerCore DFBLayerCore; | | typedef struct __DFB_DFBLayerCore DFBLayerCore; | |
| typedef struct __DFB_DFBScreenCore DFBScreenCore; | | typedef struct __DFB_DFBScreenCore DFBScreenCore; | |
| typedef struct __DFB_DFBSystemCore DFBSystemCore; | | typedef struct __DFB_DFBSystemCore DFBSystemCore; | |
| typedef struct __DFB_DFBWMCore DFBWMCore; | | typedef struct __DFB_DFBWMCore DFBWMCore; | |
| | | | |
| typedef struct __DFB_DFBGraphicsCore CoreGraphicsDevice; /* FIXME *
/ | | typedef struct __DFB_DFBGraphicsCore CoreGraphicsDevice; /* FIXME *
/ | |
| | | | |
|
| | | typedef struct __DFB_CoreGraphicsState CoreGraphicsState; | |
| | | typedef struct __DFB_CoreGraphicsStateClient CoreGraphicsStateClient; | |
| | | | |
| typedef struct _CoreCleanup CoreCleanup; | | typedef struct _CoreCleanup CoreCleanup; | |
| | | | |
| typedef struct _CoreFont CoreFont; | | typedef struct _CoreFont CoreFont; | |
| typedef struct _CoreGlyphData CoreGlyphData; | | typedef struct _CoreGlyphData CoreGlyphData; | |
| typedef struct _CorePalette CorePalette; | | typedef struct _CorePalette CorePalette; | |
| | | | |
| typedef struct _CardState CardState; | | typedef struct _CardState CardState; | |
| | | | |
| typedef struct __DFB_DFBFontManager DFBFontManager; | | typedef struct __DFB_DFBFontManager DFBFontManager; | |
| typedef struct __DFB_DFBFontCache DFBFontCache; | | typedef struct __DFB_DFBFontCache DFBFontCache; | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 3 lines changed or added | |
|
| directfb.h | | directfb.h | |
| | | | |
| skipping to change at line 427 | | skipping to change at line 427 | |
| * Creates the super interface. | | * Creates the super interface. | |
| */ | | */ | |
| DFBResult DirectFBCreate( | | DFBResult DirectFBCreate( | |
| IDirectFB **interface /* pointer to the | | IDirectFB **interface /* pointer to the | |
| created interface */ | | created interface */ | |
| ); | | ); | |
| | | | |
| typedef unsigned int DFBScreenID; | | typedef unsigned int DFBScreenID; | |
| typedef unsigned int DFBDisplayLayerID; | | typedef unsigned int DFBDisplayLayerID; | |
| typedef unsigned int DFBDisplayLayerSourceID; | | typedef unsigned int DFBDisplayLayerSourceID; | |
|
| | | typedef unsigned int DFBSurfaceID; | |
| typedef unsigned int DFBWindowID; | | typedef unsigned int DFBWindowID; | |
| typedef unsigned int DFBInputDeviceID; | | typedef unsigned int DFBInputDeviceID; | |
| typedef unsigned int DFBTextEncodingID; | | typedef unsigned int DFBTextEncodingID; | |
| | | | |
| typedef u32 DFBDisplayLayerIDs; | | typedef u32 DFBDisplayLayerIDs; | |
| | | | |
| typedef unsigned int DFBColorID; | | typedef unsigned int DFBColorID; | |
| | | | |
| /* | | /* | |
| * Predefined color IDs. | | * Predefined color IDs. | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 1 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 (13) | | #define DIRECTFB_MICRO_VERSION (14) | |
| #define DIRECTFB_BINARY_AGE (8) | | #define DIRECTFB_BINARY_AGE (9) | |
| #define DIRECTFB_INTERFACE_AGE (8) | | #define DIRECTFB_INTERFACE_AGE (9) | |
| | | | |
| #endif /* __DIRECTFB_VERSION_H__ */ | | #endif /* __DIRECTFB_VERSION_H__ */ | |
| | | | |
End of changes. 1 change blocks. |
| 3 lines changed or deleted | | 3 lines changed or added | |
|
| fusion_internal.h | | fusion_internal.h | |
| | | | |
| skipping to change at line 35 | | skipping to change at line 35 | |
| Free Software Foundation, Inc., 59 Temple Place - Suite 330, | | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
| Boston, MA 02111-1307, USA. | | Boston, MA 02111-1307, USA. | |
| */ | | */ | |
| | | | |
| #ifndef __FUSION__FUSION_INTERNAL_H__ | | #ifndef __FUSION__FUSION_INTERNAL_H__ | |
| #define __FUSION__FUSION_INTERNAL_H__ | | #define __FUSION__FUSION_INTERNAL_H__ | |
| | | | |
| #include <sys/types.h> | | #include <sys/types.h> | |
| #include <sys/param.h> | | #include <sys/param.h> | |
| | | | |
|
| | | #include <stdarg.h> | |
| #include <string.h> | | #include <string.h> | |
| | | | |
| #include <direct/list.h> | | #include <direct/list.h> | |
| | | | |
| #include <fusion/build.h> | | #include <fusion/build.h> | |
| #include <fusion/fusion.h> | | #include <fusion/fusion.h> | |
| #include <fusion/lock.h> | | #include <fusion/lock.h> | |
| #include <fusion/ref.h> | | #include <fusion/ref.h> | |
| #include <fusion/shm/shm_internal.h> | | #include <fusion/shm/shm_internal.h> | |
| | | | |
| | | | |
| skipping to change at line 139 | | skipping to change at line 140 | |
| /* | | /* | |
| * from reactor.c | | * from reactor.c | |
| */ | | */ | |
| void _fusion_reactor_free_all ( FusionWorld *world ); | | void _fusion_reactor_free_all ( FusionWorld *world ); | |
| void _fusion_reactor_process_message( FusionWorld *world, | | void _fusion_reactor_process_message( FusionWorld *world, | |
| int reactor_id, | | int reactor_id, | |
| int channel, | | int channel, | |
| const void *msg_data ); | | const void *msg_data ); | |
| | | | |
| #if FUSION_BUILD_MULTI | | #if FUSION_BUILD_MULTI | |
|
| | | # if FUSION_BUILD_KERNEL | |
| | | static __inline__ void | |
| | | fusion_entry_add_permissions( const FusionWorld *world, | |
| | | FusionType type, | |
| | | int entry_id, | |
| | | FusionID fusion_id, | |
| | | ... ) | |
| | | { | |
| | | FusionEntryPermissions permissions; | |
| | | va_list args; | |
| | | int arg; | |
| | | | |
| | | permissions.type = type; | |
| | | permissions.id = entry_id; | |
| | | permissions.fusion_id = fusion_id; | |
| | | permissions.permissions = 0; | |
| | | | |
| | | va_start( args, fusion_id ); | |
| | | | |
| | | while ((arg = va_arg( args, int )) != 0) | |
| | | FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, arg ); | |
| | | | |
| | | va_end( args ); | |
| | | | |
| | | while (ioctl( world->fusion_fd, FUSION_ENTRY_ADD_PERMISSIONS, &permiss | |
| | | ions ) < 0) { | |
| | | if (errno != EINTR) { | |
| | | D_PERROR( "Fusion: FUSION_ENTRY_ADD_PERMISSIONS( type %d, id | |
| | | %d ) failed!\n", type, entry_id ); | |
| | | break; | |
| | | } | |
| | | } | |
| | | } | |
| | | # endif | |
| | | #endif | |
| | | | |
| | | #if FUSION_BUILD_MULTI | |
| /* | | /* | |
| * from call.c | | * from call.c | |
| */ | | */ | |
| void _fusion_call_process( FusionWorld *world, | | void _fusion_call_process( FusionWorld *world, | |
| int call_id, | | int call_id, | |
| FusionCallMessage *call ); | | FusionCallMessage *call ); | |
|
| | | void _fusion_call_process3( FusionWorld *world, | |
| | | int call_id, | |
| | | FusionCallMessage3 *msg, | |
| | | void *ptr ); | |
| | | | |
| #if FUSION_BUILD_KERNEL | | #if FUSION_BUILD_KERNEL | |
| /* | | /* | |
| * from shm.c | | * from shm.c | |
| */ | | */ | |
| void _fusion_shmpool_process( FusionWorld *world, | | void _fusion_shmpool_process( FusionWorld *world, | |
| int pool_id, | | int pool_id, | |
| FusionSHMPoolMessage *msg ); | | FusionSHMPoolMessage *msg ); | |
| #else | | #else | |
| /* | | /* | |
| | | | |
End of changes. 3 change blocks. |
| 0 lines changed or deleted | | 42 lines changed or added | |
|
| gfxcard.h | | gfxcard.h | |
| | | | |
| skipping to change at line 36 | | skipping to change at line 36 | |
| Boston, MA 02111-1307, USA. | | Boston, MA 02111-1307, USA. | |
| */ | | */ | |
| | | | |
| #ifndef __GFXCARD_H__ | | #ifndef __GFXCARD_H__ | |
| #define __GFXCARD_H__ | | #define __GFXCARD_H__ | |
| | | | |
| #include <pthread.h> | | #include <pthread.h> | |
| | | | |
| #include <direct/modules.h> | | #include <direct/modules.h> | |
| | | | |
|
| | | #include <fusion/call.h> | |
| #include <fusion/lock.h> | | #include <fusion/lock.h> | |
|
| | | #include <fusion/property.h> | |
| | | | |
|
| #include <directfb.h> | | | |
| #include <core/coretypes.h> | | #include <core/coretypes.h> | |
| | | | |
|
| | | #include <directfb.h> | |
| | | | |
| typedef enum { | | typedef enum { | |
| CCF_CLIPPING = 0x00000001, | | CCF_CLIPPING = 0x00000001, | |
| CCF_NOTRIEMU = 0x00000002, | | CCF_NOTRIEMU = 0x00000002, | |
| CCF_READSYSMEM = 0x00000004, | | CCF_READSYSMEM = 0x00000004, | |
| /* CCF_WRITESYSMEM ?! */ | | /* CCF_WRITESYSMEM ?! */ | |
| CCF_AUXMEMORY = 0x00000010, | | CCF_AUXMEMORY = 0x00000010, | |
| CCF_RENDEROPTS = 0x00000020 | | CCF_RENDEROPTS = 0x00000020 | |
| } CardCapabilitiesFlags; | | } CardCapabilitiesFlags; | |
| | | | |
| struct __DFB_CoreGraphicsSerial { | | struct __DFB_CoreGraphicsSerial { | |
| | | | |
| skipping to change at line 394 | | skipping to change at line 397 | |
| DFBTriangleFormation formation, | | DFBTriangleFormation formation, | |
| CardState *state ); | | CardState *state ); | |
| | | | |
| void dfb_gfxcard_drawstring ( const u8 *text, | | void dfb_gfxcard_drawstring ( const u8 *text, | |
| int bytes, | | int bytes, | |
| DFBTextEncodingID encoding, | | DFBTextEncodingID encoding, | |
| int x, | | int x, | |
| int y, | | int y, | |
| CoreFont *font, | | CoreFont *font, | |
| unsigned int layers, | | unsigned int layers, | |
|
| CardState *state ); | | CoreGraphicsStateClient *client )
; | |
| | | | |
| void dfb_gfxcard_drawglyph ( CoreGlyphData **glyph, | | void dfb_gfxcard_drawglyph ( CoreGlyphData **glyph, | |
| int x, | | int x, | |
| int y, | | int y, | |
| CoreFont *font, | | CoreFont *font, | |
| unsigned int layers, | | unsigned int layers, | |
|
| CardState *state ); | | CoreGraphicsStateClient *client )
; | |
| | | | |
| bool dfb_gfxcard_drawstring_check_state ( CoreFont *font, | | bool dfb_gfxcard_drawstring_check_state ( CoreFont *font, | |
| CardState *state ); | | CardState *state ); | |
| | | | |
| DFBResult dfb_gfxcard_sync( void ); | | DFBResult dfb_gfxcard_sync( void ); | |
|
| | | | |
| void dfb_gfxcard_invalidate_state( void ); | | void dfb_gfxcard_invalidate_state( void ); | |
| DFBResult dfb_gfxcard_wait_serial( const CoreGraphicsSerial *serial ); | | DFBResult dfb_gfxcard_wait_serial( const CoreGraphicsSerial *serial ); | |
| void dfb_gfxcard_flush_texture_cache( void ); | | void dfb_gfxcard_flush_texture_cache( void ); | |
| void dfb_gfxcard_flush_read_cache( void ); | | void dfb_gfxcard_flush_read_cache( void ); | |
| void dfb_gfxcard_after_set_var( void ); | | void dfb_gfxcard_after_set_var( void ); | |
| void dfb_gfxcard_surface_enter( CoreSurfaceBuffer *buffer, DFBSurfaceLockFl
ags flags ); | | void dfb_gfxcard_surface_enter( CoreSurfaceBuffer *buffer, DFBSurfaceLockFl
ags flags ); | |
| void dfb_gfxcard_surface_leave( CoreSurfaceBuffer *buffer ); | | void dfb_gfxcard_surface_leave( CoreSurfaceBuffer *buffer ); | |
| | | | |
| DFBResult dfb_gfxcard_adjust_heap_offset( int offset ); | | DFBResult dfb_gfxcard_adjust_heap_offset( int offset ); | |
| | | | |
| | | | |
| skipping to change at line 481 | | skipping to change at line 485 | |
| | | | |
| unsigned long dfb_gfxcard_auxmemory_physical( CoreGraphicsDevice *device, | | unsigned long dfb_gfxcard_auxmemory_physical( CoreGraphicsDevice *device, | |
| unsigned int offset )
; | | unsigned int offset )
; | |
| void *dfb_gfxcard_auxmemory_virtual ( CoreGraphicsDevice *device, | | void *dfb_gfxcard_auxmemory_virtual ( CoreGraphicsDevice *device, | |
| unsigned int offset )
; | | unsigned int offset )
; | |
| | | | |
| /* Hook for registering additional screen(s) and layer(s) in app or lib ini
tializing DirectFB. */ | | /* Hook for registering additional screen(s) and layer(s) in app or lib ini
tializing DirectFB. */ | |
| extern void (*__DFB_CoreRegisterHook)( CoreDFB *core, CoreGraphicsDevice *d
evice, void *ctx ); | | extern void (*__DFB_CoreRegisterHook)( CoreDFB *core, CoreGraphicsDevice *d
evice, void *ctx ); | |
| extern void *__DFB_CoreRegisterHookCtx; | | extern void *__DFB_CoreRegisterHookCtx; | |
| | | | |
|
| | | typedef struct { | |
| | | int magic; | |
| | | | |
| | | /* amount of usable memory */ | |
| | | unsigned int videoram_length; | |
| | | unsigned int auxram_length; | |
| | | unsigned int auxram_offset; | |
| | | | |
| | | char *module_name; | |
| | | | |
| | | GraphicsDriverInfo driver_info; | |
| | | GraphicsDeviceInfo device_info; | |
| | | void *device_data; | |
| | | | |
| | | FusionProperty lock; | |
| | | GraphicsDeviceLockFlags lock_flags; | |
| | | | |
| | | /* | |
| | | * Points to the current state of the graphics card. | |
| | | */ | |
| | | CardState *state; | |
| | | FusionID holder; /* Fusion ID of state owner. */ | |
| | | } DFBGraphicsCoreShared; | |
| | | | |
| | | struct __DFB_DFBGraphicsCore { | |
| | | int magic; | |
| | | | |
| | | CoreDFB *core; | |
| | | | |
| | | DFBGraphicsCoreShared *shared; | |
| | | | |
| | | DirectModuleEntry *module; | |
| | | const GraphicsDriverFuncs *driver_funcs; | |
| | | | |
| | | void *driver_data; | |
| | | void *device_data; /* copy of shared->device_data | |
| | | */ | |
| | | | |
| | | CardCapabilities caps; /* local caps */ | |
| | | CardLimitations limits; /* local limits */ | |
| | | | |
| | | GraphicsDeviceFuncs funcs; | |
| | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 8 change blocks. |
| 3 lines changed or deleted | | 51 lines changed or added | |
|
| idirectfbsurface.h | | idirectfbsurface.h | |
| | | | |
| skipping to change at line 38 | | skipping to change at line 38 | |
| | | | |
| #ifndef __IDIRECTFBSURFACE_H__ | | #ifndef __IDIRECTFBSURFACE_H__ | |
| #define __IDIRECTFBSURFACE_H__ | | #define __IDIRECTFBSURFACE_H__ | |
| | | | |
| #include <directfb.h> | | #include <directfb.h> | |
| | | | |
| #include <direct/types.h> | | #include <direct/types.h> | |
| | | | |
| #include <fusion/reactor.h> | | #include <fusion/reactor.h> | |
| | | | |
|
| #include <core/coretypes.h> | | | |
| #include <core/state.h> | | #include <core/state.h> | |
| | | | |
|
| | | #include <core/CoreGraphicsStateClient.h> | |
| | | | |
| /* | | /* | |
| * private data struct of IDirectFBSurface | | * private data struct of IDirectFBSurface | |
| */ | | */ | |
| typedef struct { | | typedef struct { | |
| DirectLink link; | | DirectLink link; | |
| | | | |
| int ref; /* reference counter */ | | int ref; /* reference counter */ | |
| | | | |
| DFBSurfaceCapabilities caps; /* capabilities */ | | DFBSurfaceCapabilities caps; /* capabilities */ | |
| | | | |
| | | | |
| skipping to change at line 132 | | skipping to change at line 133 | |
| } dst_key; /* dst key for blitting to | | } dst_key; /* dst key for blitting to | |
| this surface */ | | this surface */ | |
| | | | |
| Reaction reaction; | | Reaction reaction; | |
| | | | |
| CoreDFB *core; | | CoreDFB *core; | |
| | | | |
| IDirectFBSurface *parent; | | IDirectFBSurface *parent; | |
| DirectLink *children_data; | | DirectLink *children_data; | |
| pthread_mutex_t children_lock; | | pthread_mutex_t children_lock; | |
|
| | | | |
| | | CoreGraphicsStateClient state_client; | |
| } IDirectFBSurface_data; | | } IDirectFBSurface_data; | |
| | | | |
| /* | | /* | |
| * initializes interface struct and private data | | * initializes interface struct and private data | |
| */ | | */ | |
| DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz, | | DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz, | |
| IDirectFBSurface *parent, | | IDirectFBSurface *parent, | |
| DFBRectangle *req_rect, | | DFBRectangle *req_rect, | |
| DFBRectangle *clip_rect, | | DFBRectangle *clip_rect, | |
| DFBInsets *insets, | | DFBInsets *insets, | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 4 lines changed or added | |
|
| layer_context.h | | layer_context.h | |
| | | | |
| skipping to change at line 60 | | skipping to change at line 60 | |
| FusionObjectPool *dfb_layer_context_pool_create( const FusionWorld *world )
; | | FusionObjectPool *dfb_layer_context_pool_create( const FusionWorld *world )
; | |
| | | | |
| /* | | /* | |
| * Generates dfb_layer_context_ref(), dfb_layer_context_attach() etc. | | * Generates dfb_layer_context_ref(), dfb_layer_context_attach() etc. | |
| */ | | */ | |
| FUSION_OBJECT_METHODS( CoreLayerContext, dfb_layer_context ) | | FUSION_OBJECT_METHODS( CoreLayerContext, dfb_layer_context ) | |
| | | | |
| DFBResult dfb_layer_context_init( CoreLayerContext *context, | | DFBResult dfb_layer_context_init( CoreLayerContext *context, | |
| CoreLayer *layer ); | | CoreLayer *layer ); | |
| | | | |
|
| | | /* | |
| | | * Locking | |
| | | */ | |
| | | DirectResult dfb_layer_context_lock ( CoreLayerContext *context ); | |
| | | DirectResult dfb_layer_context_unlock( CoreLayerContext *context ); | |
| | | | |
| | | CoreWindowStack *dfb_layer_context_windowstack( const CoreLayerContext *con | |
| | | text ); | |
| | | | |
| | | bool dfb_layer_context_active ( const CoreLayerContext *con | |
| | | text ); | |
| | | | |
| DFBResult dfb_layer_context_get_primary_region( CoreLayerContext *context, | | DFBResult dfb_layer_context_get_primary_region( CoreLayerContext *context, | |
| bool create, | | bool create, | |
| CoreLayerRegion **ret_regi
on ); | | CoreLayerRegion **ret_regi
on ); | |
| | | | |
| /* | | /* | |
| * configuration testing/setting/getting | | * configuration testing/setting/getting | |
| */ | | */ | |
| DFBResult dfb_layer_context_test_configuration ( CoreLayerContext
*context, | | DFBResult dfb_layer_context_test_configuration ( CoreLayerContext
*context, | |
| const DFBDisplayLayerConfi
g *config, | | const DFBDisplayLayerConfi
g *config, | |
| DFBDisplayLayerConfigFlags
*ret_failed ); | | DFBDisplayLayerConfigFlags
*ret_failed ); | |
| | | | |
| skipping to change at line 136 | | skipping to change at line 146 | |
| * window control | | * window control | |
| */ | | */ | |
| DFBResult dfb_layer_context_create_window( CoreDFB *cor
e, | | DFBResult dfb_layer_context_create_window( CoreDFB *cor
e, | |
| CoreLayerContext *con
text, | | CoreLayerContext *con
text, | |
| const DFBWindowDescription *des
c, | | const DFBWindowDescription *des
c, | |
| CoreWindow **ret
_window ); | | CoreWindow **ret
_window ); | |
| | | | |
| CoreWindow *dfb_layer_context_find_window( CoreLayerContext *con
text, | | CoreWindow *dfb_layer_context_find_window( CoreLayerContext *con
text, | |
| DFBWindowID id
); | | DFBWindowID id
); | |
| | | | |
|
| CoreWindowStack *dfb_layer_context_windowstack( const CoreLayerContext *con | | | |
| text ); | | | |
| | | | |
| bool dfb_layer_context_active ( const CoreLayerContext *con | | | |
| text ); | | | |
| | | | |
| /* | | | |
| * Locking | | | |
| */ | | | |
| DirectResult dfb_layer_context_lock ( CoreLayerContext *context ); | | | |
| DirectResult dfb_layer_context_unlock( CoreLayerContext *context ); | | | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 2 change blocks. |
| 12 lines changed or deleted | | 12 lines changed or added | |
|
| layers_internal.h | | layers_internal.h | |
| | | | |
| skipping to change at line 77 | | skipping to change at line 77 | |
| | | | |
| FusionSkirmish lock; | | FusionSkirmish lock; | |
| | | | |
| CoreLayerContexts contexts; | | CoreLayerContexts contexts; | |
| | | | |
| bool suspended; | | bool suspended; | |
| | | | |
| FusionVector added_regions; | | FusionVector added_regions; | |
| | | | |
| FusionSHMPoolShared *shmpool; | | FusionSHMPoolShared *shmpool; | |
|
| | | | |
| | | FusionCall call; | |
| } CoreLayerShared; | | } CoreLayerShared; | |
| | | | |
| struct __DFB_CoreLayer { | | struct __DFB_CoreLayer { | |
| CoreLayerShared *shared; | | CoreLayerShared *shared; | |
| | | | |
| CoreDFB *core; | | CoreDFB *core; | |
| | | | |
| CoreGraphicsDevice *device; | | CoreGraphicsDevice *device; | |
| | | | |
| CoreScreen *screen; | | CoreScreen *screen; | |
| | | | |
| skipping to change at line 141 | | skipping to change at line 143 | |
| CoreLayerLayoutMode mode; /* ...and how resizing influen
ces them. */ | | CoreLayerLayoutMode mode; /* ...and how resizing influen
ces them. */ | |
| } screen; | | } screen; | |
| | | | |
| DFBColorAdjustment adjustment; /* Color adjustment of the lay
er.*/ | | DFBColorAdjustment adjustment; /* Color adjustment of the lay
er.*/ | |
| | | | |
| CoreWindowStack *stack; /* Every layer has its own | | CoreWindowStack *stack; /* Every layer has its own | |
| windowstack as every layer
has | | windowstack as every layer
has | |
| its own pixel buffer. */ | | its own pixel buffer. */ | |
| | | | |
| FusionSHMPoolShared *shmpool; | | FusionSHMPoolShared *shmpool; | |
|
| | | | |
| | | FusionCall call; | |
| }; | | }; | |
| | | | |
| typedef enum { | | typedef enum { | |
| CLRSF_NONE = 0x00000000, | | CLRSF_NONE = 0x00000000, | |
| | | | |
| CLRSF_CONFIGURED = 0x00000001, | | CLRSF_CONFIGURED = 0x00000001, | |
| CLRSF_ENABLED = 0x00000002, | | CLRSF_ENABLED = 0x00000002, | |
| CLRSF_ACTIVE = 0x00000004, | | CLRSF_ACTIVE = 0x00000004, | |
| CLRSF_REALIZED = 0x00000008, | | CLRSF_REALIZED = 0x00000008, | |
| | | | |
| | | | |
| skipping to change at line 174 | | skipping to change at line 178 | |
| | | | |
| CoreLayerRegionConfig config; | | CoreLayerRegionConfig config; | |
| | | | |
| CoreSurface *surface; | | CoreSurface *surface; | |
| CoreSurfaceBufferLock surface_lock; | | CoreSurfaceBufferLock surface_lock; | |
| GlobalReaction surface_reaction; | | GlobalReaction surface_reaction; | |
| | | | |
| void *region_data; | | void *region_data; | |
| | | | |
| CoreSurfaceAccessorID surface_accessor; | | CoreSurfaceAccessorID surface_accessor; | |
|
| | | | |
| | | FusionCall call; | |
| }; | | }; | |
| | | | |
| /* Called at the end of dfb_layer_region_create(). */ | | /* Called at the end of dfb_layer_region_create(). */ | |
| DFBResult dfb_layer_context_add_region( CoreLayerContext *context, | | DFBResult dfb_layer_context_add_region( CoreLayerContext *context, | |
| CoreLayerRegion *region ); | | CoreLayerRegion *region ); | |
| | | | |
| /* Called early in the region_destructor(). */ | | /* Called early in the region_destructor(). */ | |
| DFBResult dfb_layer_context_remove_region( CoreLayerContext *context, | | DFBResult dfb_layer_context_remove_region( CoreLayerContext *context, | |
| CoreLayerRegion *region ); | | CoreLayerRegion *region ); | |
| | | | |
| | | | |
End of changes. 3 change blocks. |
| 0 lines changed or deleted | | 6 lines changed or added | |
|
| messages.h | | messages.h | |
| | | | |
| skipping to change at line 105 | | skipping to change at line 105 | |
| direct_messages_info( x );
\ | | direct_messages_info( x );
\ | |
| } while (0) | | } while (0) | |
| | | | |
| #define D_ERROR(x...) do {
\ | | #define D_ERROR(x...) do {
\ | |
| if (!(direct_config->quiet & DMT_ERROR))
\ | | if (!(direct_config->quiet & DMT_ERROR))
\ | |
| direct_messages_error( x );
\ | | direct_messages_error( x );
\ | |
| } while (0) | | } while (0) | |
| | | | |
| #define D_DERROR(r,x...) do {
\ | | #define D_DERROR(r,x...) do {
\ | |
| if (!(direct_config->quiet & DMT_ERROR))
\ | | if (!(direct_config->quiet & DMT_ERROR))
\ | |
|
| direct_messages_derror( r, x );
\ | | direct_messages_derror( (DirectResult) r
, x ); \ | |
| } while (0) | | } while (0) | |
| | | | |
| #define D_PERROR(x...) do {
\ | | #define D_PERROR(x...) do {
\ | |
| if (!(direct_config->quiet & DMT_ERROR))
\ | | if (!(direct_config->quiet & DMT_ERROR))
\ | |
| direct_messages_perror( errno, x );
\ | | direct_messages_perror( errno, x );
\ | |
| } while (0) | | } while (0) | |
| | | | |
| #define D_DLERROR(x...) do {
\ | | #define D_DLERROR(x...) do {
\ | |
| if (!(direct_config->quiet & DMT_ERROR))
\ | | if (!(direct_config->quiet & DMT_ERROR))
\ | |
| direct_messages_dlerror( dlerror(), x );
\ | | direct_messages_dlerror( dlerror(), x );
\ | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| object.h | | object.h | |
| | | | |
| skipping to change at line 44 | | skipping to change at line 44 | |
| #include <fusion/lock.h> | | #include <fusion/lock.h> | |
| #include <direct/list.h> | | #include <direct/list.h> | |
| #include <fusion/ref.h> | | #include <fusion/ref.h> | |
| #include <fusion/reactor.h> | | #include <fusion/reactor.h> | |
| #include <direct/debug.h> | | #include <direct/debug.h> | |
| | | | |
| typedef void (*FusionObjectDestructor)( FusionObject *object, bool zombie,
void *ctx ); | | typedef void (*FusionObjectDestructor)( FusionObject *object, bool zombie,
void *ctx ); | |
| | | | |
| typedef bool (*FusionPropIterator)( char *key, void *value, void *ctx); | | typedef bool (*FusionPropIterator)( char *key, void *value, void *ctx); | |
| | | | |
|
| typedef unsigned long FusionObjectID; | | typedef u32 FusionObjectID; | |
| | | | |
| typedef enum { | | typedef enum { | |
| FOS_INIT, | | FOS_INIT, | |
| FOS_ACTIVE, | | FOS_ACTIVE, | |
| FOS_DEINIT | | FOS_DEINIT | |
| } FusionObjectState; | | } FusionObjectState; | |
| | | | |
| struct __Fusion_FusionObject { | | struct __Fusion_FusionObject { | |
| DirectLink link; | | DirectLink link; | |
| FusionObjectPool *pool; | | FusionObjectPool *pool; | |
| | | | |
| skipping to change at line 67 | | skipping to change at line 67 | |
| | | | |
| FusionObjectID id; | | FusionObjectID id; | |
| | | | |
| FusionObjectState state; | | FusionObjectState state; | |
| | | | |
| FusionRef ref; | | FusionRef ref; | |
| FusionReactor *reactor; | | FusionReactor *reactor; | |
| | | | |
| FusionWorldShared *shared; | | FusionWorldShared *shared; | |
| FusionHash *properties; | | FusionHash *properties; | |
|
| | | | |
| | | FusionID owner; | |
| }; | | }; | |
| | | | |
| typedef bool (*FusionObjectCallback)( FusionObjectPool *pool, | | typedef bool (*FusionObjectCallback)( FusionObjectPool *pool, | |
| FusionObject *object, | | FusionObject *object, | |
| void *ctx ); | | void *ctx ); | |
| | | | |
| FusionObjectPool *fusion_object_pool_create ( const char *name, | | FusionObjectPool *fusion_object_pool_create ( const char *name, | |
| int objec
t_size, | | int objec
t_size, | |
| int messa
ge_size, | | int messa
ge_size, | |
| FusionObjectDestructor destr
uctor, | | FusionObjectDestructor destr
uctor, | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 3 lines changed or added | |
|
| ref.h | | ref.h | |
| | | | |
| skipping to change at line 89 | | skipping to change at line 89 | |
| * Lock, increase, unlock. | | * Lock, increase, unlock. | |
| */ | | */ | |
| DirectResult fusion_ref_up (FusionRef *ref, bool global); | | DirectResult fusion_ref_up (FusionRef *ref, bool global); | |
| | | | |
| /* | | /* | |
| * Lock, decrease, unlock. | | * Lock, decrease, unlock. | |
| */ | | */ | |
| DirectResult fusion_ref_down (FusionRef *ref, bool global); | | DirectResult fusion_ref_down (FusionRef *ref, bool global); | |
| | | | |
| /* | | /* | |
|
| | | * Catch reference | |
| | | */ | |
| | | DirectResult fusion_ref_catch (FusionRef *ref); | |
| | | | |
| | | /* | |
| | | * Throw reference | |
| | | */ | |
| | | DirectResult fusion_ref_throw (FusionRef *ref, FusionID catcher); | |
| | | | |
| | | /* | |
| * Get the current reference count. Meant for debugging only. | | * Get the current reference count. Meant for debugging only. | |
| * This value is not reliable, because no locking will be performed | | * This value is not reliable, because no locking will be performed | |
| * and the value may change after or even while returning it. | | * and the value may change after or even while returning it. | |
| */ | | */ | |
| DirectResult fusion_ref_stat (FusionRef *ref, int *refs); | | DirectResult fusion_ref_stat (FusionRef *ref, int *refs); | |
| | | | |
| /* | | /* | |
| * Wait for zero and lock. | | * Wait for zero and lock. | |
| */ | | */ | |
| DirectResult fusion_ref_zero_lock (FusionRef *ref); | | DirectResult fusion_ref_zero_lock (FusionRef *ref); | |
| | | | |
| skipping to change at line 133 | | skipping to change at line 143 | |
| DirectResult fusion_ref_inherit (FusionRef *ref, | | DirectResult fusion_ref_inherit (FusionRef *ref, | |
| FusionRef *from); | | FusionRef *from); | |
| | | | |
| /* | | /* | |
| * Deinitialize. | | * Deinitialize. | |
| * Can be called after successful zero_lock or zero_trylock | | * Can be called after successful zero_lock or zero_trylock | |
| * so that waiting fusion_ref_up calls return with DR_DESTROYED. | | * so that waiting fusion_ref_up calls return with DR_DESTROYED. | |
| */ | | */ | |
| DirectResult fusion_ref_destroy (FusionRef *ref); | | DirectResult fusion_ref_destroy (FusionRef *ref); | |
| | | | |
|
| | | typedef enum { | |
| | | FUSION_REF_PERMIT_NONE = 0x00000000, | |
| | | | |
| | | FUSION_REF_PERMIT_REF_UNREF_LOCAL = 0x00000001, | |
| | | FUSION_REF_PERMIT_REF_UNREF_GLOBAL = 0x00000002, | |
| | | FUSION_REF_PERMIT_ZERO_LOCK_UNLOCK = 0x00000004, | |
| | | FUSION_REF_PERMIT_WATCH = 0x00000008, | |
| | | FUSION_REF_PERMIT_INHERIT = 0x00000010, | |
| | | FUSION_REF_PERMIT_DESTROY = 0x00000020, | |
| | | FUSION_REF_PERMIT_CATCH = 0x00000040, | |
| | | FUSION_REF_PERMIT_THROW = 0x00000080, | |
| | | | |
| | | FUSION_REF_PERMIT_ALL = 0x000000FF, | |
| | | } FusionRefPermissions; | |
| | | | |
| | | /* | |
| | | * Give permissions to another fusionee to use the reference. | |
| | | */ | |
| | | DirectResult fusion_ref_add_permissions( FusionRef *ref, | |
| | | FusionID fusion_id, | |
| | | FusionRefPermissions permissions | |
| | | ); | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 33 lines changed or added | |
|
| state.h | | state.h | |
| | | | |
| skipping to change at line 270 | | skipping to change at line 270 | |
| | | | |
| pthread_mutex_unlock( &state->lock ); | | pthread_mutex_unlock( &state->lock ); | |
| } | | } | |
| | | | |
| #define _dfb_state_set_checked(member,flag,state,value) \ | | #define _dfb_state_set_checked(member,flag,state,value) \ | |
| do { \ | | do { \ | |
| D_MAGIC_ASSERT( state, CardState ); \ | | D_MAGIC_ASSERT( state, CardState ); \ | |
| \ | | \ | |
| if ((value) != (state)->member) { \ | | if ((value) != (state)->member) { \ | |
| (state)->member = (value); \ | | (state)->member = (value); \ | |
|
| (state)->modified |= SMF_##flag; \ | | (state)->modified = (StateModificationFlags)((state)->modified |
SMF_##flag); \ | |
| } \ | | } \ | |
| } while (0) | | } while (0) | |
| | | | |
| #define dfb_state_set_blitting_flags(state,flags) _dfb_state_set_checked( b
littingflags, \ | | #define dfb_state_set_blitting_flags(state,flags) _dfb_state_set_checked( b
littingflags, \ | |
| B
LITTING_FLAGS, \ | | B
LITTING_FLAGS, \ | |
| s
tate, flags ) | | s
tate, flags ) | |
| | | | |
| #define dfb_state_set_drawing_flags(state,flags) _dfb_state_set_checked( d
rawingflags, \ | | #define dfb_state_set_drawing_flags(state,flags) _dfb_state_set_checked( d
rawingflags, \ | |
| D
RAWING_FLAGS, \ | | D
RAWING_FLAGS, \ | |
| s
tate, flags ) | | s
tate, flags ) | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| surface_buffer.h | | surface_buffer.h | |
| | | | |
| skipping to change at line 228 | | skipping to change at line 228 | |
| | | | |
| DFBResult dfb_surface_buffer_write ( CoreSurfaceBuffer *buffer, | | DFBResult dfb_surface_buffer_write ( CoreSurfaceBuffer *buffer, | |
| const void *source, | | const void *source, | |
| int pitch, | | int pitch, | |
| const DFBRectangle *rect ); | | const DFBRectangle *rect ); | |
| | | | |
| DFBResult dfb_surface_buffer_dump ( CoreSurfaceBuffer *buffer, | | DFBResult dfb_surface_buffer_dump ( CoreSurfaceBuffer *buffer, | |
| const char *directory, | | const char *directory, | |
| const char *prefix ); | | const char *prefix ); | |
| | | | |
|
| | | CoreSurfaceAllocation * | |
| | | dfb_surface_buffer_find_allocation( CoreSurfaceBuffer *buffer, | |
| | | CoreSurfaceAccessorID accessor, | |
| | | CoreSurfaceAccessFlags flags, | |
| | | bool lock ); | |
| | | | |
| static inline int | | static inline int | |
| dfb_surface_buffer_index( CoreSurfaceBuffer *buffer ) | | dfb_surface_buffer_index( CoreSurfaceBuffer *buffer ) | |
| { | | { | |
| int index; | | int index; | |
| CoreSurface *surface; | | CoreSurface *surface; | |
| | | | |
| D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer ); | | D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer ); | |
| | | | |
| surface = buffer->surface; | | surface = buffer->surface; | |
| D_MAGIC_ASSERT( surface, CoreSurface ); | | D_MAGIC_ASSERT( surface, CoreSurface ); | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 6 lines changed or added | |
|
| surface_pool.h | | surface_pool.h | |
| | | | |
| skipping to change at line 45 | | skipping to change at line 45 | |
| | | | |
| #include <core/surface.h> | | #include <core/surface.h> | |
| #include <core/surface_buffer.h> | | #include <core/surface_buffer.h> | |
| | | | |
| typedef enum { | | typedef enum { | |
| CSPCAPS_NONE = 0x00000000, | | CSPCAPS_NONE = 0x00000000, | |
| | | | |
| CSPCAPS_PHYSICAL = 0x00000001, /* pool provides physical address t
o buffer */ | | CSPCAPS_PHYSICAL = 0x00000001, /* pool provides physical address t
o buffer */ | |
| CSPCAPS_VIRTUAL = 0x00000002, /* pool provides virtual address to
buffer */ | | CSPCAPS_VIRTUAL = 0x00000002, /* pool provides virtual address to
buffer */ | |
| | | | |
|
| CSPCAPS_ALL = 0x00000003 | | CSPCAPS_READ = 0x00000004, /* pool provides Read() function (s | |
| | | et automatically) */ | |
| | | CSPCAPS_WRITE = 0x00000008, /* pool provides Write() function ( | |
| | | set automatically) */ | |
| | | | |
| | | CSPCAPS_ALL = 0x0000000F | |
| } CoreSurfacePoolCapabilities; | | } CoreSurfacePoolCapabilities; | |
| | | | |
| typedef enum { | | typedef enum { | |
| CSPP_DEFAULT, | | CSPP_DEFAULT, | |
| CSPP_PREFERED, | | CSPP_PREFERED, | |
| CSPP_ULTIMATE | | CSPP_ULTIMATE | |
| } CoreSurfacePoolPriority; | | } CoreSurfacePoolPriority; | |
| | | | |
| /* | | /* | |
| * Increase this number when changes result in binary incompatibility! | | * Increase this number when changes result in binary incompatibility! | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 6 lines changed or added | |
|
| types.h | | types.h | |
| | | | |
| skipping to change at line 87 | | skipping to change at line 87 | |
| typedef uint64_t u64; | | typedef uint64_t u64; | |
| | | | |
| typedef int8_t s8; | | typedef int8_t s8; | |
| typedef int16_t s16; | | typedef int16_t s16; | |
| typedef int32_t s32; | | typedef int32_t s32; | |
| typedef int64_t s64; | | typedef int64_t s64; | |
| | | | |
| #endif | | #endif | |
| #endif /* __DIRECT__STDTYPES__ */ | | #endif /* __DIRECT__STDTYPES__ */ | |
| | | | |
|
| | | #include <sys/mman.h> | |
| | | #include <sys/stat.h> | |
| | | #include <dirent.h> | |
| | | #include <fcntl.h> | |
| | | #include <string.h> | |
| | | #include <unistd.h> | |
| | | | |
| | | #define D_UNUSED __attribute__((unused)) | |
| | | #define direct_strcmp strcmp | |
| | | | |
| typedef enum { | | typedef enum { | |
| DR_OK = 0x00000000, /* No error occured. */ | | DR_OK = 0x00000000, /* No error occured. */ | |
| DR_FAILURE, /* A general or unknown error occured. */ | | DR_FAILURE, /* A general or unknown error occured. */ | |
| DR_INIT, /* A general initialization error occured. */ | | DR_INIT, /* A general initialization error occured. */ | |
| DR_BUG, /* Internal bug or inconsistency has been detected
. */ | | DR_BUG, /* Internal bug or inconsistency has been detected
. */ | |
| DR_DEAD, /* Interface has a zero reference counter (availab
le in debug mode). */ | | DR_DEAD, /* Interface has a zero reference counter (availab
le in debug mode). */ | |
| DR_UNSUPPORTED, /* The requested operation or an argument is (curr
ently) not supported. */ | | DR_UNSUPPORTED, /* The requested operation or an argument is (curr
ently) not supported. */ | |
| DR_UNIMPLEMENTED, /* The requested operation is not implemented, yet
. */ | | DR_UNIMPLEMENTED, /* The requested operation is not implemented, yet
. */ | |
| DR_ACCESSDENIED, /* Access to the resource is denied. */ | | DR_ACCESSDENIED, /* Access to the resource is denied. */ | |
| DR_INVAREA, /* An invalid area has been specified or detected.
*/ | | DR_INVAREA, /* An invalid area has been specified or detected.
*/ | |
| | | | |
| skipping to change at line 161 | | skipping to change at line 171 | |
| typedef u32 unichar; | | typedef u32 unichar; | |
| | | | |
| typedef struct __D_DirectCleanupHandler DirectCleanupHandler; | | typedef struct __D_DirectCleanupHandler DirectCleanupHandler; | |
| typedef struct __D_DirectConfig DirectConfig; | | typedef struct __D_DirectConfig DirectConfig; | |
| typedef struct __D_DirectHash DirectHash; | | typedef struct __D_DirectHash DirectHash; | |
| typedef struct __D_DirectLink DirectLink; | | typedef struct __D_DirectLink DirectLink; | |
| typedef struct __D_DirectLog DirectLog; | | typedef struct __D_DirectLog DirectLog; | |
| typedef struct __D_DirectMap DirectMap; | | typedef struct __D_DirectMap DirectMap; | |
| typedef struct __D_DirectModuleDir DirectModuleDir; | | typedef struct __D_DirectModuleDir DirectModuleDir; | |
| typedef struct __D_DirectModuleEntry DirectModuleEntry; | | typedef struct __D_DirectModuleEntry DirectModuleEntry; | |
|
| | | typedef struct __D_DirectMutex DirectMutex; | |
| typedef struct __D_DirectSerial DirectSerial; | | typedef struct __D_DirectSerial DirectSerial; | |
| typedef struct __D_DirectSignalHandler DirectSignalHandler; | | typedef struct __D_DirectSignalHandler DirectSignalHandler; | |
| typedef struct __D_DirectStream DirectStream; | | typedef struct __D_DirectStream DirectStream; | |
| typedef struct __D_DirectTraceBuffer DirectTraceBuffer; | | typedef struct __D_DirectTraceBuffer DirectTraceBuffer; | |
| typedef struct __D_DirectTree DirectTree; | | typedef struct __D_DirectTree DirectTree; | |
| typedef struct __D_DirectThread DirectThread; | | typedef struct __D_DirectThread DirectThread; | |
| typedef struct __D_DirectThreadInitHandler DirectThreadInitHandler; | | typedef struct __D_DirectThreadInitHandler DirectThreadInitHandler; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 11 lines changed or added | |
|
| windows_internal.h | | windows_internal.h | |
| | | | |
| skipping to change at line 110 | | skipping to change at line 110 | |
| DirectLink *bound_windows; /* list of bound windows */ | | DirectLink *bound_windows; /* list of bound windows */ | |
| CoreWindow *boundto; /* window to which this window
is bound (window binding) */ | | CoreWindow *boundto; /* window to which this window
is bound (window binding) */ | |
| | | | |
| DFBWindowID toplevel_id; /* in case of a sub window top
level_id != 0 */ | | DFBWindowID toplevel_id; /* in case of a sub window top
level_id != 0 */ | |
| CoreWindow *toplevel; /* for top level windows this
will be NULL */ | | CoreWindow *toplevel; /* for top level windows this
will be NULL */ | |
| FusionVector subwindows; /* list of sub windows (only v
alid for top level windows) */ | | FusionVector subwindows; /* list of sub windows (only v
alid for top level windows) */ | |
| | | | |
| CoreWindow *subfocus; /* which of the sub windows ha
s the focus? */ | | CoreWindow *subfocus; /* which of the sub windows ha
s the focus? */ | |
| | | | |
| unsigned long resource_id; | | unsigned long resource_id; | |
|
| | | | |
| | | FusionCall call; | |
| }; | | }; | |
| | | | |
| typedef enum { | | typedef enum { | |
| CWSF_NONE = 0x00000000, | | CWSF_NONE = 0x00000000, | |
| | | | |
| CWSF_INITIALIZED = 0x00000001, | | CWSF_INITIALIZED = 0x00000001, | |
| CWSF_ACTIVATED = 0x00000002, | | CWSF_ACTIVATED = 0x00000002, | |
| | | | |
| CWSF_ALL = 0x00000003 | | CWSF_ALL = 0x00000003 | |
| } CoreWindowStackFlags; | | } CoreWindowStackFlags; | |
| | | | |
| skipping to change at line 186 | | skipping to change at line 188 | |
| | | | |
| DirectLink *devices; /* input devices attached to the st
ack */ | | DirectLink *devices; /* input devices attached to the st
ack */ | |
| | | | |
| bool hw_mode; /* recompositing is done by hardwar
e */ | | bool hw_mode; /* recompositing is done by hardwar
e */ | |
| | | | |
| void *stack_data; /* private data of window manager *
/ | | void *stack_data; /* private data of window manager *
/ | |
| | | | |
| FusionSHMPoolShared *shmpool; | | FusionSHMPoolShared *shmpool; | |
| | | | |
| CoreWindowStackFlags flags; | | CoreWindowStackFlags flags; | |
|
| | | | |
| | | FusionCall call; | |
| }; | | }; | |
| | | | |
| DFBResult dfb_wm_close_all_stacks( void *data ); | | DFBResult dfb_wm_close_all_stacks( void *data ); | |
| | | | |
| /* global reactions */ | | /* global reactions */ | |
| ReactionResult _dfb_windowstack_inputdevice_listener ( const void *msg_
data, | | ReactionResult _dfb_windowstack_inputdevice_listener ( const void *msg_
data, | |
| void *ctx
); | | void *ctx
); | |
| | | | |
| ReactionResult _dfb_windowstack_background_image_listener( const void *msg_
data, | | ReactionResult _dfb_windowstack_background_image_listener( const void *msg_
data, | |
| void *ctx
); | | void *ctx
); | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 4 lines changed or added | |
|