Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 586

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: csGraphics2DGLCommon Class Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csGraphics2DGLCommon Class Reference<br>
<small>
[<a class="el" href="group__plugincommon.html">Common Plugin Classes</a>]</small>
</h1><!-- doxytag: class="csGraphics2DGLCommon" --><!-- doxytag: inherits="scfImplementationExt2&lt; csGraphics2DGLCommon, csGraphics2D, iEventPlug, iOpenGLDriverDatabase &gt;" -->Basic OpenGL version of the 2D driver class.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="glcommon2d_8h-source.html">csplugincommon/opengl/glcommon2d.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for csGraphics2DGLCommon:</div>
<div class="dynsection">
<p><center><img src="classcsGraphics2DGLCommon__inherit__graph.png" border="0" usemap="#csGraphics2DGLCommon__inherit__map" alt="Inheritance graph"></center>
<map name="csGraphics2DGLCommon__inherit__map">
<area shape="rect" href="classscfImplementationExt2.html" title="scfImplementationExt2\&lt; csGraphics2DGLCommon, csGraphics2D, iEventPlug, iOpenGLDriverDatabase \&gt;" alt="" coords="1855,411,2564,437"><area shape="rect" href="classcsGraphics2D.html" title="This is the base class for 2D canvases." alt="" coords="1660,360,1769,387"><area shape="rect" href="classscfImplementation7.html" title="scfImplementation7\&lt; csGraphics2D, iGraphics2D, iComponent, iNativeWindow, iNativeWindowManager, iPluginConfig, iDebugHelper, iEventHandler \&gt;" alt="" coords="584,208,1576,235"><area shape="rect" href="classscfImplementation.html" title="scfImplementation\&lt; csGraphics2D \&gt;" alt="" coords="276,5,535,32"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="88,233,144,260"><area shape="rect" href="structiGraphics2D.html" title="This is the interface for 2D renderer." alt="" coords="356,56,455,83"><area shape="rect" href="structiComponent.html" title="This interface describes a generic component in Crystal Space." alt="" coords="355,107,456,133"><area shape="rect" href="structiNativeWindow.html" title="This interface represents a native window." alt="" coords="348,157,463,184"><area shape="rect" href="structiNativeWindowManager.html" title="This interface represents the native window manager system." alt="" coords="319,208,492,235"><area shape="rect" href="structiPluginConfig.html" title="Interface to a configurator object." alt="" coords="353,259,457,285"><area shape="rect" href="structiDebugHelper.html" title="Some object that wants to implement unit testing, debugging and/or benchmarking can..." alt="" coords="351,309,460,336"><area shape="rect" href="structiEventHandler.html" title="This interface describes an entity that can receive events." alt="" coords="349,360,461,387"><area shape="rect" href="structiEventPlug.html" title="Event plug interface, also referred as &quot;event source&quot;." alt="" coords="1669,411,1760,437"><area shape="rect" href="structiOpenGLDriverDatabase.html" title="Interface to read custom GL driver databases." alt="" coords="1625,461,1804,488"><area shape="rect" href="classCS_1_1Memory_1_1CustomAllocated.html" title="Class that overrides operator new/operator delete/etc." alt="" coords="5,5,227,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classcsGraphics2DGLCommon-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c55824a8be91d960533086e6905a4452"></a><!-- doxytag: member="csGraphics2DGLCommon::GLPixelFormat" ref="c55824a8be91d960533086e6905a4452" args="[glpfvValueCount]" -->
typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#c55824a8be91d960533086e6905a4452">GLPixelFormat</a> [glpfvValueCount]</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#cb4338d19450fd611c3646a9187775dd">GLPixelFormatValue</a> { <br>
&nbsp;&nbsp;<a class="el" href="classcsGraphics2DGLCommon.html#cb4338d19450fd611c3646a9187775ddca746d088b955e3897c2eab5f10e6691">glpfvColorBits</a> =  0, 
<a class="el" href="classcsGraphics2DGLCommon.html#cb4338d19450fd611c3646a9187775dd66ab7813ec3a03f79747238fcb5dde88">glpfvAlphaBits</a>, 
<a class="el" href="classcsGraphics2DGLCommon.html#cb4338d19450fd611c3646a9187775ddd402f3eaa1c8e419b240840ee4ca4c47">glpfvDepthBits</a>, 
<a class="el" href="classcsGraphics2DGLCommon.html#cb4338d19450fd611c3646a9187775dd724769efa9181acd8fc6931d6c364f9b">glpfvStencilBits</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="classcsGraphics2DGLCommon.html#cb4338d19450fd611c3646a9187775ddd8b41f1b1afedccb47f0f86ddd0085ea">glpfvAccumColorBits</a>, 
<a class="el" href="classcsGraphics2DGLCommon.html#cb4338d19450fd611c3646a9187775dd620a13fc7d35d4441ad99be964c667a4">glpfvAccumAlphaBits</a>, 
<a class="el" href="classcsGraphics2DGLCommon.html#cb4338d19450fd611c3646a9187775dd4409e4e04867334710bc83731a9492e7">glpfvMultiSamples</a>, 
<a class="el" href="classcsGraphics2DGLCommon.html#cb4338d19450fd611c3646a9187775dd23b747bbcbacb47a13212871839ae31d">glpfvValueCount</a>
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#66ca8053f80309cf4c014014e6795d71">BeginDraw</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This routine should be called before any draw operations.  <a href="#66ca8053f80309cf4c014014e6795d71"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#b6efdeff246176d96c6b6e9de132762d">Blit</a> (int x, int y, int w, int h, unsigned char const *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Blit.  <a href="#b6efdeff246176d96c6b6e9de132762d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#1939957bae2ba62625234304cdce98c7">Clear</a> (int color)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the screen with color.  <a href="#1939957bae2ba62625234304cdce98c7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#c987ef155f3779924bab7650fa346af6">Close</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(*) Close graphics system  <a href="#c987ef155f3779924bab7650fa346af6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#55a34d23e24430b6a42c0530578695b8">csGraphics2DGLCommon</a> (<a class="el" href="structiBase.html">iBase</a> *iParent)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor does little, most initialization stuff happens in <a class="el" href="classcsGraphics2DGLCommon.html#cf5b237b4760507c1d997c0d66976768" title="Initialize the plugin.">Initialize()</a>.  <a href="#55a34d23e24430b6a42c0530578695b8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#be56c01a973444f6933ea376c8a18b20">DebugCommand</a> (const char *cmd)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute a debug command.  <a href="#be56c01a973444f6933ea376c8a18b20"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#749bcdd7725bd840f8ca5c6e28e93233">DoubleBuffer</a> (bool Enable)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable or disable double buffering; returns success status.  <a href="#749bcdd7725bd840f8ca5c6e28e93233"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#33e6830f68abd1b0071ff6382b6f1927">DrawBox</a> (int x, int y, int w, int h, int color)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draw a box.  <a href="#33e6830f68abd1b0071ff6382b6f1927"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#259bb764c5bc5888e08fd7d9a4bdd6d1">DrawLine</a> (float x1, float y1, float x2, float y2, int color)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draw a line.  <a href="#259bb764c5bc5888e08fd7d9a4bdd6d1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#1c7f3cefef89901c94676ac1e6641085">DrawPixel</a> (int x, int y, int color)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draw a pixel.  <a href="#1c7f3cefef89901c94676ac1e6641085"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#16ad49031dc949f01ef8d5d270864be3">DrawPixels</a> (<a class="el" href="structcsPixelCoord.html">csPixelCoord</a> const *pixels, int num_pixels, int color)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draw a series of pixels.  <a href="#16ad49031dc949f01ef8d5d270864be3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#5f8badc53623e82da38e5bd370ffea0b">FindRGB</a> (int r, int g, int b, int a=255)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find an RGB (0.  <a href="#5f8badc53623e82da38e5bd370ffea0b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#076164d2ed051850f3b525a8324832a2">FinishDraw</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This routine should be called when you finished drawing.  <a href="#076164d2ed051850f3b525a8324832a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#900c24d2fe30745a8b736750a2cd5add">GetDoubleBufferState</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the double buffer state.  <a href="#900c24d2fe30745a8b736750a2cd5add"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#08e554c721bdcb02f497ff040d3438e6">GetPixelAt</a> (int x, int y)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get address of video RAM at given x,y coordinates.  <a href="#08e554c721bdcb02f497ff040d3438e6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#191ae6da40780f9112e81c4202d44559">GetRGB</a> (int color, int &amp;r, int &amp;g, int &amp;b, int &amp;a)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the R,G,B,A tuple for a given color index.  <a href="#191ae6da40780f9112e81c4202d44559"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#22d0bff3860872bcd667c94a561fc27b">GetRGB</a> (int color, int &amp;r, int &amp;g, int &amp;b)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the R,G,B tuple for a given color index.  <a href="#22d0bff3860872bcd667c94a561fc27b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#cf5b237b4760507c1d997c0d66976768">Initialize</a> (<a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *<a class="el" href="classcsGraphics2D.html#56bf86b9ef2776eaab05ccfaab4da55e">object_reg</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the plugin.  <a href="#cf5b237b4760507c1d997c0d66976768"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#7f77e08c11ca62cb3ebc71dfee52f247">Open</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize font cache, texture cache, prints renderer name and version.  <a href="#7f77e08c11ca62cb3ebc71dfee52f247"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#b78a04da3258352e27cfa4f879daf3ca">PerformExtensionV</a> (char const *command, va_list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform extension commands.  <a href="#b78a04da3258352e27cfa4f879daf3ca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#f9efec2e67e1423bfa3d693719ba4aa4">Resize</a> (int width, int height)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resize the canvas.  <a href="#f9efec2e67e1423bfa3d693719ba4aa4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#43cc645bf1dc77e7f62e3885d8e011d8">RestoreArea</a> (<a class="el" href="structcsImageArea.html">csImageArea</a> *Area, bool Free=true)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restore a subarea of screen saved with <a class="el" href="classcsGraphics2DGLCommon.html#06b9b3b382d5fb0dcad4572483493854" title="Save a subarea of screen area into the variable Data.">SaveArea()</a>.  <a href="#43cc645bf1dc77e7f62e3885d8e011d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structcsImageArea.html">csImageArea</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#06b9b3b382d5fb0dcad4572483493854">SaveArea</a> (int x, int y, int w, int h)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a subarea of screen area into the variable Data.  <a href="#06b9b3b382d5fb0dcad4572483493854"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="structiImage.html">iImage</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#293fb50b2add94853c56bf540e045ccd">ScreenShot</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do a screenshot: return a new <a class="el" href="structiImage.html" title="The iImage interface is used to work with image objects.">iImage</a> object.  <a href="#293fb50b2add94853c56bf540e045ccd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#271d5c0ec31dbf7bb1c415eecd98f2a4">SetClipRect</a> (int xmin, int ymin, int xmax, int ymax)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set clipping rectangle.  <a href="#271d5c0ec31dbf7bb1c415eecd98f2a4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#a8ca4a258508bc41672cbf57ec3e4598">SetRGB</a> (int i, int r, int g, int b)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a palette entry.  <a href="#a8ca4a258508bc41672cbf57ec3e4598"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#126feb49391c3069ccc6eebff1153bf6">~csGraphics2DGLCommon</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear font cache etc.  <a href="#126feb49391c3069ccc6eebff1153bf6"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">iEventPlug implementation</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#4114fa4662f17e1d3e0dc62bc87e4bcc">GetPotentiallyConflictingEvents</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the mask of events that can be generated by this source and are generated directly from user actions (e.g.  <a href="#4114fa4662f17e1d3e0dc62bc87e4bcc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#9f81fc2d3e9b0096468710a6fd42f04f">QueryEventPriority</a> (unsigned)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query how strong the plug's wish to generate certain class of events is.  <a href="#9f81fc2d3e9b0096468710a6fd42f04f"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">iGLDriverDatabase implementation</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#764c52e10de2cde9674b024a6d8755e6">ReadDatabase</a> (<a class="el" href="structiDocumentNode.html">iDocumentNode</a> *dbRoot, int configPriority=iConfigManager::ConfigPriorityPlugin+20, const char *phase=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a custom driver database.  <a href="#764c52e10de2cde9674b024a6d8755e6"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiEventOutlet.html">iEventOutlet</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#1b63c4571259e42f253e7ed165a769a7">EventOutlet</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The event plug object.  <a href="#1b63c4571259e42f253e7ed165a769a7"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#dacb41be6515285f796fbddb9782613b">DecomposeColor</a> (int iColor, float &amp;oR, float &amp;oG, float &amp;oB, float &amp;oA)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Same but uses floating-point format.  <a href="#dacb41be6515285f796fbddb9782613b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#360b9605454e309e4852d739ccb20e5e">DecomposeColor</a> (int iColor, <a class="el" href="glextmanager_8h.html#0595908be03a8cff881a23cdc9170e7c">GLubyte</a> &amp;oR, <a class="el" href="glextmanager_8h.html#0595908be03a8cff881a23cdc9170e7c">GLubyte</a> &amp;oG, <a class="el" href="glextmanager_8h.html#0595908be03a8cff881a23cdc9170e7c">GLubyte</a> &amp;oB, <a class="el" href="glextmanager_8h.html#0595908be03a8cff881a23cdc9170e7c">GLubyte</a> &amp;oA)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decompose a color ID into r,g,b components.  <a href="#360b9605454e309e4852d739ccb20e5e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#7c932044e348e4acb8179f13bd6cdd6a">OpenDriverDB</a> (const char *phase=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open default driver database.  <a href="#7c932044e348e4acb8179f13bd6cdd6a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#c4c9fd0e37784928e15ad9c2606d0de3">setGLColorfromint</a> (int color)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up current GL RGB color from a packed color format.  <a href="#c4c9fd0e37784928e15ad9c2606d0de3"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsGraphics2DGLCommon.html#c55824a8be91d960533086e6905a4452">GLPixelFormat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#f61ee817a168529e57e75bd428e075e7">currentFormat</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Depth buffer resolution.  <a href="#f61ee817a168529e57e75bd428e075e7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsGLDriverDatabase.html">csGLDriverDatabase</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#53a7ef442de864f3b3e97d69d9511a5a">driverdb</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Driver database.  <a href="#53a7ef442de864f3b3e97d69d9511a5a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcsGLExtensionManager.html">csGLExtensionManager</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#a2fa871f576c2a0f85182bd881baf053">ext</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension manager.  <a href="#a2fa871f576c2a0f85182bd881baf053"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c4fdeb648500a811ac42a89af7c6b7e"></a><!-- doxytag: member="csGraphics2DGLCommon::hasRenderTarget" ref="3c4fdeb648500a811ac42a89af7c6b7e" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#3c4fdeb648500a811ac42a89af7c6b7e">hasRenderTarget</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#a6b8a809a19849a8a719c1cfdd754a88">multiFavorQuality</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multisample samples.  <a href="#a6b8a809a19849a8a719c1cfdd754a88"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="691a524ed0e4b2091e72f0d120683322"></a><!-- doxytag: member="csGraphics2DGLCommon::screen_shot" ref="691a524ed0e4b2091e72f0d120683322" args="" -->
<a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#691a524ed0e4b2091e72f0d120683322">screen_shot</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0e22a0046d91ab05b9a63c02edfaa0e"></a><!-- doxytag: member="csGraphics2DGLCommon::ssPool" ref="b0e22a0046d91ab05b9a63c02edfaa0e" args="" -->
<a class="el" href="classcsGLScreenShot.html">csGLScreenShot</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#b0e22a0046d91ab05b9a63c02edfaa0e">ssPool</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsGLStateCache.html">csGLStateCache</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#bf9bce86e265f5546306470661d35529">statecache</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cache for GL states.  <a href="#bf9bce86e265f5546306470661d35529"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d93bce4f910e664d065573c8f0da3ecd"></a><!-- doxytag: member="csGraphics2DGLCommon::statecontext" ref="d93bce4f910e664d065573c8f0da3ecd" args="" -->
<a class="el" href="classcsGLStateCacheContext.html">csGLStateCacheContext</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#d93bce4f910e664d065573c8f0da3ecd">statecontext</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ed235dce9edd95f4cee6cf6e0375beb"></a><!-- doxytag: member="csGraphics2DGLCommon::useCombineTE" ref="9ed235dce9edd95f4cee6cf6e0375beb" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#9ed235dce9edd95f4cee6cf6e0375beb">useCombineTE</a></td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="337353d2fa7ecf7e10f483e25e798f8e"></a><!-- doxytag: member="csGraphics2DGLCommon::csGLFontCache" ref="337353d2fa7ecf7e10f483e25e798f8e" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#337353d2fa7ecf7e10f483e25e798f8e">csGLFontCache</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6e854a5078b9b448f1f95935759a859"></a><!-- doxytag: member="csGraphics2DGLCommon::csGLPixelFormatPicker" ref="c6e854a5078b9b448f1f95935759a859" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#c6e854a5078b9b448f1f95935759a859">csGLPixelFormatPicker</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e90fd4d83226a01d57cb4da430866af"></a><!-- doxytag: member="csGraphics2DGLCommon::csGLScreenShot" ref="9e90fd4d83226a01d57cb4da430866af" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon.html#9e90fd4d83226a01d57cb4da430866af">csGLScreenShot</a></td></tr>

