<Type Name="DRect" FullName="Art.DRect">
  <TypeSignature Language="C#" Value="public sealed struct DRect" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>art-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
    <AssemblyCulture>neutral</AssemblyCulture>
    <Attributes />
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>A Structure that suports rectangle with double coordinates.</summary>
    <remarks />
  </Docs>
  <Base>
    <BaseTypeName>System.ValueType</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes />
  <Members>
    <Member MemberName="Zero">
      <MemberSignature Language="C#" Value="public static Art.DRect Zero;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>Art.DRect</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="New">
      <MemberSignature Language="C#" Value="public static Art.DRect New (IntPtr raw);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Art.DRect</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="raw">a <see cref="T:System.IntPtr" /></param>
        <returns>a <see cref="T:Art.DRect" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="ToIrect">
      <MemberSignature Language="C#" Value="public static void ToIrect (Art.IRect dst, Art.DRect src);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="dst" Type="Art.IRect" />
        <Parameter Name="src" Type="Art.DRect" />
      </Parameters>
      <Docs>
        <summary>Converts the src rectangle into a interger one.</summary>
        <param name="dst">The newly created integer rectangle (<see cref="T:Art.IRect" />).</param>
        <param name="src">The source rectangle (<see cref="T:Art.DRect" />).</param>
        <remarks>The rouding is done using floor for x0 and y0 and ceil for x1 and y1.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Svp">
      <MemberSignature Language="C#" Value="public void Svp (Art.SVP svp);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="svp" Type="Art.SVP" />
      </Parameters>
      <Docs>
        <summary>Finds the bounding box os a sorted vector path.</summary>
        <param name="svp">The Sorted Vector Path.</param>
        <remarks>The result is used to initialize the current instance.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SvpUnion">
      <MemberSignature Language="C#" Value="public void SvpUnion (Art.SVP svp);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="svp" Type="Art.SVP" />
      </Parameters>
      <Docs>
        <summary>Finds the bounding box to the Sorted Vector Path and then unifies the resulting rectangle with the current instance.</summary>
        <param name="svp">a <see cref="T:Art.SVP" /></param>
        <remarks>The result is used to initialize the current instance.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Copy">
      <MemberSignature Language="C#" Value="public void Copy (Art.DRect src);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="src" Type="Art.DRect" />
      </Parameters>
      <Docs>
        <summary>Copies the values of the given rectangle, into this one.</summary>
        <param name="src">The <see cref="T:Art.DRect" /> that is going to init the current one.</param>
        <remarks>The current rectangle will be a clone of the given one.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Empty">
      <MemberSignature Language="C#" Value="public int Empty ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Checks if the rectangle is empty.</summary>
        <returns>True if the rectangle is empty, false otherwise.</returns>
        <remarks>For the rectangle to be empty, x1 has to be smaller or equal to x0, or y0 smaller or equal to y1.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Union">
      <MemberSignature Language="C#" Value="public void Union (Art.DRect src1, Art.DRect src2);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="src1" Type="Art.DRect" />
        <Parameter Name="src2" Type="Art.DRect" />
      </Parameters>
      <Docs>
        <summary>Finds the union of two rectangles and initializes the current one with the result.</summary>
        <param name="src1">The first source rectangle used.</param>
        <param name="src2">The second source rectangle used.</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="AffineTransform">
      <MemberSignature Language="C#" Value="public void AffineTransform (Art.DRect src, double [] matrix);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="src" Type="Art.DRect" />
        <Parameter Name="matrix" Type="System.Double[]" />
      </Parameters>
      <Docs>
        <summary>Applies an affine transformation to the src rectangle and initializes this one with the result.</summary>
        <param name="src">The source rectangle used to apply the transformation.</param>
        <param name="matrix">A <see cref="T:System.Double[]" /> with 6 elements containing the transformation's matrix.</param>
        <remarks>It finds the smallest rectangle enclosing the transformed src. The result is exactly the affine transformation of src when the matrix specifies an rectilinear affine transformation. otherwise its a conservative approximation.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Intersect">
      <MemberSignature Language="C#" Value="public void Intersect (Art.DRect src1, Art.DRect src2);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="src1" Type="Art.DRect" />
        <Parameter Name="src2" Type="Art.DRect" />
      </Parameters>
      <Docs>
        <summary>Finds the intersection of two rectangles and initializes the current one with the result.</summary>
        <param name="src1">The first source rectangle used.</param>
        <param name="src2">The second source rectangle used.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="X0">
      <MemberSignature Language="C#" Value="public double X0;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>The first coordinate of the rectangle on the X axis.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Y0">
      <MemberSignature Language="C#" Value="public double Y0;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>The first coordinate of the rectangle on the Y axis.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="X1">
      <MemberSignature Language="C#" Value="public double X1;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>The second coordinate of the rectangle on the X axis.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Y1">
      <MemberSignature Language="C#" Value="public double Y1;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>The second coordinate of the rectangle on the Y axis.</summary>
        <remarks />
      </Docs>
    </Member>
  </Members>
</Type>