<Type Name="XlibSurface" FullName="Cairo.XlibSurface">
  <TypeSignature Language="C#" Value="public class XlibSurface : Cairo.Surface" />
  <AssemblyInfo>
    <AssemblyName>Mono.Cairo</AssemblyName>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>Cairo.Surface</BaseTypeName>
  </Base>
  <Interfaces />
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public XlibSurface (IntPtr display, IntPtr drawable, IntPtr visual, int width, int height);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="display" Type="System.IntPtr" />
        <Parameter Name="drawable" Type="System.IntPtr" />
        <Parameter Name="visual" Type="System.IntPtr" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="display">an X Display</param>
        <param name="drawable">an X Drawable, (a Pixmap or a Window)</param>
        <param name="visual">the visual to use for drawing to drawable. The depth of the visual must match the depth of the drawable. Currently, only TrueColor visuals are fully supported.</param>
        <param name="width">the current width of <paramref name="drawable" />.</param>
        <param name="height"> the current height of <paramref name="drawable" />.</param>
        <summary>Creates an Xlib surface that draws to the given drawable.</summary>
        <remarks>The way that colors are represented in the drawable is specified by the provided visual.
		  <block subset="none" type="note">
			If <paramref name="drawable" /> is a Window, then the function <see cref="M:Cairo.XlibSurface.SetSize()" /> must be called whenever the size of the window changes.
		  </block></remarks>
      </Docs>
    </Member>
    <Member MemberName="SetDrawable">
      <MemberSignature Language="C#" Value="public void SetDrawable (IntPtr drawable, int width, int height);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="drawable" Type="System.IntPtr" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="drawable">the new drawable for the surface</param>
        <param name="width">the width of the new drawable</param>
        <param name="height">the height of the new drawable</param>
        <summary>Informs cairo of a new X Drawable underlying the surface.</summary>
        <remarks>The drawable must match the display, screen and format of the existing drawable or the application will get X protocol errors and will probably terminate. No checks are done by this function to ensure this compatibility.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetSize">
      <MemberSignature Language="C#" Value="public void SetSize (int width, int height);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="width">the new width of the surface</param>
        <param name="height">the new height of the surface</param>
        <summary>Informs cairo of the new size of the X Drawable underlying the surface.</summary>
        <remarks>For a surface created for a Window (rather than a Pixmap), this function must be called each time the size of the window changes. (For a subwindow, you are normally resizing the window yourself, but for a toplevel window, it is necessary to listen for ConfigureNotify events.) A Pixmap can never change size, so it is never necessary to call this function on a surface created for a Pixmap.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public XlibSurface (IntPtr ptr, bool own);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="ptr" Type="System.IntPtr" />
        <Parameter Name="own" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="ptr">To be added.</param>
        <param name="own">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="FromBitmap">
      <MemberSignature Language="C#" Value="public static Cairo.XlibSurface FromBitmap (IntPtr display, IntPtr bitmap, IntPtr screen, int width, int height);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Cairo.XlibSurface</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="display" Type="System.IntPtr" />
        <Parameter Name="bitmap" Type="System.IntPtr" />
        <Parameter Name="screen" Type="System.IntPtr" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="display">To be added.</param>
        <param name="bitmap">To be added.</param>
        <param name="screen">To be added.</param>
        <param name="width">To be added.</param>
        <param name="height">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Depth">
      <MemberSignature Language="C#" Value="public int Depth { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="cairo 1.2" />
      </Docs>
    </Member>
    <Member MemberName="Display">
      <MemberSignature Language="C#" Value="public IntPtr Display { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="cairo 1.2" />
      </Docs>
    </Member>
    <Member MemberName="Drawable">
      <MemberSignature Language="C#" Value="public IntPtr Drawable { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="cairo 1.2" />
      </Docs>
    </Member>
    <Member MemberName="Height">
      <MemberSignature Language="C#" Value="public int Height { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="cairo 1.2" />
      </Docs>
    </Member>
    <Member MemberName="Screen">
      <MemberSignature Language="C#" Value="public IntPtr Screen { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="cairo 1.2" />
      </Docs>
    </Member>
    <Member MemberName="Visual">
      <MemberSignature Language="C#" Value="public IntPtr Visual { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="cairo 1.2" />
      </Docs>
    </Member>
    <Member MemberName="Width">
      <MemberSignature Language="C#" Value="public int Width { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="cairo 1.2" />
      </Docs>
    </Member>
  </Members>
  <Docs>
    <summary>X Window System rendering using XLib</summary>
    <remarks>
    </remarks>
  </Docs>
</Type>
