From adce10609ac8df59bc004f25ef06bc5b4754f79a Mon Sep 17 00:00:00 2001 From: Brychan Dempsey Date: Sun, 17 Oct 2021 16:40:26 +1300 Subject: [PATCH] Added image selection/identification --- PDGServer_WPF/ConnectionPage.xaml.cs | 32 ++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/PDGServer_WPF/ConnectionPage.xaml.cs b/PDGServer_WPF/ConnectionPage.xaml.cs index 9cfc60a..cbe942a 100644 --- a/PDGServer_WPF/ConnectionPage.xaml.cs +++ b/PDGServer_WPF/ConnectionPage.xaml.cs @@ -142,7 +142,17 @@ namespace RBG_Server_WPF break; } } - if (loadedSprite == null) loadedSprite = new LoadedSpriteGrid(spriteImage, e.Message); + if (loadedSprite == null) + { + //spriteImage.MouseDown += SpriteImage_Tapped; + //spriteImage.TouchDown += SpriteImage_Tapped; + //spriteImage.StylusDown += SpriteImage_Tapped; + loadedSprite = new LoadedSpriteGrid(spriteImage, e.Message); + + loadedSprite.MouseDown += SpriteImage_Tapped; + loadedSprite.TouchDown += SpriteImage_Tapped; + loadedSprite.StylusDown += SpriteImage_Tapped; + } // Add the loaded image into the view Dispatcher.Invoke(() => ClientLoadedSprites.Children.Add(loadedSprite)); @@ -152,14 +162,32 @@ namespace RBG_Server_WPF } + LoadedSpriteGrid currentlySelected = null; + + private void SpriteImage_Tapped(object sender, InputEventArgs e) + { + currentlySelected.frame.BorderThickness = new Thickness(0, 0, 0, 0); + currentlySelected = sender as LoadedSpriteGrid; + currentlySelected.frame.BorderThickness = new Thickness(3, 3, 3, 3); + } + internal class LoadedSpriteGrid : Grid { string imageName; + public Border frame; public LoadedSpriteGrid(Image spriteImage, string imageName) { - Children.Add(spriteImage); + // Listen to events + frame = new Border(); + frame.Child = spriteImage; + frame.BorderThickness = new Thickness(0, 0, 0, 0); + frame.BorderBrush = new SolidColorBrush(Color.FromArgb(255, 0, 100, 200)); + Children.Add(frame); this.imageName = imageName; } + + + public new bool Equals(object obj) { if (obj == null || GetType() != obj.GetType())