<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsGraphics2DGLCommon_1_1csGLPixelFormatPicker.html">csGLPixelFormatPicker</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Basic OpenGL version of the 2D driver class. 
<p>
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 <a class="el" href="classcsGraphics2D.html" title="This is the base class for 2D canvases.">csGraphics2D</a>, 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. 
<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00059">59</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="cb4338d19450fd611c3646a9187775dd"></a><!-- doxytag: member="csGraphics2DGLCommon::GLPixelFormatValue" ref="cb4338d19450fd611c3646a9187775dd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classcsGraphics2DGLCommon.html#cb4338d19450fd611c3646a9187775dd">csGraphics2DGLCommon::GLPixelFormatValue</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="cb4338d19450fd611c3646a9187775ddca746d088b955e3897c2eab5f10e6691"></a><!-- doxytag: member="glpfvColorBits" ref="cb4338d19450fd611c3646a9187775ddca746d088b955e3897c2eab5f10e6691" args="" -->glpfvColorBits</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="cb4338d19450fd611c3646a9187775dd66ab7813ec3a03f79747238fcb5dde88"></a><!-- doxytag: member="glpfvAlphaBits" ref="cb4338d19450fd611c3646a9187775dd66ab7813ec3a03f79747238fcb5dde88" args="" -->glpfvAlphaBits</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="cb4338d19450fd611c3646a9187775ddd402f3eaa1c8e419b240840ee4ca4c47"></a><!-- doxytag: member="glpfvDepthBits" ref="cb4338d19450fd611c3646a9187775ddd402f3eaa1c8e419b240840ee4ca4c47" args="" -->glpfvDepthBits</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="cb4338d19450fd611c3646a9187775dd724769efa9181acd8fc6931d6c364f9b"></a><!-- doxytag: member="glpfvStencilBits" ref="cb4338d19450fd611c3646a9187775dd724769efa9181acd8fc6931d6c364f9b" args="" -->glpfvStencilBits</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="cb4338d19450fd611c3646a9187775ddd8b41f1b1afedccb47f0f86ddd0085ea"></a><!-- doxytag: member="glpfvAccumColorBits" ref="cb4338d19450fd611c3646a9187775ddd8b41f1b1afedccb47f0f86ddd0085ea" args="" -->glpfvAccumColorBits</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="cb4338d19450fd611c3646a9187775dd620a13fc7d35d4441ad99be964c667a4"></a><!-- doxytag: member="glpfvAccumAlphaBits" ref="cb4338d19450fd611c3646a9187775dd620a13fc7d35d4441ad99be964c667a4" args="" -->glpfvAccumAlphaBits</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="cb4338d19450fd611c3646a9187775dd4409e4e04867334710bc83731a9492e7"></a><!-- doxytag: member="glpfvMultiSamples" ref="cb4338d19450fd611c3646a9187775dd4409e4e04867334710bc83731a9492e7" args="" -->glpfvMultiSamples</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="cb4338d19450fd611c3646a9187775dd23b747bbcbacb47a13212871839ae31d"></a><!-- doxytag: member="glpfvValueCount" ref="cb4338d19450fd611c3646a9187775dd23b747bbcbacb47a13212871839ae31d" args="" -->glpfvValueCount</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00066">66</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="55a34d23e24430b6a42c0530578695b8"></a><!-- doxytag: member="csGraphics2DGLCommon::csGraphics2DGLCommon" ref="55a34d23e24430b6a42c0530578695b8" args="(iBase *iParent)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csGraphics2DGLCommon::csGraphics2DGLCommon           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiBase.html">iBase</a> *&nbsp;</td>
          <td class="paramname"> <em>iParent</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor does little, most initialization stuff happens in <a class="el" href="classcsGraphics2DGLCommon.html#cf5b237b4760507c1d997c0d66976768" title="Initialize the plugin.">Initialize()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="126feb49391c3069ccc6eebff1153bf6"></a><!-- doxytag: member="csGraphics2DGLCommon::~csGraphics2DGLCommon" ref="126feb49391c3069ccc6eebff1153bf6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual csGraphics2DGLCommon::~csGraphics2DGLCommon           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clear font cache etc. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="66ca8053f80309cf4c014014e6795d71"></a><!-- doxytag: member="csGraphics2DGLCommon::BeginDraw" ref="66ca8053f80309cf4c014014e6795d71" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csGraphics2DGLCommon::BeginDraw           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This routine should be called before any draw operations. 
