gosu 0.7.10.1

Sign up to get free protection for your applications and to get access to all the features.
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>