directfb.h   directfb.h 
skipping to change at line 921 skipping to change at line 921
DWCAPS_INPUTONLY = 0x00000004, /* The window has no surface. DWCAPS_INPUTONLY = 0x00000004, /* The window has no surface.
You can not draw to it but it You can not draw to it but it
receives events */ receives events */
DWCAPS_NODECORATION = 0x00000008, /* The window won't be decorated. * / DWCAPS_NODECORATION = 0x00000008, /* The window won't be decorated. * /
DWCAPS_SUBWINDOW = 0x00000010, /* Not a top level window. */ DWCAPS_SUBWINDOW = 0x00000010, /* Not a top level window. */
DWCAPS_COLOR = 0x00000020, /* The window has no buffer; DWCAPS_COLOR = 0x00000020, /* The window has no buffer;
it consumes no backing store. it consumes no backing store.
It is filled with a constant col or It is filled with a constant col or
and it receives events */ and it receives events. The colo
r is
never specified premultiplied. *
/
DWCAPS_NOFOCUS = 0x00000100, /* Window will never get focus or r eceive key events, unless it grabs them. */ DWCAPS_NOFOCUS = 0x00000100, /* Window will never get focus or r eceive key events, unless it grabs them. */
DWCAPS_ALL = 0x0000013F /* All of these. */ DWCAPS_ALL = 0x0000013F /* All of these. */
} DFBWindowCapabilities; } DFBWindowCapabilities;
/* /*
* Flags controlling the appearance and behaviour of the window. * Flags controlling the appearance and behaviour of the window.
*/ */
typedef enum { typedef enum {
skipping to change at line 952 skipping to change at line 953
with the mouse */ with the mouse */
DWOP_KEEP_SIZE = 0x00000020, /* window can't be resized DWOP_KEEP_SIZE = 0x00000020, /* window can't be resized
with the mouse */ with the mouse */
DWOP_KEEP_STACKING = 0x00000040, /* window can't be raised DWOP_KEEP_STACKING = 0x00000040, /* window can't be raised
or lowered with the mouse */ or lowered with the mouse */
DWOP_GHOST = 0x00001000, /* never get focus or input, DWOP_GHOST = 0x00001000, /* never get focus or input,
clicks will go through, clicks will go through,
implies DWOP_KEEP... */ implies DWOP_KEEP... */
DWOP_INDESTRUCTIBLE = 0x00002000, /* window can't be destroyed DWOP_INDESTRUCTIBLE = 0x00002000, /* window can't be destroyed
by internal shortcut */ by internal shortcut */
DWOP_INPUTONLY = 0x00004000, /* The window will be input only.
It will receive events but is no
t shown.
Note that toggling this bit will
not
free/assign the window surface.
*/
DWOP_SCALE = 0x00010000, /* Surface won't be changed if wind ow size on screen changes. The surface DWOP_SCALE = 0x00010000, /* Surface won't be changed if wind ow size on screen changes. The surface
can be resized separately using IDirectFBWindow::ResizeSurface(). */ can be resized separately using IDirectFBWindow::ResizeSurface(). */
DWOP_KEEP_ABOVE = 0x00100000, /* Keep window above parent window. */ DWOP_KEEP_ABOVE = 0x00100000, /* Keep window above parent window. */
DWOP_KEEP_UNDER = 0x00200000, /* Keep window under parent window. */ DWOP_KEEP_UNDER = 0x00200000, /* Keep window under parent window. */
DWOP_FOLLOW_BOUNDS = 0x00400000, /* Follow window bounds from parent . */ DWOP_FOLLOW_BOUNDS = 0x00400000, /* Follow window bounds from parent . */
DWOP_ALL = 0x0071307F /* all possible options */ DWOP_ALL = 0x0071707F /* all possible options */
} DFBWindowOptions; } DFBWindowOptions;
/* /*
* The stacking class restricts the stacking order of windows. * The stacking class restricts the stacking order of windows.
*/ */
typedef enum { typedef enum {
DWSC_MIDDLE = 0x00000000, /* This is the default stacking DWSC_MIDDLE = 0x00000000, /* This is the default stacking
class of new windows. */ class of new windows. */
DWSC_UPPER = 0x00000001, /* Window is always above windows DWSC_UPPER = 0x00000001, /* Window is always above windows
in the middle stacking class. in the middle stacking class.
skipping to change at line 1201 skipping to change at line 1206
/* 24 bit ARGB (3 byte, alpha 8@16, red 5@11, green 6@5, blue 5@0) */ /* 24 bit ARGB (3 byte, alpha 8@16, red 5@11, green 6@5, blue 5@0) */
DSPF_ARGB8565 = DFB_SURFACE_PIXELFORMAT( 32, 16, 8, 1, 0, 3, 0, 0, 0, 0, 0 ), DSPF_ARGB8565 = DFB_SURFACE_PIXELFORMAT( 32, 16, 8, 1, 0, 3, 0, 0, 0, 0, 0 ),
/* 32 bit AVYU 4:4:4 (4 byte, alpha 8@24, Cr 8@16, Y 8@8, Cb 8@0) */ /* 32 bit AVYU 4:4:4 (4 byte, alpha 8@24, Cr 8@16, Y 8@8, Cb 8@0) */
DSPF_AVYU = DFB_SURFACE_PIXELFORMAT( 33, 24, 8, 1, 0, 4, 0, 0, 0, 0, 0 ), DSPF_AVYU = DFB_SURFACE_PIXELFORMAT( 33, 24, 8, 1, 0, 4, 0, 0, 0, 0, 0 ),
/* 24 bit VYU 4:4:4 (3 byte, Cr 8@16, Y 8@8, Cb 8@0) */ /* 24 bit VYU 4:4:4 (3 byte, Cr 8@16, Y 8@8, Cb 8@0) */
DSPF_VYU = DFB_SURFACE_PIXELFORMAT( 34, 24, 0, 0, 0, 3, 0, 0, 0, 0, 0 ), DSPF_VYU = DFB_SURFACE_PIXELFORMAT( 34, 24, 0, 0, 0, 3, 0, 0, 0, 0, 0 ),
/* 1 bit alpha (1 byte/ 8 pixel, LEAST significant bit used first) */
DSPF_A1_LSB = DFB_SURFACE_PIXELFORMAT( 35, 0, 1, 1, 1, 0, 7, 0, 0,
0, 0 ),
/* 16 bit YUV (8 bit Y plane followed by 8 bit 2x1 subsampled V/U pl
anes) */
DSPF_YV16 = DFB_SURFACE_PIXELFORMAT( 36, 16, 0, 0, 0, 1, 0, 0, 1,
0, 0 ),
} DFBSurfacePixelFormat; } DFBSurfacePixelFormat;
/* Number of pixelformats defined */ /* Number of pixelformats defined */
#define DFB_NUM_PIXELFORMATS 35 #define DFB_NUM_PIXELFORMATS 37
/* 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 2183 skipping to change at line 2194
*/ */
typedef enum { typedef enum {
DSOC_UNKNOWN = 0x00000000, /* Unknown type */ DSOC_UNKNOWN = 0x00000000, /* Unknown type */
DSOC_VGA = 0x00000001, /* VGA connector */ DSOC_VGA = 0x00000001, /* VGA connector */
DSOC_SCART = 0x00000002, /* SCART connector */ DSOC_SCART = 0x00000002, /* SCART connector */
DSOC_YC = 0x00000004, /* Y/C connector */ DSOC_YC = 0x00000004, /* Y/C connector */
DSOC_CVBS = 0x00000008, /* CVBS connector */ DSOC_CVBS = 0x00000008, /* CVBS connector */
DSOC_SCART2 = 0x00000010, /* 2nd SCART connector */ DSOC_SCART2 = 0x00000010, /* 2nd SCART connector */
DSOC_COMPONENT = 0x00000020, /* Component video connector */ DSOC_COMPONENT = 0x00000020, /* Component video connector */
DSOC_HDMI = 0x00000040 /* HDMI connector */ DSOC_HDMI = 0x00000040, /* HDMI connector */
DSOC_656 = 0x00000080, /* DVO connector */
} DFBScreenOutputConnectors; } DFBScreenOutputConnectors;
/* /*
* Type of output signal. * Type of output signal.
*/ */
typedef enum { typedef enum {
DSOS_NONE = 0x00000000, /* No signal */ DSOS_NONE = 0x00000000, /* No signal */
DSOS_VGA = 0x00000001, /* VGA signal */ DSOS_VGA = 0x00000001, /* VGA signal */
DSOS_YC = 0x00000002, /* Y/C signal */ DSOS_YC = 0x00000002, /* Y/C signal */
skipping to change at line 2648 skipping to change at line 2660
); );
/* /*
* Set output configuration. * Set output configuration.
*/ */
DFBResult (*SetOutputConfiguration) ( DFBResult (*SetOutputConfiguration) (
IDirectFBScreen *thiz, IDirectFBScreen *thiz,
int output, int output,
const DFBScreenOutputConfig *config const DFBScreenOutputConfig *config
); );
/** Synchronization **/
/*
* Return current VSync count.
*/
DFBResult (*GetVSyncCount) (
IDirectFBScreen *thiz,
unsigned long *ret_count
);
) )
/************************* /*************************
* IDirectFBDisplayLayer * * IDirectFBDisplayLayer *
*************************/ *************************/
/* /*
* <i>No summary yet...</i> * <i>No summary yet...</i>
*/ */
DEFINE_INTERFACE( IDirectFBDisplayLayer, DEFINE_INTERFACE( IDirectFBDisplayLayer,
skipping to change at line 3165 skipping to change at line 3187
DSTF_BOTTOMLEFT = DSTF_BOTTOM | DSTF_LEFT, DSTF_BOTTOMLEFT = DSTF_BOTTOM | DSTF_LEFT,
DSTF_BOTTOMCENTER = DSTF_BOTTOM | DSTF_CENTER, DSTF_BOTTOMCENTER = DSTF_BOTTOM | DSTF_CENTER,
DSTF_BOTTOMRIGHT = DSTF_BOTTOM | DSTF_RIGHT DSTF_BOTTOMRIGHT = DSTF_BOTTOM | DSTF_RIGHT
} DFBSurfaceTextFlags; } DFBSurfaceTextFlags;
/* /*
* Flags defining the type of data access. * Flags defining the type of data access.
* These are important for surface swapping management. * These are important for surface swapping management.
*/ */
typedef enum { typedef enum {
DSLF_READ = 0x00000001, /* request read access while DSLF_READ = 0x00000001, /* Request read access while
surface is locked */ surface is locked. */
DSLF_WRITE = 0x00000002 /* Request write access. If DSLF_WRITE = 0x00000002 /* Request write access. If
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;
/* /*
* Available Porter/Duff rules. * Available Porter/Duff rules.
*/ */
skipping to change at line 3390 skipping to change at line 3412
* buffer. * buffer.
*/ */
DFBResult (*Lock) ( DFBResult (*Lock) (
IDirectFBSurface *thiz, IDirectFBSurface *thiz,
DFBSurfaceLockFlags flags, DFBSurfaceLockFlags flags,
void **ret_ptr, void **ret_ptr,
int *ret_pitch int *ret_pitch
); );
/* /*
* Returns the framebuffer offset of a locked surface. * Obsolete. Returns DFB_FAILURE always.
* *
* The surface must exist in video memory. * Previously returned the framebuffer offset of a locked surface.
* However, it is not a safe API to use at all, since it is not
* guaranteed that the offset actually belongs to fbmem (e.g. could be
AGP memory).
*/ */
DFBResult (*GetFramebufferOffset) ( DFBResult (*GetFramebufferOffset) (
IDirectFBSurface *thiz, IDirectFBSurface *thiz,
int *offset int *offset
); );
/* /*
* Unlock the surface after direct access. * Unlock the surface after direct access.
*/ */
DFBResult (*Unlock) ( DFBResult (*Unlock) (
skipping to change at line 4080 skipping to change at line 4104
*/ */
DFBResult (*BatchBlit2) ( DFBResult (*BatchBlit2) (
IDirectFBSurface *thiz, IDirectFBSurface *thiz,
IDirectFBSurface *source, IDirectFBSurface *source,
IDirectFBSurface *source2, IDirectFBSurface *source2,
const DFBRectangle *source_rects, const DFBRectangle *source_rects,
const DFBPoint *dest_points, const DFBPoint *dest_points,
const DFBPoint *source2_points, const DFBPoint *source2_points,
int num int num
); );
/** Buffer operations **/
/*
* Returns the physical address of a locked surface.
*
* The surface must exist in a video memory pool.
*/
DFBResult (*GetPhysicalAddress) (
IDirectFBSurface *thiz,
unsigned long *addr
);
) )
/******************** /********************
* IDirectFBPalette * * IDirectFBPalette *
********************/ ********************/
/* /*
* <i>No summary yet...</i> * <i>No summary yet...</i>
*/ */
DEFINE_INTERFACE( IDirectFBPalette, DEFINE_INTERFACE( IDirectFBPalette,
skipping to change at line 6408 skipping to change at line 6444
IDirectFBImageProvider **interface IDirectFBImageProvider **interface
); );
/* /*
* Creates a video provider using the buffers data. * Creates a video provider using the buffers data.
*/ */
DFBResult (*CreateVideoProvider) ( DFBResult (*CreateVideoProvider) (
IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *thiz,
IDirectFBVideoProvider **interface IDirectFBVideoProvider **interface
); );
/*
* Load a font using the buffer's data, given a description
* of how to load the glyphs.
*/
DFBResult (*CreateFont) (
IDirectFBDataBuffer *thiz,
const DFBFontDescription *desc,
IDirectFBFont **interface
);
) )
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
 End of changes. 12 change blocks. 
