Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > e6179be008507f4bc526099489361612 > files > 56

lib64tiger-devel-0.3.4-6.mga4.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>libtiger: simple.c</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libtiger
   &#160;<span id="projectnumber">0.3.4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">simple.c</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><span class="comment">/*</span></div>
<div class="line"><span class="comment">  */</span></div>
<div class="line"></div>
<div class="line"><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;ogg/ogg.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;kate/kate.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &quot;common.h&quot;</span></div>
<div class="line"></div>
<div class="line"><span class="comment">/* All the libtiger API is available from the main tiger header file: */</span></div>
<div class="line"></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="tiger_8h.html">tiger/tiger.h</a>&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="preprocessor">#define FPS ((kate_float)25.0)</span></div>
<div class="line"><span class="preprocessor"></span></div>
<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> step_render(tiger_renderer *tr,kate_float *t,kate_float t1)</div>
<div class="line">{</div>
<div class="line">  <span class="keywordflow">for</span> (;*t&lt;=t1;*t+=(kate_float)1.0/FPS) {</div>
<div class="line">    <a name="a0"></a><a class="code" href="group__renderer.html#gae15f847d25ce9c1b48ef29ecc75fcb60">tiger_renderer_update</a>(tr,*t,1);</div>
<div class="line">    <span class="keywordflow">if</span> (<a name="a1"></a><a class="code" href="group__renderer.html#gaaf7c376dde566e84284036f0c5bb3b6b">tiger_renderer_is_dirty</a>(tr)) {</div>
<div class="line">      <a name="a2"></a><a class="code" href="group__renderer.html#gab402a7397960e91f82bd7c91c2983435">tiger_renderer_render</a>(tr);</div>
<div class="line">    }</div>
<div class="line">  }</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main()</div>
<div class="line">{</div>
<div class="line">  ogg_sync_state oy;</div>
<div class="line">  ogg_stream_state os;</div>
<div class="line">  <span class="keywordtype">int</span> init=0;</div>
<div class="line">  ogg_packet op;</div>
<div class="line">  kate_state k;</div>
<div class="line">  <span class="keyword">const</span> kate_event *ev;</div>
<div class="line">  kate_packet kp;</div>
<div class="line">  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *image;</div>
<div class="line">  tiger_renderer *tr;</div>
<div class="line">  kate_float render_time=(kate_float)0;</div>
<div class="line">  kate_float end_time=(kate_float)0;</div>
<div class="line"></div>
<div class="line">  set_binary_file(stdin);</div>
<div class="line"></div>
<div class="line">  <span class="comment">/* create a buffer to draw to */</span></div>
<div class="line">  image=(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)malloc(640*480*4);</div>
<div class="line"></div>
<div class="line">  <span class="comment">/* we initialize ogg, kate, and tiger */</span></div>
<div class="line">  ogg_sync_init(&amp;oy);</div>
<div class="line">  kate_high_decode_init(&amp;k);</div>
<div class="line">  <a name="a3"></a><a class="code" href="group__renderer.html#ga27e03677cff75565a7723e1711c498aa">tiger_renderer_create</a>(&amp;tr);</div>
<div class="line">  <a name="a4"></a><a class="code" href="group__renderer.html#ga616dfb49c1ea8b4dd44a204e702a51c9">tiger_renderer_set_buffer</a>(tr,image,640,480,640*4,0);</div>
<div class="line">  <a name="a5"></a><a class="code" href="group__renderer.html#ga04ee034ba17a605f11801b66205c5ed3">tiger_renderer_set_surface_clear_color</a>(tr,1,0,0,0,0);</div>
<div class="line"></div>
<div class="line">  <span class="comment">/*</span></div>
<div class="line"><span class="comment">    We then read packets and feed them to the libkate high level API. When</span></div>
<div class="line"><span class="comment">    kate_high_decode_packetin returns a positive number, this signals the</span></div>
<div class="line"><span class="comment">    end of the stream.</span></div>
<div class="line"><span class="comment">    */</span></div>
<div class="line">  <span class="keywordflow">while</span> (1) {</div>
<div class="line">    <span class="keywordflow">if</span> (get_packet(&amp;oy,&amp;os,&amp;init,&amp;op)) <span class="keywordflow">break</span>;</div>
<div class="line">    kate_packet_wrap(&amp;kp,op.bytes,op.packet);</div>
<div class="line">    <span class="keywordflow">if</span> (kate_high_decode_packetin(&amp;k,&amp;kp,&amp;ev)&gt;0) <span class="keywordflow">break</span>;</div>
<div class="line">    <span class="comment">/* if the event is non NULL, we have an event */</span></div>
<div class="line">    <span class="keywordflow">if</span> (ev) {</div>
<div class="line">      step_render(tr,&amp;render_time,ev-&gt;start_time);</div>
<div class="line">      <span class="keywordflow">if</span> (ev-&gt;end_time&gt;end_time) end_time=ev-&gt;end_time;</div>
<div class="line">      <a name="a6"></a><a class="code" href="group__renderer.html#ga3a83f6b639322dbd99dd63ef03820716">tiger_renderer_add_event</a>(tr,k.ki,ev);</div>
<div class="line">    }</div>
<div class="line">  }</div>
<div class="line">  step_render(tr,&amp;render_time,end_time);</div>
<div class="line"></div>
<div class="line">  <span class="comment">/* That&#39;s it, we can now cleanup */</span></div>
<div class="line">  <a name="a7"></a><a class="code" href="group__renderer.html#ga0f2963d8b49870418a58bfc0d3e7ee06">tiger_renderer_destroy</a>(tr);</div>
<div class="line">  free(image);</div>
<div class="line"></div>
<div class="line">  ogg_stream_clear(&amp;os);</div>
<div class="line">  ogg_sync_clear(&amp;oy);</div>
<div class="line"></div>
<div class="line">  kate_high_decode_clear(&amp;k);</div>
<div class="line"></div>
<div class="line">  <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
<div class="line"></div>
</div><!-- fragment --> </div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Oct 18 2013 05:12:52 for libtiger by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>