<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Font size.</title>
		<link>http://www.allegro.cc/forums/view/590903</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 12 Apr 2007 01:16:22 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Probably this question is stupid, but I can&#39;t figure it out myself.</p><p>From Allegro examples I understood how to use custom fonts, and even merge fonts. But even that in the Allegro example (exfont.c) I had gotten the text in big letters, I didn&#39;t understand how to change font size.</p><p>Basically I want to write the score(of a pong :p) but in BIG letters..
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (type568)</author>
		<pubDate>Sat, 07 Apr 2007 15:24:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You can do this in three easy steps:</p><p>1. Make a big font.<br />2. Use the big font from step 1 by loading it into your program and passing a pointer to it to the text output functions.<br />3. There is no step 3.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Sat, 07 Apr 2007 16:19:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>How do i make a big font? Do I have to use any *.dat (or other) file for it?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (type568)</author>
		<pubDate>Sat, 07 Apr 2007 17:01:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you&#39;re willing to use an extra library, I highly recommend <a href="http://kd.lab.nig.ac.jp/glyph-keeper/">Glyph Keeper</a>, which can provide FONTs from TrueType originals at runtime... though it still doesn&#39;t do pair kerning. GRRRRRR.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Harte)</author>
		<pubDate>Sat, 07 Apr 2007 17:03:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
How do i make a big font?
</p></div></div><p>
Several options. Either use a converter like ttf2pcx to convert a ttf to a bitmap font or use a bitmap editor and draw each individual char. For that you can use a general purpose editor such as photoshop or a specialized program such as my own font editor (go to my profile to find it).</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Do I have to use any *.dat (or other) file for it?
</p></div></div><p>
You can use a *.dat file but you don&#39;t have to. Allegro can load *.bmp, *.pcx and *.tga files too.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Sat, 07 Apr 2007 17:10:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So i can&#39;t just basically say &quot;font size= 32&quot; n get it of that size? (easiest way u suggest is to make a bitmap with 10 numbers, and build the score myself.. ?)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (type568)</author>
		<pubDate>Sat, 07 Apr 2007 17:23:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Easiest way if you have access to a Windows machine is to download ttf2pcx and put the font size you want to generate into that. If you want to be able to dynamically generate fonts of different sizes in game, use Glyph Keeper.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Harte)</author>
		<pubDate>Sat, 07 Apr 2007 17:33:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Basically thanks..
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (type568)</author>
		<pubDate>Sat, 07 Apr 2007 18:03:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you don&#039;t mind heavily-pixellated text, you can zoom the characters&#039; bitmaps. To give a Pong-game that retro-feeling, this is probably what you want anyway.</p><p>Below is some code (complete with Doxygen-style comments) for doing just that (and as a bonus, I&#039;ve also included some code for drawing outlined text). Note that the code currently assumes that the longest character in the font is not longer than the font-height). Also, note that as well as [tt]#includ[/tt]&#039;ing [tt]&lt;allegro.h&gt;[/tt], you must also [tt]#include &lt;allegro/internal/aintern.h&gt;[/tt] in the file that contains this code.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span>
