<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Draw a TTF font on it&#39;s side?</title>
		<link>http://www.allegro.cc/forums/view/617312</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 12 Mar 2018 17:54:47 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m not seeing a function for this, but is there a easy way to draw text sideways, (rotated 90 degrees) is there a trick to doing it?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Sun, 11 Mar 2018 14:13:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Something like this should work:
</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_rotate_transform"><span class="a">al_rotate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t, pi <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>...<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Sun, 11 Mar 2018 21:51:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Do you mean draw the text vertically or actually turn it on its side?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 11 Mar 2018 23:07:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Turn it on it&#39;s side. I would use the example above, but what on earth is t pointing at?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Sun, 11 Mar 2018 23:39:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>EDIT<br />Oh I get you. <span class="source-code">t</span> is an <span class="source-code"><a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a><span class="k3">*</span></span>.</p><p>T doesn&#39;t point at anything, it&#39;s a transform, not a vector. He sets up the transform to rotate around the origin by 90 degrees clockwise and then uses the transform before drawing the text. You&#39;ll probably want to center your text before you rotate it though.</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> t<span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_translate_transform"><span class="a">al_translate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t , <span class="k3">-</span>xpos , <span class="k3">-</span>ypos<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_rotate_transform"><span class="a">al_rotate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t , M_PI<span class="k3">/</span><span class="n">2</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_translate_transform"><span class="a">al_translate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t , xpos , ypos<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> , <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span> , xpos , ypos , ALLEGRO_ALIGN_CENTER , my_string<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 11 Mar 2018 23:49:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m not at my main system right now, but does that transform the whole drawing surface. As in, if I was to paste bitmaps or draw primitives, they will also be transformed as well until I reset the use_transform();
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Mon, 12 Mar 2018 00:11:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The transforms that you &#39;use&#39; affect the current bitmap target only. But if that is the backbuffer, then it affects all drawing.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 12 Mar 2018 01:29:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I guess the question is, how do you set it back to normal after the text print. There doesn&#39;t seem to be a &quot;clear&quot; command and I have other non-rotated things being drawn to my target bitmap. (I admit my matrix math is a little weak so I don&#39;t know what an &quot;identity&quot; is)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Mon, 12 Mar 2018 16:03:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think its in the manual.</p><p><a href="http://liballeg.org/a5docs/trunk/transformations.html#al_use_transform">http://liballeg.org/a5docs/trunk/transformations.html#al_use_transform</a></p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Call this function with an identity transformation to return to the default behaviour.
</p></div></div><p>

However, to reset the projection transform is a little different. But you didn&#39;t alter that, so no worries.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 12 Mar 2018 16:30:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre>
  <span class="k1">int</span> GraphicsContext::drawRotatedText<span class="k2">(</span> <span class="k1">const</span> std::string<span class="k3">&amp;</span> text,agui::Font<span class="k3">*</span> <a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>,<span class="k1">const</span> agui::Color<span class="k3">&amp;</span> color, <span class="k1">int</span> x, <span class="k1">int</span> y, <span class="k1">float</span> deg, <span class="k1">int</span> flags <span class="k2">)</span>
  <span class="k2">{</span>
    <span class="k1">int</span> fx <span class="k3">=</span> font-&gt;getTextWidth<span class="k2">(</span>text<span class="k2">)</span> <span class="k3">/</span> <span class="n">2</span><span class="k2">;</span>
    <span class="k1">int</span> fy <span class="k3">=</span> font-&gt;getLineHeight<span class="k2">(</span><span class="k2">)</span> <span class="k3">/</span> <span class="n">2</span><span class="k2">;</span>
    m_transform.identity<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
    m_transform.translate<span class="k2">(</span><span class="k3">-</span>fx,<span class="k3">-</span>fy<span class="k2">)</span><span class="k2">;</span>
    m_transform.rotate<span class="k2">(</span>deg<span class="k2">)</span><span class="k2">;</span>
    m_transform.translate<span class="k2">(</span>x,y<span class="k2">)</span><span class="k2">;</span>
    useTransform<span class="k2">(</span>m_transform<span class="k2">)</span><span class="k2">;</span>
    drawText<span class="k2">(</span>text,<a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>,color,<span class="n">0</span>,<span class="n">0</span>,flags<span class="k2">)</span><span class="k2">;</span>
    resetTransform<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
    <span class="k1">return</span> fx <span class="k3">*</span> <span class="n">2</span><span class="k2">;</span>
  <span class="k2">}</span>
</pre></div></div><p>
<a href="https://github.com/jmasterx/StemwaterSpades/blob/master/Spades%20Game/Game/Engine/GraphicsContext.cpp">https://github.com/jmasterx/StemwaterSpades/blob/master/Spades%20Game/Game/Engine/GraphicsContext.cpp</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Mon, 12 Mar 2018 17:54:47 +0000</pubDate>
	</item>
</rss>
