Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

CL_DisplayCard_DirectDraw Class Reference

#include <displaycard_directdraw.h>

Inheritance diagram for CL_DisplayCard_DirectDraw:

Inheritance graph
[legend]
Collaboration diagram for CL_DisplayCard_DirectDraw:

Collaboration graph
[legend]
List of all members.

Public Methods

 CL_DisplayCard_DirectDraw (int card_no, LPGUID card_guid, std::string card_name)
virtual ~CL_DisplayCard_DirectDraw ()
virtual void set_palette (CL_Palette *palette)
 param: red - red component of the color.param: green - green component of the color.param: blue - blue component of the color.param: alpha - alpha (transparency) component of the color.

virtual CL_Paletteget_palette ()
 param: palette - Palette to use as new system palette.

virtual void flip_display (bool sync=false)
virtual void put_display (const class CL_Rect &rect)
 param: sync - VSync on/off.

virtual void set_videomode (int width, int height, int bpp, bool full_screen, bool allow_resize, bool video_memory)
 param: mode - videomode to be changed to.

virtual void clear_display (float red=0, float green=0, float blue=0, float alpha=1)
virtual void fill_rect (int x1, int y1, int x2, int y2, float r, float g, float b, float a)
virtual std::string get_name ()
 retval: Returns the list of videomodes.

virtual const std::list<CL_VidMode*>& get_videomodes ()
virtual int get_total_memory ()
 retval: Returns the card name.

virtual CL_Targetget_target ()
 retval: true if initialized.

virtual bool is_initialized ()
 param: width - width in pixels of the new video mode.param: height - height in pixels of the new video mode.param: bpp - Bits per pixel. The depth of the new video mode. (8, 16, 24, 32)param: video_memory - Use video memory if possible. System memory may be faster if alpha blending is used a lot.

virtual void sync_buffers ()
virtual CL_Targetget_frontbuffer ()
virtual CL_Blitters create_hw_blitters (CL_SurfaceProvider *provider)
DDCAPS get_hel_caps ()
DDCAPS get_hal_caps ()
LPDIRECTDRAW get_directdraw ()
CL_Target_DXget_back_buffer ()

Private Methods

virtual void init_palette ()
void deinit ()
void enumerate_displaymodes ()
void destroy_displaymodes ()
void create_fullscreen_targets (bool video_memory)
void create_windowed_targets (bool video_memory)
void create_windowed_backbuffer (int width, int height)
void on_resize (int x, int y)

Private Attributes

LPDIRECTDRAW directdraw
CL_Target_DXback_buffer
CL_Target_DXfront_buffer
bool can_flip
bool use_software_surfaces
CL_Palette pal
int card_no
LPGUID card_guid
std::string card_name
std::list<CL_VidMode*> videomodes
bool backbuffer_in_video_memory
CL_Slot slot_resize

Static Private Methods

HRESULT CALLBACK enumerate_callback (LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext)

Constructor & Destructor Documentation

CL_DisplayCard_DirectDraw::CL_DisplayCard_DirectDraw ( int card_no,
LPGUID card_guid,
std::string card_name )
 

virtual CL_DisplayCard_DirectDraw::~CL_DisplayCard_DirectDraw ( ) [virtual]
 


Member Function Documentation

virtual void CL_DisplayCard_DirectDraw::clear_display ( float red = 0,
float green = 0,
float blue = 0,
float alpha = 1 ) [virtual]
 

Reimplemented from CL_DisplayCard_Generic.

void CL_DisplayCard_DirectDraw::create_fullscreen_targets ( bool video_memory ) [private]
 

virtual CL_Blitters CL_DisplayCard_DirectDraw::create_hw_blitters ( CL_SurfaceProvider * provider ) [virtual]
 

Reimplemented from CL_DisplayCard_Generic.

void CL_DisplayCard_DirectDraw::create_windowed_backbuffer ( int width,
int height ) [private]
 

void CL_DisplayCard_DirectDraw::create_windowed_targets ( bool video_memory ) [private]
 

void CL_DisplayCard_DirectDraw::deinit ( ) [private]
 

void CL_DisplayCard_DirectDraw::destroy_displaymodes ( ) [private]
 

HRESULT CALLBACK CL_DisplayCard_DirectDraw::enumerate_callback ( LPDDSURFACEDESC lpDDSurfaceDesc,
LPVOID lpContext ) [static, private]
 

void CL_DisplayCard_DirectDraw::enumerate_displaymodes ( ) [private]
 

virtual void CL_DisplayCard_DirectDraw::fill_rect ( int x1,
int y1,
int x2,
int y2,
float r,
float g,
float b,
float a ) [virtual]
 

Reimplemented from CL_DisplayCard_Generic.

virtual void CL_DisplayCard_DirectDraw::flip_display ( bool sync = false ) [virtual]
 

Reimplemented from CL_DisplayCard.

CL_Target_DX * CL_DisplayCard_DirectDraw::get_back_buffer ( ) [inline]
 

Definition at line 74 of file displaycard_directdraw.h.

