<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>win32: detecting double click ?</title>
		<link>http://www.allegro.cc/forums/view/575032</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 10 Apr 2006 01:20:18 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>in windowed mode i can spy on the WM_LBUTTONDOWN mesages and log when they occur, this gives me suffecient timing information to detect double clicks.</p><p>but in fullscreen mode, WM_LBUTTONDOWN messages dont appear to be sent.<br />how can i detect double clicks ?     accurately.<br />(polling the mouse_b) can not be done accurately.</p><p>i&#39;ll consider solutions that involve hacking allegro too.. as i think that is the only way its going to happen.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (A J)</author>
		<pubDate>Sun, 26 Mar 2006 13:01:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="c">//Mouse.h</span></td></tr><tr><td class="number">2</td><td><span class="p">#include "Button.h"</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="k1">class</span> Mouse: <span class="k1">public</span> MenuObject</td></tr><tr><td class="number">5</td><td><span class="k2">{</span></td></tr><tr><td class="number">6</td><td>private:</td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>public:</td></tr><tr><td class="number">9</td><td>  Mouse<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  </td></tr><tr><td class="number">11</td><td>  </td></tr><tr><td class="number">12</td><td>  <span class="k1">bool</span> is_doubleclick<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>&#160;</td></tr><tr><td class="number">14</td><td>  <span class="k1">void</span> draw<span class="k2">(</span><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">15</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>Mouse::Mouse<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">17</td><td><span class="k2">{</span></td></tr><tr><td class="number">18</td><td>  Set_x<span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>  Set_y<span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>  Set_w<span class="k2">(</span><span class="n">10</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>  Set_h<span class="k2">(</span><span class="n">10</span><span class="k2">)</span><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">void</span> Mouse::draw<span class="k2">(</span><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></td></tr><tr><td class="number">24</td><td><span class="k2">{</span></td></tr><tr><td class="number">25</td><td>  <a href="http://www.allegro.cc/manual/show_mouse" target="_blank"><span class="a">show_mouse</span></a><span class="k2">(</span>bmp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>  Set_x<span class="k2">(</span> <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>  Set_y<span class="k2">(</span> <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>  drawRectangle<span class="k2">(</span>bmp,Get_x<span class="k2">(</span><span class="k2">)</span>,  Get_y<span class="k2">(</span><span class="k2">)</span>, Get_w<span class="k2">(</span><span class="k2">)</span>, Get_h<span class="k2">(</span><span class="k2">)</span>, Get_color<span class="k2">(</span><span class="k2">)</span>, <span class="n">0</span>, Get_color<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td>  <a href="http://www.allegro.cc/manual/scare_mouse" target="_blank"><span class="a">scare_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>&#160;</td></tr><tr><td class="number">31</td><td><span class="k2">}</span></td></tr><tr><td class="number">32</td><td>&#160;</td></tr><tr><td class="number">33</td><td><span class="k1">bool</span> Mouse::is_doubleclick<span class="k2">(</span><span class="k2">)</span><span class="c">//we can even put the sleep valus as ints in the fuction header for more flex</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="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">36</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">37</td><td>    Sleep<span class="k2">(</span><span class="n">75</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">39</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">40</td><td>      Sleep<span class="k2">(</span><span class="n">50</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">41</td><td>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</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>&#160;</td></tr><tr><td class="number">44</td><td>        <span class="k1">return</span> <span class="k1">true</span><span class="k2">;</span></td></tr><tr><td class="number">45</td><td>    </td></tr><tr><td class="number">46</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">47</td><td>      <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">49</td><td>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">51</td><td>  <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span></td></tr><tr><td class="number">52</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>



