<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Help needed installing agui library</title>
		<link>http://www.allegro.cc/forums/view/614941</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 06 Jan 2015 06:48:56 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m looking to use the Agui library for a game I am working on, but I have no clue how to use makefiles and the like, so I would really appreciate someone giving me specific instructions on how to install the library. I am using Windows with the MinGW compiler. Thanks in advance! <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Agui forum post: <a href="https://www.allegro.cc/forums/thread/612830">https://www.allegro.cc/forums/thread/612830</a><br />Agui GitHub: <a href="https://github.com/jmasterx/Agui">https://github.com/jmasterx/Agui</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Gill)</author>
		<pubDate>Sat, 03 Jan 2015 00:00:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi there <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>I&#39;m unfortunately not familiar with using MinGW. I have built the library on Linux, and OSX with g++, but on Windows I use Visual Studio. In theory, Agui should compile fine with MinGW, but I have never used it. Maybe others can help you with that aspect.</p><p>The library is compiled with CMAKE build system like Allegro. CMAKE generates the make file for you.</p><p>So you will want to install cmake: <a href="http://www.cmake.org/download/">http://www.cmake.org/download/</a> <a href="http://www.cmake.org/runningcmake/">http://www.cmake.org/runningcmake/</a> </p><p>Start it up and point it to the Agui source code directory and the output directory (./build or something).</p><p>Click configure and you will be asked to select a generator.</p><p>Select MinGW makefiles.</p><p>Click Finish.</p><p>Then, if you have MinGW correctly configured it should now present you with a red box with choices. The default choices should be correct.</p><p>Once the make files are generated, I suspect you run MinGW&#39;s make.</p><p>Hopefully others can correct / help from here since I have never used MinGW.</p><p>Once you get those made and linked I can help you with using the library.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Sat, 03 Jan 2015 01:25:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s not too hard. You want to make a build directory and then run cmake from there :
</p><pre>
cd agui
mkdir build
cd build
cmake -G &quot;MinGW Makefiles&quot; -DSHARED=On -DCMAKE_BUILD_TYPE=Release ..
mingw32-make install
</pre><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sat, 03 Jan 2015 02:53:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>First off, I just want to thank you for how much help you have already been. This has already been my best experience asking for help with a programming issue.</p><p>Anyway, I used the cmake gui application, told it to make MinGW Makefiles and &quot;use default native compilers&quot;, and pressed the Configure and Generate buttons. But, when I use mingw32-make (without the &quot;install&quot; argument because it just refuses to do anything if I use that) it tells me that it can&#39;t find &quot;CMakeFiles/agui.dir/src/Agui/Clipboard/WinClipboard.cpp.obj&quot;. On further examination I found that no object files seem to have been created, although the folders that should contain them have.</p><p>Am I missing something?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Gill)</author>
		<pubDate>Sat, 03 Jan 2015 08:07:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Maybe try -DSHARED=off</p><p>Agui should probably not be used as a dll.</p><p>That&#39;s odd that the clipboard is not compiling.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Sat, 03 Jan 2015 23:07:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, I guess agui doesn&#39;t support the install target, but that&#39;s not too hard, just copy the include and lib folder contents to mingw\include and mingw\lib or set your include search path using -Ipath or linker search path using -Lpath.</p><p>And I guess it doesn&#39;t support shared either as when I built it with -DSHARED=On it still built static libraries with no dlls.</p><p>I don&#39;t know why it can&#39;t find the clipboard file.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sat, 03 Jan 2015 23:20:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Making c++ libraries work correctly as a dll is tricky. If you do not do things right, the standard library runtime will cause problems.</p><p>I don&#39;t get this clipboard thing. I looked at the cmake file, everything looks fine...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Sun, 04 Jan 2015 01:24:14 +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/614941/1008771#target">jmasterx</a> said:</div><div class="quote"><p>
Making c++ libraries work correctly as a dll is tricky. If you do not do things right, the standard library runtime will cause problems.
</p></div></div><p>
MinGW generally does the right thing when you create a dll with g++. It&#39;s MSVC that needs all the declspec dllimport stuff. I haven&#39;t bothered with MSVC for building eagle yet because of that.</p><p>Edit<br />It&#39;s just the c runtime stuff that you need to be aware of with MinGW. If your library dynamically links to libstdc++ or libgcc then your program that uses that library needs to do so as well.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 04 Jan 2015 04:25:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I made a platform file based on something I had found online at the time. It appeared that mingw needed a declspec of sorts. Maybe not anymore? <a href="https://github.com/jmasterx/Agui/blob/master/include/Agui/Platform.hpp">https://github.com/jmasterx/Agui/blob/master/include/Agui/Platform.hpp</a></p><p>Which reminds me, if you&#39;re going to build agui as a dll you need to define AGUI_BUILD and AGUI_BACKEND_BUILD</p><p>If you set WANT_SHARED to yes, cmake will define these for you.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Sun, 04 Jan 2015 06:39:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>CodeBlocks has an option to generate .DEF files for you, and then you don&#39;t need declspec(dllexport)</p><p><a href="http://msdn.microsoft.com/en-us/library/d91k01sh.aspx">Exporting from a DLL Using DEF Files</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 04 Jan 2015 06:53:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok, I finally got mingw32-make to work (ended up downloading Agui from the forum post instead of from GitHub) and got the example to successfully compile, except now I am evidently still doing something wrong as the resulting program crashes before it really displays anything. Any suggestions? I feed I should mention I am using Code::Blocks to compile.</p><p>Edit: I may also want to mention that I didn&#39;t touch WANT_SHARED the first time through. When the example program didn&#39;t work, I tried it with WANT_SHARED checked, and MinGW&#39;s make only made three files and gave me an error I am guessing when it was making libagui_allegro5.dll (if that is in fact a file it is supposed to create).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Gill)</author>
		<pubDate>Mon, 05 Jan 2015 04:53:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You should post code for a minimal example program that crashes for you so we can try it too. I built from 0.2 src if that helps. And example.exe crashes for me too, in AppendText(&quot;Warning&quot;) or some such IIRC. So I built from git, and there are now a boatload of warnings and the dynamic version of agui_allegro5 fails because it doesn&#39;t link to allegro.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 05 Jan 2015 05:41:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It will crash if you are missing the example data folder because you need a font.</p><p>Also, what sort of warning are you getting?</p><p>Also, the example will crash if the source is not from GitHub, but that&#39;s easy to get. The crash is related to me making a mistake in the example code not the library itself.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Mon, 05 Jan 2015 09:21:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh, so there is something wrong with the &quot;agui_example.cpp&quot; file? Here are the contents of it:</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">/*   _____                           </span>
