<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Menu Drawing is Tweaking Out! MEDIC!!</title>
		<link>http://www.allegro.cc/forums/view/590019</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 12 Feb 2007 04:57:33 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m writing a bit of code to handle drawing windows in a menu system for a RPG. So far everything works but I&#39;m having a slight problem.</p><p>I can draw two windows no problem. When I go to draw the third window, the background of the window overflows off the bottom of the screen and for the life of me, I can&#39; figure out why the heck it&#39;s doing that. I&#39;m not sure if it&#39;s in the function I&#39;m using to draw the window or not.</p><p>Here&#39;s the function:</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> drawMenuRect<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>target, <span class="k1">int</span> x1, <span class="k1">int</span> y1, <span class="k1">int</span> x2, <span class="k1">int</span> y2<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">2</td><td>    <span class="c">//variable declarations</span></td></tr><tr><td class="number">3</td><td>    <span class="k1">int</span> borderCounter <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">4</td><td>    <span class="k1">int</span> innerCounter <span class="k3">=</span> <span class="n">6</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td>    <span class="k1">int</span> red <span class="k3">=</span> <span class="n">205</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>    <span class="k1">int</span> green <span class="k3">=</span> <span class="n">205</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>    <span class="k1">int</span> blue <span class="k3">=</span> <span class="n">205</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td>    <span class="c">//acquire the bitmap to draw on to optimize speed</span></td></tr><tr><td class="number">10</td><td>    <a href="http://www.allegro.cc/manual/acquire_bitmap" target="_blank"><span class="a">acquire_bitmap</span></a><span class="k2">(</span>target<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td>    <span class="c">//draw the outer border rectangle to start with</span></td></tr><tr><td class="number">13</td><td>    <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span>target, x1, y1, x2, y2, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td>    <span class="c">//finish the border</span></td></tr><tr><td class="number">16</td><td>    <span class="k1">while</span><span class="k2">(</span>borderCounter <span class="k3">&lt;</span> <span class="n">6</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">17</td><td>        <span class="c">//draw a rectangle with the current values</span></td></tr><tr><td class="number">18</td><td>        <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">(</span>target, x1 <span class="k3">+</span> borderCounter, y1 <span class="k3">+</span> borderCounter, x2 <span class="k3">-</span> borderCounter, y2 <span class="k3">-</span> borderCounter, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span>red, green, blue<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>&#160;</td></tr><tr><td class="number">20</td><td>        <span class="c">//increment borderCounter;</span></td></tr><tr><td class="number">21</td><td>        borderCounter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>        <span class="c">//decrease the col color values (3D effect)</span></td></tr><tr><td class="number">24</td><td>        red <span class="k3">-</span><span class="k3">=</span> <span class="n">25</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>        green <span class="k3">-</span><span class="k3">=</span> <span class="n">25</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>        blue <span class="k3">-</span><span class="k3">=</span> <span class="n">25</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>&#160;</td></tr><tr><td class="number">29</td><td>    <span class="c">//reset the color values to draw the inside of the window</span></td></tr><tr><td class="number">30</td><td>    red <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>    green <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>    blue <span class="k3">=</span> <span class="n">255</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>&#160;</td></tr><tr><td class="number">34</td><td>    <span class="c">//draw the color for the windows</span></td></tr><tr><td class="number">35</td><td>    <span class="k1">while</span><span class="k2">(</span>innerCounter <span class="k3">&lt;</span><span class="k3">=</span> y2 <span class="k3">-</span> <span class="n">15</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">36</td><td>        <span class="c">//draw a line of color</span></td></tr><tr><td class="number">37</td><td>        <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>target, x1 <span class="k3">+</span> <span class="n">6</span>, y1 <span class="k3">+</span> innerCounter, x2 <span class="k3">-</span> <span class="n">6</span>, y1 <span class="k3">+</span> innerCounter, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span>red, green, blue<span class="k2">)</span><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>        <span class="c">//increment innerCounter</span></td></tr><tr><td class="number">40</td><td>        innerCounter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">41</td><td>&#160;</td></tr><tr><td class="number">42</td><td>        <span class="c">//decrement the value of blue</span></td></tr><tr><td class="number">43</td><td>        blue <span class="k3">-</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td>&#160;</td></tr><tr><td class="number">45</td><td>        <span class="c">//make sure that if blue reaches zero, make sure it stays zero</span></td></tr><tr><td class="number">46</td><td>        <span class="k1">if</span><span class="k2">(</span>blue <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">47</td><td>            blue <span class="k3">=</span> <span class="n">0</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>&#160;</td></tr><tr><td class="number">50</td><td>    <span class="c">//release the bitmap</span></td></tr><tr><td class="number">51</td><td>    <a href="http://www.allegro.cc/manual/release_bitmap" target="_blank"><span class="a">release_bitmap</span></a><span class="k2">(</span>target<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">52</td><td><span class="k2">}</span><a href="http://www.allegro.cc/manual/END_OF_FUNCTION" target="_blank"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>drawMenuRect<span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>

Thanks in advance for any help.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (xmltorrent)</author>
		<pubDate>Sun, 11 Feb 2007 22:32:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You should post the code that calls your drawing routine and a screenshot of the windows being drawn. &quot;background of the window overflows off the bottom of the screen&quot; could mean a lot of different things.</p><p>--- Kris Asick (Gemini)<br />--- <a href="http://www.pixelships.com">http://www.pixelships.com</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Mon, 12 Feb 2007 04:57:33 +0000</pubDate>
	</item>
</rss>