</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>&#160;</td></tr><tr><td class="number">2</td><td><span class="p">#include "Menu.h"</span></td></tr><tr><td class="number">3</td><td>Menu login<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="k1">int</span> draw_login<span class="k2">(</span><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></td></tr><tr><td class="number">6</td><td><span class="k2">{</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>  login.buttons<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_lable<span class="k2">(</span> <span class="s">"   Logon"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>  login.buttons<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_x<span class="k2">(</span>login.Get_x<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="n">50</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  login.buttons<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_y<span class="k2">(</span>login.Get_y<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="n">40</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>  login.buttons<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_w<span class="k2">(</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>  login.buttons<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_h<span class="k2">(</span><span class="n">25</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>  login.buttons<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_lable<span class="k2">(</span> <span class="s">"Make New"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>  login.buttons<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_x<span class="k2">(</span>login.Get_x<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  login.buttons<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_y<span class="k2">(</span>login.Get_y<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="n">110</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>  login.buttons<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_w<span class="k2">(</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>  login.buttons<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_h<span class="k2">(</span><span class="n">25</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td>  login.buttons<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Set_lable<span class="k2">(</span> <span class="s">"   Exit"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>  login.buttons<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Set_x<span class="k2">(</span>login.Get_x<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>  login.buttons<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Set_y<span class="k2">(</span>login.Get_y<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="n">150</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>  login.buttons<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Set_w<span class="k2">(</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>  login.buttons<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Set_h<span class="k2">(</span><span class="n">25</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>&#160;</td></tr><tr><td class="number">25</td><td>  login.textboxs<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_lable<span class="k2">(</span> <span class="s">"Enter Uesrname"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>  login.textboxs<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_x<span class="k2">(</span>login.Get_x<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="n">160</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>  login.textboxs<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_y<span class="k2">(</span>login.Get_y<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="n">20</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>  login.textboxs<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_w<span class="k2">(</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td>  login.textboxs<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_h<span class="k2">(</span><span class="n">25</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>&#160;</td></tr><tr><td class="number">31</td><td>  login.textboxs<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_lable<span class="k2">(</span> <span class="s">"Enter PassWord"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>  login.textboxs<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_x<span class="k2">(</span>login.Get_x<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="n">160</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>  login.textboxs<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_y<span class="k2">(</span>login.Get_y<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span><span class="n">60</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>  login.textboxs<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_w<span class="k2">(</span><span class="n">100</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>  login.textboxs<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_h<span class="k2">(</span><span class="n">25</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>&#160;</td></tr><tr><td class="number">37</td><td>  login.draw<span class="k2">(</span>bmp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td>&#160;</td></tr><tr><td class="number">39</td><td>  login.buttons<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.draw<span class="k2">(</span>bmp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>  login.buttons<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.draw<span class="k2">(</span>bmp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">41</td><td>  login.buttons<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.draw<span class="k2">(</span>bmp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>&#160;</td></tr><tr><td class="number">43</td><td>username <span class="k3">=</span>  login.textboxs<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.draw<span class="k2">(</span>bmp<span class="k2">)</span><span class="k2">;</span> <span class="c">//returns username</span></td></tr><tr><td class="number">44</td><td>password <span class="k3">=</span>   login.textboxs<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.draw<span class="k2">(</span>bmp<span class="k2">)</span><span class="k2">;</span> <span class="c">//returns password</span></td></tr><tr><td class="number">45</td><td>&#160;</td></tr><tr><td class="number">46</td><td><span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">47</td><td><span class="k2">{</span></td></tr><tr><td class="number">48</td><td>login.mx <span class="k3">=</span> <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a><span class="k2">;</span></td></tr><tr><td class="number">49</td><td>login.my <span class="k3">=</span> <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a><span class="k2">;</span></td></tr><tr><td class="number">50</td><td><span class="k2">}</span></td></tr><tr><td class="number">51</td><td>  login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.draw<span class="k2">(</span>bmp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">52</td><td>  <span class="c">//if (mouse_b &amp; 1)</span></td></tr><tr><td class="number">53</td><td>    <span class="k1">if</span> <span class="k2">(</span>login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.is_doubleclick<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">54</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">55</td><td>      <span class="k1">if</span><span class="k2">(</span>login.is_collision<span class="k2">(</span> login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">56</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">57</td><td>        <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>login.buttons<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.is_collision<span class="k2">(</span> login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">58</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">59</td><td>          <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>login.buttons<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.is_collision<span class="k2">(</span> login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">60</td><td>          <span class="k2">{</span></td></tr><tr><td class="number">61</td><td>            <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>login.textboxs<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.is_collision<span class="k2">(</span> login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><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">if</span><span class="k2">(</span><span class="k3">!</span>login.textboxs<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.is_collision<span class="k2">(</span> login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</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>                </td></tr><tr><td class="number">66</td><td>                <span class="c">//login.Set_x( mouse_x );</span></td></tr><tr><td class="number">67</td><td>                <span class="c">//login.Set_y( mouse_y );</span></td></tr><tr><td class="number">68</td><td>                    login.mov<span class="k3">=</span><a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">-</span>login.mx<span class="k2">;</span></td></tr><tr><td class="number">69</td><td>                    login.mov2<span class="k3">=</span><a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">-</span> login.my<span class="k2">;</span></td></tr><tr><td class="number">70</td><td>                    login.mx <span class="k3">=</span> <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a><span class="k2">;</span></td></tr><tr><td class="number">71</td><td>                    login.my <span class="k3">=</span> <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a><span class="k2">;</span></td></tr><tr><td class="number">72</td><td>                    </td></tr><tr><td class="number">73</td><td>                    login.Set_x<span class="k2">(</span> login.Get_x<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span>login.mov<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td>                    login.Set_y<span class="k2">(</span> login.Get_y<span class="k2">(</span><span class="k2">)</span><span class="k3">+</span>login.mov2<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">75</td><td>                    </td></tr><tr><td class="number">76</td><td>                    login.mov <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">77</td><td>                    login.mov2 <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">78</td><td>                    <span class="c">//mouse_x = login.mov + login.Get_x();</span></td></tr><tr><td class="number">79</td><td>                    <span class="c">//mouse_y = login.mov2 + login.Get_y();</span></td></tr><tr><td class="number">80</td><td>              <span class="k2">}</span></td></tr><tr><td class="number">81</td><td>            <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>        <span class="k2">}</span></td></tr><tr><td class="number">84</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">85</td><td>      </td></tr><tr><td class="number">86</td><td>    <span class="k1">if</span><span class="k2">(</span>login.buttons<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.is_collision<span class="k2">(</span> login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">87</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">88</td><td>        login.buttons<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_state<span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">89</td><td>        <span class="c">//do this buttons stuff login</span></td></tr><tr><td class="number">90</td><td>        <span class="c">//sub menu get username and password </span></td></tr><tr><td class="number">91</td><td>        <span class="c">//need to give chances to enter that mean we need sever conection here</span></td></tr><tr><td class="number">92</td><td>        <span class="c">//contiual on to game </span></td></tr><tr><td class="number">93</td><td>        </td></tr><tr><td class="number">94</td><td>        <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">95</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">96</td><td>      <span class="k1">else</span></td></tr><tr><td class="number">97</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">98</td><td>        login.buttons<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_state<span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">99</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">100</td><td>      <span class="k1">if</span><span class="k2">(</span>login.buttons<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.is_collision<span class="k2">(</span> login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">101</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">102</td><td>        login.buttons<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_state<span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">103</td><td>        <span class="c">//do this buttons stuff new acount</span></td></tr><tr><td class="number">104</td><td>&#160;</td></tr><tr><td class="number">105</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">106</td><td>      <span class="k1">else</span></td></tr><tr><td class="number">107</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">108</td><td>        login.buttons<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_state<span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">109</td><td>&#160;</td></tr><tr><td class="number">110</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">111</td><td>&#160;</td></tr><tr><td class="number">112</td><td>      <span class="k1">if</span><span class="k2">(</span>login.buttons<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.is_collision<span class="k2">(</span> login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">113</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">114</td><td>        login.buttons<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Set_state<span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">115</td><td>        <span class="c">//do this buttons stuff exit</span></td></tr><tr><td class="number">116</td><td>        <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span><span class="c">//are you done drawing</span></td></tr><tr><td class="number">117</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">118</td><td>      <span class="k1">else</span></td></tr><tr><td class="number">119</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">120</td><td>        login.buttons<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Set_state<span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">121</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">122</td><td>&#160;</td></tr><tr><td class="number">123</td><td>      <span class="k1">if</span><span class="k2">(</span>login.textboxs<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.is_collision<span class="k2">(</span> login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">124</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">125</td><td>        login.textboxs<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_selceted<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">126</td><td>        login.textboxs<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_selceted<span class="k2">(</span><span class="k1">false</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">127</td><td>        <span class="c">//username text box has keybord</span></td></tr><tr><td class="number">128</td><td>&#160;</td></tr><tr><td class="number">129</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">130</td><td>      <span class="k1">if</span><span class="k2">(</span>login.textboxs<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.is_collision<span class="k2">(</span> login.mouse<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">131</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">132</td><td>        login.textboxs<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Set_selceted<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">133</td><td>        login.textboxs<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Set_selceted<span class="k2">(</span><span class="k1">false</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">134</td><td>        <span class="c">//passWord text box has keybord</span></td></tr><tr><td class="number">135</td><td>&#160;</td></tr><tr><td class="number">136</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">137</td><td>&#160;</td></tr><tr><td class="number">138</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">139</td><td><span class="k1">return</span> <span class="n">0</span><span class="k2">;</span> <span class="c">//are you done drawing</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 (piccolo)</author>
		<pubDate>Mon, 27 Mar 2006 07:46:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That isn&#39;t very elegant... sleeping multiple times in the poll function.</p><p>Also, why use show_mouse? Just draw_sprite() mouse_sprite to the x/y.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Mon, 27 Mar 2006 07:58:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">BAF said:</div><div class="quote"><p>
