<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Windows 8 setup for Windows, Windows phone and Android Development</title>
		<link>http://www.allegro.cc/forums/view/612434</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 18 Apr 2013 04:44:40 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I went out and bought a Windows 8 computer since I couldn&#39;t get Allegro 5 to build for Android with sound from Linux (pure allegro worked fine on it though). </p><p>1] Can someone please provide a tutorial that explains how to get the computer setup to develop for Android and Win8-apps under Win8. I haven&#39;t really used Windows since XP was still rather new so bare with me if I missed something introduced in XPsp3, Vista or 7. Is this still the best link?<br /><a href="http://wiki.allegro.cc/index.php?title=Windows_Vista,_Code::Blocks_10.05_and_Allegro_5">http://wiki.allegro.cc/index.php?title=Windows_Vista,_Code::Blocks_10.05_and_Allegro_5</a></p><p>2] Also, I guess I would be using Code::Blocks or Eclipse right? Or should I install Cygwin first (never really got that working before)? </p><p>3] Will I need a separate install to build for those two targets, or is there a nice way of making them both work well? </p><p>4] I would also like to be able to build both Static AND dynamic binaries - what do I need to know for that?</p><p>Edit: <br />Really my ONLY objective is to get this to work:
</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">#define _USESOUND_ 1</span>
<span class="number">   2</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_android.h&gt; /* al_android_set_apk_file_interface */</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="p">#if _USESOUND_ == 1</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">  11</span><span class="p">#endif</span>
<span class="number">  12</span>
<span class="number">  13</span>ALLEGRO_DEBUG_CHANNEL<span class="k2">(</span><span class="s">"main"</span><span class="k2">)</span>
<span class="number">  14</span>
<span class="number">  15</span><span class="p">#define MAX_TOUCH 10</span>
<span class="number">  16</span>
<span class="number">  17</span><span class="k1">struct</span> touch <span class="k2">{</span>
<span class="number">  18</span>   <span class="k1">bool</span> down<span class="k2">;</span>
<span class="number">  19</span>   <span class="k1">double</span> x, y<span class="k2">;</span>
<span class="number">  20</span><span class="k2">}</span> touch<span class="k2">[</span>MAX_TOUCH<span class="k2">]</span><span class="k2">;</span>
<span class="number">  21</span>
<span class="number">  22</span><span class="c">/* debugging */</span>
<span class="number">  23</span><span class="p">#define print_standard_path(std)                           \</span>
<span class="number">  24</span><span class="p">   do {                                                    \ </span>
<span class="number">  25</span><span class="p">      ALLEGRO_PATH *path = al_get_standard_path(std);      \ </span>
<span class="number">  26</span><span class="p">      ALLEGRO_DEBUG(#std ": %s", al_path_cstr(path, '/')); \ </span>
<span class="number">  27</span><span class="p">   } while (0) </span>
<span class="number">  28</span>
<span class="number">  29</span><span class="k1">static</span> <span class="k1">void</span> print_standard_paths<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  30</span><span class="k2">{</span>
<span class="number">  31</span>   print_standard_path<span class="k2">(</span>ALLEGRO_RESOURCES_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>   print_standard_path<span class="k2">(</span>ALLEGRO_TEMP_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_DATA_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_HOME_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_SETTINGS_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_DOCUMENTS_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>   print_standard_path<span class="k2">(</span>ALLEGRO_EXENAME_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span><span class="k2">}</span>
<span class="number">  39</span>
<span class="number">  40</span><span class="k1">static</span> <span class="k1">void</span> set_transform<span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>dpy<span class="k2">)</span>
<span class="number">  41</span><span class="k2">{</span>
<span class="number">  42</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> t<span class="k2">;</span>
<span class="number">  43</span>   <span class="k1">int</span> w <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>   <span class="k1">int</span> h <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>
<span class="number">  46</span>   <span class="c">// XXX we shouldn't need this in user code</span>
<span class="number">  47</span>   <span class="c">// glViewport(0, 0, w, h);</span>
<span class="number">  48</span>
<span class="number">  49</span>   <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>   al_ortho_transform<span class="k2">(</span><span class="k3">&amp;</span>t, <span class="n">0</span>, w, h, <span class="n">0</span>, <span class="k3">-</span><span class="n">1</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  51</span>   al_set_projection_transform<span class="k2">(</span>dpy, <span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span><span class="k2">}</span>
<span class="number">  53</span>
<span class="number">  54</span><span class="k1">static</span> <span class="k1">void</span> draw_touches<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  55</span><span class="k2">{</span>
<span class="number">  56</span>   <span class="k1">int</span> i<span class="k2">;</span>
<span class="number">  57</span>
<span class="number">  58</span>   <span class="k1">for</span> <span class="k2">(</span>i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> MAX_TOUCH<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  59</span>      <span class="k1">if</span> <span class="k2">(</span>touch<span class="k2">[</span>i<span class="k2">]</span>.down<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  60</span>         <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span>
<span class="number">  61</span>            touch<span class="k2">[</span>i<span class="k2">]</span>.x-40, touch<span class="k2">[</span>i<span class="k2">]</span>.y-40,
<span class="number">  62</span>            touch<span class="k2">[</span>i<span class="k2">]</span>.x<span class="k3">+</span><span class="n">40</span>, touch<span class="k2">[</span>i<span class="k2">]</span>.y<span class="k3">+</span><span class="n">40</span>,
<span class="number">  63</span>            <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">100</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span>, <span class="n">40</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span>, <span class="n">40</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span>      <span class="k2">}</span>
<span class="number">  65</span>   <span class="k2">}</span>
<span class="number">  66</span><span class="k2">}</span>
<span class="number">  67</span>
<span class="number">  68</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">)</span>
<span class="number">  69</span><span class="k2">{</span>
<span class="number">  70</span>   
<span class="number">  71</span><span class="p">#if _USESOUND_ == 1   </span>
<span class="number">  72</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>sample<span class="k3">=</span>NULL<span class="k2">;</span>
<span class="number">  73</span><span class="p">#endif   </span>
<span class="number">  74</span>   
<span class="number">  75</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>dpy<span class="k2">;</span>
<span class="number">  76</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>queue<span class="k2">;</span>
<span class="number">  77</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  78</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer<span class="k2">;</span>
<span class="number">  79</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image<span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</span>   <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> argc<span class="k2">;</span>
<span class="number">  82</span>   <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> argv<span class="k2">;</span>
<span class="number">  83</span>
<span class="number">  84</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init allegro!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  86</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  87</span>   <span class="k2">}</span>
<span class="number">  88</span>
<span class="number">  89</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init primitives"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>   <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>
<span class="number">  92</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>   <a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>
<span class="number">  95</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init touch input"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>   al_install_touch_input<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>
<span class="number">  98</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</span>   <a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 100</span>
<span class="number"> 101</span><span class="p">#if _USESOUND_ == 1</span>
<span class="number"> 102</span>
<span class="number"> 103</span>  ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init audio"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 104</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 105</span>     ALLEGRO_ERROR<span class="k2">(</span><span class="s">"failed to initialize audio!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 106</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 107</span>   <span class="k2">}</span>
<span class="number"> 108</span> 
<span class="number"> 109</span>  ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init acodec"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 110</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_acodec_addon"><span class="a">al_init_acodec_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 111</span>      ALLEGRO_ERROR<span class="k2">(</span><span class="s">"Failed to initialize audio codecs!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 113</span>   <span class="k2">}</span>
<span class="number"> 114</span> 
<span class="number"> 115</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_reserve_samples"><span class="a">al_reserve_samples</span></a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 116</span>      ALLEGRO_ERROR<span class="k2">(</span><span class="s">"failed to reserve samples!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 118</span>   <span class="k2">}</span>
<span class="number"> 119</span> 
<span class="number"> 120</span>   sample <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span> <span class="s">"sinewave_onecycle.wav"</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 121</span> 
<span class="number"> 122</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>sample<span class="k2">)</span><span class="k2">{</span>
<span class="number"> 123</span>     ALLEGRO_ERROR<span class="k2">(</span><span class="s">"Audio clip sample not loaded!\n"</span> <span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 124</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 125</span>   <span class="k2">}</span>   
<span class="number"> 126</span>
<span class="number"> 127</span><span class="p">#endif</span>
<span class="number"> 128</span>
<span class="number"> 129</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"creating display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 130</span>   dpy <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><span class="n">800</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>dpy<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 132</span>      ALLEGRO_ERROR<span class="k2">(</span><span class="s">"failed to create display!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 134</span>   <span class="k2">}</span>
<span class="number"> 135</span>
<span class="number"> 136</span>   print_standard_paths<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>
<span class="number"> 138</span>   <span class="c">/* This is loaded from assets in the apk. */</span>
<span class="number"> 139</span>   al_android_set_apk_file_interface<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>   image <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">"alexlogo.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>image<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 142</span>      ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"failed to load alexlogo.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 143</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 144</span>   <span class="k2">}</span>
<span class="number"> 145</span>   <a href="http://www.allegro.cc/manual/al_set_standard_file_interface"><span class="a">al_set_standard_file_interface</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 146</span>
<span class="number"> 147</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>image, <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"> 148</span>
<span class="number"> 149</span>   queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 150</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 151</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, al_get_touch_input_event_source<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 152</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 153</span>
<span class="number"> 154</span>   timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span><span class="k3">/</span><span class="n">60</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 155</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 156</span>   <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 157</span>
<span class="number"> 158</span>   <span class="k1">bool</span> draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 159</span>   <span class="k1">bool</span> running <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 160</span>   <span class="k1">bool</span> paused <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 161</span>   <span class="k1">int</span> count <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 162</span>   
<span class="number"> 163</span><span class="p">#if _USESOUND_ == 1</span>
<span class="number"> 164</span>
<span class="number"> 165</span>   <span class="c">/* Loop the sample until the display closes. */</span>
<span class="number"> 166</span>   <a href="http://www.allegro.cc/manual/al_play_sample"><span class="a">al_play_sample</span></a><span class="k2">(</span>sample, <span class="n">1</span>.<span class="n">0</span>, <span class="n">0</span>.<span class="n">0</span>,<span class="n">1</span>.<span class="n">0</span>,ALLEGRO_PLAYMODE_LOOP,NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 167</span> 
<span class="number"> 168</span>   <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">10</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 169</span>
<span class="number"> 170</span><span class="p">#endif      </span>
<span class="number"> 171</span>   
<span class="number"> 172</span>   
<span class="number"> 173</span>   <span class="k1">while</span> <span class="k2">(</span>running<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 174</span>      <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 175</span>
<span class="number"> 176</span>      <span class="k1">switch</span> <span class="k2">(</span>event.type<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 177</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_BEGIN:
<span class="number"> 178</span>            <span class="c">//ALLEGRO_DEBUG("touch %i begin", event.touch.id);</span>
<span class="number"> 179</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.down <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 180</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> event.touch.x<span class="k2">;</span>
<span class="number"> 181</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> event.touch.y<span class="k2">;</span>
<span class="number"> 182</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 183</span>
<span class="number"> 184</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_END:
<span class="number"> 185</span>            <span class="c">//ALLEGRO_DEBUG("touch %i end", event.touch.id);</span>
<span class="number"> 186</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.down <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 187</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number"> 188</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number"> 189</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 190</span>
<span class="number"> 191</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_MOVE:
<span class="number"> 192</span>            <span class="c">//ALLEGRO_DEBUG("touch %i move: %fx%f", event.touch.id, event.touch.x, event.touch.y);</span>
<span class="number"> 193</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> event.touch.x<span class="k2">;</span>
<span class="number"> 194</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> event.touch.y<span class="k2">;</span>
<span class="number"> 195</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 196</span>
<span class="number"> 197</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_CANCEL:
<span class="number"> 198</span>            <span class="c">//ALLEGRO_DEBUG("touch %i canceled", event.touch.id);</span>
<span class="number"> 199</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 200</span>
<span class="number"> 201</span>         <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number"> 202</span>            <span class="k1">if</span> <span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACK<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 203</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"back key pressed, exit!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 204</span>               running <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 205</span>            <span class="k2">}</span>
<span class="number"> 206</span>            <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 207</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"%i key pressed"</span>, event.keyboard.keycode<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 208</span>            <span class="k2">}</span>
<span class="number"> 209</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 210</span>
<span class="number"> 211</span>         <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 212</span>            draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 213</span>            <span class="k1">if</span> <span class="k2">(</span>count <span class="k3">=</span><span class="k3">=</span> <span class="n">60</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 214</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"tick"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 215</span>               count <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 216</span>            <span class="k2">}</span>
<span class="number"> 217</span>            count<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 218</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 219</span>
<span class="number"> 220</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 221</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"display close"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 222</span>            running <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 223</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 224</span>
<span class="number"> 225</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_HALT_DRAWING:
<span class="number"> 226</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"halt drawing"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 227</span>            <span class="c">// Stop the timer so we don't run at all while our display isn't</span>
<span class="number"> 228</span>            <span class="c">// active.</span>
<span class="number"> 229</span>            <a href="http://www.allegro.cc/manual/al_stop_timer"><span class="a">al_stop_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 230</span>            <span class="c">//al_set_target_backbuffer(0);</span>
<span class="number"> 231</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"after set target"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 232</span>            paused <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 233</span>            draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 234</span>            al_acknowledge_drawing_halt<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 235</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 236</span>
<span class="number"> 237</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESUME_DRAWING:
<span class="number"> 238</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"resume drawing"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 239</span>
<span class="number"> 240</span>            al_acknowledge_drawing_resume<span class="k2">(</span>dpy, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 241</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done waiting for surface recreated"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 242</span>
<span class="number"> 243</span>            <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 244</span>            <span class="c">//al_set_target_backbuffer(dpy);</span>
<span class="number"> 245</span>            <span class="c">//_al_android_setup_opengl_view(dpy);</span>
<span class="number"> 246</span>            paused <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 247</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 248</span>
<span class="number"> 249</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESIZE:
<span class="number"> 250</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"display resize"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 251</span>            <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 252</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done resize"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 253</span>            set_transform<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 254</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 255</span>
<span class="number"> 256</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_ORIENTATION:
<span class="number"> 257</span>            set_transform<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 258</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 259</span>      <span class="k2">}</span>
<span class="number"> 260</span>
<span class="number"> 261</span>      <span class="k1">if</span> <span class="k2">(</span>draw <span class="k3">&amp;</span><span class="k3">&amp;</span> al_event_queue_is_empty<span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 262</span>         draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 263</span>         <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><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">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 264</span>         <span class="k1">if</span> <span class="k2">(</span>image<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 265</span>            <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>image,
<span class="number"> 266</span>               <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> <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>image<span class="k2">)</span><span class="k3">/</span><span class="n">2</span>,
<span class="number"> 267</span>               <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> <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>image<span class="k2">)</span><span class="k3">/</span><span class="n">2</span>,
<span class="number"> 268</span>               <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 269</span>         <span class="k2">}</span>
<span class="number"> 270</span>         draw_touches<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 271</span>         <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 272</span>      <span class="k2">}</span>
<span class="number"> 273</span>   <span class="k2">}</span>
<span class="number"> 274</span><span class="p">#if _USESOUND_ == 1</span>
<span class="number"> 275</span>   <a href="http://www.allegro.cc/manual/al_destroy_sample"><span class="a">al_destroy_sample</span></a><span class="k2">(</span>sample<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 276</span><span class="p">#endif </span>
<span class="number"> 277</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 278</span>   <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 279</span><span class="k2">}</span>
<span class="number"> 280</span>
<span class="number"> 281</span><span class="c">/* vim: set sts=3 sw=3 et: */</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (alehbeer)</author>
		<pubDate>Thu, 18 Apr 2013 04:44:40 +0000</pubDate>
	</item>
</rss>
