gosu 0.7.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. data/COPYING.txt +29 -0
  2. data/Gosu/Async.hpp +48 -0
  3. data/Gosu/Audio.hpp +145 -0
  4. data/Gosu/AutoLink.hpp +16 -0
  5. data/Gosu/Bitmap.hpp +85 -0
  6. data/Gosu/ButtonsMac.hpp +114 -0
  7. data/Gosu/ButtonsWin.hpp +111 -0
  8. data/Gosu/ButtonsX.hpp +115 -0
  9. data/Gosu/Color.hpp +172 -0
  10. data/Gosu/Directories.hpp +36 -0
  11. data/Gosu/Font.hpp +59 -0
  12. data/Gosu/Fwd.hpp +31 -0
  13. data/Gosu/Gosu.hpp +26 -0
  14. data/Gosu/Graphics.hpp +86 -0
  15. data/Gosu/GraphicsBase.hpp +45 -0
  16. data/Gosu/IO.hpp +255 -0
  17. data/Gosu/Image.hpp +148 -0
  18. data/Gosu/ImageData.hpp +45 -0
  19. data/Gosu/Input.hpp +116 -0
  20. data/Gosu/Math.hpp +95 -0
  21. data/Gosu/Platform.hpp +61 -0
  22. data/Gosu/RotFlip.hpp +116 -0
  23. data/Gosu/Sockets.hpp +129 -0
  24. data/Gosu/Text.hpp +47 -0
  25. data/Gosu/TextInput.hpp +57 -0
  26. data/Gosu/Timing.hpp +16 -0
  27. data/Gosu/Utility.hpp +24 -0
  28. data/Gosu/WinUtility.hpp +76 -0
  29. data/Gosu/Window.hpp +84 -0
  30. data/GosuImpl/Async.cpp +37 -0
  31. data/GosuImpl/AudioFmod.cpp +417 -0
  32. data/GosuImpl/AudioSDL.cpp +255 -0
  33. data/GosuImpl/DirectoriesMac.mm +38 -0
  34. data/GosuImpl/DirectoriesUnix.cpp +48 -0
  35. data/GosuImpl/DirectoriesWin.cpp +42 -0
  36. data/GosuImpl/FileUnix.cpp +100 -0
  37. data/GosuImpl/FileWin.cpp +83 -0
  38. data/GosuImpl/Graphics/Bitmap.cpp +116 -0
  39. data/GosuImpl/Graphics/BitmapBMP.cpp +232 -0
  40. data/GosuImpl/Graphics/BitmapColorKey.cpp +39 -0
  41. data/GosuImpl/Graphics/BitmapPNG.cpp +276 -0
  42. data/GosuImpl/Graphics/BitmapUtils.cpp +67 -0
  43. data/GosuImpl/Graphics/BlockAllocator.cpp +127 -0
  44. data/GosuImpl/Graphics/BlockAllocator.hpp +34 -0
  45. data/GosuImpl/Graphics/Color.cpp +126 -0
  46. data/GosuImpl/Graphics/Common.hpp +21 -0
  47. data/GosuImpl/Graphics/DrawOp.hpp +154 -0
  48. data/GosuImpl/Graphics/Font.cpp +110 -0
  49. data/GosuImpl/Graphics/Graphics.cpp +295 -0
  50. data/GosuImpl/Graphics/Image.cpp +159 -0
  51. data/GosuImpl/Graphics/LargeImageData.cpp +115 -0
  52. data/GosuImpl/Graphics/LargeImageData.hpp +37 -0
  53. data/GosuImpl/Graphics/RotFlip.cpp +184 -0
  54. data/GosuImpl/Graphics/TexChunk.cpp +77 -0
  55. data/GosuImpl/Graphics/TexChunk.hpp +40 -0
  56. data/GosuImpl/Graphics/Text.cpp +223 -0
  57. data/GosuImpl/Graphics/TextMac.cpp +242 -0
  58. data/GosuImpl/Graphics/TextPangoFT.cpp +186 -0
  59. data/GosuImpl/Graphics/TextWin.cpp +172 -0
  60. data/GosuImpl/Graphics/Texture.cpp +104 -0
  61. data/GosuImpl/Graphics/Texture.hpp +34 -0
  62. data/GosuImpl/IO.cpp +48 -0
  63. data/GosuImpl/InputMac.mm +677 -0
  64. data/GosuImpl/InputWin.cpp +444 -0
  65. data/GosuImpl/InputX.cpp +158 -0
  66. data/GosuImpl/MacUtility.hpp +48 -0
  67. data/GosuImpl/Math.cpp +49 -0
  68. data/GosuImpl/RubyGosu.swg +474 -0
  69. data/GosuImpl/RubyGosuStub.mm +17 -0
  70. data/GosuImpl/RubyGosu_DllMain.cxx +30 -0
  71. data/GosuImpl/RubyGosu_wrap.cxx +8521 -0
  72. data/GosuImpl/RubyGosu_wrap.h +31 -0
  73. data/GosuImpl/Sockets/CommSocket.cpp +304 -0
  74. data/GosuImpl/Sockets/ListenerSocket.cpp +60 -0
  75. data/GosuImpl/Sockets/MessageSocket.cpp +136 -0
  76. data/GosuImpl/Sockets/Socket.cpp +145 -0
  77. data/GosuImpl/Sockets/Sockets.hpp +66 -0
  78. data/GosuImpl/TextInputMac.mm +207 -0
  79. data/GosuImpl/TextInputWin.cpp +197 -0
  80. data/GosuImpl/TextInputX.cpp +201 -0
  81. data/GosuImpl/TextTTFWin.cpp +247 -0
  82. data/GosuImpl/TimingUnix.cpp +17 -0
  83. data/GosuImpl/TimingWin.cpp +28 -0
  84. data/GosuImpl/Utility.cpp +140 -0
  85. data/GosuImpl/WinMain.cpp +69 -0
  86. data/GosuImpl/WinUtility.cpp +137 -0
  87. data/GosuImpl/WindowMac.mm +466 -0
  88. data/GosuImpl/WindowWin.cpp +447 -0
  89. data/GosuImpl/WindowX.cpp +392 -0
  90. data/GosuImpl/X11vroot.h +118 -0
  91. data/README.txt +13 -0
  92. data/Rakefile +178 -0
  93. data/examples/ChipmunkIntegration.rb +275 -0
  94. data/examples/CptnRuby.rb +231 -0
  95. data/examples/MoreChipmunkAndRMagick.rb +155 -0
  96. data/examples/OpenGLIntegration.rb +232 -0
  97. data/examples/RMagickIntegration.rb +449 -0
  98. data/examples/TextInput.cpp +170 -0
  99. data/examples/TextInput.rb +139 -0
  100. data/examples/Tutorial.cpp +215 -0
  101. data/examples/Tutorial.rb +137 -0
  102. data/examples/media/Beep.wav +0 -0
  103. data/examples/media/CptnRuby Gem.png +0 -0
  104. data/examples/media/CptnRuby Map.txt +25 -0
  105. data/examples/media/CptnRuby Tileset.png +0 -0
  106. data/examples/media/CptnRuby.png +0 -0
  107. data/examples/media/Cursor.png +0 -0
  108. data/examples/media/Earth.png +0 -0
  109. data/examples/media/Explosion.wav +0 -0
  110. data/examples/media/LargeStar.png +0 -0
  111. data/examples/media/Sky.jpg +0 -0
  112. data/examples/media/Smoke.png +0 -0
  113. data/examples/media/Soldier.png +0 -0
  114. data/examples/media/Space.png +0 -0
  115. data/examples/media/Star.png +0 -0
  116. data/examples/media/Starfighter.bmp +0 -0
  117. data/linux/Makefile.in +98 -0
  118. data/linux/configure +5658 -0
  119. data/linux/configure.ac +126 -0
  120. data/linux/extconf.rb +11 -0
  121. data/mac/English.lproj/InfoPlist.strings +0 -0
  122. data/mac/Gosu-Info.plist +26 -0
  123. data/mac/Gosu.xcodeproj/project.pbxproj +1194 -0
  124. data/mac/RubyGosu Template-Info.plist +26 -0
  125. data/mac/libboost_thread_1_34_1_universal.a +0 -0
  126. data/mac/libboost_thread_d_1_34_1_universal.a +0 -0
  127. data/mac/libfmod_universal.a +0 -0
  128. data/mac/libpng_universal.a +0 -0
  129. data/mac/libz_universal.a +0 -0
  130. data/reference/Async_8hpp-source.html +70 -0
  131. data/reference/Audio_8hpp-source.html +114 -0
  132. data/reference/Audio_8hpp.html +50 -0
  133. data/reference/AutoLink_8hpp-source.html +38 -0
  134. data/reference/AutoLink_8hpp.html +34 -0
  135. data/reference/Bitmap_8hpp-source.html +85 -0
  136. data/reference/Bitmap_8hpp.html +58 -0
  137. data/reference/ButtonsMac_8hpp-source.html +133 -0
  138. data/reference/ButtonsWin_8hpp-source.html +133 -0
  139. data/reference/ButtonsX_8hpp-source.html +134 -0
  140. data/reference/Color_8hpp-source.html +169 -0
  141. data/reference/Color_8hpp.html +85 -0
  142. data/reference/Directories_8hpp-source.html +42 -0
  143. data/reference/Directories_8hpp.html +46 -0
  144. data/reference/Font_8hpp-source.html +65 -0
  145. data/reference/Font_8hpp.html +41 -0
  146. data/reference/Fwd_8hpp-source.html +52 -0
  147. data/reference/Fwd_8hpp.html +37 -0
  148. data/reference/Gosu_8hpp-source.html +48 -0
  149. data/reference/Gosu_8hpp.html +34 -0
  150. data/reference/GraphicsBase_8hpp-source.html +57 -0
  151. data/reference/GraphicsBase_8hpp.html +56 -0
  152. data/reference/Graphics_8hpp-source.html +96 -0
  153. data/reference/Graphics_8hpp.html +53 -0
  154. data/reference/IO_8hpp-source.html +255 -0
  155. data/reference/IO_8hpp.html +74 -0
  156. data/reference/ImageData_8hpp-source.html +62 -0
  157. data/reference/ImageData_8hpp.html +43 -0
  158. data/reference/Image_8hpp-source.html +126 -0
  159. data/reference/Image_8hpp.html +48 -0
  160. data/reference/Input_8hpp-source.html +118 -0
  161. data/reference/Input_8hpp.html +50 -0
  162. data/reference/Math_8hpp-source.html +92 -0
  163. data/reference/Math_8hpp.html +74 -0
  164. data/reference/Platform_8hpp-source.html +83 -0
  165. data/reference/Platform_8hpp.html +73 -0
  166. data/reference/RotFlip_8hpp-source.html +138 -0
  167. data/reference/RotFlip_8hpp.html +77 -0
  168. data/reference/Sockets_8hpp-source.html +130 -0
  169. data/reference/Sockets_8hpp.html +66 -0
  170. data/reference/TextInput_8hpp-source.html +64 -0
  171. data/reference/TextInput_8hpp.html +41 -0
  172. data/reference/Text_8hpp-source.html +51 -0
  173. data/reference/Text_8hpp.html +46 -0
  174. data/reference/Timing_8hpp-source.html +36 -0
  175. data/reference/Timing_8hpp.html +42 -0
  176. data/reference/Utility_8hpp-source.html +44 -0
  177. data/reference/Utility_8hpp.html +48 -0
  178. data/reference/WinUtility_8hpp-source.html +79 -0
  179. data/reference/WinUtility_8hpp.html +64 -0
  180. data/reference/Window_8hpp-source.html +91 -0
  181. data/reference/Window_8hpp.html +41 -0
  182. data/reference/annotated.html +51 -0
  183. data/reference/classGosu_1_1Audio-members.html +34 -0
  184. data/reference/classGosu_1_1Audio.html +46 -0
  185. data/reference/classGosu_1_1Bitmap-members.html +44 -0
  186. data/reference/classGosu_1_1Bitmap.html +263 -0
  187. data/reference/classGosu_1_1Buffer-members.html +44 -0
  188. data/reference/classGosu_1_1Buffer.html +78 -0
  189. data/reference/classGosu_1_1Buffer.png +0 -0
  190. data/reference/classGosu_1_1Button-members.html +36 -0
  191. data/reference/classGosu_1_1Button.html +143 -0
  192. data/reference/classGosu_1_1Color-members.html +56 -0
  193. data/reference/classGosu_1_1Color.html +387 -0
  194. data/reference/classGosu_1_1File-members.html +41 -0
  195. data/reference/classGosu_1_1File.html +69 -0
  196. data/reference/classGosu_1_1File.png +0 -0
  197. data/reference/classGosu_1_1Font-members.html +39 -0
  198. data/reference/classGosu_1_1Font.html +309 -0
  199. data/reference/classGosu_1_1Graphics-members.html +50 -0
  200. data/reference/classGosu_1_1Graphics.html +234 -0
  201. data/reference/classGosu_1_1Image-members.html +45 -0
  202. data/reference/classGosu_1_1Image.html +518 -0
  203. data/reference/classGosu_1_1ImageData-members.html +37 -0
  204. data/reference/classGosu_1_1ImageData.html +60 -0
  205. data/reference/classGosu_1_1Input-members.html +44 -0
  206. data/reference/classGosu_1_1Input.html +223 -0
  207. data/reference/classGosu_1_1MessageSocket-members.html +40 -0
  208. data/reference/classGosu_1_1MessageSocket.html +233 -0
  209. data/reference/classGosu_1_1Resource-members.html +39 -0
  210. data/reference/classGosu_1_1Resource.html +116 -0
  211. data/reference/classGosu_1_1Resource.png +0 -0
  212. data/reference/classGosu_1_1Sample-members.html +37 -0
  213. data/reference/classGosu_1_1Sample.html +200 -0
  214. data/reference/classGosu_1_1SampleInstance-members.html +38 -0
  215. data/reference/classGosu_1_1SampleInstance.html +169 -0
  216. data/reference/classGosu_1_1Song-members.html +43 -0
  217. data/reference/classGosu_1_1Song.html +260 -0
  218. data/reference/classGosu_1_1TextInput-members.html +38 -0
  219. data/reference/classGosu_1_1TextInput.html +121 -0
  220. data/reference/classGosu_1_1Window-members.html +50 -0
  221. data/reference/classGosu_1_1Window.html +271 -0
  222. data/reference/doxyfile +233 -0
  223. data/reference/doxygen.css +433 -0
  224. data/reference/doxygen.png +0 -0
  225. data/reference/files.html +54 -0
  226. data/reference/functions.html +236 -0
  227. data/reference/functions_enum.html +45 -0
  228. data/reference/functions_func.html +227 -0
  229. data/reference/functions_vars.html +47 -0
  230. data/reference/hierarchy.html +53 -0
  231. data/reference/index.html +26 -0
  232. data/reference/namespaceGosu.html +2890 -0
  233. data/reference/namespaceGosu_1_1Colors.html +70 -0
  234. data/reference/namespaceGosu_1_1Win.html +275 -0
  235. data/reference/namespacemembers.html +216 -0
  236. data/reference/namespacemembers_enum.html +52 -0
  237. data/reference/namespacemembers_eval.html +54 -0
  238. data/reference/namespacemembers_func.html +185 -0
  239. data/reference/namespacemembers_type.html +46 -0
  240. data/reference/namespacemembers_vars.html +46 -0
  241. data/reference/namespaces.html +35 -0
  242. data/reference/tab_b.gif +0 -0
  243. data/reference/tab_l.gif +0 -0
  244. data/reference/tab_r.gif +0 -0
  245. data/reference/tabs.css +102 -0
  246. data/windows/Gosu.sln +29 -0
  247. data/windows/Gosu.vcproj +553 -0
  248. data/windows/RubyGosu.vcproj +138 -0
  249. metadata +305 -0
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
+ <title>Gosu: GraphicsBase.hpp Source File</title>
4
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
5
+ <link href="tabs.css" rel="stylesheet" type="text/css">
6
+ </head><body>
7
+ <!-- Generated by Doxygen 1.5.5 -->
8
+ <div class="navigation" id="top">
9
+ <div class="tabs">
10
+ <ul>
11
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
+ <li><a href="annotated.html"><span>Classes</span></a></li>
14
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
15
+ </ul>
16
+ </div>
17
+ <h1>GraphicsBase.hpp</h1><a href="GraphicsBase_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
18
+ <a name="l00002"></a>00002
19
+ <a name="l00003"></a>00003
20
+ <a name="l00004"></a>00004 <span class="preprocessor">#ifndef GOSU_GRAPHICSBASE_HPP</span>
21
+ <a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_GRAPHICSBASE_HPP</span>
22
+ <a name="l00006"></a>00006 <span class="preprocessor"></span>
23
+ <a name="l00007"></a>00007 <span class="preprocessor">#include &lt;boost/cstdint.hpp&gt;</span>
24
+ <a name="l00008"></a>00008
25
+ <a name="l00009"></a>00009 <span class="keyword">namespace </span>Gosu
26
+ <a name="l00010"></a>00010 {
27
+ <a name="l00014"></a><a class="code" href="namespaceGosu.html#a2fd8fe9574c0ad3fd52557cb160be49">00014</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#a2fd8fe9574c0ad3fd52557cb160be49" title="Represents the Z position of something drawn with Gosu&amp;#39;s graphics system.">ZPos</a>;
28
+ <a name="l00015"></a>00015
29
+ <a name="l00018"></a><a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9">00018</a> <span class="keyword">enum</span> <a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9" title="Determines the way colors are combined when one is drawn onto another.">AlphaMode</a>
30
+ <a name="l00019"></a>00019 {
31
+ <a name="l00022"></a><a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9d1661cf5d3ba68fcbdca99f9dcc832e0">00022</a> <a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9d1661cf5d3ba68fcbdca99f9dcc832e0" title="The color&amp;#39;s channels will be interpolated.">amDefault</a>,
32
+ <a name="l00026"></a><a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda90032d35b3c2b35d16d3c59b6471c570b">00026</a> <a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda90032d35b3c2b35d16d3c59b6471c570b" title="The colors&amp;#39; channels will be added.">amAdditive</a>
33
+ <a name="l00027"></a>00027 };
34
+ <a name="l00028"></a>00028
35
+ <a name="l00029"></a>00029 <span class="keyword">enum</span> FontFlags
36
+ <a name="l00030"></a>00030 {
37
+ <a name="l00031"></a>00031 ffBold = 1,
38
+ <a name="l00032"></a>00032 ffItalic = 2,
39
+ <a name="l00033"></a>00033 ffUnderline = 4
40
+ <a name="l00034"></a>00034 };
41
+ <a name="l00035"></a>00035
42
+ <a name="l00036"></a>00036 <span class="keyword">enum</span> TextAlign
43
+ <a name="l00037"></a>00037 {
44
+ <a name="l00038"></a>00038 taLeft,
45
+ <a name="l00039"></a>00039 taRight,
46
+ <a name="l00040"></a>00040 taCenter,
47
+ <a name="l00041"></a>00041 taJustify
48
+ <a name="l00042"></a>00042 };
49
+ <a name="l00043"></a>00043 }
50
+ <a name="l00044"></a>00044
51
+ <a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
52
+ </pre></div></div>
53
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
54
+ <a href="http://www.doxygen.org/index.html">
55
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
56
+ </body>
57
+ </html>
@@ -0,0 +1,56 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
+ <title>Gosu: GraphicsBase.hpp File Reference</title>
4
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
5
+ <link href="tabs.css" rel="stylesheet" type="text/css">
6
+ </head><body>
7
+ <!-- Generated by Doxygen 1.5.5 -->
8
+ <div class="navigation" id="top">
9
+ <div class="tabs">
10
+ <ul>
11
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
+ <li><a href="annotated.html"><span>Classes</span></a></li>
14
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
15
+ </ul>
16
+ </div>
17
+ </div>
18
+ <div class="contents">
19
+ <h1>GraphicsBase.hpp File Reference</h1>Contains general typedefs and enums related to graphics. <a href="#_details">More...</a>
20
+ <p>
21
+
22
+ <p>
23
+ <a href="GraphicsBase_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
24
+ <tr><td></td></tr>
25
+ <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
26
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html">Gosu</a></td></tr>
27
+
28
+ <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
29
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#a2fd8fe9574c0ad3fd52557cb160be49">Gosu::ZPos</a></td></tr>
30
+
31
+ <tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
32
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9">Gosu::AlphaMode</a> { <a class="el" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9d1661cf5d3ba68fcbdca99f9dcc832e0">Gosu::amDefault</a>,
33
+ <a class="el" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda90032d35b3c2b35d16d3c59b6471c570b">Gosu::amAdditive</a>
34
+ }</td></tr>
35
+
36
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>FontFlags</b> { <b>ffBold</b> = 1,
37
+ <b>ffItalic</b> = 2,
38
+ <b>ffUnderline</b> = 4
39
+ }</td></tr>
40
+
41
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>TextAlign</b> { <b>taLeft</b>,
42
+ <b>taRight</b>,
43
+ <b>taCenter</b>,
44
+ <b>taJustify</b>
45
+ }</td></tr>
46
+
47
+ </table>
48
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
49
+ Contains general typedefs and enums related to graphics.
50
+ <p>
51
+ </div>
52
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
53
+ <a href="http://www.doxygen.org/index.html">
54
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
55
+ </body>
56
+ </html>
@@ -0,0 +1,96 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
+ <title>Gosu: Graphics.hpp Source File</title>
4
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
5
+ <link href="tabs.css" rel="stylesheet" type="text/css">
6
+ </head><body>
7
+ <!-- Generated by Doxygen 1.5.5 -->
8
+ <div class="navigation" id="top">
9
+ <div class="tabs">
10
+ <ul>
11
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
+ <li><a href="annotated.html"><span>Classes</span></a></li>
14
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
15
+ </ul>
16
+ </div>
17
+ <h1>Graphics.hpp</h1><a href="Graphics_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
18
+ <a name="l00002"></a>00002
19
+ <a name="l00003"></a>00003
20
+ <a name="l00004"></a>00004 <span class="preprocessor">#ifndef GOSU_GRAPHICS_HPP</span>
21
+ <a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_GRAPHICS_HPP</span>
22
+ <a name="l00006"></a>00006 <span class="preprocessor"></span>
23
+ <a name="l00007"></a>00007 <span class="preprocessor">#include &lt;<a class="code" href="Fwd_8hpp.html" title="Contains declarations of all of Gosu&amp;#39;s available classes.">Gosu/Fwd.hpp</a>&gt;</span>
24
+ <a name="l00008"></a>00008 <span class="preprocessor">#include &lt;<a class="code" href="Color_8hpp.html" title="Interface of the Color class.">Gosu/Color.hpp</a>&gt;</span>
25
+ <a name="l00009"></a>00009 <span class="preprocessor">#include &lt;<a class="code" href="GraphicsBase_8hpp.html" title="Contains general typedefs and enums related to graphics.">Gosu/GraphicsBase.hpp</a>&gt;</span>
26
+ <a name="l00010"></a>00010 <span class="preprocessor">#include &lt;boost/scoped_ptr.hpp&gt;</span>
27
+ <a name="l00011"></a>00011 <span class="preprocessor">#include &lt;memory&gt;</span>
28
+ <a name="l00012"></a>00012
29
+ <a name="l00013"></a>00013 <span class="keyword">namespace </span>Gosu
30
+ <a name="l00014"></a>00014 {
31
+ <a name="l00016"></a><a class="code" href="namespaceGosu.html#3b7f4d1f697d86c584543e455faeef82">00016</a> <span class="keyword">enum</span> <a class="code" href="namespaceGosu.html#3b7f4d1f697d86c584543e455faeef82" title="Flags that affect the softness of a border.">BorderFlags</a>
32
+ <a name="l00017"></a>00017 {
33
+ <a name="l00018"></a>00018 bfSoft = 0,
34
+ <a name="l00019"></a>00019 bfHardLeft = 1,
35
+ <a name="l00020"></a>00020 bfHardTop = 2,
36
+ <a name="l00021"></a>00021 bfHardRight = 4,
37
+ <a name="l00022"></a>00022 bfHardBottom = 8,
38
+ <a name="l00023"></a>00023 bfHard = bfHardLeft | bfHardTop | bfHardRight | bfHardBottom
39
+ <a name="l00024"></a>00024 };
40
+ <a name="l00025"></a>00025
41
+ <a name="l00029"></a><a class="code" href="classGosu_1_1Graphics.html">00029</a> <span class="keyword">class </span><a class="code" href="classGosu_1_1Graphics.html" title="Serves as the target of all drawing and provides basic drawing functionality.">Graphics</a>
42
+ <a name="l00030"></a>00030 {
43
+ <a name="l00031"></a>00031 <span class="keyword">struct </span>Impl;
44
+ <a name="l00032"></a>00032 boost::scoped_ptr&lt;Impl&gt; pimpl;
45
+ <a name="l00033"></a>00033
46
+ <a name="l00034"></a>00034 <span class="keyword">public</span>:
47
+ <a name="l00035"></a>00035 <a class="code" href="classGosu_1_1Graphics.html" title="Serves as the target of all drawing and provides basic drawing functionality.">Graphics</a>(<span class="keywordtype">unsigned</span> physicalWidth, <span class="keywordtype">unsigned</span> physicalHeight, <span class="keywordtype">bool</span> fullscreen);
48
+ <a name="l00036"></a>00036 ~<a class="code" href="classGosu_1_1Graphics.html" title="Serves as the target of all drawing and provides basic drawing functionality.">Graphics</a>();
49
+ <a name="l00037"></a>00037
50
+ <a name="l00038"></a>00038 <span class="comment">// Undocumented until I have thought about this...</span>
51
+ <a name="l00039"></a>00039 <span class="keywordtype">double</span> factorX() <span class="keyword">const</span>;
52
+ <a name="l00040"></a>00040 <span class="keywordtype">double</span> factorY() <span class="keyword">const</span>;
53
+ <a name="l00041"></a>00041 <span class="keywordtype">void</span> setResolution(<span class="keywordtype">unsigned</span> virtualWidth, <span class="keywordtype">unsigned</span> virtualHeight);
54
+ <a name="l00042"></a>00042 <span class="comment">// End of Undocumented</span>
55
+ <a name="l00043"></a>00043
56
+ <a name="l00044"></a>00044 <span class="keywordtype">unsigned</span> width() <span class="keyword">const</span>;
57
+ <a name="l00045"></a>00045 <span class="keywordtype">unsigned</span> height() <span class="keyword">const</span>;
58
+ <a name="l00046"></a>00046 <span class="keywordtype">bool</span> fullscreen() <span class="keyword">const</span>;
59
+ <a name="l00047"></a>00047
60
+ <a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="classGosu_1_1Graphics.html#5cf453663573a90f6709146cefe4b9cd" title="Prepares the graphics object for drawing.">begin</a>(<a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> clearWithColor = Colors::black);
61
+ <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1Graphics.html#ddeab66c3a18c0a12df43067de841b71" title="Every call to begin must have a matching call to end.">end</a>();
62
+ <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1Graphics.html#207f436a09bd02e11ddc474565912135" title="Finishes all pending Gosu drawing operations and executes the following OpenGL code...">beginGL</a>();
63
+ <a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1Graphics.html#3e37d9b17e55fa5f6d3ad6116759364f" title="Resets Gosu into its default rendering state.">endGL</a>();
64
+ <a name="l00058"></a>00058 <span class="comment">// Enables clipping to a specified rectangle.</span>
65
+ <a name="l00059"></a>00059 <span class="keywordtype">void</span> beginClipping(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height);
66
+ <a name="l00060"></a>00060 <span class="comment">// Disables clipping.</span>
67
+ <a name="l00061"></a>00061 <span class="keywordtype">void</span> endClipping();
68
+ <a name="l00062"></a>00062
69
+ <a name="l00063"></a>00063 <span class="keywordtype">void</span> drawLine(<span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> y1, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c1,
70
+ <a name="l00064"></a>00064 <span class="keywordtype">double</span> x2, <span class="keywordtype">double</span> y2, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c2,
71
+ <a name="l00065"></a>00065 <a class="code" href="namespaceGosu.html#a2fd8fe9574c0ad3fd52557cb160be49" title="Represents the Z position of something drawn with Gosu&amp;#39;s graphics system.">ZPos</a> z, <a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9" title="Determines the way colors are combined when one is drawn onto another.">AlphaMode</a> mode = <a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9d1661cf5d3ba68fcbdca99f9dcc832e0" title="The color&amp;#39;s channels will be interpolated.">amDefault</a>);
72
+ <a name="l00066"></a>00066
73
+ <a name="l00067"></a>00067 <span class="keywordtype">void</span> drawTriangle(<span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> y1, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c1,
74
+ <a name="l00068"></a>00068 <span class="keywordtype">double</span> x2, <span class="keywordtype">double</span> y2, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c2,
75
+ <a name="l00069"></a>00069 <span class="keywordtype">double</span> x3, <span class="keywordtype">double</span> y3, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c3,
76
+ <a name="l00070"></a>00070 <a class="code" href="namespaceGosu.html#a2fd8fe9574c0ad3fd52557cb160be49" title="Represents the Z position of something drawn with Gosu&amp;#39;s graphics system.">ZPos</a> z, <a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9" title="Determines the way colors are combined when one is drawn onto another.">AlphaMode</a> mode = <a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9d1661cf5d3ba68fcbdca99f9dcc832e0" title="The color&amp;#39;s channels will be interpolated.">amDefault</a>);
77
+ <a name="l00071"></a>00071
78
+ <a name="l00072"></a>00072 <span class="keywordtype">void</span> drawQuad(<span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> y1, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c1,
79
+ <a name="l00073"></a>00073 <span class="keywordtype">double</span> x2, <span class="keywordtype">double</span> y2, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c2,
80
+ <a name="l00074"></a>00074 <span class="keywordtype">double</span> x3, <span class="keywordtype">double</span> y3, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c3,
81
+ <a name="l00075"></a>00075 <span class="keywordtype">double</span> x4, <span class="keywordtype">double</span> y4, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c4,
82
+ <a name="l00076"></a>00076 <a class="code" href="namespaceGosu.html#a2fd8fe9574c0ad3fd52557cb160be49" title="Represents the Z position of something drawn with Gosu&amp;#39;s graphics system.">ZPos</a> z, <a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9" title="Determines the way colors are combined when one is drawn onto another.">AlphaMode</a> mode = <a class="code" href="namespaceGosu.html#769656b1f560bc3d1bbdb47f8ca4eda9d1661cf5d3ba68fcbdca99f9dcc832e0" title="The color&amp;#39;s channels will be interpolated.">amDefault</a>);
83
+ <a name="l00077"></a>00077
84
+ <a name="l00080"></a>00080 std::auto_ptr&lt;ImageData&gt; <a class="code" href="classGosu_1_1Graphics.html#6b10629453eec979500179e4ceb11434" title="Turns a portion of a bitmap into something that can be drawn on this graphics object...">createImage</a>(<span class="keyword">const</span> <a class="code" href="classGosu_1_1Bitmap.html" title="Rectangular area of pixels, each represented by a Color value.">Bitmap</a>&amp; src,
85
+ <a name="l00081"></a>00081 <span class="keywordtype">unsigned</span> srcX, <span class="keywordtype">unsigned</span> srcY, <span class="keywordtype">unsigned</span> srcWidth, <span class="keywordtype">unsigned</span> srcHeight,
86
+ <a name="l00082"></a>00082 <span class="keywordtype">unsigned</span> borderFlags);
87
+ <a name="l00083"></a>00083 };
88
+ <a name="l00084"></a>00084 }
89
+ <a name="l00085"></a>00085
90
+ <a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
91
+ </pre></div></div>
92
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
93
+ <a href="http://www.doxygen.org/index.html">
94
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
95
+ </body>
96
+ </html>
@@ -0,0 +1,53 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
+ <title>Gosu: Graphics.hpp File Reference</title>
4
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
5
+ <link href="tabs.css" rel="stylesheet" type="text/css">
6
+ </head><body>
7
+ <!-- Generated by Doxygen 1.5.5 -->
8
+ <div class="navigation" id="top">
9
+ <div class="tabs">
10
+ <ul>
11
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
+ <li><a href="annotated.html"><span>Classes</span></a></li>
14
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
15
+ </ul>
16
+ </div>
17
+ </div>
18
+ <div class="contents">
19
+ <h1>Graphics.hpp File Reference</h1>Interface of the Graphics class. <a href="#_details">More...</a>
20
+ <p>
21
+
22
+ <p>
23
+ <a href="Graphics_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
24
+ <tr><td></td></tr>
25
+ <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
26
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html">Gosu</a></td></tr>
27
+
28
+ <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
29
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGosu_1_1Graphics.html">Gosu::Graphics</a></td></tr>
30
+
31
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serves as the target of all drawing and provides basic drawing functionality. <a href="classGosu_1_1Graphics.html#_details">More...</a><br></td></tr>
32
+ <tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
33
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#3b7f4d1f697d86c584543e455faeef82">Gosu::BorderFlags</a> { <br>
34
+ &nbsp;&nbsp;<b>bfSoft</b> = 0,
35
+ <b>bfHardLeft</b> = 1,
36
+ <b>bfHardTop</b> = 2,
37
+ <b>bfHardRight</b> = 4,
38
+ <br>
39
+ &nbsp;&nbsp;<b>bfHardBottom</b> = 8,
40
+ <b>bfHard</b> = bfHardLeft | bfHardTop | bfHardRight | bfHardBottom
41
+ <br>
42
+ }</td></tr>
43
+
44
+ </table>
45
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
46
+ Interface of the Graphics class.
47
+ <p>
48
+ </div>
49
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
50
+ <a href="http://www.doxygen.org/index.html">
51
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
52
+ </body>
53
+ </html>
@@ -0,0 +1,255 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
+ <title>Gosu: IO.hpp Source File</title>
4
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
5
+ <link href="tabs.css" rel="stylesheet" type="text/css">
6
+ </head><body>
7
+ <!-- Generated by Doxygen 1.5.5 -->
8
+ <div class="navigation" id="top">
9
+ <div class="tabs">
10
+ <ul>
11
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
+ <li><a href="annotated.html"><span>Classes</span></a></li>
14
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
15
+ </ul>
16
+ </div>
17
+ <h1>IO.hpp</h1><a href="IO_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
18
+ <a name="l00002"></a>00002
19
+ <a name="l00003"></a>00003
20
+ <a name="l00004"></a>00004 <span class="preprocessor">#ifndef GOSU_IO_HPP</span>
21
+ <a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_IO_HPP</span>
22
+ <a name="l00006"></a>00006 <span class="preprocessor"></span>
23
+ <a name="l00007"></a>00007 <span class="preprocessor">#include &lt;boost/utility.hpp&gt;</span>
24
+ <a name="l00008"></a>00008 <span class="preprocessor">#include &lt;boost/scoped_ptr.hpp&gt;</span>
25
+ <a name="l00009"></a>00009 <span class="preprocessor">#include &lt;cstddef&gt;</span>
26
+ <a name="l00010"></a>00010 <span class="preprocessor">#include &lt;algorithm&gt;</span>
27
+ <a name="l00011"></a>00011 <span class="preprocessor">#include &lt;string&gt;</span>
28
+ <a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
29
+ <a name="l00013"></a>00013
30
+ <a name="l00014"></a>00014 <span class="keyword">namespace </span>Gosu
31
+ <a name="l00015"></a>00015 {
32
+ <a name="l00016"></a>00016 <span class="keyword">class </span>Resource;
33
+ <a name="l00017"></a>00017
34
+ <a name="l00018"></a>00018 <span class="keyword">enum</span> ByteOrder { boLittle, boBig, boDontCare };
35
+ <a name="l00019"></a>00019 <span class="preprocessor">#ifdef __BIG_ENDIAN__</span>
36
+ <a name="l00020"></a>00020 <span class="preprocessor"></span> <span class="keyword">const</span> ByteOrder nativeByteOrder = boBig, otherByteOrder = boLittle;
37
+ <a name="l00021"></a>00021 <span class="preprocessor">#else</span>
38
+ <a name="l00022"></a>00022 <span class="preprocessor"></span> <span class="keyword">const</span> ByteOrder nativeByteOrder = boLittle, otherByteOrder = boBig;
39
+ <a name="l00023"></a>00023 <span class="preprocessor">#endif</span>
40
+ <a name="l00024"></a>00024 <span class="preprocessor"></span>
41
+ <a name="l00025"></a>00025 <span class="keyword">class </span>Reader
42
+ <a name="l00026"></a>00026 {
43
+ <a name="l00027"></a>00027 <span class="keyword">const</span> Resource* res;
44
+ <a name="l00028"></a>00028 std::size_t pos;
45
+ <a name="l00029"></a>00029
46
+ <a name="l00030"></a>00030 <span class="keyword">public</span>:
47
+ <a name="l00031"></a>00031 Reader(<span class="keyword">const</span> Resource&amp; resource, std::size_t position)
48
+ <a name="l00032"></a>00032 : res(&amp;resource), pos(position)
49
+ <a name="l00033"></a>00033 {
50
+ <a name="l00034"></a>00034 }
51
+ <a name="l00035"></a>00035
52
+ <a name="l00036"></a>00036 <span class="keyword">const</span> Resource&amp; resource()<span class="keyword"> const</span>
53
+ <a name="l00037"></a>00037 <span class="keyword"> </span>{
54
+ <a name="l00038"></a>00038 <span class="keywordflow">return</span> *res;
55
+ <a name="l00039"></a>00039 }
56
+ <a name="l00040"></a>00040
57
+ <a name="l00041"></a>00041 std::size_t position()<span class="keyword"> const</span>
58
+ <a name="l00042"></a>00042 <span class="keyword"> </span>{
59
+ <a name="l00043"></a>00043 <span class="keywordflow">return</span> pos;
60
+ <a name="l00044"></a>00044 }
61
+ <a name="l00045"></a>00045
62
+ <a name="l00046"></a>00046 <span class="keywordtype">void</span> setPosition(std::size_t value)
63
+ <a name="l00047"></a>00047 {
64
+ <a name="l00048"></a>00048 <span class="comment">// TODO: Check?</span>
65
+ <a name="l00049"></a>00049 pos = value;
66
+ <a name="l00050"></a>00050 }
67
+ <a name="l00051"></a>00051
68
+ <a name="l00052"></a>00052 <span class="keywordtype">void</span> seek(std::ptrdiff_t offset)
69
+ <a name="l00053"></a>00053 {
70
+ <a name="l00054"></a>00054 <span class="comment">// TODO: Check?</span>
71
+ <a name="l00055"></a>00055 pos += offset;
72
+ <a name="l00056"></a>00056 }
73
+ <a name="l00057"></a>00057
74
+ <a name="l00058"></a>00058 <span class="keywordtype">void</span> read(<span class="keywordtype">void</span>* destBuffer, std::size_t length);
75
+ <a name="l00059"></a>00059
76
+ <a name="l00061"></a>00061 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
77
+ <a name="l00062"></a>00062 <span class="keywordtype">void</span> readPod(T&amp; t, ByteOrder bo = boDontCare)
78
+ <a name="l00063"></a>00063 {
79
+ <a name="l00064"></a>00064 read(&amp;t, <span class="keyword">sizeof</span> t);
80
+ <a name="l00065"></a>00065 <span class="keywordflow">if</span> (bo == otherByteOrder)
81
+ <a name="l00066"></a>00066 {
82
+ <a name="l00067"></a>00067 <span class="keywordtype">char</span>* begin = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span>(&amp;t);
83
+ <a name="l00068"></a>00068 std::reverse(begin, begin + <span class="keyword">sizeof</span> t);
84
+ <a name="l00069"></a>00069 }
85
+ <a name="l00070"></a>00070 }
86
+ <a name="l00071"></a>00071
87
+ <a name="l00073"></a>00073 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
88
+ <a name="l00074"></a>00074 T getPod(ByteOrder bo = boDontCare)
89
+ <a name="l00075"></a>00075 {
90
+ <a name="l00076"></a>00076 T t;
91
+ <a name="l00077"></a>00077 readPod&lt;T&gt;(t, bo);
92
+ <a name="l00078"></a>00078 <span class="keywordflow">return</span> t;
93
+ <a name="l00079"></a>00079 }
94
+ <a name="l00080"></a>00080 };
95
+ <a name="l00081"></a>00081
96
+ <a name="l00082"></a>00082 <span class="keyword">class </span>Writer
97
+ <a name="l00083"></a>00083 {
98
+ <a name="l00084"></a>00084 Resource* res;
99
+ <a name="l00085"></a>00085 std::size_t pos;
100
+ <a name="l00086"></a>00086
101
+ <a name="l00087"></a>00087 <span class="keyword">public</span>:
102
+ <a name="l00088"></a>00088 Writer(Resource&amp; resource, std::size_t position)
103
+ <a name="l00089"></a>00089 : res(&amp;resource), pos(position)
104
+ <a name="l00090"></a>00090 {
105
+ <a name="l00091"></a>00091 }
106
+ <a name="l00092"></a>00092
107
+ <a name="l00093"></a>00093 Resource&amp; resource()<span class="keyword"> const</span>
108
+ <a name="l00094"></a>00094 <span class="keyword"> </span>{
109
+ <a name="l00095"></a>00095 <span class="keywordflow">return</span> *res;
110
+ <a name="l00096"></a>00096 }
111
+ <a name="l00097"></a>00097
112
+ <a name="l00098"></a>00098 std::size_t position()<span class="keyword"> const</span>
113
+ <a name="l00099"></a>00099 <span class="keyword"> </span>{
114
+ <a name="l00100"></a>00100 <span class="keywordflow">return</span> pos;
115
+ <a name="l00101"></a>00101 }
116
+ <a name="l00102"></a>00102
117
+ <a name="l00103"></a>00103 <span class="keywordtype">void</span> setPosition(std::size_t value)
118
+ <a name="l00104"></a>00104 {
119
+ <a name="l00105"></a>00105 <span class="comment">// TODO: Check?</span>
120
+ <a name="l00106"></a>00106 pos = value;
121
+ <a name="l00107"></a>00107 }
122
+ <a name="l00108"></a>00108
123
+ <a name="l00109"></a>00109 <span class="keywordtype">void</span> seek(std::ptrdiff_t offset)
124
+ <a name="l00110"></a>00110 {
125
+ <a name="l00111"></a>00111 <span class="comment">// TODO: Check?</span>
126
+ <a name="l00112"></a>00112 pos += offset;
127
+ <a name="l00113"></a>00113 }
128
+ <a name="l00114"></a>00114
129
+ <a name="l00115"></a>00115 <span class="keywordtype">void</span> write(<span class="keyword">const</span> <span class="keywordtype">void</span>* sourceBuffer, std::size_t length);
130
+ <a name="l00116"></a>00116
131
+ <a name="l00118"></a>00118 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
132
+ <a name="l00119"></a>00119 <span class="keywordtype">void</span> writePod(<span class="keyword">const</span> T&amp; t, ByteOrder bo = boDontCare)
133
+ <a name="l00120"></a>00120 {
134
+ <a name="l00121"></a>00121 <span class="keywordflow">if</span> (bo == otherByteOrder)
135
+ <a name="l00122"></a>00122 {
136
+ <a name="l00123"></a>00123 <span class="keywordtype">char</span> buf[<span class="keyword">sizeof</span> t];
137
+ <a name="l00124"></a>00124 <span class="keyword">const</span> <span class="keywordtype">char</span>* begin = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span>(&amp;t);
138
+ <a name="l00125"></a>00125 std::reverse_copy(begin, begin + <span class="keyword">sizeof</span> t, buf);
139
+ <a name="l00126"></a>00126 write(buf, <span class="keyword">sizeof</span> buf);
140
+ <a name="l00127"></a>00127 }
141
+ <a name="l00128"></a>00128 <span class="keywordflow">else</span>
142
+ <a name="l00129"></a>00129 write(&amp;t, <span class="keyword">sizeof</span> t);
143
+ <a name="l00130"></a>00130 }
144
+ <a name="l00131"></a>00131 };
145
+ <a name="l00132"></a>00132
146
+ <a name="l00138"></a><a class="code" href="classGosu_1_1Resource.html">00138</a> <span class="keyword">class </span><a class="code" href="classGosu_1_1Resource.html" title="Base class for resources.">Resource</a> : boost::noncopyable
147
+ <a name="l00139"></a>00139 {
148
+ <a name="l00140"></a>00140 <span class="keyword">public</span>:
149
+ <a name="l00141"></a>00141 <span class="keyword">virtual</span> ~<a class="code" href="classGosu_1_1Resource.html" title="Base class for resources.">Resource</a>()
150
+ <a name="l00142"></a>00142 {
151
+ <a name="l00143"></a>00143 }
152
+ <a name="l00144"></a>00144
153
+ <a name="l00147"></a><a class="code" href="classGosu_1_1Resource.html#1487016df4be48aa67e4596d5436dab6">00147</a> Reader <a class="code" href="classGosu_1_1Resource.html#1487016df4be48aa67e4596d5436dab6" title="Convenience: Creates a new Reader that reads from the start of the resource.">frontReader</a>()<span class="keyword"> const</span>
154
+ <a name="l00148"></a>00148 <span class="keyword"> </span>{
155
+ <a name="l00149"></a>00149 <span class="keywordflow">return</span> Reader(*<span class="keyword">this</span>, 0);
156
+ <a name="l00150"></a>00150 }
157
+ <a name="l00151"></a>00151
158
+ <a name="l00154"></a><a class="code" href="classGosu_1_1Resource.html#8383c59af78d8b90b4f28cd10c6a368f">00154</a> Writer <a class="code" href="classGosu_1_1Resource.html#8383c59af78d8b90b4f28cd10c6a368f" title="Convenience: Creates a new Writer that appends data at the end of the resource.">backWriter</a>()
159
+ <a name="l00155"></a>00155 {
160
+ <a name="l00156"></a>00156 <span class="keywordflow">return</span> Writer(*<span class="keyword">this</span>, size());
161
+ <a name="l00157"></a>00157 }
162
+ <a name="l00158"></a>00158
163
+ <a name="l00159"></a>00159 <span class="keyword">virtual</span> std::size_t size() <span class="keyword">const</span> = 0;
164
+ <a name="l00160"></a>00160
165
+ <a name="l00161"></a>00161 <span class="keyword">virtual</span> <span class="keywordtype">void</span> resize(std::size_t newSize) = 0;
166
+ <a name="l00162"></a>00162
167
+ <a name="l00163"></a>00163 <span class="keyword">virtual</span> <span class="keywordtype">void</span> read(std::size_t offset, std::size_t length,
168
+ <a name="l00164"></a>00164 <span class="keywordtype">void</span>* destBuffer) <span class="keyword">const</span> = 0;
169
+ <a name="l00165"></a>00165
170
+ <a name="l00166"></a>00166 <span class="keyword">virtual</span> <span class="keywordtype">void</span> write(std::size_t offset, std::size_t length,
171
+ <a name="l00167"></a>00167 <span class="keyword">const</span> <span class="keywordtype">void</span>* sourceBuffer) = 0;
172
+ <a name="l00168"></a>00168 };
173
+ <a name="l00169"></a>00169
174
+ <a name="l00171"></a><a class="code" href="classGosu_1_1Buffer.html">00171</a> <span class="keyword">class </span><a class="code" href="classGosu_1_1Buffer.html" title="Piece of memory with the Resource interface.">Buffer</a> : <span class="keyword">public</span> <a class="code" href="classGosu_1_1Resource.html" title="Base class for resources.">Resource</a>
175
+ <a name="l00172"></a>00172 {
176
+ <a name="l00173"></a>00173 std::vector&lt;char&gt; buf;
177
+ <a name="l00174"></a>00174
178
+ <a name="l00175"></a>00175 <span class="keyword">public</span>:
179
+ <a name="l00176"></a>00176 <a class="code" href="classGosu_1_1Buffer.html" title="Piece of memory with the Resource interface.">Buffer</a>()
180
+ <a name="l00177"></a>00177 {
181
+ <a name="l00178"></a>00178 }
182
+ <a name="l00179"></a>00179
183
+ <a name="l00180"></a>00180 <a class="code" href="classGosu_1_1Buffer.html" title="Piece of memory with the Resource interface.">Buffer</a>(<span class="keyword">const</span> <a class="code" href="classGosu_1_1Buffer.html" title="Piece of memory with the Resource interface.">Buffer</a>&amp; other)
184
+ <a name="l00181"></a>00181 : buf(other.<a class="code" href="classGosu_1_1Buffer.html#9e619f1956741a660e8c13b1146e738e">buf</a>)
185
+ <a name="l00182"></a>00182 {
186
+ <a name="l00183"></a>00183 }
187
+ <a name="l00184"></a>00184
188
+ <a name="l00185"></a>00185 <a class="code" href="classGosu_1_1Buffer.html" title="Piece of memory with the Resource interface.">Buffer</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classGosu_1_1Buffer.html" title="Piece of memory with the Resource interface.">Buffer</a>&amp; other)
189
+ <a name="l00186"></a>00186 {
190
+ <a name="l00187"></a>00187 buf = other.<a class="code" href="classGosu_1_1Buffer.html#9e619f1956741a660e8c13b1146e738e">buf</a>;
191
+ <a name="l00188"></a>00188 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
192
+ <a name="l00189"></a>00189 }
193
+ <a name="l00190"></a>00190
194
+ <a name="l00191"></a>00191 std::size_t size()<span class="keyword"> const</span>
195
+ <a name="l00192"></a>00192 <span class="keyword"> </span>{
196
+ <a name="l00193"></a>00193 <span class="keywordflow">return</span> buf.size();
197
+ <a name="l00194"></a>00194 }
198
+ <a name="l00195"></a>00195
199
+ <a name="l00196"></a>00196 <span class="keywordtype">void</span> resize(std::size_t newSize)
200
+ <a name="l00197"></a>00197 {
201
+ <a name="l00198"></a>00198 buf.resize(newSize);
202
+ <a name="l00199"></a>00199 }
203
+ <a name="l00200"></a>00200
204
+ <a name="l00201"></a>00201 <span class="keywordtype">void</span> read(std::size_t offset, std::size_t length,
205
+ <a name="l00202"></a>00202 <span class="keywordtype">void</span>* destBuffer) <span class="keyword">const</span>;
206
+ <a name="l00203"></a>00203
207
+ <a name="l00204"></a>00204 <span class="keywordtype">void</span> write(std::size_t offset, std::size_t length,
208
+ <a name="l00205"></a>00205 <span class="keyword">const</span> <span class="keywordtype">void</span>* sourceBuffer);
209
+ <a name="l00206"></a>00206
210
+ <a name="l00207"></a>00207 <span class="keyword">const</span> <span class="keywordtype">void</span>* data()<span class="keyword"> const</span>
211
+ <a name="l00208"></a>00208 <span class="keyword"> </span>{
212
+ <a name="l00209"></a>00209 <span class="keywordflow">return</span> &amp;buf[0];
213
+ <a name="l00210"></a>00210 }
214
+ <a name="l00211"></a>00211
215
+ <a name="l00212"></a>00212 <span class="keywordtype">void</span>* data()
216
+ <a name="l00213"></a>00213 {
217
+ <a name="l00214"></a>00214 <span class="keywordflow">return</span> &amp;buf[0];
218
+ <a name="l00215"></a>00215 }
219
+ <a name="l00216"></a>00216 };
220
+ <a name="l00217"></a>00217
221
+ <a name="l00218"></a><a class="code" href="namespaceGosu.html#f3bd16cebaf102e43f576d0a0ca1fcc3">00218</a> <span class="keyword">enum</span> <a class="code" href="namespaceGosu.html#f3bd16cebaf102e43f576d0a0ca1fcc3">FileMode</a>
222
+ <a name="l00219"></a>00219 {
223
+ <a name="l00222"></a><a class="code" href="namespaceGosu.html#f3bd16cebaf102e43f576d0a0ca1fcc3fc1f3aa93dd976dd43582892a36629d8">00222</a> <a class="code" href="namespaceGosu.html#f3bd16cebaf102e43f576d0a0ca1fcc3fc1f3aa93dd976dd43582892a36629d8" title="Opens an existing file for reading; throws an exception if the file cannot be found...">fmRead</a>,
224
+ <a name="l00225"></a><a class="code" href="namespaceGosu.html#f3bd16cebaf102e43f576d0a0ca1fcc337d6ddaeba2138192b0ae84e0882a246">00225</a> <a class="code" href="namespaceGosu.html#f3bd16cebaf102e43f576d0a0ca1fcc337d6ddaeba2138192b0ae84e0882a246" title="Writes data to a file.">fmReplace</a>,
225
+ <a name="l00228"></a><a class="code" href="namespaceGosu.html#f3bd16cebaf102e43f576d0a0ca1fcc3d09b16bbdaf86e8a38a7299abad2706d">00228</a> <a class="code" href="namespaceGosu.html#f3bd16cebaf102e43f576d0a0ca1fcc3d09b16bbdaf86e8a38a7299abad2706d" title="Opens or creates a file with writing access, but does not clear existing contents...">fmAlter</a>
226
+ <a name="l00229"></a>00229 };
227
+ <a name="l00230"></a>00230
228
+ <a name="l00232"></a><a class="code" href="classGosu_1_1File.html">00232</a> <span class="keyword">class </span><a class="code" href="classGosu_1_1File.html" title="File with the Resource interface.">File</a> : <span class="keyword">public</span> <a class="code" href="classGosu_1_1Resource.html" title="Base class for resources.">Resource</a>
229
+ <a name="l00233"></a>00233 {
230
+ <a name="l00234"></a>00234 <span class="keyword">struct </span>Impl;
231
+ <a name="l00235"></a>00235 boost::scoped_ptr&lt;Impl&gt; pimpl;
232
+ <a name="l00236"></a>00236
233
+ <a name="l00237"></a>00237 <span class="keyword">public</span>:
234
+ <a name="l00238"></a>00238 <span class="keyword">explicit</span> <a class="code" href="classGosu_1_1File.html" title="File with the Resource interface.">File</a>(<span class="keyword">const</span> std::wstring&amp; filename, <a class="code" href="namespaceGosu.html#f3bd16cebaf102e43f576d0a0ca1fcc3">FileMode</a> mode = <a class="code" href="namespaceGosu.html#f3bd16cebaf102e43f576d0a0ca1fcc3fc1f3aa93dd976dd43582892a36629d8" title="Opens an existing file for reading; throws an exception if the file cannot be found...">fmRead</a>);
235
+ <a name="l00239"></a>00239 ~<a class="code" href="classGosu_1_1File.html" title="File with the Resource interface.">File</a>();
236
+ <a name="l00240"></a>00240
237
+ <a name="l00241"></a>00241 std::size_t size() <span class="keyword">const</span>;
238
+ <a name="l00242"></a>00242 <span class="keywordtype">void</span> resize(std::size_t newSize);
239
+ <a name="l00243"></a>00243 <span class="keywordtype">void</span> read(std::size_t offset, std::size_t length,
240
+ <a name="l00244"></a>00244 <span class="keywordtype">void</span>* destBuffer) <span class="keyword">const</span>;
241
+ <a name="l00245"></a>00245 <span class="keywordtype">void</span> write(std::size_t offset, std::size_t length,
242
+ <a name="l00246"></a>00246 <span class="keyword">const</span> <span class="keywordtype">void</span>* sourceBuffer);
243
+ <a name="l00247"></a>00247 };
244
+ <a name="l00248"></a>00248
245
+ <a name="l00250"></a>00250 <span class="keywordtype">void</span> <a class="code" href="namespaceGosu.html#29c60cb8e87a99f7ce924ae0530029a0" title="Loads a whole file into a buffer.">loadFile</a>(<a class="code" href="classGosu_1_1Buffer.html" title="Piece of memory with the Resource interface.">Buffer</a>&amp; buffer, <span class="keyword">const</span> std::wstring&amp; filename);
246
+ <a name="l00252"></a>00252 <span class="keywordtype">void</span> <a class="code" href="namespaceGosu.html#467aa346fa1a4cb39040bb427b42b7aa" title="Creates or overwrites a file with the contents of a buffer.">saveFile</a>(<span class="keyword">const</span> <a class="code" href="classGosu_1_1Buffer.html" title="Piece of memory with the Resource interface.">Buffer</a>&amp; buffer, <span class="keyword">const</span> std::wstring&amp; filename);
247
+ <a name="l00253"></a>00253 }
248
+ <a name="l00254"></a>00254
249
+ <a name="l00255"></a>00255 <span class="preprocessor">#endif</span>
250
+ </pre></div></div>
251
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
252
+ <a href="http://www.doxygen.org/index.html">
253
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
254
+ </body>
255
+ </html>