<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Agui positing</title>
		<link>http://www.allegro.cc/forums/view/611775</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Wed, 09 Jan 2013 10:51:10 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi All,</p><p>Me agian. I was just wondering if anyone could tell me how i can position a button from Agui? Currently it just sits in the top left of my screen and i cannot see any options to position it.</p><p>Thanks</p><p>Jonathan
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jonny2027)</author>
		<pubDate>Mon, 07 Jan 2013 23:18:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Call widget-&gt;setLocation(x,y);</p><p>If you want it centered you can do:<br />widget-&gt;alignToParent(agui::ALIGN_MIDDLE_CENTER);</p><p>There are layouts you can use too that will auto relocate and auto resize when the screen size changes.</p><p>However, note that, Agui does not take into consideration Allegro Transforms. If you scale the screen to be resolution independent, Agui will not respond to your mouse as you would expect.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Tue, 08 Jan 2013 05:07:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/611775/973956#target">jmasterx</a> said:</div><div class="quote"><p>However, note that, Agui does not take into consideration Allegro Transforms. If you scale the screen to be resolution independent, Agui will not respond to your mouse as you would expect.</p></div></div><p>My GUI does. <img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mark Oates)</author>
		<pubDate>Tue, 08 Jan 2013 06:33:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What do you use to apply the transformation to the mouse? I can easily  implement it if I have that.</p><p>Thanks
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Tue, 08 Jan 2013 06:38:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As it is now, Widgets do not respond directly to mouse events, they are &quot;pre-processed&quot; first.  There are some <span class="source-code"><a href="http://www.allegro.cc/manual/al_invert_transform"><span class="a">al_invert_transform</span></a></span> and <span class="source-code"><a href="http://www.allegro.cc/manual/al_transform_coordinates"><span class="a">al_transform_coordinates</span></a></span> in there.  The mouse positions and displacements are modified to native coordinate space and sent into the widget&#39;s update function for collision testing.</p><p>Also, widgets can have their own transform, too.  Any widget can be scaled and/or rotated, and that transformation can have transformations prior to it while still doing mouse collisions correctly.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mark Oates)</author>
		<pubDate>Tue, 08 Jan 2013 06:55:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That&#39;s cool <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Agui is backend independent so I always need to abstract away the underlying API in anything I add. I might look into the implementations of some of those allegro functions and use that. The user will be responsible for supplying me some kind of transform.</p><p>I could enforce that the backend handles this but I&#39;m not sure that&#39;s the best idea...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Tue, 08 Jan 2013 07:03:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks for the information. I will give it a shot. Just out of interest what is your GUI Mark.</p><p>Thanks</p><p>Jonathan
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jonny2027)</author>
		<pubDate>Tue, 08 Jan 2013 16:41:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s not finished yet.  It&#39;s still in infinite beta loop. <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mark Oates)</author>
		<pubDate>Tue, 08 Jan 2013 18:37:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I just added support for Transformations!</p><p>You can get it in SVN.</p><p>It&#39;s as easy to use as Allegro&#39;s transformations:</p><p>Here is a test example I used in my game:</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="c">//render the scene</span>
<span class="number">  2</span>      <span class="k1">if</span><span class="k2">(</span>m_needsRedraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number">  3</span>      <span class="k2">{</span>
<span class="number">  4</span>
<span class="number">  5</span>
<span class="number">  6</span>        m_g.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  7</span>        agui::Transform t<span class="k2">;</span>
<span class="number">  8</span>        t.rotate<span class="k2">(</span><span class="k3">-</span><span class="n">0</span>.<span class="n">2</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>        t.translate<span class="k2">(</span><span class="k3">-</span><span class="n">50</span>,<span class="n">30</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>        t.scale<span class="k2">(</span><span class="n">0</span>.<span class="n">2f</span>,<span class="n">0</span>.<span class="n">2f</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>        m_currentScene-&gt;getGui<span class="k2">(</span><span class="k2">)</span>.setUseTransform<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>        m_currentScene-&gt;getGui<span class="k2">(</span><span class="k2">)</span>.setTransform<span class="k2">(</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>        m_currentScene-&gt;render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 14</span>        <a href="http://www.allegro.cc/manual/al_set_target_backbuffer"><span class="a">al_set_target_backbuffer</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_current_display"><span class="a">al_get_current_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 15</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> transform<span class="k2">;</span>
<span class="number"> 16</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>transform<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 17</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>transform, <span class="k3">-</span><span class="n">0</span>.<span class="n">2</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 18</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>transform,<span class="k3">-</span><span class="n">50</span>,<span class="n">30</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 19</span>        <a href="http://www.allegro.cc/manual/al_scale_transform"><span class="a">al_scale_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>transform,<span class="n">0</span>.<span class="n">2f</span>,<span class="n">0</span>.<span class="n">2f</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</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>transform<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 21</span>        m_g.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span>      
<span class="number"> 23</span>        m_needsRedraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 24</span>      <span class="k2">}</span>
</div></div><p>

One thing though, to use it, you will need to render your game using the method where you render everything to a separate bitmap then blit that to the backbuffer. This is because Agui uses clipping rectangles and those don&#39;t like to be transformed it seems <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Wed, 09 Jan 2013 10:51:10 +0000</pubDate>
	</item>
</rss>
