<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>what&#39;s the function to check the mouse click?</title>
		<link>http://www.allegro.cc/forums/view/588507</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 12 Nov 2006 00:10:57 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
hi,</p><p>    i&#39;m having lots of images like options or radio buttons,</p><p>what i want to do is i want to select the option on click on that position?</p><p>my code is</p><p>int onoffflg = 1;</p><p>int optionss()<br />{<br />   int mx,my;<br />   while(!key[KEY_ESC] || 0){<br />       draw_sprite(screen,options, 115,130);<br />       if(onoffflg==0)<br />       {<br />       draw_sprite(options, opton, 195,70);   <br />       draw_sprite(options, optoff, 360,70);   <br />       }<br />       else<br />       {<br />       draw_sprite(options, optoff, 195,70);   <br />       draw_sprite(options, opton, 360,70);   <br />       }</p><p>      if(mouse_b)<br />      {<br />          <br />          mx=mouse_x;<br />          my=mouse_y;<br />          play_sample(sound2, 300, 128, 1000, 0);<br />          if(mx&gt;=195 &amp;&amp; mx&lt;=223 &amp;&amp; my&gt;=70 &amp;&amp; my&lt;=91) <br />          {<br />            if(onoffflg==1)<br />               onoffflg=0;<br />            else<br />               onoffflg=1;<br />          }<br />}</p><p>i&#39;m calling this function and it&#39;s working but what it does is when i click the images are changing but too quickly but once i click completely i.e a click and a release it is working properly but when the mouse is in click (only a pressdown) the images are changing,</p><p>what should i do here?</p><p>help me on this...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vijay K)</author>
		<pubDate>Sat, 11 Nov 2006 11:03:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><span class="source-code"><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></span>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ceagon Xylas)</author>
		<pubDate>Sat, 11 Nov 2006 11:17:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>hi ,</p><p> i tried that one but still happening in the same way..</p><p>i call that options inside a while loop</p><p> while(!key[KEY_ESC]){<br />           if(key[KEY_R]){<br />               garbagecollection();<br />               loader();           <br />           }<br />       options();<br />.<br />.<br />.<br />.</p><p>}</p><p>would this cause the probs?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Vijay K)</author>
		<pubDate>Sat, 11 Nov 2006 14:57:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>this happens because the mouse button is not released fast enough<br />a cheap trick would be, after detecting the mouse click, wait until the mouse is released in order to proceed, like this: (took your source and modified it)</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">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">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td>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">5</td><td>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">6</td><td><a href="http://www.allegro.cc/manual/play_sample" target="_blank"><span class="a">play_sample</span></a><span class="k2">(</span>sound2, <span class="n">300</span>, <span class="n">128</span>, <span class="n">1000</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td><span class="k1">if</span><span class="k2">(</span>mx&gt;<span class="k3">=</span><span class="n">195</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> mx<span class="k3">&lt;</span><span class="k3">=</span><span class="n">223</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> my&gt;<span class="k3">=</span><span class="n">70</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> my<span class="k3">&lt;</span><span class="k3">=</span><span class="n">91</span><span class="k2">)</span></td></tr><tr><td class="number">8</td><td><span class="k2">{</span></td></tr><tr><td class="number">9</td><td><span class="k1">if</span><span class="k2">(</span>onoffflg<span class="k3">=</span><span class="k3">=</span><span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">10</td><td>onoffflg<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td><span class="k1">else</span></td></tr><tr><td class="number">12</td><td>onoffflg<span class="k3">=</span><span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td><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="c">// here is my part to wait user for mouse button release</span></td></tr><tr><td class="number">16</td><td><span class="k1">while</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">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

let me know if it works...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kronoman)</author>
		<pubDate>Sat, 11 Nov 2006 16:08:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The proper way is to remember that the mouse button has been click and then look for the release. Sample code:
</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">bool</span> button_is_being_pressed_down <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>...</td></tr><tr><td class="number">3</td><td><span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">4</td><td>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>button_is_being_pressed_down<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>      <span class="c">// watch for a mouse down event</span></td></tr><tr><td class="number">6</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> <span class="k2">{</span></td></tr><tr><td class="number">7</td><td>         button_is_being_pressed_down <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">9</td><td>   <span class="k2">}</span></td></tr><tr><td class="number">10</td><td>   <span class="k1">else</span> <span class="k2">{</span></td></tr><tr><td class="number">11</td><td>      <span class="c">// watch for a mouse up event</span></td></tr><tr><td class="number">12</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> <span class="k2">{</span></td></tr><tr><td class="number">13</td><td>         <span class="c">// here it is!!!!!!11</span></td></tr><tr><td class="number">14</td><td>         button_is_being_pressed_down <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>      <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="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Sat, 11 Nov 2006 16:51:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><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 could have this callback keep track of how long it&#39;s been since the last click for doubleclick capability as well as signaling button press/release.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Sun, 12 Nov 2006 00:10:57 +0000</pubDate>
	</item>
</rss>
