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,26 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>English</string>
7
+ <key>CFBundleExecutable</key>
8
+ <string>${EXECUTABLE_NAME}</string>
9
+ <key>CFBundleIconFile</key>
10
+ <string>Gosu</string>
11
+ <key>CFBundleIdentifier</key>
12
+ <string>com.yourcompany.yourgame</string>
13
+ <key>CFBundleInfoDictionaryVersion</key>
14
+ <string>6.0</string>
15
+ <key>CFBundlePackageType</key>
16
+ <string>APPL</string>
17
+ <key>CFBundleSignature</key>
18
+ <string>????</string>
19
+ <key>CFBundleVersion</key>
20
+ <string>1.0</string>
21
+ <key>NSMainNibFile</key>
22
+ <string>MainMenu</string>
23
+ <key>NSPrincipalClass</key>
24
+ <string>NSApplication</string>
25
+ </dict>
26
+ </plist>
Binary file
Binary file
Binary file
@@ -0,0 +1,70 @@
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: Async.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>Async.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Undocumented for the first few iterations. Interface may change rapidly.</span>
18
+ <a name="l00002"></a>00002 <span class="comment">// This is mainly a proof of concept. Stability will be the highest on OS X.</span>
19
+ <a name="l00003"></a>00003
20
+ <a name="l00004"></a>00004 <span class="preprocessor">#ifndef GOSU_ASYNC_HPP</span>
21
+ <a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_ASYNC_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;boost/shared_ptr.hpp&gt;</span>
25
+ <a name="l00009"></a>00009 <span class="preprocessor">#include &lt;boost/thread.hpp&gt;</span>
26
+ <a name="l00010"></a>00010 <span class="preprocessor">#include &lt;memory&gt;</span>
27
+ <a name="l00011"></a>00011 <span class="preprocessor">#include &lt;string&gt;</span>
28
+ <a name="l00012"></a>00012
29
+ <a name="l00013"></a><a class="code" href="namespaceGosu.html">00013</a> <span class="keyword">namespace </span>Gosu
30
+ <a name="l00014"></a>00014 {
31
+ <a name="l00015"></a>00015 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Result&gt;
32
+ <a name="l00016"></a>00016 <span class="keyword">class </span>AsyncResult
33
+ <a name="l00017"></a>00017 {
34
+ <a name="l00018"></a>00018 boost::shared_ptr&lt;boost::try_mutex&gt; mutex;
35
+ <a name="l00019"></a>00019 boost::shared_ptr&lt;std::auto_ptr&lt;Result&gt; &gt; result;
36
+ <a name="l00020"></a>00020
37
+ <a name="l00021"></a>00021 <span class="keyword">public</span>:
38
+ <a name="l00022"></a>00022 AsyncResult(<span class="keyword">const</span> boost::shared_ptr&lt;boost::try_mutex&gt;&amp; mutex,
39
+ <a name="l00023"></a>00023 <span class="keyword">const</span> boost::shared_ptr&lt;std::auto_ptr&lt;Result&gt; &gt;&amp; result)
40
+ <a name="l00024"></a>00024 : mutex(mutex), result(result)
41
+ <a name="l00025"></a>00025 {
42
+ <a name="l00026"></a>00026 }
43
+ <a name="l00027"></a>00027
44
+ <a name="l00028"></a>00028 <span class="keywordtype">bool</span> hasValue()<span class="keyword"> const</span>
45
+ <a name="l00029"></a>00029 <span class="keyword"> </span>{
46
+ <a name="l00030"></a>00030 boost::try_mutex::scoped_try_lock lock(*mutex);
47
+ <a name="l00031"></a>00031 <span class="keywordflow">return</span> lock &amp;&amp; result-&gt;get();
48
+ <a name="l00032"></a>00032 }
49
+ <a name="l00033"></a>00033
50
+ <a name="l00034"></a>00034 std::auto_ptr&lt;Result&gt; takeValue()
51
+ <a name="l00035"></a>00035 {
52
+ <a name="l00036"></a>00036 boost::try_mutex::scoped_lock lock(*mutex);
53
+ <a name="l00037"></a>00037 <span class="keywordflow">return</span> *result;
54
+ <a name="l00038"></a>00038 }
55
+ <a name="l00039"></a>00039 };
56
+ <a name="l00040"></a>00040
57
+ <a name="l00041"></a>00041 <span class="comment">// TODO: Will only work if the window doesn't die inbetween.</span>
58
+ <a name="l00042"></a>00042 <span class="comment">// TODO: More functions to come; or a general interface?</span>
59
+ <a name="l00043"></a>00043
60
+ <a name="l00044"></a>00044 AsyncResult&lt;Image&gt;
61
+ <a name="l00045"></a>00045 asyncNewImage(<a class="code" href="classGosu_1_1Window.html" title="Convenient all-in-one class that serves as the foundation of a standard Gosu application...">Window</a>&amp; window, <span class="keyword">const</span> std::wstring&amp; filename);
62
+ <a name="l00046"></a>00046 }
63
+ <a name="l00047"></a>00047
64
+ <a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
65
+ </pre></div></div>
66
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
67
+ <a href="http://www.doxygen.org/index.html">
68
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
69
+ </body>
70
+ </html>
@@ -0,0 +1,114 @@
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: Audio.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>Audio.hpp</h1><a href="Audio_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="comment">// REDESIGN: Rename all changeXXX() member functions to setXXX().</span>
21
+ <a name="l00005"></a>00005 <span class="comment">// REDESIGN: Don't require window argument, is this possible?</span>
22
+ <a name="l00006"></a>00006
23
+ <a name="l00007"></a>00007 <span class="preprocessor">#ifndef GOSU_AUDIO_HPP</span>
24
+ <a name="l00008"></a>00008 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_AUDIO_HPP</span>
25
+ <a name="l00009"></a>00009 <span class="preprocessor"></span>
26
+ <a name="l00010"></a>00010 <span class="preprocessor">#ifdef WIN32</span>
27
+ <a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#include &lt;windows.h&gt;</span>
28
+ <a name="l00012"></a>00012 <span class="preprocessor">#endif</span>
29
+ <a name="l00013"></a>00013 <span class="preprocessor"></span><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>
30
+ <a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="Platform_8hpp.html" title="Macros and utility functions to facilitate programming on all of Gosu&amp;#39;s supported...">Gosu/Platform.hpp</a>&gt;</span>
31
+ <a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/scoped_ptr.hpp&gt;</span>
32
+ <a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/utility.hpp&gt;</span>
33
+ <a name="l00017"></a>00017 <span class="preprocessor">#include &lt;string&gt;</span>
34
+ <a name="l00018"></a>00018
35
+ <a name="l00019"></a>00019 <span class="keyword">namespace </span>Gosu
36
+ <a name="l00020"></a>00020 {
37
+ <a name="l00025"></a><a class="code" href="classGosu_1_1Audio.html">00025</a> <span class="keyword">class </span><a class="code" href="classGosu_1_1Audio.html" title="Manages initialization and finalization of audio libraries.">Audio</a> : boost::noncopyable
38
+ <a name="l00026"></a>00026 {
39
+ <a name="l00027"></a>00027 <span class="keyword">public</span>:
40
+ <a name="l00028"></a>00028 <span class="preprocessor">#ifdef GOSU_IS_WIN</span>
41
+ <a name="l00029"></a>00029 <span class="preprocessor"></span> <span class="keyword">explicit</span> <a class="code" href="classGosu_1_1Audio.html" title="Manages initialization and finalization of audio libraries.">Audio</a>(HWND window);
42
+ <a name="l00030"></a>00030 <span class="preprocessor">#else</span>
43
+ <a name="l00031"></a>00031 <span class="preprocessor"></span> <a class="code" href="classGosu_1_1Audio.html" title="Manages initialization and finalization of audio libraries.">Audio</a>();
44
+ <a name="l00032"></a>00032 <span class="preprocessor">#endif</span>
45
+ <a name="l00033"></a>00033 <span class="preprocessor"></span> ~<a class="code" href="classGosu_1_1Audio.html" title="Manages initialization and finalization of audio libraries.">Audio</a>();
46
+ <a name="l00034"></a>00034 };
47
+ <a name="l00035"></a>00035
48
+ <a name="l00040"></a><a class="code" href="classGosu_1_1SampleInstance.html">00040</a> <span class="keyword">class </span><a class="code" href="classGosu_1_1SampleInstance.html" title="An instance of a Sample playing.">SampleInstance</a>
49
+ <a name="l00041"></a>00041 {
50
+ <a name="l00042"></a>00042 <span class="keywordtype">int</span> handle, extra;
51
+ <a name="l00043"></a>00043
52
+ <a name="l00044"></a>00044 <span class="keyword">public</span>:
53
+ <a name="l00046"></a>00046 <a class="code" href="classGosu_1_1SampleInstance.html#1dcf6b649592940d21d3d2487e510c7e" title="Called by Sample, do not use.">SampleInstance</a>(<span class="keywordtype">int</span> handle, <span class="keywordtype">int</span> extra);
54
+ <a name="l00047"></a>00047
55
+ <a name="l00048"></a>00048 <span class="keywordtype">bool</span> playing() <span class="keyword">const</span>;
56
+ <a name="l00049"></a>00049 <span class="keywordtype">void</span> stop();
57
+ <a name="l00050"></a>00050
58
+ <a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1SampleInstance.html#bb54d7569ac18cdad24da5d538cca1b5">changeVolume</a>(<span class="keywordtype">double</span> volume);
59
+ <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1SampleInstance.html#def37ef2af53716fb0b10e06263468d0">changePan</a>(<span class="keywordtype">double</span> pan);
60
+ <a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1SampleInstance.html#3de21bed437c846734cf06243a5db112">changeSpeed</a>(<span class="keywordtype">double</span> speed);
61
+ <a name="l00060"></a>00060 };
62
+ <a name="l00061"></a>00061
63
+ <a name="l00065"></a><a class="code" href="classGosu_1_1Sample.html">00065</a> <span class="keyword">class </span><a class="code" href="classGosu_1_1Sample.html" title="A sample is a short sound that is completely loaded in memory, can be played multiple...">Sample</a>
64
+ <a name="l00066"></a>00066 {
65
+ <a name="l00067"></a>00067 <span class="keyword">struct </span>SampleData;
66
+ <a name="l00068"></a>00068 boost::scoped_ptr&lt;SampleData&gt; data;
67
+ <a name="l00069"></a>00069
68
+ <a name="l00070"></a>00070 <span class="keyword">public</span>:
69
+ <a name="l00073"></a>00073 <a class="code" href="classGosu_1_1Sample.html#11aa4cd7de748370c9352970660619bf" title="Constructs a sample that can be played on the specified audio system and loads the...">Sample</a>(<a class="code" href="classGosu_1_1Audio.html" title="Manages initialization and finalization of audio libraries.">Audio</a>&amp; audio, <span class="keyword">const</span> std::wstring&amp; filename);
70
+ <a name="l00074"></a>00074
71
+ <a name="l00077"></a>00077 <a class="code" href="classGosu_1_1Sample.html#11aa4cd7de748370c9352970660619bf" title="Constructs a sample that can be played on the specified audio system and loads the...">Sample</a>(<a class="code" href="classGosu_1_1Audio.html" title="Manages initialization and finalization of audio libraries.">Audio</a>&amp; audio, Reader reader);
72
+ <a name="l00078"></a>00078
73
+ <a name="l00079"></a>00079 ~<a class="code" href="classGosu_1_1Sample.html" title="A sample is a short sound that is completely loaded in memory, can be played multiple...">Sample</a>();
74
+ <a name="l00080"></a>00080
75
+ <a name="l00087"></a>00087 <a class="code" href="classGosu_1_1SampleInstance.html" title="An instance of a Sample playing.">SampleInstance</a> <a class="code" href="classGosu_1_1Sample.html#3b8af743f036e6ee867c66b235ff5d5b" title="Plays the sample without panning.">play</a>(<span class="keywordtype">double</span> volume = 1, <span class="keywordtype">double</span> speed = 1) <span class="keyword">const</span>;
76
+ <a name="l00088"></a>00088
77
+ <a name="l00098"></a>00098 <a class="code" href="classGosu_1_1SampleInstance.html" title="An instance of a Sample playing.">SampleInstance</a> <a class="code" href="classGosu_1_1Sample.html#96c4c6f558831cc758aa877852c08b31" title="Plays the sample with panning.">playPan</a>(<span class="keywordtype">double</span> pan, <span class="keywordtype">double</span> volume = 1, <span class="keywordtype">double</span> speed = 1) <span class="keyword">const</span>;
78
+ <a name="l00099"></a>00099 };
79
+ <a name="l00100"></a>00100
80
+ <a name="l00103"></a><a class="code" href="classGosu_1_1Song.html">00103</a> <span class="keyword">class </span><a class="code" href="classGosu_1_1Song.html" title="Songs are less flexible than samples in that they can only be played one at a time...">Song</a>
81
+ <a name="l00104"></a>00104 {
82
+ <a name="l00105"></a>00105 <span class="keyword">class </span>BaseData;
83
+ <a name="l00106"></a>00106 <span class="keyword">class </span>ModuleData;
84
+ <a name="l00107"></a>00107 <span class="keyword">class </span>StreamData;
85
+ <a name="l00108"></a>00108 boost::scoped_ptr&lt;BaseData&gt; data;
86
+ <a name="l00109"></a>00109
87
+ <a name="l00110"></a>00110 <span class="keyword">public</span>:
88
+ <a name="l00113"></a><a class="code" href="classGosu_1_1Song.html#ec4c76bfe19e210da34bcaa286af605f">00113</a> <span class="keyword">enum</span> <a class="code" href="classGosu_1_1Song.html#ec4c76bfe19e210da34bcaa286af605f" title="There are two types of songs that can be loaded as a Song: Streamed songs (like OGG)...">Type</a>
89
+ <a name="l00114"></a>00114 {
90
+ <a name="l00115"></a>00115 stStream,
91
+ <a name="l00116"></a>00116 stModule
92
+ <a name="l00117"></a>00117 };
93
+ <a name="l00118"></a>00118
94
+ <a name="l00122"></a>00122 <a class="code" href="classGosu_1_1Song.html#ef65dfe9e74d33480375481d47eee408" title="Constructs a song that can be played on the provided audio system and loads the song...">Song</a>(<a class="code" href="classGosu_1_1Audio.html" title="Manages initialization and finalization of audio libraries.">Audio</a>&amp;, <span class="keyword">const</span> std::wstring&amp; filename);
95
+ <a name="l00123"></a>00123
96
+ <a name="l00126"></a>00126 <a class="code" href="classGosu_1_1Song.html#ef65dfe9e74d33480375481d47eee408" title="Constructs a song that can be played on the provided audio system and loads the song...">Song</a>(<a class="code" href="classGosu_1_1Audio.html" title="Manages initialization and finalization of audio libraries.">Audio</a>&amp;, <a class="code" href="classGosu_1_1Song.html#ec4c76bfe19e210da34bcaa286af605f" title="There are two types of songs that can be loaded as a Song: Streamed songs (like OGG)...">Type</a> type, Reader reader);
97
+ <a name="l00127"></a>00127
98
+ <a name="l00128"></a>00128 ~<a class="code" href="classGosu_1_1Song.html" title="Songs are less flexible than samples in that they can only be played one at a time...">Song</a>();
99
+ <a name="l00129"></a>00129
100
+ <a name="l00133"></a>00133 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1Song.html#63e9c04af40421365b6a20be60e8e6ef" title="Starts playback of the song.">play</a>();
101
+ <a name="l00135"></a>00135 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1Song.html#469a3cf49be8ebec2c9855dec46f5f71" title="Stops playback of this song if it is currently played.">stop</a>();
102
+ <a name="l00137"></a>00137 <span class="keywordtype">bool</span> <a class="code" href="classGosu_1_1Song.html#c83d4b509149c2b1fb48ad697fb1adf3" title="Returns if the song is currently playing.">playing</a>() <span class="keyword">const</span>;
103
+ <a name="l00139"></a>00139 <span class="keywordtype">double</span> <a class="code" href="classGosu_1_1Song.html#ab8e8a273b5ea235ad9f48dee684c683" title="Returns the current volume of the song.">volume</a>() <span class="keyword">const</span>;
104
+ <a name="l00141"></a>00141 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1Song.html#e460032103a9ddb7e0dd50f53fb9d36e" title="Changes the volume of the song.">changeVolume</a>(<span class="keywordtype">double</span> <a class="code" href="classGosu_1_1Song.html#ab8e8a273b5ea235ad9f48dee684c683" title="Returns the current volume of the song.">volume</a>);
105
+ <a name="l00142"></a>00142 };
106
+ <a name="l00143"></a>00143 }
107
+ <a name="l00144"></a>00144
108
+ <a name="l00145"></a>00145 <span class="preprocessor">#endif</span>
109
+ </pre></div></div>
110
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
111
+ <a href="http://www.doxygen.org/index.html">
112
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
113
+ </body>
114
+ </html>
@@ -0,0 +1,50 @@
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: Audio.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>Audio.hpp File Reference</h1>Contains all the classes of Gosu's audio system. <a href="#_details">More...</a>
20
+ <p>
21
+
22
+ <p>
23
+ <a href="Audio_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_1Audio.html">Gosu::Audio</a></td></tr>
30
+
31
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manages initialization and finalization of audio libraries. <a href="classGosu_1_1Audio.html#_details">More...</a><br></td></tr>
32
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGosu_1_1SampleInstance.html">Gosu::SampleInstance</a></td></tr>
33
+
34
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An instance of a <a class="el" href="classGosu_1_1Sample.html" title="A sample is a short sound that is completely loaded in memory, can be played multiple...">Sample</a> playing. <a href="classGosu_1_1SampleInstance.html#_details">More...</a><br></td></tr>
35
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGosu_1_1Sample.html">Gosu::Sample</a></td></tr>
36
+
37
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A sample is a short sound that is completely loaded in memory, can be played multiple times at once and offers very flexible playback parameters. <a href="classGosu_1_1Sample.html#_details">More...</a><br></td></tr>
38
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGosu_1_1Song.html">Gosu::Song</a></td></tr>
39
+
40
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Songs are less flexible than samples in that they can only be played one at a time and without panning or speed parameters. <a href="classGosu_1_1Song.html#_details">More...</a><br></td></tr>
41
+ </table>
42
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
43
+ Contains all the classes of Gosu's audio system.
44
+ <p>
45
+ </div>
46
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
47
+ <a href="http://www.doxygen.org/index.html">
48
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
49
+ </body>
50
+ </html>
@@ -0,0 +1,38 @@
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: AutoLink.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>AutoLink.hpp</h1><a href="AutoLink_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
21
+ <a name="l00005"></a>00005 <span class="preprocessor">#ifdef _MSC_VER</span>
22
+ <a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#ifndef GOSU_AUTOLINK_HPP</span>
23
+ <a name="l00007"></a>00007 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_AUTOLINK_HPP</span>
24
+ <a name="l00008"></a>00008 <span class="preprocessor"></span>
25
+ <a name="l00009"></a>00009 <span class="preprocessor">#ifdef NDEBUG</span>
26
+ <a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#pragma comment(lib, "Gosu.lib")</span>
27
+ <a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#else</span>
28
+ <a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#pragma comment(lib, "GosuDebug.lib")</span>
29
+ <a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
30
+ <a name="l00014"></a>00014 <span class="preprocessor"></span>
31
+ <a name="l00015"></a>00015 <span class="preprocessor">#endif</span>
32
+ <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
33
+ </pre></div></div>
34
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
35
+ <a href="http://www.doxygen.org/index.html">
36
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
37
+ </body>
38
+ </html>
@@ -0,0 +1,34 @@
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: AutoLink.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>AutoLink.hpp File Reference</h1>Contains pragmas that make MSVC link against all the necessary libraries automatically. <a href="#_details">More...</a>
20
+ <p>
21
+
22
+ <p>
23
+ <a href="AutoLink_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
+ </table>
26
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
27
+ Contains pragmas that make MSVC link against all the necessary libraries automatically.
28
+ <p>
29
+ </div>
30
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
31
+ <a href="http://www.doxygen.org/index.html">
32
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
33
+ </body>
34
+ </html>
@@ -0,0 +1,85 @@
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: Bitmap.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>Bitmap.hpp</h1><a href="Bitmap_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_BITMAP_HPP</span>
21
+ <a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_BITMAP_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="Color_8hpp.html" title="Interface of the Color class.">Gosu/Color.hpp</a>&gt;</span>
24
+ <a name="l00008"></a>00008 <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>
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;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="l00020"></a><a class="code" href="classGosu_1_1Bitmap.html">00020</a> <span class="keyword">class </span><a class="code" href="classGosu_1_1Bitmap.html" title="Rectangular area of pixels, each represented by a Color value.">Bitmap</a>
33
+ <a name="l00021"></a>00021 {
34
+ <a name="l00022"></a>00022 <span class="keywordtype">unsigned</span> w, h;
35
+ <a name="l00023"></a>00023 std::vector&lt;Color&gt; pixels;
36
+ <a name="l00024"></a>00024
37
+ <a name="l00025"></a>00025 <span class="keyword">public</span>:
38
+ <a name="l00026"></a>00026 <a class="code" href="classGosu_1_1Bitmap.html" title="Rectangular area of pixels, each represented by a Color value.">Bitmap</a>();
39
+ <a name="l00027"></a>00027
40
+ <a name="l00028"></a>00028 <span class="keywordtype">unsigned</span> width()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> w; }
41
+ <a name="l00029"></a>00029 <span class="keywordtype">unsigned</span> height()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> h; }
42
+ <a name="l00030"></a>00030
43
+ <a name="l00031"></a>00031 <span class="keywordtype">void</span> swap(<a class="code" href="classGosu_1_1Bitmap.html" title="Rectangular area of pixels, each represented by a Color value.">Bitmap</a>&amp; other);
44
+ <a name="l00032"></a>00032
45
+ <a name="l00033"></a>00033 <span class="keywordtype">void</span> resize(<span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c = Colors::none);
46
+ <a name="l00034"></a>00034
47
+ <a name="l00035"></a>00035 <span class="keywordtype">void</span> fill(<a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c);
48
+ <a name="l00036"></a>00036 <span class="keywordtype">void</span> replace(<a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> oldColor, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> newColor);
49
+ <a name="l00037"></a>00037
50
+ <a name="l00040"></a><a class="code" href="classGosu_1_1Bitmap.html#93ea4a3ce9a09520dee52ba4deae4d18">00040</a> <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> <a class="code" href="classGosu_1_1Bitmap.html#93ea4a3ce9a09520dee52ba4deae4d18" title="Returns the color at the specified position.">getPixel</a>(<span class="keywordtype">unsigned</span> x, <span class="keywordtype">unsigned</span> y)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> pixels[y * w + x]; }
51
+ <a name="l00041"></a>00041
52
+ <a name="l00044"></a><a class="code" href="classGosu_1_1Bitmap.html#7a247689a33ceb7c296035f439d9e549">00044</a> <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1Bitmap.html#7a247689a33ceb7c296035f439d9e549" title="Sets the pixel at the specified position to a color.">setPixel</a>(<span class="keywordtype">unsigned</span> x, <span class="keywordtype">unsigned</span> y, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> c) { pixels[y * w + x] = c; }
53
+ <a name="l00045"></a>00045
54
+ <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1Bitmap.html#fe59c7aed8ffadefb136eff87326c13e" title="Inserts a bitmap at the given position.">insert</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; source, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
55
+ <a name="l00050"></a>00050
56
+ <a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classGosu_1_1Bitmap.html#fe59c7aed8ffadefb136eff87326c13e" title="Inserts a bitmap at the given position.">insert</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; source, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">unsigned</span> srcX,
57
+ <a name="l00055"></a>00055 <span class="keywordtype">unsigned</span> srcY, <span class="keywordtype">unsigned</span> srcWidth, <span class="keywordtype">unsigned</span> srcHeight);
58
+ <a name="l00056"></a>00056
59
+ <a name="l00057"></a>00057 <span class="preprocessor"> #ifndef __BIG_ENDIAN__</span>
60
+ <a name="l00059"></a><a class="code" href="classGosu_1_1Bitmap.html#1eab4186d0c6b539f9b94e0f70778e25">00059</a> <span class="preprocessor"> const unsigned* glCompatibleData() const { return reinterpret_cast&lt;const unsigned*&gt;(&amp;pixels[0]); }</span>
61
+ <a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
62
+ <a name="l00061"></a>00061 <span class="preprocessor"></span> };
63
+ <a name="l00062"></a>00062
64
+ <a name="l00064"></a>00064 Reader <a class="code" href="namespaceGosu.html#5eb2a400728e57559f35615af17ead55" title="Loads a Windows or OS/2 BMP file into the given bitmap.">loadFromBMP</a>(<a class="code" href="classGosu_1_1Bitmap.html" title="Rectangular area of pixels, each represented by a Color value.">Bitmap</a>&amp; bmp, Reader reader);
65
+ <a name="l00066"></a>00066 Writer <a class="code" href="namespaceGosu.html#88c53b6073e06c2ce343bf49579b02de" title="Saves the contents of the given bitmap into windows BMP file data.">saveToBMP</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; bmp, Writer writer);
66
+ <a name="l00068"></a>00068 Reader <a class="code" href="namespaceGosu.html#1be1c9db6a1ecf3b5c62797079e49e70" title="Loads a PNG file into the given bitmap.">loadFromPNG</a>(<a class="code" href="classGosu_1_1Bitmap.html" title="Rectangular area of pixels, each represented by a Color value.">Bitmap</a>&amp; bmp, Reader reader);
67
+ <a name="l00070"></a>00070 Writer <a class="code" href="namespaceGosu.html#7c1a78c796335d8f2183a6694a911eb7" title="Saves the contents of the given bitmap into PNG file data, 24 bits.">saveToPNG</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; bmp, Writer writer);
68
+ <a name="l00071"></a>00071
69
+ <a name="l00075"></a>00075 <span class="keywordtype">void</span> <a class="code" href="namespaceGosu.html#97ea4128d29b9835243e69939085bfa5" title="Set the alpha value of all pixels which are equal to the color key to zero.">applyColorKey</a>(<a class="code" href="classGosu_1_1Bitmap.html" title="Rectangular area of pixels, each represented by a Color value.">Bitmap</a>&amp; bitmap, <a class="code" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> key);
70
+ <a name="l00076"></a>00076
71
+ <a name="l00077"></a>00077 <span class="keywordtype">void</span> applyBorderFlags(<a class="code" href="classGosu_1_1Bitmap.html" title="Rectangular area of pixels, each represented by a Color value.">Bitmap</a>&amp; dest, <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; source,
72
+ <a name="l00078"></a>00078 <span class="keywordtype">unsigned</span> srcX, <span class="keywordtype">unsigned</span> srcY, <span class="keywordtype">unsigned</span> srcWidth, <span class="keywordtype">unsigned</span> srcHeight,
73
+ <a name="l00079"></a>00079 <span class="keywordtype">unsigned</span> borderFlags);
74
+ <a name="l00080"></a>00080
75
+ <a name="l00081"></a>00081 <span class="comment">// Still to be moved around &amp; undocumented, beware! (TODO)</span>
76
+ <a name="l00082"></a>00082 <a class="code" href="classGosu_1_1Bitmap.html" title="Rectangular area of pixels, each represented by a Color value.">Bitmap</a> quickLoadBitmap(<span class="keyword">const</span> std::wstring&amp; filename);
77
+ <a name="l00083"></a>00083 }
78
+ <a name="l00084"></a>00084
79
+ <a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
80
+ </pre></div></div>
81
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
82
+ <a href="http://www.doxygen.org/index.html">
83
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
84
+ </body>
85
+ </html>
@@ -0,0 +1,58 @@
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: Bitmap.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>Bitmap.hpp File Reference</h1>Interface of the Bitmap class. <a href="#_details">More...</a>
20
+ <p>
21
+
22
+ <p>
23
+ <a href="Bitmap_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_1Bitmap.html">Gosu::Bitmap</a></td></tr>
30
+
31
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rectangular area of pixels, each represented by a <a class="el" href="classGosu_1_1Color.html" title="Represents an ARGB color value with 8 bits for each channel.">Color</a> value. <a href="classGosu_1_1Bitmap.html#_details">More...</a><br></td></tr>
32
+ <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
33
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">Reader&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#5eb2a400728e57559f35615af17ead55">Gosu::loadFromBMP</a> (Bitmap &amp;bmp, Reader reader)</td></tr>
34
+
35
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">Writer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#88c53b6073e06c2ce343bf49579b02de">Gosu::saveToBMP</a> (const Bitmap &amp;bmp, Writer writer)</td></tr>
36
+
37
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">Reader&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#1be1c9db6a1ecf3b5c62797079e49e70">Gosu::loadFromPNG</a> (Bitmap &amp;bmp, Reader reader)</td></tr>
38
+
39
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">Writer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#7c1a78c796335d8f2183a6694a911eb7">Gosu::saveToPNG</a> (const Bitmap &amp;bmp, Writer writer)</td></tr>
40
+
41
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#97ea4128d29b9835243e69939085bfa5">Gosu::applyColorKey</a> (Bitmap &amp;bitmap, Color key)</td></tr>
42
+
43
+ <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72957c040474b5afedd1af49b8f3a035"></a><!-- doxytag: member="Bitmap.hpp::applyBorderFlags" ref="72957c040474b5afedd1af49b8f3a035" args="(Bitmap &amp;dest, const Bitmap &amp;source, unsigned srcX, unsigned srcY, unsigned srcWidth, unsigned srcHeight, unsigned borderFlags)" -->
44
+ void&nbsp;</td><td class="memItemRight" valign="bottom"><b>Gosu::applyBorderFlags</b> (Bitmap &amp;dest, const Bitmap &amp;source, unsigned srcX, unsigned srcY, unsigned srcWidth, unsigned srcHeight, unsigned borderFlags)</td></tr>
45
+
46
+ <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="263a114f352f439a3cbb0da9d52d18cb"></a><!-- doxytag: member="Bitmap.hpp::quickLoadBitmap" ref="263a114f352f439a3cbb0da9d52d18cb" args="(const std::wstring &amp;filename)" -->
47
+ Bitmap&nbsp;</td><td class="memItemRight" valign="bottom"><b>Gosu::quickLoadBitmap</b> (const std::wstring &amp;filename)</td></tr>
48
+
49
+ </table>
50
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
51
+ Interface of the Bitmap class.
52
+ <p>
53
+ </div>
54
+ <hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by&nbsp;
55
+ <a href="http://www.doxygen.org/index.html">
56
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
57
+ </body>
58
+ </html>