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


 colorhash.h   colorhash.h 
skipping to change at line 36 skipping to change at line 36
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __CORE__COLORHASH_H__ #ifndef __CORE__COLORHASH_H__
#define __CORE__COLORHASH_H__ #define __CORE__COLORHASH_H__
#include <directfb.h> #include <directfb.h>
#include <core/coretypes.h> #include <core/coretypes.h>
void dfb_colorhash_attach ( DFBColorHashCore *core,
CorePalette *palette );
void dfb_colorhash_detach ( DFBColorHashCore *core,
CorePalette *palette );
unsigned int dfb_colorhash_lookup ( DFBColorHashCore *core, unsigned int dfb_colorhash_lookup ( DFBColorHashCore *core,
CorePalette *palette, CorePalette *palette,
u8 r, u8 r,
u8 g, u8 g,
u8 b, u8 b,
u8 a); u8 a);
void dfb_colorhash_invalidate( DFBColorHashCore *core, void dfb_colorhash_invalidate( DFBColorHashCore *core,
CorePalette *palette ); CorePalette *palette );
 End of changes. 1 change blocks. 
6 lines changed or deleted 0 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.h   fusion.h 
skipping to change at line 141 skipping to change at line 141
*/ */
DirectResult fusion_kill( FusionWorld *world, DirectResult fusion_kill( FusionWorld *world,
FusionID fusion_id, FusionID fusion_id,
int signal, int signal,
int timeout_ms ); int timeout_ms );
/* Check if a pointer points to the shared memory. */ /* Check if a pointer points to the shared memory. */
bool fusion_is_shared( FusionWorld *world, bool fusion_is_shared( FusionWorld *world,
const void *ptr ); const void *ptr );
const char *fusion_get_tmpfs( FusionWorld *world );
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 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


 idirectfbpalette.h   idirectfbpalette.h 
skipping to change at line 42 skipping to change at line 42
#include <directfb.h> #include <directfb.h>
#include <core/coretypes.h> #include <core/coretypes.h>
/* /*
* private data struct of IDirectFBPalette * private data struct of IDirectFBPalette
*/ */
typedef struct { typedef struct {
int ref; /* reference counter */ int ref; /* reference counter */
CorePalette *palette; /* the palette object */ CorePalette *palette; /* the palette object */
CoreDFB *core;
} IDirectFBPalette_data; } IDirectFBPalette_data;
/* /*
* initializes interface struct and private data * initializes interface struct and private data
*/ */
DFBResult IDirectFBPalette_Construct( IDirectFBPalette *thiz, DFBResult IDirectFBPalette_Construct( IDirectFBPalette *thiz,
CorePalette *palette ); CorePalette *palette,
CoreDFB *core );
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 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.h   layers.h 
skipping to change at line 357 skipping to change at line 357
DFBDisplayLayerDescription *desc ); DFBDisplayLayerDescription *desc );
CoreScreen *dfb_layer_screen( const CoreLayer *layer ); CoreScreen *dfb_layer_screen( const CoreLayer *layer );
CardState *dfb_layer_state( CoreLayer *layer ); CardState *dfb_layer_state( CoreLayer *layer );
DFBDisplayLayerID dfb_layer_id( const CoreLayer *layer ); DFBDisplayLayerID dfb_layer_id( const CoreLayer *layer );
DFBDisplayLayerID dfb_layer_id_translated( const CoreLayer *layer ); DFBDisplayLayerID dfb_layer_id_translated( const CoreLayer *layer );
DFBDisplayLayerID dfb_layer_id_translate( DFBDisplayLayerID layer_id );
DFBSurfacePixelFormat dfb_primary_layer_pixelformat( void ); DFBSurfacePixelFormat dfb_primary_layer_pixelformat( void );
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 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


 palette.h   palette.h 
