Files
SimpleDraw/ViewModels/ViewModelBase.cs
T
2025-02-19 02:16:56 +01:00

40 lines
1.3 KiB
C#

using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using Avalonia.Input;
using Avalonia.Media;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using SimpleDraw.Models;
namespace SimpleDraw.ViewModels;
public class ViewModelBase : ObservableObject
{
public int WindowWidth { get; set; } = 1200;
public int WindowHeight { get; set; } = 800;
public ObservableCollection<ColorPickerButton>? ColorPalette { get; set; }
public IRelayCommand<PointerPressedEventArgs>? CanvasPointerPressedCommand { get; set; }
public IRelayCommand<PointerEventArgs>? CanvasPointerMovedCommand { get; set; }
public IRelayCommand<PointerReleasedEventArgs>? CanvasPointerReleasedCommand { get; set; }
public ObservableCollection<DrawingPoints> DrawingPoints { get; set; } = new();
public DrawingPoints? DrawingPoint { get; set; }
protected bool IsDrawing { get; set; }
private Brush _brush = new SolidColorBrush(new Color(a: 255, r: 0, g: 0, b: 0));
private double _brushThickness = 2.0;
protected Brush Brush
{
get => _brush;
set => SetProperty(ref _brush, value);
}
public double BrushThickness
{
get => _brushThickness;
set => SetProperty(ref _brushThickness, value);
}
}