<p>
It should return true if graphics context is ready. 
<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#0eb668e6b8498a6988e4d87dae67a887">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="b6efdeff246176d96c6b6e9de132762d"></a><!-- doxytag: member="csGraphics2DGLCommon::Blit" ref="b6efdeff246176d96c6b6e9de132762d" args="(int x, int y, int w, int h, unsigned char const *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::Blit           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char const *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Blit. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#7ece8817dd9e44e4f1fbc93a350b51d0">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="1939957bae2ba62625234304cdce98c7"></a><!-- doxytag: member="csGraphics2DGLCommon::Clear" ref="1939957bae2ba62625234304cdce98c7" args="(int color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::Clear           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>color</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clear the screen with color. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#c3249a8ad143158380c70ccf566b4c3b">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="c987ef155f3779924bab7650fa346af6"></a><!-- doxytag: member="csGraphics2DGLCommon::Close" ref="c987ef155f3779924bab7650fa346af6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::Close           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(*) Close graphics system 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#54a628892914d858bf62c29fe0b20393">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="be56c01a973444f6933ea376c8a18b20"></a><!-- doxytag: member="csGraphics2DGLCommon::DebugCommand" ref="be56c01a973444f6933ea376c8a18b20" args="(const char *cmd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csGraphics2DGLCommon::DebugCommand           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>cmd</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Execute a debug command. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#650d609cd42b6ffa4d0202f967afb5f9">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="dacb41be6515285f796fbddb9782613b"></a><!-- doxytag: member="csGraphics2DGLCommon::DecomposeColor" ref="dacb41be6515285f796fbddb9782613b" args="(int iColor, float &amp;oR, float &amp;oG, float &amp;oB, float &amp;oA)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csGraphics2DGLCommon::DecomposeColor           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iColor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&nbsp;</td>
          <td class="paramname"> <em>oR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&nbsp;</td>
          <td class="paramname"> <em>oG</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&nbsp;</td>
          <td class="paramname"> <em>oB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&nbsp;</td>
          <td class="paramname"> <em>oA</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Same but uses floating-point format. 
