CoreDFB.h   CoreDFB.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 69 skipping to change at line 72
DFBResult CoreDFB_CreatePalette( DFBResult CoreDFB_CreatePalette(
CoreDFB *obj, CoreDFB *obj,
u32 size, u32 size,
CorePalette **ret_palette) ; CorePalette **ret_palette) ;
DFBResult CoreDFB_CreateState( DFBResult CoreDFB_CreateState(
CoreDFB *obj, CoreDFB *obj,
CoreGraphicsState **ret_state); CoreGraphicsState **ret_state);
DFBResult CoreDFB_WaitIdle(
CoreDFB *obj
);
DFBResult CoreDFB_CreateImageProvider( DFBResult CoreDFB_CreateImageProvider(
CoreDFB *obj, CoreDFB *obj,
u32 buffer_call, u32 buffer_call,
u32 *ret_call); u32 *ret_call);
DFBResult CoreDFB_AllowSurface( DFBResult CoreDFB_AllowSurface(
CoreDFB *obj, CoreDFB *obj,
CoreSurface *surface, CoreSurface *surface,
const char *executable, const char *executable,
u32 executable_l ength); u32 executable_l ength);
skipping to change at line 108 skipping to change at line 107
CoreDFB *obj, CoreDFB *obj,
char *ret_mime_typ e, char *ret_mime_typ e,
u32 *ret_mime_typ e_size, u32 *ret_mime_typ e_size,
char *ret_data, char *ret_data,
u32 *ret_data_siz e); u32 *ret_data_siz e);
DFBResult CoreDFB_ClipboardGetTimestamp( DFBResult CoreDFB_ClipboardGetTimestamp(
CoreDFB *obj, CoreDFB *obj,
u64 *ret_timestam p_us); u64 *ret_timestam p_us);
DFBResult CoreDFB_Roundtrip(
CoreDFB *obj
);
void CoreDFB_Init_Dispatch( void CoreDFB_Init_Dispatch(
CoreDFB *core, CoreDFB *core,
CoreDFB *obj, CoreDFB *obj,
FusionCall *call FusionCall *call
); );
void CoreDFB_Deinit_Dispatch( void CoreDFB_Deinit_Dispatch(
FusionCall *call FusionCall *call
); );
skipping to change at line 132 skipping to change at line 135
/* /*
* CoreDFB Calls * CoreDFB Calls
*/ */
typedef enum { typedef enum {
CoreDFB_Initialize = 1, CoreDFB_Initialize = 1,
CoreDFB_Register = 2, CoreDFB_Register = 2,
CoreDFB_CreateSurface = 3, CoreDFB_CreateSurface = 3,
CoreDFB_CreatePalette = 4, CoreDFB_CreatePalette = 4,
CoreDFB_CreateState = 5, CoreDFB_CreateState = 5,
CoreDFB_WaitIdle = 6, CoreDFB_CreateImageProvider = 6,
CoreDFB_CreateImageProvider = 7, CoreDFB_AllowSurface = 7,
CoreDFB_AllowSurface = 8, CoreDFB_GetSurface = 8,
CoreDFB_GetSurface = 9, CoreDFB_ClipboardSet = 9,
CoreDFB_ClipboardSet = 10, CoreDFB_ClipboardGet = 10,
CoreDFB_ClipboardGet = 11, CoreDFB_ClipboardGetTimestamp = 11,
CoreDFB_ClipboardGetTimestamp = 12, CoreDFB_Roundtrip = 12,
} CoreDFBCall; } CoreDFBCall;
/* /*
* CoreDFB_Initialize * CoreDFB_Initialize
*/ */
typedef struct { typedef struct {
} CoreDFBInitialize; } CoreDFBInitialize;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
skipping to change at line 205 skipping to change at line 208
typedef struct { typedef struct {
} CoreDFBCreateState; } CoreDFBCreateState;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u32 state_id; u32 state_id;
void* state_ptr; void* state_ptr;
} CoreDFBCreateStateReturn; } CoreDFBCreateStateReturn;
/* /*
* CoreDFB_WaitIdle
*/
typedef struct {
} CoreDFBWaitIdle;
typedef struct {
DFBResult result;
} CoreDFBWaitIdleReturn;
/*
* CoreDFB_CreateImageProvider * CoreDFB_CreateImageProvider
*/ */
typedef struct { typedef struct {
u32 buffer_call; u32 buffer_call;
} CoreDFBCreateImageProvider; } CoreDFBCreateImageProvider;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u32 call; u32 call;
} CoreDFBCreateImageProviderReturn; } CoreDFBCreateImageProviderReturn;
skipping to change at line 292 skipping to change at line 285
* CoreDFB_ClipboardGetTimestamp * CoreDFB_ClipboardGetTimestamp
*/ */
typedef struct { typedef struct {
} CoreDFBClipboardGetTimestamp; } CoreDFBClipboardGetTimestamp;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u64 timestamp_us; u64 timestamp_us;
} CoreDFBClipboardGetTimestampReturn; } CoreDFBClipboardGetTimestampReturn;
/*
* CoreDFB_Roundtrip
*/
typedef struct {
} CoreDFBRoundtrip;
typedef struct {
DFBResult result;
} CoreDFBRoundtripReturn;
class ICore : public Interface class ICore : public Interface
{ {
public: public:
ICore( CoreDFB *core ) ICore( CoreDFB *core )
: :
Interface( core ) Interface( core )
{ {
} }
public: public:
skipping to change at line 327 skipping to change at line 330
virtual DFBResult CreatePalette( virtual DFBResult CreatePalette(
u32 size, u32 size,
CorePalette **ret_palette CorePalette **ret_palette
) = 0; ) = 0;
virtual DFBResult CreateState( virtual DFBResult CreateState(
CoreGraphicsState **ret_state CoreGraphicsState **ret_state
) = 0; ) = 0;
virtual DFBResult WaitIdle(
) = 0;
virtual DFBResult CreateImageProvider( virtual DFBResult CreateImageProvider(
u32 buffer_call, u32 buffer_call,
u32 *ret_call u32 *ret_call
) = 0; ) = 0;
virtual DFBResult AllowSurface( virtual DFBResult AllowSurface(
CoreSurface *surface, CoreSurface *surface,
const char *executable, const char *executable,
u32 executable_l ength u32 executable_l ength
) = 0; ) = 0;
skipping to change at line 366 skipping to change at line 365
char *ret_mime_typ e, char *ret_mime_typ e,
u32 *ret_mime_typ e_size, u32 *ret_mime_typ e_size,
char *ret_data, char *ret_data,
u32 *ret_data_siz e u32 *ret_data_siz e
) = 0; ) = 0;
virtual DFBResult ClipboardGetTimestamp( virtual DFBResult ClipboardGetTimestamp(
u64 *ret_timestam p_us u64 *ret_timestam p_us
) = 0; ) = 0;
virtual DFBResult Roundtrip(
) = 0;
}; };
class ICore_Real : public ICore class ICore_Real : public ICore
{ {
private: private:
CoreDFB *obj; CoreDFB *obj;
public: public:
ICore_Real( CoreDFB *core, CoreDFB *obj ) ICore_Real( CoreDFB *core, CoreDFB *obj )
: :
ICore( core ), ICore( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult Initialize( virtual DFBResult Initialize(
); );
virtual DFBResult Register( virtual DFBResult Register(
u32 slave_call u32 slave_call
); );
virtual DFBResult CreateSurface( virtual DFBResult CreateSurface(
const CoreSurfaceConfig *config, const CoreSurfaceConfig *config,
skipping to change at line 407 skipping to change at line 409
virtual DFBResult CreatePalette( virtual DFBResult CreatePalette(
u32 size, u32 size,
CorePalette **ret_palette CorePalette **ret_palette
); );
virtual DFBResult CreateState( virtual DFBResult CreateState(
CoreGraphicsState **ret_state CoreGraphicsState **ret_state
); );
virtual DFBResult WaitIdle(
);
virtual DFBResult CreateImageProvider( virtual DFBResult CreateImageProvider(
u32 buffer_call, u32 buffer_call,
u32 *ret_call u32 *ret_call
); );
virtual DFBResult AllowSurface( virtual DFBResult AllowSurface(
CoreSurface *surface, CoreSurface *surface,
const char *executable, const char *executable,
u32 executable_l ength u32 executable_l ength
); );
skipping to change at line 446 skipping to change at line 444
char *ret_mime_typ e, char *ret_mime_typ e,
u32 *ret_mime_typ e_size, u32 *ret_mime_typ e_size,
char *ret_data, char *ret_data,
u32 *ret_data_siz e u32 *ret_data_siz e
); );
virtual DFBResult ClipboardGetTimestamp( virtual DFBResult ClipboardGetTimestamp(
u64 *ret_timestam p_us u64 *ret_timestam p_us
); );
virtual DFBResult Roundtrip(
);
}; };
class ICore_Requestor : public ICore class ICore_Requestor : public ICore
{ {
private: private:
CoreDFB *obj; CoreDFB *obj;
public: public:
ICore_Requestor( CoreDFB *core, CoreDFB *obj ) ICore_Requestor( CoreDFB *core, CoreDFB *obj )
: :
skipping to change at line 487 skipping to change at line 489
virtual DFBResult CreatePalette( virtual DFBResult CreatePalette(
u32 size, u32 size,
CorePalette **ret_palette CorePalette **ret_palette
); );
virtual DFBResult CreateState( virtual DFBResult CreateState(
CoreGraphicsState **ret_state CoreGraphicsState **ret_state
); );
virtual DFBResult WaitIdle(
);
virtual DFBResult CreateImageProvider( virtual DFBResult CreateImageProvider(
u32 buffer_call, u32 buffer_call,
u32 *ret_call u32 *ret_call
); );
virtual DFBResult AllowSurface( virtual DFBResult AllowSurface(
CoreSurface *surface, CoreSurface *surface,
const char *executable, const char *executable,
u32 executable_l ength u32 executable_l ength
); );
skipping to change at line 526 skipping to change at line 524
char *ret_mime_typ e, char *ret_mime_typ e,
u32 *ret_mime_typ e_size, u32 *ret_mime_typ e_size,
char *ret_data, char *ret_data,
u32 *ret_data_siz e u32 *ret_data_siz e
); );
virtual DFBResult ClipboardGetTimestamp( virtual DFBResult ClipboardGetTimestamp(
u64 *ret_timestam p_us u64 *ret_timestam p_us
); );
virtual DFBResult Roundtrip(
);
}; };
DFBResult CoreDFBDispatch__Dispatch( CoreDFB *obj, DFBResult CoreDFBDispatch__Dispatch( CoreDFB *obj,
FusionID caller, FusionID caller,
int method, int method,
void *ptr, void *ptr,
unsigned int length, unsigned int length,
void *ret_ptr, void *ret_ptr,
unsigned int ret_size, unsigned int ret_size,
unsigned int *ret_length ); unsigned int *ret_length );
 End of changes. 13 change blocks. 
34 lines changed or deleted 36 lines changed or added


 CoreDFB_CallMode.h   CoreDFB_CallMode.h 
/* /*
(c) Copyright 2001-2012 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 67 skipping to change at line 69
direct_thread_sleep(10000); direct_thread_sleep(10000);
return COREDFB_CALL_DENY; return COREDFB_CALL_DENY;
} }
if (dfb_core_is_master( core ) || !fusion_config->secure_fusion) if (dfb_core_is_master( core ) || !fusion_config->secure_fusion)
return COREDFB_CALL_DIRECT; return COREDFB_CALL_DIRECT;
return COREDFB_CALL_INDIRECT; return COREDFB_CALL_INDIRECT;
#else #else
return dfb_config->call_nodirect ? COREDFB_CALL_INDIRECT : COREDFB_CAL if (dfb_config->call_nodirect) {
L_DIRECT; DirectThread *self = direct_thread_self();
if (self && fusion_dispatcher_tid( core->world ) == direct_thread
_get_tid( self ))
return COREDFB_CALL_DIRECT;
return COREDFB_CALL_INDIRECT;
}
return COREDFB_CALL_DIRECT;
#endif #endif
} }
 End of changes. 3 change blocks. 
5 lines changed or deleted 16 lines changed or added


 CoreDFB_includes.h   CoreDFB_includes.h 
/* /*
(c) Copyright 2001-2012 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 55 skipping to change at line 57
#include <core/layer_control.h> #include <core/layer_control.h>
#include <core/layers_internal.h> #include <core/layers_internal.h>
#include <core/palette.h> #include <core/palette.h>
#include <core/screens.h> #include <core/screens.h>
#include <core/state.h> #include <core/state.h>
#include <core/surface.h> #include <core/surface.h>
#include <core/surface_client.h> #include <core/surface_client.h>
#include <core/windows.h> #include <core/windows.h>
#include <core/windows_internal.h> #include <core/windows_internal.h>
#define CALLBUFFER_FUSION_MESSAGE_SIZE (FUSION_CALL_MAX_LENGTH)
static __inline__ DirectResult static __inline__ DirectResult
CoreDFB_Call( CoreDFB *core, CoreDFB_Call( CoreDFB *core,
FusionCallExecFlags flags, FusionCallExecFlags flags,
int call_arg, int call_arg,
void *ptr, void *ptr,
unsigned int length, unsigned int length,
void *ret_ptr, void *ret_ptr,
unsigned int ret_size, unsigned int ret_size,
unsigned int *ret_length ) unsigned int *ret_length )
{ {
skipping to change at line 89 skipping to change at line 93
FusionID caller, FusionID caller,
CoreGraphicsState **ret_state ) CoreGraphicsState **ret_state )
{ {
DFBResult ret; DFBResult ret;
CoreGraphicsState *state; CoreGraphicsState *state;
ret = dfb_core_get_graphics_state( core, object_id, &state ); ret = dfb_core_get_graphics_state( core, object_id, &state );
if (ret) if (ret)
return (DirectResult) ret; return (DirectResult) ret;
if (state->object.owner && state->object.owner != caller) { if (fusion_object_check_owner( &state->object, caller, false )) {
dfb_graphics_state_unref( state ); dfb_graphics_state_unref( state );
return DR_ACCESSDENIED; return DR_ACCESSDENIED;
} }
*ret_state = state; *ret_state = state;
return DR_OK; return DR_OK;
} }
static __inline__ DirectResult static __inline__ DirectResult
skipping to change at line 130 skipping to change at line 134
fusion_reactor_add_permissions( state->object.reactor, catcher, fusion_reactor_add_permissions( state->object.reactor, catcher,
(FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH) ); (FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH) );
fusion_ref_add_permissions( &state->object.ref, catcher, fusion_ref_add_permissions( &state->object.ref, catcher,
(FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) ); (FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
fusion_call_add_permissions( &state->call, catcher, FUSION_CALL_PERMIT _EXECUTE ); fusion_call_add_permissions( &state->call, catcher, FUSION_CALL_PERMIT _EXECUTE );
if (dfb_config->graphics_state_call_limit) if (dfb_config->graphics_state_call_limit)
fusion_call_set_quota( &state->call, catcher, dfb_config->graphic s_state_call_limit ); fusion_call_set_quota( &state->call, catcher, dfb_config->graphic s_state_call_limit );
if (!state->object.owner) fusion_object_add_owner( &state->object, catcher );
state->object.owner = catcher;
return fusion_ref_throw( &state->object.ref, catcher ); return fusion_ref_throw( &state->object.ref, catcher );
} }
static __inline__ u32 static __inline__ u32
CoreLayer_GetID( const CoreLayer *layer ) CoreLayer_GetID( const CoreLayer *layer )
{ {
return dfb_layer_id( layer ); return dfb_layer_id( layer );
} }
skipping to change at line 168 skipping to change at line 171
static __inline__ DirectResult static __inline__ DirectResult
CoreLayer_Unref( CoreLayer *layer ) CoreLayer_Unref( CoreLayer *layer )
{ {
D_UNUSED_P( layer ); D_UNUSED_P( layer );
return DR_OK; return DR_OK;
} }
static __inline__ DirectResult static __inline__ DirectResult
CoreLayer_Catch__( CoreDFB *core,
u32 object_id,
CoreLayer **ret_layer )
{
D_UNUSED_P( core );
if (object_id >= (u32) dfb_layer_num())
return DR_IDNOTFOUND;
*ret_layer = dfb_layer_at( object_id );
return DR_OK;
}
static __inline__ DirectResult
CoreLayer_Throw( CoreLayer *layer, CoreLayer_Throw( CoreLayer *layer,
FusionID catcher, FusionID catcher,
u32 *ret_object_id ) u32 *ret_object_id )
{ {
D_UNUSED_P( catcher ); D_UNUSED_P( catcher );
*ret_object_id = layer->shared->layer_id; *ret_object_id = layer->shared->layer_id;
return DR_OK; return DR_OK;
skipping to change at line 214 skipping to change at line 202
FusionID caller, FusionID caller,
CoreLayerContext **ret_context ) CoreLayerContext **ret_context )
{ {
DFBResult ret; DFBResult ret;
CoreLayerContext *context; CoreLayerContext *context;
ret = dfb_core_get_layer_context( core, object_id, &context ); ret = dfb_core_get_layer_context( core, object_id, &context );
if (ret) if (ret)
return (DirectResult) ret; return (DirectResult) ret;
if (context->object.owner && context->object.owner != caller) { if (fusion_object_check_owner( &context->object, caller, true )) {
dfb_layer_context_unref( context ); dfb_layer_context_unref( context );
return DR_ACCESSDENIED; return DR_ACCESSDENIED;
} }
*ret_context = context; *ret_context = context;
return DR_OK; return DR_OK;
} }
static __inline__ DirectResult static __inline__ DirectResult
skipping to change at line 277 skipping to change at line 265
FusionID caller, FusionID caller,
CoreLayerRegion **ret_region ) CoreLayerRegion **ret_region )
{ {
DFBResult ret; DFBResult ret;
CoreLayerRegion *region; CoreLayerRegion *region;
ret = dfb_core_get_layer_region( core, object_id, &region ); ret = dfb_core_get_layer_region( core, object_id, &region );
if (ret) if (ret)
return (DirectResult) ret; return (DirectResult) ret;
if (region->object.owner && region->object.owner != caller) { if (fusion_object_check_owner( &region->object, caller, false )) {
dfb_layer_region_unref( region ); dfb_layer_region_unref( region );
return DR_ACCESSDENIED; return DR_ACCESSDENIED;
} }
*ret_region = region; *ret_region = region;
return DR_OK; return DR_OK;
} }
static __inline__ DirectResult static __inline__ DirectResult
skipping to change at line 337 skipping to change at line 325
FusionID caller, FusionID caller,
CorePalette **ret_palette ) CorePalette **ret_palette )
{ {
DFBResult ret; DFBResult ret;
CorePalette *palette; CorePalette *palette;
ret = dfb_core_get_palette( core, object_id, &palette ); ret = dfb_core_get_palette( core, object_id, &palette );
if (ret) if (ret)
return (DirectResult) ret; return (DirectResult) ret;
if (palette->object.owner && palette->object.owner != caller) { if (fusion_object_check_owner( &palette->object, caller, false )) {
dfb_palette_unref( palette ); dfb_palette_unref( palette );
return DR_ACCESSDENIED; return DR_ACCESSDENIED;
} }
*ret_palette = palette; *ret_palette = palette;
return DR_OK; return DR_OK;
} }
static __inline__ DirectResult static __inline__ DirectResult
skipping to change at line 375 skipping to change at line 363
u32 *ret_object_id ) u32 *ret_object_id )
{ {
*ret_object_id = palette->object.id; *ret_object_id = palette->object.id;
fusion_reactor_add_permissions( palette->object.reactor, catcher, fusion_reactor_add_permissions( palette->object.reactor, catcher,
(FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH) ); (FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH) );
fusion_ref_add_permissions( &palette->object.ref, catcher, fusion_ref_add_permissions( &palette->object.ref, catcher,
(FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) ); (FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
fusion_call_add_permissions( &palette->call, catcher, FUSION_CALL_PERM IT_EXECUTE ); fusion_call_add_permissions( &palette->call, catcher, FUSION_CALL_PERM IT_EXECUTE );
if (!palette->object.owner) fusion_object_add_owner( &palette->object, catcher );
palette->object.owner = catcher;
return fusion_ref_throw( &palette->object.ref, catcher ); return fusion_ref_throw( &palette->object.ref, catcher );
} }
static __inline__ u32 static __inline__ u32
CoreScreen_GetID( const CoreScreen *screen ) CoreScreen_GetID( const CoreScreen *screen )
{ {
return dfb_screen_id( screen ); return dfb_screen_id( screen );
} }
skipping to change at line 456 skipping to change at line 443
static __inline__ DirectResult static __inline__ DirectResult
CoreSurface_Lookup( CoreDFB *core, CoreSurface_Lookup( CoreDFB *core,
u32 object_id, u32 object_id,
FusionID caller, FusionID caller,
CoreSurface **ret_surface ) CoreSurface **ret_surface )
{ {
DFBResult ret; DFBResult ret;
CoreSurface *surface; CoreSurface *surface;
ret = dfb_core_get_surface( core, object_id, &surface ); // ret = dfb_core_get_surface( core, object_id, &surface );
ret = (DFBResult) fusion_object_lookup( core->shared->surface_pool, ob
ject_id, (FusionObject**) &surface );
if (ret) if (ret)
return (DirectResult) ret; return (DirectResult) ret;
if (caller != FUSION_ID_MASTER && if (caller != FUSION_ID_MASTER &&
surface->object.identity && surface->object.identity != caller && surface->object.identity != caller &&
surface->object.owner && surface->object.owner != caller) fusion_object_check_owner( &surface->object, caller, false ))
{ {
dfb_surface_unref( surface ); // dfb_surface_unref( surface );
return DR_ACCESSDENIED; return DR_ACCESSDENIED;
} }
*ret_surface = surface; *ret_surface = surface;
return DR_OK; return DR_OK;
} }
static __inline__ DirectResult static __inline__ DirectResult
CoreSurface_Unref( CoreSurface *surface ) CoreSurface_Unref( CoreSurface *surface )
{ {
return (DirectResult) dfb_surface_unref( surface ); return DR_OK;//(DirectResult) dfb_surface_unref( surface );
} }
static __inline__ DirectResult static __inline__ DirectResult
CoreSurface_Catch( CoreDFB *core, CoreSurface_Catch( CoreDFB *core,
void *object_ptr, void *object_ptr,
CoreSurface **ret_surface ) CoreSurface **ret_surface )
{ {
*ret_surface = (CoreSurface*) object_ptr; *ret_surface = (CoreSurface*) object_ptr;
return fusion_object_catch( (FusionObject*) object_ptr ); return fusion_object_catch( (FusionObject*) object_ptr );
} }
skipping to change at line 502 skipping to change at line 490
{ {
*ret_object_id = surface->object.id; *ret_object_id = surface->object.id;
fusion_reactor_add_permissions( surface->object.reactor, catcher, fusion_reactor_add_permissions( surface->object.reactor, catcher,
(FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH | (FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH |
FUSION_REAC TOR_PERMIT_DISPATCH) ); FUSION_REAC TOR_PERMIT_DISPATCH) );
fusion_ref_add_permissions( &surface->object.ref, catcher, fusion_ref_add_permissions( &surface->object.ref, catcher,
(FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) ); (FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
fusion_call_add_permissions( &surface->call, catcher, FUSION_CALL_PERM IT_EXECUTE ); fusion_call_add_permissions( &surface->call, catcher, FUSION_CALL_PERM IT_EXECUTE );
if (!surface->object.owner && !(surface->type & CSTF_LAYER) && !(surfa fusion_object_add_owner( &surface->object, catcher );
ce->config.caps & DSCAPS_SHARED))
surface->object.owner = catcher;
return fusion_ref_throw( &surface->object.ref, catcher ); return fusion_ref_throw( &surface->object.ref, catcher );
} }
static __inline__ u32 static __inline__ u32
CoreSurfaceAllocation_GetID( const CoreSurfaceAllocation *allocation ) CoreSurfaceAllocation_GetID( const CoreSurfaceAllocation *allocation )
{ {
return allocation->object.id; return allocation->object.id;
} }
skipping to change at line 527 skipping to change at line 514
FusionID caller, FusionID caller,
CoreSurfaceAllocation **ret_allocation ) CoreSurfaceAllocation **ret_allocation )
{ {
DFBResult ret; DFBResult ret;
CoreSurfaceAllocation *allocation; CoreSurfaceAllocation *allocation;
ret = dfb_core_get_surface_allocation( core, object_id, &allocation ); ret = dfb_core_get_surface_allocation( core, object_id, &allocation );
if (ret) if (ret)
return (DirectResult) ret; return (DirectResult) ret;
if (allocation->object.owner && allocation->object.owner != caller) { if (fusion_object_check_owner( &allocation->object, caller, false )) {
dfb_surface_allocation_unref( allocation ); dfb_surface_allocation_unref( allocation );
return DR_ACCESSDENIED; return DR_ACCESSDENIED;
} }
*ret_allocation = allocation; *ret_allocation = allocation;
return DR_OK; return DR_OK;
} }
static __inline__ DirectResult static __inline__ DirectResult
skipping to change at line 565 skipping to change at line 552
u32 *ret_object_id ) u32 *ret_object_id )
{ {
*ret_object_id = allocation->object.id; *ret_object_id = allocation->object.id;
fusion_reactor_add_permissions( allocation->object.reactor, catcher, fusion_reactor_add_permissions( allocation->object.reactor, catcher,
(FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH) ); (FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH) );
fusion_ref_add_permissions( &allocation->object.ref, catcher, fusion_ref_add_permissions( &allocation->object.ref, catcher,
(FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) ); (FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
//fusion_call_add_permissions( &allocation->call, catcher, FUSION_CALL _PERMIT_EXECUTE ); //fusion_call_add_permissions( &allocation->call, catcher, FUSION_CALL _PERMIT_EXECUTE );
if (!allocation->object.owner) fusion_object_add_owner( &allocation->object, catcher );
allocation->object.owner = catcher;
return fusion_ref_throw( &allocation->object.ref, catcher ); return fusion_ref_throw( &allocation->object.ref, catcher );
} }
static __inline__ u32 static __inline__ u32
CoreSurfaceBuffer_GetID( const CoreSurfaceBuffer *buffer ) CoreSurfaceBuffer_GetID( const CoreSurfaceBuffer *buffer )
{ {
return buffer->object.id; return buffer->object.id;
} }
skipping to change at line 590 skipping to change at line 576
FusionID caller, FusionID caller,
CoreSurfaceBuffer **ret_buffer ) CoreSurfaceBuffer **ret_buffer )
{ {
DFBResult ret; DFBResult ret;
CoreSurfaceBuffer *buffer; CoreSurfaceBuffer *buffer;
ret = dfb_core_get_surface_buffer( core, object_id, &buffer ); ret = dfb_core_get_surface_buffer( core, object_id, &buffer );
if (ret) if (ret)
return (DirectResult) ret; return (DirectResult) ret;
if (buffer->object.owner && buffer->object.owner != caller) { if (fusion_object_check_owner( &buffer->object, caller, false )) {
dfb_surface_buffer_unref( buffer ); dfb_surface_buffer_unref( buffer );
return DR_ACCESSDENIED; return DR_ACCESSDENIED;
} }
*ret_buffer = buffer; *ret_buffer = buffer;
return DR_OK; return DR_OK;
} }
static __inline__ DirectResult static __inline__ DirectResult
skipping to change at line 628 skipping to change at line 614
u32 *ret_object_id ) u32 *ret_object_id )
{ {
*ret_object_id = buffer->object.id; *ret_object_id = buffer->object.id;
fusion_reactor_add_permissions( buffer->object.reactor, catcher, fusion_reactor_add_permissions( buffer->object.reactor, catcher,
(FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH) ); (FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH) );
fusion_ref_add_permissions( &buffer->object.ref, catcher, fusion_ref_add_permissions( &buffer->object.ref, catcher,
(FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) ); (FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
//fusion_call_add_permissions( &buffer->call, catcher, FUSION_CALL_PER MIT_EXECUTE ); //fusion_call_add_permissions( &buffer->call, catcher, FUSION_CALL_PER MIT_EXECUTE );
if (!buffer->object.owner) fusion_object_add_owner( &buffer->object, catcher );
buffer->object.owner = catcher;
return fusion_ref_throw( &buffer->object.ref, catcher ); return fusion_ref_throw( &buffer->object.ref, catcher );
} }
static __inline__ u32 static __inline__ u32
CoreSurfaceClient_GetID( const CoreSurfaceClient *client ) CoreSurfaceClient_GetID( const CoreSurfaceClient *client )
{ {
return client->object.id; return client->object.id;
} }
skipping to change at line 653 skipping to change at line 638
FusionID caller, FusionID caller,
CoreSurfaceClient **ret_client ) CoreSurfaceClient **ret_client )
{ {
DFBResult ret; DFBResult ret;
CoreSurfaceClient *client; CoreSurfaceClient *client;
ret = dfb_core_get_surface_client( core, object_id, &client ); ret = dfb_core_get_surface_client( core, object_id, &client );
if (ret) if (ret)
return (DirectResult) ret; return (DirectResult) ret;
if (client->object.owner && client->object.owner != caller) { if (fusion_object_check_owner( &client->object, caller, false )) {
dfb_surface_client_unref( client ); dfb_surface_client_unref( client );
return DR_ACCESSDENIED; return DR_ACCESSDENIED;
} }
*ret_client = client; *ret_client = client;
return DR_OK; return DR_OK;
} }
static __inline__ DirectResult static __inline__ DirectResult
skipping to change at line 691 skipping to change at line 676
u32 *ret_object_id ) u32 *ret_object_id )
{ {
*ret_object_id = client->object.id; *ret_object_id = client->object.id;
fusion_reactor_add_permissions( client->object.reactor, catcher, fusion_reactor_add_permissions( client->object.reactor, catcher,
(FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH) ); (FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH) );
fusion_ref_add_permissions( &client->object.ref, catcher, fusion_ref_add_permissions( &client->object.ref, catcher,
(FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) ); (FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
fusion_call_add_permissions( &client->call, catcher, FUSION_CALL_PERMI T_EXECUTE ); fusion_call_add_permissions( &client->call, catcher, FUSION_CALL_PERMI T_EXECUTE );
if (!client->object.owner) fusion_object_add_owner( &client->object, catcher );
client->object.owner = catcher;
return fusion_ref_throw( &client->object.ref, catcher ); return fusion_ref_throw( &client->object.ref, catcher );
} }
static __inline__ u32 static __inline__ u32
CoreWindow_GetID( const CoreWindow *window ) CoreWindow_GetID( const CoreWindow *window )
{ {
return window->object.id; return window->object.id;
} }
skipping to change at line 716 skipping to change at line 700
FusionID caller, FusionID caller,
CoreWindow **ret_window ) CoreWindow **ret_window )
{ {
DFBResult ret; DFBResult ret;
CoreWindow *window; CoreWindow *window;
ret = dfb_core_get_window( core, object_id, &window ); ret = dfb_core_get_window( core, object_id, &window );
if (ret) if (ret)
return (DirectResult) ret; return (DirectResult) ret;
if (window->object.owner && window->object.owner != caller) { if (caller != FUSION_ID_MASTER &&
window->object.identity != caller &&
fusion_object_check_owner( &window->object, caller, false ))
{
dfb_window_unref( window ); dfb_window_unref( window );
return DR_ACCESSDENIED; return DR_ACCESSDENIED;
} }
*ret_window = window; *ret_window = window;
return DR_OK; return DR_OK;
} }
static __inline__ DirectResult static __inline__ DirectResult
skipping to change at line 754 skipping to change at line 741
u32 *ret_object_id ) u32 *ret_object_id )
{ {
*ret_object_id = window->object.id; *ret_object_id = window->object.id;
fusion_reactor_add_permissions( window->object.reactor, catcher, fusion_reactor_add_permissions( window->object.reactor, catcher,
(FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH | FUSION_REACTOR_PERMIT_DISPATCH) ); (FusionReactorPermissions)(FUSION_REAC TOR_PERMIT_ATTACH_DETACH | FUSION_REACTOR_PERMIT_DISPATCH) );
fusion_ref_add_permissions( &window->object.ref, catcher, fusion_ref_add_permissions( &window->object.ref, catcher,
(FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) ); (FusionRefPermissions)(FUSION_REF_PERMIT_R EF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
fusion_call_add_permissions( &window->call, catcher, FUSION_CALL_PERMI T_EXECUTE ); fusion_call_add_permissions( &window->call, catcher, FUSION_CALL_PERMI T_EXECUTE );
if (!window->object.owner) fusion_object_add_owner( &window->object, catcher );
window->object.owner = catcher;
return fusion_ref_throw( &window->object.ref, catcher ); return fusion_ref_throw( &window->object.ref, catcher );
} }
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
 End of changes. 23 change blocks. 
46 lines changed or deleted 32 lines changed or added


 CoreGraphicsState.h   CoreGraphicsState.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 193 skipping to change at line 196
const DFBPoint *points2, const DFBPoint *points2,
u32 num); u32 num);
DFBResult CoreGraphicsState_TextureTriangles( DFBResult CoreGraphicsState_TextureTriangles(
CoreGraphicsState *obj, CoreGraphicsState *obj,
const DFBVertex *vertices, const DFBVertex *vertices,
u32 num, u32 num,
DFBTriangleFormation formation); DFBTriangleFormation formation);
DFBResult CoreGraphicsState_Flush( DFBResult CoreGraphicsState_Flush(
CoreGraphicsState *obj CoreGraphicsState *obj,
); u32 cookie,
u32 flags);
DFBResult CoreGraphicsState_ReleaseSource( DFBResult CoreGraphicsState_ReleaseSource(
CoreGraphicsState *obj CoreGraphicsState *obj
); );
DFBResult CoreGraphicsState_SetSrcConvolution( DFBResult CoreGraphicsState_SetSrcConvolution(
CoreGraphicsState *obj, CoreGraphicsState *obj,
const DFBConvolutionFilter *filter); const DFBConvolutionFilter *filter);
DFBResult CoreGraphicsState_GetAccelerationMask(
CoreGraphicsState *obj,
DFBAccelerationMask *ret_accel);
void CoreGraphicsState_Init_Dispatch( void CoreGraphicsState_Init_Dispatch(
CoreDFB *core, CoreDFB *core,
CoreGraphicsState *obj, CoreGraphicsState *obj,
FusionCall *call FusionCall *call
); );
void CoreGraphicsState_Deinit_Dispatch( void CoreGraphicsState_Deinit_Dispatch(
FusionCall *call FusionCall *call
); );
skipping to change at line 257 skipping to change at line 265
CoreGraphicsState_FillTrapezoids = 25, CoreGraphicsState_FillTrapezoids = 25,
CoreGraphicsState_FillSpans = 26, CoreGraphicsState_FillSpans = 26,
CoreGraphicsState_Blit = 27, CoreGraphicsState_Blit = 27,
CoreGraphicsState_Blit2 = 28, CoreGraphicsState_Blit2 = 28,
CoreGraphicsState_StretchBlit = 29, CoreGraphicsState_StretchBlit = 29,
CoreGraphicsState_TileBlit = 30, CoreGraphicsState_TileBlit = 30,
CoreGraphicsState_TextureTriangles = 31, CoreGraphicsState_TextureTriangles = 31,
CoreGraphicsState_Flush = 32, CoreGraphicsState_Flush = 32,
CoreGraphicsState_ReleaseSource = 33, CoreGraphicsState_ReleaseSource = 33,
CoreGraphicsState_SetSrcConvolution = 34, CoreGraphicsState_SetSrcConvolution = 34,
CoreGraphicsState_GetAccelerationMask = 35,
} CoreGraphicsStateCall; } CoreGraphicsStateCall;
/* /*
* CoreGraphicsState_SetDrawingFlags * CoreGraphicsState_SetDrawingFlags
*/ */
typedef struct { typedef struct {
DFBSurfaceDrawingFlags flags; DFBSurfaceDrawingFlags flags;
} CoreGraphicsStateSetDrawingFlags; } CoreGraphicsStateSetDrawingFlags;
typedef struct { typedef struct {
skipping to change at line 628 skipping to change at line 637
} CoreGraphicsStateTextureTriangles; } CoreGraphicsStateTextureTriangles;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreGraphicsStateTextureTrianglesReturn; } CoreGraphicsStateTextureTrianglesReturn;
/* /*
* CoreGraphicsState_Flush * CoreGraphicsState_Flush
*/ */
typedef struct { typedef struct {
u32 cookie;
u32 flags;
} CoreGraphicsStateFlush; } CoreGraphicsStateFlush;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreGraphicsStateFlushReturn; } CoreGraphicsStateFlushReturn;
/* /*
* CoreGraphicsState_ReleaseSource * CoreGraphicsState_ReleaseSource
*/ */
typedef struct { typedef struct {
skipping to change at line 655 skipping to change at line 666
* CoreGraphicsState_SetSrcConvolution * CoreGraphicsState_SetSrcConvolution
*/ */
typedef struct { typedef struct {
DFBConvolutionFilter filter; DFBConvolutionFilter filter;
} CoreGraphicsStateSetSrcConvolution; } CoreGraphicsStateSetSrcConvolution;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreGraphicsStateSetSrcConvolutionReturn; } CoreGraphicsStateSetSrcConvolutionReturn;
/*
* CoreGraphicsState_GetAccelerationMask
*/
typedef struct {
} CoreGraphicsStateGetAccelerationMask;
typedef struct {
DFBResult result;
DFBAccelerationMask accel;
} CoreGraphicsStateGetAccelerationMaskReturn;
class IGraphicsState : public Interface class IGraphicsState : public Interface
{ {
public: public:
IGraphicsState( CoreDFB *core ) IGraphicsState( CoreDFB *core )
: :
Interface( core ) Interface( core )
{ {
} }
public: public:
skipping to change at line 814 skipping to change at line 836
u32 num u32 num
) = 0; ) = 0;
virtual DFBResult TextureTriangles( virtual DFBResult TextureTriangles(
const DFBVertex *vertices, const DFBVertex *vertices,
u32 num, u32 num,
DFBTriangleFormation formation DFBTriangleFormation formation
) = 0; ) = 0;
virtual DFBResult Flush( virtual DFBResult Flush(
u32 cookie,
u32 flags
) = 0; ) = 0;
virtual DFBResult ReleaseSource( virtual DFBResult ReleaseSource(
) = 0; ) = 0;
virtual DFBResult SetSrcConvolution( virtual DFBResult SetSrcConvolution(
const DFBConvolutionFilter *filter const DFBConvolutionFilter *filter
) = 0; ) = 0;
virtual DFBResult GetAccelerationMask(
DFBAccelerationMask *ret_accel
) = 0;
}; };
class IGraphicsState_Real : public IGraphicsState class IGraphicsState_Real : public IGraphicsState
{ {
private: private:
CoreGraphicsState *obj; CoreGraphicsState *obj;
public: public:
IGraphicsState_Real( CoreDFB *core, CoreGraphicsState *obj ) IGraphicsState_Real( CoreDFB *core, CoreGraphicsState *obj )
: :
IGraphicsState( core ), IGraphicsState( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult SetDrawingFlags( virtual DFBResult SetDrawingFlags(
DFBSurfaceDrawingFlags flags DFBSurfaceDrawingFlags flags
); );
virtual DFBResult SetBlittingFlags( virtual DFBResult SetBlittingFlags(
DFBSurfaceBlittingFlags flags DFBSurfaceBlittingFlags flags
); );
virtual DFBResult SetClip( virtual DFBResult SetClip(
const DFBRegion *region const DFBRegion *region
skipping to change at line 990 skipping to change at line 1016
u32 num u32 num
); );
virtual DFBResult TextureTriangles( virtual DFBResult TextureTriangles(
const DFBVertex *vertices, const DFBVertex *vertices,
u32 num, u32 num,
DFBTriangleFormation formation DFBTriangleFormation formation
); );
virtual DFBResult Flush( virtual DFBResult Flush(
u32 cookie,
u32 flags
); );
virtual DFBResult ReleaseSource( virtual DFBResult ReleaseSource(
); );
virtual DFBResult SetSrcConvolution( virtual DFBResult SetSrcConvolution(
const DFBConvolutionFilter *filter const DFBConvolutionFilter *filter
); );
virtual DFBResult GetAccelerationMask(
DFBAccelerationMask *ret_accel
);
}; };
class IGraphicsState_Requestor : public IGraphicsState class IGraphicsState_Requestor : public IGraphicsState, public CallBuffer
{ {
private: private:
CoreGraphicsState *obj; CoreGraphicsState *obj;
public: public:
IGraphicsState_Requestor( CoreDFB *core, CoreGraphicsState *obj ) IGraphicsState_Requestor( CoreDFB *core, CoreGraphicsState *obj )
: :
IGraphicsState( core ), IGraphicsState( core ),
CallBuffer( 16000 ),
obj( obj ) obj( obj )
{ {
} }
protected:
virtual DFBResult flushCalls();
public: public:
virtual DFBResult SetDrawingFlags( virtual DFBResult SetDrawingFlags(
DFBSurfaceDrawingFlags flags DFBSurfaceDrawingFlags flags
); );
virtual DFBResult SetBlittingFlags( virtual DFBResult SetBlittingFlags(
DFBSurfaceBlittingFlags flags DFBSurfaceBlittingFlags flags
); );
virtual DFBResult SetClip( virtual DFBResult SetClip(
skipping to change at line 1166 skipping to change at line 1201
u32 num u32 num
); );
virtual DFBResult TextureTriangles( virtual DFBResult TextureTriangles(
const DFBVertex *vertices, const DFBVertex *vertices,
u32 num, u32 num,
DFBTriangleFormation formation DFBTriangleFormation formation
); );
virtual DFBResult Flush( virtual DFBResult Flush(
u32 cookie,
u32 flags
); );
virtual DFBResult ReleaseSource( virtual DFBResult ReleaseSource(
); );
virtual DFBResult SetSrcConvolution( virtual DFBResult SetSrcConvolution(
const DFBConvolutionFilter *filter const DFBConvolutionFilter *filter
); );
virtual DFBResult GetAccelerationMask(
DFBAccelerationMask *ret_accel
);
}; };
DFBResult CoreGraphicsStateDispatch__Dispatch( CoreGraphicsState *obj, DFBResult CoreGraphicsStateDispatch__Dispatch( CoreGraphicsState *obj,
FusionID caller, FusionID caller,
int method, int method,
void *ptr, void *ptr,
unsigned int length, unsigned int length,
void *ret_ptr, void *ret_ptr,
unsigned int ret_size, unsigned int ret_size,
unsigned int *ret_length ); unsigned int *ret_length );
 End of changes. 16 change blocks. 
7 lines changed or deleted 47 lines changed or added


 CoreGraphicsStateClient.h   CoreGraphicsStateClient.h 
/* /*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 43 skipping to change at line 45
#include <core/state.h> #include <core/state.h>
/************************************************************************** ******************************************** /************************************************************************** ********************************************
* CoreGraphicsStateClient * CoreGraphicsStateClient
*/ */
struct __DFB_CoreGraphicsStateClient { struct __DFB_CoreGraphicsStateClient {
int magic; int magic;
void *priv;
CoreDFB *core; CoreDFB *core;
CardState *state; /* Local state structure */ CardState *state; /* Local state structure */
CoreGraphicsState *gfx_state; /* Remote object for rendering, syn cing values from local state as needed */ CoreGraphicsState *gfx_state; /* Remote object for rendering, syn cing values from local state as needed */
void *requestor;
DFB_Renderer *renderer; /* Local renderer in case of master
/single process with direct calls */
DFB_Throttle *throttle;
}; };
typedef enum {
CGSCFF_NONE = 0x00000000,
CGSCFF_FOLLOW_READER = 0x00000001,
CGSCFF_FOLLOW_WRITER = 0x00000002,
CGSCFF_ALL = 0x00000003,
} CoreGraphicsStateClientFlushFlags;
DFBResult CoreGraphicsStateClient_Init ( CoreGraphicsStateClient *client, DFBResult CoreGraphicsStateClient_Init ( CoreGraphicsStateClient *client,
CardState *state ); CardState *state );
void CoreGraphicsStateClient_Deinit ( CoreGraphicsStateClient *client ); void CoreGraphicsStateClient_Deinit ( CoreGraphicsStateClient *client );
void CoreGraphicsStateClient_Flush ( CoreGraphicsStateClient void CoreGraphicsStateClient_Flush ( CoreGraphicsStateClient
*client ); *client,
u32
cookie,
CoreGraphicsStateClient
FlushFlags flags );
void CoreGraphicsStateClient_FlushAll ( void ); void CoreGraphicsStateClient_FlushAll ( void );
void CoreGraphicsStateClient_FlushAllDst ( CoreSurface *surface ); void CoreGraphicsStateClient_FlushCurrent ( u32 cookie );
DFBResult CoreGraphicsStateClient_ReleaseSource ( CoreGraphicsStateClient *client ); DFBResult CoreGraphicsStateClient_ReleaseSource ( CoreGraphicsStateClient *client );
DFBResult CoreGraphicsStateClient_SetColorAndIndex( CoreGraphicsStateClient *client, DFBResult CoreGraphicsStateClient_SetColorAndIndex( CoreGraphicsStateClient *client,
const DFBColor *color, const DFBColor *color,
u32 index ); u32 index );
DFBResult CoreGraphicsStateClient_SetState ( CoreGraphicsStateClient *client, DFBResult CoreGraphicsStateClient_SetState ( CoreGraphicsStateClient *client,
CardState *state, CardState *state,
StateModificationFlags flags ); StateModificationFlags flags );
DFBResult CoreGraphicsStateClient_Update ( CoreGraphicsStateClient *client, DFBResult CoreGraphicsStateClient_Update ( CoreGraphicsStateClient *client,
DFBAccelerationMask accel, DFBAccelerationMask accel,
CardState *state ); CardState *state );
DFBResult CoreGraphicsStateClient_GetAccelerationMask( CoreGraphicsStateCli
ent *client,
DFBAccelerationMask
*ret_accel );
DFBResult CoreGraphicsStateClient_DrawRectangles ( CoreGraphicsStateClient *client, DFBResult CoreGraphicsStateClient_DrawRectangles ( CoreGraphicsStateClient *client,
const DFBRectangle *rects, const DFBRectangle *rects,
unsigned int num ); unsigned int num );
DFBResult CoreGraphicsStateClient_DrawLines ( CoreGraphicsStateClient *client, DFBResult CoreGraphicsStateClient_DrawLines ( CoreGraphicsStateClient *client,
const DFBRegion *lines, const DFBRegion *lines,
unsigned int num ); unsigned int num );
DFBResult CoreGraphicsStateClient_FillRectangles ( CoreGraphicsStateClient *client, DFBResult CoreGraphicsStateClient_FillRectangles ( CoreGraphicsStateClient *client,
const DFBRectangle *rects, const DFBRectangle *rects,
 End of changes. 8 change blocks. 
6 lines changed or deleted 33 lines changed or added


 CoreInputDevice.h   CoreInputDevice.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 152 skipping to change at line 155
CoreInputDevice *obj; CoreInputDevice *obj;
public: public:
IInputDevice_Real( CoreDFB *core, CoreInputDevice *obj ) IInputDevice_Real( CoreDFB *core, CoreInputDevice *obj )
: :
IInputDevice( core ), IInputDevice( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult SetKeymapEntry( virtual DFBResult SetKeymapEntry(
s32 key_code, s32 key_code,
const DFBInputDeviceKeymapEntry *entry const DFBInputDeviceKeymapEntry *entry
); );
virtual DFBResult ReloadKeymap( virtual DFBResult ReloadKeymap(
); );
virtual DFBResult SetConfiguration( virtual DFBResult SetConfiguration(
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 CoreLayer.h   CoreLayer.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 50 skipping to change at line 53
extern "C" { extern "C" {
#endif #endif
DFBResult CoreLayer_CreateContext( DFBResult CoreLayer_CreateContext(
CoreLayer *obj, CoreLayer *obj,
CoreLayerContext **ret_context) ; CoreLayerContext **ret_context) ;
DFBResult CoreLayer_GetPrimaryContext( DFBResult CoreLayer_GetPrimaryContext(
CoreLayer *obj, CoreLayer *obj,
bool activate, DFBBoolean activate,
CoreLayerContext **ret_context) ; CoreLayerContext **ret_context) ;
DFBResult CoreLayer_ActivateContext( DFBResult CoreLayer_ActivateContext(
CoreLayer *obj, CoreLayer *obj,
CoreLayerContext *context); CoreLayerContext *context);
DFBResult CoreLayer_GetCurrentOutputField( DFBResult CoreLayer_GetCurrentOutputField(
CoreLayer *obj, CoreLayer *obj,
s32 *ret_field); s32 *ret_field);
skipping to change at line 112 skipping to change at line 115
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u32 context_id; u32 context_id;
void* context_ptr; void* context_ptr;
} CoreLayerCreateContextReturn; } CoreLayerCreateContextReturn;
/* /*
* CoreLayer_GetPrimaryContext * CoreLayer_GetPrimaryContext
*/ */
typedef struct { typedef struct {
bool activate; DFBBoolean activate;
} CoreLayerGetPrimaryContext; } CoreLayerGetPrimaryContext;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u32 context_id; u32 context_id;
void* context_ptr; void* context_ptr;
} CoreLayerGetPrimaryContextReturn; } CoreLayerGetPrimaryContextReturn;
/* /*
* CoreLayer_ActivateContext * CoreLayer_ActivateContext
skipping to change at line 179 skipping to change at line 182
Interface( core ) Interface( core )
{ {
} }
public: public:
virtual DFBResult CreateContext( virtual DFBResult CreateContext(
CoreLayerContext **ret_context CoreLayerContext **ret_context
) = 0; ) = 0;
virtual DFBResult GetPrimaryContext( virtual DFBResult GetPrimaryContext(
bool activate, DFBBoolean activate,
CoreLayerContext **ret_context CoreLayerContext **ret_context
) = 0; ) = 0;
virtual DFBResult ActivateContext( virtual DFBResult ActivateContext(
CoreLayerContext *context CoreLayerContext *context
) = 0; ) = 0;
virtual DFBResult GetCurrentOutputField( virtual DFBResult GetCurrentOutputField(
s32 *ret_field s32 *ret_field
) = 0; ) = 0;
skipping to change at line 214 skipping to change at line 217
CoreLayer *obj; CoreLayer *obj;
public: public:
ILayer_Real( CoreDFB *core, CoreLayer *obj ) ILayer_Real( CoreDFB *core, CoreLayer *obj )
: :
ILayer( core ), ILayer( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult CreateContext( virtual DFBResult CreateContext(
CoreLayerContext **ret_context CoreLayerContext **ret_context
); );
virtual DFBResult GetPrimaryContext( virtual DFBResult GetPrimaryContext(
bool activate, DFBBoolean activate,
CoreLayerContext **ret_context CoreLayerContext **ret_context
); );
virtual DFBResult ActivateContext( virtual DFBResult ActivateContext(
CoreLayerContext *context CoreLayerContext *context
); );
virtual DFBResult GetCurrentOutputField( virtual DFBResult GetCurrentOutputField(
s32 *ret_field s32 *ret_field
); );
skipping to change at line 261 skipping to change at line 263
obj( obj ) obj( obj )
{ {
} }
public: public:
virtual DFBResult CreateContext( virtual DFBResult CreateContext(
CoreLayerContext **ret_context CoreLayerContext **ret_context
); );
virtual DFBResult GetPrimaryContext( virtual DFBResult GetPrimaryContext(
bool activate, DFBBoolean activate,
CoreLayerContext **ret_context CoreLayerContext **ret_context
); );
virtual DFBResult ActivateContext( virtual DFBResult ActivateContext(
CoreLayerContext *context CoreLayerContext *context
); );
virtual DFBResult GetCurrentOutputField( virtual DFBResult GetCurrentOutputField(
s32 *ret_field s32 *ret_field
); );
 End of changes. 7 change blocks. 
6 lines changed or deleted 8 lines changed or added


 CoreLayerContext.h   CoreLayerContext.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 46 skipping to change at line 49
*/ */
#ifdef __cplusplus #ifdef __cplusplus
#include <core/Interface.h> #include <core/Interface.h>
extern "C" { extern "C" {
#endif #endif
DFBResult CoreLayerContext_GetPrimaryRegion( DFBResult CoreLayerContext_GetPrimaryRegion(
CoreLayerContext *obj, CoreLayerContext *obj,
bool create, DFBBoolean create,
CoreLayerRegion **ret_region); CoreLayerRegion **ret_region);
DFBResult CoreLayerContext_TestConfiguration( DFBResult CoreLayerContext_TestConfiguration(
CoreLayerContext *obj, CoreLayerContext *obj,
const DFBDisplayLayerConfig *config, const DFBDisplayLayerConfig *config,
DFBDisplayLayerConfigFlags *ret_failed); DFBDisplayLayerConfigFlags *ret_failed);
DFBResult CoreLayerContext_SetConfiguration( DFBResult CoreLayerContext_SetConfiguration(
CoreLayerContext *obj, CoreLayerContext *obj,
const DFBDisplayLayerConfig *config); const DFBDisplayLayerConfig *config);
skipping to change at line 96 skipping to change at line 99
DFBResult CoreLayerContext_SetRotation( DFBResult CoreLayerContext_SetRotation(
CoreLayerContext *obj, CoreLayerContext *obj,
s32 rotation); s32 rotation);
DFBResult CoreLayerContext_SetColorAdjustment( DFBResult CoreLayerContext_SetColorAdjustment(
CoreLayerContext *obj, CoreLayerContext *obj,
const DFBColorAdjustment *adjustment); const DFBColorAdjustment *adjustment);
DFBResult CoreLayerContext_SetStereoDepth( DFBResult CoreLayerContext_SetStereoDepth(
CoreLayerContext *obj, CoreLayerContext *obj,
bool follow_video , DFBBoolean follow_video ,
s32 z); s32 z);
DFBResult CoreLayerContext_SetFieldParity( DFBResult CoreLayerContext_SetFieldParity(
CoreLayerContext *obj, CoreLayerContext *obj,
u32 field); u32 field);
DFBResult CoreLayerContext_SetClipRegions( DFBResult CoreLayerContext_SetClipRegions(
CoreLayerContext *obj, CoreLayerContext *obj,
const DFBRegion *regions, const DFBRegion *regions,
u32 num, u32 num,
bool positive); DFBBoolean positive);
DFBResult CoreLayerContext_CreateWindow( DFBResult CoreLayerContext_CreateWindow(
CoreLayerContext *obj, CoreLayerContext *obj,
const DFBWindowDescription *description, const DFBWindowDescription *description,
CoreWindow **ret_window); CoreWindow **ret_window);
DFBResult CoreLayerContext_FindWindow( DFBResult CoreLayerContext_FindWindow(
CoreLayerContext *obj, CoreLayerContext *obj,
DFBWindowID window_id, u32 window_id,
CoreWindow **ret_window); CoreWindow **ret_window);
DFBResult CoreLayerContext_FindWindowByResourceID( DFBResult CoreLayerContext_FindWindowByResourceID(
CoreLayerContext *obj, CoreLayerContext *obj,
u64 resource_id, u64 resource_id,
CoreWindow **ret_window); CoreWindow **ret_window);
void CoreLayerContext_Init_Dispatch( void CoreLayerContext_Init_Dispatch(
CoreDFB *core, CoreDFB *core,
CoreLayerContext *obj, CoreLayerContext *obj,
skipping to change at line 167 skipping to change at line 170
CoreLayerContext_SetClipRegions = 15, CoreLayerContext_SetClipRegions = 15,
CoreLayerContext_CreateWindow = 16, CoreLayerContext_CreateWindow = 16,
CoreLayerContext_FindWindow = 17, CoreLayerContext_FindWindow = 17,
CoreLayerContext_FindWindowByResourceID = 18, CoreLayerContext_FindWindowByResourceID = 18,
} CoreLayerContextCall; } CoreLayerContextCall;
/* /*
* CoreLayerContext_GetPrimaryRegion * CoreLayerContext_GetPrimaryRegion
*/ */
typedef struct { typedef struct {
bool create; DFBBoolean create;
} CoreLayerContextGetPrimaryRegion; } CoreLayerContextGetPrimaryRegion;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u32 region_id; u32 region_id;
void* region_ptr; void* region_ptr;
} CoreLayerContextGetPrimaryRegionReturn; } CoreLayerContextGetPrimaryRegionReturn;
/* /*
* CoreLayerContext_TestConfiguration * CoreLayerContext_TestConfiguration
skipping to change at line 302 skipping to change at line 305
} CoreLayerContextSetColorAdjustment; } CoreLayerContextSetColorAdjustment;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreLayerContextSetColorAdjustmentReturn; } CoreLayerContextSetColorAdjustmentReturn;
/* /*
* CoreLayerContext_SetStereoDepth * CoreLayerContext_SetStereoDepth
*/ */
typedef struct { typedef struct {
bool follow_video; DFBBoolean follow_video;
s32 z; s32 z;
} CoreLayerContextSetStereoDepth; } CoreLayerContextSetStereoDepth;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreLayerContextSetStereoDepthReturn; } CoreLayerContextSetStereoDepthReturn;
/* /*
* CoreLayerContext_SetFieldParity * CoreLayerContext_SetFieldParity
*/ */
skipping to change at line 326 skipping to change at line 329
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreLayerContextSetFieldParityReturn; } CoreLayerContextSetFieldParityReturn;
/* /*
* CoreLayerContext_SetClipRegions * CoreLayerContext_SetClipRegions
*/ */
typedef struct { typedef struct {
u32 num; u32 num;
bool positive; DFBBoolean positive;
/* 'num' DFBRegion follow (regions) */ /* 'num' DFBRegion follow (regions) */
} CoreLayerContextSetClipRegions; } CoreLayerContextSetClipRegions;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreLayerContextSetClipRegionsReturn; } CoreLayerContextSetClipRegionsReturn;
/* /*
* CoreLayerContext_CreateWindow * CoreLayerContext_CreateWindow
*/ */
skipping to change at line 351 skipping to change at line 354
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u32 window_id; u32 window_id;
void* window_ptr; void* window_ptr;
} CoreLayerContextCreateWindowReturn; } CoreLayerContextCreateWindowReturn;
/* /*
* CoreLayerContext_FindWindow * CoreLayerContext_FindWindow
*/ */
typedef struct { typedef struct {
DFBWindowID window_id; u32 window_id;
} CoreLayerContextFindWindow; } CoreLayerContextFindWindow;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u32 window_id; u32 window_id;
void* window_ptr; void* window_ptr;
} CoreLayerContextFindWindowReturn; } CoreLayerContextFindWindowReturn;
/* /*
* CoreLayerContext_FindWindowByResourceID * CoreLayerContext_FindWindowByResourceID
skipping to change at line 384 skipping to change at line 387
{ {
public: public:
ILayerContext( CoreDFB *core ) ILayerContext( CoreDFB *core )
: :
Interface( core ) Interface( core )
{ {
} }
public: public:
virtual DFBResult GetPrimaryRegion( virtual DFBResult GetPrimaryRegion(
bool create, DFBBoolean create,
CoreLayerRegion **ret_region CoreLayerRegion **ret_region
) = 0; ) = 0;
virtual DFBResult TestConfiguration( virtual DFBResult TestConfiguration(
const DFBDisplayLayerConfig *config, const DFBDisplayLayerConfig *config,
DFBDisplayLayerConfigFlags *ret_failed DFBDisplayLayerConfigFlags *ret_failed
) = 0; ) = 0;
virtual DFBResult SetConfiguration( virtual DFBResult SetConfiguration(
const DFBDisplayLayerConfig *config const DFBDisplayLayerConfig *config
skipping to change at line 434 skipping to change at line 437
virtual DFBResult SetRotation( virtual DFBResult SetRotation(
s32 rotation s32 rotation
) = 0; ) = 0;
virtual DFBResult SetColorAdjustment( virtual DFBResult SetColorAdjustment(
const DFBColorAdjustment *adjustment const DFBColorAdjustment *adjustment
) = 0; ) = 0;
virtual DFBResult SetStereoDepth( virtual DFBResult SetStereoDepth(
bool follow_video , DFBBoolean follow_video ,
s32 z s32 z
) = 0; ) = 0;
virtual DFBResult SetFieldParity( virtual DFBResult SetFieldParity(
u32 field u32 field
) = 0; ) = 0;
virtual DFBResult SetClipRegions( virtual DFBResult SetClipRegions(
const DFBRegion *regions, const DFBRegion *regions,
u32 num, u32 num,
bool positive DFBBoolean positive
) = 0; ) = 0;
virtual DFBResult CreateWindow( virtual DFBResult CreateWindow(
const DFBWindowDescription *description, const DFBWindowDescription *description,
CoreWindow **ret_window CoreWindow **ret_window
) = 0; ) = 0;
virtual DFBResult FindWindow( virtual DFBResult FindWindow(
DFBWindowID window_id, u32 window_id,
CoreWindow **ret_window CoreWindow **ret_window
) = 0; ) = 0;
virtual DFBResult FindWindowByResourceID( virtual DFBResult FindWindowByResourceID(
u64 resource_id, u64 resource_id,
CoreWindow **ret_window CoreWindow **ret_window
) = 0; ) = 0;
}; };
skipping to change at line 478 skipping to change at line 481
CoreLayerContext *obj; CoreLayerContext *obj;
public: public:
ILayerContext_Real( CoreDFB *core, CoreLayerContext *obj ) ILayerContext_Real( CoreDFB *core, CoreLayerContext *obj )
: :
ILayerContext( core ), ILayerContext( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult GetPrimaryRegion( virtual DFBResult GetPrimaryRegion(
bool create, DFBBoolean create,
CoreLayerRegion **ret_region CoreLayerRegion **ret_region
); );
virtual DFBResult TestConfiguration( virtual DFBResult TestConfiguration(
const DFBDisplayLayerConfig *config, const DFBDisplayLayerConfig *config,
DFBDisplayLayerConfigFlags *ret_failed DFBDisplayLayerConfigFlags *ret_failed
); );
virtual DFBResult SetConfiguration( virtual DFBResult SetConfiguration(
const DFBDisplayLayerConfig *config const DFBDisplayLayerConfig *config
skipping to change at line 530 skipping to change at line 532
virtual DFBResult SetRotation( virtual DFBResult SetRotation(
s32 rotation s32 rotation
); );
virtual DFBResult SetColorAdjustment( virtual DFBResult SetColorAdjustment(
const DFBColorAdjustment *adjustment const DFBColorAdjustment *adjustment
); );
virtual DFBResult SetStereoDepth( virtual DFBResult SetStereoDepth(
bool follow_video , DFBBoolean follow_video ,
s32 z s32 z
); );
virtual DFBResult SetFieldParity( virtual DFBResult SetFieldParity(
u32 field u32 field
); );
virtual DFBResult SetClipRegions( virtual DFBResult SetClipRegions(
const DFBRegion *regions, const DFBRegion *regions,
u32 num, u32 num,
bool positive DFBBoolean positive
); );
virtual DFBResult CreateWindow( virtual DFBResult CreateWindow(
const DFBWindowDescription *description, const DFBWindowDescription *description,
CoreWindow **ret_window CoreWindow **ret_window
); );
virtual DFBResult FindWindow( virtual DFBResult FindWindow(
DFBWindowID window_id, u32 window_id,
CoreWindow **ret_window CoreWindow **ret_window
); );
virtual DFBResult FindWindowByResourceID( virtual DFBResult FindWindowByResourceID(
u64 resource_id, u64 resource_id,
CoreWindow **ret_window CoreWindow **ret_window
); );
}; };
skipping to change at line 576 skipping to change at line 578
public: public:
ILayerContext_Requestor( CoreDFB *core, CoreLayerContext *obj ) ILayerContext_Requestor( CoreDFB *core, CoreLayerContext *obj )
: :
ILayerContext( core ), ILayerContext( core ),
obj( obj ) obj( obj )
{ {
} }
public: public:
virtual DFBResult GetPrimaryRegion( virtual DFBResult GetPrimaryRegion(
bool create, DFBBoolean create,
CoreLayerRegion **ret_region CoreLayerRegion **ret_region
); );
virtual DFBResult TestConfiguration( virtual DFBResult TestConfiguration(
const DFBDisplayLayerConfig *config, const DFBDisplayLayerConfig *config,
DFBDisplayLayerConfigFlags *ret_failed DFBDisplayLayerConfigFlags *ret_failed
); );
virtual DFBResult SetConfiguration( virtual DFBResult SetConfiguration(
const DFBDisplayLayerConfig *config const DFBDisplayLayerConfig *config
skipping to change at line 626 skipping to change at line 628
virtual DFBResult SetRotation( virtual DFBResult SetRotation(
s32 rotation s32 rotation
); );
virtual DFBResult SetColorAdjustment( virtual DFBResult SetColorAdjustment(
const DFBColorAdjustment *adjustment const DFBColorAdjustment *adjustment
); );
virtual DFBResult SetStereoDepth( virtual DFBResult SetStereoDepth(
bool follow_video , DFBBoolean follow_video ,
s32 z s32 z
); );
virtual DFBResult SetFieldParity( virtual DFBResult SetFieldParity(
u32 field u32 field
); );
virtual DFBResult SetClipRegions( virtual DFBResult SetClipRegions(
const DFBRegion *regions, const DFBRegion *regions,
u32 num, u32 num,
bool positive DFBBoolean positive
); );
virtual DFBResult CreateWindow( virtual DFBResult CreateWindow(
const DFBWindowDescription *description, const DFBWindowDescription *description,
CoreWindow **ret_window CoreWindow **ret_window
); );
virtual DFBResult FindWindow( virtual DFBResult FindWindow(
DFBWindowID window_id, u32 window_id,
CoreWindow **ret_window CoreWindow **ret_window
); );
virtual DFBResult FindWindowByResourceID( virtual DFBResult FindWindowByResourceID(
u64 resource_id, u64 resource_id,
CoreWindow **ret_window CoreWindow **ret_window
); );
}; };
 End of changes. 22 change blocks. 
21 lines changed or deleted 23 lines changed or added


 CoreLayerRegion.h   CoreLayerRegion.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 59 skipping to change at line 62
CoreLayerRegion *obj, CoreLayerRegion *obj,
const DFBRegion *update, const DFBRegion *update,
DFBSurfaceFlipFlags flags); DFBSurfaceFlipFlags flags);
DFBResult CoreLayerRegion_FlipUpdateStereo( DFBResult CoreLayerRegion_FlipUpdateStereo(
CoreLayerRegion *obj, CoreLayerRegion *obj,
const DFBRegion *left, const DFBRegion *left,
const DFBRegion *right, const DFBRegion *right,
DFBSurfaceFlipFlags flags); DFBSurfaceFlipFlags flags);
DFBResult CoreLayerRegion_FlipUpdate2(
CoreLayerRegion *obj,
const DFBRegion *left_update,
const DFBRegion *right_update
,
DFBSurfaceFlipFlags flags,
s64 pts);
void CoreLayerRegion_Init_Dispatch( void CoreLayerRegion_Init_Dispatch(
CoreDFB *core, CoreDFB *core,
CoreLayerRegion *obj, CoreLayerRegion *obj,
FusionCall *call FusionCall *call
); );
void CoreLayerRegion_Deinit_Dispatch( void CoreLayerRegion_Deinit_Dispatch(
FusionCall *call FusionCall *call
); );
skipping to change at line 81 skipping to change at line 91
namespace DirectFB { namespace DirectFB {
/* /*
* CoreLayerRegion Calls * CoreLayerRegion Calls
*/ */
typedef enum { typedef enum {
CoreLayerRegion_GetSurface = 1, CoreLayerRegion_GetSurface = 1,
CoreLayerRegion_FlipUpdate = 2, CoreLayerRegion_FlipUpdate = 2,
CoreLayerRegion_FlipUpdateStereo = 3, CoreLayerRegion_FlipUpdateStereo = 3,
CoreLayerRegion_FlipUpdate2 = 4,
} CoreLayerRegionCall; } CoreLayerRegionCall;
/* /*
* CoreLayerRegion_GetSurface * CoreLayerRegion_GetSurface
*/ */
typedef struct { typedef struct {
} CoreLayerRegionGetSurface; } CoreLayerRegionGetSurface;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
skipping to change at line 123 skipping to change at line 134
DFBRegion left; DFBRegion left;
bool right_set; bool right_set;
DFBRegion right; DFBRegion right;
DFBSurfaceFlipFlags flags; DFBSurfaceFlipFlags flags;
} CoreLayerRegionFlipUpdateStereo; } CoreLayerRegionFlipUpdateStereo;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreLayerRegionFlipUpdateStereoReturn; } CoreLayerRegionFlipUpdateStereoReturn;
/*
* CoreLayerRegion_FlipUpdate2
*/
typedef struct {
bool left_update_set;
DFBRegion left_update;
bool right_update_set;
DFBRegion right_update;
DFBSurfaceFlipFlags flags;
s64 pts;
} CoreLayerRegionFlipUpdate2;
typedef struct {
DFBResult result;
} CoreLayerRegionFlipUpdate2Return;
class ILayerRegion : public Interface class ILayerRegion : public Interface
{ {
public: public:
ILayerRegion( CoreDFB *core ) ILayerRegion( CoreDFB *core )
: :
Interface( core ) Interface( core )
{ {
} }
public: public:
skipping to change at line 148 skipping to change at line 175
const DFBRegion *update, const DFBRegion *update,
DFBSurfaceFlipFlags flags DFBSurfaceFlipFlags flags
) = 0; ) = 0;
virtual DFBResult FlipUpdateStereo( virtual DFBResult FlipUpdateStereo(
const DFBRegion *left, const DFBRegion *left,
const DFBRegion *right, const DFBRegion *right,
DFBSurfaceFlipFlags flags DFBSurfaceFlipFlags flags
) = 0; ) = 0;
virtual DFBResult FlipUpdate2(
const DFBRegion *left_update,
const DFBRegion *right_update
,
DFBSurfaceFlipFlags flags,
s64 pts
) = 0;
}; };
class ILayerRegion_Real : public ILayerRegion class ILayerRegion_Real : public ILayerRegion
{ {
private: private:
CoreLayerRegion *obj; CoreLayerRegion *obj;
public: public:
ILayerRegion_Real( CoreDFB *core, CoreLayerRegion *obj ) ILayerRegion_Real( CoreDFB *core, CoreLayerRegion *obj )
: :
ILayerRegion( core ), ILayerRegion( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult GetSurface( virtual DFBResult GetSurface(
CoreSurface **ret_surface CoreSurface **ret_surface
); );
virtual DFBResult FlipUpdate( virtual DFBResult FlipUpdate(
const DFBRegion *update, const DFBRegion *update,
DFBSurfaceFlipFlags flags DFBSurfaceFlipFlags flags
); );
virtual DFBResult FlipUpdateStereo( virtual DFBResult FlipUpdateStereo(
const DFBRegion *left, const DFBRegion *left,
const DFBRegion *right, const DFBRegion *right,
DFBSurfaceFlipFlags flags DFBSurfaceFlipFlags flags
); );
virtual DFBResult FlipUpdate2(
const DFBRegion *left_update,
const DFBRegion *right_update
,
DFBSurfaceFlipFlags flags,
s64 pts
);
}; };
class ILayerRegion_Requestor : public ILayerRegion class ILayerRegion_Requestor : public ILayerRegion
{ {
private: private:
CoreLayerRegion *obj; CoreLayerRegion *obj;
public: public:
ILayerRegion_Requestor( CoreDFB *core, CoreLayerRegion *obj ) ILayerRegion_Requestor( CoreDFB *core, CoreLayerRegion *obj )
: :
skipping to change at line 210 skipping to change at line 250
const DFBRegion *update, const DFBRegion *update,
DFBSurfaceFlipFlags flags DFBSurfaceFlipFlags flags
); );
virtual DFBResult FlipUpdateStereo( virtual DFBResult FlipUpdateStereo(
const DFBRegion *left, const DFBRegion *left,
const DFBRegion *right, const DFBRegion *right,
DFBSurfaceFlipFlags flags DFBSurfaceFlipFlags flags
); );
virtual DFBResult FlipUpdate2(
const DFBRegion *left_update,
const DFBRegion *right_update
,
DFBSurfaceFlipFlags flags,
s64 pts
);
}; };
DFBResult CoreLayerRegionDispatch__Dispatch( CoreLayerRegion *obj, DFBResult CoreLayerRegionDispatch__Dispatch( CoreLayerRegion *obj,
FusionID caller, FusionID caller,
int method, int method,
void *ptr, void *ptr,
unsigned int length, unsigned int length,
void *ret_ptr, void *ret_ptr,
unsigned int ret_size, unsigned int ret_size,
unsigned int *ret_length ); unsigned int *ret_length );
 End of changes. 8 change blocks. 
1 lines changed or deleted 52 lines changed or added


 CoreLayerRegion_includes.h   CoreLayerRegion_includes.h 
skipping to change at line 28 skipping to change at line 28
void *ret_ptr, void *ret_ptr,
unsigned int ret_size, unsigned int ret_size,
unsigned int *ret_length ) unsigned int *ret_length )
{ {
return fusion_call_execute3( &region->call, return fusion_call_execute3( &region->call,
(FusionCallExecFlags)(dfb_config->call_no direct | flags), (FusionCallExecFlags)(dfb_config->call_no direct | flags),
call_arg, ptr, length, ret_ptr, ret_size, ret_length ); call_arg, ptr, length, ret_ptr, ret_size, ret_length );
} }
#ifdef __cplusplus #ifdef __cplusplus
namespace DirectFB {
#endif
void CoreLayersFPSHandle( CoreLayer *layer );
#ifdef __cplusplus
}
} }
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 8 lines changed or added


 CorePalette.h   CorePalette.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 142 skipping to change at line 145
CorePalette *obj; CorePalette *obj;
public: public:
IPalette_Real( CoreDFB *core, CorePalette *obj ) IPalette_Real( CoreDFB *core, CorePalette *obj )
: :
IPalette( core ), IPalette( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult SetEntries( virtual DFBResult SetEntries(
const DFBColor *colors, const DFBColor *colors,
u32 num, u32 num,
u32 offset u32 offset
); );
virtual DFBResult SetEntriesYUV( virtual DFBResult SetEntriesYUV(
const DFBColorYUV *colors, const DFBColorYUV *colors,
u32 num, u32 num,
u32 offset u32 offset
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 CoreScreen.h   CoreScreen.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 339 skipping to change at line 342
CoreScreen *obj; CoreScreen *obj;
public: public:
IScreen_Real( CoreDFB *core, CoreScreen *obj ) IScreen_Real( CoreDFB *core, CoreScreen *obj )
: :
IScreen( core ), IScreen( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult SetPowerMode( virtual DFBResult SetPowerMode(
DFBScreenPowerMode mode DFBScreenPowerMode mode
); );
virtual DFBResult WaitVSync( virtual DFBResult WaitVSync(
); );
virtual DFBResult GetVSyncCount( virtual DFBResult GetVSyncCount(
u64 *ret_count u64 *ret_count
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 CoreSlave.h   CoreSlave.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 142 skipping to change at line 145
CoreDFB *obj; CoreDFB *obj;
public: public:
ICoreSlave_Real( CoreDFB *core, CoreDFB *obj ) ICoreSlave_Real( CoreDFB *core, CoreDFB *obj )
: :
ICoreSlave( core ), ICoreSlave( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult GetData( virtual DFBResult GetData(
void* address, void* address,
u32 bytes, u32 bytes,
u8 *ret_data u8 *ret_data
); );
virtual DFBResult PutData( virtual DFBResult PutData(
void* address, void* address,
u32 bytes, u32 bytes,
const u8 *data const u8 *data
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 CoreSlave_includes.h   CoreSlave_includes.h 
#ifndef __CORESLAVE_INCLUDES_H__ #ifndef __CORESLAVE_INCLUDES_H__
#define __CORESLAVE_INCLUDES_H__ #define __CORESLAVE_INCLUDES_H__
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <directfb.h>
#include <fusion/call.h> #include <fusion/call.h>
#include <core/coretypes.h> #include <core/coretypes.h>
#include <misc/conf.h> #include <misc/conf.h>
typedef struct { typedef struct {
FusionCall call; FusionCall call;
} CoreSlave; } CoreSlave;
 End of changes. 1 change blocks. 
2 lines changed or deleted 0 lines changed or added


 CoreSurface.h   CoreSurface.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 50 skipping to change at line 53
extern "C" { extern "C" {
#endif #endif
DFBResult CoreSurface_SetConfig( DFBResult CoreSurface_SetConfig(
CoreSurface *obj, CoreSurface *obj,
const CoreSurfaceConfig *config); const CoreSurfaceConfig *config);
DFBResult CoreSurface_Flip( DFBResult CoreSurface_Flip(
CoreSurface *obj, CoreSurface *obj,
bool swap); DFBBoolean swap);
DFBResult CoreSurface_GetPalette( DFBResult CoreSurface_GetPalette(
CoreSurface *obj, CoreSurface *obj,
CorePalette **ret_palette) ; CorePalette **ret_palette) ;
DFBResult CoreSurface_SetPalette( DFBResult CoreSurface_SetPalette(
CoreSurface *obj, CoreSurface *obj,
CorePalette *palette); CorePalette *palette);
DFBResult CoreSurface_SetAlphaRamp( DFBResult CoreSurface_SetAlphaRamp(
skipping to change at line 84 skipping to change at line 87
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
CoreSurfaceAllocation **ret_allocati on); CoreSurfaceAllocation **ret_allocati on);
DFBResult CoreSurface_PreLockBuffer2( DFBResult CoreSurface_PreLockBuffer2(
CoreSurface *obj, CoreSurface *obj,
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
DFBSurfaceStereoEye eye, DFBSurfaceStereoEye eye,
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
bool lock, DFBBoolean lock,
CoreSurfaceAllocation **ret_allocati on); CoreSurfaceAllocation **ret_allocati on);
DFBResult CoreSurface_PreReadBuffer( DFBResult CoreSurface_PreReadBuffer(
CoreSurface *obj, CoreSurface *obj,
CoreSurfaceBuffer *buffer, CoreSurfaceBuffer *buffer,
const DFBRectangle *rect, const DFBRectangle *rect,
CoreSurfaceAllocation **ret_allocati on); CoreSurfaceAllocation **ret_allocati on);
DFBResult CoreSurface_PreWriteBuffer( DFBResult CoreSurface_PreWriteBuffer(
CoreSurface *obj, CoreSurface *obj,
skipping to change at line 106 skipping to change at line 109
const DFBRectangle *rect, const DFBRectangle *rect,
CoreSurfaceAllocation **ret_allocati on); CoreSurfaceAllocation **ret_allocati on);
DFBResult CoreSurface_PreLockBuffer3( DFBResult CoreSurface_PreLockBuffer3(
CoreSurface *obj, CoreSurface *obj,
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
u32 flip_count, u32 flip_count,
DFBSurfaceStereoEye eye, DFBSurfaceStereoEye eye,
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
bool lock, DFBBoolean lock,
CoreSurfaceAllocation **ret_allocati on); CoreSurfaceAllocation **ret_allocati on);
DFBResult CoreSurface_CreateClient( DFBResult CoreSurface_CreateClient(
CoreSurface *obj, CoreSurface *obj,
CoreSurfaceClient **ret_client); CoreSurfaceClient **ret_client);
DFBResult CoreSurface_BackToFrontCopy( DFBResult CoreSurface_Flip2(
CoreSurface *obj, CoreSurface *obj,
DFBSurfaceStereoEye eye, DFBBoolean swap,
const DFBRegion *left_region, const DFBRegion *left,
const DFBRegion *right_region const DFBRegion *right,
); DFBSurfaceFlipFlags flags,
s64 timestamp);
void CoreSurface_Init_Dispatch( void CoreSurface_Init_Dispatch(
CoreDFB *core, CoreDFB *core,
CoreSurface *obj, CoreSurface *obj,
FusionCall *call FusionCall *call
); );
void CoreSurface_Deinit_Dispatch( void CoreSurface_Deinit_Dispatch(
FusionCall *call FusionCall *call
); );
skipping to change at line 150 skipping to change at line 155
CoreSurface_GetPalette = 3, CoreSurface_GetPalette = 3,
CoreSurface_SetPalette = 4, CoreSurface_SetPalette = 4,
CoreSurface_SetAlphaRamp = 5, CoreSurface_SetAlphaRamp = 5,
CoreSurface_SetField = 6, CoreSurface_SetField = 6,
CoreSurface_PreLockBuffer = 7, CoreSurface_PreLockBuffer = 7,
CoreSurface_PreLockBuffer2 = 8, CoreSurface_PreLockBuffer2 = 8,
CoreSurface_PreReadBuffer = 9, CoreSurface_PreReadBuffer = 9,
CoreSurface_PreWriteBuffer = 10, CoreSurface_PreWriteBuffer = 10,
CoreSurface_PreLockBuffer3 = 11, CoreSurface_PreLockBuffer3 = 11,
CoreSurface_CreateClient = 12, CoreSurface_CreateClient = 12,
CoreSurface_BackToFrontCopy = 13, CoreSurface_Flip2 = 13,
} CoreSurfaceCall; } CoreSurfaceCall;
/* /*
* CoreSurface_SetConfig * CoreSurface_SetConfig
*/ */
typedef struct { typedef struct {
CoreSurfaceConfig config; CoreSurfaceConfig config;
} CoreSurfaceSetConfig; } CoreSurfaceSetConfig;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreSurfaceSetConfigReturn; } CoreSurfaceSetConfigReturn;
/* /*
* CoreSurface_Flip * CoreSurface_Flip
*/ */
typedef struct { typedef struct {
bool swap; DFBBoolean swap;
} CoreSurfaceFlip; } CoreSurfaceFlip;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreSurfaceFlipReturn; } CoreSurfaceFlipReturn;
/* /*
* CoreSurface_GetPalette * CoreSurface_GetPalette
*/ */
typedef struct { typedef struct {
skipping to change at line 246 skipping to change at line 251
} CoreSurfacePreLockBufferReturn; } CoreSurfacePreLockBufferReturn;
/* /*
* CoreSurface_PreLockBuffer2 * CoreSurface_PreLockBuffer2
*/ */
typedef struct { typedef struct {
CoreSurfaceBufferRole role; CoreSurfaceBufferRole role;
DFBSurfaceStereoEye eye; DFBSurfaceStereoEye eye;
CoreSurfaceAccessorID accessor; CoreSurfaceAccessorID accessor;
CoreSurfaceAccessFlags access; CoreSurfaceAccessFlags access;
bool lock; DFBBoolean lock;
} CoreSurfacePreLockBuffer2; } CoreSurfacePreLockBuffer2;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u32 allocation_id; u32 allocation_id;
void* allocation_ptr; void* allocation_ptr;
} CoreSurfacePreLockBuffer2Return; } CoreSurfacePreLockBuffer2Return;
/* /*
* CoreSurface_PreReadBuffer * CoreSurface_PreReadBuffer
skipping to change at line 292 skipping to change at line 297
/* /*
* CoreSurface_PreLockBuffer3 * CoreSurface_PreLockBuffer3
*/ */
typedef struct { typedef struct {
CoreSurfaceBufferRole role; CoreSurfaceBufferRole role;
u32 flip_count; u32 flip_count;
DFBSurfaceStereoEye eye; DFBSurfaceStereoEye eye;
CoreSurfaceAccessorID accessor; CoreSurfaceAccessorID accessor;
CoreSurfaceAccessFlags access; CoreSurfaceAccessFlags access;
bool lock; DFBBoolean lock;
} CoreSurfacePreLockBuffer3; } CoreSurfacePreLockBuffer3;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u32 allocation_id; u32 allocation_id;
void* allocation_ptr; void* allocation_ptr;
} CoreSurfacePreLockBuffer3Return; } CoreSurfacePreLockBuffer3Return;
/* /*
* CoreSurface_CreateClient * CoreSurface_CreateClient
skipping to change at line 314 skipping to change at line 319
typedef struct { typedef struct {
} CoreSurfaceCreateClient; } CoreSurfaceCreateClient;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
u32 client_id; u32 client_id;
void* client_ptr; void* client_ptr;
} CoreSurfaceCreateClientReturn; } CoreSurfaceCreateClientReturn;
/* /*
* CoreSurface_BackToFrontCopy * CoreSurface_Flip2
*/ */
typedef struct { typedef struct {
DFBSurfaceStereoEye eye; DFBBoolean swap;
bool left_region_set; bool left_set;
DFBRegion left_region; DFBRegion left;
bool right_region_set; bool right_set;
DFBRegion right_region; DFBRegion right;
} CoreSurfaceBackToFrontCopy; DFBSurfaceFlipFlags flags;
s64 timestamp;
} CoreSurfaceFlip2;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreSurfaceBackToFrontCopyReturn; } CoreSurfaceFlip2Return;
class ISurface : public Interface class ISurface : public Interface
{ {
public: public:
ISurface( CoreDFB *core ) ISurface( CoreDFB *core )
: :
Interface( core ) Interface( core )
{ {
} }
public: public:
virtual DFBResult SetConfig( virtual DFBResult SetConfig(
const CoreSurfaceConfig *config const CoreSurfaceConfig *config
) = 0; ) = 0;
virtual DFBResult Flip( virtual DFBResult Flip(
bool swap DFBBoolean swap
) = 0; ) = 0;
virtual DFBResult GetPalette( virtual DFBResult GetPalette(
CorePalette **ret_palette CorePalette **ret_palette
) = 0; ) = 0;
virtual DFBResult SetPalette( virtual DFBResult SetPalette(
CorePalette *palette CorePalette *palette
) = 0; ) = 0;
skipping to change at line 377 skipping to change at line 384
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
) = 0; ) = 0;
virtual DFBResult PreLockBuffer2( virtual DFBResult PreLockBuffer2(
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
DFBSurfaceStereoEye eye, DFBSurfaceStereoEye eye,
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
bool lock, DFBBoolean lock,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
) = 0; ) = 0;
virtual DFBResult PreReadBuffer( virtual DFBResult PreReadBuffer(
CoreSurfaceBuffer *buffer, CoreSurfaceBuffer *buffer,
const DFBRectangle *rect, const DFBRectangle *rect,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
) = 0; ) = 0;
virtual DFBResult PreWriteBuffer( virtual DFBResult PreWriteBuffer(
skipping to change at line 399 skipping to change at line 406
const DFBRectangle *rect, const DFBRectangle *rect,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
) = 0; ) = 0;
virtual DFBResult PreLockBuffer3( virtual DFBResult PreLockBuffer3(
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
u32 flip_count, u32 flip_count,
DFBSurfaceStereoEye eye, DFBSurfaceStereoEye eye,
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
bool lock, DFBBoolean lock,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
) = 0; ) = 0;
virtual DFBResult CreateClient( virtual DFBResult CreateClient(
CoreSurfaceClient **ret_client CoreSurfaceClient **ret_client
) = 0; ) = 0;
virtual DFBResult BackToFrontCopy( virtual DFBResult Flip2(
DFBSurfaceStereoEye eye, DFBBoolean swap,
const DFBRegion *left_region, const DFBRegion *left,
const DFBRegion *right_region const DFBRegion *right,
DFBSurfaceFlipFlags flags,
s64 timestamp
) = 0; ) = 0;
}; };
class ISurface_Real : public ISurface class ISurface_Real : public ISurface
{ {
private: private:
CoreSurface *obj; CoreSurface *obj;
public: public:
ISurface_Real( CoreDFB *core, CoreSurface *obj ) ISurface_Real( CoreDFB *core, CoreSurface *obj )
: :
ISurface( core ), ISurface( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult SetConfig( virtual DFBResult SetConfig(
const CoreSurfaceConfig *config const CoreSurfaceConfig *config
); );
virtual DFBResult Flip( virtual DFBResult Flip(
bool swap DFBBoolean swap
); );
virtual DFBResult GetPalette( virtual DFBResult GetPalette(
CorePalette **ret_palette CorePalette **ret_palette
); );
virtual DFBResult SetPalette( virtual DFBResult SetPalette(
CorePalette *palette CorePalette *palette
); );
skipping to change at line 468 skipping to change at line 476
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
); );
virtual DFBResult PreLockBuffer2( virtual DFBResult PreLockBuffer2(
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
DFBSurfaceStereoEye eye, DFBSurfaceStereoEye eye,
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
bool lock, DFBBoolean lock,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
); );
virtual DFBResult PreReadBuffer( virtual DFBResult PreReadBuffer(
CoreSurfaceBuffer *buffer, CoreSurfaceBuffer *buffer,
const DFBRectangle *rect, const DFBRectangle *rect,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
); );
virtual DFBResult PreWriteBuffer( virtual DFBResult PreWriteBuffer(
skipping to change at line 490 skipping to change at line 498
const DFBRectangle *rect, const DFBRectangle *rect,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
); );
virtual DFBResult PreLockBuffer3( virtual DFBResult PreLockBuffer3(
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
u32 flip_count, u32 flip_count,
DFBSurfaceStereoEye eye, DFBSurfaceStereoEye eye,
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
bool lock, DFBBoolean lock,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
); );
virtual DFBResult CreateClient( virtual DFBResult CreateClient(
CoreSurfaceClient **ret_client CoreSurfaceClient **ret_client
); );
virtual DFBResult BackToFrontCopy( virtual DFBResult Flip2(
DFBSurfaceStereoEye eye, DFBBoolean swap,
const DFBRegion *left_region, const DFBRegion *left,
const DFBRegion *right_region const DFBRegion *right,
DFBSurfaceFlipFlags flags,
s64 timestamp
); );
}; };
class ISurface_Requestor : public ISurface class ISurface_Requestor : public ISurface
{ {
private: private:
CoreSurface *obj; CoreSurface *obj;
public: public:
skipping to change at line 525 skipping to change at line 535
obj( obj ) obj( obj )
{ {
} }
public: public:
virtual DFBResult SetConfig( virtual DFBResult SetConfig(
const CoreSurfaceConfig *config const CoreSurfaceConfig *config
); );
virtual DFBResult Flip( virtual DFBResult Flip(
bool swap DFBBoolean swap
); );
virtual DFBResult GetPalette( virtual DFBResult GetPalette(
CorePalette **ret_palette CorePalette **ret_palette
); );
virtual DFBResult SetPalette( virtual DFBResult SetPalette(
CorePalette *palette CorePalette *palette
); );
skipping to change at line 559 skipping to change at line 569
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
); );
virtual DFBResult PreLockBuffer2( virtual DFBResult PreLockBuffer2(
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
DFBSurfaceStereoEye eye, DFBSurfaceStereoEye eye,
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
bool lock, DFBBoolean lock,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
); );
virtual DFBResult PreReadBuffer( virtual DFBResult PreReadBuffer(
CoreSurfaceBuffer *buffer, CoreSurfaceBuffer *buffer,
const DFBRectangle *rect, const DFBRectangle *rect,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
); );
virtual DFBResult PreWriteBuffer( virtual DFBResult PreWriteBuffer(
skipping to change at line 581 skipping to change at line 591
const DFBRectangle *rect, const DFBRectangle *rect,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
); );
virtual DFBResult PreLockBuffer3( virtual DFBResult PreLockBuffer3(
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
u32 flip_count, u32 flip_count,
DFBSurfaceStereoEye eye, DFBSurfaceStereoEye eye,
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access, CoreSurfaceAccessFlags access,
bool lock, DFBBoolean lock,
CoreSurfaceAllocation **ret_allocati on CoreSurfaceAllocation **ret_allocati on
); );
virtual DFBResult CreateClient( virtual DFBResult CreateClient(
CoreSurfaceClient **ret_client CoreSurfaceClient **ret_client
); );
virtual DFBResult BackToFrontCopy( virtual DFBResult Flip2(
DFBSurfaceStereoEye eye, DFBBoolean swap,
const DFBRegion *left_region, const DFBRegion *left,
const DFBRegion *right_region const DFBRegion *right,
DFBSurfaceFlipFlags flags,
s64 timestamp
); );
}; };
DFBResult CoreSurfaceDispatch__Dispatch( CoreSurface *obj, DFBResult CoreSurfaceDispatch__Dispatch( CoreSurface *obj,
FusionID caller, FusionID caller,
int method, int method,
void *ptr, void *ptr,
unsigned int length, unsigned int length,
void *ret_ptr, void *ret_ptr,
 End of changes. 26 change blocks. 
42 lines changed or deleted 53 lines changed or added


 CoreSurfaceClient.h   CoreSurfaceClient.h 
skipping to change at line 48 skipping to change at line 48
#ifdef __cplusplus #ifdef __cplusplus
#include <core/Interface.h> #include <core/Interface.h>
extern "C" { extern "C" {
#endif #endif
DFBResult CoreSurfaceClient_FrameAck( DFBResult CoreSurfaceClient_FrameAck(
CoreSurfaceClient *obj, CoreSurfaceClient *obj,
u32 flip_count); u32 flip_count);
DFBResult CoreSurfaceClient_SetFrameTimeConfig(
CoreSurfaceClient *obj,
const DFBFrameTimeConfig *config);
void CoreSurfaceClient_Init_Dispatch( void CoreSurfaceClient_Init_Dispatch(
CoreDFB *core, CoreDFB *core,
CoreSurfaceClient *obj, CoreSurfaceClient *obj,
FusionCall *call FusionCall *call
); );
void CoreSurfaceClient_Deinit_Dispatch( void CoreSurfaceClient_Deinit_Dispatch(
FusionCall *call FusionCall *call
); );
#ifdef __cplusplus #ifdef __cplusplus
} }
namespace DirectFB { namespace DirectFB {
/* /*
* CoreSurfaceClient Calls * CoreSurfaceClient Calls
*/ */
typedef enum { typedef enum {
CoreSurfaceClient_FrameAck = 1, CoreSurfaceClient_FrameAck = 1,
CoreSurfaceClient_SetFrameTimeConfig = 2,
} CoreSurfaceClientCall; } CoreSurfaceClientCall;
/* /*
* CoreSurfaceClient_FrameAck * CoreSurfaceClient_FrameAck
*/ */
typedef struct { typedef struct {
u32 flip_count; u32 flip_count;
} CoreSurfaceClientFrameAck; } CoreSurfaceClientFrameAck;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreSurfaceClientFrameAckReturn; } CoreSurfaceClientFrameAckReturn;
/*
* CoreSurfaceClient_SetFrameTimeConfig
*/
typedef struct {
DFBFrameTimeConfig config;
} CoreSurfaceClientSetFrameTimeConfig;
typedef struct {
DFBResult result;
} CoreSurfaceClientSetFrameTimeConfigReturn;
class ISurfaceClient : public Interface class ISurfaceClient : public Interface
{ {
public: public:
ISurfaceClient( CoreDFB *core ) ISurfaceClient( CoreDFB *core )
: :
Interface( core ) Interface( core )
{ {
} }
public: public:
virtual DFBResult FrameAck( virtual DFBResult FrameAck(
u32 flip_count u32 flip_count
) = 0; ) = 0;
virtual DFBResult SetFrameTimeConfig(
const DFBFrameTimeConfig *config
) = 0;
}; };
class ISurfaceClient_Real : public ISurfaceClient class ISurfaceClient_Real : public ISurfaceClient
{ {
private: private:
CoreSurfaceClient *obj; CoreSurfaceClient *obj;
public: public:
ISurfaceClient_Real( CoreDFB *core, CoreSurfaceClient *obj ) ISurfaceClient_Real( CoreDFB *core, CoreSurfaceClient *obj )
: :
ISurfaceClient( core ), ISurfaceClient( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult FrameAck( virtual DFBResult FrameAck(
u32 flip_count u32 flip_count
); );
virtual DFBResult SetFrameTimeConfig(
const DFBFrameTimeConfig *config
);
}; };
class ISurfaceClient_Requestor : public ISurfaceClient class ISurfaceClient_Requestor : public ISurfaceClient
{ {
private: private:
CoreSurfaceClient *obj; CoreSurfaceClient *obj;
public: public:
ISurfaceClient_Requestor( CoreDFB *core, CoreSurfaceClient *obj ) ISurfaceClient_Requestor( CoreDFB *core, CoreSurfaceClient *obj )
: :
ISurfaceClient( core ), ISurfaceClient( core ),
obj( obj ) obj( obj )
{ {
} }
public: public:
virtual DFBResult FrameAck( virtual DFBResult FrameAck(
u32 flip_count u32 flip_count
); );
virtual DFBResult SetFrameTimeConfig(
const DFBFrameTimeConfig *config
);
}; };
DFBResult CoreSurfaceClientDispatch__Dispatch( CoreSurfaceClient *obj, DFBResult CoreSurfaceClientDispatch__Dispatch( CoreSurfaceClient *obj,
FusionID caller, FusionID caller,
int method, int method,
void *ptr, void *ptr,
unsigned int length, unsigned int length,
void *ret_ptr, void *ret_ptr,
unsigned int ret_size, unsigned int ret_size,
unsigned int *ret_length ); unsigned int *ret_length );
 End of changes. 7 change blocks. 
1 lines changed or deleted 28 lines changed or added


 CoreWindow.h   CoreWindow.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 48 skipping to change at line 51
#ifdef __cplusplus #ifdef __cplusplus
#include <core/Interface.h> #include <core/Interface.h>
extern "C" { extern "C" {
#endif #endif
DFBResult CoreWindow_Repaint( DFBResult CoreWindow_Repaint(
CoreWindow *obj, CoreWindow *obj,
const DFBRegion *left, const DFBRegion *left,
const DFBRegion *right, const DFBRegion *right,
DFBSurfaceFlipFlags flags); DFBSurfaceFlipFlags flags,
s64 timestamp);
DFBResult CoreWindow_BeginUpdates( DFBResult CoreWindow_BeginUpdates(
CoreWindow *obj, CoreWindow *obj,
const DFBRegion *update); const DFBRegion *update);
DFBResult CoreWindow_Restack( DFBResult CoreWindow_Restack(
CoreWindow *obj, CoreWindow *obj,
CoreWindow *relative, CoreWindow *relative,
int relation); s32 relation);
DFBResult CoreWindow_SetConfig( DFBResult CoreWindow_SetConfig(
CoreWindow *obj, CoreWindow *obj,
const CoreWindowConfig *config, const CoreWindowConfig *config,
const DFBInputDeviceKeySymbol *keys, const DFBInputDeviceKeySymbol *keys,
u32 num_keys, u32 num_keys,
CoreWindowConfigFlags flags); CoreWindowConfigFlags flags);
DFBResult CoreWindow_Bind( DFBResult CoreWindow_Bind(
CoreWindow *obj, CoreWindow *obj,
CoreWindow *source, CoreWindow *source,
int x, s32 x,
int y); s32 y);
DFBResult CoreWindow_Unbind( DFBResult CoreWindow_Unbind(
CoreWindow *obj, CoreWindow *obj,
CoreWindow *source); CoreWindow *source);
DFBResult CoreWindow_RequestFocus( DFBResult CoreWindow_RequestFocus(
CoreWindow *obj CoreWindow *obj
); );
DFBResult CoreWindow_ChangeGrab( DFBResult CoreWindow_ChangeGrab(
CoreWindow *obj, CoreWindow *obj,
CoreWMGrabTarget target, CoreWMGrabTarget target,
bool grab); DFBBoolean grab);
DFBResult CoreWindow_GrabKey( DFBResult CoreWindow_GrabKey(
CoreWindow *obj, CoreWindow *obj,
DFBInputDeviceKeySymbol symbol, DFBInputDeviceKeySymbol symbol,
DFBInputDeviceModifierMask modifiers); DFBInputDeviceModifierMask modifiers);
DFBResult CoreWindow_UngrabKey( DFBResult CoreWindow_UngrabKey(
CoreWindow *obj, CoreWindow *obj,
DFBInputDeviceKeySymbol symbol, DFBInputDeviceKeySymbol symbol,
DFBInputDeviceModifierMask modifiers); DFBInputDeviceModifierMask modifiers);
DFBResult CoreWindow_Move( DFBResult CoreWindow_Move(
CoreWindow *obj, CoreWindow *obj,
int dx, s32 dx,
int dy); s32 dy);
DFBResult CoreWindow_MoveTo( DFBResult CoreWindow_MoveTo(
CoreWindow *obj, CoreWindow *obj,
int x, s32 x,
int y); s32 y);
DFBResult CoreWindow_Resize( DFBResult CoreWindow_Resize(
CoreWindow *obj, CoreWindow *obj,
int width, s32 width,
int height); s32 height);
DFBResult CoreWindow_Destroy( DFBResult CoreWindow_Destroy(
CoreWindow *obj CoreWindow *obj
); );
DFBResult CoreWindow_SetCursorPosition( DFBResult CoreWindow_SetCursorPosition(
CoreWindow *obj, CoreWindow *obj,
int x, s32 x,
int y); s32 y);
DFBResult CoreWindow_ChangeEvents( DFBResult CoreWindow_ChangeEvents(
CoreWindow *obj, CoreWindow *obj,
DFBWindowEventType disable, DFBWindowEventType disable,
DFBWindowEventType enable); DFBWindowEventType enable);
DFBResult CoreWindow_ChangeOptions( DFBResult CoreWindow_ChangeOptions(
CoreWindow *obj, CoreWindow *obj,
DFBWindowOptions disable, DFBWindowOptions disable,
DFBWindowOptions enable); DFBWindowOptions enable);
skipping to change at line 161 skipping to change at line 165
const DFBRectangle *bounds); const DFBRectangle *bounds);
DFBResult CoreWindow_SetKeySelection( DFBResult CoreWindow_SetKeySelection(
CoreWindow *obj, CoreWindow *obj,
DFBWindowKeySelection selection, DFBWindowKeySelection selection,
const DFBInputDeviceKeySymbol *keys, const DFBInputDeviceKeySymbol *keys,
u32 num_keys); u32 num_keys);
DFBResult CoreWindow_SetRotation( DFBResult CoreWindow_SetRotation(
CoreWindow *obj, CoreWindow *obj,
int rotation); s32 rotation);
DFBResult CoreWindow_GetSurface( DFBResult CoreWindow_GetSurface(
CoreWindow *obj, CoreWindow *obj,
CoreSurface **ret_surface) ; CoreSurface **ret_surface) ;
DFBResult CoreWindow_SetCursorShape( DFBResult CoreWindow_SetCursorShape(
CoreWindow *obj, CoreWindow *obj,
CoreSurface *shape, CoreSurface *shape,
const DFBPoint *hotspot); const DFBPoint *hotspot);
DFBResult CoreWindow_AllowFocus( DFBResult CoreWindow_AllowFocus(
CoreWindow *obj CoreWindow *obj
); );
DFBResult CoreWindow_GetInsets( DFBResult CoreWindow_GetInsets(
CoreWindow *obj, CoreWindow *obj,
DFBInsets *ret_insets); DFBInsets *ret_insets);
DFBResult CoreWindow_PostEvent(
CoreWindow *obj,
const DFBWindowEvent *event);
void CoreWindow_Init_Dispatch( void CoreWindow_Init_Dispatch(
CoreDFB *core, CoreDFB *core,
CoreWindow *obj, CoreWindow *obj,
FusionCall *call FusionCall *call
); );
void CoreWindow_Deinit_Dispatch( void CoreWindow_Deinit_Dispatch(
FusionCall *call FusionCall *call
); );
skipping to change at line 228 skipping to change at line 236
CoreWindow_SetOpaque = 20, CoreWindow_SetOpaque = 20,
CoreWindow_SetOpacity = 21, CoreWindow_SetOpacity = 21,
CoreWindow_SetStacking = 22, CoreWindow_SetStacking = 22,
CoreWindow_SetBounds = 23, CoreWindow_SetBounds = 23,
CoreWindow_SetKeySelection = 24, CoreWindow_SetKeySelection = 24,
CoreWindow_SetRotation = 25, CoreWindow_SetRotation = 25,
CoreWindow_GetSurface = 26, CoreWindow_GetSurface = 26,
CoreWindow_SetCursorShape = 27, CoreWindow_SetCursorShape = 27,
CoreWindow_AllowFocus = 28, CoreWindow_AllowFocus = 28,
CoreWindow_GetInsets = 29, CoreWindow_GetInsets = 29,
CoreWindow_PostEvent = 30,
} CoreWindowCall; } CoreWindowCall;
/* /*
* CoreWindow_Repaint * CoreWindow_Repaint
*/ */
typedef struct { typedef struct {
DFBRegion left; DFBRegion left;
DFBRegion right; DFBRegion right;
DFBSurfaceFlipFlags flags; DFBSurfaceFlipFlags flags;
s64 timestamp;
} CoreWindowRepaint; } CoreWindowRepaint;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowRepaintReturn; } CoreWindowRepaintReturn;
/* /*
* CoreWindow_BeginUpdates * CoreWindow_BeginUpdates
*/ */
typedef struct { typedef struct {
skipping to change at line 261 skipping to change at line 271
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowBeginUpdatesReturn; } CoreWindowBeginUpdatesReturn;
/* /*
* CoreWindow_Restack * CoreWindow_Restack
*/ */
typedef struct { typedef struct {
bool relative_set; bool relative_set;
u32 relative_id; u32 relative_id;
int relation; s32 relation;
} CoreWindowRestack; } CoreWindowRestack;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowRestackReturn; } CoreWindowRestackReturn;
/* /*
* CoreWindow_SetConfig * CoreWindow_SetConfig
*/ */
typedef struct { typedef struct {
skipping to change at line 288 skipping to change at line 298
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowSetConfigReturn; } CoreWindowSetConfigReturn;
/* /*
* CoreWindow_Bind * CoreWindow_Bind
*/ */
typedef struct { typedef struct {
u32 source_id; u32 source_id;
int x; s32 x;
int y; s32 y;
} CoreWindowBind; } CoreWindowBind;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowBindReturn; } CoreWindowBindReturn;
/* /*
* CoreWindow_Unbind * CoreWindow_Unbind
*/ */
typedef struct { typedef struct {
skipping to change at line 322 skipping to change at line 332
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowRequestFocusReturn; } CoreWindowRequestFocusReturn;
/* /*
* CoreWindow_ChangeGrab * CoreWindow_ChangeGrab
*/ */
typedef struct { typedef struct {
CoreWMGrabTarget target; CoreWMGrabTarget target;
bool grab; DFBBoolean grab;
} CoreWindowChangeGrab; } CoreWindowChangeGrab;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowChangeGrabReturn; } CoreWindowChangeGrabReturn;
/* /*
* CoreWindow_GrabKey * CoreWindow_GrabKey
*/ */
typedef struct { typedef struct {
skipping to change at line 357 skipping to change at line 367
} CoreWindowUngrabKey; } CoreWindowUngrabKey;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowUngrabKeyReturn; } CoreWindowUngrabKeyReturn;
/* /*
* CoreWindow_Move * CoreWindow_Move
*/ */
typedef struct { typedef struct {
int dx; s32 dx;
int dy; s32 dy;
} CoreWindowMove; } CoreWindowMove;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowMoveReturn; } CoreWindowMoveReturn;
/* /*
* CoreWindow_MoveTo * CoreWindow_MoveTo
*/ */
typedef struct { typedef struct {
int x; s32 x;
int y; s32 y;
} CoreWindowMoveTo; } CoreWindowMoveTo;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowMoveToReturn; } CoreWindowMoveToReturn;
/* /*
* CoreWindow_Resize * CoreWindow_Resize
*/ */
typedef struct { typedef struct {
int width; s32 width;
int height; s32 height;
} CoreWindowResize; } CoreWindowResize;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowResizeReturn; } CoreWindowResizeReturn;
/* /*
* CoreWindow_Destroy * CoreWindow_Destroy
*/ */
typedef struct { typedef struct {
} CoreWindowDestroy; } CoreWindowDestroy;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowDestroyReturn; } CoreWindowDestroyReturn;
/* /*
* CoreWindow_SetCursorPosition * CoreWindow_SetCursorPosition
*/ */
typedef struct { typedef struct {
int x; s32 x;
int y; s32 y;
} CoreWindowSetCursorPosition; } CoreWindowSetCursorPosition;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowSetCursorPositionReturn; } CoreWindowSetCursorPositionReturn;
/* /*
* CoreWindow_ChangeEvents * CoreWindow_ChangeEvents
*/ */
typedef struct { typedef struct {
skipping to change at line 519 skipping to change at line 529
} CoreWindowSetKeySelection; } CoreWindowSetKeySelection;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowSetKeySelectionReturn; } CoreWindowSetKeySelectionReturn;
/* /*
* CoreWindow_SetRotation * CoreWindow_SetRotation
*/ */
typedef struct { typedef struct {
int rotation; s32 rotation;
} CoreWindowSetRotation; } CoreWindowSetRotation;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
} CoreWindowSetRotationReturn; } CoreWindowSetRotationReturn;
/* /*
* CoreWindow_GetSurface * CoreWindow_GetSurface
*/ */
typedef struct { typedef struct {
skipping to change at line 572 skipping to change at line 582
* CoreWindow_GetInsets * CoreWindow_GetInsets
*/ */
typedef struct { typedef struct {
} CoreWindowGetInsets; } CoreWindowGetInsets;
typedef struct { typedef struct {
DFBResult result; DFBResult result;
DFBInsets insets; DFBInsets insets;
} CoreWindowGetInsetsReturn; } CoreWindowGetInsetsReturn;
/*
* CoreWindow_PostEvent
*/
typedef struct {
DFBWindowEvent event;
} CoreWindowPostEvent;
typedef struct {
DFBResult result;
} CoreWindowPostEventReturn;
class IWindow : public Interface class IWindow : public Interface
{ {
public: public:
IWindow( CoreDFB *core ) IWindow( CoreDFB *core )
: :
Interface( core ) Interface( core )
{ {
} }
public: public:
virtual DFBResult Repaint( virtual DFBResult Repaint(
const DFBRegion *left, const DFBRegion *left,
const DFBRegion *right, const DFBRegion *right,
DFBSurfaceFlipFlags flags DFBSurfaceFlipFlags flags,
s64 timestamp
) = 0; ) = 0;
virtual DFBResult BeginUpdates( virtual DFBResult BeginUpdates(
const DFBRegion *update const DFBRegion *update
) = 0; ) = 0;
virtual DFBResult Restack( virtual DFBResult Restack(
CoreWindow *relative, CoreWindow *relative,
int relation s32 relation
) = 0; ) = 0;
virtual DFBResult SetConfig( virtual DFBResult SetConfig(
const CoreWindowConfig *config, const CoreWindowConfig *config,
const DFBInputDeviceKeySymbol *keys, const DFBInputDeviceKeySymbol *keys,
u32 num_keys, u32 num_keys,
CoreWindowConfigFlags flags CoreWindowConfigFlags flags
) = 0; ) = 0;
virtual DFBResult Bind( virtual DFBResult Bind(
CoreWindow *source, CoreWindow *source,
int x, s32 x,
int y s32 y
) = 0; ) = 0;
virtual DFBResult Unbind( virtual DFBResult Unbind(
CoreWindow *source CoreWindow *source
) = 0; ) = 0;
virtual DFBResult RequestFocus( virtual DFBResult RequestFocus(
) = 0; ) = 0;
virtual DFBResult ChangeGrab( virtual DFBResult ChangeGrab(
CoreWMGrabTarget target, CoreWMGrabTarget target,
bool grab DFBBoolean grab
) = 0; ) = 0;
virtual DFBResult GrabKey( virtual DFBResult GrabKey(
DFBInputDeviceKeySymbol symbol, DFBInputDeviceKeySymbol symbol,
DFBInputDeviceModifierMask modifiers DFBInputDeviceModifierMask modifiers
) = 0; ) = 0;
virtual DFBResult UngrabKey( virtual DFBResult UngrabKey(
DFBInputDeviceKeySymbol symbol, DFBInputDeviceKeySymbol symbol,
DFBInputDeviceModifierMask modifiers DFBInputDeviceModifierMask modifiers
) = 0; ) = 0;
virtual DFBResult Move( virtual DFBResult Move(
int dx, s32 dx,
int dy s32 dy
) = 0; ) = 0;
virtual DFBResult MoveTo( virtual DFBResult MoveTo(
int x, s32 x,
int y s32 y
) = 0; ) = 0;
virtual DFBResult Resize( virtual DFBResult Resize(
int width, s32 width,
int height s32 height
) = 0; ) = 0;
virtual DFBResult Destroy( virtual DFBResult Destroy(
) = 0; ) = 0;
virtual DFBResult SetCursorPosition( virtual DFBResult SetCursorPosition(
int x, s32 x,
int y s32 y
) = 0; ) = 0;
virtual DFBResult ChangeEvents( virtual DFBResult ChangeEvents(
DFBWindowEventType disable, DFBWindowEventType disable,
DFBWindowEventType enable DFBWindowEventType enable
) = 0; ) = 0;
virtual DFBResult ChangeOptions( virtual DFBResult ChangeOptions(
DFBWindowOptions disable, DFBWindowOptions disable,
DFBWindowOptions enable DFBWindowOptions enable
skipping to change at line 698 skipping to change at line 720
const DFBRectangle *bounds const DFBRectangle *bounds
) = 0; ) = 0;
virtual DFBResult SetKeySelection( virtual DFBResult SetKeySelection(
DFBWindowKeySelection selection, DFBWindowKeySelection selection,
const DFBInputDeviceKeySymbol *keys, const DFBInputDeviceKeySymbol *keys,
u32 num_keys u32 num_keys
) = 0; ) = 0;
virtual DFBResult SetRotation( virtual DFBResult SetRotation(
int rotation s32 rotation
) = 0; ) = 0;
virtual DFBResult GetSurface( virtual DFBResult GetSurface(
CoreSurface **ret_surface CoreSurface **ret_surface
) = 0; ) = 0;
virtual DFBResult SetCursorShape( virtual DFBResult SetCursorShape(
CoreSurface *shape, CoreSurface *shape,
const DFBPoint *hotspot const DFBPoint *hotspot
) = 0; ) = 0;
virtual DFBResult AllowFocus( virtual DFBResult AllowFocus(
) = 0; ) = 0;
virtual DFBResult GetInsets( virtual DFBResult GetInsets(
DFBInsets *ret_insets DFBInsets *ret_insets
) = 0; ) = 0;
virtual DFBResult PostEvent(
const DFBWindowEvent *event
) = 0;
}; };
class IWindow_Real : public IWindow class IWindow_Real : public IWindow
{ {
private: private:
CoreWindow *obj; CoreWindow *obj;
public: public:
IWindow_Real( CoreDFB *core, CoreWindow *obj ) IWindow_Real( CoreDFB *core, CoreWindow *obj )
: :
IWindow( core ), IWindow( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult Repaint( virtual DFBResult Repaint(
const DFBRegion *left, const DFBRegion *left,
const DFBRegion *right, const DFBRegion *right,
DFBSurfaceFlipFlags flags DFBSurfaceFlipFlags flags,
s64 timestamp
); );
virtual DFBResult BeginUpdates( virtual DFBResult BeginUpdates(
const DFBRegion *update const DFBRegion *update
); );
virtual DFBResult Restack( virtual DFBResult Restack(
CoreWindow *relative, CoreWindow *relative,
int relation s32 relation
); );
virtual DFBResult SetConfig( virtual DFBResult SetConfig(
const CoreWindowConfig *config, const CoreWindowConfig *config,
const DFBInputDeviceKeySymbol *keys, const DFBInputDeviceKeySymbol *keys,
u32 num_keys, u32 num_keys,
CoreWindowConfigFlags flags CoreWindowConfigFlags flags
); );
virtual DFBResult Bind( virtual DFBResult Bind(
CoreWindow *source, CoreWindow *source,
int x, s32 x,
int y s32 y
); );
virtual DFBResult Unbind( virtual DFBResult Unbind(
CoreWindow *source CoreWindow *source
); );
virtual DFBResult RequestFocus( virtual DFBResult RequestFocus(
); );
virtual DFBResult ChangeGrab( virtual DFBResult ChangeGrab(
CoreWMGrabTarget target, CoreWMGrabTarget target,
bool grab DFBBoolean grab
); );
virtual DFBResult GrabKey( virtual DFBResult GrabKey(
DFBInputDeviceKeySymbol symbol, DFBInputDeviceKeySymbol symbol,
DFBInputDeviceModifierMask modifiers DFBInputDeviceModifierMask modifiers
); );
virtual DFBResult UngrabKey( virtual DFBResult UngrabKey(
DFBInputDeviceKeySymbol symbol, DFBInputDeviceKeySymbol symbol,
DFBInputDeviceModifierMask modifiers DFBInputDeviceModifierMask modifiers
); );
virtual DFBResult Move( virtual DFBResult Move(
int dx, s32 dx,
int dy s32 dy
); );
virtual DFBResult MoveTo( virtual DFBResult MoveTo(
int x, s32 x,
int y s32 y
); );
virtual DFBResult Resize( virtual DFBResult Resize(
int width, s32 width,
int height s32 height
); );
virtual DFBResult Destroy( virtual DFBResult Destroy(
); );
virtual DFBResult SetCursorPosition( virtual DFBResult SetCursorPosition(
int x, s32 x,
int y s32 y
); );
virtual DFBResult ChangeEvents( virtual DFBResult ChangeEvents(
DFBWindowEventType disable, DFBWindowEventType disable,
DFBWindowEventType enable DFBWindowEventType enable
); );
virtual DFBResult ChangeOptions( virtual DFBResult ChangeOptions(
DFBWindowOptions disable, DFBWindowOptions disable,
DFBWindowOptions enable DFBWindowOptions enable
skipping to change at line 850 skipping to change at line 876
const DFBRectangle *bounds const DFBRectangle *bounds
); );
virtual DFBResult SetKeySelection( virtual DFBResult SetKeySelection(
DFBWindowKeySelection selection, DFBWindowKeySelection selection,
const DFBInputDeviceKeySymbol *keys, const DFBInputDeviceKeySymbol *keys,
u32 num_keys u32 num_keys
); );
virtual DFBResult SetRotation( virtual DFBResult SetRotation(
int rotation s32 rotation
); );
virtual DFBResult GetSurface( virtual DFBResult GetSurface(
CoreSurface **ret_surface CoreSurface **ret_surface
); );
virtual DFBResult SetCursorShape( virtual DFBResult SetCursorShape(
CoreSurface *shape, CoreSurface *shape,
const DFBPoint *hotspot const DFBPoint *hotspot
); );
virtual DFBResult AllowFocus( virtual DFBResult AllowFocus(
); );
virtual DFBResult GetInsets( virtual DFBResult GetInsets(
DFBInsets *ret_insets DFBInsets *ret_insets
); );
virtual DFBResult PostEvent(
const DFBWindowEvent *event
);
}; };
class IWindow_Requestor : public IWindow class IWindow_Requestor : public IWindow
{ {
private: private:
CoreWindow *obj; CoreWindow *obj;
public: public:
IWindow_Requestor( CoreDFB *core, CoreWindow *obj ) IWindow_Requestor( CoreDFB *core, CoreWindow *obj )
: :
IWindow( core ), IWindow( core ),
obj( obj ) obj( obj )
{ {
} }
public: public:
virtual DFBResult Repaint( virtual DFBResult Repaint(
const DFBRegion *left, const DFBRegion *left,
const DFBRegion *right, const DFBRegion *right,
DFBSurfaceFlipFlags flags DFBSurfaceFlipFlags flags,
s64 timestamp
); );
virtual DFBResult BeginUpdates( virtual DFBResult BeginUpdates(
const DFBRegion *update const DFBRegion *update
); );
virtual DFBResult Restack( virtual DFBResult Restack(
CoreWindow *relative, CoreWindow *relative,
int relation s32 relation
); );
virtual DFBResult SetConfig( virtual DFBResult SetConfig(
const CoreWindowConfig *config, const CoreWindowConfig *config,
const DFBInputDeviceKeySymbol *keys, const DFBInputDeviceKeySymbol *keys,
u32 num_keys, u32 num_keys,
CoreWindowConfigFlags flags CoreWindowConfigFlags flags
); );
virtual DFBResult Bind( virtual DFBResult Bind(
CoreWindow *source, CoreWindow *source,
int x, s32 x,
int y s32 y
); );
virtual DFBResult Unbind( virtual DFBResult Unbind(
CoreWindow *source CoreWindow *source
); );
virtual DFBResult RequestFocus( virtual DFBResult RequestFocus(
); );
virtual DFBResult ChangeGrab( virtual DFBResult ChangeGrab(
CoreWMGrabTarget target, CoreWMGrabTarget target,
bool grab DFBBoolean grab
); );
virtual DFBResult GrabKey( virtual DFBResult GrabKey(
DFBInputDeviceKeySymbol symbol, DFBInputDeviceKeySymbol symbol,
DFBInputDeviceModifierMask modifiers DFBInputDeviceModifierMask modifiers
); );
virtual DFBResult UngrabKey( virtual DFBResult UngrabKey(
DFBInputDeviceKeySymbol symbol, DFBInputDeviceKeySymbol symbol,
DFBInputDeviceModifierMask modifiers DFBInputDeviceModifierMask modifiers
); );
virtual DFBResult Move( virtual DFBResult Move(
int dx, s32 dx,
int dy s32 dy
); );
virtual DFBResult MoveTo( virtual DFBResult MoveTo(
int x, s32 x,
int y s32 y
); );
virtual DFBResult Resize( virtual DFBResult Resize(
int width, s32 width,
int height s32 height
); );
virtual DFBResult Destroy( virtual DFBResult Destroy(
); );
virtual DFBResult SetCursorPosition( virtual DFBResult SetCursorPosition(
int x, s32 x,
int y s32 y
); );
virtual DFBResult ChangeEvents( virtual DFBResult ChangeEvents(
DFBWindowEventType disable, DFBWindowEventType disable,
DFBWindowEventType enable DFBWindowEventType enable
); );
virtual DFBResult ChangeOptions( virtual DFBResult ChangeOptions(
DFBWindowOptions disable, DFBWindowOptions disable,
DFBWindowOptions enable DFBWindowOptions enable
skipping to change at line 1002 skipping to change at line 1033
const DFBRectangle *bounds const DFBRectangle *bounds
); );
virtual DFBResult SetKeySelection( virtual DFBResult SetKeySelection(
DFBWindowKeySelection selection, DFBWindowKeySelection selection,
const DFBInputDeviceKeySymbol *keys, const DFBInputDeviceKeySymbol *keys,
u32 num_keys u32 num_keys
); );
virtual DFBResult SetRotation( virtual DFBResult SetRotation(
int rotation s32 rotation
); );
virtual DFBResult GetSurface( virtual DFBResult GetSurface(
CoreSurface **ret_surface CoreSurface **ret_surface
); );
virtual DFBResult SetCursorShape( virtual DFBResult SetCursorShape(
CoreSurface *shape, CoreSurface *shape,
const DFBPoint *hotspot const DFBPoint *hotspot
); );
virtual DFBResult AllowFocus( virtual DFBResult AllowFocus(
); );
virtual DFBResult GetInsets( virtual DFBResult GetInsets(
DFBInsets *ret_insets DFBInsets *ret_insets
); );
virtual DFBResult PostEvent(
const DFBWindowEvent *event
);
}; };
DFBResult CoreWindowDispatch__Dispatch( CoreWindow *obj, DFBResult CoreWindowDispatch__Dispatch( CoreWindow *obj,
FusionID caller, FusionID caller,
int method, int method,
void *ptr, void *ptr,
unsigned int length, unsigned int length,
void *ret_ptr, void *ret_ptr,
unsigned int ret_size, unsigned int ret_size,
unsigned int *ret_length ); unsigned int *ret_length );
 End of changes. 53 change blocks. 
70 lines changed or deleted 105 lines changed or added


 CoreWindowStack.h   CoreWindowStack.h 
/* /*
* This file was automatically generated by fluxcomp; DO NOT EDIT!
*/
/*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Hundt <andi@fischlustig.de>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
skipping to change at line 318 skipping to change at line 321
CoreWindowStack *obj; CoreWindowStack *obj;
public: public:
IWindowStack_Real( CoreDFB *core, CoreWindowStack *obj ) IWindowStack_Real( CoreDFB *core, CoreWindowStack *obj )
: :
IWindowStack( core ), IWindowStack( core ),
obj( obj ) obj( obj )
{ {
} }
public:
virtual DFBResult RepaintAll( virtual DFBResult RepaintAll(
); );
virtual DFBResult CursorEnable( virtual DFBResult CursorEnable(
bool enable bool enable
); );
virtual DFBResult CursorSetShape( virtual DFBResult CursorSetShape(
CoreSurface *shape, CoreSurface *shape,
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 Interface.h   Interface.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 49 skipping to change at line 51
protected: protected:
CoreDFB *core; CoreDFB *core;
Interface( CoreDFB *core ) Interface( CoreDFB *core )
: :
core( core ) core( core )
{ {
} }
}; };
class CallBuffer {
private:
int magic;
public:
CallBuffer( size_t buffer_min );
virtual ~CallBuffer();
void *prepare( int method,
size_t len );
void commit ( size_t len = 0 );
DFBResult flush( bool leave_tls = true );
protected:
void *buffer;
size_t buffer_min;
size_t buffer_size;
size_t buffer_len;
size_t buffer_prepared;
virtual DFBResult flushCalls() = 0;
};
} }
#endif #endif
 End of changes. 3 change blocks. 
3 lines changed or deleted 29 lines changed or added


 agp.h   agp.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 arena.h   arena.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 atomic.h   atomic.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 34 skipping to change at line 36
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 __DIRECT__ATOMIC_H__ #ifndef __DIRECT__ATOMIC_H__
#define __DIRECT__ATOMIC_H__ #define __DIRECT__ATOMIC_H__
#include <direct/types.h> #include <direct/types.h>
#if !DIRECT_BUILD_GCC_ATOMICS
#if defined (__SH4__) || defined (__SH4A__) #if defined (__SH4__) || defined (__SH4A__)
/* /*
* SH4 Atomic Operations * SH4 Atomic Operations
*/ */
#define D_SYNC_BOOL_COMPARE_AND_SWAP( ptr, old_value, new_value ) \ #define D_SYNC_BOOL_COMPARE_AND_SWAP( ptr, old_value, new_value ) \
({ \ ({ \
__typeof__(*(ptr)) __temp; \ __typeof__(*(ptr)) __temp; \
__typeof__(*(ptr)) __result; \ __typeof__(*(ptr)) __result; \
skipping to change at line 308 skipping to change at line 312
: "Ir" (i), "m" (*v)); : "Ir" (i), "m" (*v));
return temp; return temp;
} }
#define D_SYNC_ADD_AND_FETCH( ptr, value ) \ #define D_SYNC_ADD_AND_FETCH( ptr, value ) \
_D__atomic_add_return( (int) (value), (volatile int*) (ptr) ) _D__atomic_add_return( (int) (value), (volatile int*) (ptr) )
#endif #endif
#endif // !DIRECT_BUILD_GCC_ATOMICS
#ifdef WIN32 #ifdef WIN32
/* /*
* Win32 * Win32
*/ */
#ifndef D_SYNC_BOOL_COMPARE_AND_SWAP #ifndef D_SYNC_BOOL_COMPARE_AND_SWAP
#define D_SYNC_BOOL_COMPARE_AND_SWAP( ptr, old_value, new_value ) \ #define D_SYNC_BOOL_COMPARE_AND_SWAP( ptr, old_value, new_value ) \
0 0
#endif #endif
skipping to change at line 348 skipping to change at line 354
__sync_bool_compare_and_swap( ptr, old_value, new_value ) __sync_bool_compare_and_swap( ptr, old_value, new_value )
#endif #endif
#ifndef D_SYNC_FETCH_AND_CLEAR #ifndef D_SYNC_FETCH_AND_CLEAR
#define D_SYNC_FETCH_AND_CLEAR( ptr ) \ #define D_SYNC_FETCH_AND_CLEAR( ptr ) \
__sync_fetch_and_and( ptr, 0 ) __sync_fetch_and_and( ptr, 0 )
#endif #endif
#ifndef D_SYNC_ADD_AND_FETCH #ifndef D_SYNC_ADD_AND_FETCH
#define D_SYNC_ADD_AND_FETCH( ptr, value ) \ #define D_SYNC_ADD_AND_FETCH( ptr, value ) \
__sync_add_and_fetch( ptr, value )
#if 0
({ \ ({ \
int __val; \ int __val; \
volatile int *__ptr = (volatile int *)(void*)(ptr); \ volatile int *__ptr = (volatile int *)(void*)(ptr); \
\ \
do { \ do { \
__val = *__ptr; \ __val = *__ptr; \
} while (!D_SYNC_BOOL_COMPARE_AND_SWAP( __ptr, __val, __val + val ue )); \ } while (!D_SYNC_BOOL_COMPARE_AND_SWAP( __ptr, __val, __val + val ue )); \
\ \
__val + value; \ __val + value; \
}) })
// __sync_add_and_fetch( ptr, value ) #endif
#endif #endif
#ifndef D_SYNC_ADD #ifndef D_SYNC_ADD
#define D_SYNC_ADD( ptr, value ) \ #define D_SYNC_ADD( ptr, value ) \
do { (void) D_SYNC_ADD_AND_FETCH( ptr, value ); } while (0) do { (void) D_SYNC_ADD_AND_FETCH( ptr, value ); } while (0)
#endif #endif
#endif //!WIN32 #endif //!WIN32
/* /*
 End of changes. 6 change blocks. 
4 lines changed or deleted 12 lines changed or added


 build.h   build.h 
skipping to change at line 38 skipping to change at line 38
#ifndef __DIRECT__BUILD_H__ #ifndef __DIRECT__BUILD_H__
#define __DIRECT__BUILD_H__ #define __DIRECT__BUILD_H__
#define DIRECT_OS_LINUX_GNU_LIBC (0) #define DIRECT_OS_LINUX_GNU_LIBC (0)
#define DIRECT_OS_LINUX_KERNEL (1) #define DIRECT_OS_LINUX_KERNEL (1)
#define DIRECT_OS_PSP (2) #define DIRECT_OS_PSP (2)
#define DIRECT_OS_WIN32 (3) #define DIRECT_OS_WIN32 (3)
#define DIRECT_OS_FAMOS (4) #define DIRECT_OS_FAMOS (4)
#define DIRECT_BUILD_DEBUG (0) #define DIRECT_BUILD_DEBUG (0)
#define DIRECT_BUILD_DEBUGS (1) #define DIRECT_BUILD_DEBUGS (1)
#define DIRECT_BUILD_TRACE (0) #define DIRECT_BUILD_TRACE (0)
#define DIRECT_BUILD_TEXT (1) #define DIRECT_BUILD_TEXT (1)
#define DIRECT_BUILD_GETTID (1) #define DIRECT_BUILD_GETTID (1)
#define DIRECT_BUILD_NETWORK (1) #define DIRECT_BUILD_NETWORK (1)
#define DIRECT_BUILD_STDBOOL (1) #define DIRECT_BUILD_STDBOOL (1)
#define DIRECT_BUILD_DYNLOAD (1) #define DIRECT_BUILD_DYNLOAD (1)
#define DIRECT_BUILD_MULTICORE (1) #define DIRECT_BUILD_MULTICORE (1)
#define DIRECT_BUILD_OSTYPE (DIRECT_OS_LINUX_GNU_LIBC) #define DIRECT_BUILD_OSTYPE (DIRECT_OS_LINUX_GNU_LIBC)
#define DIRECT_BUILD_GCC_ATOMICS (0)
#if !DIRECT_BUILD_DEBUGS #if !DIRECT_BUILD_DEBUGS
#if defined(DIRECT_ENABLE_DEBUG) || defined(DIRECT_FORCE_DEBUG) #if defined(DIRECT_ENABLE_DEBUG) || defined(DIRECT_FORCE_DEBUG)
#define DIRECT_MINI_DEBUG #define DIRECT_MINI_DEBUG
#endif #endif
#undef DIRECT_ENABLE_DEBUG #undef DIRECT_ENABLE_DEBUG
#ifdef DIRECT_FORCE_DEBUG #ifdef DIRECT_FORCE_DEBUG
#warning DIRECT_FORCE_DEBUG used with 'pure release' library headers. #warning DIRECT_FORCE_DEBUG used with 'pure release' library headers.
#undef DIRECT_FORCE_DEBUG #undef DIRECT_FORCE_DEBUG
#endif #endif
 End of changes. 1 change blocks. 
10 lines changed or deleted 11 lines changed or added


 call.h   call.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 clip.h   clip.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 90 skipping to change at line 92
* Clips the triangle to the clipping region. * Clips the triangle to the clipping region.
* Returns true if the triangle if visible within the region. * Returns true if the triangle if visible within the region.
* The vertices of the polygon resulting from intersection are returned in buf. * The vertices of the polygon resulting from intersection are returned in buf.
* The number of vertices is at least 3. * The number of vertices is at least 3.
*/ */
DFBBoolean dfb_clip_triangle( const DFBRegion *clip, DFBBoolean dfb_clip_triangle( const DFBRegion *clip,
const DFBTriangle *tri, const DFBTriangle *tri,
DFBPoint buf[6], DFBPoint buf[6],
int *num ); int *num );
void dfb_build_clipped_rectangle_outlines( DFBRectangle *rect,
const DFBRegion *clip,
DFBRectangle *ret_out
lines,
int *ret_num
);
/* /*
* Simple check if requested blitting lies outside of the clipping region. * Simple check if requested blitting lies outside of the clipping region.
* Returns true if blitting may need to be performed. * Returns true if blitting may need to be performed.
*/ */
static inline DFBBoolean static inline DFBBoolean
dfb_clip_blit_precheck( const DFBRegion *clip, dfb_clip_blit_precheck( const DFBRegion *clip,
int w, int h, int dx, int dy ) int w, int h, int dx, int dy )
{ {
if (w < 1 || h < 1 || if (w < 1 || h < 1 ||
(clip->x1 >= dx + w) || (clip->x1 >= dx + w) ||
 End of changes. 3 change blocks. 
3 lines changed or deleted 12 lines changed or added


 clipboard.h   clipboard.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 clock.h   clock.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 colorhash.h   colorhash.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 compiler.h   compiler.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 conf.h   conf.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 57 skipping to change at line 59
DMT_NONE = 0x00000000, /* No message type. */ DMT_NONE = 0x00000000, /* No message type. */
DMT_BANNER = 0x00000001, /* Startup banner. */ DMT_BANNER = 0x00000001, /* Startup banner. */
DMT_INFO = 0x00000002, /* Info messages. */ DMT_INFO = 0x00000002, /* Info messages. */
DMT_WARNING = 0x00000004, /* Warnings. */ DMT_WARNING = 0x00000004, /* Warnings. */
DMT_ERROR = 0x00000008, /* Error messages: regular, with DFBR esult, bugs, DMT_ERROR = 0x00000008, /* Error messages: regular, with DFBR esult, bugs,
system call errors, dlopen errors */ system call errors, dlopen errors */
DMT_UNIMPLEMENTED = 0x00000010, /* Messages notifying unimplemented f unctionality. */ DMT_UNIMPLEMENTED = 0x00000010, /* Messages notifying unimplemented f unctionality. */
DMT_ONCE = 0x00000020, /* One-shot messages .*/ DMT_ONCE = 0x00000020, /* One-shot messages .*/
DMT_UNTESTED = 0x00000040, /* Messages notifying unimplemented f unctionality. */ DMT_UNTESTED = 0x00000040, /* Messages notifying unimplemented f unctionality. */
DMT_BUG = 0x00000080, /* A bug occurred. */
DMT_ALL = 0x0000007F /* All types. */ DMT_ALL = 0x000000FF /* All types. */
} DirectMessageType; } DirectMessageType;
struct __D_DirectConfig { struct __D_DirectConfig {
DirectMessageType quiet; DirectMessageType quiet;
DirectLogLevel log_level; DirectLogLevel log_level;
bool log_all; bool log_all;
bool log_none; bool log_none;
bool trace; bool trace;
skipping to change at line 99 skipping to change at line 102
bool fatal_break; /* Should D_BREAK() cause a trap? */ bool fatal_break; /* Should D_BREAK() cause a trap? */
int thread_priority; int thread_priority;
DirectConfigThreadScheduler thread_scheduler; DirectConfigThreadScheduler thread_scheduler;
int thread_stack_size; int thread_stack_size;
int thread_priority_scale; int thread_priority_scale;
char **default_interface_implementation_types; char **default_interface_implementation_types;
char **default_interface_implementation_names; char **default_interface_implementation_names;
unsigned int perf_dump_interval;
int log_delay_rand_loops;
int log_delay_rand_us;
int log_delay_min_loops;
int log_delay_min_us;
DirectMessageType fatal_messages;
}; };
extern DirectConfig DIRECT_API *direct_config; extern DirectConfig DIRECT_API *direct_config;
extern const char DIRECT_API *direct_config_usage; extern const char DIRECT_API *direct_config_usage;
DirectResult DIRECT_API direct_config_set( const char *name, const char *value ); DirectResult DIRECT_API direct_config_set( const char *name, const char *value );
/* Retrieve all values set on option 'name'. */ /* Retrieve all values set on option 'name'. */
/* Pass an array of char* pointers and number of pointers in 'num'. */ /* Pass an array of char* pointers and number of pointers in 'num'. */
/* The actual returned number of values gets returned in 'ret_num' */ /* The actual returned number of values gets returned in 'ret_num' */
/* The returned option/values respect directfbrc, cmdline options and DFBAR GS envvar. */ /* The returned option/values respect directfbrc, cmdline options and DFBAR GS envvar. */
/* The returned pointers are not extra allocated so do not free them! */ /* The returned pointers are not extra allocated so do not free them! */
DirectResult DIRECT_API direct_config_get( const char *name, char * *values, const int values_len, int *ret_num ); DirectResult DIRECT_API direct_config_get( const char *name, char * *values, const int values_len, int *ret_num );
/* Return the integer value for the last occurrance of the passed option's setting. */ /* Return the integer value for the last occurrance of the passed option's setting. */
/* Note that 0 is also retuned in case the passed option was not found ot s et. */ /* Note that 0 is also retuned in case the passed option was not found ot s et. */
long long DIRECT_API direct_config_get_int_value( const char *na me ); long long DIRECT_API direct_config_get_int_value( const char *na me );
long long DIRECT_API direct_config_get_int_value_with_default( c
onst char *name,
l
ong long def );
void __D_conf_init( void ); void __D_conf_init( void );
void __D_conf_deinit( void ); void __D_conf_deinit( void );
#endif #endif
 End of changes. 6 change blocks. 
4 lines changed or deleted 20 lines changed or added


 convert.h   convert.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 core.h   core.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 114 skipping to change at line 116
CoreLayerRegion **ret_ region ); CoreLayerRegion **ret_ region );
DFBResult dfb_core_get_palette ( CoreDFB *core , DFBResult dfb_core_get_palette ( CoreDFB *core ,
u32 obje ct_id, u32 obje ct_id,
CorePalette **ret_ palette ); CorePalette **ret_ palette );
DFBResult dfb_core_get_surface ( CoreDFB *core , DFBResult dfb_core_get_surface ( CoreDFB *core ,
u32 obje ct_id, u32 obje ct_id,
CoreSurface **ret_ surface ); CoreSurface **ret_ surface );
DFBResult dfb_core_lookup_surface ( CoreDFB *core
,
u32 obje
ct_id,
CoreSurface **ret_
surface );
DFBResult dfb_core_get_surface_allocation( CoreDFB *core, DFBResult dfb_core_get_surface_allocation( CoreDFB *core,
u32 object_id, u32 object_id,
CoreSurfaceAllocation * *ret_allocation ); CoreSurfaceAllocation * *ret_allocation );
DFBResult dfb_core_get_surface_buffer ( CoreDFB *core , DFBResult dfb_core_get_surface_buffer ( CoreDFB *core ,
u32 obje ct_id, u32 obje ct_id,
CoreSurfaceBuffer **ret_ surface ); CoreSurfaceBuffer **ret_ surface );
DFBResult dfb_core_get_surface_client ( CoreDFB *core , DFBResult dfb_core_get_surface_client ( CoreDFB *core ,
u32 obje ct_id, u32 obje ct_id,
skipping to change at line 136 skipping to change at line 142
DFBResult dfb_core_get_window ( CoreDFB *core , DFBResult dfb_core_get_window ( CoreDFB *core ,
u32 obje ct_id, u32 obje ct_id,
CoreWindow **ret_ window ); 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_graphics_states( CoreDFB *core,
FusionObjectCallback callback,
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 );
DirectResult dfb_core_enum_layer_regions ( CoreDFB *core, DirectResult dfb_core_enum_layer_regions ( CoreDFB *core,
FusionObjectCallback callback, FusionObjectCallback callback,
void *ctx ); void *ctx );
DirectResult dfb_core_dump_all ( CoreDFB *core,
DirectLogDomain *domain,
DirectLogLevel level );
DirectResult dfb_core_wait_all ( CoreDFB *core,
long long timeout )
;
/* /*
* Arena shared fields * Arena shared fields
*/ */
DirectResult core_arena_add_shared_field( CoreDFB *core, DirectResult core_arena_add_shared_field( CoreDFB *core,
const char *name, const char *name,
void *data ); void *data );
DirectResult core_arena_get_shared_field( CoreDFB *core, DirectResult core_arena_get_shared_field( CoreDFB *core,
const char *name, const char *name,
void **data ); void **data );
skipping to change at line 207 skipping to change at line 223
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 );
/*
= init / shutdown
-> from application, any thread
dfb_core_create() -> locks global core mutex
dfb_core_destroy() -> locks global core mutex
-> from shutdown handler (atexit), any thread
dfb_core_destroy() -> locks global core mutex
-> from signal handler thread
dfb_core_signal_handler() -> tries to lock global core mutex
*/
D_DECLARE_INTERFACE( ICoreResourceManager ) D_DECLARE_INTERFACE( ICoreResourceManager )
D_DECLARE_INTERFACE( ICoreResourceClient ) D_DECLARE_INTERFACE( ICoreResourceClient )
struct __DFB_CoreDFBShared { struct __DFB_CoreDFBShared {
int magic; int magic;
bool secure; bool secure;
FusionObjectPool *graphics_state_pool; FusionObjectPool *graphics_state_pool;
FusionObjectPool *layer_context_pool; FusionObjectPool *layer_context_pool;
skipping to change at line 336 skipping to change at line 368
#define CORE_TLS_IDENTITY_STACK_MAX 8 #define CORE_TLS_IDENTITY_STACK_MAX 8
typedef struct { typedef struct {
int magic; int magic;
FusionID identity[CORE_TLS_IDENTITY_STACK_MAX]; FusionID identity[CORE_TLS_IDENTITY_STACK_MAX];
unsigned int identity_count; unsigned int identity_count;
int calling; int calling;
void *call_buffer;
} CoreTLS; } CoreTLS;
CoreTLS *Core_GetTLS( void ); CoreTLS *Core_GetTLS( void );
/* /*
* Identity management * Identity management
* *
* Incoming dispatch pushes ID of caller * Incoming dispatch pushes ID of caller
*/ */
 End of changes. 7 change blocks. 
3 lines changed or deleted 41 lines changed or added


 core_parts.h   core_parts.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 core_system.h   core_system.h 
/* /*
(c) Copyright 2001-2010 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 coredefs.h   coredefs.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 coretypes.h   coretypes.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 91 skipping to change at line 93
typedef struct __DFB_CoreSurfacePoolBridge CoreSurfacePoolBridge; typedef struct __DFB_CoreSurfacePoolBridge CoreSurfacePoolBridge;
typedef struct __DFB_CoreSurfacePoolTransfer CoreSurfacePoolTransfer; typedef struct __DFB_CoreSurfacePoolTransfer CoreSurfacePoolTransfer;
typedef struct __DFB_CoreWindow CoreWindow; typedef struct __DFB_CoreWindow CoreWindow;
typedef struct __DFB_CoreWindowConfig CoreWindowConfig; typedef struct __DFB_CoreWindowConfig CoreWindowConfig;
typedef struct __DFB_CoreWindowStack CoreWindowStack; typedef struct __DFB_CoreWindowStack CoreWindowStack;
typedef unsigned int CoreSurfacePoolID; typedef unsigned int CoreSurfacePoolID;
typedef unsigned int CoreSurfacePoolBridgeID; typedef unsigned int CoreSurfacePoolBridgeID;
#ifdef __cplusplus
namespace DirectFB {
namespace Util {
class FPS;
}
class Renderer;
class Task;
class Throttle;
class SurfaceTask;
class DisplayTask;
}
#define DFB_Util_FPS DirectFB::Util::FPS
#define DFB_Renderer DirectFB::Renderer
#define DFB_Task DirectFB::Task
#define DFB_TaskList Direct::List<DirectFB::Task*>
#define DFB_TaskListLocked Direct::ListLocked<DirectFB::Task*>
#define DFB_TaskListSimple Direct::ListSimple<DirectFB::Task*>
#define DFB_Throttle DirectFB::Throttle
#define DFB_SurfaceTask DirectFB::SurfaceTask
#define DFB_SurfaceTaskList Direct::List<DirectFB::SurfaceTask*>
#define DFB_SurfaceTaskListLocked Direct::ListLocked<DirectFB::SurfaceTask
*>
#define DFB_SurfaceTaskListSimple Direct::ListSimple<DirectFB::SurfaceTask
*>
#define DFB_DisplayTask DirectFB::DisplayTask
#define DFB_DisplayTaskList Direct::List<DirectFB::DisplayTask*>
#define DFB_DisplayTaskListLocked Direct::ListLocked<DirectFB::DisplayTask
*>
#define DFB_DisplayTaskListSimple Direct::ListSimple<DirectFB::DisplayTask
*>
#else
typedef void DFB_Util_FPS;
typedef void DFB_Renderer;
typedef void DFB_Task;
typedef void DFB_TaskList;
typedef void DFB_TaskListLocked;
typedef void DFB_TaskListSimple;
typedef void DFB_Throttle;
typedef void DFB_SurfaceTask;
typedef void DFB_SurfaceTaskList;
typedef void DFB_SurfaceTaskListLocked;
typedef void DFB_SurfaceTaskListSimple;
typedef void DFB_DisplayTask;
typedef void DFB_DisplayTaskList;
typedef void DFB_DisplayTaskListLocked;
typedef void DFB_DisplayTaskListSimple;
#endif
#endif #endif
 End of changes. 3 change blocks. 
3 lines changed or deleted 53 lines changed or added


 debug.h   debug.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 124 skipping to change at line 126
#if DIRECT_BUILD_DEBUG || defined(DIRECT_ENABLE_DEBUG) || defined(DIRECT_FO RCE_DEBUG) #if DIRECT_BUILD_DEBUG || defined(DIRECT_ENABLE_DEBUG) || defined(DIRECT_FO RCE_DEBUG)
#define D_DEBUG_ENABLED (1) #define D_DEBUG_ENABLED (1)
#define D_DEBUG_LOG(_Domain,_level,...) \ #define D_DEBUG_LOG(_Domain,_level,...) \
do { \ do { \
direct_debug_log( &_Domain, _level, __VA_ARGS__ ); \ direct_debug_log( &_Domain, _level, __VA_ARGS__ ); \
} while (0) } while (0)
// TODO: OPT: check domain etc here to avoid probably expensive parameter g eneration
#define D_DEBUG_AT(d,...) \ #define D_DEBUG_AT(d,...) \
do { \ do { \
direct_debug_at( &d, __VA_ARGS__ ); \ direct_debug_at( &d, __VA_ARGS__ ); \
} while (0) } while (0)
#define D_DEBUG_ENTER(d,...) \ #define D_DEBUG_ENTER(d,...) \
do { \ do { \
/*direct_debug_enter( &d, __FUNCTION__, __FILE__, __LINE__, x );* / \ /*direct_debug_enter( &d, __FUNCTION__, __FILE__, __LINE__, x );* / \
} while (0) } while (0)
skipping to change at line 280 skipping to change at line 283
#define D_MAGIC(spell) ( (((spell)[sizeof(spell)*8/9] << 24) | \ #define D_MAGIC(spell) ( (((spell)[sizeof(spell)*8/9] << 24) | \
((spell)[sizeof(spell)*7/9] << 16) | \ ((spell)[sizeof(spell)*7/9] << 16) | \
((spell)[sizeof(spell)*6/9] << 8) | \ ((spell)[sizeof(spell)*6/9] << 8) | \
((spell)[sizeof(spell)*5/9] )) ^ \ ((spell)[sizeof(spell)*5/9] )) ^ \
(((spell)[sizeof(spell)*4/9] << 24) | \ (((spell)[sizeof(spell)*4/9] << 24) | \
((spell)[sizeof(spell)*3/9] << 16) | \ ((spell)[sizeof(spell)*3/9] << 16) | \
((spell)[sizeof(spell)*2/9] << 8) | \ ((spell)[sizeof(spell)*2/9] << 8) | \
((spell)[sizeof(spell)*1/9] )) ) ((spell)[sizeof(spell)*1/9] )) )
#define D_MAGIC_PRINT(m) do {
\
D_INFO( "Magic '%s' = '%d'\n", #m,
D_MAGIC(#m) ); \
} while (0)
#if DIRECT_BUILD_DEBUGS #if DIRECT_BUILD_DEBUGS
#define D_MAGIC_CHECK(o,m) ((o) != NULL && (o)->magic == D_MAGIC(#m )) #define D_MAGIC_CHECK(o,m) ((o) != NULL && (o)->magic == D_MAGIC(#m ))
#define D_MAGIC_SET(o,m) do { \ #define D_MAGIC_SET(o,m) do { \
D_ASSERT( (o) != NULL ); \ D_ASSERT( (o) != NULL ); \
D_ASSUME( (o)->magic != D_MAGIC(#m) ); \ D_ASSUME( (o)->magic != D_MAGIC(#m) ); \
\ \
(o)->magic = D_MAGIC(#m); \ (o)->magic = D_MAGIC(#m); \
} while (0) } while (0)
 End of changes. 4 change blocks. 
3 lines changed or deleted 12 lines changed or added


 devmem.h   devmem.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 dfb_types.h   dfb_types.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 61 skipping to change at line 63
#define __u8 u8 #define __u8 u8
#define __u16 u16 #define __u16 u16
#define __u32 u32 #define __u32 u32
#define __u64 u64 #define __u64 u64
#define __s8 s8 #define __s8 s8
#define __s16 s16 #define __s16 s16
#define __s32 s32 #define __s32 s32
#define __s64 s64 #define __s64 s64
#endif #endif
/*
* Return code of all interface methods and most functions
*
* Whenever a method has to return any information, it is done via output p
arameters. These are pointers to
* primitive types such as <i>int *ret_num</i>, enumerated types like <i>DF
BBoolean *ret_enabled</i>, structures
* as in <i>DFBDisplayLayerConfig *ret_config</i>, just <i>void **ret_data<
/i> or other types...
*/
typedef enum {
/*
* Aliases for backward compatibility and uniform look in DirectFB cod
e
*/
DFB_OK = DR_OK, /* No error occured. */
DFB_FAILURE = DR_FAILURE, /* A general or unknown e
rror occured. */
DFB_INIT = DR_INIT, /* A general initializati
on error occured. */
DFB_BUG = DR_BUG, /* Internal bug or incons
istency has been detected. */
DFB_DEAD = DR_DEAD, /* Interface has a zero r
eference counter (available in debug mode). */
DFB_UNSUPPORTED = DR_UNSUPPORTED, /* The requested operatio
n or an argument is (currently) not supported. */
DFB_UNIMPLEMENTED = DR_UNIMPLEMENTED, /* The requested operatio
n is not implemented, yet. */
DFB_ACCESSDENIED = DR_ACCESSDENIED, /* Access to the resource
is denied. */
DFB_INVAREA = DR_INVAREA, /* An invalid area has be
en specified or detected. */
DFB_INVARG = DR_INVARG, /* An invalid argument ha
s been specified. */
DFB_NOSYSTEMMEMORY = DR_NOLOCALMEMORY, /* There's not enough sys
tem memory. */
DFB_NOSHAREDMEMORY = DR_NOSHAREDMEMORY, /* There's not enough sha
red memory. */
DFB_LOCKED = DR_LOCKED, /* The resource is (alrea
dy) locked. */
DFB_BUFFEREMPTY = DR_BUFFEREMPTY, /* The buffer is empty. *
/
DFB_FILENOTFOUND = DR_FILENOTFOUND, /* The specified file has
not been found. */
DFB_IO = DR_IO, /* A general I/O error oc
cured. */
DFB_BUSY = DR_BUSY, /* The resource or device
is busy. */
DFB_NOIMPL = DR_NOIMPL, /* No implementation for
this interface or content type has been found. */
DFB_TIMEOUT = DR_TIMEOUT, /* The operation timed ou
t. */
DFB_THIZNULL = DR_THIZNULL, /* 'thiz' pointer is NULL
. */
DFB_IDNOTFOUND = DR_IDNOTFOUND, /* No resource has been f
ound by the specified id. */
DFB_DESTROYED = DR_DESTROYED, /* The underlying object
(e.g. a window or surface) has been destroyed. */
DFB_FUSION = DR_FUSION, /* Internal fusion error
detected, most likely related to IPC resources. */
DFB_BUFFERTOOLARGE = DR_BUFFERTOOLARGE, /* Buffer is too large. *
/
DFB_INTERRUPTED = DR_INTERRUPTED, /* The operation has been
interrupted. */
DFB_NOCONTEXT = DR_NOCONTEXT, /* No context available.
*/
DFB_TEMPUNAVAIL = DR_TEMPUNAVAIL, /* Temporarily unavailabl
e. */
DFB_LIMITEXCEEDED = DR_LIMITEXCEEDED, /* Attempted to exceed li
mit, i.e. any kind of maximum size, count etc. */
DFB_NOSUCHMETHOD = DR_NOSUCHMETHOD, /* Requested method is no
t known, e.g. to remote site. */
DFB_NOSUCHINSTANCE = DR_NOSUCHINSTANCE, /* Requested instance is
not known, e.g. to remote site. */
DFB_ITEMNOTFOUND = DR_ITEMNOTFOUND, /* No such item found. */
DFB_VERSIONMISMATCH = DR_VERSIONMISMATCH, /* Some versions didn't m
atch. */
DFB_EOF = DR_EOF, /* Reached end of file. *
/
DFB_SUSPENDED = DR_SUSPENDED, /* The requested object i
s suspended. */
DFB_INCOMPLETE = DR_INCOMPLETE, /* The operation has been
executed, but not completely. */
DFB_NOCORE = DR_NOCORE, /* Core part not availabl
e. */
/*
* DirectFB specific result codes starting at (after) this offset
*/
DFB__RESULT_BASE = D_RESULT_TYPE_CODE_BASE( 'D','F','B','1' ),
DFB_NOVIDEOMEMORY, /* There's not enough video memory. */
DFB_MISSINGFONT, /* No font has been set. */
DFB_MISSINGIMAGE, /* No image has been set. */
DFB_NOALLOCATION, /* No allocation. */
DFB_NOBUFFER, /* No buffer. */
DFB__RESULT_END
} DFBResult;
#endif #endif
 End of changes. 3 change blocks. 
3 lines changed or deleted 105 lines changed or added


 dfiff.h   dfiff.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This file is subject to the terms and conditions of the MIT License: This file is subject to the terms and conditions of the MIT License:
Permission is hereby granted, free of charge, to any person Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without restriction, files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, including without limitation the rights to use, copy, modify, merge,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 dgiff.h   dgiff.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This file is subject to the terms and conditions of the MIT License: This file is subject to the terms and conditions of the MIT License:
Permission is hereby granted, free of charge, to any person Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without restriction, files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, including without limitation the rights to use, copy, modify, merge,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 direct.h   direct.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 directfb.h   directfb.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 143 skipping to change at line 145
* Rendering context manager * Rendering context manager
*/ */
D_DECLARE_INTERFACE( IDirectFBGL2 ) D_DECLARE_INTERFACE( IDirectFBGL2 )
/* /*
* Rendering context * Rendering context
*/ */
D_DECLARE_INTERFACE( IDirectFBGL2Context ) D_DECLARE_INTERFACE( IDirectFBGL2Context )
/* /*
* Return code of all interface methods and most functions
*
* Whenever a method has to return any information, it is done via output p
arameters. These are pointers to
* primitive types such as <i>int *ret_num</i>, enumerated types like <i>DF
BBoolean *ret_enabled</i>, structures
* as in <i>DFBDisplayLayerConfig *ret_config</i>, just <i>void **ret_data<
/i> or other types...
*/
typedef enum {
/*
* Aliases for backward compatibility and uniform look in DirectFB cod
e
*/
DFB_OK = DR_OK, /* No error occured. */
DFB_FAILURE = DR_FAILURE, /* A general or unknown e
rror occured. */
DFB_INIT = DR_INIT, /* A general initializati
on error occured. */
DFB_BUG = DR_BUG, /* Internal bug or incons
istency has been detected. */
DFB_DEAD = DR_DEAD, /* Interface has a zero r
eference counter (available in debug mode). */
DFB_UNSUPPORTED = DR_UNSUPPORTED, /* The requested operatio
n or an argument is (currently) not supported. */
DFB_UNIMPLEMENTED = DR_UNIMPLEMENTED, /* The requested operatio
n is not implemented, yet. */
DFB_ACCESSDENIED = DR_ACCESSDENIED, /* Access to the resource
is denied. */
DFB_INVAREA = DR_INVAREA, /* An invalid area has be
en specified or detected. */
DFB_INVARG = DR_INVARG, /* An invalid argument ha
s been specified. */
DFB_NOSYSTEMMEMORY = DR_NOLOCALMEMORY, /* There's not enough sys
tem memory. */
DFB_NOSHAREDMEMORY = DR_NOSHAREDMEMORY, /* There's not enough sha
red memory. */
DFB_LOCKED = DR_LOCKED, /* The resource is (alrea
dy) locked. */
DFB_BUFFEREMPTY = DR_BUFFEREMPTY, /* The buffer is empty. *
/
DFB_FILENOTFOUND = DR_FILENOTFOUND, /* The specified file has
not been found. */
DFB_IO = DR_IO, /* A general I/O error oc
cured. */
DFB_BUSY = DR_BUSY, /* The resource or device
is busy. */
DFB_NOIMPL = DR_NOIMPL, /* No implementation for
this interface or content type has been found. */
DFB_TIMEOUT = DR_TIMEOUT, /* The operation timed ou
t. */
DFB_THIZNULL = DR_THIZNULL, /* 'thiz' pointer is NULL
. */
DFB_IDNOTFOUND = DR_IDNOTFOUND, /* No resource has been f
ound by the specified id. */
DFB_DESTROYED = DR_DESTROYED, /* The underlying object
(e.g. a window or surface) has been destroyed. */
DFB_FUSION = DR_FUSION, /* Internal fusion error
detected, most likely related to IPC resources. */
DFB_BUFFERTOOLARGE = DR_BUFFERTOOLARGE, /* Buffer is too large. *
/
DFB_INTERRUPTED = DR_INTERRUPTED, /* The operation has been
interrupted. */
DFB_NOCONTEXT = DR_NOCONTEXT, /* No context available.
*/
DFB_TEMPUNAVAIL = DR_TEMPUNAVAIL, /* Temporarily unavailabl
e. */
DFB_LIMITEXCEEDED = DR_LIMITEXCEEDED, /* Attempted to exceed li
mit, i.e. any kind of maximum size, count etc. */
DFB_NOSUCHMETHOD = DR_NOSUCHMETHOD, /* Requested method is no
t known, e.g. to remote site. */
DFB_NOSUCHINSTANCE = DR_NOSUCHINSTANCE, /* Requested instance is
not known, e.g. to remote site. */
DFB_ITEMNOTFOUND = DR_ITEMNOTFOUND, /* No such item found. */
DFB_VERSIONMISMATCH = DR_VERSIONMISMATCH, /* Some versions didn't m
atch. */
DFB_EOF = DR_EOF, /* Reached end of file. *
/
DFB_SUSPENDED = DR_SUSPENDED, /* The requested object i
s suspended. */
DFB_INCOMPLETE = DR_INCOMPLETE, /* The operation has been
executed, but not completely. */
DFB_NOCORE = DR_NOCORE, /* Core part not availabl
e. */
/*
* DirectFB specific result codes starting at (after) this offset
*/
DFB__RESULT_BASE = D_RESULT_TYPE_CODE_BASE( 'D','F','B','1' ),
DFB_NOVIDEOMEMORY, /* There's not enough video memory. */
DFB_MISSINGFONT, /* No font has been set. */
DFB_MISSINGIMAGE, /* No image has been set. */
DFB_NOALLOCATION, /* No allocation. */
DFB__RESULT_END
} DFBResult;
/*
* A boolean. * A boolean.
*/ */
typedef enum { typedef enum {
DFB_FALSE = 0, DFB_FALSE = 0,
DFB_TRUE = !DFB_FALSE DFB_TRUE = !DFB_FALSE
} DFBBoolean; } DFBBoolean;
/* /*
* A point specified by x/y coordinates. * A point specified by x/y coordinates.
*/ */
skipping to change at line 815 skipping to change at line 756
DSBLIT_ROTATE90 = 0x00002000, /* rotate the image by 90 degree */ DSBLIT_ROTATE90 = 0x00002000, /* rotate the image by 90 degree */
DSBLIT_ROTATE180 = 0x00001000, /* rotate the image by 180 degree */ DSBLIT_ROTATE180 = 0x00001000, /* rotate the image by 180 degree */
DSBLIT_ROTATE270 = 0x00004000, /* rotate the image by 270 degree */ DSBLIT_ROTATE270 = 0x00004000, /* rotate the image by 270 degree */
DSBLIT_COLORKEY_PROTECT = 0x00010000, /* make sure written pixel s don't match color key (internal only ATM) */ DSBLIT_COLORKEY_PROTECT = 0x00010000, /* make sure written pixel s don't match color key (internal only ATM) */
DSBLIT_SRC_COLORKEY_EXTENDED = 0x00020000, /* use extended source col or key */ DSBLIT_SRC_COLORKEY_EXTENDED = 0x00020000, /* use extended source col or key */
DSBLIT_DST_COLORKEY_EXTENDED = 0x00040000, /* use extended destinatio n color key */ DSBLIT_DST_COLORKEY_EXTENDED = 0x00040000, /* use extended destinatio n color key */
DSBLIT_SRC_MASK_ALPHA = 0x00100000, /* modulate source alpha c hannel with alpha channel from source mask, DSBLIT_SRC_MASK_ALPHA = 0x00100000, /* modulate source alpha c hannel with alpha channel from source mask,
see also IDirectFBSurfa ce::SetSourceMask() */ see also IDirectFBSurfa ce::SetSourceMask() */
DSBLIT_SRC_MASK_COLOR = 0x00200000, /* modulate source color c hannels with color channels from source mask, DSBLIT_SRC_MASK_COLOR = 0x00200000, /* modulate source color c hannels with color channels from source mask,
see also IDirectFBSurfa ce::SetSourceMask() */ see also IDirectFBSurfa ce::SetSourceMask() */
DSBLIT_SOURCE2 = 0x00400000, /* use secondary source in stead of destination for reading */
DSBLIT_FLIP_HORIZONTAL = 0x01000000, /* flip the image horizont ally */ DSBLIT_FLIP_HORIZONTAL = 0x01000000, /* flip the image horizont ally */
DSBLIT_FLIP_VERTICAL = 0x02000000, /* flip the image vertical ly */ DSBLIT_FLIP_VERTICAL = 0x02000000, /* flip the image vertical ly */
DSBLIT_ROP = 0x04000000, /* use rop setting */ DSBLIT_ROP = 0x04000000, /* use rop setting */
DSBLIT_SRC_COLORMATRIX = 0x08000000, /* use source color matrix setting */ DSBLIT_SRC_COLORMATRIX = 0x08000000, /* use source color matrix setting */
DSBLIT_SRC_CONVOLUTION = 0x10000000 /* use source convolution filter */ DSBLIT_SRC_CONVOLUTION = 0x10000000 /* use source convolution filter */
} DFBSurfaceBlittingFlags; } DFBSurfaceBlittingFlags;
/* /*
* Options for drawing and blitting operations. Not mandatory for accelerat ion. * Options for drawing and blitting operations. Not mandatory for accelerat ion.
*/ */
skipping to change at line 851 skipping to change at line 791
*/ */
typedef enum { typedef enum {
DFXL_NONE = 0x00000000, /* None of these. */ DFXL_NONE = 0x00000000, /* None of these. */
DFXL_FILLRECTANGLE = 0x00000001, /* FillRectangle() is accelerated. */ DFXL_FILLRECTANGLE = 0x00000001, /* FillRectangle() is accelerated. */
DFXL_DRAWRECTANGLE = 0x00000002, /* DrawRectangle() is accelerated. */ DFXL_DRAWRECTANGLE = 0x00000002, /* DrawRectangle() is accelerated. */
DFXL_DRAWLINE = 0x00000004, /* DrawLine() is accelerated. */ DFXL_DRAWLINE = 0x00000004, /* DrawLine() is accelerated. */
DFXL_FILLTRIANGLE = 0x00000008, /* FillTriangle() is accelerated. * / DFXL_FILLTRIANGLE = 0x00000008, /* FillTriangle() is accelerated. * /
DFXL_FILLTRAPEZOID = 0x00000010, /* FillTrapezoid() is accelerated. */ DFXL_FILLTRAPEZOID = 0x00000010, /* FillTrapezoid() is accelerated. */
DFXL_FILLQUADRANGLE = 0x00000020, /* FillQuadrangle() is accelerated. */ DFXL_FILLQUADRANGLE = 0x00000020, /* FillQuadrangle() is accelerated. */
DFXL_FILLSPAN = 0x00000040, /* FillSpan() is accelerated. */
DFXL_DRAWMONOGLYPH = 0x00001000, /* DrawMonoGlyphs() is accelerated. */ DFXL_DRAWMONOGLYPH = 0x00001000, /* DrawMonoGlyphs() is accelerated. */
DFXL_BLIT = 0x00010000, /* Blit() and TileBlit() are accele rated. */ DFXL_BLIT = 0x00010000, /* Blit() and TileBlit() are accele rated. */
DFXL_STRETCHBLIT = 0x00020000, /* StretchBlit() is accelerated. */ DFXL_STRETCHBLIT = 0x00020000, /* StretchBlit() is accelerated. */
DFXL_TEXTRIANGLES = 0x00040000, /* TextureTriangles() is accelerate d. */ DFXL_TEXTRIANGLES = 0x00040000, /* TextureTriangles() is accelerate d. */
DFXL_BLIT2 = 0x00080000, /* BatchBlit2() is accelerated. */ DFXL_BLIT2 = 0x00080000, /* BatchBlit2() is accelerated. */
DFXL_TILEBLIT = 0x00100000, /* TileBlit() is accelerated. */
DFXL_DRAWSTRING = 0x01000000, /* DrawString() and DrawGlyph() are accelerated. */ DFXL_DRAWSTRING = 0x01000000, /* DrawString() and DrawGlyph() are accelerated. */
DFXL_ALL = 0x011F007F, /* All drawing/blitting functions. */ DFXL_ALL = 0x011F007F, /* All drawing/blitting functions. */
DFXL_ALL_DRAW = 0x0000107F, /* All drawing functions. */ DFXL_ALL_DRAW = 0x0000107F, /* All drawing functions. */
DFXL_ALL_BLIT = 0x011F0000 /* All blitting functions. */ DFXL_ALL_BLIT = 0x011F0000 /* All blitting functions. */
} DFBAccelerationMask; } DFBAccelerationMask;
#define DFB_MASK_BYTE0 0x000000ff #define DFB_MASK_BYTE0 0x000000ff
#define DFB_MASK_BYTE1 0x0000ff00 #define DFB_MASK_BYTE1 0x0000ff00
skipping to change at line 1355 skipping to change at line 1297
/* 32 bit ABGR (4 byte, alpha 8@24, blue 8@16, green 8@8, red 8@0) */ /* 32 bit ABGR (4 byte, alpha 8@24, blue 8@16, green 8@8, red 8@0) */
DSPF_ABGR = DFB_SURFACE_PIXELFORMAT( 37, 24, 8, 1, 0, 4, 0, 0, 0, 0, 0 ), DSPF_ABGR = DFB_SURFACE_PIXELFORMAT( 37, 24, 8, 1, 0, 4, 0, 0, 0, 0, 0 ),
/* 32 bit RGBAF (4 byte, red 8@24, green 8@16, blue 8@8, alpha 7@1, fl ash 1@0 */ /* 32 bit RGBAF (4 byte, red 8@24, green 8@16, blue 8@8, alpha 7@1, fl ash 1@0 */
DSPF_RGBAF88871 = DFB_SURFACE_PIXELFORMAT( 38, 24, 7, 1, 0, 4, 0, 0, 0 , 0, 0 ), DSPF_RGBAF88871 = DFB_SURFACE_PIXELFORMAT( 38, 24, 7, 1, 0, 4, 0, 0, 0 , 0, 0 ),
/* 4 bit LUT (1 byte/ 2 pixel, 4 bit color and alpha lookup from pa lette) */ /* 4 bit LUT (1 byte/ 2 pixel, 4 bit color and alpha lookup from pa lette) */
DSPF_LUT4 = DFB_SURFACE_PIXELFORMAT( 39, 4, 0, 1, 4, 0, 1, 0, 0, 1, 0 ), DSPF_LUT4 = DFB_SURFACE_PIXELFORMAT( 39, 4, 0, 1, 4, 0, 1, 0, 0, 1, 0 ),
/* 16 bit LUT (1 byte alpha and 8 bit color lookup from palette) */ /* 16 bit LUT (1 byte alpha and 8 bit color lookup from palette) */
DSPF_ALUT8 = DFB_SURFACE_PIXELFORMAT( 40, 8, 8, 1, 0, 2, 0, 0, 0, 1, 0 ) DSPF_ALUT8 = DFB_SURFACE_PIXELFORMAT( 40, 8, 8, 1, 0, 2, 0, 0, 0, 1, 0 ),
/* 1 bit LUT (1 byte/ 8 pixel, 1 bit color and alpha lookup from p
alette) */
DSPF_LUT1 = DFB_SURFACE_PIXELFORMAT( 41, 1, 0, 1, 1, 0, 7, 0, 0,
1, 0 )
} DFBSurfacePixelFormat; } DFBSurfacePixelFormat;
/* Number of pixelformats defined */ /* Number of pixelformats defined */
#define DFB_NUM_PIXELFORMATS 41 #define DFB_NUM_PIXELFORMATS 42
/* These macros extract information about the pixel format. */ /* These macros extract information about the pixel format. */
#define DFB_PIXELFORMAT_INDEX(fmt) (((fmt) & 0x0000007F) ) #define DFB_PIXELFORMAT_INDEX(fmt) (((fmt) & 0x0000007F) )
#define DFB_COLOR_BITS_PER_PIXEL(fmt) (((fmt) & 0x00000F80) >> 7) #define DFB_COLOR_BITS_PER_PIXEL(fmt) (((fmt) & 0x00000F80) >> 7)
#define DFB_ALPHA_BITS_PER_PIXEL(fmt) (((fmt) & 0x0000F000) >> 12) #define DFB_ALPHA_BITS_PER_PIXEL(fmt) (((fmt) & 0x0000F000) >> 12)
#define DFB_PIXELFORMAT_HAS_ALPHA(fmt) (((fmt) & 0x00010000) != 0) #define DFB_PIXELFORMAT_HAS_ALPHA(fmt) (((fmt) & 0x00010000) != 0)
skipping to change at line 2470 skipping to change at line 2414
DSOR_1152_864 = 0x00000020, /* 1152x864 Resolution */ DSOR_1152_864 = 0x00000020, /* 1152x864 Resolution */
DSOR_1280_720 = 0x00000040, /* 1280x720 Resolution */ DSOR_1280_720 = 0x00000040, /* 1280x720 Resolution */
DSOR_1280_768 = 0x00000080, /* 1280x768 Resolution */ DSOR_1280_768 = 0x00000080, /* 1280x768 Resolution */
DSOR_1280_960 = 0x00000100, /* 1280x960 Resolution */ DSOR_1280_960 = 0x00000100, /* 1280x960 Resolution */
DSOR_1280_1024 = 0x00000200, /* 1280x1024 Resolution */ DSOR_1280_1024 = 0x00000200, /* 1280x1024 Resolution */
DSOR_1400_1050 = 0x00000400, /* 1400x1050 Resolution */ DSOR_1400_1050 = 0x00000400, /* 1400x1050 Resolution */
DSOR_1600_1200 = 0x00000800, /* 1600x1200 Resolution */ DSOR_1600_1200 = 0x00000800, /* 1600x1200 Resolution */
DSOR_1920_1080 = 0x00001000, /* 1920x1080 Resolution */ DSOR_1920_1080 = 0x00001000, /* 1920x1080 Resolution */
DSOR_960_540 = 0x00002000, /* 960x540 Resolution */ DSOR_960_540 = 0x00002000, /* 960x540 Resolution */
DSOR_1440_540 = 0x00004000, /* 1440x540 Resolution */ DSOR_1440_540 = 0x00004000, /* 1440x540 Resolution */
DSOR_ALL = 0x00007FFF /* All Resolution */ DSOR_800_480 = 0x00008000, /* 800x480 Resolution */
DSOR_1024_600 = 0x00010000, /* 1024x600 Resolution */
DSOR_1366_768 = 0x00020000, /* 1366x768 Resolution */
DSOR_1920_1200 = 0x00040000, /* 1920x1200 Resolution */
DSOR_2560_1440 = 0x00080000, /* 2560x1440 Resolution */
DSOR_2560_1600 = 0x00100000, /* 2650x1600 Resolution */
DSOR_ALL = 0x001FFFFF /* All Resolutions */
} DFBScreenOutputResolution; } DFBScreenOutputResolution;
#define DFB_SCREEN_OUTPUT_DESC_NAME_LENGTH 24 #define DFB_SCREEN_OUTPUT_DESC_NAME_LENGTH 24
/* /*
* Description of a screen output. * Description of a screen output.
*/ */
typedef struct { typedef struct {
DFBScreenOutputCapabilities caps; /* Screen capabilities . */ DFBScreenOutputCapabilities caps; /* Screen capabilities . */
skipping to change at line 3476 skipping to change at line 3426
The Flip() method will still ret urn immediately unless The Flip() method will still ret urn immediately unless
DSFLIP_WAIT is specified, too. * / DSFLIP_WAIT is specified, too. * /
DSFLIP_PIPELINE = 0x00000008, DSFLIP_PIPELINE = 0x00000008,
DSFLIP_ONCE = 0x00000010, DSFLIP_ONCE = 0x00000010,
DSFLIP_QUEUE = 0x00000100, DSFLIP_QUEUE = 0x00000100,
DSFLIP_FLUSH = 0x00000200, DSFLIP_FLUSH = 0x00000200,
DSFLIP_SWAP = 0x00000400, /* Causes real flip even though reg
ion was specified.
Does not make sense in combinati
on with DSFLIP_BLIT! */
DSFLIP_UPDATE = 0x00000800, /* Update from front only, no swapp
ing */
DSFLIP_WAITFORSYNC = DSFLIP_WAIT | DSFLIP_ONSYNC DSFLIP_WAITFORSYNC = DSFLIP_WAIT | DSFLIP_ONSYNC
} DFBSurfaceFlipFlags; } DFBSurfaceFlipFlags;
/* /*
* Flags controlling the text layout. * Flags controlling the text layout.
*/ */
typedef enum { typedef enum {
DSTF_LEFT = 0x00000000, /* left aligned */ DSTF_LEFT = 0x00000000, /* left aligned */
DSTF_CENTER = 0x00000001, /* horizontally centered */ DSTF_CENTER = 0x00000001, /* horizontally centered */
DSTF_RIGHT = 0x00000002, /* right aligned */ DSTF_RIGHT = 0x00000002, /* right aligned */
skipping to change at line 3521 skipping to change at line 3476
specified and surface has specified and surface has
a back buffer, it will be a back buffer, it will be
used. Otherwise, the front used. Otherwise, the front
buffer is used. */ buffer is used. */
} DFBSurfaceLockFlags; } DFBSurfaceLockFlags;
/* /*
* Stereo eye buffer. * Stereo eye buffer.
*/ */
typedef enum { typedef enum {
DSSE_NONE = 0x00000000, /* None */
DSSE_LEFT = 0x00000001, /* Left eye buffers to be used for all future DSSE_LEFT = 0x00000001, /* Left eye buffers to be used for all future
operations on this surface. */ operations on this surface. */
DSSE_RIGHT = 0x00000002 /* Right eye buffers to be used for all future DSSE_RIGHT = 0x00000002 /* Right eye buffers to be used for all future
operations on this surface. */ operations on this surface. */
} DFBSurfaceStereoEye; } DFBSurfaceStereoEye;
/* /*
* Available Porter/Duff rules. * Available Porter/Duff rules.
* *
* pixel = (source * fs + destination * fd), * pixel = (source * fs + destination * fd),
skipping to change at line 3595 skipping to change at line 3552
float x; /* Destination X coordinate (in pixels) */ float x; /* Destination X coordinate (in pixels) */
float y; /* Destination Y coordinate (in pixels) */ float y; /* Destination Y coordinate (in pixels) */
float z; /* Z coordinate */ float z; /* Z coordinate */
float w; /* W coordinate */ float w; /* W coordinate */
float s; /* Texture S coordinate */ float s; /* Texture S coordinate */
float t; /* Texture T coordinate */ float t; /* Texture T coordinate */
} DFBVertex; } DFBVertex;
/* /*
* Transformed vertex of a textured triangle using fixed 16.16 values.
*/
typedef struct {
int x; /* Destination X coordinate (in pixels) */
int y; /* Destination Y coordinate (in pixels) */
int z; /* Z coordinate */
int w; /* W coordinate */
int s; /* Texture S coordinate */
int t; /* Texture T coordinate */
} DFBVertex1616;
/*
* Way of building triangles from the list of vertices. * Way of building triangles from the list of vertices.
*/ */
typedef enum { typedef enum {
DTTF_LIST, /* 0/1/2 3/4/5 6/7/8 ... */ DTTF_LIST, /* 0/1/2 3/4/5 6/7/8 ... */
DTTF_STRIP, /* 0/1/2 1/2/3 2/3/4 ... */ DTTF_STRIP, /* 0/1/2 1/2/3 2/3/4 ... */
DTTF_FAN /* 0/1/2 0/2/3 0/3/4 ... */ DTTF_FAN /* 0/1/2 0/2/3 0/3/4 ... */
} DFBTriangleFormation; } DFBTriangleFormation;
/* /*
* Flags controlling surface masks set via IDirectFBSurface::SetSourceMask( ). * Flags controlling surface masks set via IDirectFBSurface::SetSourceMask( ).
skipping to change at line 3676 skipping to change at line 3646
* *
* The kernel consists of 3x3 fixed point 16.16 values. * The kernel consists of 3x3 fixed point 16.16 values.
* Additionally there are scale and bias, also fixed point 16.16 values. * Additionally there are scale and bias, also fixed point 16.16 values.
*/ */
typedef struct { typedef struct {
s32 kernel[9]; s32 kernel[9];
s32 scale; s32 scale;
s32 bias; s32 bias;
} DFBConvolutionFilter; } DFBConvolutionFilter;
typedef enum {
DFTCF_NONE = 0x00000000, /* None of these */
DFTCF_INTERVAL = 0x00000001, /* Interval is specified, otherwise t
he interval is set automatically depending on screen refresh */
DFTCF_MAX_ADVANCE = 0x00000002, /* Maximum time to render in advance,
GetFrameTime will block to keep the limit */
DFTCF_ALL = 0x00000003, /* All of these */
} DFBFrameTimeConfigFlags;
typedef struct {
DFBFrameTimeConfigFlags flags;
long long interval;
long long max_advance;
} DFBFrameTimeConfig;
/******************** /********************
* IDirectFBSurface * * IDirectFBSurface *
********************/ ********************/
/* /*
* <i>No summary yet...</i> * <i>No summary yet...</i>
*/ */
D_DEFINE_INTERFACE( IDirectFBSurface, D_DEFINE_INTERFACE( IDirectFBSurface,
/** Retrieving information **/ /** Retrieving information **/
skipping to change at line 4749 skipping to change at line 4735
IDirectFBSurface *thiz IDirectFBSurface *thiz
); );
/* /*
* Put in client mode for frame synchronization. * Put in client mode for frame synchronization.
*/ */
DFBResult (*FrameAck) ( DFBResult (*FrameAck) (
IDirectFBSurface *thiz, IDirectFBSurface *thiz,
u32 flip_count u32 flip_count
); );
/** Debug **/
/*
* Dump the contents of the surface to one or two files in raw format.
*
* Creates a RAW file containing the ARGB data.
*
* The complete filename will be:
* <b>directory</b>/<b>prefix</b>_<i>####</i>.raw for ARGB.
* Example: "/directory/prefix_0000.raw". No existing files
* will be overwritten.
*/
DFBResult (*DumpRaw) (
IDirectFBSurface *thiz,
const char *directory,
const char *prefix
);
/** Timing **/
/*
* Retrieve timestamp for next frame to be rendered.
*
* This can well lie in the future, meaning that buffers are already q
ueued
* and the application can generate the next frame in advance...
*
* The returned micro seconds are from DIRECT_CLOCK_MONOTONIC.
*/
DFBResult (*GetFrameTime) (
IDirectFBSurface *thiz,
long long *ret_micros
);
/*
* Set configuration for GetFrameTime
*
* This can be called on renderer and/or client side.
*/
DFBResult (*SetFrameTimeConfig) (
IDirectFBSurface *thiz,
const DFBFrameTimeConfig *config
);
) )
/******************** /********************
* IDirectFBPalette * * IDirectFBPalette *
********************/ ********************/
/* /*
* <i>No summary yet...</i> * <i>No summary yet...</i>
*/ */
D_DEFINE_INTERFACE( IDirectFBPalette, D_DEFINE_INTERFACE( IDirectFBPalette,
skipping to change at line 5266 skipping to change at line 5295
/* /*
* Flags for a window event. * Flags for a window event.
*/ */
typedef enum { typedef enum {
DWEF_NONE = 0x00000000, /* none of these */ DWEF_NONE = 0x00000000, /* none of these */
DWEF_RETURNED = 0x00000001, /* This is a returned event, e.g. u nconsumed key. */ DWEF_RETURNED = 0x00000001, /* This is a returned event, e.g. u nconsumed key. */
DWEF_RELATIVE = 0x00000002, /* This is a relative motion event (using DWCF_RELATIVE) */ DWEF_RELATIVE = 0x00000002, /* This is a relative motion event (using DWCF_RELATIVE) */
DWEF_REPEAT = 0x00000010, /* repeat event, e.g. repeating key */ DWEF_REPEAT = 0x00000010, /* repeat event, e.g. repeating key */
DWEF_DEVICE_ID = 0x00000020, /* device_id field of DFBInputEvent is valid */
DWEF_ALL = 0x00000013 /* all of these */ DWEF_ALL = 0x00000033 /* all of these */
} DFBWindowEventFlags; } DFBWindowEventFlags;
/* /*
* Video Provider Event Types - can also be used as flags for event filters . * Video Provider Event Types - can also be used as flags for event filters .
*/ */
typedef enum { typedef enum {
DVPET_NONE = 0x00000000, DVPET_NONE = 0x00000000,
DVPET_STARTED = 0x00000001, /* The video provider has started the playback */ DVPET_STARTED = 0x00000001, /* The video provider has started the playback */
DVPET_STOPPED = 0x00000002, /* The video provider has stopped the playback */ DVPET_STOPPED = 0x00000002, /* The video provider has stopped the playback */
DVPET_SPEEDCHANGE = 0x00000004, /* A speed change has occured */ DVPET_SPEEDCHANGE = 0x00000004, /* A speed change has occured */
skipping to change at line 5300 skipping to change at line 5330
DVPET_ALL = 0x00007FFF /* All event types */ DVPET_ALL = 0x00007FFF /* All event types */
} DFBVideoProviderEventType; } DFBVideoProviderEventType;
/* /*
* Surface Event Types - can also be used as flags for event filters. * Surface Event Types - can also be used as flags for event filters.
*/ */
typedef enum { typedef enum {
DSEVT_NONE = 0x00000000, DSEVT_NONE = 0x00000000,
DSEVT_DESTROYED = 0x00000001, /* surface got destroyed by global deinitialization function or the application itself */ DSEVT_DESTROYED = 0x00000001, /* surface got destroyed by global deinitialization function or the application itself */
DSEVT_UPDATE = 0x00000002, /* */ DSEVT_UPDATE = 0x00000002, /* */
DSEVT_ALL = 0x00000003 /* All event types */ DSEVT_DISPLAY = 0x00000004, /* */
DSEVT_ALL = 0x00000007 /* All event types */
} DFBSurfaceEventType; } DFBSurfaceEventType;
/* /*
* Event from the windowing system. * Event from the windowing system.
*/ */
typedef struct { typedef struct {
DFBEventClass clazz; /* clazz of event */ DFBEventClass clazz; /* clazz of event */
DFBWindowEventType type; /* type of event */ DFBWindowEventType type; /* type of event */
skipping to change at line 5358 skipping to change at line 5389
DFBInputDeviceLockState locks; /* active locks */ DFBInputDeviceLockState locks; /* active locks */
/* used by DWET_BUTTONDOWN, DWET_BUTTONUP */ /* used by DWET_BUTTONDOWN, DWET_BUTTONUP */
DFBInputDeviceButtonIdentifier button; /* button being DFBInputDeviceButtonIdentifier button; /* button being
pressed or released */ pressed or released */
/* used by DWET_MOTION, DWET_BUTTONDOWN, DWET_BUTTONUP */ /* used by DWET_MOTION, DWET_BUTTONDOWN, DWET_BUTTONUP */
DFBInputDeviceButtonMask buttons; /* mask of currently DFBInputDeviceButtonMask buttons; /* mask of currently
pressed buttons */ pressed buttons */
struct timeval timestamp; /* always set */ struct timeval timestamp; /* always set */
DFBInputDeviceID device_id;
} DFBWindowEvent; } DFBWindowEvent;
/* /*
* Video Provider Event Types - can also be used as flags for event filters . * Video Provider Event Types - can also be used as flags for event filters .
*/ */
typedef enum { typedef enum {
DVPEDST_UNKNOWN = 0x00000000, /* Event is valid for unknown Data */ DVPEDST_UNKNOWN = 0x00000000, /* Event is valid for unknown Data */
DVPEDST_AUDIO = 0x00000001, /* Event is valid for Audio Data */ DVPEDST_AUDIO = 0x00000001, /* Event is valid for Audio Data */
DVPEDST_VIDEO = 0x00000002, /* Event is valid for Video Data */ DVPEDST_VIDEO = 0x00000002, /* Event is valid for Video Data */
DVPEDST_DATA = 0x00000004, /* Event is valid for Data types */ DVPEDST_DATA = 0x00000004, /* Event is valid for Data types */
skipping to change at line 5391 skipping to change at line 5424
int data[4]; /* custom data - large en ough for 4 ints so that in most cases int data[4]; /* custom data - large en ough for 4 ints so that in most cases
memory allocation will not be needed */ memory allocation will not be needed */
} DFBVideoProviderEvent; } DFBVideoProviderEvent;
/* /*
* Event from surface * Event from surface
*/ */
typedef struct { typedef struct {
DFBEventClass clazz; /* clazz of event */ DFBEventClass clazz; /* clazz of event */
// all types
DFBSurfaceEventType type; /* type of event */ DFBSurfaceEventType type; /* type of event */
DFBSurfaceID surface_id; /* source of event */ DFBSurfaceID surface_id; /* source of event */
long long time_stamp; /* Micro seconds from DIR
ECT_CLOCK_MONOTONIC */
// DSEVT_UPDATE
DFBRegion update; DFBRegion update;
DFBRegion update_right; DFBRegion update_right;
unsigned int flip_count; /* Serial number of frame , modulo number of buffers = buffer index */ unsigned int flip_count; /* Serial number of frame , modulo number of buffers = buffer index */
long long time_stamp; /* Micro seconds from DIR // DSEVT_DISPLAY
ECT_CLOCK_MONOTONIC */ unsigned int index; /* Serial number of frame
, modulo number of buffers = buffer index */
} DFBSurfaceEvent; } DFBSurfaceEvent;
/* /*
* Event for usage by the user of this library. * Event for usage by the user of this library.
*/ */
typedef struct { typedef struct {
DFBEventClass clazz; /* clazz of event */ DFBEventClass clazz; /* clazz of event */
unsigned int type; /* custom type */ unsigned int type; /* custom type */
void *data; /* custom data */ void *data; /* custom data */
skipping to change at line 7132 skipping to change at line 7168
DFBBufferThresholds thresh DFBBufferThresholds thresh
); );
/* /*
* Get buffer thresholds for the Audio / Video playback. * Get buffer thresholds for the Audio / Video playback.
*/ */
DFBResult (*GetBufferThresholds) ( DFBResult (*GetBufferThresholds) (
IDirectFBVideoProvider *thiz, IDirectFBVideoProvider *thiz,
DFBBufferThresholds *ret_thresh DFBBufferThresholds *ret_thresh
); );
/** Playback **/
/*
* Update the video rendering into the specified rectangle
* of the destination surface.
*/
DFBResult (*SetDestination) (
IDirectFBVideoProvider *thiz,
IDirectFBSurface *destination,
const DFBRectangle *destination_rect
);
) )
/*********************** /***********************
* IDirectFBDataBuffer * * IDirectFBDataBuffer *
***********************/ ***********************/
/* /*
* <i>No summary yet...</i> * <i>No summary yet...</i>
*/ */
D_DEFINE_INTERFACE( IDirectFBDataBuffer, D_DEFINE_INTERFACE( IDirectFBDataBuffer,
 End of changes. 25 change blocks. 
112 lines changed or deleted 132 lines changed or added


 directfb_keyboard.h   directfb_keyboard.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 directfb_strings.h   directfb_strings.h 
skipping to change at line 52 skipping to change at line 52
{ DSPF_YUV444P, "YUV444P" }, \ { DSPF_YUV444P, "YUV444P" }, \
{ DSPF_ARGB8565, "ARGB8565" }, \ { DSPF_ARGB8565, "ARGB8565" }, \
{ DSPF_AVYU, "AVYU" }, \ { DSPF_AVYU, "AVYU" }, \
{ DSPF_VYU, "VYU" }, \ { DSPF_VYU, "VYU" }, \
{ DSPF_A1_LSB, "A1_LSB" }, \ { DSPF_A1_LSB, "A1_LSB" }, \
{ DSPF_YV16, "YV16" }, \ { DSPF_YV16, "YV16" }, \
{ DSPF_ABGR, "ABGR" }, \ { DSPF_ABGR, "ABGR" }, \
{ DSPF_RGBAF88871, "RGBAF88871" }, \ { DSPF_RGBAF88871, "RGBAF88871" }, \
{ DSPF_LUT4, "LUT4" }, \ { DSPF_LUT4, "LUT4" }, \
{ DSPF_ALUT8, "ALUT8" }, \ { DSPF_ALUT8, "ALUT8" }, \
{ DSPF_LUT1, "LUT1" }, \
{ DSPF_UNKNOWN, "UNKNOWN" } \ { DSPF_UNKNOWN, "UNKNOWN" } \
}; };
struct DFBPorterDuffRuleName {
DFBSurfacePorterDuffRule rule;
const char *name;
};
#define DirectFBPorterDuffRuleNames(Identifier) struct DFBPorterDuffRuleNam
e Identifier[] = { \
{ DSPD_CLEAR, "CLEAR" }, \
{ DSPD_SRC, "SRC" }, \
{ DSPD_SRC_OVER, "SRC_OVER" }, \
{ DSPD_DST_OVER, "DST_OVER" }, \
{ DSPD_SRC_IN, "SRC_IN" }, \
{ DSPD_DST_IN, "DST_IN" }, \
{ DSPD_SRC_OUT, "SRC_OUT" }, \
{ DSPD_DST_OUT, "DST_OUT" }, \
{ DSPD_SRC_ATOP, "SRC_ATOP" }, \
{ DSPD_DST_ATOP, "DST_ATOP" }, \
{ DSPD_ADD, "ADD" }, \
{ DSPD_XOR, "XOR" }, \
{ DSPD_DST, "DST" }, \
{ DSPD_NONE, "NONE" } \
};
struct DFBSurfaceCapabilitiesName {
DFBSurfaceCapabilities capability;
const char *name;
};
#define DirectFBSurfaceCapabilitiesNames(Identifier) struct DFBSurfaceCapab
ilitiesName Identifier[] = { \
{ DSCAPS_PRIMARY, "PRIMARY" }, \
{ DSCAPS_SYSTEMONLY, "SYSTEMONLY" }, \
{ DSCAPS_VIDEOONLY, "VIDEOONLY" }, \
{ DSCAPS_GL, "GL" }, \
{ DSCAPS_DOUBLE, "DOUBLE" }, \
{ DSCAPS_SUBSURFACE, "SUBSURFACE" }, \
{ DSCAPS_INTERLACED, "INTERLACED" }, \
{ DSCAPS_SEPARATED, "SEPARATED" }, \
{ DSCAPS_SEPARATED, "SEPARATED" }, \
{ DSCAPS_STATIC_ALLOC, "STATIC_ALLOC" }, \
{ DSCAPS_TRIPLE, "TRIPLE" }, \
{ DSCAPS_PREMULTIPLIED, "PREMULTIPLIED" }, \
{ DSCAPS_DEPTH, "DEPTH" }, \
{ DSCAPS_STEREO, "STEREO" }, \
{ DSCAPS_SHARED, "SHARED" }, \
{ DSCAPS_ROTATED, "ROTATED" }, \
{ DSCAPS_NONE, "NONE" } \
};
struct DFBColorSpaceName { struct DFBColorSpaceName {
DFBSurfaceColorSpace colorspace; DFBSurfaceColorSpace colorspace;
const char *name; const char *name;
}; };
#define DirectFBColorSpaceNames(Identifier) struct DFBColorSpaceName Identi fier[] = { \ #define DirectFBColorSpaceNames(Identifier) struct DFBColorSpaceName Identi fier[] = { \
{ DSCS_RGB, "RGB" }, \ { DSCS_RGB, "RGB" }, \
{ DSCS_BT601, "BT601" }, \ { DSCS_BT601, "BT601" }, \
{ DSCS_BT601_FULLRANGE, "BT601_FULLRANGE" }, \ { DSCS_BT601_FULLRANGE, "BT601_FULLRANGE" }, \
{ DSCS_BT709, "BT709" }, \ { DSCS_BT709, "BT709" }, \
skipping to change at line 123 skipping to change at line 171
{ DSBLIT_XOR, "XOR" }, \ { DSBLIT_XOR, "XOR" }, \
{ DSBLIT_INDEX_TRANSLATION, "INDEX_TRANSLATION" }, \ { DSBLIT_INDEX_TRANSLATION, "INDEX_TRANSLATION" }, \
{ DSBLIT_ROTATE90, "ROTATE90" }, \ { DSBLIT_ROTATE90, "ROTATE90" }, \
{ DSBLIT_ROTATE180, "ROTATE180" }, \ { DSBLIT_ROTATE180, "ROTATE180" }, \
{ DSBLIT_ROTATE270, "ROTATE270" }, \ { DSBLIT_ROTATE270, "ROTATE270" }, \
{ DSBLIT_COLORKEY_PROTECT, "COLORKEY_PROTECT" }, \ { DSBLIT_COLORKEY_PROTECT, "COLORKEY_PROTECT" }, \
{ DSBLIT_SRC_COLORKEY_EXTENDED, "SRC_COLORKEY_EXTENDED" }, \ { DSBLIT_SRC_COLORKEY_EXTENDED, "SRC_COLORKEY_EXTENDED" }, \
{ DSBLIT_DST_COLORKEY_EXTENDED, "DST_COLORKEY_EXTENDED" }, \ { DSBLIT_DST_COLORKEY_EXTENDED, "DST_COLORKEY_EXTENDED" }, \
{ DSBLIT_SRC_MASK_ALPHA, "SRC_MASK_ALPHA" }, \ { DSBLIT_SRC_MASK_ALPHA, "SRC_MASK_ALPHA" }, \
{ DSBLIT_SRC_MASK_COLOR, "SRC_MASK_COLOR" }, \ { DSBLIT_SRC_MASK_COLOR, "SRC_MASK_COLOR" }, \
{ DSBLIT_SOURCE2, "SOURCE2" }, \
{ DSBLIT_FLIP_HORIZONTAL, "FLIP_HORIZONTAL" }, \ { DSBLIT_FLIP_HORIZONTAL, "FLIP_HORIZONTAL" }, \
{ DSBLIT_FLIP_VERTICAL, "FLIP_VERTICAL" }, \ { DSBLIT_FLIP_VERTICAL, "FLIP_VERTICAL" }, \
{ DSBLIT_ROP, "ROP" }, \ { DSBLIT_ROP, "ROP" }, \
{ DSBLIT_SRC_COLORMATRIX, "SRC_COLORMATRIX" }, \ { DSBLIT_SRC_COLORMATRIX, "SRC_COLORMATRIX" }, \
{ DSBLIT_SRC_CONVOLUTION, "SRC_CONVOLUTION" }, \ { DSBLIT_SRC_CONVOLUTION, "SRC_CONVOLUTION" }, \
{ DSBLIT_NOFX, "NOFX" } \ { DSBLIT_NOFX, "NOFX" } \
}; };
struct DFBSurfaceFlipFlagsName {
DFBSurfaceFlipFlags flag;
const char *name;
};
#define DirectFBSurfaceFlipFlagsNames(Identifier) struct DFBSurfaceFlipFlag
sName Identifier[] = { \
{ DSFLIP_WAIT, "WAIT" }, \
{ DSFLIP_BLIT, "BLIT" }, \
{ DSFLIP_ONSYNC, "ONSYNC" }, \
{ DSFLIP_WAIT, "WAIT" }, \
{ DSFLIP_PIPELINE, "PIPELINE" }, \
{ DSFLIP_ONCE, "ONCE" }, \
{ DSFLIP_QUEUE, "QUEUE" }, \
{ DSFLIP_FLUSH, "FLUSH" }, \
{ DSFLIP_SWAP, "SWAP" }, \
{ DSFLIP_UPDATE, "UPDATE" }, \
{ DSFLIP_WAITFORSYNC, "WAITFORSYNC" }, \
{ DSFLIP_NONE, "NONE" } \
};
struct DFBSurfaceBlendFunctionName { struct DFBSurfaceBlendFunctionName {
DFBSurfaceBlendFunction function; DFBSurfaceBlendFunction function;
const char *name; const char *name;
}; };
#define DirectFBSurfaceBlendFunctionNames(Identifier) struct DFBSurfaceBlen dFunctionName Identifier[] = { \ #define DirectFBSurfaceBlendFunctionNames(Identifier) struct DFBSurfaceBlen dFunctionName Identifier[] = { \
{ DSBF_ZERO, "ZERO" }, \ { DSBF_ZERO, "ZERO" }, \
{ DSBF_ONE, "ONE" }, \ { DSBF_ONE, "ONE" }, \
{ DSBF_SRCCOLOR, "SRCCOLOR" }, \ { DSBF_SRCCOLOR, "SRCCOLOR" }, \
{ DSBF_INVSRCCOLOR, "INVSRCCOLOR" }, \ { DSBF_INVSRCCOLOR, "INVSRCCOLOR" }, \
skipping to change at line 420 skipping to change at line 487
{ DSOR_1152_864, "1152_864" }, \ { DSOR_1152_864, "1152_864" }, \
{ DSOR_1280_720, "1280_720" }, \ { DSOR_1280_720, "1280_720" }, \
{ DSOR_1280_768, "1280_768" }, \ { DSOR_1280_768, "1280_768" }, \
{ DSOR_1280_960, "1280_960" }, \ { DSOR_1280_960, "1280_960" }, \
{ DSOR_1280_1024, "1280_1024" }, \ { DSOR_1280_1024, "1280_1024" }, \
{ DSOR_1400_1050, "1400_1050" }, \ { DSOR_1400_1050, "1400_1050" }, \
{ DSOR_1600_1200, "1600_1200" }, \ { DSOR_1600_1200, "1600_1200" }, \
{ DSOR_1920_1080, "1920_1080" }, \ { DSOR_1920_1080, "1920_1080" }, \
{ DSOR_960_540, "960_540" }, \ { DSOR_960_540, "960_540" }, \
{ DSOR_1440_540, "1440_540" }, \ { DSOR_1440_540, "1440_540" }, \
{ DSOR_800_480, "800_480" }, \
{ DSOR_1024_600, "1024_600" }, \
{ DSOR_1366_768, "1366_768" }, \
{ DSOR_1920_1200, "1920_1200" }, \
{ DSOR_2560_1440, "2560_1440" }, \
{ DSOR_2560_1600, "2560_1600" }, \
{ DSOR_UNKNOWN, "UNKNOWN" } \ { DSOR_UNKNOWN, "UNKNOWN" } \
}; };
struct DFBScreenMixerCapabilitiesName { struct DFBScreenMixerCapabilitiesName {
DFBScreenMixerCapabilities capability; DFBScreenMixerCapabilities capability;
const char *name; const char *name;
}; };
#define DirectFBScreenMixerCapabilitiesNames(Identifier) struct DFBScreenMi xerCapabilitiesName Identifier[] = { \ #define DirectFBScreenMixerCapabilitiesNames(Identifier) struct DFBScreenMi xerCapabilitiesName Identifier[] = { \
{ DSMCAPS_FULL, "FULL" }, \ { DSMCAPS_FULL, "FULL" }, \
skipping to change at line 545 skipping to change at line 618
const char *name; const char *name;
}; };
#define DirectFBAccelerationMaskNames(Identifier) struct DFBAccelerationMas kName Identifier[] = { \ #define DirectFBAccelerationMaskNames(Identifier) struct DFBAccelerationMas kName Identifier[] = { \
{ DFXL_FILLRECTANGLE, "FILLRECTANGLE" }, \ { DFXL_FILLRECTANGLE, "FILLRECTANGLE" }, \
{ DFXL_DRAWRECTANGLE, "DRAWRECTANGLE" }, \ { DFXL_DRAWRECTANGLE, "DRAWRECTANGLE" }, \
{ DFXL_DRAWLINE, "DRAWLINE" }, \ { DFXL_DRAWLINE, "DRAWLINE" }, \
{ DFXL_FILLTRIANGLE, "FILLTRIANGLE" }, \ { DFXL_FILLTRIANGLE, "FILLTRIANGLE" }, \
{ DFXL_FILLTRAPEZOID, "FILLTRAPEZOID" }, \ { DFXL_FILLTRAPEZOID, "FILLTRAPEZOID" }, \
{ DFXL_FILLQUADRANGLE, "FILLQUADRANGLE" }, \ { DFXL_FILLQUADRANGLE, "FILLQUADRANGLE" }, \
{ DFXL_FILLSPAN, "FILLSPAN" }, \
{ DFXL_DRAWMONOGLYPH, "DRAWMONOGLYPH" }, \ { DFXL_DRAWMONOGLYPH, "DRAWMONOGLYPH" }, \
{ DFXL_BLIT, "BLIT" }, \ { DFXL_BLIT, "BLIT" }, \
{ DFXL_STRETCHBLIT, "STRETCHBLIT" }, \ { DFXL_STRETCHBLIT, "STRETCHBLIT" }, \
{ DFXL_TEXTRIANGLES, "TEXTRIANGLES" }, \ { DFXL_TEXTRIANGLES, "TEXTRIANGLES" }, \
{ DFXL_BLIT2, "BLIT2" }, \ { DFXL_BLIT2, "BLIT2" }, \
{ DFXL_TILEBLIT, "TILEBLIT" }, \
{ DFXL_DRAWSTRING, "DRAWSTRING" }, \ { DFXL_DRAWSTRING, "DRAWSTRING" }, \
{ DFXL_NONE, "NONE" } \ { DFXL_NONE, "NONE" } \
}; };
#endif #endif
 End of changes. 7 change blocks. 
1 lines changed or deleted 79 lines changed or added


 directfb_util.h   directfb_util.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 directfb_version.h   directfb_version.h 
skipping to change at line 33 skipping to change at line 33
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __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 (6) #define DIRECTFB_MINOR_VERSION (7)
#define DIRECTFB_MICRO_VERSION (3) #define DIRECTFB_MICRO_VERSION (0)
#define DIRECTFB_BINARY_AGE (3) #define DIRECTFB_BINARY_AGE (0)
#define DIRECTFB_INTERFACE_AGE (0) #define DIRECTFB_INTERFACE_AGE (0)
#endif /* __DIRECTFB_VERSION_H__ */ #endif /* __DIRECTFB_VERSION_H__ */
 End of changes. 1 change blocks. 
3 lines changed or deleted 3 lines changed or added


 directfb_water.h   directfb_water.h 
/* /*
(c) Copyright 2001-2008 The DirectFB Organization (directfb.org) (c) Copyright 2012-2013 DirectFB integrated media GmbH
(c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
2 lines changed or deleted 5 lines changed or added


 directfb_windows.h   directfb_windows.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 directfbgl.h   directfbgl.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 directfbgl2.h   directfbgl2.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 dummy.h   dummy.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 fastlz.h   fastlz.h 
/* /*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 fbdev.h   fbdev.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 fifo.h   fifo.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 33 skipping to change at line 35
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __DIRECT__FIFO_H__ #ifndef __DIRECT__FIFO_H__
#define __DIRECT__FIFO_H__ #define __DIRECT__FIFO_H__
#include <direct/debug.h> #include <direct/debug.h>
#include <direct/types.h> #include <direct/list.h>
struct __D_DirectFifoItem { struct __D_DirectFifoItem {
DirectFifoItem *next; /* MUST BE FIRST for D_SYNC_PUSH!!! */ DirectLink link;
int magic; int magic;
}; };
struct __D_DirectFifo { struct __D_DirectFifo {
// DirectFifoItem item;
int magic; int magic;
// int count; DirectMutex lock;
int waiting; DirectWaitQueue wq;
DirectFifoItem *in;
DirectFifoItem *out;
// DirectFifo *up; DirectLink *items;
// DirectFifo *down;
int waiting;
bool wake; bool wake;
}; };
/************************************************************************** ********************************************/ /************************************************************************** ********************************************/
void DIRECT_API direct_fifo_init ( DirectFifo *fifo ); void DIRECT_API direct_fifo_init ( DirectFifo *fifo );
void DIRECT_API direct_fifo_destroy( DirectFifo *fifo ); void DIRECT_API direct_fifo_destroy( DirectFifo *fifo );
/************************************************************************** ********************************************/ /************************************************************************** ********************************************/
 End of changes. 8 change blocks. 
14 lines changed or deleted 11 lines changed or added


 filesystem.h   filesystem.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 fonts.h   fonts.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 fusion.h   fusion.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 generic.h   generic.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 74 skipping to change at line 76
int length; /* span length */ int length; /* span length */
int Slen; /* span length (source) */ int Slen; /* span length (source) */
int Dlen; /* span length (destination) */ int Dlen; /* span length (destination) */
/* /*
* state values * state values
*/ */
void *dst_org[3]; void *dst_org[3];
void *src_org[3]; void *src_org[3];
void *mask_org[3];
int dst_pitch; int dst_pitch;
int src_pitch; int src_pitch;
int mask_pitch;
int dst_bpp; int dst_bpp;
int src_bpp; int src_bpp;
int mask_bpp;
DFBSurfaceCapabilities dst_caps; DFBSurfaceCapabilities dst_caps;
DFBSurfaceCapabilities src_caps; DFBSurfaceCapabilities src_caps;
DFBSurfaceCapabilities mask_caps;
DFBSurfacePixelFormat src_format;
DFBSurfacePixelFormat dst_format; DFBSurfacePixelFormat dst_format;
DFBSurfacePixelFormat src_format;
DFBSurfacePixelFormat mask_format;
int dst_height; int dst_height;
int src_height; int src_height;
int mask_height;
int dst_field_offset; int dst_field_offset;
int src_field_offset; int src_field_offset;
int mask_field_offset;
DFBColor color; DFBColor color;
/* /*
* operands * operands
*/ */
void *Aop[3]; void *Aop[3];
void *Bop[3]; void *Bop[3];
void *Mop[3];
u32 Cop; u32 Cop;
int Astep; int Astep;
int Bstep; int Bstep;
u8 YCop; u8 YCop;
u8 CbCop; u8 CbCop;
u8 CrCop; u8 CrCop;
int Aop_field; int Aop_field;
int Bop_field; int Bop_field;
int Mop_field;
int AopY; int AopY;
int BopY; int BopY;
int MopY;
int s; int s;
int t; int t;
/* /*
* color keys * color keys
*/ */
u32 Dkey; u32 Dkey;
u32 Skey; u32 Skey;
skipping to change at line 181 skipping to change at line 193
/************************************************************************** ********************************************/ /************************************************************************** ********************************************/
void gGetDriverInfo( GraphicsDriverInfo *info ); void gGetDriverInfo( GraphicsDriverInfo *info );
void gGetDeviceInfo( GraphicsDeviceInfo *info ); void gGetDeviceInfo( GraphicsDeviceInfo *info );
bool gAcquire ( CardState *state, DFBAccelerationMask accel ); bool gAcquire ( CardState *state, DFBAccelerationMask accel );
bool gAcquire2( CardState *state, DFBAccelerationMask accel ); bool gAcquire2( CardState *state, DFBAccelerationMask accel );
void gRelease ( CardState *state ); void gRelease ( CardState *state );
bool gAcquireCheck( CardState *state, DFBAccelerationMask accel );
bool gAcquireSetup( CardState *state, DFBAccelerationMask accel );
void gFillRectangle ( CardState *state, DFBRectangle *rect ); void gFillRectangle ( CardState *state, DFBRectangle *rect );
void gDrawLine ( CardState *state, DFBRegion *line ); void gDrawLine ( CardState *state, DFBRegion *line );
void gBlit ( CardState *state, DFBRectangle *rect, int dx, int dy ); void gBlit ( CardState *state, DFBRectangle *rect, int dx, int dy );
void gStretchBlit ( CardState *state, DFBRectangle *srect, DFBRectangle * drect ); void gStretchBlit ( CardState *state, DFBRectangle *srect, DFBRectangle * drect );
void Genefx_TextureTriangles( CardState *state, void Genefx_TextureTriangles( CardState *state,
DFBVertex *vertices, DFBVertex *vertices,
int num, int num,
DFBTriangleFormation formation, DFBTriangleFormation formation,
skipping to change at line 219 skipping to change at line 234
/************************************************************************** ********************************************/ /************************************************************************** ********************************************/
#define CHECK_PIPELINE() \ #define CHECK_PIPELINE() \
{ \ { \
if (!gfxs->funcs[0]) \ if (!gfxs->funcs[0]) \
return; \ return; \
\ \
if (dfb_config->software_trace) { \ if (dfb_config->software_trace) { \
int i; \ int i; \
GenefxFunc *funcs = gfxs->funcs; \ GenefxFunc *funcs = gfxs->funcs; \
DirectLog *log = direct_log_default(); \
\ \
direct_log_lock( NULL ); direct_log_lock( log );
\ \
direct_log_printf( NULL, " Software Fallback Pipeline:\n" ) direct_log_printf( log, " Software Fallback Pipeline:\n" );
; \ \
\ \
for (i=0; funcs[i]; ++i) \ for (i=0; funcs[i]; ++i) \
direct_log_printf( NULL, " [%2d] %s\n", i, \ direct_log_printf( log, " [%2d] %s\n", i, \
direct_trace_lookup_symbol_at( funcs [i] ) ); \ direct_trace_lookup_symbol_at( funcs [i] ) ); \
\ \
direct_log_printf( NULL, "\n" ); direct_log_printf( log, "\n" );
\ \
direct_log_unlock( NULL ); direct_log_unlock( log );
\ \
} \ } \
} }
#define RUN_PIPELINE() \ #define RUN_PIPELINE() \
{ \ { \
int i; \ int i; \
GenefxFunc *funcs = gfxs->funcs; \ GenefxFunc *funcs = gfxs->funcs; \
\ \
for (i=0; funcs[i]; ++i) \ for (i=0; funcs[i]; ++i) \
funcs[i]( gfxs ); \ funcs[i]( gfxs ); \
skipping to change at line 261 skipping to change at line 277
void Genefx_Aop_next( GenefxState *gfxs ); void Genefx_Aop_next( GenefxState *gfxs );
void Genefx_Aop_prev( GenefxState *gfxs ); void Genefx_Aop_prev( GenefxState *gfxs );
void Genefx_Bop_xy( GenefxState *gfxs, int x, int y ); void Genefx_Bop_xy( GenefxState *gfxs, int x, int y );
void Genefx_Bop_next( GenefxState *gfxs ); void Genefx_Bop_next( GenefxState *gfxs );
void Genefx_Bop_prev( GenefxState *gfxs ); void Genefx_Bop_prev( GenefxState *gfxs );
void Genefx_Mop_xy( GenefxState *gfxs, int x, int y );
void Genefx_Mop_next( GenefxState *gfxs );
void Genefx_Mop_prev( GenefxState *gfxs );
/************************************************************************** ********************************************/ /************************************************************************** ********************************************/
bool Genefx_ABacc_prepare( GenefxState *gfxs, int width ); bool Genefx_ABacc_prepare( GenefxState *gfxs, int width );
void Genefx_ABacc_flush( GenefxState *gfxs ); void Genefx_ABacc_flush( GenefxState *gfxs );
#endif #endif
 End of changes. 19 change blocks. 
13 lines changed or deleted 35 lines changed or added


 gfx_util.h   gfx_util.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
Scaling routines ported from gdk_pixbuf by Sven Neumann Scaling routines ported from gdk_pixbuf by Sven Neumann
<sven@convergence.de>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
 End of changes. 3 change blocks. 
4 lines changed or deleted 5 lines changed or added


 gfxcard.h   gfxcard.h 
/* /*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 317 skipping to change at line 319
void (*StateInit) ( void *driver_data, void *device_data, CardState *state ); void (*StateInit) ( void *driver_data, void *device_data, CardState *state );
void (*StateDestroy)( void *driver_data, void *device_data, CardState *state ); void (*StateDestroy)( void *driver_data, void *device_data, CardState *state );
/* /*
* Calculate the amount of memory and pitch for the specified * Calculate the amount of memory and pitch for the specified
* surface buffer. * surface buffer.
*/ */
DFBResult (*CalcBufferSize)( void *driver_data, void *device_data, DFBResult (*CalcBufferSize)( void *driver_data, void *device_data,
CoreSurfaceBuffer *buffer, CoreSurfaceBuffer *buffer,
int *ret_pitch, int *ret_length ); int *ret_pitch, int *ret_length );
bool (*FillSpans) ( void *driver_data, void *device_data,
int y,
const DFBSpan *spans,
unsigned int num_spans );
} GraphicsDeviceFuncs; } GraphicsDeviceFuncs;
typedef struct { typedef struct {
int (*Probe) (CoreGraphicsDevice *device); int (*Probe) (CoreGraphicsDevice *device);
void (*GetDriverInfo) (CoreGraphicsDevice *device, void (*GetDriverInfo) (CoreGraphicsDevice *device,
GraphicsDriverInfo *driver_info); GraphicsDriverInfo *driver_info);
DFBResult (*InitDriver) (CoreGraphicsDevice *device, DFBResult (*InitDriver) (CoreGraphicsDevice *device,
GraphicsDeviceFuncs *funcs, GraphicsDeviceFuncs *funcs,
void *driver_data, void *driver_data,
skipping to change at line 465 skipping to change at line 472
unsigned int layers, unsigned int layers,
CoreGraphicsStateClient *client ) ; 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,
CoreGraphicsStateClient *client ) ; CoreGraphicsStateClient *client ) ;
bool dfb_gfxcard_drawstring_check_state ( CoreFont *font, bool dfb_gfxcard_drawstring_check_state ( CoreFont *font,
CardState *state ); CardState *state,
CoreGraphicsStateClient *client )
;
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 );
skipping to change at line 570 skipping to change at line 578
/* /*
* Points to the current state of the graphics card. * Points to the current state of the graphics card.
*/ */
CardState *state; CardState *state;
FusionID holder; /* Fusion ID of state owner. */ FusionID holder; /* Fusion ID of state owner. */
FusionObjectID last_allocation_id; FusionObjectID last_allocation_id;
DFBAccelerationMask last_op; DFBAccelerationMask last_op;
bool pending_ops; bool pending_ops;
long long ts_start;
long long ts_busy;
long long ts_busy_sum;
} DFBGraphicsCoreShared; } DFBGraphicsCoreShared;
struct __DFB_DFBGraphicsCore { struct __DFB_DFBGraphicsCore {
int magic; int magic;
CoreDFB *core; CoreDFB *core;
DFBGraphicsCoreShared *shared; DFBGraphicsCoreShared *shared;
DirectModuleEntry *module; DirectModuleEntry *module;
skipping to change at line 591 skipping to change at line 603
void *driver_data; void *driver_data;
void *device_data; /* copy of shared->device_data */ void *device_data; /* copy of shared->device_data */
CardCapabilities caps; /* local caps */ CardCapabilities caps; /* local caps */
CardLimitations limits; /* local limits */ CardLimitations limits; /* local limits */
GraphicsDeviceFuncs funcs; GraphicsDeviceFuncs funcs;
}; };
void dfb_gfxcard_update_stats( DFBGraphicsCore *card,
long long now );
void dfb_gfxcard_switch_busy ( DFBGraphicsCore *card );
void dfb_gfxcard_switch_idle ( DFBGraphicsCore *card );
#endif #endif
 End of changes. 6 change blocks. 
5 lines changed or deleted 23 lines changed or added


 graphics_driver.h   graphics_driver.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 graphics_state.h   graphics_state.h 
/* /*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 46 skipping to change at line 48
#include <core/state.h> #include <core/state.h>
struct __DFB_CoreGraphicsState { struct __DFB_CoreGraphicsState {
FusionObject object; FusionObject object;
int magic; int magic;
FusionCall call; FusionCall call;
CardState state; CardState state;
/* DFB_Renderer *renderer;
* New state logic
*/
StateModificationFlags modified;
bool hw;
DFBAccelerationMask sw;
StateModificationFlags mod_sw;
}; };
typedef enum { typedef enum {
CGSNF_NONE = 0x00000000 CGSNF_NONE = 0x00000000,
CGSNF_DONE = 0x00000001,
} CoreGraphicsStateNotificationFlags; } CoreGraphicsStateNotificationFlags;
typedef struct { typedef struct {
CoreGraphicsStateNotificationFlags flags; CoreGraphicsStateNotificationFlags flags;
u32 cookie;
} CoreGraphicsStateNotification; } CoreGraphicsStateNotification;
DFBResult dfb_graphics_state_create( CoreDFB *core, DFBResult dfb_graphics_state_create( CoreDFB *core,
CoreGraphicsState **ret_state ); CoreGraphicsState **ret_state );
/* /*
* Creates a pool of graphics state objects. * Creates a pool of graphics state objects.
*/ */
FusionObjectPool *dfb_graphics_state_pool_create( const FusionWorld *world ); FusionObjectPool *dfb_graphics_state_pool_create( const FusionWorld *world );
/* /*
* Dispatches a notification about rendering done
*/
void dfb_graphics_state_dispatch_done( CoreGraphicsState *state,
u32 cookie );
/*
* Generates dfb_graphics_state_ref(), dfb_graphics_state_attach() etc. * Generates dfb_graphics_state_ref(), dfb_graphics_state_attach() etc.
*/ */
FUSION_OBJECT_METHODS( CoreGraphicsState, dfb_graphics_state ) FUSION_OBJECT_METHODS( CoreGraphicsState, dfb_graphics_state )
#endif #endif
 End of changes. 6 change blocks. 
13 lines changed or deleted 17 lines changed or added


 idirectfb.h   idirectfb.h 
/* /*
(c) Copyright 2001-2010 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFB_H__ #ifndef IDIRECTFB_H
#define __IDIRECTFB_H__ #define IDIRECTFB_H
#include <directfb.h> #ifndef DFBPP_H
#error Please include ++dfb.h only.
#include <fusion/reactor.h> #endif
#include <core/coredefs.h>
#include <core/coretypes.h>
/*
* private data struct of IDirectFB
*/
typedef struct {
int ref; /* reference counter */
CoreDFB *core;
DFBCooperativeLevel level; /* current cooperative level */
CoreLayer *layer; /* primary display layer */
CoreLayerContext *context; /* shared context of primary lay
er */
CoreWindowStack *stack; /* window stack of primary layer
*/
struct {
int width; /* IDirectFB stores window width
*/
int height; /* and height and the pixel dept
h */
DFBSurfacePixelFormat format; /* from SetVideoMode() parameter
s. */
DFBSurfaceColorSpace colorspace; /* from SetVideoMode() paramet
ers. */
CoreWindow *window; /* implicitly created window */
Reaction reaction; /* for the focus listener */
bool focused; /* primary's window has the focu
s */
CoreLayerContext *context; /* context for fullscreen primar
y */
DFBWindowOptions window_options;
} primary; /* Used for DFSCL_NORMAL's prima
ry. */
bool app_focus;
struct {
CoreLayer *layer;
CoreLayerContext *context;
CoreLayerRegion *region;
CoreSurface *surface;
CorePalette *palette;
} layers[MAX_LAYERS];
bool init_done;
DirectMutex init_lock;
DirectWaitQueue init_wq;
} IDirectFB_data;
/*
* IDirectFB constructor/destructor
*/
DFBResult IDirectFB_Construct ( IDirectFB *thiz,
CoreDFB *core );
void IDirectFB_Destruct ( IDirectFB *thiz );
DFBResult IDirectFB_SetAppFocus( IDirectFB *thiz,
DFBBoolean focused );
/*
* Remove the event buffer element from the internally managed linked list
of
* connections between event buffers created by
* IDirectFB::CreateInputEventBuffer and input devices that are hot-plugged
in.
*/
void containers_remove_input_eventbuffer( IDirectFBEventBuffer *thiz )
;
DFBResult IDirectFB_InitLayers( IDirectFB *thiz );
DFBResult IDirectFB_WaitInitialised( IDirectFB *thiz );
extern IDirectFB *idirectfb_singleton; class IDirectFB :public IPPAny<IDirectFB, IDirectFB_C>{
public:
PPDFB_API IDirectFB(IDirectFB_C *myptr = NULL):IPPAny<IDirectFB, IDire
ctFB_C>(myptr){}
PPDFB_API ~IDirectFB(){}
void PPDFB_API SetCooperativeLevel (DFBCooperati
veLevel level);
void PPDFB_API SetVideoMode (unsigned int
width,
unsigned int
height,
unsigned int
bpp);
void PPDFB_API GetDeviceDescription (DFBGraphicsD
eviceDescription *desc);
void PPDFB_API EnumVideoModes (DFBVideoMode
Callback callback,
void
*callbackdata);
IDirectFBSurface PPDFB_API CreateSurface (DFBSurfaceDe
scription &desc) const;
IDirectFBPalette PPDFB_API CreatePalette (DFBPaletteDe
scription &desc);
void PPDFB_API EnumScreens (DFBScreenCal
lback callback,
void
*callbackdata);
IDirectFBScreen PPDFB_API GetScreen (DFBScreenID
screen_id);
void PPDFB_API EnumDisplayLayers (DFBDisplayLa
yerCallback callback,
void
*callbackdata);
IDirectFBDisplayLayer PPDFB_API GetDisplayLayer (DFBDisplayLa
yerID layer_id);
void PPDFB_API EnumInputDevices (DFBInputDevi
ceCallback callback,
void
*callbackdata) const;
IDirectFBInputDevice PPDFB_API GetInputDevice (DFBInputDevi
ceID device_id) const;
IDirectFBEventBuffer PPDFB_API CreateEventBuffer () const;
IDirectFBEventBuffer PPDFB_API CreateInputEventBuffer (DFBInputDevi
ceCapabilities caps,
DFBBoolean
global = DFB_FALSE);
IDirectFBImageProvider PPDFB_API CreateImageProvider (const char
*filename) const;
IDirectFBVideoProvider PPDFB_API CreateVideoProvider (const char
*filename);
IDirectFBFont PPDFB_API CreateFont (const char
*filename,
DFBFontDescr
iption &desc) const ;
IDirectFBDataBuffer PPDFB_API CreateDataBuffer (DFBDataBuffe
rDescription &desc);
struct timeval PPDFB_API SetClipboardData (const char
*mime_type,
const void
*data,
unsigned int
size);
void PPDFB_API GetClipboardData (char
**mime_type,
void
**data,
unsigned int
*size);
struct timeval PPDFB_API GetClipboardTimeStamp ();
void PPDFB_API Suspend ();
void PPDFB_API Resume ();
void PPDFB_API WaitIdle ();
void PPDFB_API WaitForSync ();
void PPDFB_API *GetInterface (const char
*type,
const char
*implementation,
void
*arg);
IDirectFBSurface PPDFB_API GetSurface (DFBSurfaceID
surface_id) const;
inline IDirectFB PPDFB_API & operator = (const IDirectFB& other){
return IPPAny<IDirectFB, IDirectFB_C>::operator =(other);
}
inline IDirectFB PPDFB_API & operator = (IDirectFB_C* other){
return IPPAny<IDirectFB, IDirectFB_C>::operator =(other);
}
};
#endif #endif
 End of changes. 5 change blocks. 
88 lines changed or deleted 109 lines changed or added


 idirectfbdatabuffer.h   idirectfbdatabuffer.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFBDATABUFFER_H__ #ifndef IDIRECTFBDATABUFFER_H
#define __IDIRECTFBDATABUFFER_H__ #define IDIRECTFBDATABUFFER_H
#include <core/core.h> #ifndef DFBPP_H
#error Please include ++dfb.h only.
#include <fusion/call.h> #endif
/*
* private data struct of IDirectFBDataBuffer
*/
typedef struct {
int ref; /* reference counter */
char *filename; /* Only set if databuffer is created from fil
e. */
CoreDFB *core;
IDirectFB *idirectfb;
bool is_memory;
FusionCall call; /* for remote access */
} IDirectFBDataBuffer_data;
/*
* private data struct of IDirectFBDataBuffer_File
*/
typedef struct {
IDirectFBDataBuffer_data base;
DirectStream *stream;
DirectMutex mutex;
} IDirectFBDataBuffer_File_data;
/*
* private data struct of IDirectFBDataBuffer_Memory
*/
typedef struct {
IDirectFBDataBuffer_data base;
const void *buffer;
unsigned int length;
unsigned int pos;
} IDirectFBDataBuffer_Memory_data;
/*
* base constructor
*
* If the databuffer is created for a file, the filename can be provided
* for fallbacks.
*/
DFBResult IDirectFBDataBuffer_Construct( IDirectFBDataBuffer *thiz,
const char *filename,
CoreDFB *core,
IDirectFB *idirectfb );
/*
* base destructor
*/
void IDirectFBDataBuffer_Destruct( IDirectFBDataBuffer *thiz );
/* class IDirectFBDataBuffer : public IPPAny<IDirectFBDataBuffer, IDirectFBDat
* generic streamed data buffer aBuffer_C> {
*/ friend
DFBResult IDirectFBDataBuffer_Streamed_Construct( IDirectFBDataBuffer *thiz class IDirectFB;
,
CoreDFB *core public:
, PPDFB_API IDirectFBDataBuffer(IDirectFBDataBuffer_C *myptr=NULL):IPPAn
IDirectFB *idir y<IDirectFBDataBuffer, IDirectFBDataBuffer_C>(myptr){}
ectfb );
void PPDFB_API Flush ();
void PPDFB_API Finish ();
void PPDFB_API SeekTo (unsigned in
t offset);
unsigned int PPDFB_API GetPosition ();
unsigned int PPDFB_API GetLength ();
void PPDFB_API WaitForData (unsigned in
t length);
void PPDFB_API WaitForDataWithTimeout (unsigned in
t length,
unsigned in
t seconds,
unsigned in
t milli_seconds);
unsigned int PPDFB_API GetData (unsigned in
t length,
void
*data);
unsigned int PPDFB_API PeekData (unsigned in
t length,
int
offset,
void
*data);
bool PPDFB_API HasData ();
void PPDFB_API PutData (const void
*data,
unsigned in
t length);
IDirectFBImageProvider PPDFB_API CreateImageProvider ();
IDirectFBVideoProvider PPDFB_API CreateVideoProvider ();
inline IDirectFBDataBuffer PPDFB_API & operator = (const IDirectFBData
Buffer& other){
return IPPAny<IDirectFBDataBuffer, IDirectFBDataBuffer_C>::operat
or =(other);
}
inline IDirectFBDataBuffer PPDFB_API & operator = (IDirectFBDataBuffer
_C* other){
return IPPAny<IDirectFBDataBuffer, IDirectFBDataBuffer_C>::operat
or =(other);
}
/* };
* file based static data buffer
*/
DFBResult IDirectFBDataBuffer_File_Construct( IDirectFBDataBuffer *thiz,
const char *filename
,
CoreDFB *core,
IDirectFB *idirectf
b );
/*
* memory based static data buffer
*/
DFBResult IDirectFBDataBuffer_Memory_Construct( IDirectFBDataBuffer *thiz,
const void *data,
unsigned int length
,
CoreDFB *core,
IDirectFB *idirec
tfb );
#endif #endif
 End of changes. 6 change blocks. 
91 lines changed or deleted 67 lines changed or added


 idirectfbdatabuffer_client.h   idirectfbdatabuffer_client.h 
/* /*
(c) Copyright 2001-2010 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 idirectfbdisplaylayer.h   idirectfbdisplaylayer.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFBDISPLAYLAYER_H__ #ifndef IDIRECTFBDISPLAYLAYER_H
#define __IDIRECTFBDISPLAYLAYER_H__ #define IDIRECTFBDISPLAYLAYER_H
#include <directfb.h> #ifndef DFBPP_H
#include <core/coretypes.h> #error Please include ++dfb.h only.
#endif
/* class IDirectFBDisplayLayer : public IPPAny<IDirectFBDisplayLayer, IDirectF
* initializes interface struct and private data BDisplayLayer_C> {
*/ friend
DFBResult IDirectFBDisplayLayer_Construct( IDirectFBDisplayLayer *thiz, class IDirectFB;
CoreLayer *layer,
CoreDFB *core, public:
IDirectFB *idirectfb PPDFB_API IDirectFBDisplayLayer(IDirectFBDisplayLayer_C* myptr=NULL):I
); PPAny<IDirectFBDisplayLayer, IDirectFBDisplayLayer_C>(myptr){}
DFBDisplayLayerID PPDFB_API GetID ();
DFBDisplayLayerDescription
PPDFB_API GetDescription ();
void PPDFB_API GetSourceDescriptions (DFBDisplayLaye
rSourceDescription *desc);
IDirectFBSurface PPDFB_API GetSurface ();
IDirectFBScreen PPDFB_API GetScreen ();
void PPDFB_API SetCooperativeLevel (DFBDisplayLaye
rCooperativeLevel level);
void PPDFB_API SetOpacity (u8
opacity);
void PPDFB_API SetSourceRectangle (int
x,
int
y,
int
width,
int
height);
void PPDFB_API SetScreenLocation (float
x,
float
y,
float
width,
float
height);
void PPDFB_API SetScreenPosition (int
x,
int
y);
void PPDFB_API SetScreenRectangle (int
x,
int
y,
int
width,
int
height);
void PPDFB_API SetClipRegions (const DFBRegio
n *regions,
int
num_regions,
DFBBoolean
positive);
void PPDFB_API SetSrcColorKey (u8
r,
u8
g,
u8
b);
void PPDFB_API SetDstColorKey (u8
r,
u8
g,
u8
b);
int PPDFB_API GetLevel ();
void PPDFB_API SetLevel (int
level);
int PPDFB_API GetCurrentOutputField ();
void PPDFB_API SetFieldParity (int
field);
void PPDFB_API WaitForSync ();
void PPDFB_API GetConfiguration (DFBDisplayLaye
rConfig *config);
void PPDFB_API TestConfiguration (DFBDisplayLaye
rConfig &config,
DFBDisplayLaye
rConfigFlags *failed = NULL);
void PPDFB_API SetConfiguration (DFBDisplayLaye
rConfig &config);
void PPDFB_API SetBackgroundMode (DFBDisplayLaye
rBackgroundMode mode);
void PPDFB_API SetBackgroundImage (IDirectFBSurfa
ce *surface);
void PPDFB_API SetBackgroundColor (u8
r,
u8
g,
u8
b,
u8
a = 0xFF);
void PPDFB_API GetColorAdjustment (DFBColorAdjust
ment *adj);
void PPDFB_API SetColorAdjustment (DFBColorAdjust
ment &adj);
IDirectFBWindow PPDFB_API CreateWindow (DFBWindowDescr
iption &desc);
IDirectFBWindow PPDFB_API GetWindow (DFBWindowID
window_id);
void PPDFB_API EnableCursor (bool
enable);
void PPDFB_API GetCursorPosition (int
*x,
int
*y);
void PPDFB_API WarpCursor (int
x,
int
y);
void PPDFB_API SetCursorAcceleration (int
numerator,
int
denominator,
int
threshold);
void PPDFB_API SetCursorShape (IDirectFBSurfa
ce *shape,
int
hot_x,
int
hot_y);
void PPDFB_API SetCursorOpacity (u8
opacity);
void PPDFB_API SwitchContext (DFBBoolean
exclusive);
inline IDirectFBDisplayLayer PPDFB_API & operator = (const IDirectFBDi
splayLayer& other){
return IPPAny<IDirectFBDisplayLayer, IDirectFBDisplayLayer_C>::op
erator =(other);
}
inline IDirectFBDisplayLayer PPDFB_API & operator = (IDirectFBDisplayL
ayer_C* other){
return IPPAny<IDirectFBDisplayLayer, IDirectFBDisplayLayer_C>::op
erator =(other);
}
};
#endif #endif
 End of changes. 5 change blocks. 
15 lines changed or deleted 160 lines changed or added


 idirectfbfont.h   idirectfbfont.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFBFONT_H__ #ifndef IDIRECTFBFONT_H
#define __IDIRECTFBFONT_H__ #define IDIRECTFBFONT_H
#include <directfb.h> #ifndef DFBPP_H
#error Please include ++dfb.h only.
#include <direct/filesystem.h> #endif
#include <core/coretypes.h>
typedef enum {
IDFBFONT_CONTEXT_CONTENT_TYPE_UNKNOWN,
IDFBFONT_CONTEXT_CONTENT_TYPE_MALLOCED,
IDFBFONT_CONTEXT_CONTENT_TYPE_MAPPED,
IDFBFONT_CONTEXT_CONTENT_TYPE_MEMORY
} IDirectFBFont_ProbeContextContentType;
/*
* probing context
*/
typedef struct {
/* Only set if databuffer is created from file.
deprecated - use memory location below. */
const char *filename;
/* if !=NULL, pointer to the file content */
unsigned char *content;
unsigned int content_size;
IDirectFBFont_ProbeContextContentType content_type;
} IDirectFBFont_ProbeContext;
DFBResult
IDirectFBFont_CreateFromBuffer( IDirectFBDataBuffer *buffer,
CoreDFB *core,
const DFBFontDescription *desc,
IDirectFBFont **interface_ptr );
/**************************************************************************
********************************************/
/*
* private data struct of IDirectFBFont
* used by implementors of IDirectFBFont
*/
typedef struct {
int ref; /* reference counter
*/
CoreFont *font; /* pointer to core f
ont */
unsigned char *content; /* possible allocati
on, free at intf. close */
unsigned int content_size;
IDirectFBFont_ProbeContextContentType content_type;
DFBTextEncodingID encoding; /* text encoding */
} IDirectFBFont_data;
/* class IDirectFBFont : public IPPAny<IDirectFBFont, IDirectFBFont_C> {
* common code to construct the interface (internal usage only) friend
*/ class IDirectFB;
DFBResult IDirectFBFont_Construct( IDirectFBFont *thiz, CoreFont *font ); friend
class IDirectFBSurface;
public:
PPDFB_API IDirectFBFont(IDirectFBFont_C* myptr=NULL):IPPAny<IDirectFBF
ont, IDirectFBFont_C>(myptr){}
int PPDFB_API GetAscender () const;
int PPDFB_API GetDescender () const;
int PPDFB_API GetHeight () const;
int PPDFB_API GetMaxAdvance () const;
void PPDFB_API GetKerning (unsigned int prev_i
ndex,
unsigned int curren
t_index,
int *kern_x
,
int *kern_y
) const;
void PPDFB_API GetStringBreak (const char *text,
int bytes,
int max_wi
dth,
int *ret_wi
dth,
int *ret_st
r_length,
const char **ret_ne
xt_line) const;
int PPDFB_API GetStringWidth (const char *text,
int bytes
= -1) const;
void PPDFB_API GetStringExtents (const char *text,
int bytes,
DFBRectangle *logica
l_rect,
DFBRectangle *ink_re
ct) const;
void PPDFB_API GetGlyphExtents (unsigned int index,
DFBRectangle *rect,
int *advanc
e) const;
void PPDFB_API SetEncoding (DFBTextEncodingID en
coding);
void PPDFB_API EnumEncodings (DFBTextEncodingCallback ca
llback,
void *ca
llbackdata);
void PPDFB_API FindEncoding (const char *na
me,
DFBTextEncodingID *en
coding);
inline IDirectFBFont PPDFB_API & operator = (const IDirectFBFont& othe
r){
return IPPAny<IDirectFBFont, IDirectFBFont_C>::operator =(other);
}
inline IDirectFBFont PPDFB_API & operator = (IDirectFBFont_C* other){
return IPPAny<IDirectFBFont, IDirectFBFont_C>::operator =(other);
}
/* };
* deinitialize font and its surfaces
*/
void IDirectFBFont_Destruct( IDirectFBFont *thiz );
#endif #endif
 End of changes. 6 change blocks. 
66 lines changed or deleted 78 lines changed or added


 idirectfbimageprovider.h   idirectfbimageprovider.h 
/* /*
(c) Copyright 2001-2010 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFBIMAGEPROVIDER_H__ #ifndef IDIRECTFBIMAGEPROVIDER_H
#define __IDIRECTFBIMAGEPROVIDER_H__ #define IDIRECTFBIMAGEPROVIDER_H
#include <core/coretypes.h> #ifndef DFBPP_H
#error Please include ++dfb.h only.
/* #endif
* probing context
*/
typedef struct {
unsigned char header[32];
const char *filename; /* Only set if databuffer is created from fil
e. */
} IDirectFBImageProvider_ProbeContext;
DFBResult
IDirectFBImageProvider_CreateFromBuffer( IDirectFBDataBuffer *buffer,
CoreDFB *core,
IDirectFB *idirectfb
,
IDirectFBImageProvider **interface
_ptr );
/**************************************************************************
********************************************/
/*
* private data struct of IDirectFBImageProvider
* used by implementors of IDirectFBImageProvider
*/
typedef struct {
int ref; /* reference counter */
IDirectFBDataBuffer *buffer;
CoreDFB *core;
IDirectFB *idirectfb;
DIRenderCallback render_callback;
void *render_callback_context;
void (*Destruct)( IDirectFBImageProvider *thiz ); class IDirectFBImageProvider : public IPPAny<IDirectFBImageProvider, IDirec
} IDirectFBImageProvider_data; tFBImageProvider_C>{
friend
class IDirectFB;
friend
class IDirectFBDataBuffer;
public:
PPDFB_API IDirectFBImageProvider(IDirectFBImageProvider_C* myptr=NULL)
:IPPAny<IDirectFBImageProvider, IDirectFBImageProvider_C>(myptr){}
void PPDFB_API GetSurfaceDescription (DFBSurfaceDes
cription *dsc);
void PPDFB_API GetImageDescription (DFBImageDescr
iption *dsc);
void PPDFB_API RenderTo (IDirectFBSurf
ace *destination,
DFBRectangle
*destination_rect);
void PPDFB_API SetRenderCallback (DIRenderCallb
ack callback,
void
*callback_data);
inline IDirectFBImageProvider PPDFB_API & operator = (const IDirectFBI
mageProvider& other){
return IPPAny<IDirectFBImageProvider, IDirectFBImageProvider_C>::
operator =(other);
}
inline IDirectFBImageProvider PPDFB_API & operator = (IDirectFBImagePr
ovider_C* other){
return IPPAny<IDirectFBImageProvider, IDirectFBImageProvider_C>::
operator =(other);
}
};
#endif #endif
 End of changes. 5 change blocks. 
44 lines changed or deleted 47 lines changed or added


 idirectfbimageprovider_client.h   idirectfbimageprovider_client.h 
/* /*
(c) Copyright 2001-2010 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 idirectfbinputbuffer.h   idirectfbinputbuffer.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 idirectfbinputdevice.h   idirectfbinputdevice.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFBINPUTDEVICE_H__ #ifndef IDIRECTFBINPUTDEVICE_H
#define __IDIRECTFBINPUTDEVICE_H__ #define IDIRECTFBINPUTDEVICE_H
#include <core/input.h> #ifndef DFBPP_H
#error Please include ++dfb.h only.
#endif
/* class IDirectFBInputDevice : public IPPAny<IDirectFBInputDevice, IDirectFBI
* initializes input device, adds it to input listeners and initializes mut nputDevice_C>{
exes friend
*/ class IDirectFB;
DFBResult IDirectFBInputDevice_Construct( IDirectFBInputDevice *thiz,
CoreInputDevice *device ); public:
PPDFB_API IDirectFBInputDevice(IDirectFBInputDevice_C* myptr=NULL):IPP
Any<IDirectFBInputDevice, IDirectFBInputDevice_C>(myptr){}
DFBInputDeviceID PPDFB_API GetID ();
void PPDFB_API GetDescription (DFBInputDevice
Description *desc);
void PPDFB_API GetKeymapEntry (int
code,
DFBInputDevice
KeymapEntry *entry);
IDirectFBEventBuffer PPDFB_API CreateEventBuffer ();
void PPDFB_API AttachEventBuffer (IDirectFBEvent
Buffer *buffer);
void PPDFB_API DetachEventBuffer (IDirectFBEvent
Buffer *buffer);
DFBInputDeviceKeyState PPDFB_API GetKeyState (DFBInputDevice
KeyIdentifier key_id);
DFBInputDeviceModifierMask PPDFB_API GetModifiers ();
DFBInputDeviceLockState PPDFB_API GetLockState ();
DFBInputDeviceButtonMask PPDFB_API GetButtons ();
DFBInputDeviceButtonState PPDFB_API GetButtonState (DFBInputDevice
ButtonIdentifier button);
int PPDFB_API GetAxis (DFBInputDevice
AxisIdentifier axis);
void PPDFB_API GetXY (int
*x,
int
*y);
inline IDirectFBInputDevice PPDFB_API & operator = (const IDirectFBInp
utDevice& other){
return IPPAny<IDirectFBInputDevice, IDirectFBInputDevice_C>::oper
ator =(other);
}
inline IDirectFBInputDevice PPDFB_API & operator = (IDirectFBInputDevi
ce_C* other){
return IPPAny<IDirectFBInputDevice, IDirectFBInputDevice_C>::oper
ator =(other);
}
};
#endif #endif
 End of changes. 5 change blocks. 
12 lines changed or deleted 61 lines changed or added


 idirectfbpalette.h   idirectfbpalette.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFBPALETTE_H__ #ifndef IDIRECTFBPALETTE_H
#define __IDIRECTFBPALETTE_H__ #define IDIRECTFBPALETTE_H
#include <directfb.h> #ifndef DFBPP_H
#include <core/coretypes.h> #error Please include ++dfb.h only.
#endif
/*
* private data struct of IDirectFBPalette
*/
typedef struct {
int ref; /* reference counter */
CorePalette *palette; /* the palette object */
CoreDFB *core;
} IDirectFBPalette_data;
/* class IDirectFBPalette : public IPPAny<IDirectFBPalette, IDirectFBPalette_C
* initializes interface struct and private data > {
*/ friend
DFBResult IDirectFBPalette_Construct( IDirectFBPalette *thiz, class IDirectFB;
CorePalette *palette, friend
CoreDFB *core ); class IDirectFBSurface;
public:
PPDFB_API IDirectFBPalette(IDirectFBPalette_C* myptr=NULL):IPPAny<IDir
ectFBPalette, IDirectFBPalette_C>(myptr){}
DFBPaletteCapabilities PPDFB_API GetCapabilities ();
unsigned int PPDFB_API GetSize ();
void PPDFB_API SetEntries (DFBColor
*entries,
unsigned in
t num_entries,
unsigned in
t offset);
void PPDFB_API GetEntries (DFBColor
*entries,
unsigned in
t num_entries,
unsigned in
t offset);
unsigned int PPDFB_API FindBestMatch (u8
r,
u8
g,
u8
b,
u8
a);
IDirectFBPalette PPDFB_API CreateCopy ();
inline IDirectFBPalette PPDFB_API & operator = (const IDirectFBPalette
& other){
return IPPAny<IDirectFBPalette, IDirectFBPalette_C>::operator =(o
ther);
}
inline IDirectFBPalette PPDFB_API & operator = (IDirectFBPalette_C* ot
her){
return IPPAny<IDirectFBPalette, IDirectFBPalette_C>::operator =(o
ther);
}
};
#endif #endif
 End of changes. 5 change blocks. 
24 lines changed or deleted 60 lines changed or added


 idirectfbscreen.h   idirectfbscreen.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFBSCREEN_H__ #ifndef IDIRECTFBSCREEN_H
#define __IDIRECTFBSCREEN_H__ #define IDIRECTFBSCREEN_H
#include <directfb.h> #ifndef DFBPP_H
#include <core/coretypes.h> #error Please include ++dfb.h only.
#endif
/* class IDirectFBScreen : public IPPAny<IDirectFBScreen, IDirectFBScreen_C> {
* initializes interface struct and private data friend
*/ class IDirectFB;
DFBResult IDirectFBScreen_Construct( IDirectFBScreen *thiz, friend
CoreScreen *screen ); class IDirectFBDisplayLayer;
public:
PPDFB_API IDirectFBScreen(IDirectFBScreen_C* myptr=NULL):IPPAny<IDirec
tFBScreen, IDirectFBScreen_C>(myptr){}
DFBScreenID PPDFB_API GetID ();
DFBScreenDescription PPDFB_API GetDescription ();
void PPDFB_API GetSize (int
*width,
int
*height);
void PPDFB_API EnumDisplayLayers (DFBDisplayLaye
rCallback callback,
void
*callbackdata);
void PPDFB_API SetPowerMode (DFBScreenPower
Mode mode);
void PPDFB_API WaitForSync ();
void PPDFB_API GetMixerDescriptions (DFBScreenMi
xerDescription *descriptions);
void PPDFB_API GetMixerConfiguration (int
mixer,
DFBScreenMi
xerConfig *config);
void PPDFB_API TestMixerConfiguration (int
mixer,
const DFBSc
reenMixerConfig &config,
DFBScreenMi
xerConfigFlags *failed);
void PPDFB_API SetMixerConfiguration (int
mixer,
const DFBSc
reenMixerConfig &config);
void PPDFB_API GetEncoderDescriptions (DFBScreenEn
coderDescription *descriptions);
void PPDFB_API GetEncoderConfiguration (int
encoder,
DFBScreenEn
coderConfig *config);
void PPDFB_API TestEncoderConfiguration (int
encoder,
const DFBSc
reenEncoderConfig &config,
DFBScreenEn
coderConfigFlags *failed);
void PPDFB_API SetEncoderConfiguration (int
encoder,
const DFBSc
reenEncoderConfig &config);
void PPDFB_API GetOutputDescriptions (DFBScreenOu
tputDescription *descriptions);
void PPDFB_API GetOutputConfiguration (int
output,
DFBScreenOu
tputConfig *config);
void PPDFB_API TestOutputConfiguration (int
output,
const DFBSc
reenOutputConfig &config,
DFBScreenOu
tputConfigFlags *failed);
void PPDFB_API SetOutputConfiguration (int
output,
const DFBSc
reenOutputConfig &config);
inline IDirectFBScreen PPDFB_API & operator = (const IDirectFBScreen&
other){
return IPPAny<IDirectFBScreen, IDirectFBScreen_C>::operator =(oth
er);
}
inline IDirectFBScreen PPDFB_API & operator = (IDirectFBScreen_C* othe
r){
return IPPAny<IDirectFBScreen, IDirectFBScreen_C>::operator =(oth
er);
}
};
#endif #endif
 End of changes. 5 change blocks. 
12 lines changed or deleted 111 lines changed or added


 idirectfbsurface.h   idirectfbsurface.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFBSURFACE_H__ #ifndef IDIRECTFBSURFACE_H
#define __IDIRECTFBSURFACE_H__ #define IDIRECTFBSURFACE_H
#include <directfb.h> #ifndef DFBPP_H
#error Please include ++dfb.h only.
#include <direct/types.h> #endif
#include <fusion/reactor.h>
#include <core/core.h>
#include <core/state.h>
#include <core/CoreGraphicsStateClient.h>
/*
* private data struct of IDirectFBSurface
*/
typedef struct {
DirectLink link;
int ref; /* reference counter */
DFBSurfaceCapabilities caps; /* capabilities */
struct {
/* 'wanted' is passed to GetSubSurface(), it doesn't matter if it'
s
too large or has negative starting coordinates as long as it
intersects with the 'granted' rectangle of the parent.
'wanted' should be seen as the origin for operations on that
surface. Non sub surfaces have a 'wanted' rectangle
of '{ 0, 0, width, height }'. 'wanted' is calculated just once
during surface creation. */
DFBRectangle wanted;
/* 'granted' is the intersection of the 'wanted' rectangle and the
'granted' one of the parent. If they do not intersect DFB_INVAR
EA
is returned. For non sub surfaces it's the same as the 'wanted'
rectangle, because it's the rectangle describing the whole
surface. 'granted' is calculated just once during surface
creation */
DFBRectangle granted;
/* 'current' is the intersection of the 'granted' rectangle and th
e
surface extents. SetClip() and many other functions are limited
by this.
This way sub surface area information is preserved during surfa
ce
resizing, e.g. when resizing a window. Calling SetClip() with N
ULL
causes the clipping region to exactly cover the 'current'
rectangle, also the flag 'clip_set' is cleared causing the
clipping region to be set to the new 'current' after resizing.
If
SetClip() is called with a clipping region specified, an
intersection is done with the 'wanted' rectangle that is then
stored in 'clip_wanted' and 'clip_set' is set. However, if ther
e
is no intersection 'DFB_INVARG' is returned, otherwise another
intersection is made with the 'current' rectangle and gets appl
ied
to the surface's state.
Each resize, after the 'current' rectangle is updated, the
clipping region is set to NULL or 'clip_wanted' depending on
'clip_set'. This way even clipping regions are restored or
extended automatically. It's now possible to create a fullscree
n
primary and call SetVideoMode() with different resolutions or
pixelformats several times without the need for updating the
primary surface by recreating it */
DFBRectangle current; /* currently available area */
DFBInsets insets; /* actually set by the window
manager */
} area;
bool limit_set; /* greanted rectangle set?
(GetSubSurface called with
rect != NULL) */
bool clip_set; /* fixed clip set? (SetClip ca
lled
with clip != NULL) */
DFBRegion clip_wanted; /* last region passed to SetCl
ip
intersected by wanted area,
only valid if clip_set != 0
*/
CoreSurface *surface; /* buffer to show */
bool locked; /* which buffer is locked? */
CoreSurfaceBufferLock lock;
IDirectFBFont *font; /* font to use */
CardState state; /* render state to use */
DFBTextEncodingID encoding; /* text encoding */
struct {
u8 r; /* red component */
u8 g; /* green component */
u8 b; /* blue component */
u32 value; /* r/g/b in surface's format *
/
} src_key; /* src key for blitting from
this surface */
struct {
u8 r; /* red component */
u8 g; /* green component */
u8 b; /* blue component */
u32 value; /* r/g/b in surface's format *
/
} dst_key; /* dst key for blitting to
this surface */
Reaction reaction;
CoreDFB *core;
IDirectFB *idirectfb;
IDirectFBSurface *parent;
DirectLink *children_data;
pthread_mutex_t children_lock;
CoreGraphicsStateClient state_client;
CoreMemoryPermission *memory_permissions[3];
unsigned int memory_permissions_count;
DirectWaitQueue back_buffer_wq;
DirectMutex back_buffer_lock;
unsigned int frame_ack;
CoreSurfaceClient *surface_client;
unsigned int surface_client_flip_count;
DirectMutex surface_client_lock;
DFBSurfaceStereoEye src_eye;
} IDirectFBSurface_data;
/*
* initializes interface struct and private data
*/
DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz,
IDirectFBSurface *parent,
DFBRectangle *req_rect,
DFBRectangle *clip_rect,
DFBInsets *insets,
CoreSurface *surface,
DFBSurfaceCapabilities caps,
CoreDFB *core,
IDirectFB *idirectfb );
/*
* destroys surface(s) and frees private data
*/
void IDirectFBSurface_Destruct( IDirectFBSurface *thiz );
/*
* internal
*/
void IDirectFBSurface_StopAll( IDirectFBSurface_data *data );
void IDirectFBSurface_WaitForBackBuffer( IDirectFBSurface_data *data ); class IDirectFBSurface : public IPPAny<IDirectFBSurface, IDirectFBSurface_C
> {
friend
class IDirectFB;
friend
class IDirectFBDisplayLayer;
friend
class IDirectFBImageProvider;
friend
class IDirectFBVideoProvider;
friend
class IDirectFBWindow;
public:
PPDFB_API IDirectFBSurface(IDirectFBSurface_C* myptr=NULL):IPPAny<IDir
ectFBSurface, IDirectFBSurface_C>(myptr){}
DFBSurfaceCapabilities PPDFB_API GetCapabilities ();
void PPDFB_API GetPosition (int
*x,
int
*y);
void PPDFB_API GetSize (int
*width,
int
*height);
void PPDFB_API GetVisibleRectangle (DFBRectangle
*rect);
DFBSurfacePixelFormat PPDFB_API GetPixelFormat ();
DFBAccelerationMask PPDFB_API GetAccelerationMask (IDirectFBSurface
*source = NULL);
IDirectFBPalette PPDFB_API GetPalette ();
void PPDFB_API SetPalette (IDirectFBPalette
*palette);
void PPDFB_API SetAlphaRamp (u8
a0,
u8
a1,
u8
a2,
u8
a3);
void PPDFB_API Lock (DFBSurfaceLockFl
ags flags,
void
**ptr,
int
*pitch);
void PPDFB_API Unlock ();
void PPDFB_API Flip (DFBRegion
*region = NULL,
DFBSurfaceFlipFl
ags flags = static_cast<DFBSurfaceFlipFlags>(0));
void PPDFB_API SetField (int
field);
void PPDFB_API Clear (u8
r = 0x00,
u8
g = 0x00,
u8
b = 0x00,
u8
a = 0x00);
void PPDFB_API Clear (DFBColor
&color);
void PPDFB_API SetClip (const DFBRegion
*clip = 0);
void PPDFB_API SetClip (const DFBRectang
le *clip);
void PPDFB_API SetColor (u8
r,
u8
g,
u8
b,
u8
a = 0xFF);
void PPDFB_API SetColor (DFBColor
&color);
void PPDFB_API SetColorIndex (unsigned int
index);
void PPDFB_API SetSrcBlendFunction (DFBSurfaceBlendF
unction function);
void PPDFB_API SetDstBlendFunction (DFBSurfaceBlendF
unction function);
void PPDFB_API SetPorterDuff (DFBSurfacePorter
DuffRule rule);
void PPDFB_API SetSrcColorKey (u8
r,
u8
g,
u8
b);
void PPDFB_API SetSrcColorKeyIndex (unsigned int
index);
void PPDFB_API SetDstColorKey (u8
r,
u8
g,
u8
b);
void PPDFB_API SetDstColorKeyIndex (unsigned int
index);
void PPDFB_API SetBlittingFlags (DFBSurfaceBlitti
ngFlags flags);
void PPDFB_API Blit (IDirectFBSurface
*source,
const DFBRectang
le *source_rect = NULL,
int
x = 0,
int
y = 0);
void PPDFB_API TileBlit (IDirectFBSurface
*source,
const DFBRectang
le *source_rect = NULL,
int
x = 0,
int
y = 0);
void PPDFB_API BatchBlit (IDirectFBSurface
*source,
const DFBRectang
le *source_rects,
const DFBPoint
*dest_points,
int
num);
void PPDFB_API StretchBlit (IDirectFBSurface
*source,
const DFBRectang
le *source_rect = NULL,
const DFBRectang
le *destination_rect = NULL);
void PPDFB_API TextureTriangles (IDirectFBSurface
*source,
const DFBVertex
*vertices,
const int
*indices,
int
num,
DFBTriangleForma
tion formation);
void PPDFB_API SetDrawingFlags (DFBSurfaceDrawin
gFlags flags);
void PPDFB_API FillRectangle (int
x,
int
y,
int
width,
int
height);
void PPDFB_API FillRectangle (DFBRectangle
&rect);
void PPDFB_API FillRectangle (DFBRegion
&rect);
void PPDFB_API FillRectangles (const DFBRectang
le *rects,
unsigned int
num_rects);
void PPDFB_API DrawRectangle (int
x,
int
y,
int
width,
int
height);
void PPDFB_API DrawLine (int
x1,
int
y1,
int
x2,
int
y2);
void PPDFB_API DrawLines (const DFBRegion
*lines,
unsigned int
num_lines);
void PPDFB_API FillTriangle (int
x1,
int
y1,
int
x2,
int
y2,
int
x3,
int
y3);
void PPDFB_API FillSpans (int
y,
const DFBSpan
*spans,
unsigned int
num);
void PPDFB_API SetFont (const IDirectFBF
ont &font) const;
IDirectFBFont PPDFB_API GetFont () const;
void PPDFB_API DrawString (const char
*text,
int
bytes,
int
x,
int
y,
DFBSurfaceTextFl
ags flags);
void PPDFB_API DrawGlyph (unsigned int
index,
int
x,
int
y,
DFBSurfaceTextFl
ags flags);
void PPDFB_API SetEncoding (DFBTextEncodingI
D encoding);
IDirectFBSurface PPDFB_API GetSubSurface (DFBRectangle
*rect);
void PPDFB_API Dump (const char
*directory,
const char
*prefix);
void PPDFB_API DisableAcceleration (DFBAccelerationM
ask mask);
IDirectFBGL PPDFB_API *GetGL ();
DFBSurfaceID PPDFB_API GetID ();
void PPDFB_API AllowAccess (const char
*executable);
/* Additional methods added for enhanced usability */
int PPDFB_API GetWidth ();
int PPDFB_API GetHeight ();
void PPDFB_API SetColor (const DFBColor
&color);
void PPDFB_API SetColor (const DFBColor
*color);
void PPDFB_API FillRectangle (const DFBRectang
le &rect);
void PPDFB_API DrawRectangle (const DFBRectang
le &rect);
void PPDFB_API DrawLine (const DFBRegion
&line);
IDirectFBSurface PPDFB_API GetSubSurface (int
x,
int
y,
int
width,
int
height);
void PPDFB_API GetClip (DFBRegion
*clip);
int PPDFB_API GetFramebufferOffset();
void PPDFB_API ReleaseSource ();
void PPDFB_API SetIndexTranslation (const int
*indices,
int
num_indices);
void PPDFB_API Read (void
*ptr,
int
pitch,
const DFBRectang
le *rect = NULL);
void PPDFB_API Write (const void
*ptr,
int
pitch,
const DFBRectang
le *rect = NULL);
inline IDirectFBSurface PPDFB_API & operator = (const IDirectFBSurface
& other){
return IPPAny<IDirectFBSurface, IDirectFBSurface_C>::operator =(o
ther);
}
inline IDirectFBSurface PPDFB_API & operator = (IDirectFBSurface_C* ot
her){
return IPPAny<IDirectFBSurface, IDirectFBSurface_C>::operator =(o
ther);
}
};
#endif #endif
 End of changes. 5 change blocks. 
165 lines changed or deleted 321 lines changed or added


 idirectfbsurface_layer.h   idirectfbsurface_layer.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 idirectfbsurface_window.h   idirectfbsurface_window.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 idirectfbvideoprovider.h   idirectfbvideoprovider.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFBVIDEOPROVIDER_H__ #ifndef IDIRECTFBVIDEOPROVIDER_H
#define __IDIRECTFBVIDEOPROVIDER_H__ #define IDIRECTFBVIDEOPROVIDER_H
#include <core/coretypes.h> #ifndef DFBPP_H
#error Please include ++dfb.h only.
#endif
/* class IDirectFBVideoProvider : public IPPAny<IDirectFBVideoProvider, IDirec
* probing context tFBVideoProvider_C>{
*/ friend
typedef struct { class IDirectFB;
unsigned char header[64]; friend
class IDirectFBDataBuffer;
/* Only set if databuffer is created from file. */
const char *filename; public:
PPDFB_API IDirectFBVideoProvider(IDirectFBVideoProvider_C* myptr=NULL)
/* Usefull if provider needs more data for probing. */ :IPPAny<IDirectFBVideoProvider, IDirectFBVideoProvider_C>(myptr){}
IDirectFBDataBuffer *buffer;
} IDirectFBVideoProvider_ProbeContext; DFBVideoProviderCapabilities PPDFB_API GetCapabilities ();
void PPDFB_API GetSurfaceDescription (DFBSurfa
DFBResult ceDescription *dsc);
IDirectFBVideoProvider_CreateFromBuffer( IDirectFBDataBuffer *buffer, void PPDFB_API GetStreamDescription (DFBStrea
CoreDFB *core, mDescription *dsc);
IDirectFBVideoProvider **interface
_ptr ); void PPDFB_API PlayTo (IDirectF
BSurface *destination,
DFBRecta
ngle *destination_rect = NULL,
DVFrameC
allback callback = NULL,
void
*ctx = NULL);
void PPDFB_API Stop ();
DFBVideoProviderStatus PPDFB_API GetStatus ();
void PPDFB_API SeekTo (double
seconds);
double PPDFB_API GetPos ();
double PPDFB_API GetLength ();
void PPDFB_API GetColorAdjustment (DFBColor
Adjustment *adj);
void PPDFB_API SetColorAdjustment (DFBColor
Adjustment &adj);
void PPDFB_API SendEvent (DFBEvent
&evt);
void PPDFB_API SetPlaybackFlags (DFBVideo
ProviderPlaybackFlags flags);
void PPDFB_API SetSpeed (double
multiplier);
double PPDFB_API GetSpeed ();
void PPDFB_API SetVolume (float
level);
float PPDFB_API GetVolume ();
inline IDirectFBVideoProvider PPDFB_API & operator = (const IDirectFBV
ideoProvider& other){
return IPPAny<IDirectFBVideoProvider, IDirectFBVideoProvider_C>::
operator =(other);
}
inline IDirectFBVideoProvider PPDFB_API & operator = (IDirectFBVideoPr
ovider_C* other){
return IPPAny<IDirectFBVideoProvider, IDirectFBVideoProvider_C>::
operator =(other);
}
};
#endif #endif
 End of changes. 5 change blocks. 
24 lines changed or deleted 73 lines changed or added


 idirectfbwindow.h   idirectfbwindow.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __IDIRECTFBWINDOW_H__ #ifndef IDIRECTFBWINDOW_H
#define __IDIRECTFBWINDOW_H__ #define IDIRECTFBWINDOW_H
#include <directfb.h> #ifndef DFBPP_H
#error Please include ++dfb.h only.
#include <core/coretypes.h> #endif
/* class IDirectFBWindow :public IPPAny<IDirectFBWindow, IDirectFBWindow_C>{
* initializes a new window and constructs interface friend
*/ class IDirectFBDisplayLayer;
DFBResult IDirectFBWindow_Construct( IDirectFBWindow *thiz,
CoreWindow *window, public:
CoreLayer *layer, PPDFB_API IDirectFBWindow(IDirectFBWindow_C* myptr=NULL):IPPAny<IDirec
CoreDFB *core, tFBWindow, IDirectFBWindow_C>(myptr){}
IDirectFB *idirectfb,
bool created ); DFBWindowID PPDFB_API GetID ();
void PPDFB_API GetPosition (int
*x,
int
*y);
void PPDFB_API GetSize (int
*width,
int
*height);
IDirectFBEventBuffer PPDFB_API CreateEventBuffer ();
void PPDFB_API AttachEventBuffer (IDirectFBEventBuffe
r *buffer);
void PPDFB_API DetachEventBuffer (IDirectFBEventBuffe
r *buffer);
void PPDFB_API EnableEvents (DFBWindowEventType
mask);
void PPDFB_API DisableEvents (DFBWindowEventType
mask);
IDirectFBSurface PPDFB_API GetSurface ();
void PPDFB_API SetOptions (DFBWindowOptions
options);
DFBWindowOptions PPDFB_API GetOptions ();
void PPDFB_API SetColorKey (u8
r,
u8
g,
u8
b);
void PPDFB_API SetColorKeyIndex (unsigned int
index);
void PPDFB_API SetOpacity (u8
opacity);
void PPDFB_API SetOpaqueRegion (int
x1,
int
y1,
int
x2,
int
y2);
u8 PPDFB_API GetOpacity ();
void PPDFB_API SetCursorShape (IDirectFBSurface
*shape,
int
hot_x,
int
hot_y);
void PPDFB_API RequestFocus ();
void PPDFB_API GrabKeyboard ();
void PPDFB_API UngrabKeyboard ();
void PPDFB_API GrabPointer ();
void PPDFB_API UngrabPointer ();
void PPDFB_API GrabKey (DFBInputDeviceKeySy
mbol symbol,
DFBInputDeviceModif
ierMask modifiers);
void PPDFB_API UngrabKey (DFBInputDeviceKeySy
mbol symbol,
DFBInputDeviceModif
ierMask modifiers);
void PPDFB_API Move (int
dx,
int
dy);
void PPDFB_API MoveTo (int
x,
int
y);
void PPDFB_API Resize (int
width,
int
height);
void PPDFB_API SetStackingClass (DFBWindowStackingCl
ass stacking_class);
void PPDFB_API Raise ();
void PPDFB_API Lower ();
void PPDFB_API RaiseToTop ();
void PPDFB_API LowerToBottom ();
void PPDFB_API PutAtop (IDirectFBWindow
*lower);
void PPDFB_API PutBelow (IDirectFBWindow
*upper);
void PPDFB_API Close ();
void PPDFB_API Destroy ();
void PPDFB_API SetBounds (int
x,
int
y,
int
width,
int
height);
void PPDFB_API ResizeSurface (int
width,
int
height);
void PPDFB_API BeginUpdates (const DFBRegion
*update = NULL);
void PPDFB_API SetDstGeometry (DFBWindowGeometry
*geometry);
void PPDFB_API SetSrcGeometry (DFBWindowGeometry
*geometry);
inline IDirectFBWindow PPDFB_API & operator = (const IDirectFBWindow&
other){
return IPPAny<IDirectFBWindow, IDirectFBWindow_C>::operator =(oth
er);
}
inline IDirectFBWindow PPDFB_API & operator = (IDirectFBWindow_C* othe
r){
return IPPAny<IDirectFBWindow, IDirectFBWindow_C>::operator =(oth
er);
}
};
#endif #endif
 End of changes. 5 change blocks. 
17 lines changed or deleted 143 lines changed or added


 init.h   init.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 input.h   input.h 
/* /*
(c) Copyright 2001-2010 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 input_driver.h   input_driver.h 
/* /*
(c) Copyright 2001-2010 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 input_hub.h   input_hub.h 
/* /*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 interface.h   interface.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 layer_context.h   layer_context.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 156 skipping to change at line 158
*/ */
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 );
DFBResult dfb_layer_context_allocate_surface ( CoreLayer *layer, DFBResult dfb_layer_context_allocate_surface ( CoreLayer *layer,
CoreLayerContext *context,
CoreLayerRegion *region, CoreLayerRegion *region,
CoreLayerRegionConfig *config ); CoreLayerRegionConfig *config );
DFBResult dfb_layer_context_reallocate_surface ( CoreLayer *layer, DFBResult dfb_layer_context_reallocate_surface ( CoreLayer *layer,
CoreLayerContext *context,
CoreLayerRegion *region, CoreLayerRegion *region,
CoreLayerRegionConfig *config ); CoreLayerRegionConfig *config );
DFBResult dfb_layer_context_deallocate_surface ( CoreLayer *layer, DFBResult dfb_layer_context_deallocate_surface ( CoreLayer *layer,
CoreLayerContext *context,
CoreLayerRegion *region ); CoreLayerRegion *region );
#endif #endif
 End of changes. 5 change blocks. 
3 lines changed or deleted 8 lines changed or added


 layer_control.h   layer_control.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 layer_region.h   layer_region.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 85 skipping to change at line 87
DFBResult dfb_layer_region_flip_update ( CoreLayerRegion *region, DFBResult dfb_layer_region_flip_update ( CoreLayerRegion *region,
const DFBRegion *update, const DFBRegion *update,
DFBSurfaceFlipFlags flags ); DFBSurfaceFlipFlags flags );
DFBResult DFBResult
dfb_layer_region_flip_update_stereo ( CoreLayerRegion *region, dfb_layer_region_flip_update_stereo ( CoreLayerRegion *region,
const DFBRegion *left_update , const DFBRegion *left_update ,
const DFBRegion *right_updat e, const DFBRegion *right_updat e,
DFBSurfaceFlipFlags flags ); DFBSurfaceFlipFlags flags );
DFBResult dfb_layer_region_flip_update2 ( CoreLayerRegion *region,
const DFBRegion *left_updat
e,
const DFBRegion *right_upda
te,
DFBSurfaceFlipFlags flags,
long long pts,
DFB_DisplayTask **ret_task )
;
/* /*
* Configuration * Configuration
*/ */
DFBResult dfb_layer_region_set_configuration( CoreLayerRegion *r egion, DFBResult dfb_layer_region_set_configuration( CoreLayerRegion *r egion,
CoreLayerRegionConfig *c onfig, CoreLayerRegionConfig *c onfig,
CoreLayerRegionConfigFlags f lags ); CoreLayerRegionConfigFlags f lags );
DFBResult dfb_layer_region_get_configuration( CoreLayerRegion *region , DFBResult dfb_layer_region_get_configuration( CoreLayerRegion *region ,
CoreLayerRegionConfig *config ); CoreLayerRegionConfig *config );
/* /*
* Locking * Locking
*/ */
DirectResult dfb_layer_region_lock ( CoreLayerRegion *region ); DirectResult dfb_layer_region_lock ( CoreLayerRegion *region );
DirectResult dfb_layer_region_unlock( CoreLayerRegion *region ); DirectResult dfb_layer_region_unlock( CoreLayerRegion *region );
DFBResult dfb_layer_region_set( CoreLayerRegion *region,
CoreLayerRegionConfig *config,
CoreLayerRegionConfigFlags flags,
CoreSurface *surface );
DFBResult dfb_layer_region_realize( CoreLayerRegion *region,
bool set );
DFBResult dfb_layer_region_unrealize( CoreLayerRegion *region );
#endif #endif
 End of changes. 4 change blocks. 
3 lines changed or deleted 25 lines changed or added


 layers.h   layers.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 121 skipping to change at line 123
CLRCF_ALPHA_RAMP = 0x00002000, CLRCF_ALPHA_RAMP = 0x00002000,
CLRCF_SRCKEY = 0x00010000, CLRCF_SRCKEY = 0x00010000,
CLRCF_DSTKEY = 0x00020000, CLRCF_DSTKEY = 0x00020000,
CLRCF_PARITY = 0x00100000, CLRCF_PARITY = 0x00100000,
CLRCF_SURFACE = 0x10000000, CLRCF_SURFACE = 0x10000000,
CLRCF_PALETTE = 0x20000000, CLRCF_PALETTE = 0x20000000,
CLRCF_FREEZE = 0x80000000, CLRCF_FREEZE = 0x40000000,
CLRCF_ALL = 0xB01337FF CLRCF_ALL = 0x701337FF
} CoreLayerRegionConfigFlags; } CoreLayerRegionConfigFlags;
typedef struct { typedef struct {
/** Driver Control **/ /** Driver Control **/
/* /*
* Return size of layer data (shared memory). * Return size of layer data (shared memory).
*/ */
int (*LayerDataSize) ( void ); int (*LayerDataSize) ( void );
skipping to change at line 265 skipping to change at line 267
/* /*
* Flip the surface of the region. * Flip the surface of the region.
*/ */
DFBResult (*FlipRegion) ( CoreLayer *layer, DFBResult (*FlipRegion) ( CoreLayer *layer,
void *driver_data, void *driver_data,
void *layer_data, void *layer_data,
void *region_data, void *region_data,
CoreSurface *surface, CoreSurface *surface,
DFBSurfaceFlipFlags flags, DFBSurfaceFlipFlags flags,
const DFBRegion *left_update,
CoreSurfaceBufferLock *left_lock, CoreSurfaceBufferLock *left_lock,
const DFBRegion *right_update,
CoreSurfaceBufferLock *right_lock ); CoreSurfaceBufferLock *right_lock );
/* /*
* Indicate updates to the front buffer content. * Indicate updates to the front buffer content.
*/ */
DFBResult (*UpdateRegion) ( CoreLayer *layer, DFBResult (*UpdateRegion) ( CoreLayer *layer,
void *driver_data, void *driver_data,
void *layer_data, void *layer_data,
void *region_data, void *region_data,
CoreSurface *surface, CoreSurface *surface,
 End of changes. 6 change blocks. 
5 lines changed or deleted 9 lines changed or added


 list.h   list.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 lock.h   lock.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 39 skipping to change at line 41
#ifndef __FUSION__LOCK_H__ #ifndef __FUSION__LOCK_H__
#define __FUSION__LOCK_H__ #define __FUSION__LOCK_H__
#include <fusion/types.h> #include <fusion/types.h>
#include <direct/messages.h> #include <direct/messages.h>
#include <direct/thread.h> #include <direct/thread.h>
#include <direct/util.h> #include <direct/util.h>
typedef struct { typedef struct {
int magic;
DirectMutex lock; DirectMutex lock;
DirectWaitQueue cond; DirectWaitQueue cond;
int count; int count;
char *name; char *name;
} FusionSkirmishSingle; } FusionSkirmishSingle;
typedef struct { typedef struct {
/* multi app */ /* multi app */
struct { struct {
int id; int id;
skipping to change at line 111 skipping to change at line 114
/* /*
* Wait & Notify. * Wait & Notify.
* *
* Must be locked! * Must be locked!
*/ */
DirectResult FUSION_API fusion_skirmish_wait ( FusionSkirmish *skirmis h, DirectResult FUSION_API fusion_skirmish_wait ( FusionSkirmish *skirmis h,
unsigned int timeout ); unsigned int timeout );
DirectResult FUSION_API fusion_skirmish_notify ( FusionSkirmish *skirmis h ); DirectResult FUSION_API fusion_skirmish_notify ( FusionSkirmish *skirmis h );
DirectResult FUSION_API fusion_skirmish_prevail_multi( FusionSkirmish **ski
rmishs,
unsigned int num
);
DirectResult FUSION_API fusion_skirmish_dismiss_multi( FusionSkirmish **ski
rmishs,
unsigned int num
);
#if D_DEBUG_ENABLED #if D_DEBUG_ENABLED
#define FUSION_SKIRMISH_ASSERT(skirmish) \ #define FUSION_SKIRMISH_ASSERT(skirmish) \
do { \ do { \
int lock_count; \ int lock_count; \
\ \
D_ASSERT( skirmish != NULL ); \ D_ASSERT( skirmish != NULL ); \
\ \
D_ASSERT( fusion_skirmish_lock_count( skirmish, &lock_count ) == DR_OK ); \ D_ASSERT( fusion_skirmish_lock_count( skirmish, &lock_count ) == DR_OK ); \
D_ASSERT( lock_count > 0 ); \ D_ASSERT( lock_count > 0 ); \
} while (0) } while (0)
 End of changes. 4 change blocks. 
3 lines changed or deleted 16 lines changed or added


 log.h   log.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 65 skipping to change at line 67
/* /*
* Write to the log in a printf fashion. * Write to the log in a printf fashion.
* *
* If log is NULL, the default log is used if it's valid, * If log is NULL, the default log is used if it's valid,
* otherwise stderr is used a fallback until now. * otherwise stderr is used a fallback until now.
*/ */
DirectResult DIRECT_API direct_log_printf ( DirectLog *log, DirectResult DIRECT_API direct_log_printf ( DirectLog *log,
const char *format, . .. ) D_FORMAT_PRINTF(2); const char *format, . .. ) D_FORMAT_PRINTF(2);
/* /*
* Write to the log in a plain fashion.
*
* If log is NULL, the default log is used if it's valid,
* otherwise stderr is used a fallback until now.
*/
DirectResult DIRECT_API direct_log_write ( DirectLog *log,
const char *buffer,
size_t bytes );
/*
* Set the default log that's used when no valid log is passed. * Set the default log that's used when no valid log is passed.
*/ */
DirectResult DIRECT_API direct_log_set_default( DirectLog *log ); DirectResult DIRECT_API direct_log_set_default( DirectLog *log );
/* /*
* Locks a logging facility for non-intermixed output of multiple calls in multiple threads. Not mandatory. * Locks a logging facility for non-intermixed output of multiple calls in multiple threads. Not mandatory.
*/ */
void DIRECT_API direct_log_lock ( DirectLog *log ); void DIRECT_API direct_log_lock ( DirectLog *log );
/* /*
 End of changes. 3 change blocks. 
3 lines changed or deleted 15 lines changed or added


 log_domain.h   log_domain.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 122 skipping to change at line 124
DirectLogDomainConfig config; DirectLogDomainConfig config;
config.level = level; config.level = level;
config.log = NULL; config.log = NULL;
direct_log_domain_configure( name, &config ); direct_log_domain_configure( name, &config );
} }
bool DIRECT_API direct_log_domain_check( DirectLogDomain *domain ); // TO DO: for non-debug builds use macro for better optimisations bool DIRECT_API direct_log_domain_check( DirectLogDomain *domain ); // TO DO: for non-debug builds use macro for better optimisations
bool DIRECT_API direct_log_domain_check_level( DirectLogDomain *domain,
DirectLogLevel level );
/************************************************************************** ********************************************/ /************************************************************************** ********************************************/
#define D_LOG( _Domain, _LEVEL, ... ) \ #define D_LOG( _Domain, _LEVEL, ... ) \
do { \ do { \
direct_log_domain_log( &(_Domain), DIRECT_LOG_ ## _LEVEL, __FUNCT ION__, __FILE__, __LINE__, __VA_ARGS__ ); \ direct_log_domain_log( &(_Domain), DIRECT_LOG_ ## _LEVEL, __FUNCT ION__, __FILE__, __LINE__, __VA_ARGS__ ); \
} while (0) } while (0)
#define D_LOG_( _Domain, _level, ... ) \ #define D_LOG_( _Domain, _level, ... ) \
do { \ do { \
direct_log_domain_log( &(_Domain), _level, __FUNCTION__, __FILE__ , __LINE__, __VA_ARGS__ ); \ direct_log_domain_log( &(_Domain), _level, __FUNCTION__, __FILE__ , __LINE__, __VA_ARGS__ ); \
 End of changes. 3 change blocks. 
3 lines changed or deleted 8 lines changed or added


 map.h   map.h 
/* /*
(c) Copyright 2001-2010 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 mem.h   mem.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 memcpy.h   memcpy.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 messages.h   messages.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 modules.h   modules.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 69 skipping to change at line 71
DirectLink *entries; DirectLink *entries;
DirectModuleEntry *loading; DirectModuleEntry *loading;
}; };
#define DECLARE_MODULE_DIRECTORY(d) \ #define DECLARE_MODULE_DIRECTORY(d) \
extern DirectModuleDir d extern DirectModuleDir d
#define DEFINE_MODULE_DIRECTORY(d,p,n) \ #define DEFINE_MODULE_DIRECTORY(d,p,n) \
DirectModuleDir d = { \ DirectModuleDir d = { \
.path = p, \ /*.path =*/ p, \
.abi_version = n, \ /*.abi_version =*/ n, \
.entries = NULL, \ /*.entries =*/ NULL, \
.loading = NULL, \ /*.loading =*/ NULL, \
} }
int DIRECT_API direct_modules_explore_directory( DirectModuleDir *directo ry ); int DIRECT_API direct_modules_explore_directory( DirectModuleDir *directo ry );
void DIRECT_API direct_modules_register( DirectModuleDir *directory, void DIRECT_API direct_modules_register( DirectModuleDir *directory,
unsigned int abi_version, unsigned int abi_version,
const char *name, const char *name,
const void *funcs ); const void *funcs );
void DIRECT_API direct_modules_unregister( DirectModuleDir *directory, void DIRECT_API direct_modules_unregister( DirectModuleDir *directory,
 End of changes. 3 change blocks. 
7 lines changed or deleted 9 lines changed or added


 mutex.h   mutex.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 object.h   object.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 43 skipping to change at line 45
#include <fusion/lock.h> #include <fusion/lock.h>
#include <fusion/vector.h> #include <fusion/vector.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 const char * (*FusionObjectDescribe)( FusionObject *object, void *c
tx );
typedef bool (*FusionPropIterator)( char *key, void *value, void *ctx); typedef bool (*FusionPropIterator)( char *key, void *value, void *ctx);
typedef u32 FusionObjectID; typedef u32 FusionObjectID;
typedef enum { typedef enum {
FOS_INIT, FOS_INIT,
FOS_ACTIVE, FOS_ACTIVE,
FOS_DEINIT FOS_DEINIT
} FusionObjectState; } FusionObjectState;
skipping to change at line 70 skipping to change at line 74
FusionID identity; FusionID identity;
FusionObjectState state; FusionObjectState state;
FusionRef ref; FusionRef ref;
FusionReactor *reactor; FusionReactor *reactor;
FusionWorldShared *shared; FusionWorldShared *shared;
FusionHash *properties; FusionHash *properties;
FusionID owner; FusionVector owners;
FusionVector access; FusionVector access;
DirectTraceBuffer *create_stack;
};
struct __Fusion_FusionObjectPool {
int magic;
FusionWorldShared *shared;
FusionSkirmish lock;
FusionHash *objects;
FusionObjectID id_pool;
char *name;
int object_size;
int message_size;
FusionObjectDestructor destructor;
void *ctx;
FusionCall call;
bool secure;
FusionObjectDescribe describe;
}; };
typedef bool (*FusionObjectCallback)( FusionObjectPool *pool, typedef bool (*FusionObjectCallback)( FusionObjectPool *pool,
FusionObject *object, FusionObject *object,
void *ctx ); void *ctx );
FusionObjectPool FUSION_API *fusion_object_pool_create ( const char *name, FusionObjectPool FUSION_API *fusion_object_pool_create ( const char *name,
int object_size, int object_size,
int message_size, int message_size,
FusionObjec tDestructor destructor, FusionObjec tDestructor destructor,
void *ctx, void *ctx,
const Fusio nWorld *world ); const Fusio nWorld *world );
DirectResult FUSION_API fusion_object_pool_destroy ( FusionObjec tPool *pool, DirectResult FUSION_API fusion_object_pool_destroy ( FusionObjec tPool *pool,
const Fusio FusionWorld
nWorld *world ); *world );
DirectResult FUSION_API fusion_object_pool_set_describe ( FusionObjec
tPool *pool,
FusionObjec
tDescribe func );
DirectResult FUSION_API fusion_object_pool_enum ( FusionObjec tPool *pool, DirectResult FUSION_API fusion_object_pool_enum ( FusionObjec tPool *pool,
FusionObjec tCallback callback, FusionObjec tCallback callback,
void *ctx ); void *ctx );
FusionObject FUSION_API *fusion_object_create ( FusionObjec tPool *pool, FusionObject FUSION_API *fusion_object_create ( FusionObjec tPool *pool,
const Fusio nWorld *world, const Fusio nWorld *world,
FusionID identity ); FusionID identity );
/*
* Must unref object if function returns DR_OK.
* It may also return DR_DEAD with allocated object, but no refs (don't unr
ef).
*/
DirectResult FUSION_API fusion_object_get ( FusionObjec tPool *pool, DirectResult FUSION_API fusion_object_get ( FusionObjec tPool *pool,
FusionObjec tID object_id, FusionObjec tID object_id,
FusionObjec t **ret_object ); FusionObjec t **ret_object );
DirectResult FUSION_API fusion_object_lookup ( FusionObjec
tPool *pool,
FusionObjec
tID object_id,
FusionObjec
t **ret_object );
DirectResult FUSION_API fusion_object_set_lock ( FusionObjec t *object, DirectResult FUSION_API fusion_object_set_lock ( FusionObjec t *object,
FusionSkirm ish *lock ); FusionSkirm ish *lock );
DirectResult FUSION_API fusion_object_activate ( FusionObjec t *object ); DirectResult FUSION_API fusion_object_activate ( FusionObjec t *object );
DirectResult FUSION_API fusion_object_destroy ( FusionObjec t *object ); DirectResult FUSION_API fusion_object_destroy ( FusionObjec t *object );
DirectResult FUSION_API fusion_object_set_property ( FusionObjec t *object, DirectResult FUSION_API fusion_object_set_property ( FusionObjec t *object,
const char *key, const char *key,
void *value, void *value,
skipping to change at line 134 skipping to change at line 173
void FUSION_API fusion_object_remove_property ( FusionObjec t *object, void FUSION_API fusion_object_remove_property ( FusionObjec t *object,
const char *key, const char *key,
void **ret_val ); void **ret_val );
DirectResult FUSION_API fusion_object_add_access ( FusionObjec t *object, DirectResult FUSION_API fusion_object_add_access ( FusionObjec t *object,
const char *exectuable ); const char *exectuable );
DirectResult FUSION_API fusion_object_has_access ( FusionObjec t *object, DirectResult FUSION_API fusion_object_has_access ( FusionObjec t *object,
const char *executable ); const char *executable );
DirectResult FUSION_API fusion_object_add_owner ( FusionObjec
t *object,
FusionID
owner );
DirectResult FUSION_API fusion_object_check_owner ( FusionObjec
t *object,
FusionID
owner,
bool
succeed_if_not_owned );
DirectResult FUSION_API fusion_object_catch ( FusionObjec t *object ); DirectResult FUSION_API fusion_object_catch ( FusionObjec t *object );
#define FUSION_OBJECT_METHODS(type, prefix) \ #define FUSION_OBJECT_METHODS(type, prefix) \
\ \
static __inline__ DirectResult \ static __inline__ DirectResult \
prefix##_attach( type *object, \ prefix##_attach( type *object, \
ReactionFunc func, \ ReactionFunc func, \
void *ctx, \ void *ctx, \
Reaction *ret_reaction ) \ Reaction *ret_reaction ) \
{ \ { \
 End of changes. 9 change blocks. 
6 lines changed or deleted 64 lines changed or added


 palette.h   palette.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 pool.h   pool.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 primary.h   primary.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 print.h   print.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 processor.h   processor.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 property.h   property.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 protocol.h   protocol.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 76 skipping to change at line 78
* Execute a call. * Execute a call.
*/ */
typedef struct { typedef struct {
FusionMessageType type; FusionMessageType type;
unsigned int serial; unsigned int serial;
FusionID caller; FusionID caller;
int call_id; int call_id;
int call_arg; int call_arg;
void *call_ptr; unsigned int call_length; /* length of data */
unsigned int ret_length; /* maximum length of return data *
/
void *handler; void *handler;
void *handler3;
void *ctx; void *ctx;
FusionCallExecFlags flags; FusionCallExecFlags flags;
} FusionCallMessage, FusionCallExecute; } FusionCallMessage, FusionCallExecute;
/* /*
* Send call return. * Send call return.
*/ */
typedef struct { typedef struct {
FusionMessageType type; FusionMessageType type;
int val; unsigned int length;
} FusionCallReturn; } FusionCallReturn;
/* /*
* Send reactor message. * Send reactor message.
*/ */
typedef struct { typedef struct {
FusionMessageType type; FusionMessageType type;
int id; int id;
int channel; int channel;
 End of changes. 5 change blocks. 
5 lines changed or deleted 10 lines changed or added


 reactor.h   reactor.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 ref.h   ref.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 38 skipping to change at line 40
#ifndef __FUSION__REF_H__ #ifndef __FUSION__REF_H__
#define __FUSION__REF_H__ #define __FUSION__REF_H__
#include <direct/thread.h> #include <direct/thread.h>
#include <fusion/types.h> #include <fusion/types.h>
#include <fusion/call.h> #include <fusion/call.h>
#include <fusion/lock.h> #include <fusion/lock.h>
typedef union { typedef struct {
/* multi app */ /* multi app */
struct { struct {
int id; int id;
const FusionWorldShared *shared; FusionWorldShared *shared;
FusionID creator; FusionID creator;
/* builtin impl */ /* builtin impl */
struct { struct {
int local; int local;
int global; int global;
FusionSkirmish lock; FusionSkirmish lock;
FusionCall *call; FusionCall *call;
int call_arg; int call_arg;
} builtin; } builtin;
bool user;
} multi; } multi;
/* single app */ /* single app */
struct { struct {
int refs; int refs;
DirectWaitQueue cond; DirectWaitQueue cond;
DirectMutex lock; DirectMutex lock;
int dead;
bool destroyed; bool destroyed;
int locked; int locked;
FusionCall *call; FusionCall *call;
int call_arg; int call_arg;
} single; } single;
} FusionRef; } FusionRef;
/* /*
* Initialize. * Initialize.
*/ */
DirectResult FUSION_API fusion_ref_init (FusionRef *ref, DirectResult FUSION_API fusion_ref_init (FusionRef *ref,
const char *name, const char *name,
const FusionWorld *world); const FusionWorld *world);
DirectResult FUSION_API fusion_ref_init2 (FusionRef *ref,
const char *name,
bool user,
const FusionWorld *world);
DirectResult FUSION_API fusion_ref_set_name (FusionRef *ref, DirectResult FUSION_API fusion_ref_set_name (FusionRef *ref,
const char *name); const char *name);
/* /*
* Lock, increase, unlock. * Lock, increase, unlock.
*/ */
DirectResult FUSION_API fusion_ref_up (FusionRef *ref, bool globa l); DirectResult FUSION_API fusion_ref_up (FusionRef *ref, bool globa l);
/* /*
* Lock, decrease, unlock. * Lock, decrease, unlock.
skipping to change at line 136 skipping to change at line 145
int call_arg); int call_arg);
/* /*
* Inherit local reference count from another reference. * Inherit local reference count from another reference.
* *
* The local count of the other reference (and its inherited references) is added to this reference. * The local count of the other reference (and its inherited references) is added to this reference.
*/ */
DirectResult FUSION_API fusion_ref_inherit (FusionRef *ref, DirectResult FUSION_API fusion_ref_inherit (FusionRef *ref,
FusionRef *from); FusionRef *from);
DirectResult FUSION_API fusion_ref_set_sync (FusionRef *ref);
/* /*
* 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_API fusion_ref_destroy (FusionRef *ref); DirectResult FUSION_API fusion_ref_destroy (FusionRef *ref);
typedef enum { typedef enum {
FUSION_REF_PERMIT_NONE = 0x00000000, FUSION_REF_PERMIT_NONE = 0x00000000,
 End of changes. 8 change blocks. 
5 lines changed or deleted 16 lines changed or added


 result.h   result.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 screen.h   screen.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 118 skipping to change at line 120
DFBResult dfb_screen_get_screen_size ( CoreScreen *scree n, DFBResult dfb_screen_get_screen_size ( CoreScreen *scree n,
int *ret_w idth, int *ret_w idth,
int *ret_h eight ); int *ret_h eight );
DFBResult dfb_screen_get_layer_dimension( CoreScreen *scree n, DFBResult dfb_screen_get_layer_dimension( CoreScreen *scree n,
CoreLayer *layer , CoreLayer *layer ,
int *ret_w idth, int *ret_w idth,
int *ret_h eight ); int *ret_h eight );
DFBResult dfb_screen_get_frame_interval ( CoreScreen *scree
n,
long long *ret_m
icros );
#endif #endif
 End of changes. 3 change blocks. 
3 lines changed or deleted 10 lines changed or added


 screens.h   screens.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 serial.h   serial.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 shm.h   shm.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 shmalloc.h   shmalloc.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
Fusion shmalloc is based on GNU malloc. Please see below. Fusion shmalloc is based on GNU malloc. Please see below.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 signals.h   signals.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 state.h   state.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 217 skipping to change at line 219
DFBColorKeyExtended dst_colorkey_extended; DFBColorKeyExtended dst_colorkey_extended;
s32 src_colormatrix[12]; /* transformation ma trix for DSBLIT_SRC_COLORMATRIX (fixed 16.16) */ s32 src_colormatrix[12]; /* transformation ma trix for DSBLIT_SRC_COLORMATRIX (fixed 16.16) */
DFBConvolutionFilter src_convolution; DFBConvolutionFilter src_convolution;
void *gfxcard_data; /* gfx driver specific state da ta */ void *gfxcard_data; /* gfx driver specific state da ta */
u32 source_flip_count; u32 source_flip_count;
bool source_flip_count_used; bool source_flip_count_used;
void *client;
}; };
int dfb_state_init( CardState *state, CoreDFB *core ); int dfb_state_init( CardState *state, CoreDFB *core );
void dfb_state_destroy( CardState *state ); void dfb_state_destroy( CardState *state );
DFBResult dfb_state_set_destination( CardState *state, CoreSurface *destina tion ); DFBResult dfb_state_set_destination( CardState *state, CoreSurface *destina tion );
DFBResult dfb_state_set_source( CardState *state, CoreSurface *source ); DFBResult dfb_state_set_source( CardState *state, CoreSurface *source );
DFBResult dfb_state_set_source_2( CardState *state, CoreSurface *source, u3 2 flip_count ); DFBResult dfb_state_set_source_2( CardState *state, CoreSurface *source, u3 2 flip_count );
DFBResult dfb_state_set_source_mask( CardState *state, CoreSurface *source_ mask ); DFBResult dfb_state_set_source_mask( CardState *state, CoreSurface *source_ mask );
DFBResult dfb_state_set_source2( CardState *state, CoreSurface *source2 ); DFBResult dfb_state_set_source2( CardState *state, CoreSurface *source2 );
void dfb_state_update( CardState *state, bool update_source ); void dfb_state_update( CardState *state, bool update_source );
void dfb_state_update_destination( CardState *state );
void dfb_state_update_sources( CardState *state, CardStateFlags flags );
DFBResult dfb_state_set_index_translation( CardState *state, DFBResult dfb_state_set_index_translation( CardState *state,
const int *indices, const int *indices,
int num_indices ); int num_indices );
void dfb_state_set_matrix( CardState *state, void dfb_state_set_matrix( CardState *state,
const s32 *matrix ); const s32 *matrix );
void dfb_state_set_rop_pattern( CardState *state, void dfb_state_set_rop_pattern( CardState *state,
const u32 *pattern, const u32 *pattern,
DFBSurfacePatternMode pattern_mode ); DFBSurfacePatternMode pattern_mode );
skipping to change at line 510 skipping to change at line 517
* *
* Always tries to set both color and index. * Always tries to set both color and index.
* *
* If color index is -1, color is used and searched in palette of destinati on surface if present. * If color index is -1, color is used and searched in palette of destinati on surface if present.
* If color index is valid the color is looked up in palette if present. * If color index is valid the color is looked up in palette if present.
*/ */
void dfb_state_set_color_or_index( CardState *state, void dfb_state_set_color_or_index( CardState *state,
const DFBColor *color, const DFBColor *color,
int index ); int index );
DFBResult dfb_state_get_acceleration_mask( CardState *state,
DFBAccelerationMask *ret_accel )
;
#endif #endif
 End of changes. 5 change blocks. 
3 lines changed or deleted 14 lines changed or added


 stream.h   stream.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 surface.h   surface.h 
/* /*
(c) Copyright 2001-2012 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 150 skipping to change at line 152
into video memory */ into video memory */
CSP_VIDEOLOW = 0x00000001, /* try to store in video memory, CSP_VIDEOLOW = 0x00000001, /* try to store in video memory,
low priority */ low priority */
CSP_VIDEOHIGH = 0x00000002, /* try to store in video memory, CSP_VIDEOHIGH = 0x00000002, /* try to store in video memory,
high priority */ high priority */
CSP_VIDEOONLY = 0x00000003 /* always and only CSP_VIDEOONLY = 0x00000003 /* always and only
store in video memory */ store in video memory */
} CoreSurfacePolicy; } CoreSurfacePolicy;
typedef enum { typedef enum {
CSAF_NONE = 0x00000000, CSAF_NONE = 0x00000000,
CSAF_READ = 0x00000001, /* accessor may read */ CSAF_READ = 0x00000001, /* accessor may read */
CSAF_WRITE = 0x00000002, /* accessor may write */ CSAF_WRITE = 0x00000002, /* accessor may write */
CSAF_SHARED = 0x00000010, /* other processes can read/write a t the same time (shared mapping) */ CSAF_SHARED = 0x00000010, /* other processes can read/write at the same time (shared mapping) */
CSAF_ALL = 0x00000013 CSAF_CACHE_INVALIDATE = 0x00000100, /* accessor should invalidate its
cache before reading/writing */
CSAF_CACHE_FLUSH = 0x00000200, /* accessor should flush its cach
e after writing */
CSAF_ALL = 0x00000313
} CoreSurfaceAccessFlags; } CoreSurfaceAccessFlags;
typedef enum { typedef enum {
CSAID_NONE = 0x00000000, /* none or unknown accessor */ CSAID_NONE = 0x00000000, /* none or unknown accessor */
CSAID_CPU = 0x00000001, /* local processor, where DirectFB is running on, could be app or sw fallback */ CSAID_CPU = 0x00000001, /* local processor, where DirectFB is running on, could be app or sw fallback */
CSAID_GPU = 0x00000002, /* primary accelerator, as in tradi tional 'gfxcard' core (ACCEL0) */ CSAID_GPU = 0x00000002, /* primary accelerator, as in tradi tional 'gfxcard' core (ACCEL0) */
CSAID_ACCEL0 = 0x00000002, /* accelerators, decoders etc. (CSA ID_ACCEL0 + accel_id<0-5>) */ CSAID_ACCEL0 = 0x00000002, /* accelerators, decoders etc. (CSA ID_ACCEL0 + accel_id<0-5>) */
skipping to change at line 251 skipping to change at line 256
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; FusionCall call;
FusionVector clients; FusionVector clients;
u32 flips_acked; u32 flips_acked;
DFBFrameTimeConfig frametime_config;
long long last_frame_time;
}; };
#define CORE_SURFACE_ASSERT(surface) \ #define CORE_SURFACE_ASSERT(surface) \
do { \ do { \
D_MAGIC_ASSERT( surface, CoreSurface ); \ D_MAGIC_ASSERT( surface, CoreSurface ); \
} while (0) } while (0)
/* /*
* Creates a pool of surface objects. * Creates a pool of surface objects.
*/ */
skipping to change at line 296 skipping to change at line 305
DFBResult dfb_surface_init_palette ( CoreDFB *core, DFBResult dfb_surface_init_palette ( CoreDFB *core,
CoreSurface *surface ); CoreSurface *surface );
DFBResult dfb_surface_notify ( CoreSurface *surface , DFBResult dfb_surface_notify ( CoreSurface *surface ,
CoreSurfaceNotificationFlags flags); CoreSurfaceNotificationFlags flags);
DFBResult dfb_surface_notify_display( CoreSurface *surface , DFBResult dfb_surface_notify_display( CoreSurface *surface ,
CoreSurfaceBuffer *buffer) ; CoreSurfaceBuffer *buffer) ;
DFBResult dfb_surface_notify_display2( CoreSurface *surfac e, DFBResult dfb_surface_notify_display2( CoreSurface *surfac e,
int index int index,
); DFB_DisplayTask *task )
;
DFBResult dfb_surface_notify_frame ( CoreSurface *surface , DFBResult dfb_surface_notify_frame ( CoreSurface *surface ,
unsigned int flip_co unt ); unsigned int flip_co unt );
/* /*
Prepares and sends a notification message that a change is about to ha ppen to the specified Prepares and sends a notification message that a change is about to ha ppen to the specified
surface buffer pool allocation. The notification message will be rece ived by all pocesses surface buffer pool allocation. The notification message will be rece ived by all pocesses
that have listeners attached to the associated CoreSurface's reactor. that have listeners attached to the associated CoreSurface's reactor.
At present, only THE CSNF_BUFFER_ALLOCATION_DESTROY message is handled . At present, only THE CSNF_BUFFER_ALLOCATION_DESTROY message is handled .
*/ */
DFBResult dfb_surface_pool_notify ( CoreSurface *surface , DFBResult dfb_surface_pool_notify ( CoreSurface *surface ,
CoreSurfaceBuffer *buffer, CoreSurfaceBuffer *buffer,
CoreSurfaceAllocation *allocat ion, CoreSurfaceAllocation *allocat ion,
CoreSurfaceNotificationFlags flags ) ; CoreSurfaceNotificationFlags flags ) ;
DFBResult dfb_surface_flip ( CoreSurface *surface , DFBResult dfb_surface_flip ( CoreSurface *surface ,
bool swap ); bool swap );
DFBResult dfb_surface_flip_buffers ( CoreSurface *surface
,
bool swap );
DFBResult dfb_surface_dispatch_event( CoreSurface *surface , DFBResult dfb_surface_dispatch_event( CoreSurface *surface ,
DFBSurfaceEventType type ); DFBSurfaceEventType type );
DFBResult dfb_surface_dispatch_update( CoreSurface *surfac e, DFBResult dfb_surface_dispatch_update( CoreSurface *surfac e,
const DFBRegion *update , const DFBRegion *update ,
const DFBRegion *update const DFBRegion *update
_right ); _right,
long long timest
amp );
DFBResult dfb_surface_reconfig ( CoreSurface *surface , DFBResult dfb_surface_reconfig ( CoreSurface *surface ,
const CoreSurfaceConfig *config ); const CoreSurfaceConfig *config );
DFBResult dfb_surface_destroy_buffers( CoreSurface *surface ); DFBResult dfb_surface_destroy_buffers( CoreSurface *surface );
DFBResult dfb_surface_deallocate_buffers( CoreSurface *surface ); DFBResult dfb_surface_deallocate_buffers( CoreSurface *surface );
DFBResult dfb_surface_destroy ( CoreSurface *surface ); DFBResult dfb_surface_destroy ( CoreSurface *surface );
skipping to change at line 372 skipping to change at line 386
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
const char *path, const char *path,
const char *prefix ); const char *prefix );
DFBResult dfb_surface_dump_buffer2 ( CoreSurface *surface , DFBResult dfb_surface_dump_buffer2 ( CoreSurface *surface ,
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
DFBSurfaceStereoEye eye, DFBSurfaceStereoEye eye,
const char *path, const char *path,
const char *prefix ); const char *prefix );
DFBResult dfb_surface_dump_raw_buffer( CoreSurface *surfac
e,
CoreSurfaceBufferRole role,
const char *path,
const char *prefix
);
DFBResult dfb_surface_set_palette ( CoreSurface *surface , DFBResult dfb_surface_set_palette ( CoreSurface *surface ,
CorePalette *palette ); CorePalette *palette );
DFBResult dfb_surface_set_field ( CoreSurface *surface , DFBResult dfb_surface_set_field ( CoreSurface *surface ,
int field ) ; int field ) ;
DFBResult dfb_surface_set_alpha_ramp( CoreSurface *surface , DFBResult dfb_surface_set_alpha_ramp( CoreSurface *surface ,
u8 a0, u8 a0,
u8 a1, u8 a1,
u8 a2, u8 a2,
skipping to change at line 414 skipping to change at line 433
{ {
D_MAGIC_ASSERT( surface, CoreSurface ); D_MAGIC_ASSERT( surface, CoreSurface );
return fusion_skirmish_dismiss( &surface->lock ); return fusion_skirmish_dismiss( &surface->lock );
} }
static __inline__ CoreSurfaceBuffer * static __inline__ CoreSurfaceBuffer *
dfb_surface_get_buffer( CoreSurface *surface, dfb_surface_get_buffer( CoreSurface *surface,
CoreSurfaceBufferRole role ) CoreSurfaceBufferRole role )
{ {
D_MAGIC_ASSERT( surface, CoreSurface );
D_ASSERT( role == CSBR_FRONT || role == CSBR_BACK || role == CSBR_IDLE ); D_ASSERT( role == CSBR_FRONT || role == CSBR_BACK || role == CSBR_IDLE );
D_MAGIC_ASSERT( surface, CoreSurface );
FUSION_SKIRMISH_ASSERT( &surface->lock );
D_ASSERT( surface->num_buffers > 0 ); D_ASSERT( surface->num_buffers > 0 );
return surface->buffers[ surface->buffer_indices[(surface->flips + rol e) % surface->num_buffers] ]; return surface->buffers[ surface->buffer_indices[(surface->flips + rol e) % surface->num_buffers] ];
} }
static __inline__ CoreSurfaceBuffer * static __inline__ CoreSurfaceBuffer *
dfb_surface_get_buffer2( CoreSurface *surface, dfb_surface_get_buffer2( CoreSurface *surface,
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
DFBSurfaceStereoEye eye ) DFBSurfaceStereoEye eye )
{ {
D_MAGIC_ASSERT( surface, CoreSurface );
D_ASSERT( role == CSBR_FRONT || role == CSBR_BACK || role == CSBR_IDLE ); D_ASSERT( role == CSBR_FRONT || role == CSBR_BACK || role == CSBR_IDLE );
D_ASSERT( eye == DSSE_LEFT || eye == DSSE_RIGHT ); D_ASSERT( eye == DSSE_LEFT || eye == DSSE_RIGHT );
D_MAGIC_ASSERT( surface, CoreSurface );
FUSION_SKIRMISH_ASSERT( &surface->lock );
D_ASSERT( surface->num_buffers > 0 ); D_ASSERT( surface->num_buffers > 0 );
if (eye == DSSE_LEFT) if (eye == DSSE_LEFT)
return surface->left_buffers[ surface->buffer_indices[(surface->f lips + role) % surface->num_buffers] ]; return surface->left_buffers[ surface->buffer_indices[(surface->f lips + role) % surface->num_buffers] ];
return surface->right_buffers[ surface->buffer_indices[(surface->flips + role) % surface->num_buffers] ]; return surface->right_buffers[ surface->buffer_indices[(surface->flips + role) % surface->num_buffers] ];
} }
static __inline__ CoreSurfaceBuffer * static __inline__ CoreSurfaceBuffer *
dfb_surface_get_buffer3( CoreSurface *surface, dfb_surface_get_buffer3( CoreSurface *surface,
CoreSurfaceBufferRole role, CoreSurfaceBufferRole role,
DFBSurfaceStereoEye eye, DFBSurfaceStereoEye eye,
u32 flip_count ) u32 flip_count )
{ {
D_MAGIC_ASSERT( surface, CoreSurface );
D_ASSERT( role == CSBR_FRONT || role == CSBR_BACK || role == CSBR_IDLE ); D_ASSERT( role == CSBR_FRONT || role == CSBR_BACK || role == CSBR_IDLE );
D_ASSERT( eye == DSSE_LEFT || eye == DSSE_RIGHT ); D_ASSERT( eye == DSSE_LEFT || eye == DSSE_RIGHT );
D_MAGIC_ASSERT( surface, CoreSurface );
FUSION_SKIRMISH_ASSERT( &surface->lock );
D_ASSERT( surface->num_buffers > 0 ); D_ASSERT( surface->num_buffers > 0 );
if (eye == DSSE_LEFT) if (eye == DSSE_LEFT)
return surface->left_buffers[ surface->buffer_indices[(flip_count + role) % surface->num_buffers] ]; return surface->left_buffers[ surface->buffer_indices[(flip_count + role) % surface->num_buffers] ];
return surface->right_buffers[ surface->buffer_indices[(flip_count + r ole) % surface->num_buffers] ]; return surface->right_buffers[ surface->buffer_indices[(flip_count + r ole) % surface->num_buffers] ];
} }
static __inline__ void * static __inline__ void *
dfb_surface_data_offset( const CoreSurface *surface, dfb_surface_data_offset( const CoreSurface *surface,
 End of changes. 17 change blocks. 
15 lines changed or deleted 46 lines changed or added


 surface_allocation.h   surface_allocation.h 
/* /*
(c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 39 skipping to change at line 41
#ifndef __CORE__SURFACE_ALLOCATION_H__ #ifndef __CORE__SURFACE_ALLOCATION_H__
#define __CORE__SURFACE_ALLOCATION_H__ #define __CORE__SURFACE_ALLOCATION_H__
#include <direct/debug.h> #include <direct/debug.h>
#include <fusion/object.h> #include <fusion/object.h>
#include <fusion/vector.h> #include <fusion/vector.h>
#include <core/gfxcard.h> #include <core/gfxcard.h>
#include <core/surface.h> #include <core/surface.h>
#include <core/surface_pool.h>
#include <directfb.h> #include <directfb.h>
/* /*
* Configuration and State flags of a Surface Buffer Allocation * Configuration and State flags of a Surface Buffer Allocation
*/ */
typedef enum { typedef enum {
CSALF_NONE = 0x00000000, /* None of these. */ CSALF_NONE = 0x00000000, /* None of these. */
CSALF_INITIALIZING = 0x00000001, /* Allocation is being initialized */ CSALF_INITIALIZING = 0x00000001, /* Allocation is being initialized */
skipping to change at line 93 skipping to change at line 96
unsigned long offset; /* Offset within address range of pool if contiguous. */ unsigned long offset; /* Offset within address range of pool if contiguous. */
CoreSurfaceAllocationFlags flags; /* Pool can return CSALF_ ONEFORALL upon allocation of first buffer. */ CoreSurfaceAllocationFlags flags; /* Pool can return CSALF_ ONEFORALL upon allocation of first buffer. */
const CoreSurfaceAccessFlags *access; /* Possible acc ess flags (pointer to pool description). */ const CoreSurfaceAccessFlags *access; /* Possible acc ess flags (pointer to pool description). */
CoreSurfaceAccessFlags accessed[_CSAID_NUM]; /* Access since last synchronization. */ CoreSurfaceAccessFlags accessed[_CSAID_NUM]; /* Access since last synchronization. */
CoreSurfaceConfig config; /* Configuration of its s urface at the time of the allocation creation */ CoreSurfaceConfig config; /* Configuration of its s urface at the time of the allocation creation */
CoreSurfaceTypeFlags type; CoreSurfaceTypeFlags type;
unsigned long resource_id; /* layer id, window id, o r user specified */ unsigned long resource_id; /* layer id, window id, o r user specified */
int index; /* index of surface buffe r */
CoreGraphicsSerial gfx_serial; CoreGraphicsSerial gfx_serial;
int index; unsigned int task_count;
DFB_SurfaceTask *write_task;
void *write_access;
DFB_SurfaceTaskListSimple *read_tasks;
unsigned int invalidated; /* bit mask of accessors
which have already invalidated their cache for this allocation */
}; };
#define CORE_SURFACE_ALLOCATION_ASSERT(alloc) \ #define CORE_SURFACE_ALLOCATION_ASSERT(alloc) \
do { \ do { \
D_MAGIC_ASSERT( alloc, CoreSurfaceAllocation ); \ D_MAGIC_ASSERT( alloc, CoreSurfaceAllocation ); \
D_ASSUME( (alloc)->size > 0 ); \ D_ASSUME( (alloc)->size > 0 ); \
D_ASSERT( (alloc)->size >= 0 ); \ D_ASSERT( (alloc)->size >= 0 ); \
D_ASSERT( (alloc)->offset + (alloc)->size <= ((alloc)->pool->desc .size ?:~0UL) ); \ D_ASSERT( (alloc)->offset + (alloc)->size <= ((alloc)->pool->desc .size ?:~0UL) ); \
D_FLAGS_ASSERT( (alloc)->access[CSAID_CPU], CSAF_ALL ); \ D_FLAGS_ASSERT( (alloc)->access[CSAID_CPU], CSAF_ALL ); \
D_FLAGS_ASSERT( (alloc)->access[CSAID_GPU], CSAF_ALL ); \ D_FLAGS_ASSERT( (alloc)->access[CSAID_GPU], CSAF_ALL ); \
 End of changes. 5 change blocks. 
4 lines changed or deleted 16 lines changed or added


 surface_buffer.h   surface_buffer.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 79 skipping to change at line 81
CoreSurfaceBuffer *buffer; /* Set by dfb_surface_poo l_lock() */ CoreSurfaceBuffer *buffer; /* Set by dfb_surface_poo l_lock() */
CoreSurfaceAllocation *allocation; /* " */ CoreSurfaceAllocation *allocation; /* " */
void *addr; /* " */ void *addr; /* " */
unsigned long phys; /* " */ unsigned long phys; /* " */
unsigned long offset; /* " */ unsigned long offset; /* " */
unsigned int pitch; /* " */ unsigned int pitch; /* " */
void *handle; /* " */ void *handle; /* " */
DFB_SurfaceTask *task;
}; };
static inline void static inline void
dfb_surface_buffer_lock_reset( CoreSurfaceBufferLock *lock ) dfb_surface_buffer_lock_reset( CoreSurfaceBufferLock *lock )
{ {
D_MAGIC_ASSERT( lock, CoreSurfaceBufferLock ); D_MAGIC_ASSERT( lock, CoreSurfaceBufferLock );
lock->buffer = NULL; lock->buffer = NULL;
lock->allocation = NULL; lock->allocation = NULL;
lock->addr = NULL; lock->addr = NULL;
lock->phys = 0; lock->phys = 0;
lock->offset = ~0; lock->offset = ~0;
lock->pitch = 0; lock->pitch = 0;
lock->handle = 0; lock->handle = 0;
lock->task = NULL;
} }
static inline void static inline void
dfb_surface_buffer_lock_init( CoreSurfaceBufferLock *lock, CoreSurfaceAcces sorID accessor, CoreSurfaceAccessFlags access ) dfb_surface_buffer_lock_init( CoreSurfaceBufferLock *lock, CoreSurfaceAcces sorID accessor, CoreSurfaceAccessFlags access )
{ {
D_MAGIC_SET_ONLY( lock, CoreSurfaceBufferLock ); D_MAGIC_SET_ONLY( lock, CoreSurfaceBufferLock );
lock->accessor = accessor; lock->accessor = accessor;
lock->access = access; lock->access = access;
skipping to change at line 200 skipping to change at line 205
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 );
DFBResult dfb_surface_buffer_dump_raw( CoreSurfaceBuffer *buffer,
const char *directory,
const char *prefix );
DFBResult dfb_surface_buffer_dump_type_locked( CoreSurfaceBuffer *buffe
r,
const char *direc
tory,
const char *prefi
x,
bool raw,
CoreSurfaceBufferLock *lock
);
CoreSurfaceAllocation * CoreSurfaceAllocation *
dfb_surface_buffer_find_allocation( CoreSurfaceBuffer *buffer, dfb_surface_buffer_find_allocation( CoreSurfaceBuffer *buffer,
CoreSurfaceAccessorID accessor, CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags flags, CoreSurfaceAccessFlags flags,
bool lock ); bool lock );
static inline int static inline int
dfb_surface_buffer_index( CoreSurfaceBuffer *buffer ) dfb_surface_buffer_index( CoreSurfaceBuffer *buffer )
{ {
D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer ); D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
 End of changes. 5 change blocks. 
3 lines changed or deleted 22 lines changed or added


 surface_client.h   surface_client.h 
/* /*
(c) Copyright 2001-2012 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 54 skipping to change at line 56
struct __DFB_CoreSurfaceClient { struct __DFB_CoreSurfaceClient {
FusionObject object; FusionObject object;
int magic; int magic;
CoreSurface *surface; CoreSurface *surface;
FusionCall call; FusionCall call;
u32 flip_count; /* last acknowledged frame */ u32 flip_count; /* last acknowledged frame */
DFBFrameTimeConfig frametime_config;
}; };
#define CORE_SURFACE_CLIENT_ASSERT(client) \ #define CORE_SURFACE_CLIENT_ASSERT(client) \
do { \ do { \
D_MAGIC_ASSERT( client, CoreSurfaceClient ); \ D_MAGIC_ASSERT( client, CoreSurfaceClient ); \
} while (0) } while (0)
DFBResult dfb_surface_client_create ( CoreDFB *core, DFBResult dfb_surface_client_create ( CoreDFB *core,
CoreSurface *surface, CoreSurface *surface,
CoreSurfaceClient **ret_client ); CoreSurfaceClient **ret_client );
 End of changes. 3 change blocks. 
3 lines changed or deleted 7 lines changed or added


 surface_core.h   surface_core.h 
/* /*
(c) Copyright 2001-2010 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 surface_pool.h   surface_pool.h 
/* /*
(c) Copyright 2001-2012 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 193 skipping to change at line 195
* *
* The surface pool checks the description and extracts/generates * The surface pool checks the description and extracts/generates
* information for the surface configuration, to be later used in * information for the surface configuration, to be later used in
* the AllocateBuffer function. * the AllocateBuffer function.
*/ */
DFBResult (*PreAlloc)( CoreSurfacePool *pool, DFBResult (*PreAlloc)( CoreSurfacePool *pool,
void *pool_data, void *pool_data,
void *pool_local, void *pool_local,
const DFBSurfaceDescription *description, const DFBSurfaceDescription *description,
CoreSurfaceConfig *config ); CoreSurfaceConfig *config );
/*
* Cache operations
*/
DFBResult (*CacheOp) ( CoreSurfacePool *pool,
void *pool_data,
void *pool_local,
CoreSurfaceAllocation *allocation,
void *alloc_data,
CoreSurfaceAccessorID accessor,
bool flush,
bool invalidate );
} SurfacePoolFuncs; } SurfacePoolFuncs;
struct __DFB_CoreSurfacePool { struct __DFB_CoreSurfacePool {
int magic; int magic;
FusionSkirmish lock; FusionSkirmish lock;
CoreSurfacePoolID pool_id; CoreSurfacePoolID pool_id;
CoreSurfacePoolDescription desc; CoreSurfacePoolDescription desc;
skipping to change at line 302 skipping to change at line 316
void *data, void *data,
int pitch, int pitch,
const DFBRectangle *rect ); const DFBRectangle *rect );
DFBResult dfb_surface_pool_write ( CoreSurfacePool *pool, DFBResult dfb_surface_pool_write ( CoreSurfacePool *pool,
CoreSurfaceAllocation *allocation, CoreSurfaceAllocation *allocation,
const void *data, const void *data,
int pitch, int pitch,
const DFBRectangle *rect ); const DFBRectangle *rect );
DFBResult dfb_surface_pool_cache_op ( CoreSurfacePool *pool,
CoreSurfaceAllocation *allocation,
CoreSurfaceAccessorID accessor,
bool flush,
bool invalidate
);
DFBResult dfb_surface_pool_enumerate ( CoreSurfacePool *pool, DFBResult dfb_surface_pool_enumerate ( CoreSurfacePool *pool,
CoreSurfaceAllocCallback callback, CoreSurfaceAllocCallback callback,
void *ctx ); void *ctx );
/* /*
Adds the extra access flags to each of the surface pools that match th e Adds the extra access flags to each of the surface pools that match th e
CoreSurfaceTypeFlags specified. This allows the graphics driver to CoreSurfaceTypeFlags specified. This allows the graphics driver to
specify in its driver_init_driver function that it supports the local specify in its driver_init_driver function that it supports the local
surface pool, shared surface pool, and/or pre-allocated surface pool. surface pool, shared surface pool, and/or pre-allocated surface pool.
For example: For example:
 End of changes. 4 change blocks. 
3 lines changed or deleted 24 lines changed or added


 surface_pool_bridge.h   surface_pool_bridge.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 surfacemanager.h   surfacemanager.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 system.h   system.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 thread.h   thread.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 77 skipping to change at line 79
bool joined; /* Set when direct_thread_join() ha s finished. */ bool joined; /* Set when direct_thread_join() ha s finished. */
bool detached; /* Set when direct_thread_detach() is called. */ bool detached; /* Set when direct_thread_detach() is called. */
bool terminated; /* Set when direct_thread_terminate () is called. */ bool terminated; /* Set when direct_thread_terminate () is called. */
bool init; /* Set to true before the main rout ine is called. */ bool init; /* Set to true before the main rout ine is called. */
DirectMutex lock; DirectMutex lock;
DirectWaitQueue cond; DirectWaitQueue cond;
unsigned int counter; unsigned int counter;
int priority;
size_t stack_size;
void *trace_buffer;
}; };
/************************************************************************** ********************************************/ /************************************************************************** ********************************************/
#define DIRECT_THREAD_ASSERT( _thread ) \ #define DIRECT_THREAD_ASSERT( _thread ) \
do { \ do { \
D_MAGIC_ASSERT( _thread, DirectThread ); \ D_MAGIC_ASSERT( _thread, DirectThread ); \
D_ASSERT( (_thread)->tid != (pid_t) -1 ); \ D_ASSERT( (_thread)->tid != (pid_t) -1 ); \
} while (0) } while (0)
 End of changes. 3 change blocks. 
3 lines changed or deleted 10 lines changed or added


 trace.h   trace.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 88 skipping to change at line 90
* Print stack of each known thread. * Print stack of each known thread.
*/ */
void DIRECT_API direct_trace_print_stacks( void ); void DIRECT_API direct_trace_print_stacks( void );
/* /*
* Returns indent level for debug output. * Returns indent level for debug output.
*/ */
int DIRECT_API direct_trace_debug_indent( void ); int DIRECT_API direct_trace_debug_indent( void );
/* /*
* Retrieve pointer to calling function if present, otherwise NULL.
*/
void DIRECT_API *direct_trace_get_caller( void );
/*
* Create a copy of a stack in 'buffer' or of current if NULL. * Create a copy of a stack in 'buffer' or of current if NULL.
*/ */
DirectTraceBuffer DIRECT_API *direct_trace_copy_buffer( DirectTraceBuffer * buffer ); DirectTraceBuffer DIRECT_API *direct_trace_copy_buffer( DirectTraceBuffer * buffer );
/* /*
* Free a (copied) stack buffer. * Free a (copied) stack buffer.
*/ */
void DIRECT_API direct_trace_free_buffer( DirectTraceBuffer * buffer ); void DIRECT_API direct_trace_free_buffer( DirectTraceBuffer * buffer );
#endif #endif
 End of changes. 3 change blocks. 
3 lines changed or deleted 10 lines changed or added


 tree.h   tree.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
Balanced binary tree ported from glib by Sven Neumann Balanced binary tree ported from glib by Sven Neumann
<sven@convergence.de>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
 End of changes. 3 change blocks. 
4 lines changed or deleted 5 lines changed or added


 types.h   types.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __FUSION__TYPES_H__ #ifndef __DIRECT__TYPES_H__
#define __FUSION__TYPES_H__ #define __DIRECT__TYPES_H__
#include <fusion/build.h> #include <direct/os/types.h>
#include <direct/types.h>
#ifdef WIN32 #ifdef WIN32
// The following ifdef block is the standard way of creating macros which m ake exporting // The following ifdef block is the standard way of creating macros which m ake exporting
// from a DLL simpler. All files within this DLL are compiled with the FUSI ON_EXPORTS // from a DLL simpler. All files within this DLL are compiled with the DIRE CT_EXPORTS
// symbol defined on the command line. This symbol should not be defined on any project // symbol defined on the command line. This symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files includ e this file see // that uses this DLL. This way any other project whose source files includ e this file see
// FUSION_API functions as being imported from a DLL, whereas this DLL sees symbols // DIRECT_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported. // defined with this macro as being exported.
#ifdef FUSION_EXPORTS #ifdef DIRECT_EXPORTS
#define FUSION_API __declspec(dllexport) #define DIRECT_API __declspec(dllexport)
#else #else
#define FUSION_API __declspec(dllimport) #define DIRECT_API __declspec(dllimport)
#endif #endif
#else #else
#define FUSION_API #define DIRECT_API
#endif #endif
#if FUSION_BUILD_MULTI && FUSION_BUILD_KERNEL #include <direct/result.h>
#include <sys/types.h>
#include <linux/fusion.h>
#define FUSION_API_MAJOR_REQUIRED 9 /**************************************************************************
#define FUSION_API_MINOR_REQUIRED 0 ********************************************/
#if FUSION_API_MAJOR_REQUIRED > FUSION_API_MAJOR_PROVIDED /*
#error Major version of Fusion Kernel Module too low! Upgrade your kernel. * Return value of enumeration callbacks
#else */
#if FUSION_API_MAJOR_REQUIRED == FUSION_API_MAJOR_PROVIDED typedef enum {
#if FUSION_API_MINOR_REQUIRED > FUSION_API_MINOR_PROVIDED DENUM_OK = 0x00000000, /* Proceed with enumeration */
#error Minor version of Fusion Kernel Module too low! Upgrade your kernel. DENUM_CANCEL = 0x00000001, /* Cancel enumeration */
#endif DENUM_REMOVE = 0x00000002 /* Remove item */
#endif } DirectEnumerationResult;
#endif
typedef struct __D_DirectCleanupHandler DirectCleanupHandler;
typedef struct __D_DirectConfig DirectConfig;
typedef struct __D_DirectFifo DirectFifo;
typedef struct __D_DirectFifoItem DirectFifoItem;
typedef struct __D_DirectFile DirectFile;
typedef struct __D_DirectHash DirectHash;
typedef struct __D_DirectOnce DirectOnce;
typedef struct __D_DirectLink DirectLink;
typedef struct __D_DirectLog DirectLog;
typedef struct __D_DirectMap DirectMap;
typedef struct __D_DirectModuleDir DirectModuleDir;
typedef struct __D_DirectModuleEntry DirectModuleEntry;
typedef struct __D_DirectMutex DirectMutex;
typedef struct __D_DirectProcessor DirectProcessor;
typedef struct __D_DirectSerial DirectSerial;
typedef struct __D_DirectSignalHandler DirectSignalHandler;
typedef struct __D_DirectStream DirectStream;
typedef struct __D_DirectTLS DirectTLS;
typedef struct __D_DirectTraceBuffer DirectTraceBuffer;
typedef struct __D_DirectTree DirectTree;
typedef struct __D_DirectThread DirectThread;
typedef struct __D_DirectThreadHandle DirectThreadHandle;
typedef struct __D_DirectThreadInitHandler DirectThreadInitHandler;
typedef struct __D_DirectWaitQueue DirectWaitQueue;
#ifdef __cplusplus
} /* close extern "C" here for template to compile avoiding e.g. ../../l
ib/direct/types.h:98:6: error: template with C linkage */
namespace Direct {
// NOTE: if build fails here we most likely have the above error due t
o nested extern "C"
template <typename _Item> class List;
template <typename _Item> class ListLocked;
template <typename _Item> class ListSimple;
template <typename _CharT> class StringBase;
template <typename _CharT> class StringsBase;
typedef StringBase<char> String;
typedef StringsBase<char> Strings;
}
#if FUSION_API_MAJOR_PROVIDED == 8 && FUSION_API_MINOR_PROVIDED == 8 && FUS #define D_String Direct::String
ION_API_MICRO_PROVIDED == 0
#define FCEF_QUEUE (0)
#endif
extern "C" {
#else #else
typedef unsigned long FusionID; typedef void D_String;
#define FUSION_ID_MASTER 1L
typedef enum {
FCEF_NONE = 0x00000000,
FCEF_ONEWAY = 0x00000001,
FCEF_QUEUE = 0x00000002,
FCEF_ALL = 0x00000003
} FusionCallExecFlags;
#endif #endif
#define FCEF_NODIRECT 0x80000000
#include <direct/types.h>
typedef struct __Fusion_FusionConfig FusionConfig;
typedef struct __Fusion_FusionArena FusionArena;
typedef struct __Fusion_FusionReactor FusionReactor;
typedef struct __Fusion_FusionWorld FusionWorld;
typedef struct __Fusion_FusionWorldShared FusionWorldShared;
typedef struct __Fusion_FusionObject FusionObject;
typedef struct __Fusion_FusionObjectPool FusionObjectPool;
typedef struct __Fusion_FusionSHM FusionSHM;
typedef struct __Fusion_FusionSHMShared FusionSHMShared;
typedef struct __Fusion_FusionSHMPool FusionSHMPool;
typedef struct __Fusion_FusionSHMPoolShared FusionSHMPoolShared;
typedef struct __Fusion_FusionHash FusionHash;
#endif #endif
 End of changes. 16 change blocks. 
65 lines changed or deleted 71 lines changed or added


 utf8.h   utf8.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
UTF8 routines ported from glib-2.0 and optimized UTF8 routines ported from glib-2.0 and optimized
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 util.h   util.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 85 skipping to change at line 87
#define D_FLAGS_IS_SET(flags,f) (((flags) & (f)) != 0) #define D_FLAGS_IS_SET(flags,f) (((flags) & (f)) != 0)
#define D_FLAGS_ARE_SET(flags,f) (((flags) & (f)) == (f)) #define D_FLAGS_ARE_SET(flags,f) (((flags) & (f)) == (f))
#define D_FLAGS_ARE_IN(flags,f) (((flags) & ~(f)) == 0) #define D_FLAGS_ARE_IN(flags,f) (((flags) & ~(f)) == 0)
#define D_FLAGS_INVALID(flags,f) (((flags) & ~(f)) != 0) #define D_FLAGS_INVALID(flags,f) (((flags) & ~(f)) != 0)
#define D_ARRAY_SIZE(array) ((int)(sizeof(array) / sizeof((array)[0] ))) #define D_ARRAY_SIZE(array) ((int)(sizeof(array) / sizeof((array)[0] )))
#define D_UTIL_SWAP(a,b) \ #define D_UTIL_SWAP(a,b) \
do { \ do { \
const typeof(a) __swap_x = (a); (a) = (b); (b) = __swap_x; \ const __typeof__(a) __swap_x = (a); (a) = (b); (b) = __swap_x; \
} while (0) } while (0)
#if __GNUC__ >= 3 #if __GNUC__ >= 3
#define D_CONST_FUNC __attribute__((const)) #define D_CONST_FUNC __attribute__((const))
#else #else
#define D_CONST_FUNC #define D_CONST_FUNC
#endif #endif
#if __GNUC__ >= 3 #if __GNUC__ >= 3
#define D_FORMAT_PRINTF(n) __attribute__((__format__ (__printf__, n , n+1))) #define D_FORMAT_PRINTF(n) __attribute__((__format__ (__printf__, n , n+1)))
 End of changes. 3 change blocks. 
4 lines changed or deleted 6 lines changed or added


 uuid.h   uuid.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 vector.h   vector.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 vt.h   vt.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 waitqueue.h   waitqueue.h 
/* /*
(c) Copyright 2001-2008 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 windows.h   windows.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 110 skipping to change at line 112
(w)->config.options & (DWOP_ALPHACHANNEL | D WOP_COLORKEYING)) (w)->config.options & (DWOP_ALPHACHANNEL | D WOP_COLORKEYING))
#define VISIBLE_WINDOW(w) (!((w)->caps & DWCAPS_INPUTONLY) && \ #define VISIBLE_WINDOW(w) (!((w)->caps & DWCAPS_INPUTONLY) && \
(w)->config.opacity > 0 && !DFB_WINDOW_DESTR OYED((w))) (w)->config.opacity > 0 && !DFB_WINDOW_DESTR OYED((w)))
/* /*
* Creates a pool of window objects. * Creates a pool of window objects.
*/ */
FusionObjectPool *dfb_window_pool_create( const FusionWorld *world ); FusionObjectPool *dfb_window_pool_create( const FusionWorld *world );
/* Creates a region and configures it optionally using the passed window_su
rface. */
DFBResult
dfb_window_create_region( CoreWindow *window,
CoreLayerContext *context,
CoreSurface *window_surface,
DFBSurfacePixelFormat format,
DFBSurfaceColorSpace colorspace,
DFBSurfaceCapabilities surface_caps,
CoreLayerRegion **ret_region,
CoreSurface **ret_surface );
/* /*
* Generates dfb_window_ref(), dfb_window_attach() etc. * Generates dfb_window_ref(), dfb_window_attach() etc.
*/ */
FUSION_OBJECT_METHODS( CoreWindow, dfb_window ) FUSION_OBJECT_METHODS( CoreWindow, dfb_window )
/* /*
* creates a window on a given stack * creates a window on a given stack
*/ */
DFBResult DFBResult
dfb_window_create( CoreWindowStack *stack, dfb_window_create( CoreWindowStack *stack,
skipping to change at line 286 skipping to change at line 299
DFBWindowEventType enable ); DFBWindowEventType enable );
/* /*
* repaints part of a window, if region is NULL the whole window is repaint ed * repaints part of a window, if region is NULL the whole window is repaint ed
* right_region is ignored for all but stereo windows * right_region is ignored for all but stereo windows
*/ */
DFBResult DFBResult
dfb_window_repaint( CoreWindow *window, dfb_window_repaint( CoreWindow *window,
const DFBRegion *left_region, const DFBRegion *left_region,
const DFBRegion *right_region, const DFBRegion *right_region,
DFBSurfaceFlipFlags flags ); DFBSurfaceFlipFlags flags,
long long timestamp );
/* /*
* request a window to gain focus * request a window to gain focus
*/ */
DFBResult DFBResult
dfb_window_request_focus( CoreWindow *window ); dfb_window_request_focus( CoreWindow *window );
DFBResult dfb_window_set_key_selection( CoreWindow *wind ow, DFBResult dfb_window_set_key_selection( CoreWindow *wind ow,
DFBWindowKeySelection sele ction, DFBWindowKeySelection sele ction,
const DFBInputDeviceKeySymbol *keys , const DFBInputDeviceKeySymbol *keys ,
 End of changes. 4 change blocks. 
4 lines changed or deleted 19 lines changed or added


 windowstack.h   windowstack.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 wm.h   wm.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
skipping to change at line 359 skipping to change at line 361
DFBResult dfb_wm_dispatch_WindowState ( CoreDFB *core, DFBResult dfb_wm_dispatch_WindowState ( CoreDFB *core,
CoreWindow *window ); CoreWindow *window );
DFBResult dfb_wm_dispatch_WindowRestack( CoreDFB *core, DFBResult dfb_wm_dispatch_WindowRestack( CoreDFB *core,
CoreWindow *window, CoreWindow *window,
unsigned int index ); unsigned int index );
DFBResult dfb_wm_dispatch_WindowFocus ( CoreDFB *core, DFBResult dfb_wm_dispatch_WindowFocus ( CoreDFB *core,
CoreWindow *window ); CoreWindow *window );
void dfb_wm_get_info( CoreWMInfo *info ); void dfb_wm_get_info( CoreWMInfo *info );
void *dfb_wm_get_data( void );
DFBResult dfb_wm_post_init ( CoreDFB *core ); DFBResult dfb_wm_post_init ( CoreDFB *core );
DFBResult dfb_wm_init_stack ( CoreWindowStack *stack ); DFBResult dfb_wm_init_stack ( CoreWindowStack *stack );
DFBResult dfb_wm_close_stack ( CoreWindowStack *stack ); DFBResult dfb_wm_close_stack ( CoreWindowStack *stack );
DFBResult dfb_wm_set_active ( CoreWindowStack *stack, DFBResult dfb_wm_set_active ( CoreWindowStack *stack,
bool active ); bool active );
 End of changes. 3 change blocks. 
4 lines changed or deleted 7 lines changed or added


 wm_module.h   wm_module.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 x11.h   x11.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 x11types.h   x11types.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 lines changed or added


 x11vdpau_surface_pool.h   x11vdpau_surface_pool.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( (c) Copyright 2012-2013 DirectFB integrated media GmbH
directfb.org) (c) Copyright 2001-2013 The world wide DirectFB Open Source Community (
directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved. All rights reserved.
Written by Denis Oliver Kropp <dok@directfb.org>, Written by Denis Oliver Kropp <dok@directfb.org>,
Andreas Hundt <andi@fischlustig.de>, Andreas Shimokawa <andi@directfb.org>,
Marek Pikarski <mass@directfb.org>,
Sven Neumann <neo@directfb.org>, Sven Neumann <neo@directfb.org>,
Ville Syrjälä <syrjala@sci.fi> and Ville Syrjälä <syrjala@sci.fi> and
Claudio Ciccani <klan@users.sf.net>. Claudio Ciccani <klan@users.sf.net>.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
 End of changes. 2 change blocks. 
3 lines changed or deleted 5 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/