[longomatch] Redraw highlighted objects on top



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]