<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Nine Patch - Drawing issue</title>
		<link>http://www.allegro.cc/forums/view/610761</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 07 Aug 2012 13:27:04 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello,</p><p>I&#39;m trying to create a nine patch drawer and am having troubles. The problem is with using <span class="source-code"><a href="http://www.allegro.cc/manual/al_draw_scaled_bitmap"><span class="a">al_draw_scaled_bitmap</span></a></span>. I am scaling a 1 px wide section of a bitmap and there is bleed over.</p><p><span class="remote-thumbnail"><span class="json">{"name":"606365","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/d\/ad6025472b156cc8f3b7f66bfae959ce.png","w":440,"h":220,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/d\/ad6025472b156cc8f3b7f66bfae959ce"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/a/d/ad6025472b156cc8f3b7f66bfae959ce-240.jpg" alt="606365" width="240" height="120" /></span></p><p>The box on the left is what is being drawn. The box on the right is what is supposed to happen. If the bitmap&#39;s scalable area &gt; 1 then there is no issue.</p><p>I attached &#39;button.bmp&#39;</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>button <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span> <span class="s">"button.bmp"</span> <span class="k2">)</span>
dNinePatchBitmap <span class="k3">*</span>nine <span class="k3">=</span> dNinePatchBitmap::create<span class="k2">(</span> button <span class="k2">)</span><span class="k2">;</span>