8 lines changed or deleted 63 lines changed or added


 directfb_strings.h   directfb_strings.h 
skipping to change at line 45 skipping to change at line 45
{ DSPF_RGB18, "RGB18" }, \ { DSPF_RGB18, "RGB18" }, \
{ DSPF_LUT2, "LUT2" }, \ { DSPF_LUT2, "LUT2" }, \
{ DSPF_RGB444, "RGB444" }, \ { DSPF_RGB444, "RGB444" }, \
{ DSPF_RGB555, "RGB555" }, \ { DSPF_RGB555, "RGB555" }, \
{ DSPF_BGR555, "BGR555" }, \ { DSPF_BGR555, "BGR555" }, \
{ DSPF_RGBA5551, "RGBA5551" }, \ { DSPF_RGBA5551, "RGBA5551" }, \
{ DSPF_YUV444P, "YUV444P" }, \ { DSPF_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_YV16, "YV16" }, \
{ DSPF_UNKNOWN, "UNKNOWN" } \ { DSPF_UNKNOWN, "UNKNOWN" } \
}; };
struct DFBInputDeviceTypeFlagsName { struct DFBInputDeviceTypeFlagsName {
DFBInputDeviceTypeFlags type; DFBInputDeviceTypeFlags type;
const char *name; const char *name;
}; };
#define DirectFBInputDeviceTypeFlagsNames(Identifier) struct DFBInputDevice TypeFlagsName Identifier[] = { \ #define DirectFBInputDeviceTypeFlagsNames(Identifier) struct DFBInputDevice TypeFlagsName Identifier[] = { \
{ DIDTF_KEYBOARD, "KEYBOARD" }, \ { DIDTF_KEYBOARD, "KEYBOARD" }, \
skipping to change at line 228 skipping to change at line 230
{ DWOP_COLORKEYING, "COLORKEYING" }, \ { DWOP_COLORKEYING, "COLORKEYING" }, \
{ DWOP_ALPHACHANNEL, "ALPHACHANNEL" }, \ { DWOP_ALPHACHANNEL, "ALPHACHANNEL" }, \
{ DWOP_OPAQUE_REGION, "OPAQUE_REGION" }, \ { DWOP_OPAQUE_REGION, "OPAQUE_REGION" }, \
{ DWOP_SHAPED, "SHAPED" }, \ { DWOP_SHAPED, "SHAPED" }, \
{ DWOP_ALPHACHANNEL, "ALPHACHANNEL" }, \ { DWOP_ALPHACHANNEL, "ALPHACHANNEL" }, \
{ DWOP_KEEP_POSITION, "KEEP_POSITION" }, \ { DWOP_KEEP_POSITION, "KEEP_POSITION" }, \
{ DWOP_KEEP_SIZE, "KEEP_SIZE" }, \ { DWOP_KEEP_SIZE, "KEEP_SIZE" }, \
{ DWOP_KEEP_STACKING, "KEEP_STACKING" }, \ { DWOP_KEEP_STACKING, "KEEP_STACKING" }, \
{ DWOP_GHOST, "GHOST" }, \ { DWOP_GHOST, "GHOST" }, \
{ DWOP_INDESTRUCTIBLE, "INDESTRUCTIBLE" }, \ { DWOP_INDESTRUCTIBLE, "INDESTRUCTIBLE" }, \
{ DWOP_INPUTONLY, "INPUTONLY" }, \
{ DWOP_SCALE, "SCALE" }, \ { DWOP_SCALE, "SCALE" }, \
{ DWOP_KEEP_ABOVE, "KEEP_ABOVE" }, \ { DWOP_KEEP_ABOVE, "KEEP_ABOVE" }, \
{ DWOP_KEEP_UNDER, "KEEP_UNDER" }, \ { DWOP_KEEP_UNDER, "KEEP_UNDER" }, \
{ DWOP_FOLLOW_BOUNDS, "FOLLOW_BOUNDS" }, \ { DWOP_FOLLOW_BOUNDS, "FOLLOW_BOUNDS" }, \
{ DWOP_NONE, "NONE" } \ { DWOP_NONE, "NONE" } \
}; };
struct DFBScreenCapabilitiesName { struct DFBScreenCapabilitiesName {
DFBScreenCapabilities capability; DFBScreenCapabilities capability;
const char *name; const char *name;
skipping to change at line 332 skipping to change at line 335
}; };
#define DirectFBScreenOutputConnectorsNames(Identifier) struct DFBScreenOut putConnectorsName Identifier[] = { \ #define DirectFBScreenOutputConnectorsNames(Identifier) struct DFBScreenOut putConnectorsName Identifier[] = { \
{ DSOC_VGA, "VGA" }, \ { DSOC_VGA, "VGA" }, \
{ DSOC_SCART, "SCART" }, \ { DSOC_SCART, "SCART" }, \
{ DSOC_YC, "YC" }, \ { DSOC_YC, "YC" }, \
{ DSOC_CVBS, "CVBS" }, \ { DSOC_CVBS, "CVBS" }, \
{ DSOC_SCART2, "SCART2" }, \ { DSOC_SCART2, "SCART2" }, \
{ DSOC_COMPONENT, "COMPONENT" }, \ { DSOC_COMPONENT, "COMPONENT" }, \
{ DSOC_HDMI, "HDMI" }, \ { DSOC_HDMI, "HDMI" }, \
{ DSOC_656, "656" }, \
{ DSOC_UNKNOWN, "UNKNOWN" } \ { DSOC_UNKNOWN, "UNKNOWN" } \
}; };
struct DFBScreenOutputSignalsName { struct DFBScreenOutputSignalsName {
DFBScreenOutputSignals signal; DFBScreenOutputSignals signal;
const char *name; const char *name;
}; };
#define DirectFBScreenOutputSignalsNames(Identifier) struct DFBScreenOutput SignalsName Identifier[] = { \ #define DirectFBScreenOutputSignalsNames(Identifier) struct DFBScreenOutput SignalsName Identifier[] = { \
{ DSOS_VGA, "VGA" }, \ { DSOS_VGA, "VGA" }, \
skipping to change at line 441 skipping to change at line 445
DFBScreenEncoderScanMode scan_mode; DFBScreenEncoderScanMode scan_mode;
const char *name; const char *name;
}; };
#define DirectFBScreenEncoderScanModeNames(Identifier) struct DFBScreenEnco derScanModeName Identifier[] = { \ #define DirectFBScreenEncoderScanModeNames(Identifier) struct DFBScreenEnco derScanModeName Identifier[] = { \
{ DSESM_INTERLACED, "INTERLACED" }, \ { DSESM_INTERLACED, "INTERLACED" }, \
{ DSESM_PROGRESSIVE, "PROGRESSIVE" }, \ { DSESM_PROGRESSIVE, "PROGRESSIVE" }, \
{ DSESM_UNKNOWN, "UNKNOWN" } \ { DSESM_UNKNOWN, "UNKNOWN" } \
}; };
struct DFBScreenEncoderConfigFlagsName {
DFBScreenEncoderConfigFlags config_flags;
const char *name;
};
#define DirectFBScreenEncoderConfigFlagsNames(Identifier) struct DFBScreenE
ncoderConfigFlagsName Identifier[] = { \
{ DSECONF_NONE, "NONE" }, \
{ DSECONF_TV_STANDARD, "TV_STANDARD" }, \
{ DSECONF_TEST_PICTURE, "TEST_PICTURE" }, \
{ DSECONF_MIXER, "MIXER" }, \
{ DSECONF_OUT_SIGNALS, "OUT_SIGNALS" }, \
{ DSECONF_SCANMODE, "SCANMODE" }, \
{ DSECONF_TEST_COLOR, "TEST_COLOR" }, \
{ DSECONF_ADJUSTMENT, "ADJUSTMENT" }, \
{ DSECONF_FREQUENCY, "FREQUENCY" }, \
{ DSECONF_CONNECTORS, "CONNECTORS" }, \
{ DSECONF_SLOW_BLANKING, "SLOW_BLANKING" }, \
{ DSECONF_RESOLUTION, "RESOLUTION" }, \
{ DSECONF_UNKNOWN, "UNKNOWN" } \
};
struct DFBScreenEncoderFrequencyName { struct DFBScreenEncoderFrequencyName {
DFBScreenEncoderFrequency frequency; DFBScreenEncoderFrequency frequency;
const char *name; const char *name;
}; };
#define DirectFBScreenEncoderFrequencyNames(Identifier) struct DFBScreenEnc oderFrequencyName Identifier[] = { \ #define DirectFBScreenEncoderFrequencyNames(Identifier) struct DFBScreenEnc oderFrequencyName Identifier[] = { \
{ DSEF_25HZ, "25HZ" }, \ { DSEF_25HZ, "25HZ" }, \
{ DSEF_29_97HZ, "29_97HZ" }, \ { DSEF_29_97HZ, "29_97HZ" }, \
{ DSEF_50HZ, "50HZ" }, \ { DSEF_50HZ, "50HZ" }, \
{ DSEF_59_94HZ, "59_94HZ" }, \ { DSEF_59_94HZ, "59_94HZ" }, \
 End of changes. 4 change blocks. 