LPDIRECTDRAW CL_DisplayCard_DirectDraw::get_directdraw ( ) [inline]
 

Definition at line 73 of file displaycard_directdraw.h.

CL_Target * CL_DisplayCard_DirectDraw::get_frontbuffer ( ) [inline, virtual]
 

Reimplemented from CL_DisplayCard_Generic.

Definition at line 65 of file displaycard_directdraw.h.

DDCAPS CL_DisplayCard_DirectDraw::get_hal_caps ( )
 

DDCAPS CL_DisplayCard_DirectDraw::get_hel_caps ( )
 

virtual std::string CL_DisplayCard_DirectDraw::get_name ( ) [virtual]
 

retval: Returns the list of videomodes.

Reimplemented from CL_DisplayCard.

virtual CL_Palette* CL_DisplayCard_DirectDraw::get_palette ( ) [virtual]
 

param: palette - Palette to use as new system palette.

Reimplemented from CL_DisplayCard.

CL_Target * CL_DisplayCard_DirectDraw::get_target ( ) [inline, virtual]
 

retval: true if initialized.

Reimplemented from CL_DisplayCard.

Definition at line 56 of file displaycard_directdraw.h.

int CL_DisplayCard_DirectDraw::get_total_memory ( ) [inline, virtual]
 

retval: Returns the card name.

Reimplemented from CL_DisplayCard.

Definition at line 54 of file displaycard_directdraw.h.

virtual const std::list<CL_VidMode*>& CL_DisplayCard_DirectDraw::get_videomodes ( ) [virtual]
 

Reimplemented from CL_DisplayCard.

virtual void CL_DisplayCard_DirectDraw::init_palette ( ) [private, virtual]
 

bool CL_DisplayCard_DirectDraw::is_initialized ( ) [inline, virtual]
 

param: width - width in pixels of the new video mode.param: height - height in pixels of the new video mode.param: bpp - Bits per pixel. The depth of the new video mode. (8, 16, 24, 32)param: video_memory - Use video memory if possible. System memory may be faster if alpha blending is used a lot.

Reimplemented from CL_DisplayCard.

Definition at line 58 of file displaycard_directdraw.h.

void CL_DisplayCard_DirectDraw::on_resize ( int x,
int y ) [private]
 

virtual void CL_DisplayCard_DirectDraw::put_display ( const class CL_Rect & rect ) [virtual]
 

param: sync - VSync on/off.

Reimplemented from CL_DisplayCard.

virtual void CL_DisplayCard_DirectDraw::set_palette ( CL_Palette * palette ) [virtual]
 

param: red - red component of the color.param: green - green component of the color.param: blue - blue component of the color.param: alpha - alpha (transparency) component of the color.

Reimplemented from CL_DisplayCard.

virtual void CL_DisplayCard_DirectDraw::set_videomode ( int width,
int height,
int bpp,
bool full_screen,
bool allow_resize,
bool video_memory ) [virtual]
 

param: mode - videomode to be changed to.

Reimplemented from CL_DisplayCard.

virtual void CL_DisplayCard_DirectDraw::sync_buffers ( ) [virtual]
 

Reimplemented from CL_DisplayCard_Generic.


Member Data Documentation

CL_Target_DX* CL_DisplayCard_DirectDraw::back_buffer [private]
 

Definition at line 95 of file displaycard_directdraw.h.

bool CL_DisplayCard_DirectDraw::backbuffer_in_video_memory [private]
 

Definition at line 122 of file displaycard_directdraw.h.

bool CL_DisplayCard_DirectDraw::can_flip [private]
 

Definition at line 111 of file displaycard_directdraw.h.

LPGUID CL_DisplayCard_DirectDraw::card_guid [private]
 

Definition at line 117 of file displaycard_directdraw.h.

std::string CL_DisplayCard_DirectDraw::card_name [private]
 

Definition at line 118 of file displaycard_directdraw.h.

int CL_DisplayCard_DirectDraw::card_no [private]
 

Definition at line 116 of file displaycard_directdraw.h.

LPDIRECTDRAW CL_DisplayCard_DirectDraw::directdraw [private]
 

Definition at line 94 of file displaycard_directdraw.h.

CL_Target_DX* CL_DisplayCard_DirectDraw::front_buffer [private]
 

Definition at line 110 of file displaycard_directdraw.h.

CL_Palette CL_DisplayCard_DirectDraw::pal [private]
 

Definition at line 114 of file displaycard_directdraw.h.

CL_Slot CL_DisplayCard_DirectDraw::slot_resize [private]
 

Definition at line 123 of file displaycard_directdraw.h.

bool CL_DisplayCard_DirectDraw::use_software_surfaces [private]
 

Definition at line 112 of file displaycard_directdraw.h.

std::list<CL_VidMode*> CL_DisplayCard_DirectDraw::videomodes [private]
 

Definition at line 120 of file displaycard_directdraw.h.


The documentation for this class was generated from the following file:
Generated at Wed Apr 4 19:56:52 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001