Files
Xune/UIX.Skia/Microsoft/Iris/Layout/LayoutSlot.cs
T
2021-07-12 00:40:39 -05:00

105 lines
3.4 KiB
C#

// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Layout.LayoutSlot
// Assembly: UIX, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: A56C6C9D-B7F6-46A9-8BDE-B3D9B8D60B11
// Assembly location: C:\Program Files\Zune\UIX.dll
using Microsoft.Iris.Render;
using System.Text;
namespace Microsoft.Iris.Layout
{
internal struct LayoutSlot
{
private Size _bounds;
private Point _offset;
private Rectangle _viewBounds;
private Rectangle _peripheralViewBounds;
public LayoutSlot(Size extent)
: this(extent, Point.Zero, new Rectangle(extent), new Rectangle(extent))
{
}
public LayoutSlot(
Size extent,
Point offset,
Rectangle viewBounds,
Rectangle viewPeripheralBounds)
{
_bounds = extent;
_offset = offset;
_viewBounds = viewBounds;
_peripheralViewBounds = viewPeripheralBounds;
}
public Size Bounds
{
get => _bounds;
set => _bounds = value;
}
public Point Offset
{
get => _offset;
set => _offset = value;
}
public Rectangle View
{
get => _viewBounds;
set => _viewBounds = value;
}
public Rectangle PeripheralView
{
get => _peripheralViewBounds;
set => _peripheralViewBounds = value;
}
public void Deflate(Inset inset)
{
int num1 = inset.Left + inset.Right;
int num2 = inset.Top + inset.Bottom;
_bounds.Width -= num1;
if (_bounds.Width < 0)
_bounds.Width = 0;
_bounds.Height -= num2;
if (_bounds.Height < 0)
_bounds.Height = 0;
_viewBounds.X -= inset.Left;
_viewBounds.Y -= inset.Top;
_peripheralViewBounds.X -= inset.Left;
_peripheralViewBounds.Y -= inset.Top;
}
public static bool operator ==(LayoutSlot left, LayoutSlot right) => left._bounds == right._bounds && left._offset == right._offset && left._viewBounds == right._viewBounds && left._peripheralViewBounds == right._peripheralViewBounds;
public static bool operator !=(LayoutSlot left, LayoutSlot right) => !(left == right);
public override bool Equals(object obj) => obj is LayoutSlot layoutSlot && this == layoutSlot;
public override int GetHashCode() => _bounds.GetHashCode() ^ _offset.GetHashCode() ^ _viewBounds.GetHashCode() ^ _peripheralViewBounds.GetHashCode();
public override string ToString()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append(GetType().Name);
stringBuilder.Append("(");
stringBuilder.Append("Bounds=");
stringBuilder.Append(_bounds);
stringBuilder.Append(", Offset=");
stringBuilder.Append(_offset);
stringBuilder.Append(", View=");
stringBuilder.Append(_viewBounds);
if (_peripheralViewBounds != _viewBounds)
{
stringBuilder.Append(", Peripheral=");
stringBuilder.Append(_peripheralViewBounds);
}
stringBuilder.Append(")");
return stringBuilder.ToString();
}
}
}