1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<title>SDL_gfx: I:/Sources/sdlgfx/SDL_framerate.c File Reference</title>
7
8<link href="tabs.css" rel="stylesheet" type="text/css"/>
9<link href="doxygen.css" rel="stylesheet" type="text/css" />
10
11
12
13</head>
14<body>
15<div id="top"><!-- do not remove this div! -->
16
17
18<div id="titlearea">
19<table cellspacing="0" cellpadding="0">
20 <tbody>
21 <tr style="height: 56px;">
22
23
24  <td style="padding-left: 0.5em;">
25   <div id="projectname">SDL_gfx
26   &#160;<span id="projectnumber">2.0.25</span>
27   </div>
28
29  </td>
30
31
32
33 </tr>
34 </tbody>
35</table>
36</div>
37
38<!-- Generated by Doxygen 1.8.0 -->
39  <div id="navrow1" class="tabs">
40    <ul class="tablist">
41      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
42      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
43      <li class="current"><a href="files.html"><span>Files</span></a></li>
44    </ul>
45  </div>
46  <div id="navrow2" class="tabs2">
47    <ul class="tablist">
48      <li><a href="files.html"><span>File&#160;List</span></a></li>
49      <li><a href="globals.html"><span>Globals</span></a></li>
50    </ul>
51  </div>
52</div>
53<div class="header">
54  <div class="summary">
55<a href="#func-members">Functions</a>  </div>
56  <div class="headertitle">
57<div class="title">I:/Sources/sdlgfx/SDL_framerate.c File Reference</div>  </div>
58</div><!--header-->
59<div class="contents">
60<div class="textblock"><code>#include &quot;<a class="el" href="_s_d_l__framerate_8h_source.html">SDL_framerate.h</a>&quot;</code><br/>
61</div>
62<p><a href="_s_d_l__framerate_8c_source.html">Go to the source code of this file.</a></p>
63<table class="memberdecls">
64<tr><td colspan="2"><h2><a name="func-members"></a>
65Functions</h2></td></tr>
66<tr class="memitem:a3bed31ab61648f7d69c8f47c90161cfe"><td class="memItemLeft" align="right" valign="top">Uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__framerate_8c.html#a3bed31ab61648f7d69c8f47c90161cfe">_getTicks</a> ()</td></tr>
67<tr class="memdesc:a3bed31ab61648f7d69c8f47c90161cfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal wrapper to SDL_GetTicks that ensures a non-zero return value.  <a href="#a3bed31ab61648f7d69c8f47c90161cfe"></a><br/></td></tr>
68<tr class="memitem:a444ebaaaa6b1ceeafa921562bdab1a44"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__framerate_8c.html#a444ebaaaa6b1ceeafa921562bdab1a44">SDL_initFramerate</a> (<a class="el" href="struct_f_p_smanager.html">FPSmanager</a> *manager)</td></tr>
69<tr class="memdesc:a444ebaaaa6b1ceeafa921562bdab1a44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the framerate manager.  <a href="#a444ebaaaa6b1ceeafa921562bdab1a44"></a><br/></td></tr>
70<tr class="memitem:afad4b503cf9719daced45fa4d9653d72"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__framerate_8c.html#afad4b503cf9719daced45fa4d9653d72">SDL_setFramerate</a> (<a class="el" href="struct_f_p_smanager.html">FPSmanager</a> *manager, Uint32 rate)</td></tr>
71<tr class="memdesc:afad4b503cf9719daced45fa4d9653d72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the framerate in Hz.  <a href="#afad4b503cf9719daced45fa4d9653d72"></a><br/></td></tr>
72<tr class="memitem:a575bb511d6f817ad846a788cbd08ae91"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__framerate_8c.html#a575bb511d6f817ad846a788cbd08ae91">SDL_getFramerate</a> (<a class="el" href="struct_f_p_smanager.html">FPSmanager</a> *manager)</td></tr>
73<tr class="memdesc:a575bb511d6f817ad846a788cbd08ae91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current target framerate in Hz.  <a href="#a575bb511d6f817ad846a788cbd08ae91"></a><br/></td></tr>
74<tr class="memitem:a96b13e26f8436222e866904a592a6eec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__framerate_8c.html#a96b13e26f8436222e866904a592a6eec">SDL_getFramecount</a> (<a class="el" href="struct_f_p_smanager.html">FPSmanager</a> *manager)</td></tr>
75<tr class="memdesc:a96b13e26f8436222e866904a592a6eec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current framecount.  <a href="#a96b13e26f8436222e866904a592a6eec"></a><br/></td></tr>
76<tr class="memitem:afce13fa3dd37130deb4975d8b230c3ba"><td class="memItemLeft" align="right" valign="top">Uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__framerate_8c.html#afce13fa3dd37130deb4975d8b230c3ba">SDL_framerateDelay</a> (<a class="el" href="struct_f_p_smanager.html">FPSmanager</a> *manager)</td></tr>
77<tr class="memdesc:afce13fa3dd37130deb4975d8b230c3ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delay execution to maintain a constant framerate and calculate fps.  <a href="#afce13fa3dd37130deb4975d8b230c3ba"></a><br/></td></tr>
78</table>
79<hr/><h2>Function Documentation</h2>
80<a class="anchor" id="a3bed31ab61648f7d69c8f47c90161cfe"></a>
81<div class="memitem">
82<div class="memproto">
83      <table class="memname">
84        <tr>
85          <td class="memname">Uint32 <a class="el" href="_s_d_l__framerate_8c.html#a3bed31ab61648f7d69c8f47c90161cfe">_getTicks</a> </td>
86          <td>(</td>
87          <td class="paramname"></td><td>)</td>
88          <td></td>
89        </tr>
90      </table>
91</div>
92<div class="memdoc">
93
94<p>Internal wrapper to SDL_GetTicks that ensures a non-zero return value. </p>
95<dl class="section return"><dt>Returns:</dt><dd>The tick count. </dd></dl>
96
97<p>Definition at line <a class="el" href="_s_d_l__framerate_8c_source.html#l00037">37</a> of file <a class="el" href="_s_d_l__framerate_8c_source.html">SDL_framerate.c</a>.</p>
98
99</div>
100</div>
101<a class="anchor" id="afce13fa3dd37130deb4975d8b230c3ba"></a>
102<div class="memitem">
103<div class="memproto">
104      <table class="memname">
105        <tr>
106          <td class="memname">Uint32 <a class="el" href="_s_d_l__framerate_8h.html#a2c452933d7376dbb0083304b760ed63b">SDL_framerateDelay</a> </td>
107          <td>(</td>
108          <td class="paramtype"><a class="el" href="struct_f_p_smanager.html">FPSmanager</a> *&#160;</td>
109          <td class="paramname"><em>manager</em></td><td>)</td>
110          <td></td>
111        </tr>
112      </table>
113</div>
114<div class="memdoc">
115
116<p>Delay execution to maintain a constant framerate and calculate fps. </p>
117<p>Generate a delay to accomodate currently set framerate. Call once in the graphics/rendering loop. If the computer cannot keep up with the rate (i.e. drawing too slow), the delay is zero and the delay interpolation is reset.</p>
118<dl class="params"><dt><b>Parameters:</b></dt><dd>
119  <table class="params">
120    <tr><td class="paramname">manager</td><td>Pointer to the framerate manager.</td></tr>
121  </table>
122  </dd>
123</dl>
124<dl class="section return"><dt>Returns:</dt><dd>The time that passed since the last call to the function in ms. May return 0. </dd></dl>
125
126<p>Definition at line <a class="el" href="_s_d_l__framerate_8c_source.html#l00146">146</a> of file <a class="el" href="_s_d_l__framerate_8c_source.html">SDL_framerate.c</a>.</p>
127
128</div>
129</div>
130<a class="anchor" id="a96b13e26f8436222e866904a592a6eec"></a>
131<div class="memitem">
132<div class="memproto">
133      <table class="memname">
134        <tr>
135          <td class="memname">int <a class="el" href="_s_d_l__framerate_8h.html#a3f3b7da73f3d92ff82b069b6108aa7ad">SDL_getFramecount</a> </td>
136          <td>(</td>
137          <td class="paramtype"><a class="el" href="struct_f_p_smanager.html">FPSmanager</a> *&#160;</td>
138          <td class="paramname"><em>manager</em></td><td>)</td>
139          <td></td>
140        </tr>
141      </table>
142</div>
143<div class="memdoc">
144
145<p>Return the current framecount. </p>
146<p>Get the current framecount from the framerate manager. A frame is counted each time SDL_framerateDelay is called.</p>
147<dl class="params"><dt><b>Parameters:</b></dt><dd>
148  <table class="params">
149    <tr><td class="paramname">manager</td><td>Pointer to the framerate manager.</td></tr>
150  </table>
151  </dd>
152</dl>
153<dl class="section return"><dt>Returns:</dt><dd>Current frame count or -1 for error. </dd></dl>
154
155<p>Definition at line <a class="el" href="_s_d_l__framerate_8c_source.html#l00126">126</a> of file <a class="el" href="_s_d_l__framerate_8c_source.html">SDL_framerate.c</a>.</p>
156
157</div>
158</div>
159<a class="anchor" id="a575bb511d6f817ad846a788cbd08ae91"></a>
160<div class="memitem">
161<div class="memproto">
162      <table class="memname">
163        <tr>
164          <td class="memname">int <a class="el" href="_s_d_l__framerate_8h.html#adeb2ddd02412527aad226ba453a21999">SDL_getFramerate</a> </td>
165          <td>(</td>
166          <td class="paramtype"><a class="el" href="struct_f_p_smanager.html">FPSmanager</a> *&#160;</td>
167          <td class="paramname"><em>manager</em></td><td>)</td>
168          <td></td>
169        </tr>
170      </table>
171</div>
172<div class="memdoc">
173
174<p>Return the current target framerate in Hz. </p>
175<p>Get the currently set framerate of the manager.</p>
176<dl class="params"><dt><b>Parameters:</b></dt><dd>
177  <table class="params">
178    <tr><td class="paramname">manager</td><td>Pointer to the framerate manager.</td></tr>
179  </table>
180  </dd>
181</dl>
182<dl class="section return"><dt>Returns:</dt><dd>Current framerate in Hz or -1 for error. </dd></dl>
183
184<p>Definition at line <a class="el" href="_s_d_l__framerate_8c_source.html#l00107">107</a> of file <a class="el" href="_s_d_l__framerate_8c_source.html">SDL_framerate.c</a>.</p>
185
186</div>
187</div>
188<a class="anchor" id="a444ebaaaa6b1ceeafa921562bdab1a44"></a>
189<div class="memitem">
190<div class="memproto">
191      <table class="memname">
192        <tr>
193          <td class="memname">void <a class="el" href="_s_d_l__framerate_8h.html#a3ca69231486837c809fdcbe5b0a10787">SDL_initFramerate</a> </td>
194          <td>(</td>
195          <td class="paramtype"><a class="el" href="struct_f_p_smanager.html">FPSmanager</a> *&#160;</td>
196          <td class="paramname"><em>manager</em></td><td>)</td>
197          <td></td>
198        </tr>
199      </table>
200</div>
201<div class="memdoc">
202
203<p>Initialize the framerate manager. </p>
204<p>Initialize the framerate manager, set default framerate of 30Hz and reset delay interpolation.</p>
205<dl class="params"><dt><b>Parameters:</b></dt><dd>
206  <table class="params">
207    <tr><td class="paramname">manager</td><td>Pointer to the framerate manager. </td></tr>
208  </table>
209  </dd>
210</dl>
211
212<p>Definition at line <a class="el" href="_s_d_l__framerate_8c_source.html#l00062">62</a> of file <a class="el" href="_s_d_l__framerate_8c_source.html">SDL_framerate.c</a>.</p>
213
214</div>
215</div>
216<a class="anchor" id="afad4b503cf9719daced45fa4d9653d72"></a>
217<div class="memitem">
218<div class="memproto">
219      <table class="memname">
220        <tr>
221          <td class="memname">int <a class="el" href="_s_d_l__framerate_8h.html#a186ef8e6b1ee4ab36e05b162545fb0e4">SDL_setFramerate</a> </td>
222          <td>(</td>
223          <td class="paramtype"><a class="el" href="struct_f_p_smanager.html">FPSmanager</a> *&#160;</td>
224          <td class="paramname"><em>manager</em>, </td>
225        </tr>
226        <tr>
227          <td class="paramkey"></td>
228          <td></td>
229          <td class="paramtype">Uint32&#160;</td>
230          <td class="paramname"><em>rate</em>&#160;</td>
231        </tr>
232        <tr>
233          <td></td>
234          <td>)</td>
235          <td></td><td></td>
236        </tr>
237      </table>
238</div>
239<div class="memdoc">
240
241<p>Set the framerate in Hz. </p>
242<p>Sets a new framerate for the manager and reset delay interpolation. Rate values must be between FPS_LOWER_LIMIT and FPS_UPPER_LIMIT inclusive to be accepted.</p>
243<dl class="params"><dt><b>Parameters:</b></dt><dd>
244  <table class="params">
245    <tr><td class="paramname">manager</td><td>Pointer to the framerate manager. </td></tr>
246    <tr><td class="paramname">rate</td><td>The new framerate in Hz (frames per second).</td></tr>
247  </table>
248  </dd>
249</dl>
250<dl class="section return"><dt>Returns:</dt><dd>0 for sucess and -1 for error. </dd></dl>
251
252<p>Definition at line <a class="el" href="_s_d_l__framerate_8c_source.html#l00086">86</a> of file <a class="el" href="_s_d_l__framerate_8c_source.html">SDL_framerate.c</a>.</p>
253
254</div>
255</div>
256</div><!-- contents -->
257
258
259<hr class="footer"/><address class="footer"><small>
260Generated by &#160;<a href="http://www.doxygen.org/index.html">
261<img class="footer" src="doxygen.png" alt="doxygen"/>
262</a> 1.8.0
263</small></address>
264
265</body>
266</html>
267