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
dx_hw.h File Reference
#include <gpac/modules/audio_out.h>
#include <gpac/modules/video_out.h>
#include <gpac/list.h>
#include <gpac/constants.h>
#include <gpac/thread.h>
#include <ddraw.h>
#include <mmsystem.h>
#include <dsound.h>
#include <vfw.h>
+ Include dependency graph for dx_hw.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  DDSurface
 
struct  DDContext
 

Macros

#define INITGUID
 
#define HAS_DDRAW_H
 
#define USE_DX_3
 
#define WM_UNICHAR   0x0109
 
#define MAKERECT(rc, dest)   { rc.left = dest->x; rc.top = dest->y; rc.right = rc.left + dest->w; rc.bottom = rc.top + dest->h; }
 
#define SAFE_DD_RELEASE(p)   { if(p) { (p)->lpVtbl->Release( (p) ); (p)=NULL; } }
 
#define SAFE_DS_RELEASE(p)   { if(p) { p->lpVtbl->Release(p); (p)=NULL; } }
 

Typedefs

typedef LPDIRECTDRAWSURFACE LPDDRAWSURFACE
 
typedef DDSURFACEDESC DDSURFDESC
 
typedef DDSURFDESCLPDDSURFDESC
 

Functions

typedef HRESULT (WINAPI *DIRECTDRAWCREATEPROC)(GUID *
 
void DD_SetupWindow (GF_VideoOutput *dr, Bool hide)
 
void DD_ShutdownWindow (GF_VideoOutput *dr)
 
GF_Err DD_ProcessEvent (GF_VideoOutput *dr, GF_Event *evt)
 
void DestroyObjects (DDContext *dd)
 
GF_Err GetDisplayMode (DDContext *dd)
 
void DD_SetupDDraw (GF_VideoOutput *driv)
 
GF_Err InitDirectDraw (GF_VideoOutput *dr, u32 Width, u32 Height)
 
void DD_InitYUV (GF_VideoOutput *dr)
 
GF_Err DD_SetBackBufferSize (GF_VideoOutput *dr, u32 width, u32 height, Bool use_system_memory)
 
GF_Err DD_FlushEx (GF_VideoOutput *dr, GF_Window *dest, Bool wait_for_sync)
 
void dx_copy_pixels (GF_VideoSurface *dst_s, const GF_VideoSurface *src_s, const GF_Window *src_wnd)
 
HWND DD_GetGlobalHWND ()
 
GF_Err DD_SetupOpenGL (GF_VideoOutput *dr, u32 offscreen_width, u32 offscreen_height)
 
void * NewAudioOutput ()
 
void DeleteAudioOutput (void *)
 
LRESULT APIENTRY DD_WindowProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
 

Data Structure Documentation

struct DDSurface
+ Collaboration diagram for DDSurface:
Data Fields
LPDDRAWSURFACE pSurface
u32 width
u32 height
u32 format
u32 pitch
Bool is_yuv
struct DDContext
+ Collaboration diagram for DDContext:
Data Fields
HWND os_hwnd
HWND fs_hwnd
HWND cur_hwnd
HWND parent_wnd
Bool NeedRestore
Bool switch_res
LPDIRECTDRAW pDD
LPDIRECTDRAWSURFACE pPrimary
LPDIRECTDRAWSURFACE pBack
Bool ddraw_init
Bool yuv_init
Bool fullscreen
Bool systems_memory
Bool force_alpha
Bool offscreen_yuv_to_rgb
u32 width
u32 height
u32 fs_width
u32 fs_height
u32 fs_store_width
u32 fs_store_height
u32 store_width
u32 store_height
LONG backup_styles
Bool alt_down
Bool ctrl_down
Bool on_secondary_screen
u32 pixelFormat
u32 video_bpp
HDC lock_hdc
DDSurface rgb_pool
DDSurface yuv_pool
GF_Thread * th
u32 th_state
Bool owns_hwnd
u32 off_w
u32 off_h
u32 prev_styles
LONG_PTR last_mouse_pos
HCURSOR curs_normal
HCURSOR curs_hand
HCURSOR curs_collide
u32 cursor_type
Bool is_setup
Bool disable_vsync
HDC gl_HDC
HDC pb_HDC
HGLRC gl_HRC
HGLRC pb_HRC
void * pbuffer
Bool glext_init
u32 output_3d_type
HWND gl_hwnd
HWND bound_hwnd
Bool gl_double_buffer
Bool has_focus
LONG_PTR orig_wnd_proc
UINT_PTR timer
u32 last_mouse_move
u32 cursor_type_backup
Bool windowless
Bool hidden
Bool dd_lost
Bool force_video_mem_for_yuv
HMODULE hDDrawLib
DIRECTDRAWCREATEPROC DirectDrawCreate

Macro Definition Documentation

#define INITGUID
#define HAS_DDRAW_H
#define USE_DX_3
#define WM_UNICHAR   0x0109
#define MAKERECT (   rc,
  dest 
)    { rc.left = dest->x; rc.top = dest->y; rc.right = rc.left + dest->w; rc.bottom = rc.top + dest->h; }
#define SAFE_DD_RELEASE (   p)    { if(p) { (p)->lpVtbl->Release( (p) ); (p)=NULL; } }
#define SAFE_DS_RELEASE (   p)    { if(p) { p->lpVtbl->Release(p); (p)=NULL; } }

Typedef Documentation

typedef LPDIRECTDRAWSURFACE LPDDRAWSURFACE
typedef DDSURFACEDESC DDSURFDESC

Function Documentation

typedef HRESULT ( WINAPI *  DIRECTDRAWCREATEPROC)

+ Here is the caller graph for this function:

void DD_SetupWindow ( GF_VideoOutput dr,
Bool  hide 
)

+ Here is the caller graph for this function:

void DD_ShutdownWindow ( GF_VideoOutput dr)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err DD_ProcessEvent ( GF_VideoOutput dr,
GF_Event evt 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DestroyObjects ( DDContext dd)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err GetDisplayMode ( DDContext dd)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DD_SetupDDraw ( GF_VideoOutput driv)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err InitDirectDraw ( GF_VideoOutput dr,
u32  Width,
u32  Height 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DD_InitYUV ( GF_VideoOutput dr)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err DD_SetBackBufferSize ( GF_VideoOutput dr,
u32  width,
u32  height,
Bool  use_system_memory 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err DD_FlushEx ( GF_VideoOutput dr,
GF_Window dest,
Bool  wait_for_sync 
)
void dx_copy_pixels ( GF_VideoSurface dst_s,
const GF_VideoSurface src_s,
const GF_Window src_wnd 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

HWND DD_GetGlobalHWND ( )

+ Here is the caller graph for this function:

GF_Err DD_SetupOpenGL ( GF_VideoOutput dr,
u32  offscreen_width,
u32  offscreen_height 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* NewAudioOutput ( )

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DeleteAudioOutput ( void *  )

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

LRESULT APIENTRY DD_WindowProc ( HWND  hWnd,
UINT  msg,
WPARAM  wParam,
LPARAM  lParam 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: