~ubuntu-branches/ubuntu/lucid/gbrainy/lucid

« back to all changes in this revision

Viewing changes to src/Games/Logic/PuzzleLargerShape.cs

  • Committer: Bazaar Package Importer
  • Author(s): Robert Ancell
  • Date: 2010-03-08 11:11:11 UTC
  • mfrom: (13.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20100308111111-pxz008t81zfu1w8q
Tags: 1.40-1ubuntu1
* Update from Debian unstable, remaining changes: (LP: #534113)
* debian/patches/01_lpi.patch:
* debian/patches/99_autoreconf.patch:
* debian/control:
  - Add Launchpad integration

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
 
24
24
using gbrainy.Core.Main;
25
25
using gbrainy.Core.Libraries;
 
26
using gbrainy.Core.Toolkit;
26
27
 
27
28
namespace gbrainy.Games.Logic
28
29
{
153
154
                                        break;
154
155
                                }
155
156
                        }
 
157
 
 
158
                        double x = DrawAreaX, y = DrawAreaY;
 
159
 
 
160
                        // Question
 
161
                        DrawableArea drawable_area;
 
162
                        HorizontalContainer container = new HorizontalContainer (x, y, 0.8, 0.3);
 
163
                        AddWidget (container);
 
164
        
 
165
                        drawable_area = new DrawableArea (container.Width / 2, 0.25);
 
166
                        drawable_area.Sensitive = false;
 
167
                        container.AddChild (drawable_area);
 
168
 
 
169
                        drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
 
170
                        {
 
171
                                DrawSquare (e.Context, 0.15, 0);
 
172
                        };
 
173
 
 
174
                        drawable_area = new DrawableArea (container.Width / 2, 0.25);
 
175
                        drawable_area.Sensitive = false;
 
176
                        container.AddChild (drawable_area);
 
177
 
 
178
                        drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
 
179
                        {
 
180
                                DrawLShape (e.Context, 0.15, 0);
 
181
                        };
 
182
 
 
183
                        // Answers
 
184
                        y += 0.3;
 
185
                        container = new HorizontalContainer (x, y, 0.8, 0.3);
 
186
                        AddWidget (container);
 
187
        
 
188
                        for (int i = 0; i < 2; i++)
 
189
                        {
 
190
                                drawable_area = new DrawableArea (container.Width / 2, 0.25);
 
191
                                drawable_area.Data = i;
 
192
                                drawable_area.DataEx = GetPossibleAnswer (i);
 
193
                                container.AddChild (drawable_area);
 
194
 
 
195
                                drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
 
196
                                {
 
197
                                        int n = (int) e.Data;
 
198
                                        DrawPossibleAnswer (e.Context, 0.12, 0.03, answer, random_indices [n], n);
 
199
 
 
200
                                        e.Context.DrawTextCentered (drawable_area.Width / 2, 0.22, GetPossibleFigureAnswer (n));
 
201
                                        e.Context.Stroke ();
 
202
                                };
 
203
                        }
 
204
        
 
205
                        container = new HorizontalContainer (x, y + 0.3, 0.8, 0.3);
 
206
                        AddWidget (container);
 
207
        
 
208
                        for (int i = 2; i < 4; i++)
 
209
                        {
 
210
                                drawable_area = new DrawableArea (container.Width / 2, 0.25);
 
211
                                drawable_area.Data = i;
 
212
                                drawable_area.DataEx = GetPossibleAnswer (i);
 
213
                                container.AddChild (drawable_area);
 
214
 
 
215
                                drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
 
216
                                {
 
217
                                        int n = (int) e.Data;
 
218
                                        DrawPossibleAnswer (e.Context, 0.12, 0.03, answer, random_indices [n], n);
 
219
 
 
220
                                        e.Context.DrawTextCentered (drawable_area.Width / 2, 0.22, GetPossibleFigureAnswer (n));
 
221
                                        e.Context.Stroke ();
 
222
                                };
 
223
                        }
 
224
 
 
225
 
156
226
                }
157
227
 
158
228
                private Color ColorForPortion (char portion)
224
294
                                        gr.Stroke ();
225
295
                                }
226
296
                        }
227
 
 
228
 
                        gr.MoveTo (x, y + 0.18);
229
 
                        gr.ShowPangoText (GetPossibleFigureAnswer (seq));
230
 
                        gr.Stroke ();
231
297
                }
232
298
 
233
299
                public override void Draw (CairoContextEx gr, int area_width, int area_height, bool rtl)
234
300
                {
235
 
                        double x = DrawAreaX + 0.1, y = DrawAreaY;
236
 
 
237
301
                        base.Draw (gr, area_width, area_height, rtl);
238
 
        
239
 
                        DrawSquare (gr, x, y);
240
 
                        DrawLShape (gr, x + 0.4, y);
241
302
 
242
303
                        gr.MoveTo (0.1, 0.3);
243
304
                        gr.ShowPangoText (Catalog.GetString ("Possible answers are:"));
244
305
                        gr.Stroke ();
245
 
                
246
 
                        DrawPossibleAnswer (gr, x, y + 0.32, answer, random_indices [0], 0);
247
 
                        DrawPossibleAnswer (gr, x + 0.4, y + 0.32, answer, random_indices [1], 1);
248
 
                        DrawPossibleAnswer (gr, x, y + 0.6, answer, random_indices [2], 2);
249
 
                        DrawPossibleAnswer (gr, x + 0.4, y + 0.6, answer, random_indices [3], 3);
250
306
                }
251
307
        }
252
308
}