blob: 29ce0cc042261137d714bcad69a38c1f4ad1d95d [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Skia: SkGLCanvas Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<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>
</div>
<div class="contents">
<h1>SkGLCanvas Class Reference</h1><!-- doxytag: class="SkGLCanvas" --><!-- doxytag: inherits="SkCanvas" -->
<p><code>#include &lt;<a class="el" href="_sk_g_l_canvas_8h_source.html">SkGLCanvas.h</a>&gt;</code></p>
<p>Inherits <a class="el" href="class_sk_canvas.html">SkCanvas</a>.</p>
<div class="dynheader">
Collaboration diagram for SkGLCanvas:</div>
<div class="dynsection">
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="class_sk_g_l_canvas-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#aef3aa26d6a30d9add00e1403d9c1e47d">SkGLCanvas</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#a1368b3da51be36c9d6f8e9aa634216dc">~SkGLCanvas</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#aa5c79d7f9029d122fd6f65997f1daf29">getViewport</a> (<a class="el" href="struct_sk_i_point.html">SkIPoint</a> *) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#a871d38ab524069c8198e6d9b01448338">setViewport</a> (int width, int height)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_sk_device.html">SkDevice</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#a63db172d18e4eae9bb5706e6e013ab80">createDevice</a> (<a class="el" href="class_sk_bitmap.html#a62602e28fc755def34d7e261bfd0b74a">SkBitmap::Config</a>, int width, int height, bool isOpaque, bool isForLayer)</td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#a14b57b1c0b9953a9dde7e7abad52ef71">GetTextureCacheMaxCount</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#aa3c39f7a041b01c6c576b0bf81d1ac22">SetTextureCacheMaxCount</a> (size_t count)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#a1c620de8e643bc260e44f128549f2e1a">GetTextureCacheMaxSize</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#af546f72f5e98d12d20dabeedf0a54f79">SetTextureCacheMaxSize</a> (size_t size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#a025709ba7c36f85f4e2c5614dafda5e1">DeleteAllTextures</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_g_l_canvas.html#a5cf7662e7139ef7b9ec47fbb7a9507e5">AbandonAllTextures</a> ()</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="_sk_g_l_canvas_8h_source.html#l00031">31</a> of file <a class="el" href="_sk_g_l_canvas_8h_source.html">SkGLCanvas.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aef3aa26d6a30d9add00e1403d9c1e47d"></a><!-- doxytag: member="SkGLCanvas::SkGLCanvas" ref="aef3aa26d6a30d9add00e1403d9c1e47d" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SkGLCanvas::SkGLCanvas </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a1368b3da51be36c9d6f8e9aa634216dc"></a><!-- doxytag: member="SkGLCanvas::~SkGLCanvas" ref="a1368b3da51be36c9d6f8e9aa634216dc" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual SkGLCanvas::~SkGLCanvas </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a5cf7662e7139ef7b9ec47fbb7a9507e5"></a><!-- doxytag: member="SkGLCanvas::AbandonAllTextures" ref="a5cf7662e7139ef7b9ec47fbb7a9507e5" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void SkGLCanvas::AbandonAllTextures </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forget all textures without calling delete (including those for text). This should be called if the gl-context has changed, and the texture IDs that have been cached are no longer valid. </p>
</div>
</div>
<a class="anchor" id="a63db172d18e4eae9bb5706e6e013ab80"></a><!-- doxytag: member="SkGLCanvas::createDevice" ref="a63db172d18e4eae9bb5706e6e013ab80" args="(SkBitmap::Config, int width, int height, bool isOpaque, bool isForLayer)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="class_sk_device.html">SkDevice</a>* SkGLCanvas::createDevice </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_sk_bitmap.html#a62602e28fc755def34d7e261bfd0b74a">SkBitmap::Config</a>&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></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>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>isOpaque</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>isForLayer</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>May be overridden by subclasses. This returns a compatible device for this canvas, with the specified config/width/height. If isOpaque is true, then the underlying bitmap is optimized to assume that every pixel will be drawn to, and thus it does not need to clear the alpha channel ahead of time (assuming the specified config supports per-pixel alpha.) If isOpaque is false, then the bitmap should clear its alpha channel. </p>
<p>Reimplemented from <a class="el" href="class_sk_canvas.html#ad9a7eb604feaf007bcfacff32d6ee91e">SkCanvas</a>.</p>
</div>
</div>
<a class="anchor" id="a025709ba7c36f85f4e2c5614dafda5e1"></a><!-- doxytag: member="SkGLCanvas::DeleteAllTextures" ref="a025709ba7c36f85f4e2c5614dafda5e1" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void SkGLCanvas::DeleteAllTextures </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Call glDeleteTextures for all textures (including those for text) This should be called while the gl-context is still valid. Its purpose is to free up gl resources. Note that if a bitmap or text is drawn after this call, new caches will be created. </p>
</div>
</div>
<a class="anchor" id="a14b57b1c0b9953a9dde7e7abad52ef71"></a><!-- doxytag: member="SkGLCanvas::GetTextureCacheMaxCount" ref="a14b57b1c0b9953a9dde7e7abad52ef71" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static size_t SkGLCanvas::GetTextureCacheMaxCount </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a1c620de8e643bc260e44f128549f2e1a"></a><!-- doxytag: member="SkGLCanvas::GetTextureCacheMaxSize" ref="a1c620de8e643bc260e44f128549f2e1a" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static size_t SkGLCanvas::GetTextureCacheMaxSize </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aa5c79d7f9029d122fd6f65997f1daf29"></a><!-- doxytag: member="SkGLCanvas::getViewport" ref="aa5c79d7f9029d122fd6f65997f1daf29" args="(SkIPoint *) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool SkGLCanvas::getViewport </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_sk_i_point.html">SkIPoint</a> *&nbsp;</td>
<td class="paramname"> <em>size</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>If this subclass of <a class="el" href="class_sk_canvas.html">SkCanvas</a> supports GL viewports, return true and set size (if not null) to the size of the viewport. If it is not supported, ignore vp and return false. </p>
<p>Reimplemented from <a class="el" href="class_sk_canvas.html#ae7a16c11d4bb28ead36107671393e12d">SkCanvas</a>.</p>
</div>
</div>
<a class="anchor" id="aa3c39f7a041b01c6c576b0bf81d1ac22"></a><!-- doxytag: member="SkGLCanvas::SetTextureCacheMaxCount" ref="aa3c39f7a041b01c6c576b0bf81d1ac22" args="(size_t count)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void SkGLCanvas::SetTextureCacheMaxCount </td>
<td>(</td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>count</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="af546f72f5e98d12d20dabeedf0a54f79"></a><!-- doxytag: member="SkGLCanvas::SetTextureCacheMaxSize" ref="af546f72f5e98d12d20dabeedf0a54f79" args="(size_t size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void SkGLCanvas::SetTextureCacheMaxSize </td>
<td>(</td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>size</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a871d38ab524069c8198e6d9b01448338"></a><!-- doxytag: member="SkGLCanvas::setViewport" ref="a871d38ab524069c8198e6d9b01448338" args="(int width, int height)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool SkGLCanvas::setViewport </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><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>If this subclass of <a class="el" href="class_sk_canvas.html">SkCanvas</a> supports GL viewports, return true and set the viewport to the specified x and y dimensions. If it is not supported, ignore x and y and return false. </p>
<p>Reimplemented from <a class="el" href="class_sk_canvas.html#a2cbf69015d032a4118dfe0f85c1aed5d">SkCanvas</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/Volumes/disk/skia/trunk/include/utils/<a class="el" href="_sk_g_l_canvas_8h_source.html">SkGLCanvas.h</a></li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Oct 20 10:33:04 2009 for Skia by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>