skipping to change at line 47 skipping to change at line 47
FusionObject object; FusionObject object;
int magic; int magic;
unsigned int num_entries; unsigned int num_entries;
DFBColor *entries; DFBColor *entries;
DFBColorYUV *entries_yuv; DFBColorYUV *entries_yuv;
struct { struct {
int index; int index;
DFBColor color; DFBColor color;
} search_cache; } __obsolete__search_cache;
bool hash_attached; bool __obsolete__hash_attached;
FusionSHMPoolShared *shmpool; FusionSHMPoolShared *shmpool;
FusionCall call;
}; };
typedef enum { typedef enum {
CPNF_ENTRIES = 0x00000001, CPNF_ENTRIES = 0x00000001,
CPNF_DESTROY = 0x00000002 CPNF_DESTROY = 0x00000002
} CorePaletteNotificationFlags; } CorePaletteNotificationFlags;
typedef struct { typedef struct {
CorePaletteNotificationFlags flags; CorePaletteNotificationFlags flags;
CorePalette *palette; CorePalette *palette;
 End of changes. 3 change blocks. 
2 lines changed or deleted 4 lines changed or added


 reactor.h   reactor.h 
skipping to change at line 192 skipping to change at line 192
*/ */
DirectResult fusion_reactor_set_name ( FusionReactor *reacto r, DirectResult fusion_reactor_set_name ( FusionReactor *reacto r,
const char *name ) ; const char *name ) ;
/* /*
* Specify whether local message handlers (reactions) should be called dire ctly. * Specify whether local message handlers (reactions) should be called dire ctly.
*/ */
DirectResult fusion_reactor_direct ( FusionReactor *reactor, DirectResult fusion_reactor_direct ( FusionReactor *reactor,
bool direct ); bool direct );
typedef enum {
FUSION_REACTOR_PERMIT_NONE = 0x00000000,
FUSION_REACTOR_PERMIT_ATTACH_DETACH = 0x00000001,
FUSION_REACTOR_PERMIT_DISPATCH = 0x00000002,
FUSION_REACTOR_PERMIT_ALL = 0x00000003,
} FusionReactorPermissions;
/*
* Give permissions to another fusionee to use the reactor.
*/
DirectResult fusion_reactor_add_permissions( FusionReactor *reac
tor,
FusionID fusi
on_id,
FusionReactorPermissions perm
issions );
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 19 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


 shm_internal.h   shm_internal.h 
skipping to change at line 245 skipping to change at line 245
DirectResult __shmalloc_init_heap( FusionSHM *shm, DirectResult __shmalloc_init_heap( FusionSHM *shm,
const char *filename, const char *filename,
void *addr_base, void *addr_base,
int space, int space,
int *ret_size ); int *ret_size );
DirectResult __shmalloc_join_heap( FusionSHM *shm, DirectResult __shmalloc_join_heap( FusionSHM *shm,
const char *filename, const char *filename,
void *addr_base, void *addr_base,
int size ); int size,
bool write );
void *__shmalloc_brk ( shmalloc_heap *heap, void *__shmalloc_brk ( shmalloc_heap *heap,
int increment ); int increment );
#endif #endif
 End of changes. 1 change blocks. 
1 lines changed or deleted 2 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.h   surface.h 
skipping to change at line 220 skipping to change at line 220
int buffer_indices[MAX_SURFACE_BUFFERS]; int buffer_indices[MAX_SURFACE_BUFFERS];
unsigned int flips; unsigned int flips;
CorePalette *palette; CorePalette *palette;
GlobalReaction palette_reaction; GlobalReaction palette_reaction;
FusionSHMPoolShared *shmpool; FusionSHMPoolShared *shmpool;
void *data; /* Shared system driver-specifi c data for this surface. */ void *data; /* Shared system driver-specifi c data for this surface. */
FusionCall call;
}; };
/* /*
* Creates a pool of surface objects. * Creates a pool of surface objects.
*/ */
FusionObjectPool *dfb_surface_pool_create( const FusionWorld *world ); FusionObjectPool *dfb_surface_pool_create( const FusionWorld *world );
/* /*
* Generates dfb_surface_ref(), dfb_surface_attach() etc. * Generates dfb_surface_ref(), dfb_surface_attach() etc.
*/ */
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 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


 thread.h   thread.h 
skipping to change at line 36 skipping to change at line 36
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __DIRECT__THREAD_H__ #ifndef __DIRECT__THREAD_H__
#define __DIRECT__THREAD_H__ #define __DIRECT__THREAD_H__
#include <sys/types.h> #include <sys/types.h>
#include <direct/types.h> #include <direct/types.h>
#include <direct/conf.h> #include <direct/conf.h>
#include <direct/mutex.h>
typedef enum { typedef enum {
DTT_DEFAULT = 0, DTT_DEFAULT = 0,
DTT_CLEANUP = -5, DTT_CLEANUP = -5,
DTT_INPUT = -10, DTT_INPUT = -10,
DTT_OUTPUT = -12, DTT_OUTPUT = -12,
DTT_MESSAGING = -15, DTT_MESSAGING = -15,
DTT_CRITICAL = -20 DTT_CRITICAL = -20
} DirectThreadType; } DirectThreadType;
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 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

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