<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>wxWidgets and Allegro....</title>
		<link>http://www.allegro.cc/forums/view/495839</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 02 Jun 2005 22:12:40 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I know this question has been asked before by people in the past. I HAVE looked up and read old threads (the best one being at <a href="http://www.allegro.cc/forums/view_thread.php?_id=329755">http://www.allegro.cc/forums/view_thread.php?_id=329755</a>) but even that, although kinda helpful, wasn&#39;t enough <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" />.   I can&#39;t even get it working properly. It compiles and runs but the test image (I made it a .bmp instead of .pcx) doesn&#39;t display properly... plus I want to do more (read from dat files and such to make tools for a game that&#39;ll actually look alright with a decent GUI).</p><p>Anyway, ARE there any resources online SOMEWHERE that I&#39;d be able to use to learn how to integrate and use Allegro with wxWidgets? I just need some code that does somethings I want to do (display bitmaps and read from a dat file) and I should be well off.</p><p>Thanks for any help.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Slazer)</author>
		<pubDate>Thu, 02 Jun 2005 07:16:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>According to the wxWidgets wiki <a href="http://wiki.wxwidgets.org/wiki.pl?WxWidgets_Compared_To_Other_Toolkits">here</a>, it should not be too difficult. Not many, as you have seen, have tried merging both.</p><p>What does &quot;display properly&quot; means? Can you load other pictures? Post some code, I am too lazy to begin from the begining to test something <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /> Are you using Windows or Linux?</p><p>(OT: According to that wiki, <i>Development has been stuck in the same version for years, there are a lack of core developers (original developer is no longer on the team), and there are some internal disputes which may lead to a fork</i>. Someone should go edit there and put the right facts <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Thu, 02 Jun 2005 07:23:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>What does &quot;display properly&quot; means?</p></div></div><p>
Look at the attached screenshot. =)</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Can you load other pictures?</p></div></div><p>
As in other BMPs?  I haven&#39;t tried. ... Ok I just tried, same thing happens with other BMPs as you see in the screenshot.</p><p>And I&#39;m using Win2K. DevC++ Beta 5(4.9.9.2) with the newest (or close to it) Mingw compiler. </p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#define  ALLEGRO_NO_MAGIC_MAIN</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="p">#ifdef __GNUG__</span></td></tr><tr><td class="number">5</td><td><span class="p">#pragma implementation</span></td></tr><tr><td class="number">6</td><td><span class="p">#pragma interface</span></td></tr><tr><td class="number">7</td><td><span class="p">#endif</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td><span class="p">#include &lt;wx/wx.h&gt;</span></td></tr><tr><td class="number">10</td><td><span class="p">#include &lt;wx/image.h&gt;</span></td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td><span class="p">#include &lt;stdlib.h&gt;</span></td></tr><tr><td class="number">14</td><td><span class="p">#include &lt;math.h&gt;</span></td></tr><tr><td class="number">15</td><td><span class="p">#include &lt;time.h&gt;</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>myBitmap <span class="k3">=</span> NULL<span class="k2">;</span></td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td><span class="k1">static</span> <span class="k1">bool</span> running <span class="k3">=</span> FALSE<span class="k2">;</span>                                </td></tr><tr><td class="number">20</td><td><span class="k1">static</span> wxMenuBar <span class="k3">*</span>menuBar <span class="k3">=</span> NULL<span class="k2">;</span></td></tr><tr><td class="number">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td><span class="c">// Define a new application type</span></td></tr><tr><td class="number">23</td><td><span class="k1">class</span> MyApp: <span class="k1">public</span> wxApp</td></tr><tr><td class="number">24</td><td><span class="k2">{</span> public:</td></tr><tr><td class="number">25</td><td>  <span class="k1">bool</span> OnInit<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</td><td>IMPLEMENT_APP<span class="k2">(</span>MyApp<span class="k2">)</span></td></tr><tr><td class="number">29</td><td>&#160;</td></tr><tr><td class="number">30</td><td><span class="c">// Define a new frame type</span></td></tr><tr><td class="number">31</td><td><span class="k1">class</span> MyFrame: <span class="k1">public</span> wxFrame <span class="k2">{</span></td></tr><tr><td class="number">32</td><td>public:</td></tr><tr><td class="number">33</td><td>  MyFrame<span class="k2">(</span>wxFrame <span class="k3">*</span>frame, <span class="k1">const</span> wxString<span class="k3">&amp;</span> title, <span class="k1">const</span> wxPoint<span class="k3">&amp;</span> pos, <span class="k1">const</span> wxSize<span class="k3">&amp;</span> size<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>&#160;</td></tr><tr><td class="number">35</td><td>  <span class="k1">void</span> OnCloseWindow<span class="k2">(</span>wxCloseEvent<span class="k3">&amp;</span> event<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>  <span class="k1">void</span> OnExit<span class="k2">(</span>wxCommandEvent<span class="k3">&amp;</span> event<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>  DECLARE_EVENT_TABLE<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">39</td><td>&#160;</td></tr><tr><td class="number">40</td><td><span class="c">// Define a new canvas which can receive some events</span></td></tr><tr><td class="number">41</td><td><span class="k1">class</span> MyCanvas: <span class="k1">public</span> wxWindow <span class="k2">{</span></td></tr><tr><td class="number">42</td><td>public:</td></tr><tr><td class="number">43</td><td>  MyCanvas<span class="k2">(</span>wxFrame <span class="k3">*</span>frame<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td>  <span class="k1">void</span> Draw<span class="k2">(</span>wxDC<span class="k3">&amp;</span> dc<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">45</td><td>&#160;</td></tr><tr><td class="number">46</td><td>private:</td></tr><tr><td class="number">47</td><td>  <span class="k1">void</span> OnPaint<span class="k2">(</span>wxPaintEvent<span class="k3">&amp;</span> event<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>  <span class="k1">void</span> DrawAllegroBitmap<span class="k2">(</span>wxDC<span class="k3">&amp;</span> dc, <span class="k1">int</span> x1, <span class="k1">int</span> y1, <span class="k1">int</span> x2, <span class="k1">int</span> y2, <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bmp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">49</td><td>  DECLARE_EVENT_TABLE<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">51</td><td>&#160;</td></tr><tr><td class="number">52</td><td><span class="c">// `Main program' equivalent, creating windows and returning main app frame</span></td></tr><tr><td class="number">53</td><td><span class="k1">bool</span> MyApp::OnInit<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">54</td><td>  <span class="c">// Create the main frame window</span></td></tr><tr><td class="number">55</td><td>  MyFrame <span class="k3">*</span>frame <span class="k3">=</span> <span class="k1">new</span> MyFrame<span class="k2">(</span>NULL, _T<span class="k2">(</span><span class="s">"Allegro BITMAP on wxWindows"</span><span class="k2">)</span>, wxPoint<span class="k2">(</span><span class="k3">-</span><span class="n">1</span>, <span class="k3">-</span><span class="n">1</span><span class="k2">)</span>, wxSize<span class="k2">(</span><span class="n">160</span>, <span class="n">240</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">56</td><td>&#160;</td></tr><tr><td class="number">57</td><td>  <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">58</td><td>  <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">59</td><td>&#160;</td></tr><tr><td class="number">60</td><td>  myBitmap <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"test.bmp"</span>,NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">61</td><td>&#160;</td></tr><tr><td class="number">62</td><td>  <span class="c">// Make a menubar</span></td></tr><tr><td class="number">63</td><td>  wxMenu <span class="k3">*</span>file_menu <span class="k3">=</span> <span class="k1">new</span> wxMenu<span class="k2">;</span></td></tr><tr><td class="number">64</td><td>  file_menu-&gt;Append<span class="k2">(</span>wxID_EXIT, _T<span class="k2">(</span><span class="s">"E&amp;xit"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">65</td><td>  menuBar <span class="k3">=</span> <span class="k1">new</span> wxMenuBar<span class="k2">;</span></td></tr><tr><td class="number">66</td><td>  menuBar-&gt;Append<span class="k2">(</span>file_menu, _T<span class="k2">(</span><span class="s">"&amp;File"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">67</td><td>  frame-&gt;SetMenuBar<span class="k2">(</span>menuBar<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">68</td><td>&#160;</td></tr><tr><td class="number">69</td><td>  <span class="k1">int</span> width, height<span class="k2">;</span></td></tr><tr><td class="number">70</td><td>  frame-&gt;GetClientSize<span class="k2">(</span><span class="k3">&amp;</span>width, <span class="k3">&amp;</span>height<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">71</td><td>&#160;</td></tr><tr><td class="number">72</td><td>  MyCanvas <span class="k3">*</span>ref <span class="k3">=</span> <span class="k1">new</span> MyCanvas<span class="k2">(</span>frame<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">73</td><td>  wxPanel <span class="k3">*</span>panel <span class="k3">=</span> <span class="k1">new</span> wxPanel<span class="k2">(</span>ref, <span class="k3">-</span><span class="n">1</span>, wxPoint<span class="k2">(</span><span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, wxSize<span class="k2">(</span><span class="n">160</span>,<span class="n">40</span><span class="k2">)</span>,<span class="k3">-</span><span class="n">1</span>,_T<span class="k2">(</span><span class="s">"huh?"</span><span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td>  wxButton <span class="k3">*</span>btn1 <span class="k3">=</span> <span class="k1">new</span> wxButton<span class="k2">(</span> panel, wxID_OK, wxT<span class="k2">(</span><span class="s">"E&amp;xit"</span><span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">75</td><td>  <span class="c">//wxButton *btn2 = new wxButton( panel, wxID_OK, wxT("Foobar") );</span></td></tr><tr><td class="number">76</td><td>  btn1-&gt;SetDefault<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">77</td><td>&#160;</td></tr><tr><td class="number">78</td><td>  <span class="c">// Show the frame</span></td></tr><tr><td class="number">79</td><td>  frame-&gt;Show<span class="k2">(</span>TRUE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">80</td><td>  panel-&gt;Show<span class="k2">(</span>TRUE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">81</td><td>  <span class="k1">return</span> TRUE<span class="k2">;</span></td></tr><tr><td class="number">82</td><td><span class="k2">}</span></td></tr><tr><td class="number">83</td><td>&#160;</td></tr><tr><td class="number">84</td><td>BEGIN_EVENT_TABLE<span class="k2">(</span>MyFrame, wxFrame<span class="k2">)</span></td></tr><tr><td class="number">85</td><td>EVT_CLOSE<span class="k2">(</span>MyFrame::OnCloseWindow<span class="k2">)</span></td></tr><tr><td class="number">86</td><td>EVT_MENU<span class="k2">(</span>wxID_EXIT, MyFrame::OnExit<span class="k2">)</span></td></tr><tr><td class="number">87</td><td>END_EVENT_TABLE<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">88</td><td>&#160;</td></tr><tr><td class="number">89</td><td>&#160;</td></tr><tr><td class="number">90</td><td><span class="c">// My frame constructor</span></td></tr><tr><td class="number">91</td><td>MyFrame::MyFrame<span class="k2">(</span>wxFrame <span class="k3">*</span>frame, <span class="k1">const</span> wxString<span class="k3">&amp;</span> title, <span class="k1">const</span> wxPoint<span class="k3">&amp;</span> pos, <span class="k1">const</span> wxSize<span class="k3">&amp;</span> size<span class="k2">)</span><span class="k2">:</span>wxFrame<span class="k2">(</span>frame, <span class="k3">-</span><span class="n">1</span>, title, pos, size<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">92</td><td>&#160;</td></tr><tr><td class="number">93</td><td><span class="k2">}</span></td></tr><tr><td class="number">94</td><td>&#160;</td></tr><tr><td class="number">95</td><td><span class="c">// Intercept menu commands</span></td></tr><tr><td class="number">96</td><td><span class="k1">void</span> MyFrame::OnExit<span class="k2">(</span>wxCommandEvent<span class="k3">&amp;</span> event<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">97</td><td>  this-&gt;Destroy<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">98</td><td><span class="k2">}</span></td></tr><tr><td class="number">99</td><td>&#160;</td></tr><tr><td class="number">100</td><td><span class="k1">void</span> MyFrame::OnCloseWindow<span class="k2">(</span>wxCloseEvent<span class="k3">&amp;</span> event<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">101</td><td>  <span class="k1">static</span> <span class="k1">bool</span> destroyed <span class="k3">=</span> FALSE<span class="k2">;</span></td></tr><tr><td class="number">102</td><td>  <span class="k1">if</span> <span class="k2">(</span>destroyed<span class="k2">)</span></td></tr><tr><td class="number">103</td><td>    <span class="k1">return</span><span class="k2">;</span></td></tr><tr><td class="number">104</td><td>&#160;</td></tr><tr><td class="number">105</td><td>  this-&gt;Destroy<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">106</td><td>&#160;</td></tr><tr><td class="number">107</td><td>  destroyed <span class="k3">=</span> TRUE<span class="k2">;</span></td></tr><tr><td class="number">108</td><td><span class="k2">}</span></td></tr><tr><td class="number">109</td><td>&#160;</td></tr><tr><td class="number">110</td><td>BEGIN_EVENT_TABLE<span class="k2">(</span>MyCanvas, wxWindow<span class="k2">)</span></td></tr><tr><td class="number">111</td><td>EVT_PAINT<span class="k2">(</span>MyCanvas::OnPaint<span class="k2">)</span></td></tr><tr><td class="number">112</td><td>END_EVENT_TABLE<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">113</td><td>&#160;</td></tr><tr><td class="number">114</td><td>  <span class="c">// Define a constructor for my canvas</span></td></tr><tr><td class="number">115</td><td>MyCanvas::MyCanvas<span class="k2">(</span>wxFrame <span class="k3">*</span>frame<span class="k2">)</span><span class="k2">:</span></td></tr><tr><td class="number">116</td><td>  wxWindow<span class="k2">(</span>frame, <span class="k3">-</span><span class="n">1</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">117</td><td><span class="k2">}</span></td></tr><tr><td class="number">118</td><td>&#160;</td></tr><tr><td class="number">119</td><td><span class="k1">void</span> MyCanvas::OnPaint<span class="k2">(</span>wxPaintEvent<span class="k3">&amp;</span> event<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">120</td><td>  wxPaintDC dc<span class="k2">(</span><span class="k1">this</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">121</td><td>  Draw<span class="k2">(</span>dc<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">122</td><td><span class="k2">}</span></td></tr><tr><td class="number">123</td><td>&#160;</td></tr><tr><td class="number">124</td><td><span class="k1">void</span> MyCanvas::Draw<span class="k2">(</span>wxDC<span class="k3">&amp;</span> dc<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">125</td><td>  <span class="k1">if</span> <span class="k2">(</span>running<span class="k2">)</span> <span class="k1">return</span><span class="k2">;</span></td></tr><tr><td class="number">126</td><td>    </td></tr><tr><td class="number">127</td><td>  running <span class="k3">=</span> TRUE<span class="k2">;</span></td></tr><tr><td class="number">128</td><td>  menuBar-&gt;EnableTop<span class="k2">(</span><span class="n">0</span>, FALSE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">129</td><td>    </td></tr><tr><td class="number">130</td><td>  <span class="k1">int</span> Right <span class="k3">=</span> <span class="n">0</span>, Bottom <span class="k3">=</span> <span class="n">0</span>, Left <span class="k3">=</span> <span class="n">0</span>, Top <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">131</td><td>  GetClientSize<span class="k2">(</span><span class="k3">&amp;</span>Right, <span class="k3">&amp;</span>Bottom<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">132</td><td>  DrawAllegroBitmap<span class="k2">(</span>dc, Left, Top, Right, Bottom, myBitmap<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">133</td><td>  menuBar-&gt;EnableTop<span class="k2">(</span><span class="n">0</span>, TRUE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">134</td><td>  running <span class="k3">=</span> FALSE<span class="k2">;</span></td></tr><tr><td class="number">135</td><td><span class="k2">}</span></td></tr><tr><td class="number">136</td><td>&#160;</td></tr><tr><td class="number">137</td><td><span class="k1">void</span> MyCanvas::DrawAllegroBitmap<span class="k2">(</span>wxDC<span class="k3">&amp;</span> dc, <span class="k1">int</span> x1, <span class="k1">int</span> y1, <span class="k1">int</span> x2, <span class="k1">int</span> y2, <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bmp<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">138</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>tmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap" target="_blank"><span class="a">create_bitmap</span></a><span class="k2">(</span>x2-x1, y2-y1<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">139</td><td>  <span class="c">//stretch_blit(bmp,tmp,0,0,bmp-&gt;w, bmp-&gt;h, 0,0, tmp-&gt;w, tmp-&gt;h);</span></td></tr><tr><td class="number">140</td><td>  <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span>tmp, bmp, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">141</td><td>  wxImage img <span class="k3">=</span> wxImage<span class="k2">(</span>tmp-&gt;w, tmp-&gt;h, <span class="k2">(</span><span class="k1">unsigned</span> <span class="k1">char</span><span class="k3">*</span><span class="k2">)</span>tmp-&gt;dat, <span class="k1">true</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">142</td><td>  dc.DrawBitmap<span class="k2">(</span>img.ConvertToBitmap<span class="k2">(</span><span class="k2">)</span>,x1,y1,<span class="k1">false</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">143</td><td>  <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>tmp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">144</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

