diff --git a/MBS.Framework/Drawing/MeasurementDimension2D.cs b/MBS.Framework/Drawing/MeasurementDimension2D.cs new file mode 100644 index 0000000..07bd21c --- /dev/null +++ b/MBS.Framework/Drawing/MeasurementDimension2D.cs @@ -0,0 +1,56 @@ +// +// Measurement2D.cs +// +// Author: +// Michael Becker +// +// Copyright (c) 2021 Mike Becker's Software +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +using System; +namespace MBS.Framework.Drawing +{ + public struct MeasurementDimension2D + { + public Measurement Width { get; set; } + public Measurement Height { get; set; } + + private bool _isNotEmpty; + public bool IsEmpty { get { return !_isNotEmpty; } } + + public static readonly MeasurementDimension2D Empty; + + public override bool Equals(object obj) + { + if (!(obj is MeasurementDimension2D)) + { + return false; + } + + return + ( + ((MeasurementDimension2D)obj).Width == this.Width && + ((MeasurementDimension2D)obj).Height == this.Height && + ((MeasurementDimension2D)obj).IsEmpty == this.IsEmpty + ); + } + + public MeasurementDimension2D(Measurement width, Measurement height) + { + Width = width; + Height = height; + _isNotEmpty = true; + } + } +} diff --git a/MBS.Framework/Drawing/MeasurementVector2D.cs b/MBS.Framework/Drawing/MeasurementVector2D.cs new file mode 100644 index 0000000..766293d --- /dev/null +++ b/MBS.Framework/Drawing/MeasurementVector2D.cs @@ -0,0 +1,41 @@ +// +// Measurement2D.cs +// +// Author: +// Michael Becker +// +// Copyright (c) 2021 Mike Becker's Software +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +using System; +namespace MBS.Framework.Drawing +{ + public struct MeasurementVector2D + { + public Measurement X { get; set; } + public Measurement Y { get; set; } + + private bool _isNotEmpty; + public bool IsEmpty { get { return !_isNotEmpty; } } + + public static readonly MeasurementVector2D Empty; + + public MeasurementVector2D(Measurement x, Measurement y) + { + X = x; + Y = y; + _isNotEmpty = true; + } + } +} diff --git a/MBS.Framework/MBS.Framework.csproj b/MBS.Framework/MBS.Framework.csproj index 2871826..3497cc8 100644 --- a/MBS.Framework/MBS.Framework.csproj +++ b/MBS.Framework/MBS.Framework.csproj @@ -112,6 +112,8 @@ + +