GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
directfb_wrapper.c File Reference
#include <directfb.h>
#include <directfb_strings.h>
#include <directfb_util.h>
#include <direct/util.h>
#include <gpac/constants.h>
#include <gpac/events_constants.h>
#include "directfb_out.h"
+ Include dependency graph for directfb_wrapper.c:

Data Structures

struct  DirectFBVidCtx
 
struct  DeviceInfo
 

Macros

#define DFBCHECK(x...)
 
#define SET_DRAWING_FLAGS(flags)   ctx->primary->SetDrawingFlags( ctx->primary, (flags) | (do_xor ? DSDRAW_XOR : 0) )
 

Enumerations

enum  { GF_MOUSE_LEFT = 0, GF_MOUSE_MIDDLE, GF_MOUSE_RIGHT }
 

Functions

size_t DirectFBVid_GetCtxSizeOf (void)
 
void DirectFBVid_DrawHLineWrapper (DirectFBVidCtx *ctx, u32 x, u32 y, u32 length, u8 r, u8 g, u8 b)
 
void DirectFBVid_DrawHLineAlphaWrapper (DirectFBVidCtx *ctx, u32 x, u32 y, u32 length, u8 r, u8 g, u8 b, u8 alpha)
 
void DirectFBVid_DrawRectangleWrapper (DirectFBVidCtx *ctx, u32 x, u32 y, u32 width, u32 height, u8 r, u8 g, u8 b, u8 a)
 
u32 DirectFBVid_CtxPrimaryLock (DirectFBVidCtx *ctx, void **buf, u32 *pitch)
 
static DFBEnumerationResult enum_input_device (DFBInputDeviceID device_id, DFBInputDeviceDescription desc, void *data)
 
u32 DirectFBVid_TranslatePixelFormatToGPAC (u32 dfbpf)
 
void DirectFBVid_InitAndCreateSurface (DirectFBVidCtx *ctx, u32 window_mode)
 
void DirectFBVid_CtxPrimaryUnlock (DirectFBVidCtx *ctx)
 
u32 DirectFBVid_CtxGetWidth (DirectFBVidCtx *ctx)
 
u32 DirectFBVid_CtxGetHeight (DirectFBVidCtx *ctx)
 
void * DirectFBVid_CtxGetPrimary (DirectFBVidCtx *ctx)
 
u32 DirectFBVid_CtxGetPixelFormat (DirectFBVidCtx *ctx)
 
u32 DirectFBVid_CtxIsHwMemory (DirectFBVidCtx *ctx)
 
u32 DirectFBVid_CtxPrimaryFlip (DirectFBVidCtx *ctx)
 
void DirectFBVid_CtxSetDisableDisplay (DirectFBVidCtx *ctx, u32 val)
 
u32 DirectFBVid_CtxGetDisableDisplay (DirectFBVidCtx *ctx)
 
void DirectFBVid_CtxSetDisableAcceleration (DirectFBVidCtx *ctx, u32 val)
 
u32 DirectFBVid_CtxGetDisableAcceleration (DirectFBVidCtx *ctx)
 
void DirectFBVid_CtxSetIsInit (DirectFBVidCtx *ctx, u32 val)
 
void DirectFBVid_CtxSetFlipMode (DirectFBVidCtx *ctx, u32 flip_mode)
 
void DirectFBVid_CtxPrimaryProcessGetAccelerationMask (DirectFBVidCtx *ctx)
 
u32 DirectFBVid_ShutdownWrapper (DirectFBVidCtx *ctx)
 
u32 DirectFBVid_TranslatePixelFormatFromGPAC (u32 gpacpf)
 
u32 DirectFBVid_BlitWrapper (DirectFBVidCtx *ctx, u32 video_src_width, u32 video_src_height, u32 video_src_pixel_format, char *video_src_buffer, s32 video_src_pitch_y, u32 src_wnd_x, u32 src_wnd_y, u32 src_wnd_w, u32 src_wnd_h, u32 dst_wnd_x, u32 dst_wnd_y, u32 dst_wnd_w, u32 dst_wnd_h, u32 overlay_type)
 
void directfb_translate_key (DFBInputDeviceKeyIdentifier DirectFBkey, u32 *flags, u32 *key_code)
 