nine-&gt;draw<span class="k2">(</span> <span class="n">200</span>, <span class="n">100</span>, <span class="n">200</span>, <span class="n">200</span> <span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

dNinePatchBitmap.h
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="p">#ifndef _D_NINEPATCHBITMAP_H</span>
<span class="number">  2</span><span class="p">#define _D_NINEPATCHBITMAP_H</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  5</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">  6</span>
<span class="number">  7</span><span class="k1">class</span> dNinePatchBitmap
<span class="number">  8</span><span class="k2">{</span>
<span class="number">  9</span>public:
<span class="number"> 10</span>  <span class="k1">static</span> dNinePatchBitmap<span class="k3">*</span> create<span class="k2">(</span> <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>bitmap, <span class="k1">int</span> x1 <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span>, <span class="k1">int</span> y1 <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span>, <span class="k1">int</span> x2 <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span>, <span class="k1">int</span> y2 <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>  ~dNinePatchBitmap<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>  <span class="k1">void</span> draw<span class="k2">(</span> <span class="k1">int</span> x, <span class="k1">int</span> y, <span class="k1">int</span> w, <span class="k1">int</span> h <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>
<span class="number"> 14</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>mBitmap<span class="k2">;</span>
<span class="number"> 15</span>
<span class="number"> 16</span>  <span class="k1">int</span> mWidth<span class="k2">;</span>
<span class="number"> 17</span>  <span class="k1">int</span> mHeight<span class="k2">;</span>
<span class="number"> 18</span>  <span class="k1">int</span> mStartX1<span class="k2">;</span>
<span class="number"> 19</span>  <span class="k1">int</span> mStartX2<span class="k2">;</span>
<span class="number"> 20</span>  <span class="k1">int</span> mStartY1<span class="k2">;</span>
<span class="number"> 21</span>  <span class="k1">int</span> mStartY2<span class="k2">;</span>
<span class="number"> 22</span>
<span class="number"> 23</span>private:
<span class="number"> 24</span>  dNinePatchBitmap<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 26</span>
<span class="number"> 27</span><span class="p">#endif</span>
</div></div><p>

dNinePatchBitmap.cpp
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="p">#include "dNinePatchBitmap.h"</span>
<span class="number">   2</span>
<span class="number">   3</span>dNinePatchBitmap::dNinePatchBitmap<span class="k2">(</span><span class="k2">)</span>
<span class="number">   4</span><span class="k2">{</span>
<span class="number">   5</span>  this-&gt;mBitmap <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">   6</span>  this-&gt;mWidth <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">   7</span>  this-&gt;mHeight <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">   8</span>  this-&gt;mStartX1 <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">   9</span>  this-&gt;mStartX2 <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  10</span>  this-&gt;mStartY1 <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  11</span>  this-&gt;mStartY2 <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  12</span><span class="k2">}</span>
<span class="number">  13</span>
<span class="number">  14</span>dNinePatchBitmap::~dNinePatchBitmap<span class="k2">(</span><span class="k2">)</span>
<span class="number">  15</span><span class="k2">{</span>
<span class="number">  16</span>  <span class="k1">if</span> <span class="k2">(</span> this-&gt;mBitmap <span class="k2">)</span>
<span class="number">  17</span>  <span class="k2">{</span>
<span class="number">  18</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span> this-&gt;mBitmap <span class="k2">)</span><span class="k2">;</span>
<span class="number">  19</span>  <span class="k2">}</span>
<span class="number">  20</span><span class="k2">}</span>
<span class="number">  21</span>
<span class="number">  22</span>dNinePatchBitmap<span class="k3">*</span> dNinePatchBitmap::create<span class="k2">(</span> <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>bitmap, <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="number">  23</span><span class="k2">{</span>
<span class="number">  24</span>  dNinePatchBitmap<span class="k3">*</span> ninePatch <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  25</span>
<span class="number">  26</span>  <span class="k1">if</span> <span class="k2">(</span> bitmap <span class="k2">)</span>
<span class="number">  27</span>  <span class="k2">{</span>
<span class="number">  28</span>    <span class="k1">if</span> <span class="k2">(</span> x1 <span class="k3">=</span><span class="k3">=</span> <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span> <span class="k2">{</span> x1 <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> <span class="k2">}</span><span class="k2">;</span>
<span class="number">  29</span>    <span class="k1">if</span> <span class="k2">(</span> y1 <span class="k3">=</span><span class="k3">=</span> <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span> <span class="k2">{</span> y1 <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> <span class="k2">}</span><span class="k2">;</span>
<span class="number">  30</span>    <span class="k1">if</span> <span class="k2">(</span> x2 <span class="k3">=</span><span class="k3">=</span> <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span> <span class="k2">{</span> x2 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_width"><span class="a">al_get_bitmap_width</span></a><span class="k2">(</span> bitmap <span class="k2">)</span> <span class="k3">-</span> <span class="n">1</span><span class="k2">;</span> <span class="k2">}</span><span class="k2">;</span>
<span class="number">  31</span>    <span class="k1">if</span> <span class="k2">(</span> y2 <span class="k3">=</span><span class="k3">=</span> <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span> <span class="k2">{</span> y2 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_height"><span class="a">al_get_bitmap_height</span></a><span class="k2">(</span> bitmap <span class="k2">)</span> <span class="k3">-</span> <span class="n">1</span><span class="k2">;</span> <span class="k2">}</span><span class="k2">;</span>
<span class="number">  32</span>
<span class="number">  33</span>    ninePatch <span class="k3">=</span> <span class="k1">new</span> dNinePatchBitmap<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>
<span class="number">  35</span>    <span class="k1">if</span> <span class="k2">(</span> ninePatch <span class="k2">)</span>
<span class="number">  36</span>    <span class="k2">{</span>
<span class="number">  37</span>      ninePatch-&gt;mWidth <span class="k3">=</span> <span class="k2">(</span> x2 <span class="k3">-</span> x1 <span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>      ninePatch-&gt;mHeight <span class="k3">=</span> <span class="k2">(</span> y2 <span class="k3">-</span> y1 <span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span>      ninePatch-&gt;mBitmap <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span> ninePatch-&gt;mWidth, ninePatch-&gt;mHeight <span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>
<span class="number">  41</span>      <span class="k1">if</span> <span class="k2">(</span> ninePatch-&gt;mBitmap <span class="k2">)</span>
<span class="number">  42</span>      <span class="k2">{</span>
<span class="number">  43</span>        <span class="k1">unsigned</span> <span class="k1">char</span> r <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  44</span>        <span class="k1">unsigned</span> <span class="k1">char</span> g <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  45</span>        <span class="k1">unsigned</span> <span class="k1">char</span> b <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  46</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>target <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_target_bitmap"><span class="a">al_get_target_bitmap</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  47</span>
<span class="number">  48</span>        <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span> ninePatch-&gt;mBitmap <span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>
<span class="number">  50</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span> bitmap, x1 <span class="k3">+</span> <span class="n">1</span>, y1 <span class="k3">+</span> <span class="n">1</span>, ninePatch-&gt;mWidth, ninePatch-&gt;mHeight, <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="number">  51</span>
<span class="number">  52</span>        <a href="http://www.allegro.cc/manual/al_lock_bitmap"><span class="a">al_lock_bitmap</span></a><span class="k2">(</span> ninePatch-&gt;mBitmap, ALLEGRO_PIXEL_FORMAT_ANY, ALLEGRO_LOCK_READONLY <span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>
<span class="number">  54</span>        <span class="k1">for</span> <span class="k2">(</span> <span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span><span class="k3">=</span> ninePatch-&gt;mWidth<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span>
<span class="number">  55</span>        <span class="k2">{</span>
<span class="number">  56</span>          <a href="http://www.allegro.cc/manual/al_unmap_rgb"><span class="a">al_unmap_rgb</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/al_get_pixel"><span class="a">al_get_pixel</span></a><span class="k2">(</span> bitmap, x1 <span class="k3">+</span> i, <span class="n">0</span> <span class="k2">)</span>, <span class="k3">&amp;</span>r, <span class="k3">&amp;</span>g, <span class="k3">&amp;</span>b <span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>
<span class="number">  58</span>          <span class="k1">if</span> <span class="k2">(</span> r <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> g <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> b <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k2">)</span>
<span class="number">  59</span>          <span class="k2">{</span>
<span class="number">  60</span>            ninePatch-&gt;mStartX1 <span class="k3">=</span> i <span class="k3">-</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  61</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  62</span>          <span class="k2">}</span>
<span class="number">  63</span>        <span class="k2">}</span>
<span class="number">  64</span>
<span class="number">  65</span>        <span class="k1">for</span> <span class="k2">(</span> <span class="k1">int</span> i <span class="k3">=</span> ninePatch-&gt;mStartX1 <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span> i <span class="k3">&lt;</span><span class="k3">=</span> ninePatch-&gt;mWidth<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span>
<span class="number">  66</span>        <span class="k2">{</span>
<span class="number">  67</span>          <a href="http://www.allegro.cc/manual/al_unmap_rgb"><span class="a">al_unmap_rgb</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/al_get_pixel"><span class="a">al_get_pixel</span></a><span class="k2">(</span> bitmap, x1 <span class="k3">+</span> i, <span class="n">0</span> <span class="k2">)</span>, <span class="k3">&amp;</span>r, <span class="k3">&amp;</span>g, <span class="k3">&amp;</span>b <span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>
<span class="number">  69</span>          <span class="k1">if</span> <span class="k2">(</span> <span class="k3">!</span><span class="k2">(</span> r <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> g <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> b <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k2">)</span> <span class="k2">)</span>
<span class="number">  70</span>          <span class="k2">{</span>
<span class="number">  71</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  72</span>          <span class="k2">}</span>
<span class="number">  73</span>
<span class="number">  74</span>          ninePatch-&gt;mStartX2 <span class="k3">=</span> i<span class="k2">;</span>
<span class="number">  75</span>        <span class="k2">}</span>
<span class="number">  76</span>
<span class="number">  77</span>        <span class="k1">for</span> <span class="k2">(</span> <span class="k1">int</span> j <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> j <span class="k3">&lt;</span><span class="k3">=</span> ninePatch-&gt;mHeight<span class="k2">;</span> j<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span>
<span class="number">  78</span>        <span class="k2">{</span>
<span class="number">  79</span>          <a href="http://www.allegro.cc/manual/al_unmap_rgb"><span class="a">al_unmap_rgb</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/al_get_pixel"><span class="a">al_get_pixel</span></a><span class="k2">(</span> bitmap, <span class="n">0</span>, y1 <span class="k3">+</span> j <span class="k2">)</span>, <span class="k3">&amp;</span>r, <span class="k3">&amp;</span>g, <span class="k3">&amp;</span>b <span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</span>          <span class="k1">if</span> <span class="k2">(</span> r <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> g <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> b <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k2">)</span>
<span class="number">  82</span>          <span class="k2">{</span>
<span class="number">  83</span>            ninePatch-&gt;mStartY1 <span class="k3">=</span> j <span class="k3">-</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  84</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  85</span>          <span class="k2">}</span>
<span class="number">  86</span>        <span class="k2">}</span>
<span class="number">  87</span>
<span class="number">  88</span>        <span class="k1">for</span> <span class="k2">(</span> <span class="k1">int</span> j <span class="k3">=</span> ninePatch-&gt;mStartY1 <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span> j <span class="k3">&lt;</span><span class="k3">=</span> ninePatch-&gt;mHeight<span class="k2">;</span> j<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span>
<span class="number">  89</span>        <span class="k2">{</span>
<span class="number">  90</span>          <a href="http://www.allegro.cc/manual/al_unmap_rgb"><span class="a">al_unmap_rgb</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/al_get_pixel"><span class="a">al_get_pixel</span></a><span class="k2">(</span> bitmap, <span class="n">0</span>, y1 <span class="k3">+</span> j <span class="k2">)</span>, <span class="k3">&amp;</span>r, <span class="k3">&amp;</span>g, <span class="k3">&amp;</span>b <span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>
<span class="number">  92</span>          <span class="k1">if</span> <span class="k2">(</span> <span class="k3">!</span><span class="k2">(</span> r <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> g <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> b <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k2">)</span> <span class="k2">)</span>
<span class="number">  93</span>          <span class="k2">{</span>
<span class="number">  94</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  95</span>          <span class="k2">}</span>
<span class="number">  96</span>
<span class="number">  97</span>          ninePatch-&gt;mStartY2 <span class="k3">=</span> j<span class="k2">;</span>
<span class="number">  98</span>        <span class="k2">}</span>
<span class="number">  99</span>
<span class="number"> 100</span>        <a href="http://www.allegro.cc/manual/al_unlock_bitmap"><span class="a">al_unlock_bitmap</span></a><span class="k2">(</span> ninePatch-&gt;mBitmap <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 101</span>
<span class="number"> 102</span>        
<span class="number"> 103</span>        <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span> ninePatch-&gt;mBitmap, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span> <span class="n">255</span>, <span class="n">0</span>, <span class="n">255</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 104</span>
<span class="number"> 105</span>        <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span> target <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 106</span>      <span class="k2">}</span>
<span class="number"> 107</span>      <span class="k1">else</span>
<span class="number"> 108</span>      <span class="k2">{</span>
<span class="number"> 109</span>        <span class="k1">delete</span> ninePatch<span class="k2">;</span>
<span class="number"> 110</span>      <span class="k2">}</span>
<span class="number"> 111</span>    <span class="k2">}</span>
<span class="number"> 112</span>  <span class="k2">}</span>
<span class="number"> 113</span>
<span class="number"> 114</span>  <span class="k1">return</span> ninePatch<span class="k2">;</span>
<span class="number"> 115</span><span class="k2">}</span>
<span class="number"> 116</span>
<span class="number"> 117</span><span class="k1">void</span> dNinePatchBitmap::draw<span class="k2">(</span> <span class="k1">int</span> x, <span class="k1">int</span> y, <span class="k1">int</span> w, <span class="k1">int</span> h <span class="k2">)</span>
<span class="number"> 118</span><span class="k2">{</span>
<span class="number"> 119</span><span class="c">//          s         e</span>
<span class="number"> 120</span><span class="c">//  ........----------.......</span>
<span class="number"> 121</span><span class="c">//  0123456789012345678901234</span>
<span class="number"> 122</span><span class="c">//  1       2         3     </span>
<span class="number"> 123</span>
<span class="number"> 124</span>  <span class="k1">int</span> x1 <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 125</span>  <span class="k1">int</span> x2 <span class="k3">=</span> this-&gt;mStartX1<span class="k2">;</span>
<span class="number"> 126</span>  <span class="k1">int</span> x3 <span class="k3">=</span> this-&gt;mStartX2<span class="k2">;</span>
<span class="number"> 127</span>
<span class="number"> 128</span>  <span class="k1">int</span> y1 <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 129</span>  <span class="k1">int</span> y2 <span class="k3">=</span> this-&gt;mStartY1<span class="k2">;</span>
<span class="number"> 130</span>  <span class="k1">int</span> y3 <span class="k3">=</span> this-&gt;mStartY2<span class="k2">;</span>
<span class="number"> 131</span>
<span class="number"> 132</span>  <span class="k1">int</span> w1 <span class="k3">=</span> <span class="k2">(</span> x2 <span class="k3">-</span> x1 <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>  <span class="k1">int</span> w2 <span class="k3">=</span> <span class="k2">(</span> x3 <span class="k3">-</span> x2 <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</span>  <span class="k1">int</span> w3 <span class="k3">=</span> <span class="k2">(</span> this-&gt;mWidth <span class="k3">-</span> x3 <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>
<span class="number"> 136</span>  <span class="k1">int</span> h1 <span class="k3">=</span> <span class="k2">(</span> y2 <span class="k3">-</span> y1 <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>  <span class="k1">int</span> h2 <span class="k3">=</span> <span class="k2">(</span> y3 <span class="k3">-</span> y2 <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>  <span class="k1">int</span> h3 <span class="k3">=</span> <span class="k2">(</span> this-&gt;mHeight <span class="k3">-</span> y3 <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>
<span class="number"> 140</span>  <span class="k1">int</span> stretchW <span class="k3">=</span> w <span class="k3">-</span> <span class="k2">(</span> w1 <span class="k3">+</span> w3 <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>  <span class="k1">int</span> stretchH <span class="k3">=</span> h <span class="k3">-</span> <span class="k2">(</span> h1 <span class="k3">+</span> h3 <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>
<span class="number"> 143</span>  <span class="c">// upper left</span>
<span class="number"> 144</span>  <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span> this-&gt;mBitmap, x1, y1, w1, h1, x, y, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 145</span>
<span class="number"> 146</span>  <span class="c">// upper right</span>
<span class="number"> 147</span>  <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span> this-&gt;mBitmap, x3, y1, w3, h1, x <span class="k3">+</span> w <span class="k3">-</span> w3, y, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 148</span>
<span class="number"> 149</span>  <span class="c">// lower left</span>
<span class="number"> 150</span>  <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span> this-&gt;mBitmap, x1, y3, w1, h1, x, y <span class="k3">+</span> h <span class="k3">-</span> h3, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 151</span>
<span class="number"> 152</span>  <span class="c">// lower right</span>
<span class="number"> 153</span>  <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span> this-&gt;mBitmap, x3, y3, w3, h1, x <span class="k3">+</span> w <span class="k3">-</span> w3, y <span class="k3">+</span> h <span class="k3">-</span> h3, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 154</span>
<span class="number"> 155</span>  <span class="c">// upper middle</span>
<span class="number"> 156</span>  <a href="http://www.allegro.cc/manual/al_draw_scaled_bitmap"><span class="a">al_draw_scaled_bitmap</span></a><span class="k2">(</span> this-&gt;mBitmap, x2, y1, w2, h1, x <span class="k3">+</span> x2, y, stretchW, h1, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 157</span>
<span class="number"> 158</span>  <span class="c">// middle left</span>
<span class="number"> 159</span>  <a href="http://www.allegro.cc/manual/al_draw_scaled_bitmap"><span class="a">al_draw_scaled_bitmap</span></a><span class="k2">(</span> this-&gt;mBitmap, x1, y2, w1, h2, x, y <span class="k3">+</span> y2, w1, stretchH, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</span>
<span class="number"> 161</span>
<span class="number"> 162</span>  <span class="c">// lower middle</span>
<span class="number"> 163</span>  <a href="http://www.allegro.cc/manual/al_draw_scaled_bitmap"><span class="a">al_draw_scaled_bitmap</span></a><span class="k2">(</span> this-&gt;mBitmap, x2, y3, w2, h3, x <span class="k3">+</span> x2, y <span class="k3">+</span> h <span class="k3">-</span> h3, stretchW, h3, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 164</span>
<span class="number"> 165</span>  <span class="c">// middle right</span>
<span class="number"> 166</span>  <a href="http://www.allegro.cc/manual/al_draw_scaled_bitmap"><span class="a">al_draw_scaled_bitmap</span></a><span class="k2">(</span> this-&gt;mBitmap, x3, y2, w3, h2, x <span class="k3">+</span> w <span class="k3">-</span> w3, y <span class="k3">+</span> y2, w3, stretchH, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 167</span>
<span class="number"> 168</span>  <span class="c">// middle</span>
<span class="number"> 169</span>  <a href="http://www.allegro.cc/manual/al_draw_scaled_bitmap"><span class="a">al_draw_scaled_bitmap</span></a><span class="k2">(</span> this-&gt;mBitmap, x2, y2, w2, h2, x <span class="k3">+</span> x2, y <span class="k3">+</span> y2, stretchW, stretchH, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 170</span><span class="k2">}</span>
</div></div><p>

Any ideas to fix this would be appreciated.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Sat, 04 Aug 2012 19:44:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You could write a C++ class over my <a href="https://github.com/konforce/Allegro-Nine-Patch">C implementation</a>. It supports multiple stretchable areas.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 04 Aug 2012 19:59:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thought you were long gone Daniel <img src="http://www.allegro.cc/forums/smileys/shocked.gif" alt=":o" />.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Specter Phoenix)</author>
		<pubDate>Sat, 04 Aug 2012 20:29:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I was gone. I changed career paths. I just graduated from pharmacy school and am now a pharmacist.</p><p>Now I have a little more free time than I had and am trying to learn Allegro5.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/610761/962086#target">Matthew Leverton</a> said:</div><div class="quote"><p>You could write a C++ class over my C implementation ...</p></div></div><p>
Thank you, I&#39;ll look through it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Mon, 06 Aug 2012 00:12:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hell, whatever you do, you know on day you will be coming back to Allegro ^^
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Tue, 07 Aug 2012 13:27:04 +0000</pubDate>
	</item>
</rss>
