Files
MicrosoftIris/UIX/Microsoft/Iris/Layouts/ScrollIntoViewDisposition.cs
T
2022-03-03 08:14:05 -06:00

143 lines
4.2 KiB
C#

// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Layouts.ScrollIntoViewDisposition
// 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.Library;
namespace Microsoft.Iris.Layouts
{
internal class ScrollIntoViewDisposition
{
private int _beginPadding;
private int _endPadding;
private bool _locked;
private float _lockedPosition;
private float _lockedAlignment;
private ContentPositioningPolicy _positioningPolicy;
private bool _enabled;
private RelativeEdge _relativeBeginPadding;
private RelativeEdge _relativeEndPadding;
public ScrollIntoViewDisposition()
: this(0)
{
}
public ScrollIntoViewDisposition(int paddingValue)
{
Reset();
_beginPadding = _endPadding = paddingValue;
}
public void CopyFrom(ScrollIntoViewDisposition other)
{
_beginPadding = other._beginPadding;
_endPadding = other._endPadding;
_lockedPosition = other._lockedPosition;
_lockedAlignment = other._lockedAlignment;
_locked = other._locked;
_enabled = other._enabled;
_positioningPolicy = other._positioningPolicy;
_relativeBeginPadding = other._relativeBeginPadding;
_relativeEndPadding = other._relativeEndPadding;
}
public void Reset()
{
_beginPadding = _endPadding = 0;
_lockedPosition = -1f;
_lockedAlignment = 0.5f;
_enabled = true;
_locked = false;
_positioningPolicy = ContentPositioningPolicy.RespectPaddingAndLocking;
_relativeBeginPadding = RelativeEdge.Near;
_relativeEndPadding = RelativeEdge.Far;
}
public bool IsDefault => _beginPadding == 0 && _endPadding == 0 && (BeginPaddingRelativeTo == RelativeEdge.Near && EndPaddingRelativeTo == RelativeEdge.Far) && !Locked;
public int Padding
{
get => BeginPadding;
set
{
EndPadding = value;
BeginPadding = value;
}
}
public int BeginPadding
{
get => _beginPadding;
set => _beginPadding = value;
}
public int EndPadding
{
get => _endPadding;
set => _endPadding = value;
}
public RelativeEdge BeginPaddingRelativeTo
{
get => _relativeBeginPadding;
set => _relativeBeginPadding = value;
}
public RelativeEdge EndPaddingRelativeTo
{
get => _relativeEndPadding;
set => _relativeEndPadding = value;
}
public bool Locked
{
get => _locked;
set => _locked = value;
}
public float LockedPosition
{
get => _lockedPosition;
set => _lockedPosition = value;
}
public float LockedAlignment
{
get => _lockedAlignment;
set => _lockedAlignment = value;
}
public bool Enabled
{
get => _enabled;
set => _enabled = value;
}
public ContentPositioningPolicy ContentPositioningBehavior
{
get => _positioningPolicy;
set => _positioningPolicy = value;
}
public override string ToString()
{
string str1 = InvariantString.Format("{0}(", GetType().Name);
string str2;
if (!_enabled)
{
str2 = InvariantString.Format("{0}Disabled", str1);
}
else
{
str2 = InvariantString.Format("{0}(BeginPadding={1}({2}), EndPadding={3}({4})", str1, _beginPadding, _relativeBeginPadding, _endPadding, _relativeEndPadding);
if (Locked)
str2 = InvariantString.Format("{0}, LockedPosition={1}, LockedAlignment={2}", str2, _lockedPosition, _lockedAlignment);
}
return str2 + ")";
}
}
}