gosu 0.7.10.1
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING.txt +29 -0
- data/Gosu/Async.hpp +48 -0
- data/Gosu/Audio.hpp +145 -0
- data/Gosu/AutoLink.hpp +16 -0
- data/Gosu/Bitmap.hpp +85 -0
- data/Gosu/ButtonsMac.hpp +114 -0
- data/Gosu/ButtonsWin.hpp +111 -0
- data/Gosu/ButtonsX.hpp +115 -0
- data/Gosu/Color.hpp +172 -0
- data/Gosu/Directories.hpp +36 -0
- data/Gosu/Font.hpp +59 -0
- data/Gosu/Fwd.hpp +31 -0
- data/Gosu/Gosu.hpp +26 -0
- data/Gosu/Graphics.hpp +86 -0
- data/Gosu/GraphicsBase.hpp +45 -0
- data/Gosu/IO.hpp +255 -0
- data/Gosu/Image.hpp +148 -0
- data/Gosu/ImageData.hpp +45 -0
- data/Gosu/Input.hpp +116 -0
- data/Gosu/Math.hpp +95 -0
- data/Gosu/Platform.hpp +61 -0
- data/Gosu/RotFlip.hpp +116 -0
- data/Gosu/Sockets.hpp +129 -0
- data/Gosu/Text.hpp +47 -0
- data/Gosu/TextInput.hpp +57 -0
- data/Gosu/Timing.hpp +16 -0
- data/Gosu/Utility.hpp +24 -0
- data/Gosu/WinUtility.hpp +76 -0
- data/Gosu/Window.hpp +84 -0
- data/GosuImpl/Async.cpp +37 -0
- data/GosuImpl/AudioFmod.cpp +417 -0
- data/GosuImpl/AudioSDL.cpp +255 -0
- data/GosuImpl/DirectoriesMac.mm +38 -0
- data/GosuImpl/DirectoriesUnix.cpp +48 -0
- data/GosuImpl/DirectoriesWin.cpp +42 -0
- data/GosuImpl/FileUnix.cpp +100 -0
- data/GosuImpl/FileWin.cpp +83 -0
- data/GosuImpl/Graphics/Bitmap.cpp +116 -0
- data/GosuImpl/Graphics/BitmapBMP.cpp +232 -0
- data/GosuImpl/Graphics/BitmapColorKey.cpp +39 -0
- data/GosuImpl/Graphics/BitmapPNG.cpp +276 -0
- data/GosuImpl/Graphics/BitmapUtils.cpp +67 -0
- data/GosuImpl/Graphics/BlockAllocator.cpp +127 -0
- data/GosuImpl/Graphics/BlockAllocator.hpp +34 -0
- data/GosuImpl/Graphics/Color.cpp +126 -0
- data/GosuImpl/Graphics/Common.hpp +21 -0
- data/GosuImpl/Graphics/DrawOp.hpp +154 -0
- data/GosuImpl/Graphics/Font.cpp +110 -0
- data/GosuImpl/Graphics/Graphics.cpp +295 -0
- data/GosuImpl/Graphics/Image.cpp +159 -0
- data/GosuImpl/Graphics/LargeImageData.cpp +115 -0
- data/GosuImpl/Graphics/LargeImageData.hpp +37 -0
- data/GosuImpl/Graphics/RotFlip.cpp +184 -0
- data/GosuImpl/Graphics/TexChunk.cpp +77 -0
- data/GosuImpl/Graphics/TexChunk.hpp +40 -0
- data/GosuImpl/Graphics/Text.cpp +223 -0
- data/GosuImpl/Graphics/TextMac.cpp +242 -0
- data/GosuImpl/Graphics/TextPangoFT.cpp +186 -0
- data/GosuImpl/Graphics/TextWin.cpp +172 -0
- data/GosuImpl/Graphics/Texture.cpp +104 -0
- data/GosuImpl/Graphics/Texture.hpp +34 -0
- data/GosuImpl/IO.cpp +48 -0
- data/GosuImpl/InputMac.mm +677 -0
- data/GosuImpl/InputWin.cpp +444 -0
- data/GosuImpl/InputX.cpp +158 -0
- data/GosuImpl/MacUtility.hpp +48 -0
- data/GosuImpl/Math.cpp +49 -0
- data/GosuImpl/RubyGosu.swg +474 -0
- data/GosuImpl/RubyGosuStub.mm +17 -0
- data/GosuImpl/RubyGosu_DllMain.cxx +30 -0
- data/GosuImpl/RubyGosu_wrap.cxx +8521 -0
- data/GosuImpl/RubyGosu_wrap.h +31 -0
- data/GosuImpl/Sockets/CommSocket.cpp +304 -0
- data/GosuImpl/Sockets/ListenerSocket.cpp +60 -0
- data/GosuImpl/Sockets/MessageSocket.cpp +136 -0
- data/GosuImpl/Sockets/Socket.cpp +145 -0
- data/GosuImpl/Sockets/Sockets.hpp +66 -0
- data/GosuImpl/TextInputMac.mm +207 -0
- data/GosuImpl/TextInputWin.cpp +197 -0
- data/GosuImpl/TextInputX.cpp +201 -0
- data/GosuImpl/TextTTFWin.cpp +247 -0
- data/GosuImpl/TimingUnix.cpp +17 -0
- data/GosuImpl/TimingWin.cpp +28 -0
- data/GosuImpl/Utility.cpp +140 -0
- data/GosuImpl/WinMain.cpp +69 -0
- data/GosuImpl/WinUtility.cpp +137 -0
- data/GosuImpl/WindowMac.mm +466 -0
- data/GosuImpl/WindowWin.cpp +447 -0
- data/GosuImpl/WindowX.cpp +392 -0
- data/GosuImpl/X11vroot.h +118 -0
- data/README.txt +13 -0
- data/Rakefile +178 -0
- data/examples/ChipmunkIntegration.rb +275 -0
- data/examples/CptnRuby.rb +231 -0
- data/examples/MoreChipmunkAndRMagick.rb +155 -0
- data/examples/OpenGLIntegration.rb +232 -0
- data/examples/RMagickIntegration.rb +449 -0
- data/examples/TextInput.cpp +170 -0
- data/examples/TextInput.rb +139 -0
- data/examples/Tutorial.cpp +215 -0
- data/examples/Tutorial.rb +137 -0
- data/examples/media/Beep.wav +0 -0
- data/examples/media/CptnRuby Gem.png +0 -0
- data/examples/media/CptnRuby Map.txt +25 -0
- data/examples/media/CptnRuby Tileset.png +0 -0
- data/examples/media/CptnRuby.png +0 -0
- data/examples/media/Cursor.png +0 -0
- data/examples/media/Earth.png +0 -0
- data/examples/media/Explosion.wav +0 -0
- data/examples/media/LargeStar.png +0 -0
- data/examples/media/Sky.jpg +0 -0
- data/examples/media/Smoke.png +0 -0
- data/examples/media/Soldier.png +0 -0
- data/examples/media/Space.png +0 -0
- data/examples/media/Star.png +0 -0
- data/examples/media/Starfighter.bmp +0 -0
- data/linux/Makefile.in +98 -0
- data/linux/configure +5658 -0
- data/linux/configure.ac +126 -0
- data/linux/extconf.rb +11 -0
- data/mac/English.lproj/InfoPlist.strings +0 -0
- data/mac/Gosu-Info.plist +26 -0
- data/mac/Gosu.xcodeproj/project.pbxproj +1194 -0
- data/mac/RubyGosu Template-Info.plist +26 -0
- data/mac/libboost_thread_1_34_1_universal.a +0 -0
- data/mac/libboost_thread_d_1_34_1_universal.a +0 -0
- data/mac/libfmod_universal.a +0 -0
- data/mac/libpng_universal.a +0 -0
- data/mac/libz_universal.a +0 -0
- data/reference/Async_8hpp-source.html +70 -0
- data/reference/Audio_8hpp-source.html +114 -0
- data/reference/Audio_8hpp.html +50 -0
- data/reference/AutoLink_8hpp-source.html +38 -0
- data/reference/AutoLink_8hpp.html +34 -0
- data/reference/Bitmap_8hpp-source.html +85 -0
- data/reference/Bitmap_8hpp.html +58 -0
- data/reference/ButtonsMac_8hpp-source.html +133 -0
- data/reference/ButtonsWin_8hpp-source.html +133 -0
- data/reference/ButtonsX_8hpp-source.html +134 -0
- data/reference/Color_8hpp-source.html +169 -0
- data/reference/Color_8hpp.html +85 -0
- data/reference/Directories_8hpp-source.html +42 -0
- data/reference/Directories_8hpp.html +46 -0
- data/reference/Font_8hpp-source.html +65 -0
- data/reference/Font_8hpp.html +41 -0
- data/reference/Fwd_8hpp-source.html +52 -0
- data/reference/Fwd_8hpp.html +37 -0
- data/reference/Gosu_8hpp-source.html +48 -0
- data/reference/Gosu_8hpp.html +34 -0
- data/reference/GraphicsBase_8hpp-source.html +57 -0
- data/reference/GraphicsBase_8hpp.html +56 -0
- data/reference/Graphics_8hpp-source.html +96 -0
- data/reference/Graphics_8hpp.html +53 -0
- data/reference/IO_8hpp-source.html +255 -0
- data/reference/IO_8hpp.html +74 -0
- data/reference/ImageData_8hpp-source.html +62 -0
- data/reference/ImageData_8hpp.html +43 -0
- data/reference/Image_8hpp-source.html +126 -0
- data/reference/Image_8hpp.html +48 -0
- data/reference/Input_8hpp-source.html +118 -0
- data/reference/Input_8hpp.html +50 -0
- data/reference/Math_8hpp-source.html +92 -0
- data/reference/Math_8hpp.html +74 -0
- data/reference/Platform_8hpp-source.html +83 -0
- data/reference/Platform_8hpp.html +73 -0
- data/reference/RotFlip_8hpp-source.html +138 -0
- data/reference/RotFlip_8hpp.html +77 -0
- data/reference/Sockets_8hpp-source.html +130 -0
- data/reference/Sockets_8hpp.html +66 -0
- data/reference/TextInput_8hpp-source.html +64 -0
- data/reference/TextInput_8hpp.html +41 -0
- data/reference/Text_8hpp-source.html +51 -0
- data/reference/Text_8hpp.html +46 -0
- data/reference/Timing_8hpp-source.html +36 -0
- data/reference/Timing_8hpp.html +42 -0
- data/reference/Utility_8hpp-source.html +44 -0
- data/reference/Utility_8hpp.html +48 -0
- data/reference/WinUtility_8hpp-source.html +79 -0
- data/reference/WinUtility_8hpp.html +64 -0
- data/reference/Window_8hpp-source.html +91 -0
- data/reference/Window_8hpp.html +41 -0
- data/reference/annotated.html +51 -0
- data/reference/classGosu_1_1Audio-members.html +34 -0
- data/reference/classGosu_1_1Audio.html +46 -0
- data/reference/classGosu_1_1Bitmap-members.html +44 -0
- data/reference/classGosu_1_1Bitmap.html +263 -0
- data/reference/classGosu_1_1Buffer-members.html +44 -0
- data/reference/classGosu_1_1Buffer.html +78 -0
- data/reference/classGosu_1_1Buffer.png +0 -0
- data/reference/classGosu_1_1Button-members.html +36 -0
- data/reference/classGosu_1_1Button.html +143 -0
- data/reference/classGosu_1_1Color-members.html +56 -0
- data/reference/classGosu_1_1Color.html +387 -0
- data/reference/classGosu_1_1File-members.html +41 -0
- data/reference/classGosu_1_1File.html +69 -0
- data/reference/classGosu_1_1File.png +0 -0
- data/reference/classGosu_1_1Font-members.html +39 -0
- data/reference/classGosu_1_1Font.html +309 -0
- data/reference/classGosu_1_1Graphics-members.html +50 -0
- data/reference/classGosu_1_1Graphics.html +234 -0
- data/reference/classGosu_1_1Image-members.html +45 -0
- data/reference/classGosu_1_1Image.html +518 -0
- data/reference/classGosu_1_1ImageData-members.html +37 -0
- data/reference/classGosu_1_1ImageData.html +60 -0
- data/reference/classGosu_1_1Input-members.html +44 -0
- data/reference/classGosu_1_1Input.html +223 -0
- data/reference/classGosu_1_1MessageSocket-members.html +40 -0
- data/reference/classGosu_1_1MessageSocket.html +233 -0
- data/reference/classGosu_1_1Resource-members.html +39 -0
- data/reference/classGosu_1_1Resource.html +116 -0
- data/reference/classGosu_1_1Resource.png +0 -0
- data/reference/classGosu_1_1Sample-members.html +37 -0
- data/reference/classGosu_1_1Sample.html +200 -0
- data/reference/classGosu_1_1SampleInstance-members.html +38 -0
- data/reference/classGosu_1_1SampleInstance.html +169 -0
- data/reference/classGosu_1_1Song-members.html +43 -0
- data/reference/classGosu_1_1Song.html +260 -0
- data/reference/classGosu_1_1TextInput-members.html +38 -0
- data/reference/classGosu_1_1TextInput.html +121 -0
- data/reference/classGosu_1_1Window-members.html +50 -0
- data/reference/classGosu_1_1Window.html +271 -0
- data/reference/doxyfile +233 -0
- data/reference/doxygen.css +433 -0
- data/reference/doxygen.png +0 -0
- data/reference/files.html +54 -0
- data/reference/functions.html +236 -0
- data/reference/functions_enum.html +45 -0
- data/reference/functions_func.html +227 -0
- data/reference/functions_vars.html +47 -0
- data/reference/hierarchy.html +53 -0
- data/reference/index.html +26 -0
- data/reference/namespaceGosu.html +2890 -0
- data/reference/namespaceGosu_1_1Colors.html +70 -0
- data/reference/namespaceGosu_1_1Win.html +275 -0
- data/reference/namespacemembers.html +216 -0
- data/reference/namespacemembers_enum.html +52 -0
- data/reference/namespacemembers_eval.html +54 -0
- data/reference/namespacemembers_func.html +185 -0
- data/reference/namespacemembers_type.html +46 -0
- data/reference/namespacemembers_vars.html +46 -0
- data/reference/namespaces.html +35 -0
- data/reference/tab_b.gif +0 -0
- data/reference/tab_l.gif +0 -0
- data/reference/tab_r.gif +0 -0
- data/reference/tabs.css +102 -0
- data/windows/Gosu.sln +29 -0
- data/windows/Gosu.vcproj +553 -0
- data/windows/RubyGosu.vcproj +138 -0
- metadata +305 -0
@@ -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: Input.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 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>Input.hpp File Reference</h1>Interface of the Input class. <a href="#_details">More...</a>
|
20
|
+
<p>
|
21
|
+
|
22
|
+
<p>
|
23
|
+
<a href="Input_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 </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classGosu_1_1Button.html">Gosu::Button</a></td></tr>
|
30
|
+
|
31
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Very lightweight class that identifies a button (keyboard, mouse or other device). <a href="classGosu_1_1Button.html#_details">More...</a><br></td></tr>
|
32
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classGosu_1_1Input.html">Gosu::Input</a></td></tr>
|
33
|
+
|
34
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Manages initialization and shutdown of the input system; only one <a class="el" href="classGosu_1_1Input.html" title="Manages initialization and shutdown of the input system; only one Input instance...">Input</a> instance can live per application. <a href="classGosu_1_1Input.html#_details">More...</a><br></td></tr>
|
35
|
+
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
36
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#8abc916db977614382f04aef415c21c3">Gosu::operator==</a> (Button lhs, Button rhs)</td></tr>
|
37
|
+
|
38
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d6ebc33043d3f495cf4bfbea2184e6d6"></a><!-- doxytag: member="Input.hpp::operator!=" ref="d6ebc33043d3f495cf4bfbea2184e6d6" args="(Button lhs, Button rhs)" -->
|
39
|
+
bool </td><td class="memItemRight" valign="bottom"><b>Gosu::operator!=</b> (Button lhs, Button rhs)</td></tr>
|
40
|
+
|
41
|
+
</table>
|
42
|
+
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
43
|
+
Interface of the Input class.
|
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
|
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,92 @@
|
|
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: Math.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 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>Math.hpp</h1><a href="Math_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_MATH_HPP</span>
|
21
|
+
<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_MATH_HPP</span>
|
22
|
+
<a name="l00006"></a>00006 <span class="preprocessor"></span>
|
23
|
+
<a name="l00007"></a>00007 <span class="keyword">namespace </span>Gosu
|
24
|
+
<a name="l00008"></a>00008 {
|
25
|
+
<a name="l00010"></a><a class="code" href="namespaceGosu.html#cc7336a0eba36412dab0e991fb3faf01">00010</a> <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#cc7336a0eba36412dab0e991fb3faf01" title="Pi.">pi</a> = 3.1415926536;
|
26
|
+
<a name="l00011"></a>00011
|
27
|
+
<a name="l00014"></a><a class="code" href="namespaceGosu.html#dc5f4941f3a17c6c5233d6c7a628cc68">00014</a> <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="namespaceGosu.html#dc5f4941f3a17c6c5233d6c7a628cc68" title="Truncates the fractional part of a real value.">trunc</a>(<span class="keywordtype">double</span> value)
|
28
|
+
<a name="l00015"></a>00015 {
|
29
|
+
<a name="l00016"></a>00016 <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">long</span><span class="keyword">></span>(value);
|
30
|
+
<a name="l00017"></a>00017 }
|
31
|
+
<a name="l00018"></a>00018
|
32
|
+
<a name="l00020"></a><a class="code" href="namespaceGosu.html#496868cf52cf159cf98a00888c4fbc1c">00020</a> <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="namespaceGosu.html#496868cf52cf159cf98a00888c4fbc1c" title="Rounds a real value towards the next integer.">round</a>(<span class="keywordtype">double</span> value)
|
33
|
+
<a name="l00021"></a>00021 {
|
34
|
+
<a name="l00022"></a>00022 <span class="keywordflow">if</span> (value >= 0)
|
35
|
+
<a name="l00023"></a>00023 <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">long</span><span class="keyword">></span>(value + 0.5);
|
36
|
+
<a name="l00024"></a>00024 <span class="keywordflow">else</span>
|
37
|
+
<a name="l00025"></a>00025 <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">long</span><span class="keyword">></span>(value - 0.5);
|
38
|
+
<a name="l00026"></a>00026 }
|
39
|
+
<a name="l00027"></a>00027
|
40
|
+
<a name="l00030"></a>00030 <span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#6c855080566f7f1b1967c90805249dda" title="Returns a real value between min and max.">random</a>(<span class="keywordtype">double</span> min, <span class="keywordtype">double</span> max);
|
41
|
+
<a name="l00031"></a>00031
|
42
|
+
<a name="l00036"></a>00036 <span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#e61d02831aa7026e96f1e53a358609b2" title="Returns the horizontal distance between the origin and the point to which you would...">offsetX</a>(<span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#f7740dec821977a37ff26a90c2e85ac7" title="Returns the angle between two points in degrees, where 0.0 means upwards.">angle</a>, <span class="keywordtype">double</span> radius);
|
43
|
+
<a name="l00041"></a>00041 <span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#9e0845d8b2ed385cb4e8593e7a308a08" title="Returns the vertical distance between the origin and the point to which you would...">offsetY</a>(<span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#f7740dec821977a37ff26a90c2e85ac7" title="Returns the angle between two points in degrees, where 0.0 means upwards.">angle</a>, <span class="keywordtype">double</span> radius);
|
44
|
+
<a name="l00044"></a>00044 <span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#f7740dec821977a37ff26a90c2e85ac7" title="Returns the angle between two points in degrees, where 0.0 means upwards.">angle</a>(<span class="keywordtype">double</span> fromX, <span class="keywordtype">double</span> fromY, <span class="keywordtype">double</span> toX, <span class="keywordtype">double</span> toY,
|
45
|
+
<a name="l00045"></a>00045 <span class="keywordtype">double</span> def = 0);
|
46
|
+
<a name="l00047"></a>00047 <span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#36cfaba7c2038bfeabdd1672882704f4" title="Returns the smallest positive angle between two angles.">angleDiff</a>(<span class="keywordtype">double</span> angle1, <span class="keywordtype">double</span> angle2);
|
47
|
+
<a name="l00049"></a>00049 <span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#c6f147ab90f7e343dd9d70cc8bf3a91b" title="Normalizes an angle to fit into the range [0; 360[.">normalizeAngle</a>(<span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#f7740dec821977a37ff26a90c2e85ac7" title="Returns the angle between two points in degrees, where 0.0 means upwards.">angle</a>);
|
48
|
+
<a name="l00050"></a>00050
|
49
|
+
<a name="l00052"></a>00052 <span class="keyword">template</span><<span class="keyword">typename</span> T>
|
50
|
+
<a name="l00053"></a><a class="code" href="namespaceGosu.html#cac78b0775d1b551f4adf9ae76efb4cc">00053</a> T <a class="code" href="namespaceGosu.html#cac78b0775d1b551f4adf9ae76efb4cc" title="Returns value * value.">square</a>(T value)
|
51
|
+
<a name="l00054"></a>00054 {
|
52
|
+
<a name="l00055"></a>00055 <span class="keywordflow">return</span> value * value;
|
53
|
+
<a name="l00056"></a>00056 }
|
54
|
+
<a name="l00057"></a>00057
|
55
|
+
<a name="l00060"></a>00060 <span class="keyword">template</span><<span class="keyword">typename</span> T>
|
56
|
+
<a name="l00061"></a><a class="code" href="namespaceGosu.html#3359d78e0ca7fa5d163dce7b99f72e9f">00061</a> T <a class="code" href="namespaceGosu.html#3359d78e0ca7fa5d163dce7b99f72e9f" title="Returns min if value is smaller than min, max if value is larger than max and value...">clamp</a>(T value, T min, T max)
|
57
|
+
<a name="l00062"></a>00062 {
|
58
|
+
<a name="l00063"></a>00063 <span class="keywordflow">if</span> (value < min)
|
59
|
+
<a name="l00064"></a>00064 <span class="keywordflow">return</span> min;
|
60
|
+
<a name="l00065"></a>00065 <span class="keywordflow">if</span> (value > max)
|
61
|
+
<a name="l00066"></a>00066 <span class="keywordflow">return</span> max;
|
62
|
+
<a name="l00067"></a>00067 <span class="keywordflow">return</span> value;
|
63
|
+
<a name="l00068"></a>00068 }
|
64
|
+
<a name="l00069"></a>00069
|
65
|
+
<a name="l00070"></a>00070 <span class="comment">// Backward compatibility with 0.7.x</span>
|
66
|
+
<a name="l00071"></a>00071 <span class="keyword">template</span><<span class="keyword">typename</span> T>
|
67
|
+
<a name="l00072"></a>00072 T boundBy(T value, T min, T max)
|
68
|
+
<a name="l00073"></a>00073 {
|
69
|
+
<a name="l00074"></a>00074 <span class="keywordflow">return</span> <a class="code" href="namespaceGosu.html#3359d78e0ca7fa5d163dce7b99f72e9f" title="Returns min if value is smaller than min, max if value is larger than max and value...">clamp</a>(value, min, max);
|
70
|
+
<a name="l00075"></a>00075 }
|
71
|
+
<a name="l00076"></a>00076
|
72
|
+
<a name="l00078"></a><a class="code" href="namespaceGosu.html#58015f2ee3527184171d3d99176fd360">00078</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#58015f2ee3527184171d3d99176fd360" title="Returns the square of the distance between two points.">distanceSqr</a>(<span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> y1, <span class="keywordtype">double</span> x2, <span class="keywordtype">double</span> y2)
|
73
|
+
<a name="l00079"></a>00079 {
|
74
|
+
<a name="l00080"></a>00080 <span class="keywordflow">return</span> <a class="code" href="namespaceGosu.html#cac78b0775d1b551f4adf9ae76efb4cc" title="Returns value * value.">square</a>(x1 - x2) + <a class="code" href="namespaceGosu.html#cac78b0775d1b551f4adf9ae76efb4cc" title="Returns value * value.">square</a>(y1 - y2);
|
75
|
+
<a name="l00081"></a>00081 }
|
76
|
+
<a name="l00082"></a>00082
|
77
|
+
<a name="l00084"></a>00084 <span class="keywordtype">double</span> <a class="code" href="namespaceGosu.html#a06a29a8aefa1be625072b02e2d825bd" title="Returns the distance between two points.">distance</a>(<span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> y1, <span class="keywordtype">double</span> x2, <span class="keywordtype">double</span> y2);
|
78
|
+
<a name="l00085"></a>00085
|
79
|
+
<a name="l00088"></a>00088 <span class="keyword">template</span><<span class="keyword">typename</span> T>
|
80
|
+
<a name="l00089"></a><a class="code" href="namespaceGosu.html#29515f6c9be056e9ca5f672dec154847">00089</a> T <a class="code" href="namespaceGosu.html#55c2cfa7575386d8eb6a8dc615e905ae" title="Interpolates linearly between two colors, with a given weight towards the second...">interpolate</a>(T a, T b, <span class="keywordtype">double</span> weight = 0.5)
|
81
|
+
<a name="l00090"></a>00090 {
|
82
|
+
<a name="l00091"></a>00091 <span class="keywordflow">return</span> a * (1.0 - weight) + b * weight;
|
83
|
+
<a name="l00092"></a>00092 }
|
84
|
+
<a name="l00093"></a>00093 }
|
85
|
+
<a name="l00094"></a>00094
|
86
|
+
<a name="l00095"></a>00095 <span class="preprocessor">#endif</span>
|
87
|
+
</pre></div></div>
|
88
|
+
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by
|
89
|
+
<a href="http://www.doxygen.org/index.html">
|
90
|
+
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
91
|
+
</body>
|
92
|
+
</html>
|
@@ -0,0 +1,74 @@
|
|
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: Math.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 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>Math.hpp File Reference</h1>Contains simple math functionality. <a href="#_details">More...</a>
|
20
|
+
<p>
|
21
|
+
|
22
|
+
<p>
|
23
|
+
<a href="Math_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 </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html">Gosu</a></td></tr>
|
27
|
+
|
28
|
+
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
29
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#dc5f4941f3a17c6c5233d6c7a628cc68">Gosu::trunc</a> (double value)</td></tr>
|
30
|
+
|
31
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#496868cf52cf159cf98a00888c4fbc1c">Gosu::round</a> (double value)</td></tr>
|
32
|
+
|
33
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#6c855080566f7f1b1967c90805249dda">Gosu::random</a> (double min, double max)</td></tr>
|
34
|
+
|
35
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#e61d02831aa7026e96f1e53a358609b2">Gosu::offsetX</a> (double angle, double radius)</td></tr>
|
36
|
+
|
37
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#9e0845d8b2ed385cb4e8593e7a308a08">Gosu::offsetY</a> (double angle, double radius)</td></tr>
|
38
|
+
|
39
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#f7740dec821977a37ff26a90c2e85ac7">Gosu::angle</a> (double fromX, double fromY, double toX, double toY, double def=0)</td></tr>
|
40
|
+
|
41
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#36cfaba7c2038bfeabdd1672882704f4">Gosu::angleDiff</a> (double angle1, double angle2)</td></tr>
|
42
|
+
|
43
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#c6f147ab90f7e343dd9d70cc8bf3a91b">Gosu::normalizeAngle</a> (double angle)</td></tr>
|
44
|
+
|
45
|
+
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
|
46
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#cac78b0775d1b551f4adf9ae76efb4cc">Gosu::square</a> (T value)</td></tr>
|
47
|
+
|
48
|
+
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
|
49
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#3359d78e0ca7fa5d163dce7b99f72e9f">Gosu::clamp</a> (T value, T min, T max)</td></tr>
|
50
|
+
|
51
|
+
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="5b35114c04a3f01d54c2e052d350b61f"></a><!-- doxytag: member="Math.hpp::boundBy" ref="5b35114c04a3f01d54c2e052d350b61f" args="(T value, T min, T max)" -->
|
52
|
+
template<typename T> </td></tr>
|
53
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>Gosu::boundBy</b> (T value, T min, T max)</td></tr>
|
54
|
+
|
55
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#58015f2ee3527184171d3d99176fd360">Gosu::distanceSqr</a> (double x1, double y1, double x2, double y2)</td></tr>
|
56
|
+
|
57
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#a06a29a8aefa1be625072b02e2d825bd">Gosu::distance</a> (double x1, double y1, double x2, double y2)</td></tr>
|
58
|
+
|
59
|
+
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
|
60
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#29515f6c9be056e9ca5f672dec154847">Gosu::interpolate</a> (T a, T b, double weight=0.5)</td></tr>
|
61
|
+
|
62
|
+
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
|
63
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">const double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html#cc7336a0eba36412dab0e991fb3faf01">Gosu::pi</a> = 3.1415926536</td></tr>
|
64
|
+
|
65
|
+
</table>
|
66
|
+
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
67
|
+
Contains simple math functionality.
|
68
|
+
<p>
|
69
|
+
</div>
|
70
|
+
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by
|
71
|
+
<a href="http://www.doxygen.org/index.html">
|
72
|
+
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
73
|
+
</body>
|
74
|
+
</html>
|
@@ -0,0 +1,83 @@
|
|
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: Platform.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 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>Platform.hpp</h1><a href="Platform_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_PLATFORM_HPP</span>
|
21
|
+
<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_PLATFORM_HPP</span>
|
22
|
+
<a name="l00006"></a>00006 <span class="preprocessor"></span>
|
23
|
+
<a name="l00007"></a>00007 <span class="preprocessor">#ifdef __BIG_ENDIAN__</span>
|
24
|
+
<a name="l00008"></a>00008 <span class="preprocessor"></span><span class="preprocessor">#define IDENTITY_FUN bigToNative</span>
|
25
|
+
<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define IDENTITY_FUN2 nativeToBig</span>
|
26
|
+
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define CONV_FUN littleToNative</span>
|
27
|
+
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define CONV_FUN2 nativeToLittle</span>
|
28
|
+
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#else</span>
|
29
|
+
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define IDENTITY_FUN littleToNative</span>
|
30
|
+
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define IDENTITY_FUN2 nativeToLittle</span>
|
31
|
+
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define CONV_FUN bigToNative</span>
|
32
|
+
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define CONV_FUN2 nativeToBig</span>
|
33
|
+
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
|
34
|
+
<a name="l00018"></a>00018 <span class="preprocessor"></span>
|
35
|
+
<a name="l00019"></a>00019 <span class="preprocessor">#include <algorithm></span>
|
36
|
+
<a name="l00020"></a>00020
|
37
|
+
<a name="l00021"></a>00021 <span class="keyword">namespace </span>Gosu
|
38
|
+
<a name="l00022"></a>00022 {
|
39
|
+
<a name="l00023"></a>00023 <span class="keyword">template</span><<span class="keyword">typename</span> T> T IDENTITY_FUN(T t) { <span class="keywordflow">return</span> t; }
|
40
|
+
<a name="l00024"></a>00024 <span class="keyword">template</span><<span class="keyword">typename</span> T> T IDENTITY_FUN2(T t) { <span class="keywordflow">return</span> t; }
|
41
|
+
<a name="l00025"></a>00025
|
42
|
+
<a name="l00026"></a>00026 <span class="keyword">template</span><<span class="keyword">typename</span> T>
|
43
|
+
<a name="l00027"></a>00027 T CONV_FUN(T t)
|
44
|
+
<a name="l00028"></a>00028 {
|
45
|
+
<a name="l00029"></a>00029 <span class="keywordtype">char</span>* begin = <span class="keyword">reinterpret_cast<</span><span class="keywordtype">char</span>*<span class="keyword">></span>(&t);
|
46
|
+
<a name="l00030"></a>00030 std::reverse(begin, begin + <span class="keyword">sizeof</span> t);
|
47
|
+
<a name="l00031"></a>00031 <span class="keywordflow">return</span> t;
|
48
|
+
<a name="l00032"></a>00032 }
|
49
|
+
<a name="l00033"></a>00033
|
50
|
+
<a name="l00034"></a>00034 <span class="keyword">template</span><<span class="keyword">typename</span> T> T CONV_FUN2(T t) { <span class="keywordflow">return</span> CONV_FUN(t); }
|
51
|
+
<a name="l00035"></a>00035 }
|
52
|
+
<a name="l00036"></a>00036
|
53
|
+
<a name="l00037"></a>00037 <span class="preprocessor">#undef IDENTITY_FUN</span>
|
54
|
+
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#undef IDENTITY_FUN2</span>
|
55
|
+
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#undef CONV_FUN</span>
|
56
|
+
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#undef CONV_FUN2</span>
|
57
|
+
<a name="l00041"></a>00041 <span class="preprocessor"></span>
|
58
|
+
<a name="l00042"></a>00042 <span class="preprocessor">#ifdef _MSC_VER</span>
|
59
|
+
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_NORETURN __declspec(noreturn)</span>
|
60
|
+
<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
|
61
|
+
<a name="l00045"></a>00045 <span class="preprocessor"></span>
|
62
|
+
<a name="l00046"></a>00046 <span class="preprocessor">#ifdef __GNUC__</span>
|
63
|
+
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_NORETURN __attribute__ ((noreturn))</span>
|
64
|
+
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
|
65
|
+
<a name="l00049"></a>00049 <span class="preprocessor"></span>
|
66
|
+
<a name="l00050"></a>00050 <span class="preprocessor">#ifdef WIN32</span>
|
67
|
+
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor"># define GOSU_IS_WIN</span>
|
68
|
+
<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#else</span>
|
69
|
+
<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor"># define GOSU_IS_UNIX</span>
|
70
|
+
<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor"># if defined(__linux) || defined(__FreeBSD__)</span>
|
71
|
+
<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor"># define GOSU_IS_X</span>
|
72
|
+
<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor"># else</span>
|
73
|
+
<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor"># define GOSU_IS_MAC</span>
|
74
|
+
<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
|
75
|
+
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
|
76
|
+
<a name="l00060"></a>00060 <span class="preprocessor"></span>
|
77
|
+
<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
|
78
|
+
</pre></div></div>
|
79
|
+
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by
|
80
|
+
<a href="http://www.doxygen.org/index.html">
|
81
|
+
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
82
|
+
</body>
|
83
|
+
</html>
|
@@ -0,0 +1,73 @@
|
|
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: Platform.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 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>Platform.hpp File Reference</h1>Macros and utility functions to facilitate programming on all of Gosu's supported platforms. <a href="#_details">More...</a>
|
20
|
+
<p>
|
21
|
+
|
22
|
+
<p>
|
23
|
+
<a href="Platform_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 </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceGosu.html">Gosu</a></td></tr>
|
27
|
+
|
28
|
+
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
|
29
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83e716dc517663f3e92113a65ac89f00"></a><!-- doxytag: member="Platform.hpp::IDENTITY_FUN" ref="83e716dc517663f3e92113a65ac89f00" args="" -->
|
30
|
+
#define </td><td class="memItemRight" valign="bottom"><b>IDENTITY_FUN</b> littleToNative</td></tr>
|
31
|
+
|
32
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d825a041da05b9ead5967326d23d1adb"></a><!-- doxytag: member="Platform.hpp::IDENTITY_FUN2" ref="d825a041da05b9ead5967326d23d1adb" args="" -->
|
33
|
+
#define </td><td class="memItemRight" valign="bottom"><b>IDENTITY_FUN2</b> nativeToLittle</td></tr>
|
34
|
+
|
35
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1cfd7bfc4d742a19627a9cf7d0888635"></a><!-- doxytag: member="Platform.hpp::CONV_FUN" ref="1cfd7bfc4d742a19627a9cf7d0888635" args="" -->
|
36
|
+
#define </td><td class="memItemRight" valign="bottom"><b>CONV_FUN</b> bigToNative</td></tr>
|
37
|
+
|
38
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="efee8d4b97053f2b3f1e83e5ebbd2f27"></a><!-- doxytag: member="Platform.hpp::CONV_FUN2" ref="efee8d4b97053f2b3f1e83e5ebbd2f27" args="" -->
|
39
|
+
#define </td><td class="memItemRight" valign="bottom"><b>CONV_FUN2</b> nativeToBig</td></tr>
|
40
|
+
|
41
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="affbc4e302a692e21642914e262b7e30"></a><!-- doxytag: member="Platform.hpp::GOSU_IS_UNIX" ref="affbc4e302a692e21642914e262b7e30" args="" -->
|
42
|
+
#define </td><td class="memItemRight" valign="bottom"><b>GOSU_IS_UNIX</b></td></tr>
|
43
|
+
|
44
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1fa939cf2107f6a856c431806578aa1e"></a><!-- doxytag: member="Platform.hpp::GOSU_IS_MAC" ref="1fa939cf2107f6a856c431806578aa1e" args="" -->
|
45
|
+
#define </td><td class="memItemRight" valign="bottom"><b>GOSU_IS_MAC</b></td></tr>
|
46
|
+
|
47
|
+
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
48
|
+
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3ea757503a65f9fb3b8ba913c726585f"></a><!-- doxytag: member="Platform.hpp::IDENTITY_FUN" ref="3ea757503a65f9fb3b8ba913c726585f" args="(T t)" -->
|
49
|
+
template<typename T> </td></tr>
|
50
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>Gosu::IDENTITY_FUN</b> (T t)</td></tr>
|
51
|
+
|
52
|
+
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ab6a919c784cf33d6d9a64ce61110cd7"></a><!-- doxytag: member="Platform.hpp::IDENTITY_FUN2" ref="ab6a919c784cf33d6d9a64ce61110cd7" args="(T t)" -->
|
53
|
+
template<typename T> </td></tr>
|
54
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>Gosu::IDENTITY_FUN2</b> (T t)</td></tr>
|
55
|
+
|
56
|
+
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f161626629fdbc5bf78c55a016efc82d"></a><!-- doxytag: member="Platform.hpp::CONV_FUN" ref="f161626629fdbc5bf78c55a016efc82d" args="(T t)" -->
|
57
|
+
template<typename T> </td></tr>
|
58
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>Gosu::CONV_FUN</b> (T t)</td></tr>
|
59
|
+
|
60
|
+
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="23fbca32f7bdea943a463509fd8ee26e"></a><!-- doxytag: member="Platform.hpp::CONV_FUN2" ref="23fbca32f7bdea943a463509fd8ee26e" args="(T t)" -->
|
61
|
+
template<typename T> </td></tr>
|
62
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>Gosu::CONV_FUN2</b> (T t)</td></tr>
|
63
|
+
|
64
|
+
</table>
|
65
|
+
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
66
|
+
Macros and utility functions to facilitate programming on all of Gosu's supported platforms.
|
67
|
+
<p>
|
68
|
+
</div>
|
69
|
+
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by
|
70
|
+
<a href="http://www.doxygen.org/index.html">
|
71
|
+
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
72
|
+
</body>
|
73
|
+
</html>
|
@@ -0,0 +1,138 @@
|
|
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: RotFlip.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 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>RotFlip.hpp</h1><a href="RotFlip_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_ROTFLIP_HPP</span>
|
21
|
+
<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define GOSU_ROTFLIP_HPP</span>
|
22
|
+
<a name="l00006"></a>00006 <span class="preprocessor"></span>
|
23
|
+
<a name="l00007"></a>00007 <span class="keyword">namespace </span>Gosu
|
24
|
+
<a name="l00008"></a>00008 {
|
25
|
+
<a name="l00009"></a>00009 <span class="keyword">enum</span> RotFlipName
|
26
|
+
<a name="l00010"></a>00010 {
|
27
|
+
<a name="l00011"></a>00011 rfDefault,
|
28
|
+
<a name="l00012"></a>00012 rfRotate90,
|
29
|
+
<a name="l00013"></a>00013 rfRotate180,
|
30
|
+
<a name="l00014"></a>00014 rfRotate270,
|
31
|
+
<a name="l00015"></a>00015
|
32
|
+
<a name="l00016"></a>00016 rfFlipX,
|
33
|
+
<a name="l00017"></a>00017 rfRotate90FlipX,
|
34
|
+
<a name="l00018"></a>00018 rfRotate180FlipX,
|
35
|
+
<a name="l00019"></a>00019 rfRotate270FlipX,
|
36
|
+
<a name="l00020"></a>00020
|
37
|
+
<a name="l00021"></a>00021 rfFlipY = rfRotate180FlipX,
|
38
|
+
<a name="l00022"></a>00022 rfRotate90FlipY = rfRotate270FlipX,
|
39
|
+
<a name="l00023"></a>00023 rfRotate180FlipY = rfFlipX,
|
40
|
+
<a name="l00024"></a>00024 rfRotate270FlipY = rfRotate90FlipX,
|
41
|
+
<a name="l00025"></a>00025
|
42
|
+
<a name="l00026"></a>00026 rfFlipXRotate90 = rfRotate270FlipX,
|
43
|
+
<a name="l00027"></a>00027 rfFlipXRotate180 = rfRotate180FlipX,
|
44
|
+
<a name="l00028"></a>00028 rfFlipXRotate270 = rfRotate90FlipX,
|
45
|
+
<a name="l00029"></a>00029
|
46
|
+
<a name="l00030"></a>00030 rfFlipYRotate90 = rfRotate90FlipX,
|
47
|
+
<a name="l00031"></a>00031 rfFlipYRotate180 = rfFlipX,
|
48
|
+
<a name="l00032"></a>00032 rfFlipYRotate270 = rfRotate270FlipX
|
49
|
+
<a name="l00033"></a>00033 };
|
50
|
+
<a name="l00034"></a>00034
|
51
|
+
<a name="l00035"></a>00035 <span class="keyword">class </span>RotFlip
|
52
|
+
<a name="l00036"></a>00036 {
|
53
|
+
<a name="l00037"></a>00037 RotFlipName name_;
|
54
|
+
<a name="l00038"></a>00038
|
55
|
+
<a name="l00039"></a>00039 <span class="keyword">typedef</span> RotFlipName TransTable[8];
|
56
|
+
<a name="l00040"></a>00040 <span class="keyword">static</span> <span class="keyword">const</span> TransTable flipXTable, flipYTable, rotate90Table,
|
57
|
+
<a name="l00041"></a>00041 rotate180Table, rotate270Table;
|
58
|
+
<a name="l00042"></a>00042
|
59
|
+
<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> CornerTable[8][4];
|
60
|
+
<a name="l00044"></a>00044 <span class="keyword">static</span> <span class="keyword">const</span> CornerTable mapCornerTable, realCornerTable;
|
61
|
+
<a name="l00045"></a>00045
|
62
|
+
<a name="l00046"></a>00046 <span class="keyword">public</span>:
|
63
|
+
<a name="l00047"></a>00047 RotFlip(RotFlipName name = rfDefault)
|
64
|
+
<a name="l00048"></a>00048 : name_(name)
|
65
|
+
<a name="l00049"></a>00049 {
|
66
|
+
<a name="l00050"></a>00050 }
|
67
|
+
<a name="l00051"></a>00051
|
68
|
+
<a name="l00052"></a>00052 RotFlipName name()<span class="keyword"> const</span>
|
69
|
+
<a name="l00053"></a>00053 <span class="keyword"> </span>{
|
70
|
+
<a name="l00054"></a>00054 <span class="keywordflow">return</span> name_;
|
71
|
+
<a name="l00055"></a>00055 }
|
72
|
+
<a name="l00056"></a>00056
|
73
|
+
<a name="l00057"></a>00057 <span class="keywordtype">void</span> flipX()
|
74
|
+
<a name="l00058"></a>00058 {
|
75
|
+
<a name="l00059"></a>00059 name_ = flipXTable[name_];
|
76
|
+
<a name="l00060"></a>00060 }
|
77
|
+
<a name="l00061"></a>00061
|
78
|
+
<a name="l00062"></a>00062 <span class="keywordtype">void</span> flipY()
|
79
|
+
<a name="l00063"></a>00063 {
|
80
|
+
<a name="l00064"></a>00064 name_ = flipYTable[name_];
|
81
|
+
<a name="l00065"></a>00065 }
|
82
|
+
<a name="l00066"></a>00066
|
83
|
+
<a name="l00067"></a>00067 <span class="keywordtype">void</span> rotate90()
|
84
|
+
<a name="l00068"></a>00068 {
|
85
|
+
<a name="l00069"></a>00069 name_ = rotate90Table[name_];
|
86
|
+
<a name="l00070"></a>00070 }
|
87
|
+
<a name="l00071"></a>00071
|
88
|
+
<a name="l00072"></a>00072 <span class="keywordtype">void</span> rotate180()
|
89
|
+
<a name="l00073"></a>00073 {
|
90
|
+
<a name="l00074"></a>00074 name_ = rotate180Table[name_];
|
91
|
+
<a name="l00075"></a>00075 }
|
92
|
+
<a name="l00076"></a>00076
|
93
|
+
<a name="l00077"></a>00077 <span class="keywordtype">void</span> rotate270()
|
94
|
+
<a name="l00078"></a>00078 {
|
95
|
+
<a name="l00079"></a>00079 name_ = rotate270Table[name_];
|
96
|
+
<a name="l00080"></a>00080 }
|
97
|
+
<a name="l00081"></a>00081
|
98
|
+
<a name="l00082"></a>00082 <span class="keywordtype">bool</span> flipped()<span class="keyword"> const</span>
|
99
|
+
<a name="l00083"></a>00083 <span class="keyword"> </span>{
|
100
|
+
<a name="l00084"></a>00084 <span class="keywordflow">return</span> name_ >= rfFlipX;
|
101
|
+
<a name="l00085"></a>00085 }
|
102
|
+
<a name="l00086"></a>00086
|
103
|
+
<a name="l00087"></a>00087 <span class="keywordtype">bool</span> rotated()<span class="keyword"> const</span>
|
104
|
+
<a name="l00088"></a>00088 <span class="keyword"> </span>{
|
105
|
+
<a name="l00089"></a>00089 <span class="keywordflow">return</span> name_ % 2 == 1;
|
106
|
+
<a name="l00090"></a>00090 }
|
107
|
+
<a name="l00091"></a>00091
|
108
|
+
<a name="l00092"></a>00092 <span class="keywordtype">unsigned</span> mapCorner(<span class="keywordtype">unsigned</span> n)<span class="keyword"> const</span>
|
109
|
+
<a name="l00093"></a>00093 <span class="keyword"> </span>{
|
110
|
+
<a name="l00094"></a>00094 <span class="keywordflow">return</span> mapCornerTable[name_][n];
|
111
|
+
<a name="l00095"></a>00095 }
|
112
|
+
<a name="l00096"></a>00096
|
113
|
+
<a name="l00097"></a>00097 <span class="keywordtype">unsigned</span> realCorner(<span class="keywordtype">unsigned</span> n)<span class="keyword"> const</span>
|
114
|
+
<a name="l00098"></a>00098 <span class="keyword"> </span>{
|
115
|
+
<a name="l00099"></a>00099 <span class="keywordflow">return</span> realCornerTable[name_][n];
|
116
|
+
<a name="l00100"></a>00100 }
|
117
|
+
<a name="l00101"></a>00101 };
|
118
|
+
<a name="l00102"></a>00102
|
119
|
+
<a name="l00103"></a>00103 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(RotFlip a, RotFlip b)
|
120
|
+
<a name="l00104"></a>00104 {
|
121
|
+
<a name="l00105"></a>00105 <span class="keywordflow">return</span> a.name() == b.name();
|
122
|
+
<a name="l00106"></a>00106 }
|
123
|
+
<a name="l00107"></a>00107
|
124
|
+
<a name="l00108"></a>00108 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(RotFlip a, RotFlip b)
|
125
|
+
<a name="l00109"></a>00109 {
|
126
|
+
<a name="l00110"></a>00110 <span class="keywordflow">return</span> a.name() != b.name();
|
127
|
+
<a name="l00111"></a>00111 }
|
128
|
+
<a name="l00112"></a>00112
|
129
|
+
<a name="l00113"></a>00113 <span class="keywordtype">void</span> applyToPoint(RotFlip rotFlip, <span class="keywordtype">int</span>& x, <span class="keywordtype">int</span>& y, <span class="keywordtype">int</span> max);
|
130
|
+
<a name="l00114"></a>00114 }
|
131
|
+
<a name="l00115"></a>00115
|
132
|
+
<a name="l00116"></a>00116 <span class="preprocessor">#endif</span>
|
133
|
+
</pre></div></div>
|
134
|
+
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Sep 12 21:50:23 2008 for Gosu by
|
135
|
+
<a href="http://www.doxygen.org/index.html">
|
136
|
+
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
137
|
+
</body>
|
138
|
+
</html>
|