Files
wagic/JGE/docs/html/class_j_g_b_k_font.html
wagic.the.homebrew d45e3b101b
2008-11-02 09:50:16 +00:00

400 lines
16 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>JGE++: JGBKFont Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
<h1>JGBKFont Class Reference</h1><!-- doxytag: class="JGBKFont" --><code>#include &lt;JGBKFont.h&gt;</code>
<p>
<div class="dynheader">
Collaboration diagram for JGBKFont:</div>
<div class="dynsection">
</div>
<p>
<a href="class_j_g_b_k_font-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_j_g_b_k_font.html#e285d82976551d34c3d1b384041496cd">JGBKFont</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_j_g_b_k_font.html#fc5665aecd8bd24e848974f6478b444f">Init</a> (const char *engFileName, const char *chnFileName, int fontsize=16, bool smallEnglishFont=false)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_j_g_b_k_font.html#a1ba6a61240498857c2d0c093d288c6b">PreCacheChar</a> (const BYTE *ch)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_j_g_b_k_font.html#3ddf8a35672a8d44ab4ca4e18564c7d8">PrepareString</a> (BYTE *str, int *dest)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_j_g_b_k_font.html#42aa13151ad499ee790c385a0daa10b5">RenderEncodedString</a> (const int *text, int count, float x, float y)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_j_g_b_k_font.html#da892ff67d77994c8d9888ee74d41e26">RenderString</a> (BYTE *str, float x, float y, int alignment=JGETEXT_LEFT)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_j_g_b_k_font.html#294043e99976c9928c503447438adcea">SetScale</a> (float scale)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_j_g_b_k_font.html#92ca7ca7ee001f395d079a93edfef978">SetRotation</a> (float rot)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_j_g_b_k_font.html#2624ae972e14c834fcd3ddb0f9da419e">SetColor</a> (PIXEL_TYPE color)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_j_g_b_k_font.html#dbfafce80e9a363459a7d7766a1dd4e8">SetBgColor</a> (PIXEL_TYPE color)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Chinese bitmap font encoded with GBK encoding. All popurlar font sizes are supported and the following have been tested: 12x12, 16x16, 18x18, 20x20, 24x24, 28x28 and 32x32. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="e285d82976551d34c3d1b384041496cd"></a><!-- doxytag: member="JGBKFont::JGBKFont" ref="e285d82976551d34c3d1b384041496cd" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">JGBKFont::JGBKFont </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructor.
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="fc5665aecd8bd24e848974f6478b444f"></a><!-- doxytag: member="JGBKFont::Init" ref="fc5665aecd8bd24e848974f6478b444f" args="(const char *engFileName, const char *chnFileName, int fontsize=16, bool smallEnglishFont=false)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool JGBKFont::Init </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>engFileName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>chnFileName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>fontsize</em> = <code>16</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>smallEnglishFont</em> = <code>false</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Initialization of the font class. You need to provide both a Chinese font file and an English one as well.<p>
For example: <div class="fragment"><pre class="fragment"> mChineseFont = <span class="keyword">new</span> <a class="code" href="class_j_g_b_k_font.html#e285d82976551d34c3d1b384041496cd">JGBKFont</a>();
mChineseFont-&gt;Init(<span class="stringliteral">"Res/ASC16"</span>, <span class="stringliteral">"Res/GBK16"</span>);
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>engFileName</em>&nbsp;</td><td>- Name of the English font file. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>chnFileName</em>&nbsp;</td><td>- Name of the Chinese font file. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>fontsize</em>&nbsp;</td><td>- Font size. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>smallEnglishFont</em>&nbsp;</td><td>- Indicate to use half width when rendering English characters. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="a1ba6a61240498857c2d0c093d288c6b"></a><!-- doxytag: member="JGBKFont::PreCacheChar" ref="a1ba6a61240498857c2d0c093d288c6b" args="(const BYTE *ch)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int JGBKFont::PreCacheChar </td>
<td>(</td>
<td class="paramtype">const BYTE *&nbsp;</td>
<td class="paramname"> <em>ch</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Rendering character into cache.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>- Single byte or word of character code.</td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Index of the character in cache. </dd></dl>
</div>
</div><p>
<a class="anchor" name="3ddf8a35672a8d44ab4ca4e18564c7d8"></a><!-- doxytag: member="JGBKFont::PrepareString" ref="3ddf8a35672a8d44ab4ca4e18564c7d8" args="(BYTE *str, int *dest)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int JGBKFont::PrepareString </td>
<td>(</td>
<td class="paramtype">BYTE *&nbsp;</td>
<td class="paramname"> <em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&nbsp;</td>
<td class="paramname"> <em>dest</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Scan through the string and look up the index of each character in the cache and then return all indexes in an array to be rendered later on.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>- String to look for cache indexes. </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>dest - Indexes of characters in cache. <p>
Number of characters processed. </dd></dl>
</div>
</div><p>
<a class="anchor" name="42aa13151ad499ee790c385a0daa10b5"></a><!-- doxytag: member="JGBKFont::RenderEncodedString" ref="42aa13151ad499ee790c385a0daa10b5" args="(const int *text, int count, float x, float y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void JGBKFont::RenderEncodedString </td>
<td>(</td>
<td class="paramtype">const int *&nbsp;</td>
<td class="paramname"> <em>text</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&nbsp;</td>
<td class="paramname"> <em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&nbsp;</td>
<td class="paramname"> <em>y</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Render string by using the indexes returned from PrepareString.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>- Cache indexes for rendering. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>- Number of characters to render. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>- X screen position for rendering. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>- Y screen position for rendering. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="da892ff67d77994c8d9888ee74d41e26"></a><!-- doxytag: member="JGBKFont::RenderString" ref="da892ff67d77994c8d9888ee74d41e26" args="(BYTE *str, float x, float y, int alignment=JGETEXT_LEFT)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void JGBKFont::RenderString </td>
<td>(</td>
<td class="paramtype">BYTE *&nbsp;</td>
<td class="paramname"> <em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&nbsp;</td>
<td class="paramname"> <em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&nbsp;</td>
<td class="paramname"> <em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>alignment</em> = <code>JGETEXT_LEFT</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Render string to screen.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>- String to render. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>- X screen position for rendering. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>- Y screen position for rendering. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="294043e99976c9928c503447438adcea"></a><!-- doxytag: member="JGBKFont::SetScale" ref="294043e99976c9928c503447438adcea" args="(float scale)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void JGBKFont::SetScale </td>
<td>(</td>
<td class="paramtype">float&nbsp;</td>
<td class="paramname"> <em>scale</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set scale for rendering.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>scale</em>&nbsp;</td><td>- Scale for rendering characters. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="92ca7ca7ee001f395d079a93edfef978"></a><!-- doxytag: member="JGBKFont::SetRotation" ref="92ca7ca7ee001f395d079a93edfef978" args="(float rot)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void JGBKFont::SetRotation </td>
<td>(</td>
<td class="paramtype">float&nbsp;</td>
<td class="paramname"> <em>rot</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set angle for rendering.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rot</em>&nbsp;</td><td>- Rotation angle in radian. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="2624ae972e14c834fcd3ddb0f9da419e"></a><!-- doxytag: member="JGBKFont::SetColor" ref="2624ae972e14c834fcd3ddb0f9da419e" args="(PIXEL_TYPE color)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void JGBKFont::SetColor </td>
<td>(</td>
<td class="paramtype">PIXEL_TYPE&nbsp;</td>
<td class="paramname"> <em>color</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set font color.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>color</em>&nbsp;</td><td>- color of font. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="dbfafce80e9a363459a7d7766a1dd4e8"></a><!-- doxytag: member="JGBKFont::SetBgColor" ref="dbfafce80e9a363459a7d7766a1dd4e8" args="(PIXEL_TYPE color)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void JGBKFont::SetBgColor </td>
<td>(</td>
<td class="paramtype">PIXEL_TYPE&nbsp;</td>
<td class="paramname"> <em>color</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set background color.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>color</em>&nbsp;</td><td>- Background color. </td></tr>
</table>
</dl>
</div>
</div><p>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Oct 22 00:28:22 2007 for JGE++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
</body>
</html>