This code is the exact code from the thread I posted about in my frist post except for the lines:</p><div class="source-code snippet"><div class="inner"><pre><span class="c">//stretch_blit(bmp,tmp,0,0,bmp-&gt;w, bmp-&gt;h, 0,0, tmp-&gt;w, tmp-&gt;h);</span>
<a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span>tmp, bmp, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

I just wanted to see if maybe that could have been it but it wasn&#39;t. I HAVE tried a few other things too (rather simple ideas) but nothing worked.</p><p>As of the OT: I thought the same thing when I read that before, heh. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Slazer)</author>
		<pubDate>Thu, 02 Jun 2005 07:37:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I wrote a wx widgets and Allegro thing, and it paints the bitmap loaded from allegro on the screen:</p><p>allegrowx.cpp
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#define ALLEGRO_NO_MAGIC_MAIN</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;winalleg.h&gt;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="p">#include &lt;wx/wx.h&gt;</span></td></tr><tr><td class="number">6</td><td><span class="p">#include &lt;wx/image.h&gt;</span></td></tr><tr><td class="number">7</td><td><span class="p">#include &lt;wx/dc.h&gt;</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td><span class="k1">enum</span></td></tr><tr><td class="number">10</td><td><span class="k2">{</span></td></tr><tr><td class="number">11</td><td>  Wizard_Quit <span class="k3">=</span> <span class="n">100</span>,</td></tr><tr><td class="number">12</td><td>  Draw_It <span class="k3">=</span> <span class="n">101</span></td></tr><tr><td class="number">13</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td><span class="k1">void</span> blit_from_allegro_to_wx<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>src, wxDC <span class="k3">*</span>target, <span class="k1">int</span> sx, <span class="k1">int</span> sy, <span class="k1">int</span> dx, <span class="k1">int</span> dy, <span class="k1">int</span> w, <span class="k1">int</span> h<span class="k2">)</span></td></tr><tr><td class="number">16</td><td><span class="k2">{</span></td></tr><tr><td class="number">17</td><td>  <span class="c">//#ifndef WIN32</span></td></tr><tr><td class="number">18</td><td>  <span class="c">//wxPen *pen;</span></td></tr><tr><td class="number">19</td><td>  wxPen pn<span class="k2">(</span>wxColour<span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span>, <span class="n">1</span>, wxDOT<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>  <span class="c">//wxColour cl;</span></td></tr><tr><td class="number">21</td><td>  <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> x <span class="k3">&lt;</span> w<span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">)</span></td></tr><tr><td class="number">22</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">23</td><td>    <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> y <span class="k3">&lt;</span> h<span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>y<span class="k2">)</span></td></tr><tr><td class="number">24</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">25</td><td>      <span class="c">// make the pen</span></td></tr><tr><td class="number">26</td><td>      <span class="c">/*</span></td></tr><tr><td class="number">27</td><td><span class="c">      int color = getpixel(src, sx + x, sy + y);</span></td></tr><tr><td class="number">28</td><td><span class="c">      int r = getr(color);</span></td></tr><tr><td class="number">29</td><td><span class="c">      int g = getg(color);</span></td></tr><tr><td class="number">30</td><td><span class="c">      int b = getb(color);</span></td></tr><tr><td class="number">31</td><td><span class="c">      */</span></td></tr><tr><td class="number">32</td><td>      </td></tr><tr><td class="number">33</td><td>      <span class="c">//pen = new wxPen(wxColour(r, g, b), 1, wxDOT);</span></td></tr><tr><td class="number">34</td><td>      <span class="c">//cl.Set((int **)src-&gt;line[y][x] &gt;&gt; 16, ((int **)src-&gt;line[y][x] &gt;&gt; 8) &amp; 0xF, (int **)src-&gt;line[y][x] &amp; 0xF);</span></td></tr><tr><td class="number">35</td><td>      pn.SetColour<span class="k2">(</span><span class="k2">(</span><span class="k2">(</span><span class="k1">int</span> <span class="k3">*</span><span class="k3">*</span><span class="k2">)</span>src-&gt;line<span class="k2">)</span><span class="k2">[</span>y<span class="k2">]</span><span class="k2">[</span>x<span class="k2">]</span> <span class="k3">&gt;</span><span class="k3">&gt;</span> <span class="n">16</span>, <span class="k2">(</span><span class="k2">(</span><span class="k2">(</span><span class="k1">int</span> <span class="k3">*</span><span class="k3">*</span><span class="k2">)</span>src-&gt;line<span class="k2">)</span><span class="k2">[</span>y<span class="k2">]</span><span class="k2">[</span>x<span class="k2">]</span> <span class="k3">&gt;</span><span class="k3">&gt;</span> <span class="n">8</span><span class="k2">)</span> <span class="k3">&amp;</span> <span class="n">0xF</span>, <span class="k2">(</span><span class="k2">(</span><span class="k1">int</span> <span class="k3">*</span><span class="k3">*</span><span class="k2">)</span>src-&gt;line<span class="k2">)</span><span class="k2">[</span>y<span class="k2">]</span><span class="k2">[</span>x<span class="k2">]</span> <span class="k3">&amp;</span> <span class="n">0xF</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>      <span class="c">// make it active</span></td></tr><tr><td class="number">37</td><td>      target-&gt;SetPen<span class="k2">(</span>pn<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td>      </td></tr><tr><td class="number">39</td><td>      <span class="c">// "putpixel"</span></td></tr><tr><td class="number">40</td><td>      target-&gt;DrawPoint<span class="k2">(</span>dx <span class="k3">+</span> x, dy <span class="k3">+</span> y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">41</td><td>      </td></tr><tr><td class="number">42</td><td>      <span class="c">// ok clear up the pen</span></td></tr><tr><td class="number">43</td><td>      <span class="c">//target-&gt;SetPen(wxNullPen);</span></td></tr><tr><td class="number">44</td><td>      <span class="c">//delete pen;</span></td></tr><tr><td class="number">45</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">46</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">47</td><td>  <span class="c">//#else</span></td></tr><tr><td class="number">48</td><td>  <span class="c">//#endif</span></td></tr><tr><td class="number">49</td><td><span class="k2">}</span></td></tr><tr><td class="number">50</td><td>&#160;</td></tr><tr><td class="number">51</td><td><span class="k1">class</span> MyApp <span class="k2">:</span> <span class="k1">public</span> wxApp</td></tr><tr><td class="number">52</td><td><span class="k2">{</span></td></tr><tr><td class="number">53</td><td>  public:</td></tr><tr><td class="number">54</td><td>    <span class="k1">virtual</span> <span class="k1">bool</span> OnInit<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">55</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">56</td><td>&#160;</td></tr><tr><td class="number">57</td><td><span class="k1">class</span> MyFrame <span class="k2">:</span> <span class="k1">public</span> wxFrame</td></tr><tr><td class="number">58</td><td><span class="k2">{</span></td></tr><tr><td class="number">59</td><td>  public:</td></tr><tr><td class="number">60</td><td>    MyFrame<span class="k2">(</span><span class="k1">const</span> wxString <span class="k3">&amp;</span>title<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">61</td><td>    <span class="k1">void</span> OnDraw<span class="k2">(</span>wxCommandEvent <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">62</td><td>    <span class="k1">void</span> OnQuit<span class="k2">(</span>wxCommandEvent <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">63</td><td>  private:</td></tr><tr><td class="number">64</td><td>    DECLARE_EVENT_TABLE<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">65</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">66</td><td>&#160;</td></tr><tr><td class="number">67</td><td>BEGIN_EVENT_TABLE<span class="k2">(</span>MyFrame, wxFrame<span class="k2">)</span></td></tr><tr><td class="number">68</td><td>  EVT_MENU<span class="k2">(</span>Draw_It, MyFrame::OnDraw<span class="k2">)</span></td></tr><tr><td class="number">69</td><td>  EVT_MENU<span class="k2">(</span>Wizard_Quit, MyFrame::OnQuit<span class="k2">)</span></td></tr><tr><td class="number">70</td><td>END_EVENT_TABLE<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">71</td><td>&#160;</td></tr><tr><td class="number">72</td><td>IMPLEMENT_APP<span class="k2">(</span>MyApp<span class="k2">)</span></td></tr><tr><td class="number">73</td><td>&#160;</td></tr><tr><td class="number">74</td><td>&#160;</td></tr><tr><td class="number">75</td><td><span class="k1">bool</span> MyApp::OnInit<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">76</td><td><span class="k2">{</span></td></tr><tr><td class="number">77</td><td>  </td></tr><tr><td class="number">78</td><td>  <a href="http://www.allegro.cc/manual/install_allegro" target="_blank"><span class="a">install_allegro</span></a><span class="k2">(</span>SYSTEM_NONE, <span class="k3">&amp;</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_293.html" target="_blank">errno</a>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_52.html" target="_blank">atexit</a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">79</td><td>  <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">80</td><td>  </td></tr><tr><td class="number">81</td><td>  MyFrame <span class="k3">*</span>frame <span class="k3">=</span> <span class="k1">new</span> MyFrame<span class="k2">(</span>_T<span class="k2">(</span><span class="s">"Allegro-wxWidgets Text"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// make the frame</span></td></tr><tr><td class="number">82</td><td>  </td></tr><tr><td class="number">83</td><td>  frame-&gt;Show<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// show the frame</span></td></tr><tr><td class="number">84</td><td>  </td></tr><tr><td class="number">85</td><td>  <span class="k1">return</span> <span class="k1">true</span><span class="k2">;</span></td></tr><tr><td class="number">86</td><td><span class="k2">}</span></td></tr><tr><td class="number">87</td><td>&#160;</td></tr><tr><td class="number">88</td><td>MyFrame::MyFrame<span class="k2">(</span><span class="k1">const</span> wxString <span class="k3">&amp;</span>title<span class="k2">)</span> <span class="k2">:</span> wxFrame<span class="k2">(</span><span class="k2">(</span>wxFrame <span class="k3">*</span><span class="k2">)</span>NULL, <span class="k3">-</span><span class="n">1</span>, title, wxDefaultPosition, wxSize<span class="k2">(</span><span class="n">800</span>,<span class="n">800</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">89</td><td><span class="k2">{</span></td></tr><tr><td class="number">90</td><td>  wxMenu <span class="k3">*</span>FileMenu <span class="k3">=</span> <span class="k1">new</span> wxMenu<span class="k2">;</span> <span class="c">// make the file menu</span></td></tr><tr><td class="number">91</td><td>  FileMenu-&gt;Append<span class="k2">(</span>Draw_It, _T<span class="k2">(</span><span class="s">"&amp;Draw It\tAlt-D"</span><span class="k2">)</span>, _<span class="k2">(</span><span class="s">"Draw the bitmap"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">92</td><td>  FileMenu-&gt;Append<span class="k2">(</span>Wizard_Quit, _T<span class="k2">(</span><span class="s">"E&amp;xit\tAlt-X"</span><span class="k2">)</span>, _T<span class="k2">(</span><span class="s">"Quit the test program"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">93</td><td>  </td></tr><tr><td class="number">94</td><td>  wxMenuBar <span class="k3">*</span>MenuBar <span class="k3">=</span> <span class="k1">new</span> wxMenuBar<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// make the menu bar</span></td></tr><tr><td class="number">95</td><td>  MenuBar-&gt;Append<span class="k2">(</span>FileMenu, _T<span class="k2">(</span><span class="s">"&amp;File"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">96</td><td>  </td></tr><tr><td class="number">97</td><td>  SetMenuBar<span class="k2">(</span>MenuBar<span class="k2">)</span><span class="k2">;</span> <span class="c">// use the menu bar</span></td></tr><tr><td class="number">98</td><td>  </td></tr><tr><td class="number">99</td><td>  CreateStatusBar<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// make the status bar</span></td></tr><tr><td class="number">100</td><td><span class="k2">}</span></td></tr><tr><td class="number">101</td><td>&#160;</td></tr><tr><td class="number">102</td><td><span class="k1">void</span> MyFrame::OnDraw<span class="k2">(</span>wxCommandEvent <span class="k3">&amp;</span>WXUNUSED<span class="k2">(</span>event<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">103</td><td><span class="k2">{</span></td></tr><tr><td class="number">104</td><td>  wxString filename <span class="k3">=</span> wxFileSelector<span class="k2">(</span>_<span class="k2">(</span><span class="s">"Open a BITMAP FILE... like now."</span><span class="k2">)</span>, wxT<span class="k2">(</span><span class="s">""</span><span class="k2">)</span>, wxT<span class="k2">(</span><span class="s">""</span><span class="k2">)</span>, wxT<span class="k2">(</span><span class="s">""</span><span class="k2">)</span>, wxT<span class="k2">(</span><span class="s">"Bitmap Files|*.bmp"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">105</td><td>  <span class="k1">if</span> <span class="k2">(</span>filename <span class="k3">=</span><span class="k3">=</span> wxEmptyString<span class="k2">)</span></td></tr><tr><td class="number">106</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">107</td><td>    wxMessageBox<span class="k2">(</span>_T<span class="k2">(</span><span class="s">"You didnt choose a file, silly, try again (File -&gt; Draw)"</span><span class="k2">)</span>, _T<span class="k2">(</span><span class="s">":p"</span><span class="k2">)</span>, wxOK<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">108</td><td>    <span class="k1">return</span> <span class="k2">;</span></td></tr><tr><td class="number">109</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">110</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>testbmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span>filename.c_str<span class="k2">(</span><span class="k2">)</span>, NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">111</td><td>  <span class="k1">if</span><span class="k2">(</span>testbmp <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span></td></tr><tr><td class="number">112</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">113</td><td>    wxMessageBox<span class="k2">(</span>_T<span class="k2">(</span><span class="s">"Couldn't load iamge"</span><span class="k2">)</span>, _T<span class="k2">(</span><span class="s">"Error"</span><span class="k2">)</span>, wxICON_ERROR <span class="k3">|</span> wxOK<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">114</td><td>    <span class="k1">return</span><span class="k2">;</span></td></tr><tr><td class="number">115</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">116</td><td>  <span class="c">// void blit_to_hdc(BITMAP *bitmap, HDC dc, int sx, sy, dx, dy, w, h);</span></td></tr><tr><td class="number">117</td><td>  <span class="c">/*PAINTSTRUCT ps;</span></td></tr><tr><td class="number">118</td><td><span class="c">  HDC hdc;</span></td></tr><tr><td class="number">119</td><td><span class="c">  HWND hwnd = (HWND)GetHandle();</span></td></tr><tr><td class="number">120</td><td><span class="c">  hdc = BeginPaint(hwnd, &amp;ps);</span></td></tr><tr><td class="number">121</td><td><span class="c">  blit_to_hdc(testbmp, hdc, 0, 0, 0, 0, testbmp-&gt;w, testbmp-&gt;h);</span></td></tr><tr><td class="number">122</td><td><span class="c">  EndPaint(hwnd, &amp;ps);*/</span></td></tr><tr><td class="number">123</td><td>  </td></tr><tr><td class="number">124</td><td>  <span class="c">/*wxScreenDC *bdest = new wxScreenDC;</span></td></tr><tr><td class="number">125</td><td><span class="c">  int x, y;</span></td></tr><tr><td class="number">126</td><td><span class="c">  GetPosition(&amp;x, &amp;y);</span></td></tr><tr><td class="number">127</td><td><span class="c">  //blit_from_allegro_to_wx(testbmp, bdest, 0, 0, x+10, y+10, testbmp-&gt;w, testbmp-&gt;h);</span></td></tr><tr><td class="number">128</td><td><span class="c">  delete bdest;*/</span></td></tr><tr><td class="number">129</td><td>  </td></tr><tr><td class="number">130</td><td>  wxClientDC <span class="k3">*</span>bdest <span class="k3">=</span> <span class="k1">new</span> wxClientDC<span class="k2">(</span><span class="k1">this</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">131</td><td>  blit_from_allegro_to_wx<span class="k2">(</span>testbmp, bdest, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, testbmp-&gt;w, testbmp-&gt;h<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">132</td><td>  <span class="k1">delete</span> bdest<span class="k2">;</span></td></tr><tr><td class="number">133</td><td>  </td></tr><tr><td class="number">134</td><td>  <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>testbmp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">135</td><td><span class="k2">}</span></td></tr><tr><td class="number">136</td><td>&#160;</td></tr><tr><td class="number">137</td><td><span class="k1">void</span> MyFrame::OnQuit<span class="k2">(</span>wxCommandEvent <span class="k3">&amp;</span>WXUNUSED<span class="k2">(</span>event<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">138</td><td><span class="k2">{</span></td></tr><tr><td class="number">139</td><td>  Close<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// close the app</span></td></tr><tr><td class="number">140</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Thu, 02 Jun 2005 16:08:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m at work right now so I can&#39;t try out that code but when I get home I will.  Thanks for the help and I&#39;ll be back if I need it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Slazer)</author>
		<pubDate>Thu, 02 Jun 2005 22:12:40 +0000</pubDate>
	</item>
</rss>