<p>

</div>
</div><p>
<a class="anchor" name="360b9605454e309e4852d739ccb20e5e"></a><!-- doxytag: member="csGraphics2DGLCommon::DecomposeColor" ref="360b9605454e309e4852d739ccb20e5e" args="(int iColor, GLubyte &amp;oR, GLubyte &amp;oG, GLubyte &amp;oB, GLubyte &amp;oA)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csGraphics2DGLCommon::DecomposeColor           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iColor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glextmanager_8h.html#0595908be03a8cff881a23cdc9170e7c">GLubyte</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>oR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glextmanager_8h.html#0595908be03a8cff881a23cdc9170e7c">GLubyte</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>oG</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glextmanager_8h.html#0595908be03a8cff881a23cdc9170e7c">GLubyte</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>oB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glextmanager_8h.html#0595908be03a8cff881a23cdc9170e7c">GLubyte</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>oA</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Decompose a color ID into r,g,b components. 
<p>

</div>
</div><p>
<a class="anchor" name="749bcdd7725bd840f8ca5c6e28e93233"></a><!-- doxytag: member="csGraphics2DGLCommon::DoubleBuffer" ref="749bcdd7725bd840f8ca5c6e28e93233" args="(bool Enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csGraphics2DGLCommon::DoubleBuffer           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>Enable</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Enable or disable double buffering; returns success status. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#d8005cc576d9c3ec6c1ebda916951ed5">csGraphics2D</a>.</p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00288">288</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="33e6830f68abd1b0071ff6382b6f1927"></a><!-- doxytag: member="csGraphics2DGLCommon::DrawBox" ref="33e6830f68abd1b0071ff6382b6f1927" args="(int x, int y, int w, int h, int color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::DrawBox           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>color</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draw a box. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#965a46d57b6828bdefc77a585b8658c0">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="259bb764c5bc5888e08fd7d9a4bdd6d1"></a><!-- doxytag: member="csGraphics2DGLCommon::DrawLine" ref="259bb764c5bc5888e08fd7d9a4bdd6d1" args="(float x1, float y1, float x2, float y2, int color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::DrawLine           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>color</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draw a line. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#5e2aa80687926583f039aef90c779ef5">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="1c7f3cefef89901c94676ac1e6641085"></a><!-- doxytag: member="csGraphics2DGLCommon::DrawPixel" ref="1c7f3cefef89901c94676ac1e6641085" args="(int x, int y, int color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::DrawPixel           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>color</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draw a pixel. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#362804c19c45315e8327da8ed52d42f4">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="16ad49031dc949f01ef8d5d270864be3"></a><!-- doxytag: member="csGraphics2DGLCommon::DrawPixels" ref="16ad49031dc949f01ef8d5d270864be3" args="(csPixelCoord const *pixels, int num_pixels, int color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::DrawPixels           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcsPixelCoord.html">csPixelCoord</a> const *&nbsp;</td>
          <td class="paramname"> <em>pixels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>num_pixels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>color</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draw a series of pixels. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#db5261b714dd07e1664a849605e98811">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="5f8badc53623e82da38e5bd370ffea0b"></a><!-- doxytag: member="csGraphics2DGLCommon::FindRGB" ref="5f8badc53623e82da38e5bd370ffea0b" args="(int r, int g, int b, int a=255)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int csGraphics2DGLCommon::FindRGB           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>a</em> = <code>255</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find an RGB (0. 
<p>
.255) color. If there is a palette, this returns an entry index set with <a class="el" href="classcsGraphics2DGLCommon.html#a8ca4a258508bc41672cbf57ec3e4598" title="Set a palette entry.">SetRGB()</a>. If the returned value is -1, a suitable palette entry was not found. Without a palette, the actual color bytes are returned. <p>
Use returned value for color arguments in <a class="el" href="structiGraphics2D.html" title="This is the interface for 2D renderer.">iGraphics2D</a>. 
<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#8ec4bfdefe11b76c144bc5ddbe7601d8">csGraphics2D</a>.</p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00229">229</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="076164d2ed051850f3b525a8324832a2"></a><!-- doxytag: member="csGraphics2DGLCommon::FinishDraw" ref="076164d2ed051850f3b525a8324832a2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::FinishDraw           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This routine should be called when you finished drawing. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#e3b8015b220e90fa77acb1cc60a028a8">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="900c24d2fe30745a8b736750a2cd5add"></a><!-- doxytag: member="csGraphics2DGLCommon::GetDoubleBufferState" ref="900c24d2fe30745a8b736750a2cd5add" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csGraphics2DGLCommon::GetDoubleBufferState           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the double buffer state. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#02c5ff22358b90534656e84794114ca4">csGraphics2D</a>.</p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00285">285</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="08e554c721bdcb02f497ff040d3438e6"></a><!-- doxytag: member="csGraphics2DGLCommon::GetPixelAt" ref="08e554c721bdcb02f497ff040d3438e6" args="(int x, int y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual unsigned char* csGraphics2DGLCommon::GetPixelAt           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get address of video RAM at given x,y coordinates. 
<p>
The OpenGL version of this function just returns 0 if not doing a screenshot. 
<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#68beac8a1ae92e157a916b9d55f9f8ea">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="4114fa4662f17e1d3e0dc62bc87e4bcc"></a><!-- doxytag: member="csGraphics2DGLCommon::GetPotentiallyConflictingEvents" ref="4114fa4662f17e1d3e0dc62bc87e4bcc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual unsigned csGraphics2DGLCommon::GetPotentiallyConflictingEvents           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the mask of events that can be generated by this source and are generated directly from user actions (e.g. 
<p>
key presses, mouse clicks and so on). This is used to locate potentialy conflicting combinations of event source plugins (for example two event sources may generate a csevKeyDown event each from every key press).<p>
The mask is a combination of CSEVTYPE_XXX values ORed together. 
<p>Implements <a class="el" href="structiEventPlug.html#47e845ccef883a99835340f955f3fcae">iEventPlug</a>.</p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00299">299</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