<span class="number">   2</span><span class="c"> * /\  _  \                     __    </span>
<span class="number">   3</span><span class="c"> * \ \ _\ \      __    __  __ /_\   </span>
<span class="number">   4</span><span class="c"> *  \ \  __ \   /'_ `\ /\ /\ \/\ \  </span>
<span class="number">   5</span><span class="c"> *   \ \ /\ \ /\ _\ \\ \ _\ \\ \ \ </span>
<span class="number">   6</span><span class="c"> *    \ _\ _\\ ____ \\ ____/ \ _\</span>
<span class="number">   7</span><span class="c"> *     /_//_/ /____\ \/___/   /_/</span>
<span class="number">   8</span><span class="c"> *                /____/             </span>
<span class="number">   9</span><span class="c"> *                _/__/              </span>
<span class="number">  10</span><span class="c"> *</span>
<span class="number">  11</span><span class="c"> * Copyright (c) 2011 Joshua Larouche</span>
<span class="number">  12</span><span class="c"> * </span>
<span class="number">  13</span><span class="c"> *</span>
<span class="number">  14</span><span class="c"> * License: (BSD)</span>
<span class="number">  15</span><span class="c"> * Redistribution and use in source and binary forms, with or without</span>
<span class="number">  16</span><span class="c"> * modification, are permitted provided that the following conditions</span>
<span class="number">  17</span><span class="c"> * are met:</span>
<span class="number">  18</span><span class="c"> * 1. Redistributions of source code must retain the above copyright</span>
<span class="number">  19</span><span class="c"> *    notice, this list of conditions and the following disclaimer.</span>
<span class="number">  20</span><span class="c"> * 2. Redistributions in binary form must reproduce the above copyright</span>
<span class="number">  21</span><span class="c"> *    notice, this list of conditions and the following disclaimer in</span>
<span class="number">  22</span><span class="c"> *    the documentation and/or other materials provided with the</span>
<span class="number">  23</span><span class="c"> *    distribution.</span>
<span class="number">  24</span><span class="c"> * 3. Neither the name of Agui nor the names of its contributors may</span>
<span class="number">  25</span><span class="c"> *    be used to endorse or promote products derived from this software</span>
<span class="number">  26</span><span class="c"> *    without specific prior written permission.</span>
<span class="number">  27</span><span class="c"> *</span>
<span class="number">  28</span><span class="c"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
<span class="number">  29</span><span class="c"> * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
<span class="number">  30</span><span class="c"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
<span class="number">  31</span><span class="c"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
<span class="number">  32</span><span class="c"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
<span class="number">  33</span><span class="c"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED</span>
<span class="number">  34</span><span class="c"> * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
<span class="number">  35</span><span class="c"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
<span class="number">  36</span><span class="c"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
<span class="number">  37</span><span class="c"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
<span class="number">  38</span><span class="c"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
<span class="number">  39</span><span class="c"> */</span>
<span class="number">  40</span>
<span class="number">  41</span><span class="p">#include &lt;Agui/Agui.hpp&gt;</span>
<span class="number">  42</span><span class="p">#include &lt;Agui/Backends/Allegro5/Allegro5.hpp&gt;</span>
<span class="number">  43</span>
<span class="number">  44</span><span class="p">#include &lt;Agui/Widgets/Button/Button.hpp&gt;</span>
<span class="number">  45</span><span class="p">#include &lt;Agui/Widgets/CheckBox/CheckBox.hpp&gt;</span>
<span class="number">  46</span><span class="p">#include &lt;Agui/Widgets/DropDown/DropDown.hpp&gt;</span>
<span class="number">  47</span><span class="p">#include &lt;Agui/Widgets/TextField/TextField.hpp&gt;</span>
<span class="number">  48</span><span class="p">#include &lt;Agui/Widgets/Frame/Frame.hpp&gt;</span>
<span class="number">  49</span><span class="p">#include &lt;Agui/Widgets/RadioButton/RadioButton.hpp&gt;</span>
<span class="number">  50</span><span class="p">#include &lt;Agui/Widgets/RadioButton/RadioButtonGroup.hpp&gt;</span>
<span class="number">  51</span><span class="p">#include &lt;Agui/Widgets/Slider/Slider.hpp&gt;</span>
<span class="number">  52</span><span class="p">#include &lt;Agui/Widgets/TextBox/ExtendedTextBox.hpp&gt;</span>
<span class="number">  53</span><span class="p">#include &lt;Agui/Widgets/Tab/TabbedPane.hpp&gt;</span>
<span class="number">  54</span><span class="p">#include &lt;Agui/Widgets/ListBox/ListBox.hpp&gt;</span>
<span class="number">  55</span><span class="p">#include &lt;Agui/Widgets/ScrollPane/ScrollPane.hpp&gt;</span>
<span class="number">  56</span><span class="p">#include &lt;Agui/FlowLayout.hpp&gt;</span>
<span class="number">  57</span>
<span class="number">  58</span><span class="p">#include &lt;allegro5/allegro_native_dialog.h&gt;</span>
<span class="number">  59</span><span class="p">#include &lt;stdlib.h&gt;</span>
<span class="number">  60</span><span class="p">#include &lt;vector&gt; </span>
<span class="number">  61</span><span class="p">#include &lt;ctime&gt;</span>
<span class="number">  62</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">  63</span>
<span class="number">  64</span>
<span class="number">  65</span><span class="p">#define FRAME_RATE 60</span>
<span class="number">  66</span>
<span class="number">  67</span><span class="c">//Globals</span>
<span class="number">  68</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  69</span><a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  70</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  71</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>queue <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  72</span><span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  73</span>agui::Gui <span class="k3">*</span>gui <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  74</span>agui::Allegro5Input<span class="k3">*</span> inputHandler <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  75</span>agui::Allegro5Graphics<span class="k3">*</span> graphicsHandler <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  76</span>
<span class="number">  77</span>agui::Font <span class="k3">*</span>defaultFont <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  78</span>
<span class="number">  79</span>
<span class="number">  80</span><span class="k1">class</span> SimpleActionListener <span class="k2">:</span> <span class="k1">public</span> agui::ActionListener
<span class="number">  81</span><span class="k2">{</span>
<span class="number">  82</span>public:
<span class="number">  83</span>  <span class="k1">virtual</span> <span class="k1">void</span> actionPerformed<span class="k2">(</span><span class="k1">const</span> agui::ActionEvent <span class="k3">&amp;</span>evt<span class="k2">)</span>
<span class="number">  84</span>  <span class="k2">{</span>
<span class="number">  85</span>    agui::Slider<span class="k3">*</span> slider <span class="k3">=</span> <span class="k1">dynamic_cast</span><span class="k3">&lt;</span>agui::Slider<span class="k3">*</span><span class="k3">&gt;</span><span class="k2">(</span>evt.getSource<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>    <span class="k1">if</span><span class="k2">(</span>slider<span class="k2">)</span>
<span class="number">  87</span>    <span class="k2">{</span>
<span class="number">  88</span>      slider-&gt;setBackColor<span class="k2">(</span>agui::Color<span class="k2">(</span>slider-&gt;getValue<span class="k2">(</span><span class="k2">)</span>,slider-&gt;getValue<span class="k2">(</span><span class="k2">)</span>,slider-&gt;getValue<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  89</span>      <span class="k1">return</span><span class="k2">;</span>
<span class="number">  90</span>      
<span class="number">  91</span>    <span class="k2">}</span>
<span class="number">  92</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</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="number">  93</span>    <span class="s">"Agui Action Listener"</span>,
<span class="number">  94</span>    <span class="s">""</span>,
<span class="number">  95</span>    <span class="s">"An Action Event has occured!"</span>,
<span class="number">  96</span>    NULL,NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>  <span class="k2">}</span>
<span class="number">  98</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  99</span>
<span class="number"> 100</span>
<span class="number"> 101</span>
<span class="number"> 102</span><span class="k1">class</span> WidgetCreator <span class="k2">{</span>
<span class="number"> 103</span>private:
<span class="number"> 104</span>  SimpleActionListener simpleAL<span class="k2">;</span>
<span class="number"> 105</span>  agui::FlowLayout flow<span class="k2">;</span>
<span class="number"> 106</span>  agui::Button button<span class="k2">;</span>
<span class="number"> 107</span>  agui::CheckBox checkBox<span class="k2">;</span>
<span class="number"> 108</span>  agui::DropDown dropDown<span class="k2">;</span>
<span class="number"> 109</span>  agui::TextField textField<span class="k2">;</span>
<span class="number"> 110</span>  agui::Frame frame<span class="k2">;</span>
<span class="number"> 111</span>  agui::Gui<span class="k3">*</span> mGui<span class="k2">;</span>
<span class="number"> 112</span>  agui::RadioButton rButton<span class="k2">[</span><span class="n">3</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 113</span>  agui::RadioButtonGroup rGroup<span class="k2">;</span>
<span class="number"> 114</span>  agui::Slider slider<span class="k2">;</span>
<span class="number"> 115</span>  agui::ExtendedTextBox exTextBox<span class="k2">;</span>
<span class="number"> 116</span>  agui::TabbedPane tabbedPane<span class="k2">;</span>
<span class="number"> 117</span>  agui::Tab tab<span class="k2">[</span><span class="n">3</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 118</span>  agui::ListBox listBox<span class="k2">;</span>
<span class="number"> 119</span>  agui::ScrollPane scrollPane<span class="k2">;</span>
<span class="number"> 120</span>  agui::Button scrollButtons<span class="k2">[</span><span class="n">15</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 121</span>
<span class="number"> 122</span>public:
<span class="number"> 123</span>  WidgetCreator<span class="k2">(</span>agui::Gui <span class="k3">*</span>guiInstance<span class="k2">)</span>
<span class="number"> 124</span><span class="k2">{</span>
<span class="number"> 125</span>  mGui <span class="k3">=</span> guiInstance<span class="k2">;</span>
<span class="number"> 126</span>  mGui-&gt;add<span class="k2">(</span><span class="k3">&amp;</span>flow<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>  flow.add<span class="k2">(</span><span class="k3">&amp;</span>button<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>  button.setSize<span class="k2">(</span><span class="n">80</span>,<span class="n">40</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>  button.setText<span class="k2">(</span><span class="s">"Push Me"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 130</span>  button.addActionListener<span class="k2">(</span><span class="k3">&amp;</span>simpleAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</span>
<span class="number"> 132</span>  flow.add<span class="k2">(</span><span class="k3">&amp;</span>checkBox<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>  checkBox.setAutosizing<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</span>  checkBox.setText<span class="k2">(</span><span class="s">"Show me a message box"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>  checkBox.setCheckBoxAlignment<span class="k2">(</span>agui::ALIGN_MIDDLE_LEFT<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</span>  checkBox.addActionListener<span class="k2">(</span><span class="k3">&amp;</span>simpleAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>
<span class="number"> 138</span>  flow.add<span class="k2">(</span><span class="k3">&amp;</span>dropDown<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>  dropDown.setText<span class="k2">(</span><span class="s">"Select Item"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>  dropDown.setSize<span class="k2">(</span><span class="n">120</span>,<span class="n">30</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>  dropDown.addItem<span class="k2">(</span><span class="s">"Apples"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>  dropDown.addItem<span class="k2">(</span><span class="s">"Oranges"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 143</span>  dropDown.addItem<span class="k2">(</span><span class="s">"Grapes"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 144</span>  dropDown.addItem<span class="k2">(</span><span class="s">"Peaches"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 145</span>  dropDown.addActionListener<span class="k2">(</span><span class="k3">&amp;</span>simpleAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 146</span>
<span class="number"> 147</span>  flow.add<span class="k2">(</span><span class="k3">&amp;</span>textField<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 148</span>  textField.setText<span class="k2">(</span><span class="s">"Press Enter!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 149</span>  textField.resizeToContents<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 150</span>  textField.addActionListener<span class="k2">(</span><span class="k3">&amp;</span>simpleAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 151</span>
<span class="number"> 152</span>  gui-&gt;add<span class="k2">(</span><span class="k3">&amp;</span>frame<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 153</span>  frame.setSize<span class="k2">(</span><span class="n">220</span>,<span class="n">120</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 154</span>  frame.setLocation<span class="k2">(</span><span class="n">60</span>,<span class="n">60</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 155</span>  frame.setText<span class="k2">(</span><span class="s">"Example Frame"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 156</span>  std::stringstream ss<span class="k2">;</span>
<span class="number"> 157</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="n">3</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span>
<span class="number"> 158</span>  <span class="k2">{</span>
<span class="number"> 159</span>    ss.str<span class="k2">(</span><span class="s">""</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</span>    ss.clear<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 161</span>    ss <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Sample Radio Button "</span><span class="k2">;</span>
<span class="number"> 162</span>    ss <span class="k3">&lt;</span><span class="k3">&lt;</span> i<span class="k2">;</span>
<span class="number"> 163</span>
<span class="number"> 164</span>    rGroup.add<span class="k2">(</span><span class="k3">&amp;</span>rButton<span class="k2">[</span>i<span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 165</span>    rButton<span class="k2">[</span>i<span class="k2">]</span>.setAutosizing<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 166</span>    rButton<span class="k2">[</span>i<span class="k2">]</span>.setText<span class="k2">(</span>ss.str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 167</span>    frame.add<span class="k2">(</span><span class="k3">&amp;</span>rButton<span class="k2">[</span>i<span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 168</span>    rButton<span class="k2">[</span>i<span class="k2">]</span>.setLocation<span class="k2">(</span><span class="n">0</span>,<span class="n">30</span> <span class="k3">*</span> i<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 169</span>    rButton<span class="k2">[</span>i<span class="k2">]</span>.addActionListener<span class="k2">(</span><span class="k3">&amp;</span>simpleAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 170</span>  <span class="k2">}</span>
<span class="number"> 171</span>
<span class="number"> 172</span>  flow.add<span class="k2">(</span><span class="k3">&amp;</span>slider<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 173</span>  slider.setSize<span class="k2">(</span><span class="n">100</span>,<span class="n">36</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 174</span>  slider.setMaxValue<span class="k2">(</span><span class="n">255</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 175</span>  slider.setMarkerSize<span class="k2">(</span>agui::Dimension<span class="k2">(</span><span class="n">10</span>,<span class="n">30</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 176</span>  slider.addActionListener<span class="k2">(</span><span class="k3">&amp;</span>simpleAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>
<span class="number"> 178</span>  exTextBox.setWordWrap<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 179</span>  exTextBox.setText<span class="k2">(</span><span class="s">"Welcome \n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 180</span>  exTextBox.setCurrentColor<span class="k2">(</span>agui::Color<span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 181</span>  exTextBox.appendText<span class="k2">(</span><span class="s">"WARNING!!!\n\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 182</span>  exTextBox.setCurrentColor<span class="k2">(</span>agui::Color<span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 183</span>  exTextBox.appendText<span class="k2">(</span><span class="s">"Viewing text in magenta is not recommended\n\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 184</span>  exTextBox.setCurrentColor<span class="k2">(</span>agui::Color<span class="k2">(</span><span class="n">100</span>,<span class="n">0</span>,<span class="n">200</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 185</span>  exTextBox.appendText<span class="k2">(</span><span class="s">"Copyright (c) 2011 Joshua Larouche \n \</span>
<span class="number"> 186</span><span class="s">\</span>
<span class="number"> 187</span><span class="s">License: (BSD) \n \</span>
<span class="number"> 188</span><span class="s">Redistribution and use in source and binary forms, with or without \</span>
<span class="number"> 189</span><span class="s">modification, are permitted provided that the following conditions \</span>
<span class="number"> 190</span><span class="s">are met: \n \</span>
<span class="number"> 191</span><span class="s">1. Redistributions of source code must retain the above copyright \</span>
<span class="number"> 192</span><span class="s">notice, this list of conditions and the following disclaimer. \n \</span>
<span class="number"> 193</span><span class="s">2. Redistributions in binary form must reproduce the above copyright \</span>
<span class="number"> 194</span><span class="s">notice, this list of conditions and the following disclaimer in \</span>
<span class="number"> 195</span><span class="s">the documentation and/or other materials provided with the distribution. \n \</span>
<span class="number"> 196</span><span class="s">3. Neither the name of Agui nor the names of its contributors may \</span>
<span class="number"> 197</span><span class="s">be used to endorse or promote products derived from this software \</span>
<span class="number"> 198</span><span class="s">without specific prior written permission. \n\n \</span>
<span class="number"> 199</span><span class="s">"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 200</span>
<span class="number"> 201</span>  exTextBox.setCurrentColor<span class="k2">(</span>agui::Color<span class="k2">(</span><span class="n">255</span>,<span class="n">128</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 202</span>exTextBox.appendText<span class="k2">(</span><span class="s">"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \</span>
<span class="number"> 203</span><span class="s">\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \</span>
<span class="number"> 204</span><span class="s">LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR \</span>
<span class="number"> 205</span><span class="s">A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \</span>
<span class="number"> 206</span><span class="s">OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \</span>
<span class="number"> 207</span><span class="s">SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED \</span>
<span class="number"> 208</span><span class="s">TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \</span>
<span class="number"> 209</span><span class="s">PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF \</span>
<span class="number"> 210</span><span class="s">LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING \</span>
<span class="number"> 211</span><span class="s">NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS \</span>
<span class="number"> 212</span><span class="s">SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \</span>
<span class="number"> 213</span><span class="s">"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 214</span>  exTextBox.setSelection<span class="k2">(</span><span class="n">84</span>,<span class="n">100</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 215</span>  exTextBox.setSelectionColor<span class="k2">(</span>agui::Color<span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 216</span>  exTextBox.setSelection<span class="k2">(</span><span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 217</span>  exTextBox.setTextAlignment<span class="k2">(</span>agui::ALIGN_CENTER<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 218</span>  exTextBox.setSize<span class="k2">(</span><span class="n">600</span>,<span class="n">300</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 219</span>  exTextBox.positionCaret<span class="k2">(</span><span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 220</span>
<span class="number"> 221</span>  tabbedPane.setSize<span class="k2">(</span>agui::Dimension<span class="k2">(</span><span class="n">300</span>,<span class="n">400</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 222</span>  flow.add<span class="k2">(</span><span class="k3">&amp;</span>tabbedPane<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 223</span>  tab<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.setText<span class="k2">(</span><span class="s">"Text Box"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 224</span>  tab<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.setText<span class="k2">(</span><span class="s">"List Box"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 225</span>  tab<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.setText<span class="k2">(</span><span class="s">"Scroll Pane"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 226</span>  tabbedPane.addTab<span class="k2">(</span><span class="k3">&amp;</span>tab<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>,<span class="k3">&amp;</span>exTextBox<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 227</span>  tabbedPane.addTab<span class="k2">(</span><span class="k3">&amp;</span>tab<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>,<span class="k3">&amp;</span>listBox<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 228</span>  tabbedPane.addTab<span class="k2">(</span><span class="k3">&amp;</span>tab<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>,<span class="k3">&amp;</span>scrollPane<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 229</span>
<span class="number"> 230</span>  tabbedPane.setResizeTabContent<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 231</span>
<span class="number"> 232</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="n">250</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span>
<span class="number"> 233</span>  <span class="k2">{</span>
<span class="number"> 234</span>    ss.str<span class="k2">(</span><span class="s">""</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 235</span>    ss.clear<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 236</span>    ss <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Item "</span><span class="k2">;</span>
<span class="number"> 237</span>    ss <span class="k3">&lt;</span><span class="k3">&lt;</span> i<span class="k2">;</span>
<span class="number"> 238</span>
<span class="number"> 239</span>    listBox.addItem<span class="k2">(</span>ss.str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 240</span>  <span class="k2">}</span>
<span class="number"> 241</span>
<span class="number"> 242</span>  listBox.setMultiselectExtended<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 243</span>
<span class="number"> 244</span>  <span class="k1">int</span> count <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 245</span>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="n">3</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span>
<span class="number"> 246</span>  <span class="k2">{</span>
<span class="number"> 247</span>    <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> j <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> j <span class="k3">&lt;</span> <span class="n">5</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>j<span class="k2">)</span>
<span class="number"> 248</span>    <span class="k2">{</span>
<span class="number"> 249</span>
<span class="number"> 250</span>      ss.str<span class="k2">(</span><span class="s">""</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 251</span>      ss.clear<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 252</span>      ss <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Scroll Button "</span><span class="k2">;</span>
<span class="number"> 253</span>      ss <span class="k3">&lt;</span><span class="k3">&lt;</span> i <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 254</span>      ss <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">" , "</span><span class="k2">;</span>
<span class="number"> 255</span>      ss <span class="k3">&lt;</span><span class="k3">&lt;</span> j <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 256</span>
<span class="number"> 257</span>      scrollPane.add<span class="k2">(</span><span class="k3">&amp;</span>scrollButtons<span class="k2">[</span>count<span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 258</span>      scrollButtons<span class="k2">[</span>count<span class="k2">]</span>.setSize<span class="k2">(</span><span class="n">200</span>,<span class="n">100</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 259</span>      scrollButtons<span class="k2">[</span>count<span class="k2">]</span>.setLocation<span class="k2">(</span><span class="n">210</span> <span class="k3">*</span> i,<span class="n">110</span> <span class="k3">*</span> j<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 260</span>      scrollButtons<span class="k2">[</span>count<span class="k2">]</span>.setText<span class="k2">(</span>ss.str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 261</span>
<span class="number"> 262</span>      count<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 263</span>    <span class="k2">}</span>
<span class="number"> 264</span>  <span class="k2">}</span>
<span class="number"> 265</span><span class="k2">}</span>
<span class="number"> 266</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 267</span>
<span class="number"> 268</span>WidgetCreator<span class="k3">*</span> creator<span class="k2">;</span>
<span class="number"> 269</span>
<span class="number"> 270</span><span class="k1">bool</span> initializeAllegro<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 271</span>  <span class="c">//Initialize Allegro</span>
<span class="number"> 272</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 273</span>  <span class="k2">{</span>
<span class="number"> 274</span>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 275</span>  <span class="k2">}</span>
<span class="number"> 276</span>
<span class="number"> 277</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 278</span>  <span class="k2">{</span>
<span class="number"> 279</span>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 280</span>  <span class="k2">}</span>
<span class="number"> 281</span>
<span class="number"> 282</span>  <a href="http://www.allegro.cc/manual/al_init_font_addon"><span class="a">al_init_font_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 283</span>
<span class="number"> 284</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_ttf_addon"><span class="a">al_init_ttf_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 285</span>  <span class="k2">{</span>
<span class="number"> 286</span>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 287</span>  <span class="k2">}</span>
<span class="number"> 288</span>
<span class="number"> 289</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 290</span>  <span class="k2">{</span>
<span class="number"> 291</span>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 292</span>  <span class="k2">}</span>
<span class="number"> 293</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 294</span>  <span class="k2">{</span>
<span class="number"> 295</span>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 296</span>  <span class="k2">}</span>
<span class="number"> 297</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 298</span>  <span class="k2">{</span>
<span class="number"> 299</span>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 300</span>  <span class="k2">}</span>
<span class="number"> 301</span>  
<span class="number"> 302</span>  <span class="c">// Start a timer to regulate speed</span>
<span class="number"> 303</span>  timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span><span class="k3">/</span>FRAME_RATE<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 304</span>  <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 305</span>
<span class="number"> 306</span>  <span class="c">//show screen</span>
<span class="number"> 307</span>
<span class="number"> 308</span>  <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_RESIZABLE<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 309</span>
<span class="number"> 310</span>  display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><span class="n">640</span>,<span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 311</span>
<span class="number"> 312</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 313</span>  <span class="k2">{</span>
<span class="number"> 314</span>
<span class="number"> 315</span>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 316</span>  <span class="k2">}</span>
<span class="number"> 317</span>  <span class="c">//show the mouse</span>
<span class="number"> 318</span>  <a href="http://www.allegro.cc/manual/al_show_mouse_cursor"><span class="a">al_show_mouse_cursor</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 319</span>
<span class="number"> 320</span>  <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_VIDEO_BITMAP<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 321</span>
<span class="number"> 322</span>  <span class="c">//Window Title</span>
<span class="number"> 323</span>  <a href="http://www.allegro.cc/manual/al_set_window_title"><span class="a">al_set_window_title</span></a><span class="k2">(</span>display,<span class="s">"Agui - Example"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 324</span>
<span class="number"> 325</span>  queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 326</span>
<span class="number"> 327</span>  <span class="k1">return</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 328</span><span class="k2">}</span>
<span class="number"> 329</span>
<span class="number"> 330</span><span class="k1">void</span> initializeAgui<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 331</span><span class="k2">{</span>
<span class="number"> 332</span>
<span class="number"> 333</span>  <span class="c">//Set the image loader</span>
<span class="number"> 334</span>  agui::Image::setImageLoader<span class="k2">(</span><span class="k1">new</span> agui::Allegro5ImageLoader<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 335</span>
<span class="number"> 336</span>  <span class="c">//Set the font loader</span>
<span class="number"> 337</span>  agui::Font::setFontLoader<span class="k2">(</span><span class="k1">new</span> agui::Allegro5FontLoader<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 338</span>
<span class="number"> 339</span>  <span class="c">//Instance the input handler</span>
<span class="number"> 340</span>  inputHandler <span class="k3">=</span> <span class="k1">new</span> agui::Allegro5Input<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 341</span>
<span class="number"> 342</span>  <span class="c">//Instance the graphics handler</span>
<span class="number"> 343</span>  graphicsHandler <span class="k3">=</span> <span class="k1">new</span> agui::Allegro5Graphics<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 344</span>
<span class="number"> 345</span>  <span class="c">//Allegro does not automatically premultiply alpha so let Agui do it</span>
<span class="number"> 346</span>  agui::Color::setPremultiplyAlpha<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 347</span>
<span class="number"> 348</span>  <span class="c">//Instance the gui</span>
<span class="number"> 349</span>  gui <span class="k3">=</span> <span class="k1">new</span> agui::Gui<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 350</span>
<span class="number"> 351</span>  <span class="c">//Set the input handler</span>
<span class="number"> 352</span>  gui-&gt;setInput<span class="k2">(</span>inputHandler<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 353</span>
<span class="number"> 354</span>  <span class="c">//Set the graphics handler</span>
<span class="number"> 355</span>  gui-&gt;setGraphics<span class="k2">(</span>graphicsHandler<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 356</span>
<span class="number"> 357</span>  defaultFont <span class="k3">=</span> agui::Font::load<span class="k2">(</span><span class="s">"data/DejaVuSans.ttf"</span>,<span class="n">16</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 358</span>
<span class="number"> 359</span>  <span class="c">//Setting a global font is required and failure to do so will crash.</span>
<span class="number"> 360</span>  agui::Widget::setGlobalFont<span class="k2">(</span>defaultFont<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 361</span>
<span class="number"> 362</span>
<span class="number"> 363</span><span class="k2">}</span>
<span class="number"> 364</span>
<span class="number"> 365</span><span class="k1">void</span> addWidgets<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 366</span><span class="k2">{</span>
<span class="number"> 367</span>  creator <span class="k3">=</span> <span class="k1">new</span> WidgetCreator<span class="k2">(</span>gui<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 368</span><span class="k2">}</span>
<span class="number"> 369</span><span class="k1">void</span> cleanUp<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 370</span><span class="k2">{</span>
<span class="number"> 371</span>  gui-&gt;getTop<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>clear<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 372</span>  <span class="k1">delete</span> creator<span class="k2">;</span>
<span class="number"> 373</span>  creator <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 374</span>  <span class="k1">delete</span> gui<span class="k2">;</span>
<span class="number"> 375</span>  gui <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 376</span>  <span class="k1">delete</span> inputHandler<span class="k2">;</span>
<span class="number"> 377</span>  <span class="k1">delete</span> graphicsHandler<span class="k2">;</span>
<span class="number"> 378</span>  inputHandler <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 379</span>  graphicsHandler <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 380</span>
<span class="number"> 381</span>  <span class="k1">delete</span> defaultFont<span class="k2">;</span>
<span class="number"> 382</span>  defaultFont <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 383</span><span class="k2">}</span>
<span class="number"> 384</span>  <span class="k1">void</span> render<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 385</span>  <span class="k2">{</span>
<span class="number"> 386</span>  <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><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">240</span>,<span class="n">240</span>,<span class="n">240</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 387</span>
<span class="number"> 388</span>  <span class="c">//render the widgets</span>
<span class="number"> 389</span>  gui-&gt;render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 390</span>
<span class="number"> 391</span>  <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 392</span>
<span class="number"> 393</span>  <span class="k2">}</span>
<span class="number"> 394</span>
<span class="number"> 395</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number"> 396</span>
<span class="number"> 397</span><span class="k2">{</span>
<span class="number"> 398</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>initializeAllegro<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 399</span>  <span class="k2">{</span>
<span class="number"> 400</span>    <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 401</span>  <span class="k2">}</span>
<span class="number"> 402</span>
<span class="number"> 403</span>  initializeAgui<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 404</span>  addWidgets<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 405</span>  <span class="k1">bool</span> needRedraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 406</span>  <span class="c">// Start the event queue to handle keyboard input, mouse and our timer</span>
<span class="number"> 407</span>  
<span class="number"> 408</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 409</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 410</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 411</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 412</span>
<span class="number"> 413</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 414</span>  
<span class="number"> 415</span>    <span class="c">// Block until an event enters the queue</span>
<span class="number"> 416</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 417</span>
<span class="number"> 418</span>    <span class="c">//Let Agui process the event</span>
<span class="number"> 419</span>    inputHandler-&gt;processEvent<span class="k2">(</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 420</span>
<span class="number"> 421</span>    <span class="c">//Handle rendering and logic</span>
<span class="number"> 422</span>    <span class="k1">if</span> <span class="k2">(</span>needRedraw <span class="k3">&amp;</span><span class="k3">&amp;</span> al_event_queue_is_empty<span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 423</span>
<span class="number"> 424</span>      gui-&gt;logic<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 425</span>      render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 426</span>
<span class="number"> 427</span>      needRedraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 428</span>    <span class="k2">}</span>
<span class="number"> 429</span>
<span class="number"> 430</span>    
<span class="number"> 431</span>    <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 432</span>    
<span class="number"> 433</span>  <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 434</span>    <span class="k1">if</span><span class="k2">(</span>event.timer.source <span class="k3">=</span><span class="k3">=</span> timer<span class="k2">)</span>
<span class="number"> 435</span>    <span class="k2">{</span>
<span class="number"> 436</span>
<span class="number"> 437</span>      needRedraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 438</span>    <span class="k2">}</span>
<span class="number"> 439</span>    
<span class="number"> 440</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 441</span>  <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESIZE:
<span class="number"> 442</span>
<span class="number"> 443</span>    <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>event.display.source<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 444</span>
<span class="number"> 445</span>    <span class="c">//Resize Agui</span>
<span class="number"> 446</span>    gui-&gt;resizeToDisplay<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 447</span>    
<span class="number"> 448</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 449</span>  <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_SWITCH_IN:
<span class="number"> 450</span>    <span class="c">//Resize Agui</span>
<span class="number"> 451</span>    gui-&gt;resizeToDisplay<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 452</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 453</span>  <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 454</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 455</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 456</span>    <span class="k2">}</span>
<span class="number"> 457</span>  <span class="k2">}</span>
<span class="number"> 458</span>
<span class="number"> 459</span>  cleanUp<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 460</span>
<span class="number"> 461</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 462</span><span class="k2">}</span>
</div></div><p>

It compiles just fine, but crashes a few seconds after it starts up without showing anything. The way it crashes I would think that it wasn&#39;t finding the font file, but I have tried executing it with the font file in the same folder with no luck. I really want to make sure the library installed correctly and everything before bothering to really get in and learn how to use the library.</p><p>EDIT: Just found out by using cout where the program is crashing: it is crashing somewhere inside the addWidgets() function</p><p>EDIT2: Just looked at the function and it is only one line:</p><p><span class="source-code">creator <span class="k3">=</span> <span class="k1">new</span> WidgetCreator<span class="k2">(</span>gui<span class="k2">)</span><span class="k2">;</span></span></p><p>EDIT3: I found the line it is crashing on!</p><p><span class="source-code">exTextBox.appendText<span class="k2">(</span><span class="s">"WARNING!!!\n\n"</span><span class="k2">)</span><span class="k2">;</span></span></p><p>Have no clue why but hopefully this will give you more to work off of. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Gill)</author>
		<pubDate>Mon, 05 Jan 2015 10:31:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi</p><p>I just compiled the code you posted and it ran fine on my machine. Are you using latest git sources? If not this is probably the issue, I was thinking of an older issue with the example but I think the one you mention was fixed after. Otherwise, make sure in the exe directory you have the data folder found in the agui/example folder <a href="https://github.com/jmasterx/Agui/tree/master/example">https://github.com/jmasterx/Agui/tree/master/example</a></p><p>I think this commit fixed it <a href="https://github.com/jmasterx/Agui/commit/ecafedbb310bb515e20eba2173cc0081b24e8f49">https://github.com/jmasterx/Agui/commit/ecafedbb310bb515e20eba2173cc0081b24e8f49</a></p><p>If with latest sources you still get a crash I&#39;ll need to install MinGW and try to reproduce it.</p><p><span class="remote-thumbnail"><span class="json">{"name":"609142","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/8\/a8d40c1aabb69c55e92da703af275559.png","w":723,"h":563,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/8\/a8d40c1aabb69c55e92da703af275559"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/a/8/a8d40c1aabb69c55e92da703af275559-240.jpg" alt="609142" width="240" height="186" /></span>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Mon, 05 Jan 2015 11:06:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hey, it&#39;s working now! I redownloaded it from the git and this time mingw32-make accepted it. Had to add a display flag to make it render in OpenGL because Allegro with Directx and my game recording software of choice, PlayClaw, do not agree (I thought something was still wrong at first because only the background was displaying), but at least now everything seems to be working correctly! Thank you so much for your help. <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Gill)</author>
		<pubDate>Tue, 06 Jan 2015 01:19:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There are a couple warnings during the build process for the static git version :
</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>c:\mingw\LIBS\AGUI_github\Agui-master\build&gt;mingw32-make
<span class="number">  2</span><span class="k2">[</span>  <span class="n">1</span>%<span class="k2">]</span> Building CXX object CMakeFiles<span class="k3">/</span>agui.dir<span class="k3">/</span>src<span class="k3">/</span>Agui<span class="k3">/</span>Clipboard<span class="k3">/</span>WinClipboard.cpp.obj
<span class="number">  3</span>C:\mingw\LIBS\AGUI_github\Agui-master\src\Agui\Clipboard\WinClipboard.cpp: In <span class="k1">static</span> member function <span class="s">'static std::string agui::WinClipboard::_winUTF16ToUTF8(const wstring&amp;)'</span><span class="k2">:</span>
<span class="number">  4</span>C:\mingw\LIBS\AGUI_github\Agui-master\src\Agui\Clipboard\WinClipboard.cpp:135:15: warning: passing NULL to non-pointer argument <span class="n">2</span> of <span class="s">'int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, LPBOOL)'</span> <span class="k2">[</span><span class="k3">-</span>Wconversion-null<span class="k2">]</span>
<span class="number">  5</span>    NULL, NULL <span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span>               ^
<span class="number">  7</span>C:\mingw\LIBS\AGUI_github\Agui-master\src\Agui\Clipboard\WinClipboard.cpp:146:16: warning: passing NULL to non-pointer argument <span class="n">2</span> of <span class="s">'int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, LPBOOL)'</span> <span class="k2">[</span><span class="k3">-</span>Wconversion-null<span class="k2">]</span>
<span class="number">  8</span>     NULL, NULL <span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">0</span> <span class="k2">)</span>
<span class="number">  9</span>                ^
<span class="number"> 10</span>C:\mingw\LIBS\AGUI_github\Agui-master\src\Agui\Clipboard\WinClipboard.cpp: In <span class="k1">static</span> member function <span class="s">'static std::wstring agui::WinClipboard::_winUTF8ToUTF16(const string&amp;)'</span><span class="k2">:</span>
<span class="number"> 11</span>C:\mingw\LIBS\AGUI_github\Agui-master\src\Agui\Clipboard\WinClipboard.cpp:159:12: warning: passing NULL to non-pointer argument <span class="n">2</span> of <span class="s">'int MultiByteToWideChar(UINT, DWORD, LPCSTR, int, LPWSTR, int)'</span> <span class="k2">[</span><span class="k3">-</span>Wconversion-null<span class="k2">]</span>
<span class="number"> 12</span>    NULL, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>            ^
<span class="number"> 14</span>C:\mingw\LIBS\AGUI_github\Agui-master\src\Agui\Clipboard\WinClipboard.cpp:169:35: warning: passing NULL to non-pointer argument <span class="n">2</span> of <span class="s">'int MultiByteToWideChar(UINT, DWORD, LPCSTR, int, LPWSTR, int)'</span> <span class="k2">[</span><span class="k3">-</span>Wconversion-null<span class="k2">]</span>
<span class="number"> 15</span>     <span class="k3">&amp;</span>result<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>, <span class="k1">int</span><span class="k2">(</span>result.size<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">0</span> <span class="k2">)</span>
<span class="number"> 16</span>                                   ^
<span class="number"> 17</span><span class="k2">[</span>  <span class="n">2</span>%<span class="k2">]</span> Building CXX object CMakeFiles<span class="k3">/</span>agui.dir<span class="k3">/</span>src<span class="k3">/</span>Agui<span class="k3">/</span>Clipboard<span class="k3">/</span>Clipboard.cpp.obj
<span class="number"> 18</span>...
</div></div><p>
I compiled the example from git and there was one warning :</p><div class="source-code snippet"><div class="inner"><pre>c:\mingw\LIBS\AGUI_github\Agui-master\example&gt;mingw32-g<span class="k3">+</span><span class="k3">+</span> <span class="k3">-</span>Wall <span class="k3">-</span>g <span class="k3">-</span>o example.exe agui_example_a5.cpp <span class="k3">-</span>I..\include <span class="k3">-</span>L..\build <span class="k3">-</span>lagui_allegro5 <span class="k3">-</span>lagui <span class="k3">-</span>lallegro_monolith-debug.dll
agui_example_a5.cpp: In member function <span class="s">'virtual void SimpleActionListener::actionPerformed(const agui::ActionEvent&amp;)'</span><span class="k2">:</span>
agui_example_a5.cpp:96:12: warning: passing NULL to non-pointer argument <span class="n">6</span> of <span class="s">'int al_show_native_message_box(ALLEGRO_DISPLAY*, const char*, const char*, const char*, const char*, int)'</span> <span class="k2">[</span><span class="k3">-</span>Wconversion-null<span class="k2">]</span>
   NULL,NULL<span class="k2">)</span><span class="k2">;</span>
            ^

c:\mingw\LIBS\AGUI_github\Agui-master\example&gt;
</pre></div></div><p>

Other than the shared version, it builds for me fine now.</p><p>With -DWANT_SHARED=On I get a bunch of warnings and unresolved allegro functions. Attached is a <a href="https://www.allegro.cc/files/attachment/609152">text error log</a>.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 06 Jan 2015 02:36:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks a lot Edgar <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> I&#39;ll look into this when I get a chance. MSVC does not warn as much as it should <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" /> Perhaps I should set the mingw compiler for MSVC.</p><p>@Peter glad it is working for you <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> If you have any questions related to using the library I&#39;ll be happy to help.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Tue, 06 Jan 2015 04:32:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Changing line 139 of CMakeLists.txt to this :
</p><pre>
  target_link_libraries (agui_allegro5 agui liballegro_monolith-debug.dll.a)
</pre><p>
made it build the shared libraries.</p><p>I cannot compile the example program though, because of this :
</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>c:\mingw\LIBS\AGUI_github\Agui-master\example&gt;mingw32-g<span class="k3">+</span><span class="k3">+</span> <span class="k3">-</span>Wall <span class="k3">-</span>g <span class="k3">-</span>o example.exe <span class="k3">-</span>I..\include <span class="k3">-</span>L..\build agui_example_a5.cpp <span class="k3">-</span>lagui_allegro5.dll <span class="k3">-</span>lagui.dll <span class="k3">-</span>lallegro_monolith-debug.dll
<span class="number">  3</span>agui_example_a5.cpp: In member function <span class="s">'virtual void SimpleActionListener::actionPerformed(const agui::ActionEvent&amp;)'</span><span class="k2">:</span>
<span class="number">  4</span>agui_example_a5.cpp:96:12: warning: passing NULL to non-pointer argument <span class="n">6</span> of <span class="s">'int al_show_native_message_box(ALLEGRO_DISPLAY*, const char*, const char*, const char*, const char*, int)'</span> <span class="k2">[</span><span class="k3">-</span>Wconversion-null<span class="k2">]</span>
<span class="number">  5</span>   NULL,NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span>            ^
<span class="number">  7</span>C:\Users\Marc\AppData\Local\Temp\ccjsT2pe.o: In function `ZN13WidgetCreatorC1EPN4agui3GuiE<span class="s">':</span>
<span class="number">  8</span><span class="s">c:\mingw\LIBS\AGUI_github\Agui-master\example/agui_example_a5.cpp:124: undefined reference to `agui::ExtendedTextBox::ExtendedTextBox(agui::HScrollBar*, agui::VScrollBar*, agui::Widget*)'</span>
<span class="number">  9</span>c:\mingw\LIBS\AGUI_github\Agui-master\example<span class="k3">/</span>agui_example_a5.cpp:179: undefined reference to `agui::ExtendedTextBox::setText<span class="k2">(</span>std::string <span class="k1">const</span><span class="k3">&amp;</span><span class="k2">)</span><span class="s">'</span>
<span class="number"> 10</span><span class="s">c:\mingw\LIBS\AGUI_github\Agui-master\example/agui_example_a5.cpp:180: undefined reference to `agui::ExtendedTextBox::setCurrentColor(agui::Color const&amp;)'</span>
<span class="number"> 11</span>c:\mingw\LIBS\AGUI_github\Agui-master\example<span class="k3">/</span>agui_example_a5.cpp:181: undefined reference to `agui::ExtendedTextBox::appendText<span class="k2">(</span>std::string <span class="k1">const</span><span class="k3">&amp;</span>, <span class="k1">bool</span>, <span class="k1">bool</span><span class="k2">)</span><span class="s">'</span>
<span class="number"> 12</span><span class="s">c:\mingw\LIBS\AGUI_github\Agui-master\example/agui_example_a5.cpp:182: undefined reference to `agui::ExtendedTextBox::setCurrentColor(agui::Color const&amp;)'</span>
<span class="number"> 13</span>c:\mingw\LIBS\AGUI_github\Agui-master\example<span class="k3">/</span>agui_example_a5.cpp:183: undefined reference to `agui::ExtendedTextBox::appendText<span class="k2">(</span>std::string <span class="k1">const</span><span class="k3">&amp;</span>, <span class="k1">bool</span>, <span class="k1">bool</span><span class="k2">)</span><span class="s">'</span>
<span class="number"> 14</span><span class="s">c:\mingw\LIBS\AGUI_github\Agui-master\example/agui_example_a5.cpp:184: undefined reference to `agui::ExtendedTextBox::setCurrentColor(agui::Color const&amp;)'</span>
<span class="number"> 15</span>c:\mingw\LIBS\AGUI_github\Agui-master\example<span class="k3">/</span>agui_example_a5.cpp:199: undefined reference to `agui::ExtendedTextBox::appendText<span class="k2">(</span>std::string <span class="k1">const</span><span class="k3">&amp;</span>, <span class="k1">bool</span>, <span class="k1">bool</span><span class="k2">)</span><span class="s">'</span>
<span class="number"> 16</span><span class="s">c:\mingw\LIBS\AGUI_github\Agui-master\example/agui_example_a5.cpp:201: undefined reference to `agui::ExtendedTextBox::setCurrentColor(agui::Color const&amp;)'</span>
<span class="number"> 17</span>c:\mingw\LIBS\AGUI_github\Agui-master\example<span class="k3">/</span>agui_example_a5.cpp:213: undefined reference to `agui::ExtendedTextBox::appendText<span class="k2">(</span>std::string <span class="k1">const</span><span class="k3">&amp;</span>, <span class="k1">bool</span>, <span class="k1">bool</span><span class="k2">)</span><span class="s">'</span>
<span class="number"> 18</span><span class="s">c:\mingw\LIBS\AGUI_github\Agui-master\example/agui_example_a5.cpp:215: undefined reference to `agui::ExtendedTextBox::setSelectionColor(agui::Color const&amp;)'</span>
<span class="number"> 19</span>c:\mingw\LIBS\AGUI_github\Agui-master\example<span class="k3">/</span>agui_example_a5.cpp:124: undefined reference to `agui::ExtendedTextBox::~ExtendedTextBox<span class="k2">(</span><span class="k2">)</span><span class="s">'</span>
<span class="number"> 20</span><span class="s">C:\Users\Marc\AppData\Local\Temp\ccjsT2pe.o: In function `ZN13WidgetCreatorD1Ev'</span><span class="k2">:</span>
<span class="number"> 21</span>c:\mingw\LIBS\AGUI_github\Agui-master\example<span class="k3">/</span>agui_example_a5.cpp:102: undefined reference to `agui::ExtendedTextBox::~ExtendedTextBox<span class="k2">(</span><span class="k2">)</span><span class="s">'</span>
<span class="number"> 22</span><span class="s">c:\mingw\LIBS\AGUI_github\Agui-master\example/agui_example_a5.cpp:102: undefined reference to `agui::ExtendedTextBox::~ExtendedTextBox()'</span>
<span class="number"> 23</span>collect2.exe: error: ld returned <span class="n">1</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> status
<span class="number"> 24</span>
<span class="number"> 25</span>c:\mingw\LIBS\AGUI_github\Agui-master\example&gt;
</div></div><p>

I must be doing something wrong, because those functions all seem to appear in TextBox/ExtendedTextBox.hpp and .cpp. I linked to agui though, so I don&#39;t know why they&#39;re not found. I&#39;ve deleted all the old versions of .a files I have, for the dlls too. And the only headers I link to are the git ones. I don&#39;t know what&#39;s wrong though. ExtendedTextBox.cpp is in the list of sources in CMakeLists.txt, so it should be included in the library. I&#39;ve rebuilt several times now.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 06 Jan 2015 05:02:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oopsies that&#39;s my bad. I forgot to export the class. I&#39;ll commit it in the next few days.</p><p>For now change in <a href="https://github.com/jmasterx/Agui/blob/master/include/Agui/Widgets/TextBox/ExtendedTextBox.hpp">https://github.com/jmasterx/Agui/blob/master/include/Agui/Widgets/TextBox/ExtendedTextBox.hpp</a></p><p>class ExtendedTextBox : public TextBox</p><p>to</p><p>class AGUI_CORE_DECLSPEC ExtendedTextBox : public TextBox
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Tue, 06 Jan 2015 06:02:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, that was it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 06 Jan 2015 06:48:56 +0000</pubDate>
	</item>
</rss>
