Added image selection/identification

This commit is contained in:
Brychan Dempsey 2021-10-17 16:40:26 +13:00
parent 2855d2e159
commit adce10609a

View File

@ -142,7 +142,17 @@ namespace RBG_Server_WPF
break; 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 // Add the loaded image into the view
Dispatcher.Invoke(() => ClientLoadedSprites.Children.Add(loadedSprite)); 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 internal class LoadedSpriteGrid : Grid
{ {
string imageName; string imageName;
public Border frame;
public LoadedSpriteGrid(Image spriteImage, string imageName) 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; this.imageName = imageName;
} }
public new bool Equals(object obj) public new bool Equals(object obj)
{ {
if (obj == null || GetType() != obj.GetType()) if (obj == null || GetType() != obj.GetType())