u32 DirectFBVid_ProcessMessageQueueWrapper (DirectFBVidCtx *ctx, u8 *type, u32 *flags, u32 *key_code, s32 *x, s32 *y, u32 *button)
 

Variables

static int do_xor = 0
 

Data Structure Documentation

struct __DirectFBVidCtx
+ Collaboration diagram for DirectFBVidCtx:
Data Fields
IDirectFB * dfb
IDirectFBSurface * primary
u32 width
u32 height
u32 pixel_format
u32 use_systems_memory
u32 disable_acceleration
u32 disable_aa
u32 is_init
u32 disable_display
int accel_drawline
int accel_fillrect
DFBSurfaceFlipFlags flip_mode
IDirectFBEventBuffer * events
IDirectFBInputDevice * mouse
IDirectFBWindow * window
IDirectFBDisplayLayer * layer
struct _DeviceInfo
+ Collaboration diagram for DeviceInfo:
Data Fields
DFBInputDeviceID device_id
DFBInputDeviceDescription desc
DeviceInfo * next

Macro Definition Documentation

#define DFBCHECK (   x...)
Value:
do { \
err = x; \
if (err != DFB_OK) { \
fprintf( stderr, "%s <%d>:\n\t", __FILE__, __LINE__ ); \
DirectFBErrorFatal( #x, err ); \
} \
} while (0)
#define SET_DRAWING_FLAGS (   flags)    ctx->primary->SetDrawingFlags( ctx->primary, (flags) | (do_xor ? DSDRAW_XOR : 0) )

Enumeration Type Documentation

anonymous enum
Enumerator
GF_MOUSE_LEFT 
GF_MOUSE_MIDDLE 
GF_MOUSE_RIGHT 

Function Documentation

size_t DirectFBVid_GetCtxSizeOf ( void  )

+ Here is the caller graph for this function:

void DirectFBVid_DrawHLineWrapper ( DirectFBVidCtx *  ctx,
u32  x,
u32  y,
u32  length,
u8  r,
u8  g,
u8  b 
)

function DirectFBVid_DrawHLineWrapper

  • using hardware accelerator to draw horizontal line

+ Here is the caller graph for this function:

void DirectFBVid_DrawHLineAlphaWrapper ( DirectFBVidCtx *  ctx,
u32  x,
u32  y,
u32  length,
u8  r,
u8  g,
u8  b,
u8  alpha 
)

function DirectFBVid_DrawHLineWrapper

  • using hardware accelerator to draw horizontal line with alpha

+ Here is the caller graph for this function:

void DirectFBVid_DrawRectangleWrapper ( DirectFBVidCtx *  ctx,
u32  x,
u32  y,
u32  width,
u32  height,
u8  r,
u8  g,
u8  b,
u8  a 
)

function DirectFBVid_DrawRectangleWrapper

  • using hardware accelerator to fill a rectangle with the given color

+ Here is the caller graph for this function:

u32 DirectFBVid_CtxPrimaryLock ( DirectFBVidCtx *  ctx,
void **  buf,
u32 pitch 
)

function DirectFBVid_CtxPrimaryLock

  • lock the surface (in order to access certain data)

+ Here is the caller graph for this function:

static DFBEnumerationResult enum_input_device ( DFBInputDeviceID  device_id,
DFBInputDeviceDescription  desc,
void *  data 
)
static

+ Here is the caller graph for this function:

u32 DirectFBVid_TranslatePixelFormatToGPAC ( u32  dfbpf)

function DirectFBVid_InitAndCreateSurface

  • initialize and create DirectFB surface

function DirectFBVid_TranslatePixelFormatToGPAC

  • translate pixel from DirectFb to GPAC

+ Here is the caller graph for this function:

void DirectFBVid_InitAndCreateSurface ( DirectFBVidCtx *  ctx,
u32  window_mode 
)

+ Here is the call graph for this function:

void DirectFBVid_CtxPrimaryUnlock ( DirectFBVidCtx *  ctx)

function DirectFBVid_CtxPrimaryUnlock

  • unlock a surface after direct access (in order to fetch data)

+ Here is the caller graph for this function:

u32 DirectFBVid_CtxGetWidth ( DirectFBVidCtx *  ctx)

function DirectFBVid_CtxGetWidth

  • returns screen width

+ Here is the caller graph for this function:

u32 DirectFBVid_CtxGetHeight ( DirectFBVidCtx *  ctx)

function DirectFBVid_CtxGetHeight

  • returns screen height

+ Here is the caller graph for this function:

void* DirectFBVid_CtxGetPrimary ( DirectFBVidCtx *  ctx)

function DirectFBVid_CtxGetPrimary

  • return the primary surface

+ Here is the caller graph for this function:

u32 DirectFBVid_CtxGetPixelFormat ( DirectFBVidCtx *  ctx)

function DirectFBVid_CtxGetPixelFormat

  • get pixel format

+ Here is the caller graph for this function:

u32 DirectFBVid_CtxIsHwMemory ( DirectFBVidCtx *  ctx)

function DirectFBVid_CtxIsHwMemory

  • return value whether system memory is used or not

+ Here is the caller graph for this function:

u32 DirectFBVid_CtxPrimaryFlip ( DirectFBVidCtx *  ctx)

function DirectFBVid_CtxPrimaryFlip

  • flipping buffers

+ Here is the caller graph for this function:

void DirectFBVid_CtxSetDisableDisplay ( DirectFBVidCtx *  ctx,
u32  val 
)

function DirectFBVid_CtxSetDisableDisplay

  • set disable display value

+ Here is the caller graph for this function:

u32 DirectFBVid_CtxGetDisableDisplay ( DirectFBVidCtx *  ctx)

function DirectFBVid_CtxGetDisableDisplay

  • boolean showing whether display is enabled/disabled

+ Here is the caller graph for this function:

void DirectFBVid_CtxSetDisableAcceleration ( DirectFBVidCtx *  ctx,
u32  val 
)

function DirectFBVid_CtxSetDisableAcceleration

  • boolean showing whether hardware accelerator is enabled/disabled

+ Here is the caller graph for this function:

u32 DirectFBVid_CtxGetDisableAcceleration ( DirectFBVidCtx *  ctx)

function DirectFBVid_CtxGetDisableAcceleration

  • return disable_acceleration value

+ Here is the caller graph for this function:

void DirectFBVid_CtxSetIsInit ( DirectFBVidCtx *  ctx,
u32  val 
)

function DirectFBVid_CtxSetIsInit

  • boolean showing whether DirectFB is initialized

+ Here is the caller graph for this function:

void DirectFBVid_CtxSetFlipMode ( DirectFBVidCtx *  ctx,
u32  flip_mode 
)

function DirectFBVid_CtxSetFlipMode

  • set flip mode
void DirectFBVid_CtxPrimaryProcessGetAccelerationMask ( DirectFBVidCtx *  ctx)

function DirectFBVid_CtxPrimaryProcessGetAccelerationMask

  • Get a mask of drawing functions that are hardware accelerated with the current settings.

+ Here is the caller graph for this function:

u32 DirectFBVid_ShutdownWrapper ( DirectFBVidCtx *  ctx)

function DirectFBVid_ShutdownWrapper

  • shutdown DirectFB module

+ Here is the caller graph for this function:

u32 DirectFBVid_TranslatePixelFormatFromGPAC ( u32  gpacpf)

Blit a surface

function DirectFBVid_TranslatePixelFormatToGPAC

  • translate pixel from GPAC to DirectFB

+ Here is the caller graph for this function:

u32 DirectFBVid_BlitWrapper ( DirectFBVidCtx *  ctx,
u32  video_src_width,
u32  video_src_height,
u32  video_src_pixel_format,
char *  video_src_buffer,
s32  video_src_pitch_y,
u32  src_wnd_x,
u32  src_wnd_y,
u32  src_wnd_w,
u32  src_wnd_h,
u32  dst_wnd_x,
u32  dst_wnd_y,
u32  dst_wnd_w,
u32  dst_wnd_h,
u32  overlay_type 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void directfb_translate_key ( DFBInputDeviceKeyIdentifier  DirectFBkey,
u32 flags,
u32 key_code 
)

function DirectFBVid_ProcessMessageQueueWrapper

  • handle DirectFB events
  • key events

function directfb_translate_key

  • translate key from DirectFB to GPAC

+ Here is the caller graph for this function:

u32 DirectFBVid_ProcessMessageQueueWrapper ( DirectFBVidCtx *  ctx,
u8 type,
u32 flags,
u32 key_code,
s32 x,
s32 y,
u32 button 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

int do_xor = 0
static