0 lines changed or deleted 26 lines changed or added


 directfb_version.h   directfb_version.h 
skipping to change at line 34 skipping to change at line 34
License along with this library; if not, write to the License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. Boston, MA 02111-1307, USA.
*/ */
#ifndef __DIRECTFB_VERSION_H__ #ifndef __DIRECTFB_VERSION_H__
#define __DIRECTFB_VERSION_H__ #define __DIRECTFB_VERSION_H__
#define DIRECTFB_MAJOR_VERSION (1) #define DIRECTFB_MAJOR_VERSION (1)
#define DIRECTFB_MINOR_VERSION (4) #define DIRECTFB_MINOR_VERSION (4)
#define DIRECTFB_MICRO_VERSION (3) #define DIRECTFB_MICRO_VERSION (4)
#define DIRECTFB_BINARY_AGE (3) #define DIRECTFB_BINARY_AGE (3)
#define DIRECTFB_INTERFACE_AGE (0) #define DIRECTFB_INTERFACE_AGE (0)
#endif /* __DIRECTFB_VERSION_H__ */ #endif /* __DIRECTFB_VERSION_H__ */
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 idirectfb.h   idirectfb.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2010 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 86 skipping to change at line 86
* IDirectFB constructor/destructor * IDirectFB constructor/destructor
*/ */
DFBResult IDirectFB_Construct ( IDirectFB *thiz, DFBResult IDirectFB_Construct ( IDirectFB *thiz,
CoreDFB *core ); CoreDFB *core );
void IDirectFB_Destruct ( IDirectFB *thiz ); void IDirectFB_Destruct ( IDirectFB *thiz );
DFBResult IDirectFB_SetAppFocus( IDirectFB *thiz, DFBResult IDirectFB_SetAppFocus( IDirectFB *thiz,
DFBBoolean focused ); 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 )
;
extern IDirectFB *idirectfb_singleton; extern IDirectFB *idirectfb_singleton;
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 11 lines changed or added


 idirectfbfont.h   idirectfbfont.h 
