Files
StructureHelper/Models/PrimitiveDefinition/RectangleDefinition.cs
NickAppLab 60eb406cbe Init commit
2022-06-13 21:24:13 +05:00

98 lines
2.6 KiB
C#

using System;
using System.Windows.Media;
namespace StructureHelper
{
public class RectangleDefinition : PrimitiveDefinitionBase
{
private bool borderCaptured = false;
private double rectX, rectY, borderWidth, borderHeight;
public bool BorderCaptured
{
set
{
borderCaptured = value;
OnPropertyChanged();
}
get => borderCaptured;
}
public double RectX
{
get => rectX;
set
{
rectX = value;
OnPropertyChanged();
}
}
public double RectY
{
get => rectY;
set
{
rectY = value;
OnPropertyChanged();
}
}
private double showedRectX, showedRectY;
private double initialRectX, initialRectY;
public double ShowedRectX
{
get => showedRectX;
set
{
showedRectX = value;
RectX = value + initialRectX;
OnPropertyChanged(nameof(RectX));
OnPropertyChanged();
}
}
public double ShowedRectY
{
get => showedRectY;
set
{
showedRectY = value;
RectY = -value + initialRectY - BorderHeight;
OnPropertyChanged(nameof(RectY));
OnPropertyChanged();
}
}
public double BorderWidth
{
get => borderWidth;
set
{
borderWidth = value;
OnPropertyChanged();
}
}
public double BorderHeight
{
get => borderHeight;
set
{
borderHeight = value;
OnPropertyChanged();
}
}
public RectangleDefinition(double borderWidth, double borderHeight, double rectX, double rectY)
{
BorderWidth = borderWidth;
BorderHeight = borderHeight;
initialRectX = rectX;
initialRectY = rectY;
ShowedRectX = 0;
ShowedRectY = 0;
var randomR = new Random().Next(150, 255);
var randomG = new Random().Next(0, 255);
var randomB = new Random().Next(30, 130);
var color = Color.FromRgb((byte)randomR, (byte)randomG, (byte)randomB);
Brush = new SolidColorBrush(color);
}
}
}