<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>GUI Sliders headache</title>
		<link>http://www.allegro.cc/forums/view/573605</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 18 Mar 2006 17:59:25 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello people, I was wondering if you could lend a minute or two to help me out a tight spot (as usual). The problem is as follows, I&#39;m trying to make 2 sliders for my map editor, to move the map and so on. The problem is that it doesn&#39;t change the value of any variable, even changing i2 and j2 it should move already. As far as I know it doesn&#39;t even use the functions, could anyone tell me why? <br />Here&#39;s the code:
</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><a href="http://www.allegro.cc/manual/DIALOG" target="_blank"><span class="a">DIALOG</span></a> the_dialog<span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span></td></tr><tr><td class="number">3</td><td><span class="k2">{</span></td></tr><tr><td class="number">4</td><td>    <span class="c">/* (dialog proc)     (x)   (y)   (w)   (h) (fg)(bg) (key) (flags)     (d1) (d2)    (dp)                   (dp2) (dp3) */</span></td></tr><tr><td class="number">5</td><td>   <span class="k2">{</span> <a href="http://www.allegro.cc/manual/d_box_proc" target="_blank"><span class="a">d_box_proc</span></a>, <span class="n">0</span>, <span class="n">0</span>,  <span class="n">1024</span>,   <span class="n">15</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    NULL,                   NULL, NULL  <span class="k2">}</span>,</td></tr><tr><td class="number">6</td><td>   <span class="k2">{</span> <a href="http://www.allegro.cc/manual/d_box_proc" target="_blank"><span class="a">d_box_proc</span></a>, <span class="n">0</span>, <span class="n">728</span>,  <span class="n">1024</span>,   <span class="n">40</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    NULL,                   NULL, NULL  <span class="k2">}</span>,</td></tr><tr><td class="number">7</td><td>   <span class="k2">{</span> <a href="http://www.allegro.cc/manual/d_box_proc" target="_blank"><span class="a">d_box_proc</span></a>, <span class="n">774</span>, <span class="n">15</span>,  <span class="n">250</span>,   <span class="n">713</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    NULL,                   NULL, NULL  <span class="k2">}</span>,</td></tr><tr><td class="number">8</td><td>   <span class="k2">{</span> <a href="http://www.allegro.cc/manual/d_box_proc" target="_blank"><span class="a">d_box_proc</span></a>, <span class="n">757</span>, <span class="n">711</span>,  <span class="n">17</span>,   <span class="n">17</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    NULL,                   NULL, NULL  <span class="k2">}</span>,</td></tr><tr><td class="number">9</td><td>   <span class="k2">{</span> <a href="http://www.allegro.cc/manual/d_slider_proc" target="_blank"><span class="a">d_slider_proc</span></a>, <span class="n">758</span>,  <span class="n">15</span>,   <span class="n">16</span>,   <span class="n">696</span>,    <span class="n">0</span>,      <span class="n">0</span>, <span class="n">0</span>,    <span class="n">0</span>,   GRID_HEIGHT <span class="k3">*</span> WORLD_HEIGHT,    GRID_HEIGHT <span class="k3">*</span> WORLD_HEIGHT, NULL, <span class="k2">(</span><span class="k1">void</span> <span class="k3">*</span><span class="k2">)</span>moverse_slider_y, NULL <span class="k2">}</span>,</td></tr><tr><td class="number">10</td><td>   <span class="k2">{</span> <a href="http://www.allegro.cc/manual/d_slider_proc" target="_blank"><span class="a">d_slider_proc</span></a>, <span class="n">0</span>,  <span class="n">712</span>,  <span class="n">757</span>,   <span class="n">16</span>,    <span class="n">0</span>,      <span class="n">0</span>, <span class="n">0</span>,    <span class="n">0</span>,   GRID_WIDTH <span class="k3">*</span> WORLD_WIDTH,    <span class="n">0</span>, NULL, <span class="k2">(</span><span class="k1">void</span> <span class="k3">*</span><span class="k2">)</span>moverse_slider_x, NULL <span class="k2">}</span>,</td></tr><tr><td class="number">11</td><td>   <span class="k2">{</span> <a href="http://www.allegro.cc/manual/d_menu_proc" target="_blank"><span class="a">d_menu_proc</span></a>,       <span class="n">0</span>,   <span class="n">0</span>,    <span class="n">0</span>,    <span class="n">0</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    the_menu,               NULL, NULL  <span class="k2">}</span>,</td></tr><tr><td class="number">12</td><td>   <span class="k2">{</span> <a href="http://www.allegro.cc/manual/d_menu_proc" target="_blank"><span class="a">d_menu_proc</span></a>,       <span class="n">774</span>,   <span class="n">15</span>,    <span class="n">0</span>,    <span class="n">0</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    menu_herramientas,               NULL, NULL  <span class="k2">}</span>,</td></tr><tr><td class="number">13</td><td>   <span class="k2">{</span> <a href="http://www.allegro.cc/manual/d_yield_proc" target="_blank"><span class="a">d_yield_proc</span></a>,        <span class="n">0</span>,   <span class="n">0</span>,    <span class="n">0</span>,    <span class="n">0</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    NULL,                   NULL, NULL  <span class="k2">}</span>,</td></tr><tr><td class="number">14</td><td>   <span class="k2">{</span> NULL,                <span class="n">0</span>,   <span class="n">0</span>,    <span class="n">0</span>,    <span class="n">0</span>,   <span class="n">0</span>,  <span class="n">0</span>,    <span class="n">0</span>,      <span class="n">0</span>,       <span class="n">0</span>,   <span class="n">0</span>,    NULL,                   NULL, 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>&#160;</td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td><span class="k1">int</span> moverse_slider_x<span class="k2">(</span><span class="k1">void</span> <span class="k3">*</span>dp3, <span class="k1">int</span> d2<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>      </td></tr><tr><td class="number">22</td><td>      i2 <span class="k3">=</span> the_dialog<span class="k2">[</span><span class="n">5</span><span class="k2">]</span>.d2 <span class="k3">-</span> <span class="k2">(</span>k2 <span class="k3">*</span> <span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>      </td></tr><tr><td class="number">24</td><td>      <span class="k1">if</span><span class="k2">(</span>i2 <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">25</td><td>       k2--<span class="k2">;</span></td></tr><tr><td class="number">26</td><td>       i2 <span class="k3">=</span> the_dialog<span class="k2">[</span><span class="n">5</span><span class="k2">]</span>.d2 <span class="k3">-</span> <span class="k2">(</span>k2 <span class="k3">*</span> <span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>      <span class="k2">}</span> </td></tr><tr><td class="number">28</td><td>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>i2 <span class="k3">&gt;</span><span class="k3">=</span> GRID_WIDTH<span class="k2">)</span> </td></tr><tr><td class="number">29</td><td>      <span class="k2">{</span>       </td></tr><tr><td class="number">30</td><td>       k2<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>       i2 <span class="k3">=</span> the_dialog<span class="k2">[</span><span class="n">5</span><span class="k2">]</span>.d2 <span class="k3">-</span> <span class="k2">(</span>k2 <span class="k3">*</span> <span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">33</td><td>      <span class="k1">return</span> <span class="n">0</span><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>   </td></tr><tr><td class="number">36</td><td><span class="k1">int</span> moverse_slider_y<span class="k2">(</span><span class="k1">void</span> <span class="k3">*</span>dp3, <span class="k1">int</span> d2<span class="k2">)</span></td></tr><tr><td class="number">37</td><td>   <span class="k2">{</span> </td></tr><tr><td class="number">38</td><td>      j2 <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>WORLD_HEIGHT <span class="k3">-</span> l2<span class="k2">)</span> <span class="k3">*</span> <span class="n">24</span><span class="k2">)</span> <span class="k3">-</span> the_dialog<span class="k2">[</span><span class="n">4</span><span class="k2">]</span>.d2<span class="k2">;</span></td></tr><tr><td class="number">39</td><td>      <span class="k1">if</span><span class="k2">(</span>j2 <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">40</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">41</td><td>            l2--<span class="k2">;</span></td></tr><tr><td class="number">42</td><td>            j2 <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>WORLD_HEIGHT <span class="k3">-</span> l2<span class="k2">)</span> <span class="k3">*</span> <span class="n">24</span><span class="k2">)</span> <span class="k3">-</span> the_dialog<span class="k2">[</span><span class="n">4</span><span class="k2">]</span>.d2<span class="k2">;</span>      </td></tr><tr><td class="number">43</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">44</td><td>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>j2 <span class="k3">&gt;</span><span class="k3">=</span> GRID_HEIGHT<span class="k2">)</span></td></tr><tr><td class="number">45</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">46</td><td>           l2<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">47</td><td>           j2 <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>WORLD_HEIGHT <span class="k3">-</span> l2<span class="k2">)</span> <span class="k3">*</span> <span class="n">24</span><span class="k2">)</span> <span class="k3">-</span> the_dialog<span class="k2">[</span><span class="n">4</span><span class="k2">]</span>.d2<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="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>      </td></tr><tr><td class="number">51</td><td>   <span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jaime barrachina)</author>
		<pubDate>Sat, 18 Mar 2006 16:21:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
<a href="http://publications.gbdirect.co.uk/c_book/chapter5/function_pointers.html">Function Pointers</a><br />&quot;Once you&#39;ve got the pointer, you can assign the address of the right sort of function just by using its name: like an array, a function name is turned into an address when it&#39;s used in an expression.&quot;
</p></div></div><p>
In other words: The &quot;(void*)&quot; piece is wrong, just writing the function name into dp2 should correct the problem that it isn&#39;t called.</p><p>Why is that?<br />Since the function name is already an address, dereferencing that address does not result in a pointer(which IS an address)...and dereferencing to &#39;void&#39; doesn&#39;t seem to make any sense at all.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dennis)</author>
		<pubDate>Sat, 18 Mar 2006 17:03:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>But if I take the (void*) away, it gives the folowing error:</p><p>  Invalid conversion from `int (*)(void*, int)&#39; to `void*&#39; </p><p>Any idea why that is? Txs a bunch for the help. (_ _)</p><p>Edit: Hummm oks now it works, but it does funny things xD like not showing the rest of the interface while using the slidebars xD Well, at least it wors, txs for the help.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jaime barrachina)</author>
		<pubDate>Sat, 18 Mar 2006 17:59:25 +0000</pubDate>
	</item>
</rss>