That isn&#39;t very elegant... sleeping multiple times in the poll function.
</p></div></div><p>

there were 2 other way i thought up but they involve variables . this the best metod out of the tree. plus this can be class independent.</p><div class="quote_container"><div class="title">BAF said:</div><div class="quote"><p>
Also, why use show_mouse? Just draw_sprite() mouse_sprite to the x/y.
</p></div></div><p>

i am using the defalt mouse sprite. i did not load my own yet. check out my game and write a review if you can please</p><p>edit:<br /><a href="http://www.allegro.cc/depot/Thegame">http://www.allegro.cc/depot/Thegame</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (piccolo)</author>
		<pubDate>Mon, 27 Mar 2006 08:08:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>picollo, you&#39;ve missed the point, how can i detect the mouse_b is im busy doing other stuff
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (A J)</author>
		<pubDate>Mon, 27 Mar 2006 12:57:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">AJ said:</div><div class="quote"><p>

how can i detect the mouse_b is im busy doing other stuff
</p></div></div><p>

héhé use pthread my bad !
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Mon, 27 Mar 2006 18:10:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>is_doubleclick(); put that any where you want to check.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (piccolo)</author>
		<pubDate>Tue, 28 Mar 2006 01:39:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>This is a windows prog?  Check out WM_LBUTTONDBLCLK message.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Tue, 28 Mar 2006 02:05:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What? That was the problem... it wasn&#39;t working for him full screen.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Tue, 28 Mar 2006 06:41:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>in windowed mode, i can see the WM_LBUTTON message, but in fullscreen mode i dont.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (A J)</author>
		<pubDate>Tue, 28 Mar 2006 19:19:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>gezzz thouse sleeps are in Milli seconds I&#39;m using 50 50, and it only activates when the mouse is pressed.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (piccolo)</author>
		<pubDate>Tue, 28 Mar 2006 19:56:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>A bit offtopic: how do you make a window fullscreen? I think that doesn&#39;t mean it&#39;s maximized.</p><p>Maybe that&#39;s in some way related to why you&#39;re not getting those messages (I suppose you still get WM_CHAR and friends).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Marco Radaelli)</author>
		<pubDate>Tue, 28 Mar 2006 21:25:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Marco.. i use   set_gfx_mode(AUTO_DETECT_FULLSCREEN, </p><p>piccolo, it can&#39;t sleep, its busy doing other work, like rendering graphics.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (A J)</author>
		<pubDate>Wed, 29 Mar 2006 11:08:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You&#39;ll have to took at allegro source code why messages are not forwarded to you app. My wild guess is that it creates another window to handle input.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Wed, 29 Mar 2006 15:06:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m not familiar with WM_LBUTTONDOWN, but couldn&#39;t you use Allegro&#39;s interrupt routines?</p><p><a href="http://www.allegro.cc/manual/api/mouse-routines/mouse_callback">http://www.allegro.cc/manual/api/mouse-routines/mouse_callback</a></p><p>You&#39;ll need to keep track of the number of MOUSE_FLAG_LEFT_DOWNs you got, with a timer to see if they were sufficiently close together.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Myrdos)</author>
		<pubDate>Mon, 10 Apr 2006 01:20:18 +0000</pubDate>
	</item>
</rss>
