csGraphics2DGLCommon Class Reference
[Common Plugin Classes]
Basic OpenGL version of the 2D driver class. More...
#include <csplugincommon/opengl/glcommon2d.h>
Inherits scfImplementationExt2< csGraphics2DGLCommon, csGraphics2D, iEventPlug, iOpenGLDriverDatabase >.
Public Member Functions | |
virtual bool | BeginDraw () |
This routine should be called before any draw operations. | |
virtual void | Blit (int x, int y, int w, int h, unsigned char const *data) |
Blit. | |
virtual void | Clear (int color) |
Clear the screen with color. | |
csGraphics2DGLCommon (iBase *iParent) | |
Constructor does little, most initialization stuff happens in Initialize(). | |
virtual bool | DebugCommand (const char *cmd) |
Execute a debug command. | |
virtual bool | DoubleBuffer (bool Enable) |
Enable or disable double buffering; returns success status. | |
virtual void | DrawBox (int x, int y, int w, int h, int color) |
Draw a box. | |
virtual void | DrawLine (float x1, float y1, float x2, float y2, int color) |
Draw a line. | |
virtual void | DrawPixel (int x, int y, int color) |
Draw a pixel. | |
virtual void | DrawPixels (csPixelCoord const *pixels, int num_pixels, int color) |
Draw a series of pixels. | |
virtual void | FinishDraw () |
This routine should be called when you finished drawing. | |
virtual bool | GetDoubleBufferState () |
Get the double buffer state. | |
virtual unsigned char * | GetPixelAt (int x, int y) |
Get address of video RAM at given x,y coordinates. | |
virtual bool | Initialize (iObjectRegistry *object_reg) |
Initialize the plugin. | |
virtual bool | Open () |
Initialize font cache, texture cache, prints renderer name and version. | |
virtual bool | PerformExtensionV (char const *command, va_list) |
Perform extension commands. | |
virtual bool | Resize (int width, int height) |
Resize the canvas. | |
virtual void | RestoreArea (csImageArea *Area, bool Free=true) |
Restore a subarea of screen saved with SaveArea(). | |
virtual csImageArea * | SaveArea (int x, int y, int w, int h) |
Save a subarea of screen area into the variable Data. | |
virtual csPtr< iImage > | ScreenShot () |
Do a screenshot: return a new iImage object. | |
virtual void | SetRGB (int i, int r, int g, int b) |
Set a palette entry. | |
virtual | ~csGraphics2DGLCommon () |
Clear font cache etc. | |
iEventPlug implementation | |
virtual unsigned | GetPotentiallyConflictingEvents () |
virtual unsigned | QueryEventPriority (unsigned) |
iGLDriverDatabase implementation | |
void | ReadDatabase (iDocumentNode *dbRoot, int configPriority=iConfigManager::ConfigPriorityPlugin+20, const char *phase=0) |
Public Attributes | |
csRef< iEventOutlet > | EventOutlet |
The event plug object. | |
Protected Member Functions | |
void | DecomposeColor (int iColor, GLubyte &oR, GLubyte &oG, GLubyte &oB, GLubyte &oA) |
Decompose a color ID into r,g,b components. | |
void | DecomposeColor (int iColor, float &oR, float &oG, float &oB, float &oA) |
Same but uses floating-point format. | |
void | OpenDriverDB (const char *phase=0) |
Open default driver database. | |
void | setGLColorfromint (int color) |
Set up current GL RGB color from a packed color format. | |
Protected Attributes | |
GLPixelFormat | currentFormat |
Depth buffer resolution. | |
csGLDriverDatabase | driverdb |
Driver database. | |
csGLExtensionManager | ext |
Extension manager. | |
bool | multiFavorQuality |
Multisample samples. | |
csGLStateCache * | statecache |
Cache for GL states. | |
Friends | |
class | csGLFontCache |
class | csGLScreenShot |
Detailed Description
Basic OpenGL version of the 2D driver class.
You can look at one of the OpenGL canvas classes as an example of how to inherit and use this class. In short, inherit from this common class instead of from csGraphics2D, and override all the functions you normally would except for the 2D drawing functions, which are supplied for you here. That way all OpenGL drawing functions are unified over platforms, so that a fix or improvement will be inherited by all platforms instead of percolating via people copying code over.
Definition at line 59 of file glcommon2d.h.
Constructor & Destructor Documentation
csGraphics2DGLCommon::csGraphics2DGLCommon | ( | iBase * | iParent | ) |
Constructor does little, most initialization stuff happens in Initialize().
virtual csGraphics2DGLCommon::~csGraphics2DGLCommon | ( | ) | [virtual] |
Clear font cache etc.
Member Function Documentation
virtual bool csGraphics2DGLCommon::BeginDraw | ( | ) | [virtual] |
This routine should be called before any draw operations.
It should return true if graphics context is ready.
virtual void csGraphics2DGLCommon::Blit | ( | int | x, | |
int | y, | |||
int | w, | |||
int | h, | |||
unsigned char const * | data | |||
) | [virtual] |
Blit.
virtual void csGraphics2DGLCommon::Clear | ( | int | color | ) | [virtual] |
Clear the screen with color.
virtual bool csGraphics2DGLCommon::DebugCommand | ( | const char * | cmd | ) | [virtual] |
Execute a debug command.
void csGraphics2DGLCommon::DecomposeColor | ( | int | iColor, | |
float & | oR, | |||
float & | oG, | |||
float & | oB, | |||
float & | oA | |||
) | [protected] |
Same but uses floating-point format.
void csGraphics2DGLCommon::DecomposeColor | ( | int | iColor, | |
GLubyte & | oR, | |||
GLubyte & | oG, | |||
GLubyte & | oB, | |||
GLubyte & | oA | |||
) | [protected] |
Decompose a color ID into r,g,b components.
virtual bool csGraphics2DGLCommon::DoubleBuffer | ( | bool | Enable | ) | [inline, virtual] |
Enable or disable double buffering; returns success status.
Definition at line 288 of file glcommon2d.h.
virtual void csGraphics2DGLCommon::DrawBox | ( | int | x, | |
int | y, | |||
int | w, | |||
int | h, | |||
int | color | |||
) | [virtual] |
Draw a box.
virtual void csGraphics2DGLCommon::DrawLine | ( | float | x1, | |
float | y1, | |||
float | x2, | |||
float | y2, | |||
int | color | |||
) | [virtual] |
Draw a line.
virtual void csGraphics2DGLCommon::DrawPixel | ( | int | x, | |
int | y, | |||
int | color | |||
) | [virtual] |
Draw a pixel.
virtual void csGraphics2DGLCommon::DrawPixels | ( | csPixelCoord const * | pixels, | |
int | num_pixels, | |||
int | color | |||
) | [virtual] |
Draw a series of pixels.
virtual void csGraphics2DGLCommon::FinishDraw | ( | ) | [virtual] |
This routine should be called when you finished drawing.
virtual bool csGraphics2DGLCommon::GetDoubleBufferState | ( | ) | [inline, virtual] |
Get the double buffer state.
Definition at line 285 of file glcommon2d.h.
virtual unsigned char* csGraphics2DGLCommon::GetPixelAt | ( | int | x, | |
int | y | |||
) | [virtual] |
Get address of video RAM at given x,y coordinates.
The OpenGL version of this function just returns 0 if not doing a screenshot.
virtual bool csGraphics2DGLCommon::Initialize | ( | iObjectRegistry * | object_reg | ) | [virtual] |
Initialize the plugin.
virtual bool csGraphics2DGLCommon::Open | ( | ) | [virtual] |
Initialize font cache, texture cache, prints renderer name and version.
you should still print out the 2D driver type (X, Win, etc.) in your subclass code.
void csGraphics2DGLCommon::OpenDriverDB | ( | const char * | phase = 0 |
) | [protected] |
Open default driver database.
virtual bool csGraphics2DGLCommon::PerformExtensionV | ( | char const * | command, | |
va_list | ||||
) | [virtual] |
Perform extension commands.
virtual bool csGraphics2DGLCommon::Resize | ( | int | width, | |
int | height | |||
) | [virtual] |
Resize the canvas.
virtual void csGraphics2DGLCommon::RestoreArea | ( | csImageArea * | Area, | |
bool | Free = true | |||
) | [virtual] |
Restore a subarea of screen saved with SaveArea().
virtual csImageArea* csGraphics2DGLCommon::SaveArea | ( | int | x, | |
int | y, | |||
int | w, | |||
int | h | |||
) | [virtual] |
Save a subarea of screen area into the variable Data.
Storage is allocated in this call, you should either FreeArea() it after usage or RestoreArea() it.
Do a screenshot: return a new iImage object.
void csGraphics2DGLCommon::setGLColorfromint | ( | int | color | ) | [protected] |
Set up current GL RGB color from a packed color format.
virtual void csGraphics2DGLCommon::SetRGB | ( | int | i, | |
int | r, | |||
int | g, | |||
int | b | |||
) | [virtual] |
Set a palette entry.
Member Data Documentation
GLPixelFormat csGraphics2DGLCommon::currentFormat [protected] |
Depth buffer resolution.
Definition at line 158 of file glcommon2d.h.
csGLDriverDatabase csGraphics2DGLCommon::driverdb [protected] |
Driver database.
Definition at line 160 of file glcommon2d.h.
The event plug object.
Definition at line 174 of file glcommon2d.h.
csGLExtensionManager csGraphics2DGLCommon::ext [protected] |
Extension manager.
Definition at line 151 of file glcommon2d.h.
bool csGraphics2DGLCommon::multiFavorQuality [protected] |
Multisample samples.
Whether to favor quality or speed.
Definition at line 155 of file glcommon2d.h.
csGLStateCache* csGraphics2DGLCommon::statecache [protected] |
Cache for GL states.
Definition at line 131 of file glcommon2d.h.
The documentation for this class was generated from the following file:
- csplugincommon/opengl/glcommon2d.h
Generated for Crystal Space 1.4.1 by doxygen 1.7.1