Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-release > by-pkgid > 2a781e5f78e233aedaa1e51ed196dcc3 > files > 135

lib64zvbi-devel-0.2.35-5.mga6.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.11"/>
<title>ZVBI Library: vbi_page Struct Reference</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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ZVBI Library
   &#160;<span id="projectnumber">0.2.35</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <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 class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">vbi_page Struct Reference<div class="ingroups"><a class="el" href="group__HiDec.html">High Level Decoding</a> &raquo; <a class="el" href="group__Page.html">Formatted text page</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Formatted Teletext or Closed Caption page.  
 <a href="structvbi__page.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a5a7c9dabfb7b84608416f38125cc18e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvbi__decoder.html">vbi_decoder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a5a7c9dabfb7b84608416f38125cc18e5">vbi</a></td></tr>
<tr class="separator:a5a7c9dabfb7b84608416f38125cc18e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d466eadf603e620c1e7662c3d37cf82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Event.html#gaf7674e0718ecde1f3340325e34296b6a">vbi_nuid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a5d466eadf603e620c1e7662c3d37cf82">nuid</a></td></tr>
<tr class="separator:a5d466eadf603e620c1e7662c3d37cf82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7633883c5732103d8048c9db0e250358"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a7633883c5732103d8048c9db0e250358">pgno</a></td></tr>
<tr class="separator:a7633883c5732103d8048c9db0e250358"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a741ccb9357e542ff47b12baa4ee0de8c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a741ccb9357e542ff47b12baa4ee0de8c">subno</a></td></tr>
<tr class="separator:a741ccb9357e542ff47b12baa4ee0de8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a794471cd941ff108c639f4fe36457a9b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a794471cd941ff108c639f4fe36457a9b">rows</a></td></tr>
<tr class="separator:a794471cd941ff108c639f4fe36457a9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a117201ffef54e2cd66454dfe85650931"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a117201ffef54e2cd66454dfe85650931">columns</a></td></tr>
<tr class="separator:a117201ffef54e2cd66454dfe85650931"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab60a5037fac8d628cbfcda0bc8da91ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvbi__char.html">vbi_char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#ab60a5037fac8d628cbfcda0bc8da91ae">text</a> [1056]</td></tr>
<tr class="separator:ab60a5037fac8d628cbfcda0bc8da91ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1179adb0490c7f177db981f546db00b2"><td class="memItemLeft" >struct {</td></tr>
<tr class="memitem:a263f8d1ddbcf5dc778345120e0b8cb75"><td class="memItemLeft" >
&#160;&#160;&#160;int&#160;&#160;&#160;<b>y0</b></td></tr>
<tr class="separator:a263f8d1ddbcf5dc778345120e0b8cb75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e5b224827a7e93aec822bddbd300a6e"><td class="memItemLeft" >
&#160;&#160;&#160;int&#160;&#160;&#160;<b>y1</b></td></tr>
<tr class="separator:a6e5b224827a7e93aec822bddbd300a6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb75cb697c5e4cca942f8ced01230ed4"><td class="memItemLeft" >
&#160;&#160;&#160;int&#160;&#160;&#160;<b>roll</b></td></tr>
<tr class="separator:afb75cb697c5e4cca942f8ced01230ed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1179adb0490c7f177db981f546db00b2"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a1179adb0490c7f177db981f546db00b2">dirty</a></td></tr>
<tr class="separator:a1179adb0490c7f177db981f546db00b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93a5df00d0686b7bebf31ce68fa3076e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Page.html#ga5cc7aca92393625043f2e531f238ee32">vbi_color</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a93a5df00d0686b7bebf31ce68fa3076e">screen_color</a></td></tr>
<tr class="separator:a93a5df00d0686b7bebf31ce68fa3076e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd04a9a8e20c21eb9e1a1fee26b9395f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Page.html#gab3f248dc4cf23026c2da167b428a5162">vbi_opacity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#abd04a9a8e20c21eb9e1a1fee26b9395f">screen_opacity</a></td></tr>
<tr class="separator:abd04a9a8e20c21eb9e1a1fee26b9395f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a147616645aa850cc6655a045077e9a6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Page.html#gaba178f9da35c6ecb95c20e9fd9ef8a42">vbi_rgba</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a147616645aa850cc6655a045077e9a6d">color_map</a> [40]</td></tr>
<tr class="separator:a147616645aa850cc6655a045077e9a6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1312e2c271536ac6c64b641968cbfab3"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a1312e2c271536ac6c64b641968cbfab3">drcs_clut</a></td></tr>
<tr class="separator:a1312e2c271536ac6c64b641968cbfab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e88ff7c2b551ec99a7b856718d0c738"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__page.html#a9e88ff7c2b551ec99a7b856718d0c738">drcs</a> [32]</td></tr>
<tr class="separator:a9e88ff7c2b551ec99a7b856718d0c738"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adca8b6efae23a26bcebd2e53774106fc"><td class="memItemLeft" ><a class="anchor" id="adca8b6efae23a26bcebd2e53774106fc"></a>
struct {</td></tr>
<tr class="memitem:a71d0e957d4af25f27876af09e73e2b16"><td class="memItemLeft" >
&#160;&#160;&#160;int&#160;&#160;&#160;<b>pgno</b></td></tr>
<tr class="separator:a71d0e957d4af25f27876af09e73e2b16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a7553872a2d70bde850342de3f9de54"><td class="memItemLeft" >
&#160;&#160;&#160;int&#160;&#160;&#160;<b>subno</b></td></tr>
<tr class="separator:a8a7553872a2d70bde850342de3f9de54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adca8b6efae23a26bcebd2e53774106fc"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><b>nav_link</b> [6]</td></tr>
<tr class="separator:adca8b6efae23a26bcebd2e53774106fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cd68b64b12c50691fe998ae6feb4a70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cd68b64b12c50691fe998ae6feb4a70"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>nav_index</b> [64]</td></tr>
<tr class="separator:a4cd68b64b12c50691fe998ae6feb4a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af11cb160b52558c441f710171711b74c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af11cb160b52558c441f710171711b74c"></a>
struct <a class="el" href="structvbi__font__descr.html">vbi_font_descr</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>font</b> [2]</td></tr>
<tr class="separator:af11cb160b52558c441f710171711b74c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad8d849fc6683bddacd852de7f3f7327"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad8d849fc6683bddacd852de7f3f7327"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>double_height_lower</b></td></tr>
<tr class="separator:aad8d849fc6683bddacd852de7f3f7327"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a162cab11e972554e4bef9e3d1fa67975"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a162cab11e972554e4bef9e3d1fa67975"></a>
<a class="el" href="group__Page.html#gab3f248dc4cf23026c2da167b428a5162">vbi_opacity</a>&#160;</td><td class="memItemRight" valign="bottom"><b>page_opacity</b> [2]</td></tr>
<tr class="separator:a162cab11e972554e4bef9e3d1fa67975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87448683f28cb7c1ae6842119f3783c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87448683f28cb7c1ae6842119f3783c6"></a>
<a class="el" href="group__Page.html#gab3f248dc4cf23026c2da167b428a5162">vbi_opacity</a>&#160;</td><td class="memItemRight" valign="bottom"><b>boxed_opacity</b> [2]</td></tr>
<tr class="separator:a87448683f28cb7c1ae6842119f3783c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Formatted Teletext or Closed Caption page. </p>
<p>Clients can fetch pages from the respective cache using vbi_fetch_vt_page() or <a class="el" href="group__Cache.html#ga7569e113defe7ccfdebd396691a696f6">vbi_fetch_cc_page()</a> for evaluation, display or output. Since the page may reference other objects in cache which are locked by the fetch functions, <a class="el" href="group__Cache.html#gaf22bf32b5027d5c5d34d615bc22896a3">vbi_unref_page()</a> must be called when done. Note this structure is large, some 10 KB. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="src_2exp-templ_8c-example.html#_a15">src/exp-templ.c</a>.</dd>
</dl></div><h2 class="groupheader">Field Documentation</h2>
<a class="anchor" id="a5a7c9dabfb7b84608416f38125cc18e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structvbi__decoder.html">vbi_decoder</a>* vbi_page::vbi</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Points back to the source context. </p>

</div>
</div>
<a class="anchor" id="a5d466eadf603e620c1e7662c3d37cf82"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Event.html#gaf7674e0718ecde1f3340325e34296b6a">vbi_nuid</a> vbi_page::nuid</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Identifies the network broadcasting this page. </p>

</div>
</div>
<a class="anchor" id="a7633883c5732103d8048c9db0e250358"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vbi_page::pgno</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Page number, see vbi_pgno. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="src_2exp-templ_8c-example.html#a16">src/exp-templ.c</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="group__Render.html#ga5d9268821b645b87e609de0f7410325c">vbi_get_vt_cell_size()</a>.</p>

</div>
</div>
<a class="anchor" id="a741ccb9357e542ff47b12baa4ee0de8c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vbi_page::subno</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Subpage number, see vbi_subno. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="src_2exp-templ_8c-example.html#a17">src/exp-templ.c</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="group__Render.html#ga5d9268821b645b87e609de0f7410325c">vbi_get_vt_cell_size()</a>.</p>

</div>
</div>
<a class="anchor" id="a794471cd941ff108c639f4fe36457a9b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vbi_page::rows</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Number of character rows in the page. </p>

<p>Referenced by <a class="el" href="group__Render.html#gae7a3e9c8c7e83d260edfd63358aef359">vbi_draw_cc_page()</a>, <a class="el" href="group__Render.html#ga501f4be7152d64660b506ac74cad5c99">vbi_draw_cc_page_region()</a>, <a class="el" href="group__Render.html#ga84289e30fde75bda1e5327e1038a735b">vbi_draw_vt_page()</a>, <a class="el" href="group__Render.html#ga1dd1c06780785b50c54a2a3fd142cd48">vbi_draw_vt_page_region()</a>, <a class="el" href="group__Render.html#ga5d9268821b645b87e609de0f7410325c">vbi_get_vt_cell_size()</a>, <a class="el" href="group__Render.html#ga893b5e7a9a8c5a2f25d0c501e709952c">vbi_print_page()</a>, and <a class="el" href="group__Render.html#ga7d5abf8963f7e823b82c0f890b01775e">vbi_print_page_region()</a>.</p>

</div>
</div>
<a class="anchor" id="a117201ffef54e2cd66454dfe85650931"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vbi_page::columns</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Number of character columns in the page. </p>

<p>Referenced by <a class="el" href="group__Render.html#gae7a3e9c8c7e83d260edfd63358aef359">vbi_draw_cc_page()</a>, <a class="el" href="group__Render.html#ga501f4be7152d64660b506ac74cad5c99">vbi_draw_cc_page_region()</a>, <a class="el" href="group__Render.html#ga84289e30fde75bda1e5327e1038a735b">vbi_draw_vt_page()</a>, <a class="el" href="group__Render.html#ga1dd1c06780785b50c54a2a3fd142cd48">vbi_draw_vt_page_region()</a>, <a class="el" href="group__Render.html#ga5d9268821b645b87e609de0f7410325c">vbi_get_vt_cell_size()</a>, <a class="el" href="group__Render.html#ga893b5e7a9a8c5a2f25d0c501e709952c">vbi_print_page()</a>, and <a class="el" href="group__Render.html#ga7d5abf8963f7e823b82c0f890b01775e">vbi_print_page_region()</a>.</p>

</div>
</div>
<a class="anchor" id="ab60a5037fac8d628cbfcda0bc8da91ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structvbi__char.html">vbi_char</a> vbi_page::text[1056]</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The page contents, these are <em>rows</em> x <em>columns</em> without padding between the rows. See <a class="el" href="structvbi__char.html" title="Attributed character. ">vbi_char</a> for details. </p>

<p>Referenced by <a class="el" href="group__Render.html#ga501f4be7152d64660b506ac74cad5c99">vbi_draw_cc_page_region()</a>, <a class="el" href="group__Render.html#ga1dd1c06780785b50c54a2a3fd142cd48">vbi_draw_vt_page_region()</a>, <a class="el" href="group__Render.html#ga5d9268821b645b87e609de0f7410325c">vbi_get_vt_cell_size()</a>, and <a class="el" href="group__Render.html#ga7d5abf8963f7e823b82c0f890b01775e">vbi_print_page_region()</a>.</p>

</div>
</div>
<a class="anchor" id="a1179adb0490c7f177db981f546db00b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct { ... } 			 vbi_page::dirty</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>To speed up rendering these variables mark the rows which actually changed since the page has been last fetched from cache. <em>y0</em> ... <em>y1</em> are the first to last row changed, inclusive, in range 0 ... <em>rows</em> - 1. <em>roll</em> indicates the page has been vertically scrolled this number of rows, negative numbers up (towards lower row numbers), positive numbers down. For example -1 means row <em>y0</em> + 1 ... <em>y1</em> moved to <em>y0</em> ... <em>y1</em> - 1, erasing row <em>y1</em> to all spaces.</p>
<p>Practically this is only used in Closed Caption roll-up mode, otherwise all rows are always marked dirty. Clients are free to ignore this information. </p>

<p>Referenced by <a class="el" href="group__Cache.html#ga7569e113defe7ccfdebd396691a696f6">vbi_fetch_cc_page()</a>.</p>

</div>
</div>
<a class="anchor" id="a93a5df00d0686b7bebf31ce68fa3076e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Page.html#ga5cc7aca92393625043f2e531f238ee32">vbi_color</a> vbi_page::screen_color</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>When a TV displays Teletext or Closed Caption pages, only a section in the center of the screen is actually covered by characters. The remaining space is referred to here as 'border', which can have a color different from the typical black. (In the Teletext specs this is referred to as the screen color, hence the field name.) This is a vbi_color index into the <em>color_map</em>. </p>

</div>
</div>
<a class="anchor" id="abd04a9a8e20c21eb9e1a1fee26b9395f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Page.html#gab3f248dc4cf23026c2da167b428a5162">vbi_opacity</a> vbi_page::screen_opacity</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The 'border' can also have a distinguished opacity. Typically this will be VBI_OPAQUE, but pages intended for overlay onto video (Teletext subtitles, newsflash, Caption pages) will have a <em>screen_opacity</em> of VBI_TRANSPARENT_SPACE. See vbi_opacity for details. </p>

</div>
</div>
<a class="anchor" id="a147616645aa850cc6655a045077e9a6d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Page.html#gaba178f9da35c6ecb95c20e9fd9ef8a42">vbi_rgba</a> vbi_page::color_map[40]</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is the color palette indexed by vbi_color in <a class="el" href="structvbi__char.html" title="Attributed character. ">vbi_char</a> and elsewhere, colors defined as vbi_rgba. Note this palette may not correspond to the vbi_color enumeration since Teletext allows editors to redefine the entire palette. Closed Caption and Teletext Level 1.0/1.5 pages use entries 0 ... 7. Teletext Level 2.5/3.5 pages use entries 0 ... 31. Navigation related text (TOP, FLOF) added by libzvbi uses entries 32 ... 39 which are not subject to redefinition. </p>

<p>Referenced by <a class="el" href="group__Render.html#ga501f4be7152d64660b506ac74cad5c99">vbi_draw_cc_page_region()</a>, <a class="el" href="group__Render.html#ga1dd1c06780785b50c54a2a3fd142cd48">vbi_draw_vt_page_region()</a>, <a class="el" href="group__Render.html#ga5d9268821b645b87e609de0f7410325c">vbi_get_vt_cell_size()</a>, and <a class="el" href="group__Render.html#ga7d5abf8963f7e823b82c0f890b01775e">vbi_print_page_region()</a>.</p>

</div>
</div>
<a class="anchor" id="a1312e2c271536ac6c64b641968cbfab3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* vbi_page::drcs_clut</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>DRCS (dynamically redefinable characters) can have two, four or sixteen different colors. Without further details, the effective color of each pixel is given by </p><div class="fragment"><div class="line"><a class="code" href="structvbi__page.html">vbi_page</a>-&gt;<a class="code" href="structvbi__page.html#a147616645aa850cc6655a045077e9a6d">color_map</a>[<a class="code" href="structvbi__page.html#a1312e2c271536ac6c64b641968cbfab3">drcs_clut</a>[<a class="code" href="structvbi__page.html#a9e88ff7c2b551ec99a7b856718d0c738">drcs</a> pixel color + <a class="code" href="structvbi__char.html">vbi_char</a>-&gt;<a class="code" href="structvbi__char.html#ab5a816b50e534c2ce068578c62bf0dcf">drcs_clut_offs</a>]],</div></div><!-- fragment --><p> whereby drcs_clut[0] shall be replaced by vbi_char-&gt;foreground, drcs_clut[1] by vbi_char-&gt;background. (Renderers are supposed to convert the drcs_clut into a private color map of the desired pixel format.)</p>
<p>Practically vbi_char-&gt;drcs_clut_offs encodes the DRCS color depth and selects between the <a class="el" href="structvbi__char.html" title="Attributed character. ">vbi_char</a> colors and one of two 4- or 16-entry Color Look-Up Tables. Also the different resolution of DRCS and the bitplane color coding is hidden to speed up rendering. </p>

<p>Referenced by <a class="el" href="group__Render.html#ga1dd1c06780785b50c54a2a3fd142cd48">vbi_draw_vt_page_region()</a>, and <a class="el" href="group__Render.html#ga5d9268821b645b87e609de0f7410325c">vbi_get_vt_cell_size()</a>.</p>

</div>
</div>
<a class="anchor" id="a9e88ff7c2b551ec99a7b856718d0c738"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* vbi_page::drcs[32]</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Pointer to DRCS data. Per definition the maximum number of DRCS usable at the same time, i. e. on one page, is limited to 96. However the number of DRCS defined in a Teletext data stream can be much larger. The 32 pointers here correspond to the 32 DRCS character planes mentioned in the <a class="el" href="structvbi__char.html" title="Attributed character. ">vbi_char</a> description. Each of them points to an array of character definitions, a DRCS font. One character occupies 60 bytes or 12 x 10 pixels, stored left to right and top to bottom. The color of each pixel (index into <em>drcs_clut</em>) is coded in four bits stored in little endian order, first pixel 0x0F, second pixel 0xF0 and so on. For example the first, top/leftmost pixel can be found at </p><div class="fragment"><div class="line"><a class="code" href="structvbi__page.html">vbi_page</a>-&gt;<a class="code" href="structvbi__page.html#a9e88ff7c2b551ec99a7b856718d0c738">drcs</a>[(unicode &gt;&gt; 6) &amp; 0x1F][(unicode &amp; 0x3F) * 60]</div></div><!-- fragment --><p>Do not access DRCS data unless referenced by a <a class="el" href="structvbi__char.html" title="Attributed character. ">vbi_char</a> in <em>text</em>, a segfault may result. Do not access DRCS data after calling <a class="el" href="group__Cache.html#gaf22bf32b5027d5c5d34d615bc22896a3">vbi_unref_page()</a>, it may not be cached anymore. </p>

<p>Referenced by <a class="el" href="group__Render.html#ga1dd1c06780785b50c54a2a3fd142cd48">vbi_draw_vt_page_region()</a>, and <a class="el" href="group__Render.html#ga5d9268821b645b87e609de0f7410325c">vbi_get_vt_cell_size()</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>