[longomatch] Redraw highlighted objects on top
- From: Andoni Morales Alastruey <amorales src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [longomatch] Redraw highlighted objects on top
 
- Date: Wed,  8 Oct 2014 00:13:08 +0000 (UTC)
 
commit 50cd1ba4a5f199aa36feeef4aa4ef5f5526b4f9a
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Tue Oct 7 21:13:23 2014 +0200
    Redraw highlighted objects on top
 LongoMatch.Drawing/Canvas.cs |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)
---
diff --git a/LongoMatch.Drawing/Canvas.cs b/LongoMatch.Drawing/Canvas.cs
index da93027..4070bd0 100644
--- a/LongoMatch.Drawing/Canvas.cs
+++ b/LongoMatch.Drawing/Canvas.cs
@@ -109,16 +109,21 @@ namespace LongoMatch.Drawing
 
                public virtual void Draw (IContext context, Area area)
                {
+                       List<CanvasObject> highlighted = new List<CanvasObject> ();
                        tk.Context = context;
                        tk.Begin ();
                        tk.TranslateAndScale (translation, new Point (scaleX, scaleY));
                        foreach (ICanvasObject co in Objects) {
-                               if (co is ICanvasSelectableObject) {
-                                       if ((co as ICanvasSelectableObject).Selected) {
-                                               continue;
-                                       }
-                               }
                                if (co.Visible) {
+                                       if (co is ICanvasSelectableObject) {
+                                               if ((co as ICanvasSelectableObject).Selected) {
+                                                       continue;
+                                               }
+                                               if ((co as CanvasObject).Highlighted) {
+                                                       highlighted.Add (co as CanvasObject);
+                                                       continue;
+                                               }
+                                       }
                                        co.Draw (tk, area);
                                }
                        }
@@ -127,6 +132,9 @@ namespace LongoMatch.Drawing
                                        co.Draw (tk, area);
                                }
                        }
+                       foreach (CanvasObject co in highlighted) {
+                               co.Draw (tk, area);
+                       }
                        tk.End ();
                        tk.Context = null;
                }
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]