classPVRShell.html 46 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  3. <title>PowerVR SDK</title>
  4. <link href="doxygen.css" rel="stylesheet" type="text/css">
  5. <link href="tabs.css" rel="stylesheet" type="text/css">
  6. <table width="100%">
  7. <tr>
  8. <td width="33%">
  9. <p align="left">&nbsp;<a href="http://www.imgtec.com"><img border="0" src="IMGLogo.jpg" width="200" height="30"></a></p>
  10. </td>
  11. <td width="33%">
  12. <p align="center"><font color="#808080" face="Arial" size="2">PowerVR Software Development Kit</a></font></p>
  13. </td>
  14. <td width="34%">
  15. <p align="right"><a href="http://www.powervr.com"><img border="0" src="PVRlogo.jpg" width="200" height="27"></a></p>
  16. </td>
  17. </tr>
  18. </table>
  19. <hr>
  20. </head><body>
  21. <!-- Generated by Doxygen 1.3.6 -->
  22. <div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
  23. <h1>PVRShell Class Reference</h1>Inherited by the application; responsible for abstracting the OS and API.
  24. <a href="#_details">More...</a>
  25. <p>
  26. <code>#include &lt;<a class="el" href="PVRShell_8h-source.html">PVRShell.h</a>&gt;</code>
  27. <p>
  28. Collaboration diagram for PVRShell:<p><center><img src="classPVRShell__coll__graph.png" border="0" usemap="#PVRShell__coll__map" alt="Collaboration graph"></center>
  29. <map name="PVRShell__coll__map">
  30. <area href="classPVRShellInit.html" shape="rect" coords="199,369,297,396" alt="">
  31. <area href="classPVRShellGLWidget.html" shape="rect" coords="253,188,392,215" alt="">
  32. <area href="structPVRShellData.html" shape="rect" coords="269,7,376,33" alt="">
  33. <area href="classPVRShellMainWindow.html" shape="rect" coords="87,460,244,487" alt="">
  34. <area href="classPVRShellInitAPI.html" shape="rect" coords="253,279,373,305" alt="">
  35. <area href="classPVRShellInitOS.html" shape="rect" coords="169,551,287,577" alt="">
  36. <area href="classPVRShellCommandLine.html" shape="rect" coords="7,279,172,305" alt="">
  37. <area href="structSCmdLineOpt.html" shape="rect" coords="36,188,143,215" alt="">
  38. </map>
  39. <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classPVRShell-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  40. <tr><td></td></tr>
  41. <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
  42. <tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a0">PVRShell</a> ()</td></tr>
  43. <tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a1">~PVRShell</a> ()</td></tr>
  44. <tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a2">InitApplication</a> ()</td></tr>
  45. <tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a3">QuitApplication</a> ()</td></tr>
  46. <tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a4">InitView</a> ()</td></tr>
  47. <tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a5">ReleaseView</a> ()</td></tr>
  48. <tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a6">RenderScene</a> ()</td></tr>
  49. <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a7">PVRShellSet</a> (const <a class="el" href="PVRShell_8h.html#a75">prefNameBoolEnum</a> prefName, const bool value)</td></tr>
  50. <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a8">PVRShellSet</a> (const <a class="el" href="PVRShell_8h.html#a76">prefNameFloatEnum</a> prefName, const float value)</td></tr>
  51. <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a9">PVRShellSet</a> (const <a class="el" href="PVRShell_8h.html#a77">prefNameIntEnum</a> prefName, const int value)</td></tr>
  52. <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a10">PVRShellSet</a> (const <a class="el" href="PVRShell_8h.html#a78">prefNamePtrEnum</a> prefName, const void *const ptrValue)</td></tr>
  53. <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a11">PVRShellSet</a> (const <a class="el" href="PVRShell_8h.html#a79">prefNameConstPtrEnum</a> prefName, const void *const ptrValue)</td></tr>
  54. <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a12">PVRShellGet</a> (const <a class="el" href="PVRShell_8h.html#a75">prefNameBoolEnum</a> prefName) const </td></tr>
  55. <tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a13">PVRShellGet</a> (const <a class="el" href="PVRShell_8h.html#a76">prefNameFloatEnum</a> prefName) const </td></tr>
  56. <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a14">PVRShellGet</a> (const <a class="el" href="PVRShell_8h.html#a77">prefNameIntEnum</a> prefName) const </td></tr>
  57. <tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a15">PVRShellGet</a> (const <a class="el" href="PVRShell_8h.html#a78">prefNamePtrEnum</a> prefName) const </td></tr>
  58. <tr><td class="memItemLeft" nowrap align=right valign=top>const void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a16">PVRShellGet</a> (const <a class="el" href="PVRShell_8h.html#a79">prefNameConstPtrEnum</a> prefName) const </td></tr>
  59. <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a17">PVRShellScreenCaptureBuffer</a> (const int Width, const int Height, unsigned char **pLines)</td></tr>
  60. <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a18">PVRShellScreenSave</a> (const char *const fname, const unsigned char *const pLines, char *const ofname=NULL)</td></tr>
  61. <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a19">PVRShellWriteBMPFile</a> (const char *const pszFilename, const unsigned long uWidth, const unsigned long uHeight, const void *const pImageData)</td></tr>
  62. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a20">PVRShellOutputDebug</a> (char const *const format,...) const </td></tr>
  63. <tr><td class="memItemLeft" nowrap align=right valign=top>unsigned long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a21">PVRShellGetTime</a> ()</td></tr>
  64. <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#a22">PVRShellIsKeyPressed</a> (const <a class="el" href="PVRShell_8h.html#a72">PVRShellKeyName</a> key)</td></tr>
  65. <tr><td colspan=2><br><h2>Friends</h2></td></tr>
  66. <tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#n0">PVRShellInitOS</a></td></tr>
  67. <tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html#n1">PVRShellInit</a></td></tr>
  68. </table>
  69. <hr><a name="_details"></a><h2>Detailed Description</h2>
  70. Inherited by the application; responsible for abstracting the OS and API.
  71. <p>
  72. <dl compact><dt><b>Description:</b></dt><dd></dd></dl>
  73. PVRShell is the main Shell class that an application uses. An application should supply a class which inherits PVRShell and supplies implementations of the virtual functions of PVRShell (<a class="el" href="classPVRShell.html#a2">InitApplication()</a>, <a class="el" href="classPVRShell.html#a3">QuitApplication()</a>, <a class="el" href="classPVRShell.html#a4">InitView()</a>, <a class="el" href="classPVRShell.html#a5">ReleaseView()</a>, <a class="el" href="classPVRShell.html#a6">RenderScene()</a>). Default stub functions are supplied; this means that an application is not required to supply a particular function if it does not need to do anything in it. The other, non-virtual, functions of PVRShell are utility functions that the application may call.
  74. <p>
  75. <hr><h2>Constructor &amp; Destructor Documentation</h2>
  76. <a class="anchor" name="a0" doxytag="PVRShell::PVRShell" ></a><p>
  77. <br><br><h3>PVRShell</h3><br><div>
  78. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  79. <tr>
  80. <td class="mdRow">
  81. <table cellpadding="0" cellspacing="0" border="0">
  82. <tr>
  83. <td class="md" nowrap valign="top"> PVRShell::PVRShell </td>
  84. <td class="md" valign="top">(&nbsp;</td>
  85. <td class="mdname1" valign="top" nowrap> </td>
  86. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  87. <td class="md" nowrap></td>
  88. </tr>
  89. </table>
  90. </td>
  91. </tr>
  92. </table>
  93. <table cellspacing=5 cellpadding=0 border=0>
  94. <tr>
  95. <td>
  96. &nbsp;
  97. </td>
  98. <td>
  99. <p>
  100. <dl compact><dt><b>Description:</b></dt><dd>Constructor </dd></dl>
  101. </td>
  102. </tr>
  103. </table>
  104. <a class="anchor" name="a1" doxytag="PVRShell::~PVRShell" ></a><p>
  105. <br><br><h3>~PVRShell</h3><br><div>
  106. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  107. <tr>
  108. <td class="mdRow">
  109. <table cellpadding="0" cellspacing="0" border="0">
  110. <tr>
  111. <td class="md" nowrap valign="top"> PVRShell::~<a class="el" href="classPVRShell.html">PVRShell</a> </td>
  112. <td class="md" valign="top">(&nbsp;</td>
  113. <td class="mdname1" valign="top" nowrap> </td>
  114. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  115. <td class="md" nowrap><code> [virtual]</code></td>
  116. </tr>
  117. </table>
  118. </td>
  119. </tr>
  120. </table>
  121. <table cellspacing=5 cellpadding=0 border=0>
  122. <tr>
  123. <td>
  124. &nbsp;
  125. </td>
  126. <td>
  127. <p>
  128. <dl compact><dt><b>Description:</b></dt><dd>Destructor </dd></dl>
  129. </td>
  130. </tr>
  131. </table>
  132. <hr><h2>Member Function Documentation</h2>
  133. <a class="anchor" name="a2" doxytag="PVRShell::InitApplication" ></a><p>
  134. <br><br><h3>InitApplication</h3><br><div>
  135. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  136. <tr>
  137. <td class="mdRow">
  138. <table cellpadding="0" cellspacing="0" border="0">
  139. <tr>
  140. <td class="md" nowrap valign="top"> virtual bool PVRShell::InitApplication </td>
  141. <td class="md" valign="top">(&nbsp;</td>
  142. <td class="mdname1" valign="top" nowrap> </td>
  143. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  144. <td class="md" nowrap><code> [inline, virtual]</code></td>
  145. </tr>
  146. </table>
  147. </td>
  148. </tr>
  149. </table>
  150. <table cellspacing=5 cellpadding=0 border=0>
  151. <tr>
  152. <td>
  153. &nbsp;
  154. </td>
  155. <td>
  156. <p>
  157. <dl compact><dt><b>Returns:</b></dt><dd>true for success, false to exit the application </dd></dl>
  158. <dl compact><dt><b>Description:</b></dt><dd>This function can be overloaded by the application. It will be called by PVRShell once only at the beginning of the PVRShell WinMain()/main() function. This function enables the user to perform any initialisation before the render API is initialised. From this function the user can call <a class="el" href="classPVRShell.html#a7">PVRShellSet()</a> to change default values, e.g. requesting a particular resolution or device setting. </dd></dl>
  159. </td>
  160. </tr>
  161. </table>
  162. <a class="anchor" name="a4" doxytag="PVRShell::InitView" ></a><p>
  163. <br><br><h3>InitView</h3><br><div>
  164. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  165. <tr>
  166. <td class="mdRow">
  167. <table cellpadding="0" cellspacing="0" border="0">
  168. <tr>
  169. <td class="md" nowrap valign="top"> virtual bool PVRShell::InitView </td>
  170. <td class="md" valign="top">(&nbsp;</td>
  171. <td class="mdname1" valign="top" nowrap> </td>
  172. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  173. <td class="md" nowrap><code> [inline, virtual]</code></td>
  174. </tr>
  175. </table>
  176. </td>
  177. </tr>
  178. </table>
  179. <table cellspacing=5 cellpadding=0 border=0>
  180. <tr>
  181. <td>
  182. &nbsp;
  183. </td>
  184. <td>
  185. <p>
  186. <dl compact><dt><b>Returns:</b></dt><dd>true for success, false to exit the application </dd></dl>
  187. <dl compact><dt><b>Description:</b></dt><dd>This function can be overloaded by the application. It will be called by PVRShell after the OS and rendering API are initialised, before entering the <a class="el" href="classPVRShell.html#a6">RenderScene()</a> loop. It is called any time the rendering API is initialised, i.e. once at the beginning, and possibly again if the resolution changes, or a power management even occurs, or if the app requests a reinialisation. The application should check here the configuration of the rendering API; it is possible that requests made in <a class="el" href="classPVRShell.html#a2">InitApplication()</a> were not successful. Since everything is initialised when this function is called, you can load textures and perform rendering API functions. </dd></dl>
  188. </td>
  189. </tr>
  190. </table>
  191. <a class="anchor" name="a16" doxytag="PVRShell::PVRShellGet" ></a><p>
  192. <br><br><h3>PVRShellGet</h3><br><div>
  193. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  194. <tr>
  195. <td class="mdRow">
  196. <table cellpadding="0" cellspacing="0" border="0">
  197. <tr>
  198. <td class="md" nowrap valign="top"> const void * PVRShell::PVRShellGet </td>
  199. <td class="md" valign="top">(&nbsp;</td>
  200. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a79">prefNameConstPtrEnum</a>&nbsp;</td>
  201. <td class="mdname1" valign="top" nowrap> <em>prefName</em> </td>
  202. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  203. <td class="md" nowrap> const</td>
  204. </tr>
  205. </table>
  206. </td>
  207. </tr>
  208. </table>
  209. <table cellspacing=5 cellpadding=0 border=0>
  210. <tr>
  211. <td>
  212. &nbsp;
  213. </td>
  214. <td>
  215. <p>
  216. <dl compact><dt><b>Inputs:</b></dt><dd>
  217. <table border="0" cellspacing="2" cellpadding="0">
  218. <tr><td valign=top><em>prefName</em>&nbsp;</td><td>Name of preference to set to value </td></tr>
  219. </table>
  220. </dl>
  221. <dl compact><dt><b>Returns:</b></dt><dd>Value asked for. </dd></dl>
  222. <dl compact><dt><b>Description:</b></dt><dd>This function is used to get parameters from the PVRShell It can be called from any where in the program. </dd></dl>
  223. </td>
  224. </tr>
  225. </table>
  226. <a class="anchor" name="a15" doxytag="PVRShell::PVRShellGet" ></a><p>
  227. <br><br><h3>PVRShellGet</h3><br><div>
  228. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  229. <tr>
  230. <td class="mdRow">
  231. <table cellpadding="0" cellspacing="0" border="0">
  232. <tr>
  233. <td class="md" nowrap valign="top"> void * PVRShell::PVRShellGet </td>
  234. <td class="md" valign="top">(&nbsp;</td>
  235. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a78">prefNamePtrEnum</a>&nbsp;</td>
  236. <td class="mdname1" valign="top" nowrap> <em>prefName</em> </td>
  237. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  238. <td class="md" nowrap> const</td>
  239. </tr>
  240. </table>
  241. </td>
  242. </tr>
  243. </table>
  244. <table cellspacing=5 cellpadding=0 border=0>
  245. <tr>
  246. <td>
  247. &nbsp;
  248. </td>
  249. <td>
  250. <p>
  251. <dl compact><dt><b>Inputs:</b></dt><dd>
  252. <table border="0" cellspacing="2" cellpadding="0">
  253. <tr><td valign=top><em>prefName</em>&nbsp;</td><td>Name of preference to set to value </td></tr>
  254. </table>
  255. </dl>
  256. <dl compact><dt><b>Returns:</b></dt><dd>Value asked for. </dd></dl>
  257. <dl compact><dt><b>Description:</b></dt><dd>This function is used to get parameters from the PVRShell It can be called from any where in the program. </dd></dl>
  258. </td>
  259. </tr>
  260. </table>
  261. <a class="anchor" name="a14" doxytag="PVRShell::PVRShellGet" ></a><p>
  262. <br><br><h3>PVRShellGet</h3><br><div>
  263. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  264. <tr>
  265. <td class="mdRow">
  266. <table cellpadding="0" cellspacing="0" border="0">
  267. <tr>
  268. <td class="md" nowrap valign="top"> int PVRShell::PVRShellGet </td>
  269. <td class="md" valign="top">(&nbsp;</td>
  270. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a77">prefNameIntEnum</a>&nbsp;</td>
  271. <td class="mdname1" valign="top" nowrap> <em>prefName</em> </td>
  272. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  273. <td class="md" nowrap> const</td>
  274. </tr>
  275. </table>
  276. </td>
  277. </tr>
  278. </table>
  279. <table cellspacing=5 cellpadding=0 border=0>
  280. <tr>
  281. <td>
  282. &nbsp;
  283. </td>
  284. <td>
  285. <p>
  286. <dl compact><dt><b>Inputs:</b></dt><dd>
  287. <table border="0" cellspacing="2" cellpadding="0">
  288. <tr><td valign=top><em>prefName</em>&nbsp;</td><td>Name of preference to set to value </td></tr>
  289. </table>
  290. </dl>
  291. <dl compact><dt><b>Returns:</b></dt><dd>Value asked for. </dd></dl>
  292. <dl compact><dt><b>Description:</b></dt><dd>This function is used to get parameters from the PVRShell It can be called from any where in the program. </dd></dl>
  293. </td>
  294. </tr>
  295. </table>
  296. <p>
  297. Here is the call graph for this function:<p><center><img src="classPVRShell_a14_cgraph.png" border="0" usemap="#classPVRShell_a14_cgraph_map" alt=""></center>
  298. <map name="classPVRShell_a14_cgraph_map">
  299. <area href="classPVRShellInit.html#a37" shape="rect" coords="223,7,369,33" alt="">
  300. <area href="classPVRShellInit.html#a27" shape="rect" coords="224,57,368,84" alt="">
  301. <area href="classPVRShellMainWindow.html#a7" shape="rect" coords="417,32,687,59" alt="">
  302. <area href="classPVRShellMainWindow.html#a6" shape="rect" coords="440,83,664,109" alt="">
  303. </map>
  304. <a class="anchor" name="a13" doxytag="PVRShell::PVRShellGet" ></a><p>
  305. <br><br><h3>PVRShellGet</h3><br><div>
  306. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  307. <tr>
  308. <td class="mdRow">
  309. <table cellpadding="0" cellspacing="0" border="0">
  310. <tr>
  311. <td class="md" nowrap valign="top"> float PVRShell::PVRShellGet </td>
  312. <td class="md" valign="top">(&nbsp;</td>
  313. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a76">prefNameFloatEnum</a>&nbsp;</td>
  314. <td class="mdname1" valign="top" nowrap> <em>prefName</em> </td>
  315. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  316. <td class="md" nowrap> const</td>
  317. </tr>
  318. </table>
  319. </td>
  320. </tr>
  321. </table>
  322. <table cellspacing=5 cellpadding=0 border=0>
  323. <tr>
  324. <td>
  325. &nbsp;
  326. </td>
  327. <td>
  328. <p>
  329. <dl compact><dt><b>Inputs:</b></dt><dd>
  330. <table border="0" cellspacing="2" cellpadding="0">
  331. <tr><td valign=top><em>prefName</em>&nbsp;</td><td>Name of preference to set to value </td></tr>
  332. </table>
  333. </dl>
  334. <dl compact><dt><b>Returns:</b></dt><dd>Value asked for. </dd></dl>
  335. <dl compact><dt><b>Description:</b></dt><dd>This function is used to get parameters from the PVRShell It can be called from any where in the program. </dd></dl>
  336. </td>
  337. </tr>
  338. </table>
  339. <a class="anchor" name="a12" doxytag="PVRShell::PVRShellGet" ></a><p>
  340. <br><br><h3>PVRShellGet</h3><br><div>
  341. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  342. <tr>
  343. <td class="mdRow">
  344. <table cellpadding="0" cellspacing="0" border="0">
  345. <tr>
  346. <td class="md" nowrap valign="top"> bool PVRShell::PVRShellGet </td>
  347. <td class="md" valign="top">(&nbsp;</td>
  348. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a75">prefNameBoolEnum</a>&nbsp;</td>
  349. <td class="mdname1" valign="top" nowrap> <em>prefName</em> </td>
  350. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  351. <td class="md" nowrap> const</td>
  352. </tr>
  353. </table>
  354. </td>
  355. </tr>
  356. </table>
  357. <table cellspacing=5 cellpadding=0 border=0>
  358. <tr>
  359. <td>
  360. &nbsp;
  361. </td>
  362. <td>
  363. <p>
  364. <dl compact><dt><b>Inputs:</b></dt><dd>
  365. <table border="0" cellspacing="2" cellpadding="0">
  366. <tr><td valign=top><em>prefName</em>&nbsp;</td><td>Name of preference to set to value </td></tr>
  367. </table>
  368. </dl>
  369. <dl compact><dt><b>Returns:</b></dt><dd>Value asked for. </dd></dl>
  370. <dl compact><dt><b>Description:</b></dt><dd>This function is used to get parameters from the PVRShell It can be called from any where in the program. </dd></dl>
  371. </td>
  372. </tr>
  373. </table>
  374. <a class="anchor" name="a21" doxytag="PVRShell::PVRShellGetTime" ></a><p>
  375. <br><br><h3>PVRShellGetTime</h3><br><div>
  376. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  377. <tr>
  378. <td class="mdRow">
  379. <table cellpadding="0" cellspacing="0" border="0">
  380. <tr>
  381. <td class="md" nowrap valign="top"> unsigned long PVRShell::PVRShellGetTime </td>
  382. <td class="md" valign="top">(&nbsp;</td>
  383. <td class="mdname1" valign="top" nowrap> </td>
  384. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  385. <td class="md" nowrap></td>
  386. </tr>
  387. </table>
  388. </td>
  389. </tr>
  390. </table>
  391. <table cellspacing=5 cellpadding=0 border=0>
  392. <tr>
  393. <td>
  394. &nbsp;
  395. </td>
  396. <td>
  397. <p>
  398. <dl compact><dt><b>Returns:</b></dt><dd>A value which increments once per millisecond. </dd></dl>
  399. <dl compact><dt><b>Description:</b></dt><dd>The number itself should be considered meaningless; an application should use this function to determine how much time has passed between two points (e.g. between each frame). </dd></dl>
  400. </td>
  401. </tr>
  402. </table>
  403. <p>
  404. Here is the call graph for this function:<p><center><img src="classPVRShell_a21_cgraph.png" border="0" usemap="#classPVRShell_a21_cgraph_map" alt=""></center>
  405. <map name="classPVRShell_a21_cgraph_map">
  406. <area href="classPVRShellInit.html#a6" shape="rect" coords="253,7,456,33" alt="">
  407. </map>
  408. <a class="anchor" name="a22" doxytag="PVRShell::PVRShellIsKeyPressed" ></a><p>
  409. <br><br><h3>PVRShellIsKeyPressed</h3><br><div>
  410. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  411. <tr>
  412. <td class="mdRow">
  413. <table cellpadding="0" cellspacing="0" border="0">
  414. <tr>
  415. <td class="md" nowrap valign="top"> bool PVRShell::PVRShellIsKeyPressed </td>
  416. <td class="md" valign="top">(&nbsp;</td>
  417. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a72">PVRShellKeyName</a>&nbsp;</td>
  418. <td class="mdname1" valign="top" nowrap> <em>key</em> </td>
  419. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  420. <td class="md" nowrap></td>
  421. </tr>
  422. </table>
  423. </td>
  424. </tr>
  425. </table>
  426. <table cellspacing=5 cellpadding=0 border=0>
  427. <tr>
  428. <td>
  429. &nbsp;
  430. </td>
  431. <td>
  432. <p>
  433. <dl compact><dt><b>Inputs:</b></dt><dd>
  434. <table border="0" cellspacing="2" cellpadding="0">
  435. <tr><td valign=top><em>key</em>&nbsp;</td><td>Code of the key to test </td></tr>
  436. </table>
  437. </dl>
  438. <dl compact><dt><b>Returns:</b></dt><dd>true if key was pressed </dd></dl>
  439. <dl compact><dt><b>Description:</b></dt><dd>Check if a key was pressed. The keys on various devices are mapped to the PVRShell-supported keys (listed in <em>PVRShellKeyName</em>) in a platform-dependent manner, since most platforms have different input devices. Check the SDK release notes for details on how the enum values map to your device's input device. </dd></dl>
  440. </td>
  441. </tr>
  442. </table>
  443. <a class="anchor" name="a20" doxytag="PVRShell::PVRShellOutputDebug" ></a><p>
  444. <br><br><h3>PVRShellOutputDebug</h3><br><div>
  445. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  446. <tr>
  447. <td class="mdRow">
  448. <table cellpadding="0" cellspacing="0" border="0">
  449. <tr>
  450. <td class="md" nowrap valign="top"> void PVRShell::PVRShellOutputDebug </td>
  451. <td class="md" valign="top">(&nbsp;</td>
  452. <td class="md" nowrap valign="top">char const *const&nbsp;</td>
  453. <td class="mdname" nowrap> <em>format</em>, </td>
  454. </tr>
  455. <tr>
  456. <td class="md" nowrap align="right"></td>
  457. <td></td>
  458. <td class="md" nowrap>...&nbsp;</td>
  459. <td class="mdname" nowrap></td>
  460. </tr>
  461. <tr>
  462. <td></td>
  463. <td class="md">)&nbsp;</td>
  464. <td class="md" colspan="2"> const</td>
  465. </tr>
  466. </table>
  467. </td>
  468. </tr>
  469. </table>
  470. <table cellspacing=5 cellpadding=0 border=0>
  471. <tr>
  472. <td>
  473. &nbsp;
  474. </td>
  475. <td>
  476. <p>
  477. <dl compact><dt><b>Inputs:</b></dt><dd>
  478. <table border="0" cellspacing="2" cellpadding="0">
  479. <tr><td valign=top><em>format</em>&nbsp;</td><td>printf style format followed by arguments it requires </td></tr>
  480. </table>
  481. </dl>
  482. <dl compact><dt><b>Description:</b></dt><dd>Writes the resultant string to the debug output (e.g. using printf(), OutputDebugString(), ...). Check the SDK release notes for details on how the string is output. </dd></dl>
  483. </td>
  484. </tr>
  485. </table>
  486. <p>
  487. Here is the call graph for this function:<p><center><img src="classPVRShell_a20_cgraph.png" border="0" usemap="#classPVRShell_a20_cgraph_map" alt=""></center>
  488. <map name="classPVRShell_a20_cgraph_map">
  489. <area href="classPVRShellInit.html#a30" shape="rect" coords="280,7,520,33" alt="">
  490. </map>
  491. <a class="anchor" name="a17" doxytag="PVRShell::PVRShellScreenCaptureBuffer" ></a><p>
  492. <br><br><h3>PVRShellScreenCaptureBuffer</h3><br><div>
  493. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  494. <tr>
  495. <td class="mdRow">
  496. <table cellpadding="0" cellspacing="0" border="0">
  497. <tr>
  498. <td class="md" nowrap valign="top"> bool PVRShell::PVRShellScreenCaptureBuffer </td>
  499. <td class="md" valign="top">(&nbsp;</td>
  500. <td class="md" nowrap valign="top">const int&nbsp;</td>
  501. <td class="mdname" nowrap> <em>Width</em>, </td>
  502. </tr>
  503. <tr>
  504. <td class="md" nowrap align="right"></td>
  505. <td></td>
  506. <td class="md" nowrap>const int&nbsp;</td>
  507. <td class="mdname" nowrap> <em>Height</em>, </td>
  508. </tr>
  509. <tr>
  510. <td class="md" nowrap align="right"></td>
  511. <td></td>
  512. <td class="md" nowrap>unsigned char **&nbsp;</td>
  513. <td class="mdname" nowrap> <em>pLines</em></td>
  514. </tr>
  515. <tr>
  516. <td></td>
  517. <td class="md">)&nbsp;</td>
  518. <td class="md" colspan="2"></td>
  519. </tr>
  520. </table>
  521. </td>
  522. </tr>
  523. </table>
  524. <table cellspacing=5 cellpadding=0 border=0>
  525. <tr>
  526. <td>
  527. &nbsp;
  528. </td>
  529. <td>
  530. <p>
  531. <dl compact><dt><b>Inputs:</b></dt><dd>
  532. <table border="0" cellspacing="2" cellpadding="0">
  533. <tr><td valign=top><em>Width</em>&nbsp;</td><td>size of image to capture (relative to 0,0) </td></tr>
  534. <tr><td valign=top><em>Height</em>&nbsp;</td><td>size of image to capture (relative to 0,0) </td></tr>
  535. </table>
  536. </dl>
  537. <dl compact><dt><b>Modified:</b></dt><dd>
  538. <table border="0" cellspacing="2" cellpadding="0">
  539. <tr><td valign=top><em>pLines</em>&nbsp;</td><td>receives a pointer to an area of memory containing the screen buffer. </td></tr>
  540. </table>
  541. </dl>
  542. <dl compact><dt><b>Returns:</b></dt><dd>true for success </dd></dl>
  543. <dl compact><dt><b>Description:</b></dt><dd>It will be stored as 24-bit per pixel, 8-bit per chanel RGB. The memory should be freed with free() when no longer needed. </dd></dl>
  544. </td>
  545. </tr>
  546. </table>
  547. <a class="anchor" name="a18" doxytag="PVRShell::PVRShellScreenSave" ></a><p>
  548. <br><br><h3>PVRShellScreenSave</h3><br><div>
  549. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  550. <tr>
  551. <td class="mdRow">
  552. <table cellpadding="0" cellspacing="0" border="0">
  553. <tr>
  554. <td class="md" nowrap valign="top"> int PVRShell::PVRShellScreenSave </td>
  555. <td class="md" valign="top">(&nbsp;</td>
  556. <td class="md" nowrap valign="top">const char *const&nbsp;</td>
  557. <td class="mdname" nowrap> <em>fname</em>, </td>
  558. </tr>
  559. <tr>
  560. <td class="md" nowrap align="right"></td>
  561. <td></td>
  562. <td class="md" nowrap>const unsigned char *const&nbsp;</td>
  563. <td class="mdname" nowrap> <em>pLines</em>, </td>
  564. </tr>
  565. <tr>
  566. <td class="md" nowrap align="right"></td>
  567. <td></td>
  568. <td class="md" nowrap>char *const&nbsp;</td>
  569. <td class="mdname" nowrap> <em>ofname</em> = NULL</td>
  570. </tr>
  571. <tr>
  572. <td></td>
  573. <td class="md">)&nbsp;</td>
  574. <td class="md" colspan="2"></td>
  575. </tr>
  576. </table>
  577. </td>
  578. </tr>
  579. </table>
  580. <table cellspacing=5 cellpadding=0 border=0>
  581. <tr>
  582. <td>
  583. &nbsp;
  584. </td>
  585. <td>
  586. <p>
  587. <dl compact><dt><b>Inputs:</b></dt><dd>
  588. <table border="0" cellspacing="2" cellpadding="0">
  589. <tr><td valign=top><em>fname</em>&nbsp;</td><td>base of file to save screen to </td></tr>
  590. </table>
  591. </dl>
  592. <dl compact><dt><b>Modified:</b></dt><dd>
  593. <table border="0" cellspacing="2" cellpadding="0">
  594. <tr><td valign=top><em>pLines</em>&nbsp;</td><td>image data to write out (24bpp, 8-bit per channel RGB) </td></tr>
  595. </table>
  596. </dl>
  597. <dl compact><dt><b>Outputs:</b></dt><dd>
  598. <table border="0" cellspacing="2" cellpadding="0">
  599. <tr><td valign=top><em>ofname</em>&nbsp;</td><td>If non-NULL, receives the filename actually used </td></tr>
  600. </table>
  601. </dl>
  602. <dl compact><dt><b>Returns:</b></dt><dd>true for success </dd></dl>
  603. <dl compact><dt><b>Description:</b></dt><dd>Writes out the image data to a BMP file with basename fname. The file written will be fname suffixed with a number to make the file unique. For example, if fname is "abc", this function will attempt to save to "abc0000.bmp"; if that file already exists, it will try "abc0001.bmp", repeating until a new filename is found. The final filename used is returned in ofname. </dd></dl>
  604. </td>
  605. </tr>
  606. </table>
  607. <a class="anchor" name="a11" doxytag="PVRShell::PVRShellSet" ></a><p>
  608. <br><br><h3>PVRShellSet</h3><br><div>
  609. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  610. <tr>
  611. <td class="mdRow">
  612. <table cellpadding="0" cellspacing="0" border="0">
  613. <tr>
  614. <td class="md" nowrap valign="top"> bool PVRShell::PVRShellSet </td>
  615. <td class="md" valign="top">(&nbsp;</td>
  616. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a79">prefNameConstPtrEnum</a>&nbsp;</td>
  617. <td class="mdname" nowrap> <em>prefName</em>, </td>
  618. </tr>
  619. <tr>
  620. <td class="md" nowrap align="right"></td>
  621. <td></td>
  622. <td class="md" nowrap>const void *const&nbsp;</td>
  623. <td class="mdname" nowrap> <em>ptrValue</em></td>
  624. </tr>
  625. <tr>
  626. <td></td>
  627. <td class="md">)&nbsp;</td>
  628. <td class="md" colspan="2"></td>
  629. </tr>
  630. </table>
  631. </td>
  632. </tr>
  633. </table>
  634. <table cellspacing=5 cellpadding=0 border=0>
  635. <tr>
  636. <td>
  637. &nbsp;
  638. </td>
  639. <td>
  640. <p>
  641. <dl compact><dt><b>Inputs:</b></dt><dd>
  642. <table border="0" cellspacing="2" cellpadding="0">
  643. <tr><td valign=top><em>prefName</em>&nbsp;</td><td>Name of preference to set to value </td></tr>
  644. <tr><td valign=top><em>ptrValue</em>&nbsp;</td><td>Value </td></tr>
  645. </table>
  646. </dl>
  647. <dl compact><dt><b>Returns:</b></dt><dd>true for success </dd></dl>
  648. <dl compact><dt><b>Description:</b></dt><dd>This function is used to pass preferences to the PVRShell. If used, it must be called from <a class="el" href="classPVRShell.html#a2">InitApplication()</a>. </dd></dl>
  649. </td>
  650. </tr>
  651. </table>
  652. <a class="anchor" name="a10" doxytag="PVRShell::PVRShellSet" ></a><p>
  653. <br><br><h3>PVRShellSet</h3><br><div>
  654. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  655. <tr>
  656. <td class="mdRow">
  657. <table cellpadding="0" cellspacing="0" border="0">
  658. <tr>
  659. <td class="md" nowrap valign="top"> bool PVRShell::PVRShellSet </td>
  660. <td class="md" valign="top">(&nbsp;</td>
  661. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a78">prefNamePtrEnum</a>&nbsp;</td>
  662. <td class="mdname" nowrap> <em>prefName</em>, </td>
  663. </tr>
  664. <tr>
  665. <td class="md" nowrap align="right"></td>
  666. <td></td>
  667. <td class="md" nowrap>const void *const&nbsp;</td>
  668. <td class="mdname" nowrap> <em>ptrValue</em></td>
  669. </tr>
  670. <tr>
  671. <td></td>
  672. <td class="md">)&nbsp;</td>
  673. <td class="md" colspan="2"></td>
  674. </tr>
  675. </table>
  676. </td>
  677. </tr>
  678. </table>
  679. <table cellspacing=5 cellpadding=0 border=0>
  680. <tr>
  681. <td>
  682. &nbsp;
  683. </td>
  684. <td>
  685. <p>
  686. <dl compact><dt><b>Inputs:</b></dt><dd>
  687. <table border="0" cellspacing="2" cellpadding="0">
  688. <tr><td valign=top><em>prefName</em>&nbsp;</td><td>Name of preference to set to value </td></tr>
  689. <tr><td valign=top><em>ptrValue</em>&nbsp;</td><td>Value </td></tr>
  690. </table>
  691. </dl>
  692. <dl compact><dt><b>Returns:</b></dt><dd>true for success </dd></dl>
  693. <dl compact><dt><b>Description:</b></dt><dd>This function is used to pass preferences to the PVRShell. If used, it must be called from <a class="el" href="classPVRShell.html#a2">InitApplication()</a>. </dd></dl>
  694. </td>
  695. </tr>
  696. </table>
  697. <p>
  698. Here is the call graph for this function:<p><center><img src="classPVRShell_a10_cgraph.png" border="0" usemap="#classPVRShell_a10_cgraph_map" alt=""></center>
  699. <map name="classPVRShell_a10_cgraph_map">
  700. <area href="classPVRShellInit.html#a37" shape="rect" coords="277,7,424,34" alt="">
  701. <area href="classPVRShellInit.html#a26" shape="rect" coords="221,58,480,84" alt="">
  702. </map>
  703. <a class="anchor" name="a9" doxytag="PVRShell::PVRShellSet" ></a><p>
  704. <br><br><h3>PVRShellSet</h3><br><div>
  705. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  706. <tr>
  707. <td class="mdRow">
  708. <table cellpadding="0" cellspacing="0" border="0">
  709. <tr>
  710. <td class="md" nowrap valign="top"> bool PVRShell::PVRShellSet </td>
  711. <td class="md" valign="top">(&nbsp;</td>
  712. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a77">prefNameIntEnum</a>&nbsp;</td>
  713. <td class="mdname" nowrap> <em>prefName</em>, </td>
  714. </tr>
  715. <tr>
  716. <td class="md" nowrap align="right"></td>
  717. <td></td>
  718. <td class="md" nowrap>const int&nbsp;</td>
  719. <td class="mdname" nowrap> <em>value</em></td>
  720. </tr>
  721. <tr>
  722. <td></td>
  723. <td class="md">)&nbsp;</td>
  724. <td class="md" colspan="2"></td>
  725. </tr>
  726. </table>
  727. </td>
  728. </tr>
  729. </table>
  730. <table cellspacing=5 cellpadding=0 border=0>
  731. <tr>
  732. <td>
  733. &nbsp;
  734. </td>
  735. <td>
  736. <p>
  737. <dl compact><dt><b>Inputs:</b></dt><dd>
  738. <table border="0" cellspacing="2" cellpadding="0">
  739. <tr><td valign=top><em>prefName</em>&nbsp;</td><td>Name of preference to set to value </td></tr>
  740. <tr><td valign=top><em>value</em>&nbsp;</td><td>Value </td></tr>
  741. </table>
  742. </dl>
  743. <dl compact><dt><b>Returns:</b></dt><dd>true for success </dd></dl>
  744. <dl compact><dt><b>Description:</b></dt><dd>This function is used to pass preferences to the PVRShell. If used, it must be called from <a class="el" href="classPVRShell.html#a2">InitApplication()</a>. </dd></dl>
  745. </td>
  746. </tr>
  747. </table>
  748. <a class="anchor" name="a8" doxytag="PVRShell::PVRShellSet" ></a><p>
  749. <br><br><h3>PVRShellSet</h3><br><div>
  750. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  751. <tr>
  752. <td class="mdRow">
  753. <table cellpadding="0" cellspacing="0" border="0">
  754. <tr>
  755. <td class="md" nowrap valign="top"> bool PVRShell::PVRShellSet </td>
  756. <td class="md" valign="top">(&nbsp;</td>
  757. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a76">prefNameFloatEnum</a>&nbsp;</td>
  758. <td class="mdname" nowrap> <em>prefName</em>, </td>
  759. </tr>
  760. <tr>
  761. <td class="md" nowrap align="right"></td>
  762. <td></td>
  763. <td class="md" nowrap>const float&nbsp;</td>
  764. <td class="mdname" nowrap> <em>value</em></td>
  765. </tr>
  766. <tr>
  767. <td></td>
  768. <td class="md">)&nbsp;</td>
  769. <td class="md" colspan="2"></td>
  770. </tr>
  771. </table>
  772. </td>
  773. </tr>
  774. </table>
  775. <table cellspacing=5 cellpadding=0 border=0>
  776. <tr>
  777. <td>
  778. &nbsp;
  779. </td>
  780. <td>
  781. <p>
  782. <dl compact><dt><b>Inputs:</b></dt><dd>
  783. <table border="0" cellspacing="2" cellpadding="0">
  784. <tr><td valign=top><em>prefName</em>&nbsp;</td><td>Name of preference to set to value </td></tr>
  785. <tr><td valign=top><em>value</em>&nbsp;</td><td>Value </td></tr>
  786. </table>
  787. </dl>
  788. <dl compact><dt><b>Returns:</b></dt><dd>true for success </dd></dl>
  789. <dl compact><dt><b>Description:</b></dt><dd>This function is used to pass preferences to the PVRShell. If used, it must be called from <a class="el" href="classPVRShell.html#a2">InitApplication()</a>. </dd></dl>
  790. </td>
  791. </tr>
  792. </table>
  793. <a class="anchor" name="a7" doxytag="PVRShell::PVRShellSet" ></a><p>
  794. <br><br><h3>PVRShellSet</h3><br><div>
  795. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  796. <tr>
  797. <td class="mdRow">
  798. <table cellpadding="0" cellspacing="0" border="0">
  799. <tr>
  800. <td class="md" nowrap valign="top"> bool PVRShell::PVRShellSet </td>
  801. <td class="md" valign="top">(&nbsp;</td>
  802. <td class="md" nowrap valign="top">const <a class="el" href="PVRShell_8h.html#a75">prefNameBoolEnum</a>&nbsp;</td>
  803. <td class="mdname" nowrap> <em>prefName</em>, </td>
  804. </tr>
  805. <tr>
  806. <td class="md" nowrap align="right"></td>
  807. <td></td>
  808. <td class="md" nowrap>const bool&nbsp;</td>
  809. <td class="mdname" nowrap> <em>value</em></td>
  810. </tr>
  811. <tr>
  812. <td></td>
  813. <td class="md">)&nbsp;</td>
  814. <td class="md" colspan="2"></td>
  815. </tr>
  816. </table>
  817. </td>
  818. </tr>
  819. </table>
  820. <table cellspacing=5 cellpadding=0 border=0>
  821. <tr>
  822. <td>
  823. &nbsp;
  824. </td>
  825. <td>
  826. <p>
  827. <dl compact><dt><b>Inputs:</b></dt><dd>
  828. <table border="0" cellspacing="2" cellpadding="0">
  829. <tr><td valign=top><em>prefName</em>&nbsp;</td><td>Name of preference to set to value </td></tr>
  830. <tr><td valign=top><em>value</em>&nbsp;</td><td>Value </td></tr>
  831. </table>
  832. </dl>
  833. <dl compact><dt><b>Returns:</b></dt><dd>true for success </dd></dl>
  834. <dl compact><dt><b>Description:</b></dt><dd>This function is used to pass preferences to the PVRShell. If used, it must be called from <a class="el" href="classPVRShell.html#a2">InitApplication()</a>. </dd></dl>
  835. </td>
  836. </tr>
  837. </table>
  838. <a class="anchor" name="a19" doxytag="PVRShell::PVRShellWriteBMPFile" ></a><p>
  839. <br><br><h3>PVRShellWriteBMPFile</h3><br><div>
  840. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  841. <tr>
  842. <td class="mdRow">
  843. <table cellpadding="0" cellspacing="0" border="0">
  844. <tr>
  845. <td class="md" nowrap valign="top"> int PVRShell::PVRShellWriteBMPFile </td>
  846. <td class="md" valign="top">(&nbsp;</td>
  847. <td class="md" nowrap valign="top">const char *const&nbsp;</td>
  848. <td class="mdname" nowrap> <em>pszFilename</em>, </td>
  849. </tr>
  850. <tr>
  851. <td class="md" nowrap align="right"></td>
  852. <td></td>
  853. <td class="md" nowrap>const unsigned long&nbsp;</td>
  854. <td class="mdname" nowrap> <em>uWidth</em>, </td>
  855. </tr>
  856. <tr>
  857. <td class="md" nowrap align="right"></td>
  858. <td></td>
  859. <td class="md" nowrap>const unsigned long&nbsp;</td>
  860. <td class="mdname" nowrap> <em>uHeight</em>, </td>
  861. </tr>
  862. <tr>
  863. <td class="md" nowrap align="right"></td>
  864. <td></td>
  865. <td class="md" nowrap>const void *const&nbsp;</td>
  866. <td class="mdname" nowrap> <em>pImageData</em></td>
  867. </tr>
  868. <tr>
  869. <td></td>
  870. <td class="md">)&nbsp;</td>
  871. <td class="md" colspan="2"></td>
  872. </tr>
  873. </table>
  874. </td>
  875. </tr>
  876. </table>
  877. <table cellspacing=5 cellpadding=0 border=0>
  878. <tr>
  879. <td>
  880. &nbsp;
  881. </td>
  882. <td>
  883. <p>
  884. <dl compact><dt><b>Inputs:</b></dt><dd>
  885. <table border="0" cellspacing="2" cellpadding="0">
  886. <tr><td valign=top><em>pszFilename</em>&nbsp;</td><td>file to save screen to </td></tr>
  887. <tr><td valign=top><em>uWidth</em>&nbsp;</td><td>the width of the data </td></tr>
  888. <tr><td valign=top><em>uHeight</em>&nbsp;</td><td>the height of the data </td></tr>
  889. <tr><td valign=top><em>pImageData</em>&nbsp;</td><td>image data to write out (24bpp, 8-bit per channel RGB) </td></tr>
  890. </table>
  891. </dl>
  892. <dl compact><dt><b>Returns:</b></dt><dd>0 on success </dd></dl>
  893. <dl compact><dt><b>Description:</b></dt><dd>Writes out the image data to a BMP file with name fname. </dd></dl>
  894. </td>
  895. </tr>
  896. </table>
  897. <a class="anchor" name="a3" doxytag="PVRShell::QuitApplication" ></a><p>
  898. <br><br><h3>QuitApplication</h3><br><div>
  899. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  900. <tr>
  901. <td class="mdRow">
  902. <table cellpadding="0" cellspacing="0" border="0">
  903. <tr>
  904. <td class="md" nowrap valign="top"> virtual bool PVRShell::QuitApplication </td>
  905. <td class="md" valign="top">(&nbsp;</td>
  906. <td class="mdname1" valign="top" nowrap> </td>
  907. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  908. <td class="md" nowrap><code> [inline, virtual]</code></td>
  909. </tr>
  910. </table>
  911. </td>
  912. </tr>
  913. </table>
  914. <table cellspacing=5 cellpadding=0 border=0>
  915. <tr>
  916. <td>
  917. &nbsp;
  918. </td>
  919. <td>
  920. <p>
  921. <dl compact><dt><b>Returns:</b></dt><dd>true for success, false to exit the application </dd></dl>
  922. <dl compact><dt><b>Description:</b></dt><dd>This function can be overloaded by the application. It will be called by PVRShell just before finishing the program. It enables the application to release any memory/resources acquired in <a class="el" href="classPVRShell.html#a2">InitApplication()</a>. </dd></dl>
  923. </td>
  924. </tr>
  925. </table>
  926. <a class="anchor" name="a5" doxytag="PVRShell::ReleaseView" ></a><p>
  927. <br><br><h3>ReleaseView</h3><br><div>
  928. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  929. <tr>
  930. <td class="mdRow">
  931. <table cellpadding="0" cellspacing="0" border="0">
  932. <tr>
  933. <td class="md" nowrap valign="top"> virtual bool PVRShell::ReleaseView </td>
  934. <td class="md" valign="top">(&nbsp;</td>
  935. <td class="mdname1" valign="top" nowrap> </td>
  936. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  937. <td class="md" nowrap><code> [inline, virtual]</code></td>
  938. </tr>
  939. </table>
  940. </td>
  941. </tr>
  942. </table>
  943. <table cellspacing=5 cellpadding=0 border=0>
  944. <tr>
  945. <td>
  946. &nbsp;
  947. </td>
  948. <td>
  949. <p>
  950. <dl compact><dt><b>Returns:</b></dt><dd>true for success, false to exit the application </dd></dl>
  951. <dl compact><dt><b>Description:</b></dt><dd>This function can be overloaded by the application. It will be called after the <a class="el" href="classPVRShell.html#a6">RenderScene()</a> loop, before shutting down the render API. It enables the application to release any memory/resources acquired in <a class="el" href="classPVRShell.html#a4">InitView()</a>. </dd></dl>
  952. </td>
  953. </tr>
  954. </table>
  955. <a class="anchor" name="a6" doxytag="PVRShell::RenderScene" ></a><p>
  956. <br><br><h3>RenderScene</h3><br><div>
  957. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  958. <tr>
  959. <td class="mdRow">
  960. <table cellpadding="0" cellspacing="0" border="0">
  961. <tr>
  962. <td class="md" nowrap valign="top"> virtual bool PVRShell::RenderScene </td>
  963. <td class="md" valign="top">(&nbsp;</td>
  964. <td class="mdname1" valign="top" nowrap> </td>
  965. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  966. <td class="md" nowrap><code> [inline, virtual]</code></td>
  967. </tr>
  968. </table>
  969. </td>
  970. </tr>
  971. </table>
  972. <table cellspacing=5 cellpadding=0 border=0>
  973. <tr>
  974. <td>
  975. &nbsp;
  976. </td>
  977. <td>
  978. <p>
  979. <dl compact><dt><b>Returns:</b></dt><dd>true for success, false to exit the application </dd></dl>
  980. <dl compact><dt><b>Description:</b></dt><dd>This function can be overloaded by the application. It is main application function in which you have to do your own rendering. Will be called repeatedly until the application exits. </dd></dl>
  981. </td>
  982. </tr>
  983. </table>
  984. <hr><h2>Friends And Related Function Documentation</h2>
  985. <a class="anchor" name="n1" doxytag="PVRShell::PVRShellInit" ></a><p>
  986. <br><br><h3>PVRShellInit</h3><br><div>
  987. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  988. <tr>
  989. <td class="mdRow">
  990. <table cellpadding="0" cellspacing="0" border="0">
  991. <tr>
  992. <td class="md" nowrap valign="top"> friend class <a class="el" href="classPVRShellInit.html">PVRShellInit</a><code> [friend]</code>
  993. </table>
  994. </td>
  995. </tr>
  996. </table>
  997. <table cellspacing=5 cellpadding=0 border=0>
  998. <tr>
  999. <td>
  1000. &nbsp;
  1001. </td>
  1002. <td>
  1003. <p>
  1004. </td>
  1005. </tr>
  1006. </table>
  1007. <a class="anchor" name="n0" doxytag="PVRShell::PVRShellInitOS" ></a><p>
  1008. <br><br><h3>PVRShellInitOS</h3><br><div>
  1009. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  1010. <tr>
  1011. <td class="mdRow">
  1012. <table cellpadding="0" cellspacing="0" border="0">
  1013. <tr>
  1014. <td class="md" nowrap valign="top"> friend class <a class="el" href="classPVRShellInitOS.html">PVRShellInitOS</a><code> [friend]</code>
  1015. </table>
  1016. </td>
  1017. </tr>
  1018. </table>
  1019. <table cellspacing=5 cellpadding=0 border=0>
  1020. <tr>
  1021. <td>
  1022. &nbsp;
  1023. </td>
  1024. <td>
  1025. <p>
  1026. </td>
  1027. </tr>
  1028. </table>
  1029. <hr>The documentation for this class was generated from the following files:<ul>
  1030. <li><a class="el" href="PVRShell_8h-source.html">PVRShell.h</a><li><a class="el" href="PVRShellOS_8cpp.html">PVRShellOS.cpp</a><li><a class="el" href="PVRShell_8cpp.html">PVRShell.cpp</a></ul>
  1031. <br>
  1032. <br>
  1033. <P align=left><FONT size=2><STRONG><A
  1034. href="http://www.imgtec.com/powervr/insider/legal/index.asp">Copyright</A> ©
  1035. 1999-2008, Imagination Technologies Ltd.</STRONG></FONT></P>
  1036. <hr>
  1037. <address style="align: left;"><small><FONT color=f0f>
  1038. Generated by <a href="http://www.doxygen.org/index.html">DOXYGEN</a> 1.3.6</small></address>
  1039. </body>
  1040. </html>