<span class="number">   2</span><span class="p">#include &lt;allegro.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro/internal/aintern.h&gt;  /* Used to get the FONT_VTABLE */</span>
<span class="number">   4</span>
<span class="number">   5</span>
<span class="number">   6</span><span class="c">// For now, make do with these values.</span>
<span class="number">   7</span><span class="p">#define AERVAL_YOOPY 0</span>
<span class="number">   8</span><span class="p">#define AERVAL_AIEEE -1</span>
<span class="number">   9</span>
<span class="number">  10</span>
<span class="number">  11</span><span class="k1">static</span> <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>g_bmpTextOutZoomedUnzoomedBitmap<span class="k2">;</span>  <span class="c">/*!&lt; Temporary bitmap used by chTextOutZoomed() */</span>
<span class="number">  12</span><span class="k1">static</span> <a href="http://www.allegro.cc/manual/FONT" target="_blank"><span class="a">FONT</span></a> <span class="k3">*</span>g_fpZoomedTextFont<span class="k2">;</span>  <span class="c">/*!&lt; Font used by chTextOutZoomed() */</span>
<span class="number">  13</span>
<span class="number">  14</span>
<span class="number">  15</span>
<span class="number">  16</span><span class="c">/****************************************************************************/</span>
<span class="number">  17</span><span class="c">/*!</span>
<span class="number">  18</span><span class="c"></span>
<span class="number">  19</span><span class="c"> \brief Sets the font for use in the chTextOutZoomed() function.</span>
<span class="number">  20</span><span class="c"></span>
<span class="number">  21</span><span class="c">  This also prepares the chTextOutZoomed() for use if it has not been prepared already.</span>
<span class="number">  22</span><span class="c"></span>
<span class="number">  23</span><span class="c">  \remarks This re-sizes it's temp-bitmap</span>
<span class="number">  24</span><span class="c"></span>
<span class="number">  25</span><span class="c">  \todo Make the calculation of the length of longest char work properly.</span>
<span class="number">  26</span><span class="c"></span>
<span class="number">  27</span><span class="c">  \sa chTextOutZoomedTini</span>
<span class="number">  28</span><span class="c">  \sa chTextOutZoomed</span>
<span class="number">  29</span><span class="c"></span>
<span class="number">  30</span><span class="c">  \param  fpFont The font to use.</span>
<span class="number">  31</span><span class="c"></span>
<span class="number">  32</span><span class="c">  \retval  AERVAL_YOOPY  | The font was successfully set.</span>
<span class="number">  33</span><span class="c">  \retval  AERVAL_AIEEE  | The temp-bitmap to be used by the font for chTextOutZoomed() could not be setup.</span>
<span class="number">  34</span><span class="c"></span>
<span class="number">  35</span><span class="c"> */</span>
<span class="number">  36</span>
<span class="number">  37</span>AERETVAL
<span class="number">  38</span>chSetFontForTextOutZoomedBitmap<span class="k2">(</span><a href="http://www.allegro.cc/manual/FONT" target="_blank"><span class="a">FONT</span></a> <span class="k3">*</span>fpFont<span class="k2">)</span>
<span class="number">  39</span><span class="k2">{</span>
<span class="number">  40</span>  <span class="k1">int</span> nXFontSize <span class="k3">=</span> <a href="http://www.allegro.cc/manual/text_height" target="_blank"><span class="a">text_height</span></a><span class="k2">(</span>fpFont<span class="k2">)</span><span class="k2">;</span>  <span class="c">// !!! TODO: This should be the pixel-length of the longest character in the font!!!!!</span>
<span class="number">  41</span>  <span class="k1">int</span> nYFontSize <span class="k3">=</span> <a href="http://www.allegro.cc/manual/text_height" target="_blank"><span class="a">text_height</span></a><span class="k2">(</span>fpFont<span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>
<span class="number">  43</span>  <span class="c">/* Getridof the previous one */</span>
<span class="number">  44</span>  <span class="k1">if</span><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap<span class="k2">)</span>
<span class="number">  45</span>  <span class="k2">{</span>
<span class="number">  46</span>    <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number">  47</span>  <span class="k2">}</span>
<span class="number">  48</span>
<span class="number">  49</span>  
<span class="number">  50</span>
<span class="number">  51</span>  g_bmpTextOutZoomedUnzoomedBitmap <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap" target="_blank"><span class="a">create_bitmap</span></a><span class="k2">(</span>nXFontSize,nYFontSize<span class="k2">)</span><span class="k2">;</span>  <span class="c">/* Should be the size of the largest character */</span>
<span class="number">  52</span>
<span class="number">  53</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>g_bmpTextOutZoomedUnzoomedBitmap<span class="k2">)</span>
<span class="number">  54</span>  <span class="k2">{</span>
<span class="number">  55</span>    <span class="k1">return</span> AERVAL_AIEEE<span class="k2">;</span>
<span class="number">  56</span>  <span class="k2">}</span>
<span class="number">  57</span>
<span class="number">  58</span>  
<span class="number">  59</span>  <span class="c">/* Remember the font to use */</span>
<span class="number">  60</span>  g_fpZoomedTextFont <span class="k3">=</span> fpFont<span class="k2">;</span>
<span class="number">  61</span>
<span class="number">  62</span>
<span class="number">  63</span>  <span class="k1">return</span> AERVAL_YOOPY<span class="k2">;</span>
<span class="number">  64</span><span class="k2">}</span>
<span class="number">  65</span>
<span class="number">  66</span>
<span class="number">  67</span>
<span class="number">  68</span><span class="c">/****************************************************************************/</span>
<span class="number">  69</span><span class="c">/*!</span>
<span class="number">  70</span><span class="c"></span>
<span class="number">  71</span><span class="c"> \brief Un-initialises the chTextOutZoomed() function.</span>
<span class="number">  72</span><span class="c"></span>
<span class="number">  73</span><span class="c">  The temporary bitmap for rendering the font is destroyed.</span>
<span class="number">  74</span><span class="c"></span>
<span class="number">  75</span><span class="c">  \sa chSetFontForTextOutZoomedBitmap</span>
<span class="number">  76</span><span class="c">  \sa chTextOutZoomed</span>
<span class="number">  77</span><span class="c"></span>
<span class="number">  78</span><span class="c"> */</span>
<span class="number">  79</span>
<span class="number">  80</span><span class="k1">void</span>
<span class="number">  81</span>chTextOutZoomedTini<span class="k2">(</span><span class="k2">)</span>
<span class="number">  82</span><span class="k2">{</span>
<span class="number">  83</span>  <span class="k1">if</span><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap<span class="k2">)</span>
<span class="number">  84</span>  <span class="k2">{</span>
<span class="number">  85</span>    <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>    g_bmpTextOutZoomedUnzoomedBitmap <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  87</span>  <span class="k2">}</span>
<span class="number">  88</span><span class="k2">}</span>
<span class="number">  89</span>
<span class="number">  90</span>
<span class="number">  91</span>
<span class="number">  92</span>
<span class="number">  93</span><span class="c">/****************************************************************************/</span>
<span class="number">  94</span><span class="c">/*!</span>
<span class="number">  95</span><span class="c"></span>
<span class="number">  96</span><span class="c"> \brief Draws the contents of the temporary bitmap \c g_bmpTextOutZoomedUnzoomedBitmap zoomed to the destination transparently.</span>
<span class="number">  97</span><span class="c"></span>
<span class="number">  98</span><span class="c">  Renders the contents of g_bmpTextOutZoomedUnzoomedBitmap zoomed to the destination transparently.</span>
<span class="number">  99</span><span class="c"></span>
<span class="number"> 100</span><span class="c">  \pre chSetFontForTextOutZoomedBitmap() must be called before this function can be used</span>
<span class="number"> 101</span><span class="c"></span>
<span class="number"> 102</span><span class="c">  \warning This does not check for character going off screen-edge</span>
<span class="number"> 103</span><span class="c"></span>
<span class="number"> 104</span><span class="c">  \note The height of the unzoomed bitmap is determined by the height of g_bmpTextOutZoomedUnzoomedBitmap - hence no need to pass in the unzoomed height.</span>
<span class="number"> 105</span><span class="c"></span>
<span class="number"> 106</span><span class="c">  \sa chRenderCharZoomed()</span>
<span class="number"> 107</span><span class="c">  \sa _chRenderCharZoomedFromTmpBitmapOpaque()</span>
<span class="number"> 108</span><span class="c"></span>
<span class="number"> 109</span><span class="c">  \sa chSetFontForTextOutZoomedBitmap</span>
<span class="number"> 110</span><span class="c"></span>
<span class="number"> 111</span><span class="c">  \param  bmpDest  Destination bitmap</span>
<span class="number"> 112</span><span class="c">  \param  nX      X position on destination of zoomed character.</span>
<span class="number"> 113</span><span class="c">  \param  nY      Y position on destination of zoomed character.</span>
<span class="number"> 114</span><span class="c">  \param  nXZoom      Ammount to zoom text by in the X direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 115</span><span class="c">  \param  nYZoom      Ammount to zoom text by in the Y direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 116</span><span class="c">  \param  nCharLength      Length of the unzoomed character.</span>
<span class="number"> 117</span><span class="c">  \param  nCharLengthZoomed    Length of the zoomed character.</span>
<span class="number"> 118</span><span class="c">  \param  nCharHeightZoomed    Height of the zoomed character.</span>
<span class="number"> 119</span><span class="c"></span>
<span class="number"> 120</span><span class="c">  \return  int  The horizontal length of the zoomed character in pixels.</span>
<span class="number"> 121</span><span class="c"></span>
<span class="number"> 122</span><span class="c"> */</span>
<span class="number"> 123</span>
<span class="number"> 124</span><span class="k1">static</span> INLINE <span class="k1">void</span>
<span class="number"> 125</span>_chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bmpDest, <span class="k1">int</span> nX, <span class="k1">int</span> nY, <span class="k1">int</span> nCharLength, <span class="k1">int</span> nCharLengthZoomed, <span class="k1">int</span> nCharHeightZoomed<span class="k2">)</span>
<span class="number"> 126</span><span class="k2">{</span>
<span class="number"> 127</span>  <a href="http://www.allegro.cc/manual/masked_stretch_blit" target="_blank"><span class="a">masked_stretch_blit</span></a><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap, bmpDest, <span class="n">0</span>,<span class="n">0</span>, nCharLength,g_bmpTextOutZoomedUnzoomedBitmap-&gt;h,
<span class="number"> 128</span>    nX,nY, nCharLengthZoomed,nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span><span class="k2">}</span>
<span class="number"> 130</span>
<span class="number"> 131</span>
<span class="number"> 132</span>
<span class="number"> 133</span><span class="c">/****************************************************************************/</span>
<span class="number"> 134</span><span class="c">/*!</span>
<span class="number"> 135</span><span class="c"></span>
<span class="number"> 136</span><span class="c"> \brief Draws the contents of the temporary bitmap \c g_bmpTextOutZoomedUnzoomedBitmap zoomed to the destination opaquely.</span>
<span class="number"> 137</span><span class="c"></span>
<span class="number"> 138</span><span class="c">  Renders the contents of g_bmpTextOutZoomedUnzoomedBitmap zoomed to the destination transparently.</span>
<span class="number"> 139</span><span class="c"></span>
<span class="number"> 140</span><span class="c">  \pre chSetFontForTextOutZoomedBitmap() must be called before this function can be used</span>
<span class="number"> 141</span><span class="c"></span>
<span class="number"> 142</span><span class="c">  \warning This does not check for character going off screen-edge</span>
<span class="number"> 143</span><span class="c"></span>
<span class="number"> 144</span><span class="c">  \note The height of the unzoomed bitmap is determined by the height of g_bmpTextOutZoomedUnzoomedBitmap - hence no need to pass in the unzoomed height.</span>
<span class="number"> 145</span><span class="c"></span>
<span class="number"> 146</span><span class="c">  \sa chRenderCharZoomed()</span>
<span class="number"> 147</span><span class="c">  \sa _chRenderCharZoomedFromTmpBitmapTransparent()</span>
<span class="number"> 148</span><span class="c"></span>
<span class="number"> 149</span><span class="c">  \sa chSetFontForTextOutZoomedBitmap</span>
<span class="number"> 150</span><span class="c"></span>
<span class="number"> 151</span><span class="c">  \param  bmpDest  Destination bitmap</span>
<span class="number"> 152</span><span class="c">  \param  nX      X position on destination of zoomed character.</span>
<span class="number"> 153</span><span class="c">  \param  nY      Y position on destination of zoomed character.</span>
<span class="number"> 154</span><span class="c">  \param  nXZoom      Ammount to zoom text by in the X direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 155</span><span class="c">  \param  nYZoom      Ammount to zoom text by in the Y direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 156</span><span class="c">  \param  nCharLength      Length of the unzoomed character.</span>
<span class="number"> 157</span><span class="c">  \param  nCharLengthZoomed    Length of the zoomed character.</span>
<span class="number"> 158</span><span class="c">  \param  nCharHeightZoomed    Height of the zoomed character.</span>
<span class="number"> 159</span><span class="c"></span>
<span class="number"> 160</span><span class="c">  \return  int  The horizontal length of the zoomed character in pixels.</span>
<span class="number"> 161</span><span class="c"></span>
<span class="number"> 162</span><span class="c"> */</span>
<span class="number"> 163</span>
<span class="number"> 164</span><span class="k1">static</span> INLINE <span class="k1">void</span>
<span class="number"> 165</span>_chRenderCharZoomedFromTmpBitmapOpaque<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bmpDest, <span class="k1">int</span> nX, <span class="k1">int</span> nY, <span class="k1">int</span> nCharLength, <span class="k1">int</span> nCharLengthZoomed, <span class="k1">int</span> nCharHeightZoomed<span class="k2">)</span>
<span class="number"> 166</span><span class="k2">{</span>
<span class="number"> 167</span>  <a href="http://www.allegro.cc/manual/stretch_blit" target="_blank"><span class="a">stretch_blit</span></a><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap, bmpDest, <span class="n">0</span>,<span class="n">0</span>, nCharLength,g_bmpTextOutZoomedUnzoomedBitmap-&gt;h,
<span class="number"> 168</span>    nX,nY, nCharLengthZoomed,nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 169</span><span class="k2">}</span>
<span class="number"> 170</span>
<span class="number"> 171</span>
<span class="number"> 172</span>
<span class="number"> 173</span><span class="c">/****************************************************************************/</span>
<span class="number"> 174</span><span class="c">/*!</span>
<span class="number"> 175</span><span class="c"></span>
<span class="number"> 176</span><span class="c"> \brief Draws a zoomed UNICODE character</span>
<span class="number"> 177</span><span class="c"></span>
<span class="number"> 178</span><span class="c">  Renders the character onto the bitmap at position x, y, using the current font (set in chSetFontForTextOutZoomedBitmap).</span>
<span class="number"> 179</span><span class="c"></span>
<span class="number"> 180</span><span class="c">  \pre chSetFontForTextOutZoomedBitmap() must be called before this function can be used</span>
<span class="number"> 181</span><span class="c"></span>
<span class="number"> 182</span><span class="c">  \warning This does not check for character going off screen-edge</span>
<span class="number"> 183</span><span class="c"></span>
<span class="number"> 184</span><span class="c"></span>
<span class="number"> 185</span><span class="c">  \sa chTextoutZoomed()</span>
<span class="number"> 186</span><span class="c"></span>
<span class="number"> 187</span><span class="c">  \sa chSetFontForTextOutZoomedBitmap</span>
<span class="number"> 188</span><span class="c"></span>
<span class="number"> 189</span><span class="c">  \param  bmpDest    Destination bitmap</span>
<span class="number"> 190</span><span class="c">  \param  nChar    The UNICODE character to print</span>
<span class="number"> 191</span><span class="c">  \param  nX    X position of text</span>
<span class="number"> 192</span><span class="c">  \param  nY    Y position of text</span>
<span class="number"> 193</span><span class="c">  \param  nXZoom    Ammount to zoom text by in the X direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 194</span><span class="c">  \param  nYZoom    Ammount to zoom text by in the Y direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 195</span><span class="c">  \param  nColor    Text-colour - If the color is -1 and a color font is in use, it will be drawn using the colors from the original font bitmap.</span>
<span class="number"> 196</span><span class="c">  \param  nBGColour    Text-background-colour</span>
<span class="number"> 197</span><span class="c"></span>
<span class="number"> 198</span><span class="c">  \return  int  The horizontal length of the zoomed character in pixels.</span>
<span class="number"> 199</span><span class="c"></span>
<span class="number"> 200</span><span class="c"> */</span>
<span class="number"> 201</span>
<span class="number"> 202</span><span class="k1">int</span>
<span class="number"> 203</span>chRenderCharZoomed<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bmpDest, <span class="k1">int</span> nChar, <span class="k1">int</span> nX, <span class="k1">int</span> nY, <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> nXZoom, <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> nYZoom, <span class="k1">int</span> nColor, <span class="k1">int</span> nBGColour<span class="k2">)</span>
<span class="number"> 204</span><span class="k2">{</span>
<span class="number"> 205</span>  <span class="k1">int</span> nCharLength, nCharLengthZoomed<span class="k2">;</span>
<span class="number"> 206</span>
<span class="number"> 207</span>
<span class="number"> 208</span>  <a href="http://www.allegro.cc/manual/ASSERT" target="_blank"><span class="a">ASSERT</span></a><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap <span class="k3">&amp;</span><span class="k3">&amp;</span> g_fpZoomedTextFont<span class="k2">)</span><span class="k2">;</span>  <span class="c">// must be setup</span>
<span class="number"> 209</span>
<span class="number"> 210</span>
<span class="number"> 211</span>  <span class="c">/* Work out the length of the zoomed character */</span>
<span class="number"> 212</span>  nCharLength <span class="k3">=</span> g_fpZoomedTextFont-&gt;vtable-&gt;char_length<span class="k2">(</span>g_fpZoomedTextFont, nChar<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 213</span>  nCharLengthZoomed <span class="k3">=</span> <span class="k2">(</span>nCharLength <span class="k3">*</span> nXZoom<span class="k2">)</span><span class="k3">&gt;</span><span class="k3">&gt;</span><span class="n">16</span><span class="k2">;</span>  <span class="c">// ?: Use fixtoi() instead?</span>
<span class="number"> 214</span>
<span class="number"> 215</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/uisspace" target="_blank"><span class="a">uisspace</span></a><span class="k2">(</span>nChar<span class="k2">)</span><span class="k2">)</span>  <span class="c">/* Skip whitespaces */</span>
<span class="number"> 216</span>  <span class="k2">{</span>
<span class="number"> 217</span>    <span class="k1">int</span> nCharHeightZoomed <span class="k3">=</span> <span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap-&gt;h <span class="k3">*</span> nYZoom<span class="k2">)</span><span class="k3">&gt;</span><span class="k3">&gt;</span><span class="n">16</span><span class="k2">;</span>  <span class="c">// ?: Use fixtoi() instead?</span>
<span class="number"> 218</span>
<span class="number"> 219</span>    <span class="c">/* Render character onto a temporary bitmap (we are using a temporary bitmap because render_char() does not do zoomed renderings) */</span>
<span class="number"> 220</span>    <span class="k1">if</span><span class="k2">(</span>nBGColour<span class="k3">=</span><span class="k3">=</span><span class="k3">-</span><span class="n">1</span><span class="k2">)</span>
<span class="number"> 221</span>    <span class="k2">{</span>
<span class="number"> 222</span>      <a href="http://www.allegro.cc/manual/clear_bitmap" target="_blank"><span class="a">clear_bitmap</span></a><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap<span class="k2">)</span><span class="k2">;</span>  <span class="c">/* Transparent text-drawing code means we must clear out the mess we made */</span>
<span class="number"> 223</span>    <span class="k2">}</span>
<span class="number"> 224</span>    g_fpZoomedTextFont-&gt;vtable-&gt;render_char<span class="k2">(</span>g_fpZoomedTextFont, nChar, nColor, nBGColour, g_bmpTextOutZoomedUnzoomedBitmap, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 225</span>    
<span class="number"> 226</span>    <span class="c">/* Stretch the temporary bitmap to the destination */</span>
<span class="number"> 227</span>    <span class="k1">if</span><span class="k2">(</span>nBGColour<span class="k3">=</span><span class="k3">=</span><span class="k3">-</span><span class="n">1</span><span class="k2">)</span>
<span class="number"> 228</span>    <span class="k2">{</span>
<span class="number"> 229</span>      _chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span>bmpDest, nX, nY, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 230</span>    <span class="k2">}</span>
<span class="number"> 231</span>    <span class="k1">else</span>
<span class="number"> 232</span>    <span class="k2">{</span>
<span class="number"> 233</span>      _chRenderCharZoomedFromTmpBitmapOpaque<span class="k2">(</span>bmpDest, nX, nY, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>      
<span class="number"> 234</span>    <span class="k2">}</span>
<span class="number"> 235</span>
<span class="number"> 236</span>  <span class="k2">}</span>
<span class="number"> 237</span>  <span class="k1">else</span>
<span class="number"> 238</span>  <span class="k2">{</span>
<span class="number"> 239</span>    <span class="k1">if</span><span class="k2">(</span>nBGColour<span class="k3">!</span><span class="k3">=</span><span class="k3">-</span><span class="n">1</span><span class="k2">)</span>
<span class="number"> 240</span>    <span class="k2">{</span>
<span class="number"> 241</span>      <span class="c">/* If using a solid background, then whitespaces must still be drawn. */</span>
<span class="number"> 242</span>      <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>bmpDest, nX, nY, nX<span class="k3">+</span>nCharLengthZoomed-1, nY<span class="k3">+</span><span class="k2">(</span><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap-&gt;h <span class="k3">*</span> nYZoom<span class="k2">)</span><span class="k3">&gt;</span><span class="k3">&gt;</span><span class="n">16</span><span class="k2">)</span><span class="k3">-</span><span class="n">1</span>, nBGColour<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 243</span>    <span class="k2">}</span>
<span class="number"> 244</span>  <span class="k2">}</span>
<span class="number"> 245</span>
<span class="number"> 246</span>  <span class="k1">return</span> nCharLengthZoomed<span class="k2">;</span>
<span class="number"> 247</span><span class="k2">}</span>
<span class="number"> 248</span>
<span class="number"> 249</span>
<span class="number"> 250</span>
<span class="number"> 251</span>
<span class="number"> 252</span><span class="c">/****************************************************************************/</span>
<span class="number"> 253</span><span class="c">/*!</span>
<span class="number"> 254</span><span class="c"></span>
<span class="number"> 255</span><span class="c"> \brief Draws a zoomed UNICODE character with an outline</span>
<span class="number"> 256</span><span class="c"></span>
<span class="number"> 257</span><span class="c">  Renders the character onto the bitmap at position x, y, using the current</span>
<span class="number"> 258</span><span class="c">  font (set in chSetFontForTextOutZoomedBitmap) with an outline.</span>
<span class="number"> 259</span><span class="c"></span>
<span class="number"> 260</span><span class="c">  \note This does not do text with an opaque background</span>
<span class="number"> 261</span><span class="c"></span>
<span class="number"> 262</span><span class="c">  \pre chSetFontForTextOutZoomedBitmap() must be called before this function can be used.</span>
<span class="number"> 263</span><span class="c"></span>
<span class="number"> 264</span><span class="c">  \warning This does not check for character going off screen-edge</span>
<span class="number"> 265</span><span class="c"></span>
<span class="number"> 266</span><span class="c"></span>
<span class="number"> 267</span><span class="c">  \sa chTextoutZoomedOutline()</span>
<span class="number"> 268</span><span class="c"></span>
<span class="number"> 269</span><span class="c">  \sa chSetFontForTextOutZoomedBitmap</span>
<span class="number"> 270</span><span class="c"></span>
<span class="number"> 271</span><span class="c">  \param  bmpDest    Destination bitmap</span>
<span class="number"> 272</span><span class="c">  \param  nChar    The UNICODE character to print outlined</span>
<span class="number"> 273</span><span class="c">  \param  nX    X position of text</span>
<span class="number"> 274</span><span class="c">  \param  nY    Y position of text</span>
<span class="number"> 275</span><span class="c">  \param  nXZoom    Ammount to zoom text by in the X direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 276</span><span class="c">  \param  nYZoom    Ammount to zoom text by in the Y direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 277</span><span class="c">  \param  nColor    Text-colour - If the color is -1 and a color font is in use, it will be drawn using the colors from the original font bitmap.</span>
<span class="number"> 278</span><span class="c">  \param  nOutlineColour  Colour to render text-outline in (-1 means render the text-outline transparently(!))</span>
<span class="number"> 279</span><span class="c"></span>
<span class="number"> 280</span><span class="c">  \return  int  The horizontal length of the zoomed character in pixels.</span>
<span class="number"> 281</span><span class="c"></span>
<span class="number"> 282</span><span class="c"> */</span>
<span class="number"> 283</span>
<span class="number"> 284</span><span class="k1">int</span>
<span class="number"> 285</span>chRenderCharZoomedOutline<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bmpDest, <span class="k1">int</span> nChar, <span class="k1">int</span> nX, <span class="k1">int</span> nY, <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> nXZoom, <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> nYZoom, <span class="k1">int</span> nColor, <span class="k1">int</span> nOutlineColour<span class="k2">)</span>
<span class="number"> 286</span><span class="k2">{</span>
<span class="number"> 287</span>  <span class="k1">int</span> nCharLength, nCharLengthZoomed<span class="k2">;</span>
<span class="number"> 288</span>
<span class="number"> 289</span>
<span class="number"> 290</span>  <a href="http://www.allegro.cc/manual/ASSERT" target="_blank"><span class="a">ASSERT</span></a><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap <span class="k3">&amp;</span><span class="k3">&amp;</span> g_fpZoomedTextFont<span class="k2">)</span><span class="k2">;</span>  <span class="c">// must be setup</span>
<span class="number"> 291</span>
<span class="number"> 292</span>
<span class="number"> 293</span>  <span class="c">/* Work out the length of the zoomed character */</span>
<span class="number"> 294</span>  nCharLength <span class="k3">=</span> g_fpZoomedTextFont-&gt;vtable-&gt;char_length<span class="k2">(</span>g_fpZoomedTextFont, nChar<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 295</span>  nCharLengthZoomed <span class="k3">=</span> <span class="k2">(</span>nCharLength <span class="k3">*</span> nXZoom<span class="k2">)</span><span class="k3">&gt;</span><span class="k3">&gt;</span><span class="n">16</span><span class="k2">;</span>  <span class="c">// ?: Use fixtoi() instead?</span>
<span class="number"> 296</span>
<span class="number"> 297</span>
<span class="number"> 298</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/uisspace" target="_blank"><span class="a">uisspace</span></a><span class="k2">(</span>nChar<span class="k2">)</span><span class="k2">)</span>  <span class="c">/* Skip whitespaces */</span>
<span class="number"> 299</span>  <span class="k2">{</span>
<span class="number"> 300</span>    <span class="c">/* Outline */</span>
<span class="number"> 301</span>
<span class="number"> 302</span>    <span class="k1">int</span> nCharHeightZoomed <span class="k3">=</span> <span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap-&gt;h <span class="k3">*</span> nYZoom<span class="k2">)</span><span class="k3">&gt;</span><span class="k3">&gt;</span><span class="n">16</span><span class="k2">;</span>  <span class="c">// ?: Use fixtoi() instead?</span>
<span class="number"> 303</span>
<span class="number"> 304</span>    <span class="c">/* Render character onto a temporary bitmap (we are using a temporary bitmap because render_char() does not do zoomed renderings) */</span>
<span class="number"> 305</span>    <a href="http://www.allegro.cc/manual/clear_bitmap" target="_blank"><span class="a">clear_bitmap</span></a><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap<span class="k2">)</span><span class="k2">;</span>  <span class="c">/* Transparent text-drawing code means we must clear out the mess we made */</span>
<span class="number"> 306</span>    g_fpZoomedTextFont-&gt;vtable-&gt;render_char<span class="k2">(</span>g_fpZoomedTextFont, nChar, nOutlineColour, <span class="k3">-</span><span class="n">1</span>, g_bmpTextOutZoomedUnzoomedBitmap, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 307</span>
<span class="number"> 308</span>    _chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span>bmpDest, nX, nY<span class="k3">+</span><span class="n">1</span>, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 309</span>    _chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span>bmpDest, nX<span class="k3">+</span><span class="n">2</span>, nY<span class="k3">+</span><span class="n">1</span>, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 310</span>    _chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span>bmpDest, nX<span class="k3">+</span><span class="n">1</span>, nY, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 311</span>    _chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span>bmpDest, nX<span class="k3">+</span><span class="n">1</span>, nY<span class="k3">+</span><span class="n">2</span>, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 312</span>
<span class="number"> 313</span>    _chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span>bmpDest, nX, nY, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 314</span>    _chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span>bmpDest, nX<span class="k3">+</span><span class="n">2</span>, nY, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 315</span>    _chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span>bmpDest, nX, nY<span class="k3">+</span><span class="n">2</span>, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 316</span>    _chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span>bmpDest, nX<span class="k3">+</span><span class="n">2</span>, nY<span class="k3">+</span><span class="n">2</span>, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 317</span>
<span class="number"> 318</span>
<span class="number"> 319</span>
<span class="number"> 320</span>    <span class="c">/* Main text */</span>
<span class="number"> 321</span>    
<span class="number"> 322</span>    <span class="c">/* Stretch the temporary bitmap to the destination */</span>
<span class="number"> 323</span>    <span class="c">// Could optimise further by using a temp bitmap for the zoomed character, but then, the bitmap size would depend on the zoom-paramaters.</span>
<span class="number"> 324</span>
<span class="number"> 325</span>    <span class="c">/* Redraw the char in the new colour */</span>    
<span class="number"> 326</span>    g_fpZoomedTextFont-&gt;vtable-&gt;render_char<span class="k2">(</span>g_fpZoomedTextFont, nChar, nColor, <span class="k3">-</span><span class="n">1</span>, g_bmpTextOutZoomedUnzoomedBitmap, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 327</span>    
<span class="number"> 328</span>    _chRenderCharZoomedFromTmpBitmapTransparent<span class="k2">(</span>bmpDest, nX<span class="k3">+</span><span class="n">1</span>, nY<span class="k3">+</span><span class="n">1</span>, nCharLength, nCharLengthZoomed, nCharHeightZoomed<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 329</span>  <span class="k2">}</span>
<span class="number"> 330</span>
<span class="number"> 331</span>  <span class="k1">return</span> nCharLengthZoomed<span class="k2">;</span>
<span class="number"> 332</span><span class="k2">}</span>
<span class="number"> 333</span>
<span class="number"> 334</span>
<span class="number"> 335</span>
<span class="number"> 336</span>
<span class="number"> 337</span>
<span class="number"> 338</span>
<span class="number"> 339</span>
<span class="number"> 340</span><span class="c">/****************************************************************************/</span>
<span class="number"> 341</span><span class="c">/*!</span>
<span class="number"> 342</span><span class="c"></span>
<span class="number"> 343</span><span class="c"> \brief Draws some zoomed text</span>
<span class="number"> 344</span><span class="c"></span>
<span class="number"> 345</span><span class="c">  Writes the string onto the bitmap at position x, y, using the current font (set in chSetFontForTextOutZoomedBitmap).</span>
<span class="number"> 346</span><span class="c"></span>
<span class="number"> 347</span><span class="c">  \remarks</span>
<span class="number"> 348</span><span class="c">  Similar to Allegro's textout(), but this zooms the font (can also reduce for values of n[X|Y]Zoom &lt; 1)</span>
<span class="number"> 349</span><span class="c"></span>
<span class="number"> 350</span><span class="c">  \attention chSetFontForTextOutZoomedBitmap() must be called before this function can be used</span>
<span class="number"> 351</span><span class="c"></span>
<span class="number"> 352</span><span class="c">  \warning This does not check for text going off screen-edge</span>
<span class="number"> 353</span><span class="c"></span>
<span class="number"> 354</span><span class="c"></span>
<span class="number"> 355</span><span class="c">  \sa chRenderCharZoomed()</span>
<span class="number"> 356</span><span class="c"></span>
<span class="number"> 357</span><span class="c">  \sa chSetFontForTextOutZoomedBitmap</span>
<span class="number"> 358</span><span class="c"></span>
<span class="number"> 359</span><span class="c">  \param  bmpDest    Destination bitmap</span>
<span class="number"> 360</span><span class="c">  \param  szStr    The string to print</span>
<span class="number"> 361</span><span class="c">  \param  nX    X position of text</span>
<span class="number"> 362</span><span class="c">  \param  nY    Y position of text</span>
<span class="number"> 363</span><span class="c">  \param  nXZoom    Ammount to zoom text by in the X direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 364</span><span class="c">  \param  nYZoom    Ammount to zoom text by in the Y direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 365</span><span class="c">  \param  nColor    Text-colour - If the color is -1 and a color font is in use, it will be drawn using the colors from the original font bitmap.</span>
<span class="number"> 366</span><span class="c">  \param  nBGColour    Text-background-colour</span>
<span class="number"> 367</span><span class="c"></span>
<span class="number"> 368</span><span class="c"> */</span>
<span class="number"> 369</span>
<span class="number"> 370</span><span class="k1">void</span>
<span class="number"> 371</span>chTextoutZoomed<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bmpDest, AL_CONST <span class="k1">char</span> <span class="k3">*</span>szStr, <span class="k1">int</span> nX, <span class="k1">int</span> nY, <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> nXZoom, <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> nYZoom, <span class="k1">int</span> nColor, <span class="k1">int</span> nBGColour<span class="k2">)</span>
<span class="number"> 372</span><span class="k2">{</span>
<span class="number"> 373</span>  <span class="k1">int</span> nChar<span class="k2">;</span>  <span class="c">/* Current UNICODE char to print */</span>
<span class="number"> 374</span>
<span class="number"> 375</span>  <span class="k1">int</span> nTextXPosition <span class="k3">=</span> nX<span class="k2">;</span>  <span class="c">/* X position of current char in the destination bitmap. This is advanced by the zoomed character length each time a character is printed */</span>
<span class="number"> 376</span>
<span class="number"> 377</span>
<span class="number"> 378</span>  <a href="http://www.allegro.cc/manual/ASSERT" target="_blank"><span class="a">ASSERT</span></a><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap <span class="k3">&amp;</span><span class="k3">&amp;</span> g_fpZoomedTextFont<span class="k2">)</span><span class="k2">;</span>  <span class="c">// must be setup</span>
<span class="number"> 379</span>
<span class="number"> 380</span>
<span class="number"> 381</span>  <span class="c">/* Print all characters in the string */</span>
<span class="number"> 382</span>  <span class="k1">while</span><span class="k2">(</span> <span class="k2">(</span>nChar <span class="k3">=</span> <a href="http://www.allegro.cc/manual/ugetxc" target="_blank"><span class="a">ugetxc</span></a><span class="k2">(</span><span class="k3">&amp;</span>szStr<span class="k2">)</span><span class="k2">)</span> <span class="k2">)</span>
<span class="number"> 383</span>  <span class="k2">{</span>        
<span class="number"> 384</span>    nTextXPosition <span class="k3">+</span><span class="k3">=</span> chRenderCharZoomed<span class="k2">(</span>bmpDest, nChar, nTextXPosition, nY, nXZoom, nYZoom, nColor, nBGColour<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 385</span>  <span class="k2">}</span>
<span class="number"> 386</span>
<span class="number"> 387</span><span class="k2">}</span>
<span class="number"> 388</span>
<span class="number"> 389</span>
<span class="number"> 390</span>
<span class="number"> 391</span><span class="c">/****************************************************************************/</span>
<span class="number"> 392</span><span class="c">/*!</span>
<span class="number"> 393</span><span class="c"></span>
<span class="number"> 394</span><span class="c"> \brief Draws some zoomed text with an outline</span>
<span class="number"> 395</span><span class="c"></span>
<span class="number"> 396</span><span class="c">  Writes the string onto the bitmap at position x, y, using the current</span>
<span class="number"> 397</span><span class="c">  font (set in chSetFontForTextOutZoomedBitmap) with an outline.</span>
<span class="number"> 398</span><span class="c"></span>
<span class="number"> 399</span><span class="c">  \note This does not do text with an opaque background</span>
<span class="number"> 400</span><span class="c"></span>
<span class="number"> 401</span><span class="c">  \remarks</span>
<span class="number"> 402</span><span class="c">  Similar to Allegro's textout(), but this zooms the font (can also reduce for values of n[X|Y]Zoom &lt; 1) and adds an outline</span>
<span class="number"> 403</span><span class="c"></span>
<span class="number"> 404</span><span class="c">  \attention chSetFontForTextOutZoomedBitmap() must be called before this function can be used</span>
<span class="number"> 405</span><span class="c"></span>
<span class="number"> 406</span><span class="c">  \warning This does not check for text going off screen-edge</span>
<span class="number"> 407</span><span class="c"></span>
<span class="number"> 408</span><span class="c"></span>
<span class="number"> 409</span><span class="c">  \sa chRenderCharZoomed()</span>
<span class="number"> 410</span><span class="c"></span>
<span class="number"> 411</span><span class="c">  \sa chSetFontForTextOutZoomedBitmap</span>
<span class="number"> 412</span><span class="c"></span>
<span class="number"> 413</span><span class="c">  \param  bmpDest    Destination bitmap</span>
<span class="number"> 414</span><span class="c">  \param  szStr    The string to print</span>
<span class="number"> 415</span><span class="c">  \param  nX    X position of text</span>
<span class="number"> 416</span><span class="c">  \param  nY    Y position of text</span>
<span class="number"> 417</span><span class="c">  \param  nXZoom    Ammount to zoom text by in the X direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 418</span><span class="c">  \param  nYZoom    Ammount to zoom text by in the Y direction (between 1 and 0 means reduce instead of zoom)</span>
<span class="number"> 419</span><span class="c">  \param  nColor    Text-colour - If the color is -1 and a color font is in use, it will be drawn using the colors from the original font bitmap.</span>
<span class="number"> 420</span><span class="c">  \param  nOutlineColour  Colour to render text-outline in (-1 means render the text-outline transparently(!))</span>
<span class="number"> 421</span><span class="c"></span>
<span class="number"> 422</span><span class="c"> */</span>
<span class="number"> 423</span>
<span class="number"> 424</span><span class="k1">void</span>
<span class="number"> 425</span>chTextoutZoomedOutline<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bmpDest, AL_CONST <span class="k1">char</span> <span class="k3">*</span>szStr, <span class="k1">int</span> nX, <span class="k1">int</span> nY, <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> nXZoom, <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> nYZoom, <span class="k1">int</span> nColor, <span class="k1">int</span> nOutlineColour<span class="k2">)</span>
<span class="number"> 426</span><span class="k2">{</span>
<span class="number"> 427</span>  <span class="k1">int</span> nChar<span class="k2">;</span>  <span class="c">/* Current UNICODE char to print */</span>
<span class="number"> 428</span>
<span class="number"> 429</span>  <span class="k1">int</span> nTextXPosition <span class="k3">=</span> nX<span class="k2">;</span>  <span class="c">/* X position of current char in the destination bitmap. This is advanced by the zoomed character length each time a character is printed */</span>
<span class="number"> 430</span>
<span class="number"> 431</span>
<span class="number"> 432</span>  <a href="http://www.allegro.cc/manual/ASSERT" target="_blank"><span class="a">ASSERT</span></a><span class="k2">(</span>g_bmpTextOutZoomedUnzoomedBitmap <span class="k3">&amp;</span><span class="k3">&amp;</span> g_fpZoomedTextFont<span class="k2">)</span><span class="k2">;</span>  <span class="c">// must be setup</span>
<span class="number"> 433</span>
<span class="number"> 434</span>
<span class="number"> 435</span>  <span class="c">/* Print all characters in the string */</span>
<span class="number"> 436</span>  <span class="k1">while</span><span class="k2">(</span> <span class="k2">(</span>nChar <span class="k3">=</span> <a href="http://www.allegro.cc/manual/ugetxc" target="_blank"><span class="a">ugetxc</span></a><span class="k2">(</span><span class="k3">&amp;</span>szStr<span class="k2">)</span><span class="k2">)</span> <span class="k2">)</span>
<span class="number"> 437</span>  <span class="k2">{</span>        
<span class="number"> 438</span>    nTextXPosition <span class="k3">+</span><span class="k3">=</span> chRenderCharZoomedOutline<span class="k2">(</span>bmpDest, nChar, nTextXPosition, nY, nXZoom, nYZoom, nColor, nOutlineColour<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 439</span>  <span class="k2">}</span>
<span class="number"> 440</span><span class="k2">}</span>
</div></div><p>



AE.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Andrei Ellman)</author>
		<pubDate>Thu, 12 Apr 2007 01:16:22 +0000</pubDate>
	</item>
</rss>