<p>References <a class="el" href="evdefs_8h-source.html#l00437">CSEVTYPE_Keyboard</a>, and <a class="el" href="evdefs_8h-source.html#l00439">CSEVTYPE_Mouse</a>.</p>

</div>
</div><p>
<a class="anchor" name="191ae6da40780f9112e81c4202d44559"></a><!-- doxytag: member="csGraphics2DGLCommon::GetRGB" ref="191ae6da40780f9112e81c4202d44559" args="(int color, int &amp;r, int &amp;g, int &amp;b, int &amp;a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::GetRGB           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieve the R,G,B,A tuple for a given color index. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#834bef9425152a2e0938768670cee386">csGraphics2D</a>.</p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00247">247</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="22d0bff3860872bcd667c94a561fc27b"></a><!-- doxytag: member="csGraphics2DGLCommon::GetRGB" ref="22d0bff3860872bcd667c94a561fc27b" args="(int color, int &amp;r, int &amp;g, int &amp;b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::GetRGB           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieve the R,G,B tuple for a given color index. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#f8dee69eb3096a1f931e67ae951bfb8c">csGraphics2D</a>.</p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00241">241</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="cf5b237b4760507c1d997c0d66976768"></a><!-- doxytag: member="csGraphics2DGLCommon::Initialize" ref="cf5b237b4760507c1d997c0d66976768" args="(iObjectRegistry *object_reg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csGraphics2DGLCommon::Initialize           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>object_reg</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the plugin. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#30c0c60b890b1fac84dbd167c115ba71">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="7f77e08c11ca62cb3ebc71dfee52f247"></a><!-- doxytag: member="csGraphics2DGLCommon::Open" ref="7f77e08c11ca62cb3ebc71dfee52f247" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csGraphics2DGLCommon::Open           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize font cache, texture cache, prints renderer name and version. 
<p>
you should still print out the 2D driver type (X, Win, etc.) in your subclass code. 
<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#a116e2745469a6212cd2a27362bc7f30">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="7c932044e348e4acb8179f13bd6cdd6a"></a><!-- doxytag: member="csGraphics2DGLCommon::OpenDriverDB" ref="7c932044e348e4acb8179f13bd6cdd6a" args="(const char *phase=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csGraphics2DGLCommon::OpenDriverDB           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>phase</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Open default driver database. 
<p>

</div>
</div><p>
<a class="anchor" name="b78a04da3258352e27cfa4f879daf3ca"></a><!-- doxytag: member="csGraphics2DGLCommon::PerformExtensionV" ref="b78a04da3258352e27cfa4f879daf3ca" args="(char const *command, va_list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csGraphics2DGLCommon::PerformExtensionV           </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Perform extension commands. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#5bbd9bc43498ccc5566e7c4f3665112e">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="9f81fc2d3e9b0096468710a6fd42f04f"></a><!-- doxytag: member="csGraphics2DGLCommon::QueryEventPriority" ref="9f81fc2d3e9b0096468710a6fd42f04f" args="(unsigned)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual unsigned csGraphics2DGLCommon::QueryEventPriority           </td>
          <td>(</td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>iType</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query how strong the plug's wish to generate certain class of events is. 
<p>
The plug with the strongest wish wins. The argument is one of CSEVTYPE_XXX values (but never a combination of several OR'ed together).<p>
The typical value is somewhere around 100; the event plugs which are sometimes implemented inside the system drivers (such as for Windows and DJGPP) usually have the priority 100. 
<p>Implements <a class="el" href="structiEventPlug.html#7564d911fd4ea209dd6fa948aed97bfd">iEventPlug</a>.</p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00301">301</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="764c52e10de2cde9674b024a6d8755e6"></a><!-- doxytag: member="csGraphics2DGLCommon::ReadDatabase" ref="764c52e10de2cde9674b024a6d8755e6" args="(iDocumentNode *dbRoot, int configPriority=iConfigManager::ConfigPriorityPlugin+20, const char *phase=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csGraphics2DGLCommon::ReadDatabase           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDocumentNode.html">iDocumentNode</a> *&nbsp;</td>
          <td class="paramname"> <em>dbRoot</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>configPriority</em> = <code>iConfigManager::ConfigPriorityPlugin+20</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>phase</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read a custom driver database. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dbRoot</em>&nbsp;</td><td>Document node containing the <code>&lt;configs&gt;</code> and <code>&lt;rules&gt;</code> nodes required by the driver DB as children. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>configPriority</em>&nbsp;</td><td>Priority with which the individual tweaks are added to the configuration manager. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>phase</em>&nbsp;</td><td>Simple rule filter; only rules whose "phase" attribute match this string are considered. 0 and an empty string are equivalent. </td></tr>
  </table>
</dl>

<p>Reimplemented from <a class="el" href="structiOpenGLDriverDatabase.html#e4af55ee934c588363ca7eb57592c3a7">iOpenGLDriverDatabase</a>.</p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00307">307</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f9efec2e67e1423bfa3d693719ba4aa4"></a><!-- doxytag: member="csGraphics2DGLCommon::Resize" ref="f9efec2e67e1423bfa3d693719ba4aa4" args="(int width, int height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csGraphics2DGLCommon::Resize           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Resize the canvas. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#62b276a262a4d6a2bfe529a835897798">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="43cc645bf1dc77e7f62e3885d8e011d8"></a><!-- doxytag: member="csGraphics2DGLCommon::RestoreArea" ref="43cc645bf1dc77e7f62e3885d8e011d8" args="(csImageArea *Area, bool Free=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::RestoreArea           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcsImageArea.html">csImageArea</a> *&nbsp;</td>
          <td class="paramname"> <em>Area</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>Free</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Restore a subarea of screen saved with <a class="el" href="classcsGraphics2DGLCommon.html#06b9b3b382d5fb0dcad4572483493854" title="Save a subarea of screen area into the variable Data.">SaveArea()</a>. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#a4d292632b05e16497e0a330573428fd">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="06b9b3b382d5fb0dcad4572483493854"></a><!-- doxytag: member="csGraphics2DGLCommon::SaveArea" ref="06b9b3b382d5fb0dcad4572483493854" args="(int x, int y, int w, int h)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structcsImageArea.html">csImageArea</a>* csGraphics2DGLCommon::SaveArea           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Save a subarea of screen area into the variable Data. 
<p>
Storage is allocated in this call, you should either <a class="el" href="classcsGraphics2D.html#126b7e24b098a908b4a7d448c8be09ed" title="Free storage allocated for a subarea of screen.">FreeArea()</a> it after usage or <a class="el" href="classcsGraphics2DGLCommon.html#43cc645bf1dc77e7f62e3885d8e011d8" title="Restore a subarea of screen saved with SaveArea().">RestoreArea()</a> it. 
<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#9e503598301389ec9029591d1b8d8237">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="293fb50b2add94853c56bf540e045ccd"></a><!-- doxytag: member="csGraphics2DGLCommon::ScreenShot" ref="293fb50b2add94853c56bf540e045ccd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiImage.html">iImage</a>&gt; csGraphics2DGLCommon::ScreenShot           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Do a screenshot: return a new <a class="el" href="structiImage.html" title="The iImage interface is used to work with image objects.">iImage</a> object. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#1d021d2dc4e6a0359ef2d2076bf83c35">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="271d5c0ec31dbf7bb1c415eecd98f2a4"></a><!-- doxytag: member="csGraphics2DGLCommon::SetClipRect" ref="271d5c0ec31dbf7bb1c415eecd98f2a4" args="(int xmin, int ymin, int xmax, int ymax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::SetClipRect           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>xmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ymin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>xmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ymax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set clipping rectangle. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#7930aa2556d5d6f8abbef90587430f57">csGraphics2D</a>.</p>

</div>
</div><p>
<a class="anchor" name="c4c9fd0e37784928e15ad9c2606d0de3"></a><!-- doxytag: member="csGraphics2DGLCommon::setGLColorfromint" ref="c4c9fd0e37784928e15ad9c2606d0de3" args="(int color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csGraphics2DGLCommon::setGLColorfromint           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>color</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set up current GL RGB color from a packed color format. 
<p>

</div>
</div><p>
<a class="anchor" name="a8ca4a258508bc41672cbf57ec3e4598"></a><!-- doxytag: member="csGraphics2DGLCommon::SetRGB" ref="a8ca4a258508bc41672cbf57ec3e4598" args="(int i, int r, int g, int b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csGraphics2DGLCommon::SetRGB           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a palette entry. 
<p>

<p>Reimplemented from <a class="el" href="classcsGraphics2D.html#7d9b19438982575bab1bc89cf0e6478e">csGraphics2D</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="f61ee817a168529e57e75bd428e075e7"></a><!-- doxytag: member="csGraphics2DGLCommon::currentFormat" ref="f61ee817a168529e57e75bd428e075e7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsGraphics2DGLCommon.html#c55824a8be91d960533086e6905a4452">GLPixelFormat</a> <a class="el" href="classcsGraphics2DGLCommon.html#f61ee817a168529e57e75bd428e075e7">csGraphics2DGLCommon::currentFormat</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Depth buffer resolution. 
<p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00158">158</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="53a7ef442de864f3b3e97d69d9511a5a"></a><!-- doxytag: member="csGraphics2DGLCommon::driverdb" ref="53a7ef442de864f3b3e97d69d9511a5a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsGLDriverDatabase.html">csGLDriverDatabase</a> <a class="el" href="classcsGraphics2DGLCommon.html#53a7ef442de864f3b3e97d69d9511a5a">csGraphics2DGLCommon::driverdb</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Driver database. 
<p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00160">160</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1b63c4571259e42f253e7ed165a769a7"></a><!-- doxytag: member="csGraphics2DGLCommon::EventOutlet" ref="1b63c4571259e42f253e7ed165a769a7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsRef.html">csRef</a>&lt;<a class="el" href="structiEventOutlet.html">iEventOutlet</a>&gt; <a class="el" href="classcsGraphics2DGLCommon.html#1b63c4571259e42f253e7ed165a769a7">csGraphics2DGLCommon::EventOutlet</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The event plug object. 
<p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00174">174</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a2fa871f576c2a0f85182bd881baf053"></a><!-- doxytag: member="csGraphics2DGLCommon::ext" ref="a2fa871f576c2a0f85182bd881baf053" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structcsGLExtensionManager.html">csGLExtensionManager</a> <a class="el" href="classcsGraphics2DGLCommon.html#a2fa871f576c2a0f85182bd881baf053">csGraphics2DGLCommon::ext</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Extension manager. 
<p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00151">151</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a6b8a809a19849a8a719c1cfdd754a88"></a><!-- doxytag: member="csGraphics2DGLCommon::multiFavorQuality" ref="a6b8a809a19849a8a719c1cfdd754a88" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classcsGraphics2DGLCommon.html#a6b8a809a19849a8a719c1cfdd754a88">csGraphics2DGLCommon::multiFavorQuality</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multisample samples. 
<p>
Whether to favor quality or speed. 
<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00155">155</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="bf9bce86e265f5546306470661d35529"></a><!-- doxytag: member="csGraphics2DGLCommon::statecache" ref="bf9bce86e265f5546306470661d35529" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsGLStateCache.html">csGLStateCache</a>* <a class="el" href="classcsGraphics2DGLCommon.html#bf9bce86e265f5546306470661d35529">csGraphics2DGLCommon::statecache</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cache for GL states. 
<p>

<p>Definition at line <a class="el" href="glcommon2d_8h-source.html#l00131">131</a> of file <a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csplugincommon/opengl/<a class="el" href="glcommon2d_8h-source.html">glcommon2d.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>