400 lines
16 KiB
HTML
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 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 List</span></a></li>
|
|
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="functions.html"><span>Class Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<h1>JGBKFont Class Reference</h1><!-- doxytag: class="JGBKFont" --><code>#include <JGBKFont.h></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"> </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 & 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> ) </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 * </td>
|
|
<td class="paramname"> <em>engFileName</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"> <em>chnFileName</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>fontsize</em> = <code>16</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"> <em>smallEnglishFont</em> = <code>false</code></td><td> </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->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> </td><td>- Name of the English font file. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>chnFileName</em> </td><td>- Name of the Chinese font file. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>fontsize</em> </td><td>- Font size. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>smallEnglishFont</em> </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 * </td>
|
|
<td class="paramname"> <em>ch</em> </td>
|
|
<td> ) </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> </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 * </td>
|
|
<td class="paramname"> <em>str</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>dest</em></td><td> </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> </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 * </td>
|
|
<td class="paramname"> <em>text</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>count</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>x</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>y</em></td><td> </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> </td><td>- Cache indexes for rendering. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>- Number of characters to render. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>- X screen position for rendering. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>y</em> </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 * </td>
|
|
<td class="paramname"> <em>str</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>x</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>y</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>alignment</em> = <code>JGETEXT_LEFT</code></td><td> </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> </td><td>- String to render. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>- X screen position for rendering. </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>y</em> </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 </td>
|
|
<td class="paramname"> <em>scale</em> </td>
|
|
<td> ) </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> </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 </td>
|
|
<td class="paramname"> <em>rot</em> </td>
|
|
<td> ) </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> </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 </td>
|
|
<td class="paramname"> <em>color</em> </td>
|
|
<td> ) </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> </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 </td>
|
|
<td class="paramname"> <em>color</em> </td>
|
|
<td> ) </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> </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
|
|
<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>
|