mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-03-27 09:49:49 +08:00
56 lines
1.3 KiB
C#
56 lines
1.3 KiB
C#
using System;
|
|
using System.Drawing;
|
|
using Point = System.Windows.Point;
|
|
|
|
namespace BetterGenshinImpact.View.Drawable;
|
|
|
|
[Serializable]
|
|
public class LineDrawable
|
|
{
|
|
public Point P1 { get; set; }
|
|
|
|
public Point P2 { get; set; }
|
|
|
|
public Pen Pen { get; set; } = new(Color.Red, 2);
|
|
|
|
public LineDrawable(double x1, double y1, double x2, double y2)
|
|
{
|
|
P1 = new Point(x1, y1);
|
|
P2 = new Point(x2, y2);
|
|
}
|
|
|
|
public LineDrawable(Point p1, Point p2)
|
|
{
|
|
P1 = p1;
|
|
P2 = p2;
|
|
}
|
|
|
|
// public LineDrawable(OpenCvSharp.Point p1, OpenCvSharp.Point p2)
|
|
// {
|
|
// var scale = TaskContext.Instance().DpiScale;
|
|
// P1 = Divide(p1, scale).ToWindowsPoint();
|
|
// P2 = Divide(p2, scale).ToWindowsPoint();
|
|
// }
|
|
//
|
|
// public static OpenCvSharp.Point Divide(OpenCvSharp.Point p, float divisor)
|
|
// {
|
|
// return new OpenCvSharp.Point(p.X / divisor, p.Y / divisor);
|
|
// }
|
|
|
|
public override bool Equals(object? obj)
|
|
{
|
|
if (obj == null || GetType() != obj.GetType())
|
|
{
|
|
return false;
|
|
}
|
|
|
|
var other = (LineDrawable)obj;
|
|
return P1.Equals(other.P1) && P2.Equals(other.P2);
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return P1.GetHashCode() + P2.GetHashCode();
|
|
}
|
|
}
|