skipping to change at line 40 skipping to change at line 40
#define __IDIRECTFBFONT_H__ #define __IDIRECTFBFONT_H__
#include <directfb.h> #include <directfb.h>
#include <core/coretypes.h> #include <core/coretypes.h>
/* /*
* probing context * probing context
*/ */
typedef struct { typedef struct {
const char *filename; /* 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_ProbeContext; } IDirectFBFont_ProbeContext;
DFBResult
IDirectFBFont_CreateFromBuffer( IDirectFBDataBuffer *buffer,
CoreDFB *core,
const DFBFontDescription *desc,
IDirectFBFont **interface );
/**************************************************************************
********************************************/
/* /*
* private data struct of IDirectFBFont * private data struct of IDirectFBFont
* used by implementors of IDirectFBFont
*/ */
typedef struct { typedef struct {
int ref; /* reference counter */ int ref; /* reference counter */
CoreFont *font; /* pointer to core font */ CoreFont *font; /* pointer to core font */
unsigned char *content; /* possible allocation, free at intf. cl ose */
DFBTextEncodingID encoding; /* text encoding */ DFBTextEncodingID encoding; /* text encoding */
} IDirectFBFont_data; } IDirectFBFont_data;
/* /*
* common code to construct the interface (internal usage only) * common code to construct the interface (internal usage only)
*/ */
DFBResult IDirectFBFont_Construct( IDirectFBFont *thiz, CoreFont *font ); DFBResult IDirectFBFont_Construct( IDirectFBFont *thiz, CoreFont *font );
/* /*
 End of changes. 4 change blocks. 
1 lines changed or deleted 18 lines changed or added


 idirectfbsurface.h   idirectfbsurface.h 
skipping to change at line 52 skipping to change at line 52
* private data struct of IDirectFBSurface * private data struct of IDirectFBSurface
*/ */
typedef struct { typedef struct {
DirectLink link; DirectLink link;
int ref; /* reference counter */ int ref; /* reference counter */
DFBSurfaceCapabilities caps; /* capabilities */ DFBSurfaceCapabilities caps; /* capabilities */
struct { struct {
DFBRectangle wanted; /* passed to GetSubSurface */ /* 'wanted' is passed to GetSubSurface(), it doesn't matter if it'
DFBRectangle granted; /* clipped by parent on creati s
on */ 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 */ DFBRectangle current; /* currently available area */
DFBInsets insets; /* actually set by the window manager */ DFBInsets insets; /* actually set by the window manager */
} area; } area;
bool limit_set; /* greanted rectangle set? bool limit_set; /* greanted rectangle set?
(GetSubSurface called with rect != NULL) */ (GetSubSurface called with rect != NULL) */
bool clip_set; /* fixed clip set? (SetClip ca lled bool clip_set; /* fixed clip set? (SetClip ca lled
with clip != NULL) */ with clip != NULL) */
DFBRegion clip_wanted; /* last region passed to SetCl ip DFBRegion clip_wanted; /* last region passed to SetCl ip
 End of changes. 1 change blocks. 
3 lines changed or deleted 45 lines changed or added


 input.h   input.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2010 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 75 skipping to change at line 75
e.g. 'directfb.org' or 'Sven Neuma nn' */ e.g. 'directfb.org' or 'Sven Neuma nn' */
} InputDriverInfo; } InputDriverInfo;
typedef struct { typedef struct {
unsigned int prefered_id; /* Prefered predefined input device i d, unsigned int prefered_id; /* Prefered predefined input device i d,
e.g. DIDID_MOUSE */ e.g. DIDID_MOUSE */
DFBInputDeviceDescription desc; /* Capabilities, type, etc. */ DFBInputDeviceDescription desc; /* Capabilities, type, etc. */
} InputDeviceInfo; } InputDeviceInfo;
/*
* Input provider capability flags.
*/
typedef enum {
IDC_NONE = 0x00, /* None */
IDC_HOTPLUG = 0x01, /* Input devices support hot-plug */
IDC_ALL = 0x01 /* All flags supported */
} InputDriverCapability;
typedef struct {
CoreDFB *core;
void *driver;
} HotplugThreadData;
typedef struct { typedef struct {
int (*GetAvailable) (void); int (*GetAvailable) (void);
void (*GetDriverInfo) (InputDriverInfo *driver_info ); void (*GetDriverInfo) (InputDriverInfo *driver_info );
DFBResult (*OpenDevice) (CoreInputDevice *device, DFBResult (*OpenDevice) (CoreInputDevice *device,
unsigned int number, unsigned int number,
InputDeviceInfo *device_info , InputDeviceInfo *device_info ,
void **driver_data ); void **driver_data );
DFBResult (*GetKeymapEntry) (CoreInputDevice *device, DFBResult (*GetKeymapEntry) (CoreInputDevice *device,
void *driver_data , void *driver_data ,
DFBInputDeviceKeymapEntry *entry); DFBInputDeviceKeymapEntry *entry);
void (*CloseDevice) (void *driver_data ); void (*CloseDevice) (void *driver_data );
DFBResult (*Suspend) (void);
DFBResult (*Resume) (void);
DFBResult (*IsCreated) (int index,
void *data);
InputDriverCapability
(*GetCapability) (void);
DFBResult (*LaunchHotplug) (CoreDFB *core,
void *input_driver);
DFBResult (*StopHotplug) (void);
DFBResult (*GetAxisInfo) (CoreInputDevice *device, DFBResult (*GetAxisInfo) (CoreInputDevice *device,
void *driver_data , void *driver_data ,
DFBInputDeviceAxisIdentifier axis, DFBInputDeviceAxisIdentifier axis,
DFBInputDeviceAxisInfo *ret_info); DFBInputDeviceAxisInfo *ret_info);
} InputDriverFuncs; } InputDriverFuncs;
typedef DFBEnumerationResult (*InputDeviceCallback) (CoreInputDevice *devic e, typedef DFBEnumerationResult (*InputDeviceCallback) (CoreInputDevice *devic e,
void *ctx); void *ctx);
skipping to change at line 132 skipping to change at line 156
void dfb_input_dispatch ( CoreInputDevice *device, void dfb_input_dispatch ( CoreInputDevice *device,
DFBInputEvent *event ); DFBInputEvent *event );
void dfb_input_device_description( const CoreInputDevice * device, void dfb_input_device_description( const CoreInputDevice * device,
DFBInputDeviceDescription * desc ); DFBInputDeviceDescription * desc );
DFBInputDeviceID dfb_input_device_id ( const CoreInputDevice * device ); DFBInputDeviceID dfb_input_device_id ( const CoreInputDevice * device );
CoreInputDevice *dfb_input_device_at ( DFBInputDeviceID id ); CoreInputDevice *dfb_input_device_at ( DFBInputDeviceID id );
DFBInputDeviceCapabilities dfb_input_device_caps( const CoreInputDevice *de
vice );
DFBResult dfb_input_device_get_keymap_entry( CoreInputDevice *device, DFBResult dfb_input_device_get_keymap_entry( CoreInputDevice *device,
int keycode, int keycode,
DFBInputDeviceKeymapEn try *entry ); DFBInputDeviceKeymapEn try *entry );
DFBResult dfb_input_device_set_keymap_entry( CoreInputDevice *device, DFBResult dfb_input_device_set_keymap_entry( CoreInputDevice *device,
int keycode, int keycode,
DFBInputDeviceKeymapEn try *entry ); DFBInputDeviceKeymapEn try *entry );
DFBResult dfb_input_device_load_keymap ( CoreInputDevice *device, DFBResult dfb_input_device_load_keymap ( CoreInputDevice *device,
char *filename ); char *filename );
DFBResult dfb_input_device_reload_keymap ( CoreInputDevice *device ); DFBResult dfb_input_device_reload_keymap ( CoreInputDevice *device );
void containers_attach_device( CoreInputDevice *device );
void containers_detach_device( CoreInputDevice *device );
void stack_containers_attach_device( CoreInputDevice *device )
;
void stack_containers_detach_device( CoreInputDevice *device )
;
DFBResult dfb_input_create_device( int device_index,
CoreDFB *core_in,
void *driver_in );
DFBResult dfb_input_remove_device( int device_index,
void *driver_in );
/* global reactions */ /* global reactions */
typedef enum { typedef enum {
DFB_WINDOWSTACK_INPUTDEVICE_LISTENER DFB_WINDOWSTACK_INPUTDEVICE_LISTENER
} DFB_INPUT_GLOBALS; } DFB_INPUT_GLOBALS;
#endif #endif
 End of changes. 5 change blocks. 
1 lines changed or deleted 45 lines changed or added


 input_driver.h   input_driver.h 
/* /*
(c) Copyright 2001-2009 The world wide DirectFB Open Source Community ( directfb.org) (c) Copyright 2001-2010 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 62 skipping to change at line 62
static DFBResult static DFBResult
driver_get_axis_info( CoreInputDevice *device, driver_get_axis_info( CoreInputDevice *device,
void *driver_data, void *driver_data,
DFBInputDeviceAxisIdentifier axis, DFBInputDeviceAxisIdentifier axis,
DFBInputDeviceAxisInfo *ret_info ); DFBInputDeviceAxisInfo *ret_info );
#endif #endif
static void static void
driver_close_device( void *driver_data ); driver_close_device( void *driver_data );
static DFBResult
driver_suspend( void );
static DFBResult
driver_resume( void );
static DFBResult
is_created( int event_num, void *data);
static InputDriverCapability
get_capability( void );
static DFBResult
launch_hotplug(CoreDFB *core,
void *input_driver);
static DFBResult
stop_hotplug( void );
#if !defined(DISABLE_INPUT_HOTPLUG_FUNCTION_STUB)
/* Add hot-plug stub function implementations for all input providers by
* default when DISABLE_INPUT_HOTPLUG_FUNCTION_STUB is not defined.
*/
static DFBResult
driver_suspend( void )
{
return DFB_UNSUPPORTED;
}
static DFBResult
driver_resume( void )
{
return DFB_UNSUPPORTED;
}
static DFBResult
is_created( int event_num, void *data)
{
return DFB_UNSUPPORTED;
}
static InputDriverCapability
get_capability( void )
{
return IDC_NONE;
}
static DFBResult
launch_hotplug(CoreDFB *core,
void *input_driver)
{
return DFB_UNSUPPORTED;
}
static DFBResult
stop_hotplug( void )
{
return DFB_UNSUPPORTED;
}
#endif
static const InputDriverFuncs driver_funcs = { static const InputDriverFuncs driver_funcs = {
.GetAvailable = driver_get_available, .GetAvailable = driver_get_available,
.GetDriverInfo = driver_get_info, .GetDriverInfo = driver_get_info,
.OpenDevice = driver_open_device, .OpenDevice = driver_open_device,
.GetKeymapEntry = driver_get_keymap_entry, .GetKeymapEntry = driver_get_keymap_entry,
.CloseDevice = driver_close_device, .CloseDevice = driver_close_device,
.Suspend = driver_suspend,
.Resume = driver_resume,
.IsCreated = is_created,
.GetCapability = get_capability,
.LaunchHotplug = launch_hotplug,
.StopHotplug = stop_hotplug,
#ifdef DFB_INPUTDRIVER_HAS_AXIS_INFO #ifdef DFB_INPUTDRIVER_HAS_AXIS_INFO
.GetAxisInfo = driver_get_axis_info .GetAxisInfo = driver_get_axis_info
#endif #endif
}; };
#define DFB_INPUT_DRIVER(shortname) \ #define DFB_INPUT_DRIVER(shortname) \
__attribute__((constructor)) void directfb_##shortname##_ctor( void ); \ __attribute__((constructor)) void directfb_##shortname##_ctor( void ); \
__attribute__((destructor)) void directfb_##shortname##_dtor( void ); \ __attribute__((destructor)) void directfb_##shortname##_dtor( void ); \
\ \
 End of changes. 3 change blocks. 
1 lines changed or deleted 69 lines changed or added


 screen.h   screen.h 
skipping to change at line 47 skipping to change at line 47
/* Misc */ /* Misc */
DFBResult dfb_screen_suspend ( CoreScreen *screen ); DFBResult dfb_screen_suspend ( CoreScreen *screen );
DFBResult dfb_screen_resume ( CoreScreen *screen ); DFBResult dfb_screen_resume ( CoreScreen *screen );
DFBResult dfb_screen_set_powermode ( CoreScreen *screen, DFBResult dfb_screen_set_powermode ( CoreScreen *screen,
DFBScreenPowerMode mode ); DFBScreenPowerMode mode );
DFBResult dfb_screen_wait_vsync ( CoreScreen *screen ); DFBResult dfb_screen_wait_vsync ( CoreScreen *screen );
DFBResult dfb_screen_get_vsync_count ( CoreScreen *screen,
unsigned long *ret_cou
nt );
/* Mixers */ /* Mixers */
DFBResult dfb_screen_get_mixer_info ( CoreScreen *screen, DFBResult dfb_screen_get_mixer_info ( CoreScreen *screen,
int mixer, int mixer,
DFBScreenMixerDescription *ret_des c ); DFBScreenMixerDescription *ret_des c );
DFBResult dfb_screen_get_mixer_config ( CoreScreen *screen, DFBResult dfb_screen_get_mixer_config ( CoreScreen *screen,
int mixer, int mixer,
DFBScreenMixerConfig *ret_con fig ); DFBScreenMixerConfig *ret_con fig );
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 lines changed or added


 screens.h   screens.h 
skipping to change at line 215 skipping to change at line 215
int *ret_width, int *ret_width,
int *ret_height ); int *ret_height );
/** States **/ /** States **/
DFBResult (*GetMixerState) ( CoreScreen *screen, DFBResult (*GetMixerState) ( CoreScreen *screen,
void *driver_dat a, void *driver_dat a,
void *screen_dat a, void *screen_dat a,
int mixer, int mixer,
CoreMixerState *ret_state ); CoreMixerState *ret_state );
/** Synchronization **/
/*
* Wait for the vertical retrace.
*/
DFBResult (*GetVSyncCount) ( CoreScreen *screen,
void *driver_data,
void *screen_data,
unsigned long *ret_count );
} ScreenFuncs; } ScreenFuncs;
/* /*
* Add a screen to a graphics device by pointing to a table containing * Add a screen to a graphics device by pointing to a table containing
* driver functions. The driver data will be passed to these functions. * driver functions. The driver data will be passed to these functions.
*/ */
CoreScreen *dfb_screens_register( CoreGraphicsDevice *device, CoreScreen *dfb_screens_register( CoreGraphicsDevice *device,
void *driver_data, void *driver_data,
ScreenFuncs *funcs ); ScreenFuncs *funcs );
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 windows.h   windows.h 
skipping to change at line 80 skipping to change at line 80
CWCF_ALL = 0x000F177F CWCF_ALL = 0x000F177F
} CoreWindowConfigFlags; } CoreWindowConfigFlags;
struct __DFB_CoreWindowConfig { struct __DFB_CoreWindowConfig {
DFBRectangle bounds; /* position and size */ DFBRectangle bounds; /* position and size */
int opacity; /* global alpha factor */ int opacity; /* global alpha factor */
DFBWindowStackingClass stacking; /* level boundaries */ DFBWindowStackingClass stacking; /* level boundaries */
DFBWindowOptions options; /* flags for appearance/behav iour */ DFBWindowOptions options; /* flags for appearance/behav iour */
DFBWindowEventType events; /* mask of enabled events */ DFBWindowEventType events; /* mask of enabled events */
DFBColor color; /* color for DWCAPS_COLOR */ DFBColor color; /* color for DWCAPS_COLOR, ne ver premultiplied! */
u32 color_key; /* transparent pixel */ u32 color_key; /* transparent pixel */
DFBRegion opaque; /* region of the window force d to be opaque */ DFBRegion opaque; /* region of the window force d to be opaque */
DFBWindowKeySelection key_selection; /* how to filter keys in focu s */ DFBWindowKeySelection key_selection; /* how to filter keys in focu s */
DFBInputDeviceKeySymbol *keys; /* list of keys for DWKS_LIST */ DFBInputDeviceKeySymbol *keys; /* list of keys for DWKS_LIST */
unsigned int num_keys; /* number of entries in key a rray */ unsigned int num_keys; /* number of entries in key a rray */
DFBWindowGeometry src_geometry; /* advanced source geometry * / DFBWindowGeometry src_geometry; /* advanced source geometry * /
DFBWindowGeometry dst_geometry; /* advanced destination geome try */ DFBWindowGeometry dst_geometry; /* advanced destination geome try */
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 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/