mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
36 lines
1.3 KiB
C#
36 lines
1.3 KiB
C#
using System.IO;
|
|
using System.Windows;
|
|
using System.Windows.Input;
|
|
using Artemis.UI.Properties;
|
|
using Artemis.UI.Services.Interfaces;
|
|
|
|
namespace Artemis.UI.Screens.Module.ProfileEditor.Visualization.Tools
|
|
{
|
|
public class SelectionAddToolViewModel : VisualizationToolViewModel
|
|
{
|
|
public SelectionAddToolViewModel(ProfileViewModel profileViewModel, IProfileEditorService profileEditorService) : base(profileViewModel, profileEditorService)
|
|
{
|
|
using (var stream = new MemoryStream(Resources.aero_pen_plus))
|
|
{
|
|
Cursor = new Cursor(stream);
|
|
}
|
|
}
|
|
|
|
public override void MouseUp(object sender, MouseButtonEventArgs e)
|
|
{
|
|
base.MouseUp(sender, e);
|
|
|
|
var position = e.GetPosition((IInputElement) sender);
|
|
var selectedRect = new Rect(MouseDownStartPosition, position);
|
|
|
|
foreach (var device in ProfileViewModel.DeviceViewModels)
|
|
{
|
|
foreach (var ledViewModel in device.Leds)
|
|
{
|
|
if (ProfileViewModel.PanZoomViewModel.TransformContainingRect(ledViewModel.Led.RgbLed.AbsoluteLedRectangle).IntersectsWith(selectedRect))
|
|
ledViewModel.IsSelected = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |