You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
44 lines
1.1 KiB
11 months ago
|
namespace Avalonia.Gif.Decoding
|
||
|
{
|
||
|
public readonly struct GifRect
|
||
|
{
|
||
|
public int X { get; }
|
||
|
public int Y { get; }
|
||
|
public int Width { get; }
|
||
|
public int Height { get; }
|
||
|
public int TotalPixels { get; }
|
||
|
|
||
|
public GifRect(int x, int y, int width, int height)
|
||
|
{
|
||
|
X = x;
|
||
|
Y = y;
|
||
|
Width = width;
|
||
|
Height = height;
|
||
|
TotalPixels = width * height;
|
||
|
}
|
||
|
|
||
|
public static bool operator ==(GifRect a, GifRect b)
|
||
|
{
|
||
|
return a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
|
||
|
}
|
||
|
|
||
|
public static bool operator !=(GifRect a, GifRect b)
|
||
|
{
|
||
|
return !(a == b);
|
||
|
}
|
||
|
|
||
|
public override bool Equals(object obj)
|
||
|
{
|
||
|
if (obj == null || GetType() != obj.GetType())
|
||
|
return false;
|
||
|
|
||
|
return this == (GifRect)obj;
|
||
|
}
|
||
|
|
||
|
public override int GetHashCode()
|
||
|
{
|
||
|
return X.GetHashCode() ^ Y.GetHashCode() | Width.GetHashCode() ^ Height.GetHashCode();
|
||
|
}
|
||
|
}
|
||
|
}
|