<?xml version="1.0"?>
<doc>
    <assembly>
        <name>PaintDotNet.PropertySystem</name>
    </assembly>
    <members>
        <member name="T:PaintDotNet.Pair`2">
            <summary>
            A struct containing two elements.
            </summary>
            <remarks>
            It is recommended that you use the family of .NET's built-in <see cref="T:System.ValueTuple"/> structs,
            along with C#'s anonymous tuple syntax instead of this struct.<br/>
            <br/>
            This struct is only used by the PropertySystem's <see cref="T:PaintDotNet.PropertySystem.DoubleVectorProperty"/>, and even
            that is no longer necessary since it can now work directly with <see cref="T:PaintDotNet.Rendering.Vector2Double"/>.
            </remarks>
        </member>
        <member name="T:PaintDotNet.PropertySystem.LinkValuesBasedOnBooleanRule`2">
            <summary>
            Defines a rule that forces the values of multiple properties to be equal when the value of
            another property is true (or false, if you choose). This is commonly used to implement a
            checkbox that just says "Linked".
            </summary>
        </member>
        <member name="M:PaintDotNet.PropertySystem.PropertyCollection.#ctor">
            <summary>
            Creates an empty <see cref="T:PaintDotNet.PropertySystem.PropertyCollection"/>.
            </summary>
        </member>
        <member name="M:PaintDotNet.PropertySystem.PropertyCollection.#ctor(System.Collections.Generic.IEnumerable{PaintDotNet.PropertySystem.Property})">
            <summary>
            Creates a <see cref="T:PaintDotNet.PropertySystem.PropertyCollection"/> populated with the given list of properties.
            </summary>
        </member>
        <member name="M:PaintDotNet.PropertySystem.PropertyCollection.#ctor(System.Collections.Generic.IEnumerable{PaintDotNet.PropertySystem.Property},System.Collections.Generic.IEnumerable{PaintDotNet.PropertySystem.PropertyCollectionRule})">
            <summary>
            Creates a <see cref="T:PaintDotNet.PropertySystem.PropertyCollection"/> populated with the given lists of properties and rules.
            </summary>
        </member>
        <member name="T:PaintDotNet.PropertySystem.ReadOnlyBoundToBooleanRule">
            <summary>
            Defines a rule that binds the ReadOnly flag of property A to the value of boolean property B.
            A and B must be different properties.
            </summary>
        </member>
        <member name="T:PaintDotNet.PropertySystem.ReadOnlyBoundToValueRule`2">
            <summary>
            Defines a rule between two properties, Target and Source. When the Source property is equal to any of the given values,
            Target will be set to read-only, otherwise it will be set as writable.<br/>
            If inverse is specified, then this is changed to: when the Source property is equal to any of the given values, Target
            will be set to writable, otherwise it will be set to read-only.
            </summary>
        </member>
        <member name="T:PaintDotNet.PropertySystem.SetTargetWhenSourceEqualsAnyValueRule">
            <summary>
            Defines a rule between two properties, Target and Source. When Source is equal to any of the given source values, Target
            will be set to the target value.<br/>
            If inverse is specified, then this is changed to: when Source is equal to none of the given source values, Target will
            be set to the target value.
            </summary>
        </member>
        <member name="T:PaintDotNet.PropertySystem.SoftMutuallyBoundMinMaxRule`2">
            <summary>
            Defines a rule for two properties, A and B, such that A will always be less than or equal to B,
            and B will always be greater than or equal to A. If A is set to a new value that is greater than B,
            then B will be set equal to A. If B is set to a new value that is less than A, then A will be set
            equal to B.
            </summary>
        </member>
        <member name="F:PaintDotNet.PropertySystem.ValueValidationFailureResult.Ignore">
            <summary>
            If an invalid value is set through a property's Value property, then it will be ignored
            and the current value will be retained. A ValueChanged event will then be raised with 
            the property's retained value.
            </summary>
        </member>
        <member name="F:PaintDotNet.PropertySystem.ValueValidationFailureResult.Clamp">
            <summary>
            If an invalid value is set through a property's Value property, then it will either be
            clamped to within the valid range of the property, or it will be ignored. Clamping
            behavior is property value type specific; for example, an integer will be clamped to
            a certain range, whereas a string will be truncated past a certain length.
            If the invalid value cannot be clamped, then the property's Value will not change.
            A ValueChanged event will then be raised with the property's value, regardless of
            whether the value was changed or not.
            </summary>
        </member>
        <member name="F:PaintDotNet.PropertySystem.ValueValidationFailureResult.ThrowException">
            <summary>
            If an invalid value is set through a property's Value property, then an exception will
            be raised.
            </summary>
        </member>
    </members>
</doc>
