<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Tool tip display</title>
		<link>http://www.allegro.cc/forums/view/587210</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 25 Aug 2006 21:27:21 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>At the moment I have this 		
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">&gt;</span> <span class="n">220</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">&lt;</span> <span class="n">370</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">&gt;</span> <span class="n">30</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">&lt;</span> <span class="n">80</span><span class="k2">)</span>
<span class="k2">{</span>
  <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a>, <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">222</span>, <span class="n">100</span>, <span class="n">111</span><span class="k2">)</span>,
    <span class="k3">-</span><span class="n">1</span>, <span class="s">"This is where you can find a job"</span><span class="k2">)</span><span class="k2">;</span>
  <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span>
    CMenu Menu_refresh<span class="k2">;</span>
    Menu_refresh.Menu_refresh<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

Then the screen refreshes so I don&#39;t leave a trail, but its all flashy. The rest(100) is there to stop the soaking of CPU... and looks totaly err <span class="cuss"><span><span class="cuss"><span>shit</span></span></span></span>, anyone got a fix or a better way for doing tool tips?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Thu, 24 Aug 2006 21:16:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Rest(100) is wayyyy too long.. Try just 1.</p><p>[edit] Oh wait, you&#39;re also drawing to the screen. Use a buffer (see examples). <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Derezo)</author>
		<pubDate>Thu, 24 Aug 2006 21:21:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>ah buffers, ill try that brb
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Thu, 24 Aug 2006 21:27:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you are going to have more than one tool tip then I suggest having a structure of some sorts that will hold the coordinates to the tips. Just a suggestion. Here is something that I might do.
</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="k1">typedef</span> <span class="k1">struct</span> ToolTip</td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>    <span class="k1">int</span> top<span class="k2">;</span></td></tr><tr><td class="number">4</td><td>    <span class="k1">int</span> bottom<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>    <span class="k1">int</span> left<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>    <span class="k1">int</span> right<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>    <span class="k1">char</span> <span class="k3">*</span>text<span class="k2">;</span></td></tr><tr><td class="number">8</td><td><span class="k2">}</span> ToolTip<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>ToolTip tips<span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span></td></tr><tr><td class="number">11</td><td><span class="k2">{</span></td></tr><tr><td class="number">12</td><td>    <span class="k2">{</span> <span class="n">30</span>, <span class="n">80</span>, <span class="n">220</span>, <span class="n">370</span>, <span class="s">"This is where you can find a job"</span> <span class="k2">}</span>,</td></tr><tr><td class="number">13</td><td>    <span class="k2">{</span> <span class="n">100</span>, <span class="n">200</span>, <span class="n">100</span>, <span class="n">200</span>, <span class="s">"This is tooltip #2"</span> <span class="k2">}</span>,</td></tr><tr><td class="number">14</td><td>    <span class="k2">{</span> <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, NULL <span class="k2">}</span></td></tr><tr><td class="number">15</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td><span class="k1">int</span> tooltip <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><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">void</span> logic_function<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">20</td><td><span class="k2">{</span></td></tr><tr><td class="number">21</td><td>    <span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>    tooltip <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>&#160;</td></tr><tr><td class="number">25</td><td>    <span class="k1">for</span> <span class="k2">(</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> tips<span class="k2">[</span> i <span class="k2">]</span>.text<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span></td></tr><tr><td class="number">26</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">27</td><td>        <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">&gt;</span><span class="k3">=</span> tips<span class="k2">[</span> i <span class="k2">]</span>.top <span class="k3">&amp;</span><span class="k3">&amp;</span></td></tr><tr><td class="number">28</td><td>            <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">&lt;</span>  tips<span class="k2">[</span> i <span class="k2">]</span>.bottom <span class="k3">&amp;</span><span class="k3">&amp;</span></td></tr><tr><td class="number">29</td><td>            <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">&gt;</span><span class="k3">=</span> tips<span class="k2">[</span> i <span class="k2">]</span>.left <span class="k3">&amp;</span><span class="k3">&amp;</span></td></tr><tr><td class="number">30</td><td>            <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">&lt;</span>  tips<span class="k2">[</span> i <span class="k2">]</span>.right <span class="k2">)</span></td></tr><tr><td class="number">31</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">32</td><td>            tooltip <span class="k3">=</span> i<span class="k2">;</span></td></tr><tr><td class="number">33</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">34</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">35</td><td><span class="k2">}</span></td></tr><tr><td class="number">36</td><td>&#160;</td></tr><tr><td class="number">37</td><td><span class="k1">void</span> draw_function<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">38</td><td><span class="k2">{</span></td></tr><tr><td class="number">39</td><td>    <span class="c">// do other drawing to buffer</span></td></tr><tr><td class="number">40</td><td>&#160;</td></tr><tr><td class="number">41</td><td>    <span class="k1">if</span> <span class="k2">(</span> tooltip <span class="k3">&gt;</span><span class="k3">=</span><span class="n">0</span> <span class="k2">)</span></td></tr><tr><td class="number">42</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">43</td><td>        <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, </td></tr><tr><td class="number">44</td><td>                    <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, </td></tr><tr><td class="number">45</td><td>                    tips<span class="k2">[</span> i <span class="k2">]</span>.text,</td></tr><tr><td class="number">46</td><td>                    tips<span class="k2">[</span> i <span class="k2">]</span>.left, </td></tr><tr><td class="number">47</td><td>                    tips<span class="k2">[</span> i <span class="k2">]</span>.bottom, </td></tr><tr><td class="number">48</td><td>                    <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">222</span>, <span class="n">100</span>, <span class="n">111</span><span class="k2">)</span>,</td></tr><tr><td class="number">49</td><td>                    <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>        <span class="c">// don't know what these are for</span></td></tr><tr><td class="number">51</td><td>        <span class="c">//rest(100);</span></td></tr><tr><td class="number">52</td><td>        <span class="c">//CMenu Menu_refresh;</span></td></tr><tr><td class="number">53</td><td>        <span class="c">//Menu_refresh.Menu_refresh();</span></td></tr><tr><td class="number">54</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">55</td><td>&#160;</td></tr><tr><td class="number">56</td><td>    <span class="c">// do other drawing to buffer</span></td></tr><tr><td class="number">57</td><td>&#160;</td></tr><tr><td class="number">58</td><td>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">59</td><td><span class="k2">}</span></td></tr><tr><td class="number">60</td><td>&#160;</td></tr><tr><td class="number">61</td><td><span class="k1">void</span> main_function<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">62</td><td><span class="k2">{</span></td></tr><tr><td class="number">63</td><td>    <span class="k1">while</span><span class="k2">(</span> <span class="n">1</span> <span class="k2">)</span></td></tr><tr><td class="number">64</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">65</td><td>        <span class="k1">if</span> <span class="k2">(</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span> KEY_ESC <span class="k2">]</span> <span class="k2">)</span> <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">66</td><td>&#160;</td></tr><tr><td class="number">67</td><td>        <span class="c">// I would normally put a timer around the logic_function</span></td></tr><tr><td class="number">68</td><td>        logic_function<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">69</td><td>&#160;</td></tr><tr><td class="number">70</td><td>        draw_function<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">71</td><td>        <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span> <span class="n">1</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">72</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">73</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Thu, 24 Aug 2006 21:47:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>hmm, the program crashes when I added <br />draw_sprite( screen, buffer, 0, 0);
</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="k1">void</span> CMenu::Menu_refresh<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>  <a href="http://www.allegro.cc/manual/clear_keybuf" target="_blank"><span class="a">clear_keybuf</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td>  <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>  <span class="c">//makes everything black</span></td></tr><tr><td class="number">7</td><td>  <a href="http://www.allegro.cc/manual/clear_to_color" target="_blank"><span class="a">clear_to_color</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><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="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>  <span class="c">//Open bitmaps</span></td></tr><tr><td class="number">9</td><td>  <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, Background, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, FindNewJob, <span class="n">220</span>, <span class="n">30</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>  <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>  <span class="c">//Display Money top left x,y</span></td></tr><tr><td class="number">13</td><td>  <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">10</span>, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">222</span>, <span class="n">100</span>, <span class="n">111</span><span class="k2">)</span>,</td></tr><tr><td class="number">14</td><td>    <span class="k3">-</span><span class="n">1</span>, <span class="s">"Money: %d"</span>, money<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">10</span>, <span class="n">20</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">222</span>, <span class="n">100</span>, <span class="n">111</span><span class="k2">)</span>,</td></tr><tr><td class="number">16</td><td>    <span class="k3">-</span><span class="n">1</span>, <span class="s">"Current Job: %d"</span>, current_job<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>  </td></tr><tr><td class="number">18</td><td>  <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>  <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">5</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>  </td></tr><tr><td class="number">21</td><td>  CMenu Menu<span class="k2">;</span></td></tr><tr><td class="number">22</td><td>  Menu.Menu<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
Any ideas?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Thu, 24 Aug 2006 21:50:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>DId you create a buffer?</p><p>Also do all drawing to the buffer then draw the buffer to the screen.
</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="k1">void</span> CMenu::Menu_refresh<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>  <a href="http://www.allegro.cc/manual/clear_keybuf" target="_blank"><span class="a">clear_keybuf</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td>  <span class="c">//makes everything black</span></td></tr><tr><td class="number">6</td><td>  <a href="http://www.allegro.cc/manual/clear_to_color" target="_blank"><span class="a">clear_to_color</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><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="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>  <span class="c">//Open bitmaps</span></td></tr><tr><td class="number">8</td><td>  <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span> buffer, Background, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>  <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span> buffer, FindNewJob, <span class="n">220</span>, <span class="n">30</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  <span class="c">//Display Money top left x,y</span></td></tr><tr><td class="number">11</td><td>  <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">10</span>, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">222</span>, <span class="n">100</span>, <span class="n">111</span><span class="k2">)</span>,</td></tr><tr><td class="number">12</td><td>    <span class="k3">-</span><span class="n">1</span>, <span class="s">"Money: %d"</span>, money<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>  <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">10</span>, <span class="n">20</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">222</span>, <span class="n">100</span>, <span class="n">111</span><span class="k2">)</span>,</td></tr><tr><td class="number">14</td><td>    <span class="k3">-</span><span class="n">1</span>, <span class="s">"Current Job: %d"</span>, current_job<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  </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/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>  <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, buffer, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>  <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>  <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">5</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>  </td></tr><tr><td class="number">22</td><td>  CMenu Menu<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>  Menu.Menu<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>



What is 
</p><div class="source-code snippet"><div class="inner"><pre>CMenu Menu<span class="k2">;</span>
Menu.Menu<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>

CMenu Menu_refresh<span class="k2">;</span>
Menu_refresh.Menu_refresh<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
Why not may Menu() a static function?
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">class</span> CMenu
<span class="k2">{</span>
...
...
    <span class="k1">void</span> <span class="k1">static</span> Menu<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
    <span class="k1">void</span> <span class="k1">static</span> Menu_refresh<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
...
...
<span class="k2">}</span><span class="k2">;</span>

<span class="c">// And call them like this</span>
CMenu::Menu_refresh<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
CMenu::Menu<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Thu, 24 Aug 2006 21:51:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ooo good one DanielH thats just what I&#39;m looking for! <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Thu, 24 Aug 2006 21:52:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You don&#39;t need to acquire/release the screen for one go like that, plus you should use blit, not draw_sprite.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Thu, 24 Aug 2006 21:54:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">DanielH said:</div><div class="quote"><p>
DId you create a buffer?</p><p>Also do all drawing to the buffer then draw the buffer to the screen.
</p></div></div><p>
I did <br />BITMAP *buffer; //This will be our temporary bitmap for double buffering</p><p>at the top, and the program still crashes with your refined code...</p><div class="quote_container"><div class="title">DanielH said:</div><div class="quote"><p>
What is</p><p>CMenu Menu;<br />Menu.Menu();</p><p>CMenu Menu_refresh;<br />Menu_refresh.Menu_refresh();</p><p>Why not may Menu() a static function?
</p></div></div><p>
That calls other functions, but ill try your stuff <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Thu, 24 Aug 2006 22:02:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What I&#39;m saying is that you create a new variable to call one function when you could just call the function.</p><div class="source-code snippet"><div class="inner"><pre><span class="c">// creates a new variable everytime the refresh function is called</span>
CMenu Menu<span class="k2">;</span>
Menu.Menu<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>

<span class="c">// this only calls the function Menu</span>
CMenu::Menu<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
About the buffer
</p><div class="source-code snippet"><div class="inner"><pre><span class="c">//And you said you did this</span>
<a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer<span class="k2">;</span>

<span class="c">//But did you do this after setting graphics and </span>
<span class="c">//before calling any drawing functions</span>
buffer <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> <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a> <span class="k2">)</span>


<span class="c">// and don't forget this when the program is finished</span>
<a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span> buffer <span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Thu, 24 Aug 2006 22:08:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">DanielH said:</div><div class="quote"><p>
If you are going to have more than one tool tip then I suggest having a structure of some sorts that will hold the coordinates to the tips. Just a suggestion. Here is something that I might do.
</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="k1">typedef</span> <span class="k1">struct</span> ToolTip</td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>    <span class="k1">int</span> top<span class="k2">;</span></td></tr><tr><td class="number">4</td><td>    <span class="k1">int</span> bottom<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>    <span class="k1">int</span> left<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>    <span class="k1">int</span> right<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>    <span class="k1">char</span> <span class="k3">*</span>text<span class="k2">;</span></td></tr><tr><td class="number">8</td><td><span class="k2">}</span> ToolTip<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>ToolTip tips<span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span></td></tr><tr><td class="number">11</td><td><span class="k2">{</span></td></tr><tr><td class="number">12</td><td>    <span class="k2">{</span> <span class="n">30</span>, <span class="n">80</span>, <span class="n">220</span>, <span class="n">370</span>, <span class="s">"This is where you can find a job"</span> <span class="k2">}</span>,</td></tr><tr><td class="number">13</td><td>    <span class="k2">{</span> <span class="n">100</span>, <span class="n">200</span>, <span class="n">100</span>, <span class="n">200</span>, <span class="s">"This is tooltip #2"</span> <span class="k2">}</span>,</td></tr><tr><td class="number">14</td><td>    <span class="k2">{</span> <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, NULL <span class="k2">}</span></td></tr><tr><td class="number">15</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td><span class="k1">int</span> tooltip <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><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">void</span> logic_function<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">20</td><td><span class="k2">{</span></td></tr><tr><td class="number">21</td><td>    <span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>    tooltip <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>&#160;</td></tr><tr><td class="number">25</td><td>    <span class="k1">for</span> <span class="k2">(</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> tips<span class="k2">[</span> i <span class="k2">]</span>.text<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span></td></tr><tr><td class="number">26</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">27</td><td>        <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">&gt;</span><span class="k3">=</span> tips<span class="k2">[</span> i <span class="k2">]</span>.top <span class="k3">&amp;</span><span class="k3">&amp;</span></td></tr><tr><td class="number">28</td><td>            <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">&lt;</span>  tips<span class="k2">[</span> i <span class="k2">]</span>.bottom <span class="k3">&amp;</span><span class="k3">&amp;</span></td></tr><tr><td class="number">29</td><td>            <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">&gt;</span><span class="k3">=</span> tips<span class="k2">[</span> i <span class="k2">]</span>.left <span class="k3">&amp;</span><span class="k3">&amp;</span></td></tr><tr><td class="number">30</td><td>            <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">&lt;</span>  tips<span class="k2">[</span> i <span class="k2">]</span>.right <span class="k2">)</span></td></tr><tr><td class="number">31</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">32</td><td>            tooltip <span class="k3">=</span> i<span class="k2">;</span></td></tr><tr><td class="number">33</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">34</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">35</td><td><span class="k2">}</span></td></tr><tr><td class="number">36</td><td>&#160;</td></tr><tr><td class="number">37</td><td><span class="k1">void</span> draw_function<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">38</td><td><span class="k2">{</span></td></tr><tr><td class="number">39</td><td>    <span class="c">// do other drawing to buffer</span></td></tr><tr><td class="number">40</td><td>&#160;</td></tr><tr><td class="number">41</td><td>    <span class="k1">if</span> <span class="k2">(</span> tooltip <span class="k3">&gt;</span><span class="k3">=</span><span class="n">0</span> <span class="k2">)</span></td></tr><tr><td class="number">42</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">43</td><td>        <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, </td></tr><tr><td class="number">44</td><td>                    <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, </td></tr><tr><td class="number">45</td><td>                    tips<span class="k2">[</span> i <span class="k2">]</span>.text,</td></tr><tr><td class="number">46</td><td>                    tips<span class="k2">[</span> i <span class="k2">]</span>.left, </td></tr><tr><td class="number">47</td><td>                    tips<span class="k2">[</span> i <span class="k2">]</span>.bottom, </td></tr><tr><td class="number">48</td><td>                    <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">222</span>, <span class="n">100</span>, <span class="n">111</span><span class="k2">)</span>,</td></tr><tr><td class="number">49</td><td>                    <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>        <span class="c">// don't know what these are for</span></td></tr><tr><td class="number">51</td><td>        <span class="c">//rest(100);</span></td></tr><tr><td class="number">52</td><td>        <span class="c">//CMenu Menu_refresh;</span></td></tr><tr><td class="number">53</td><td>        <span class="c">//Menu_refresh.Menu_refresh();</span></td></tr><tr><td class="number">54</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">55</td><td>&#160;</td></tr><tr><td class="number">56</td><td>    <span class="c">// do other drawing to buffer</span></td></tr><tr><td class="number">57</td><td>&#160;</td></tr><tr><td class="number">58</td><td>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span> buffer, <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">59</td><td><span class="k2">}</span></td></tr><tr><td class="number">60</td><td>&#160;</td></tr><tr><td class="number">61</td><td><span class="k1">void</span> main_function<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">62</td><td><span class="k2">{</span></td></tr><tr><td class="number">63</td><td>    <span class="k1">while</span><span class="k2">(</span> <span class="n">1</span> <span class="k2">)</span></td></tr><tr><td class="number">64</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">65</td><td>        <span class="k1">if</span> <span class="k2">(</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span> KEY_ESC <span class="k2">]</span> <span class="k2">)</span> <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">66</td><td>&#160;</td></tr><tr><td class="number">67</td><td>        <span class="c">// I would normally put a timer around the logic_function</span></td></tr><tr><td class="number">68</td><td>        logic_function<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">69</td><td>&#160;</td></tr><tr><td class="number">70</td><td>        draw_function<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">71</td><td>        <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span> <span class="n">1</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">72</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">73</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div></div><p>
I tried that, when I hover the mouse over the area for the tool tip the program crashes...<br />BITMAP *buffer; is at the start</p><p>set_color_depth(16);<br />set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0);<br />buffer = create_bitmap( SCREEN_W, SCREEN_H );<br />is at the start of Main()</p><p>Any ideas?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Fri, 25 Aug 2006 21:27:21 +0000</pubDate>
	</item>
</rss>
