<Type Name="Drawable" FullName="Gdk.Drawable">
  <TypeSignature Language="C#" Value="public class Drawable : GLib.Object, IWrapper, IDisposable" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>gdk-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>Functions for drawing points, lines, arcs, and text.
</summary>
    <remarks>To be added</remarks>
  </Docs>
  <Base>
    <BaseTypeName>GLib.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
  <Members>
    <Member MemberName="DrawPoints">
      <MemberSignature Language="C#" Value="public void DrawPoints (Gdk.GC gc, Gdk.Point points, int npoints);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="points" Type="Gdk.Point" />
        <Parameter Name="npoints" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Draws a number of points using the given graphics context.</summary>
        <param name="gc">A <see cref="T:Gdk.GC" /></param>
        <param name="points">An array of  <see cref="T:Gdk.Point" /> objects.</param>
        <param name="npoints">A <see cref="T:System.Int32" /></param>
        <remarks>NOTE: Drawable.custom needs to be fixed to implement this properly.</remarks>
      </Docs>
    </Member>
    <Member MemberName="DrawLayoutWithColors">
      <MemberSignature Language="C#" Value="public void DrawLayoutWithColors (Gdk.GC gc, int x, int y, Pango.Layout layout, Gdk.Color foreground, Gdk.Color background);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="layout" Type="Pango.Layout" />
        <Parameter Name="foreground" Type="Gdk.Color" />
        <Parameter Name="background" Type="Gdk.Color" />
      </Parameters>
      <Docs>
        <summary>Render a <see cref="T:Pango.Layout" /> onto the Drawable
	  object, overriding the layout's normal colors with 
	  <paramref name="foreground" /> and/or <paramref name="background" />. 
	  <paramref name="foreground" /> and <paramref name="background" /> 
	  need not be allocated.</summary>
        <param name="gc">A <see cref="T:Gdk.GC" />, the graphics context to use</param>
        <param name="x">A <see cref="T:System.Int32" />, the X position of the left of the layout (in pixels)</param>
        <param name="y">A <see cref="T:System.Int32" />, the Y position of the top of the layout (in pixels)</param>
        <param name="layout">A <see cref="T:Pango.Layout" />, the layout to render</param>
        <param name="foreground">A <see cref="T:Gdk.Color" />, the foreground color</param>
        <param name="background">A <see cref="T:Gdk.Color" />, the background color</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawLayoutLine">
      <MemberSignature Language="C#" Value="public void DrawLayoutLine (Gdk.GC gc, int x, int y, Pango.LayoutLine line);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="line" Type="Pango.LayoutLine" />
      </Parameters>
      <Docs>
        <summary>Render a <see cref="T:Pango.LayoutLine" /> onto the Drawable
	  object.</summary>
        <param name="gc">A <see cref="T:Gdk.GC" />, the graphics context to use</param>
        <param name="x">A <see cref="T:System.Int32" />, the X position of the start of string (in pixels)</param>
        <param name="y">A <see cref="T:System.Int32" />, the Y position of the baseline (in pixels)</param>
        <param name="line">A <see cref="T:Pango.LayoutLine" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawLayoutLineWithColors">
      <MemberSignature Language="C#" Value="public void DrawLayoutLineWithColors (Gdk.GC gc, int x, int y, Pango.LayoutLine line, Gdk.Color foreground, Gdk.Color background);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="line" Type="Pango.LayoutLine" />
        <Parameter Name="foreground" Type="Gdk.Color" />
        <Parameter Name="background" Type="Gdk.Color" />
      </Parameters>
      <Docs>
        <summary>Render a <see cref="T:Pango.LayoutLine" /> onto the Drawable
	  object, overriding the layout's normal colors with 
	  <paramref name="foreground" /> and/or <paramref name="background" />. 
	  <paramref name="foreground" /> and <paramref name="background" /> 
	  need not be allocated.</summary>
        <param name="gc">A <see cref="T:Gdk.GC" />, the graphics context to use</param>
        <param name="x">A <see cref="T:System.Int32" />, the X position of the start of string (in pixels)</param>
        <param name="y">A <see cref="T:System.Int32" />, the Y position of the baseline (in pixels)</param>
        <param name="layout">A <see cref="T:Pango.LayoutLine" />, a line of text to render</param>
        <param name="foreground">A <see cref="T:Gdk.Color" />, the foreground color</param>
        <param name="background">A <see cref="T:Gdk.Color" />, the background color</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawLayout">
      <MemberSignature Language="C#" Value="public void DrawLayout (Gdk.GC gc, int x, int y, Pango.Layout layout);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="layout" Type="Pango.Layout" />
      </Parameters>
      <Docs>
        <summary>Render a <see cref="T:Pango.Layout" /> onto a <see cref="T:Gdk.Drawable" /></summary>
        <param name="gc">A <see cref="T:Gdk.GC" /></param>
        <param name="x">A <see cref="T:System.Int32" /></param>
        <param name="y">A <see cref="T:System.Int32" /></param>
        <param name="layout">A <see cref="T:Pango.Layout" /></param>
        <remarks>If you are using Gtk, the usual way to obtain a <see cref="T:Pango.Layout" /> is <see cref="M:Gtk.Widget.CreatePangoLayout()" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetSize">
      <MemberSignature Language="C#" Value="public void GetSize (out int width, out int height);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="width" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="height" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <summary>Fills <paramref name="width" /> and <paramref name="height" /> 
	  with the size of the Drawable. <paramref name="width" /> or 
	  <paramref name="height" /> can be <see langword="null" /> if you 
	  only want the other one.
	</summary>
        <param name="width">A <see cref="T:System.Int32&amp;" /></param>
        <param name="height">A <see cref="T:System.Int32&amp;" /></param>
        <remarks>
	  On the X11 platform, if this Drawable object is also a <see cref="T:Gdk.Window" />, the returned
	  size is the size reported in the most-recently-processed configure
	  event, rather than the current size on the X server.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="DrawSegments">
      <MemberSignature Language="C#" Value="public void DrawSegments (Gdk.GC gc, Gdk.Segment segs, int nsegs);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="segs" Type="Gdk.Segment" />
        <Parameter Name="nsegs" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Draws a number of unconnected lines.</summary>
        <param name="gc">A <see cref="T:Gdk.GC" /></param>
        <param name="segs">A <see cref="T:Gdk.Segment" />, a list of segments to draw.</param>
        <param name="nsegs">A <see cref="T:System.Int32" />, the number of segments.</param>
        <remarks>TODO: Drawable.custom needs to be edited to make segs an array of Gdk.Segment objects.</remarks>
      </Docs>
    </Member>
    <Member MemberName="DrawGlyphs">
      <MemberSignature Language="C#" Value="public void DrawGlyphs (Gdk.GC gc, Pango.Font font, int x, int y, Pango.GlyphString glyphs);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="font" Type="Pango.Font" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="glyphs" Type="Pango.GlyphString" />
      </Parameters>
      <Docs>
        <summary>
          <p>This is a low-level function; 99% of text rendering should be done
	  using <see cref="M:Gdk.Drawable.DrawLayout" /> instead.</p>
          <p>A glyph is a character in a font. This function draws a sequence of
	    glyphs.  To obtain a sequence of glyphs you have to understand a
	    lot about internationalized text handling, which you don't want to
	    understand; thus, use <see cref="M:Gdk.Drawable.DrawLayout" /> instead of this function,
	    <see cref="M:Gdk.Drawable.DrawLayout" /> handles the details.</p>
        </summary>
        <param name="gc">A <see cref="T:Gdk.GC" /></param>
        <param name="font">A <see cref="T:Pango.Font" /></param>
        <param name="x">A <see cref="T:System.Int32" /></param>
        <param name="y">A <see cref="T:System.Int32" /></param>
        <param name="glyphs">A <see cref="T:Pango.GlyphString" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GetImage">
      <MemberSignature Language="C#" Value="public Gdk.Image GetImage (int x, int y, int width, int height);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Image</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>
          <p>
	    A <see cref="T:Gdk.Image" /> stores client-side image data (pixels). In contrast,
	    <see cref="T:Gdk.Pixmap" /> and <see cref="T:Gdk.Window" /> are server-side
	    objects. This method obtains the pixels from a
	    server-side drawable as a client-side <see cref="T:Gdk.Image" />.  
	  </p>
          <p>
	    The format of a <see cref="T:Gdk.Image" /> depends on 
	    the <see cref="T:Gdk.Visual" /> of the current display, which
	    makes manipulating <see cref="T:Gdk.Image" /> extremely difficult; 
	    therefore, in
	    most cases you should use <see cref="M:Gdk.Pixbuf.GetFromDrawable" />
	    instead of 
	    this lower-level function. A <see cref="T:Gdk.Pixbuf" /> contains 
	    image data in a canonicalized RGB format, rather than a 
	    display-dependent format. Of course, there's a convenience vs. 
	    speed tradeoff here, so you'll want to think about what makes 
	    sense for your application.
	</p>
        </summary>
        <param name="x">A <see cref="T:System.Int32" />, X coordinate of the upper left corner of the region to get as a drawable</param>
        <param name="y">A <see cref="T:System.Int32" />, Y coordinate of the upper left corner of the region to get as a drawable.</param>
        <param name="width">A <see cref="T:System.Int32" />, width of the rectangle</param>
        <param name="height">A <see cref="T:System.Int32" />, height of the rectangle.</param>
        <returns>A <see cref="T:Gdk.Image" /> containing the contents of this Drawable object.</returns>
        <remarks>
          <p>
          </p>
          <p>
            <paramref name="x" />, <paramref name="y" />, 
	    <paramref name="width" />, and <paramref name="height" /> define 
	    the region of the drawable to obtain as an image.
	  </p>
          <p>
	    You would usually copy image data to the client side if you intend
	    to examine the values of individual pixels, for example to darken
	    an image or add a red tint. It would be prohibitively slow to
	    make a round-trip request to the windowing system for each pixel,
	    so instead you get all of them at once, modify them, then copy
	    them all back at once.
	  </p>
          <p>
	    If the X server or other windowing system backend is on the local
	    machine, this function may use shared memory to avoid copying
	    the image data.
	  </p>
          <p>
	    If the source drawable is a #GdkWindow and partially offscreen
	    or obscured, then the obscured portions of the returned image
	    will contain undefined data.
	  </p>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="DrawDrawable">
      <MemberSignature Language="C#" Value="public void DrawDrawable (Gdk.GC gc, Gdk.Drawable src, int xsrc, int ysrc, int xdest, int ydest, int width, int height);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="src" Type="Gdk.Drawable" />
        <Parameter Name="xsrc" Type="System.Int32" />
        <Parameter Name="ysrc" Type="System.Int32" />
        <Parameter Name="xdest" Type="System.Int32" />
        <Parameter Name="ydest" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>
	    Copies the <paramref name="width" />x<paramref name="height" /> region of <paramref name="src" /> at coordinates (<paramref name="xsrc" />,
	    <paramref name="ysrc" />) to coordinates (<paramref name="xdest" />, <paramref name="ydest" />) in <paramref name="drawable" />.
	    <paramref name="width" /> and/or <paramref name="height" /> may be given as -1, in which case the entire
	    <paramref name="src" /> drawable will be copied.
	    Most fields in <paramref name="gc" /> are not used for this operation, but notably the
	clip mask or clip region will be honored.
	</summary>
        <param name="gc">A <see cref="T:Gdk.GC" /></param>
        <param name="src">A <see cref="T:Gdk.Drawable" />, the source Drawable. </param>
        <param name="xsrc">A <see cref="T:System.Int32" /></param>
        <param name="ysrc">A <see cref="T:System.Int32" /></param>
        <param name="xdest">A <see cref="T:System.Int32" /></param>
        <param name="ydest">A <see cref="T:System.Int32" /></param>
        <param name="width">A <see cref="T:System.Int32" /></param>
        <param name="height">A <see cref="T:System.Int32" /></param>
        <remarks>
	  The source and destination drawables must have the same visual and
	  colormap, or errors will result. (On X11, failure to match
	  visual/colormap results in a BadMatch error from the X server.)
	  A common cause of this problem is an attempt to draw a bitmap to
	  a color drawable. The way to draw a bitmap is to set the
	  bitmap as a clip mask on your #GdkGC, then use gdk_draw_rectangle()
	  to draw a rectangle clipped to the bitmap.
	  <p>TODO: This API needs to be adjusted; <paramref name="src" /> should
	    probably not exist.</p></remarks>
      </Docs>
    </Member>
    <Member MemberName="DrawImage">
      <MemberSignature Language="C#" Value="public void DrawImage (Gdk.GC gc, Gdk.Image image, int xsrc, int ysrc, int xdest, int ydest, int width, int height);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="image" Type="Gdk.Image" />
        <Parameter Name="xsrc" Type="System.Int32" />
        <Parameter Name="ysrc" Type="System.Int32" />
        <Parameter Name="xdest" Type="System.Int32" />
        <Parameter Name="ydest" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Draws a <see cref="T:Gdk.Image" /> onto a drawable.</summary>
        <param name="gc">A <see cref="T:Gdk.GC" /></param>
        <param name="image">A <see cref="T:Gdk.Image" /></param>
        <param name="xsrc">A <see cref="T:System.Int32" /></param>
        <param name="ysrc">A <see cref="T:System.Int32" /></param>
        <param name="xdest">A <see cref="T:System.Int32" /></param>
        <param name="ydest">A <see cref="T:System.Int32" /></param>
        <param name="width">A <see cref="T:System.Int32" /></param>
        <param name="height">A <see cref="T:System.Int32" /></param>
        <remarks>The depth of the <see cref="T:Gdk.Image" /> must match the depth of the <see cref="T:Gdk.Drawable" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="DrawPoint">
      <MemberSignature Language="C#" Value="public void DrawPoint (Gdk.GC gc, int x, int y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Draws a point at (<paramref name="x" />,<paramref name="y" />).</summary>
        <param name="gc">A <see cref="T:Gdk.GC" /></param>
        <param name="x">A <see cref="T:System.Int32" /></param>
        <param name="y">A <see cref="T:System.Int32" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="protected override void Finalize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Disposes the resources associated with the object.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Drawable (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="raw">Pointer to the C object.</param>
        <returns>An instance of Drawable, wrapping the C object.</returns>
        <remarks>
          <para>This is an internal constructor, and should not be used by user code.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Colormap">
      <MemberSignature Language="C#" Value="public Gdk.Colormap Colormap { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Colormap</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>The color map for this Drawable. You only need to set
	  the color map if the drawable-creating function did not have a
	  way to determine the colormap, and you then use drawable operations
	  that require a colormap. The colormap for all drawables and
	  graphics contexts you intend to use together should match. i.e.
	  when using a #GdkGC to draw to a drawable, or copying one drawable
	  to another, the colormaps should match.
	</summary>
        <param name="value">A <see cref="T:Gdk.Colormap" /></param>
        <returns>A <see cref="T:Gdk.Colormap" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="VisibleRegion">
      <MemberSignature Language="C#" Value="public Gdk.Region VisibleRegion { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Region</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added</summary>
        <returns>A <see cref="T:Gdk.Region" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="ClipRegion">
      <MemberSignature Language="C#" Value="public Gdk.Region ClipRegion { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Region</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added</summary>
        <returns>A <see cref="T:Gdk.Region" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Visual">
      <MemberSignature Language="C#" Value="public Gdk.Visual Visual { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Visual</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added</summary>
        <returns>A <see cref="T:Gdk.Visual" /></returns>
        <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>
        <returns>A <see cref="T:System.Int32" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Screen">
      <MemberSignature Language="C#" Value="public Gdk.Screen Screen { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Screen</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added</summary>
        <returns>a <see cref="T:Gdk.Screen" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Display">
      <MemberSignature Language="C#" Value="public Gdk.Display Display { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Display</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added</summary>
        <returns>a <see cref="T:Gdk.Display" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawLines">
      <MemberSignature Language="C#" Value="public void DrawLines (Gdk.GC gc, Gdk.Point[] points);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="points" Type="Gdk.Point[]" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="points">a <see cref="T:Gdk.Point[]" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawPolygon">
      <MemberSignature Language="C#" Value="public void DrawPolygon (Gdk.GC gc, int filled, Gdk.Point[] points);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="filled" Type="System.Int32" />
        <Parameter Name="points" Type="Gdk.Point[]" />
      </Parameters>
      <Docs>
        <summary>Draws a Polygon connecting a set of points.</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="filled">a <see cref="T:System.Int32" /></param>
        <param name="points">a <see cref="T:Gdk.Point[]" /></param>
        <remarks>This method is obsolete.  Use the overload which takes a <see cref="T:System.Boolean" /> for <paramref name="filled" /></remarks>
      </Docs>
    </Member>
    <Member MemberName="DrawRectangle">
      <MemberSignature Language="C#" Value="public void DrawRectangle (Gdk.GC gc, bool filled, Gdk.Rectangle area);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="filled" Type="System.Boolean" />
        <Parameter Name="area" Type="Gdk.Rectangle" />
      </Parameters>
      <Docs>
        <summary>Draws a rectangular outline or filled rectangle, using the foreground color and other attributes of the <see cref="T:Gdk.GC" />.</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="filled">a <see cref="T:System.Boolean" /></param>
        <param name="area">a <see cref="T:Gdk.Rectangle" /></param>
        <remarks>A rectangle drawn filled is 1 pixel smaller in both dimensions than a rectangle outlined. Calling Gdk.DrawRectangle (window, gc, TRUE, 0, 0, 20, 20) results in a filled rectangle 20 pixels wide and 20 pixels high. Calling Gdk.DrawRectangle (window, gc, FALSE, 0, 0, 20, 20) results in an outlined rectangle with corners at (0, 0), (0, 20), (20, 20), and (20, 0), which makes it 21 pixels wide and 21 pixels high.</remarks>
      </Docs>
    </Member>
    <Member MemberName="DrawLine">
      <MemberSignature Language="C#" Value="public void DrawLine (Gdk.GC gc, int x1_, int y1_, int x2_, int y2_);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x1_" Type="System.Int32" />
        <Parameter Name="y1_" Type="System.Int32" />
        <Parameter Name="x2_" Type="System.Int32" />
        <Parameter Name="y2_" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="x1_">a <see cref="T:System.Int32" /></param>
        <param name="y1_">a <see cref="T:System.Int32" /></param>
        <param name="x2_">a <see cref="T:System.Int32" /></param>
        <param name="y2_">a <see cref="T:System.Int32" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawArc">
      <MemberSignature Language="C#" Value="public void DrawArc (Gdk.GC gc, bool filled, int x, int y, int width, int height, int angle1, int angle2);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="filled" Type="System.Boolean" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="angle1" Type="System.Int32" />
        <Parameter Name="angle2" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="filled">a <see cref="T:System.Boolean" /></param>
        <param name="x">a <see cref="T:System.Int32" /><para>
The x-coordinate of the upper left hand of the bounding box of the arc.
</para></param>
        <param name="y">a <see cref="T:System.Int32" /><para>
The y-coordinate of the upper left hand of the bounding box of the arc.
</para></param>
        <param name="width">a <see cref="T:System.Int32" /></param>
        <param name="height">a <see cref="T:System.Int32" /></param>
        <param name="angle1">a <see cref="T:System.Int32" /><para>
The starting angle of the arc in the clockwise direction in reference to the 3'oclock position in terms of 1/64th of a degree.
</para></param>
        <param name="angle2">a <see cref="T:System.Int32" /><para>
The number of 1/64ths of a degree to sweep the arc in a clockwise direction relative to the starting angle.
</para></param>
        <remarks>
          <example>
	Draw the left side of a circle with a radius of 5 units.
  <code lang="C#">
	Gdk.Pixmap.DrawArc(gc, false, 0, 0, 10, 10, 90 * 64, 180 * 64);
  </code></example>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="DrawPixbuf">
      <MemberSignature Language="C#" Value="public void DrawPixbuf (Gdk.GC gc, Gdk.Pixbuf pixbuf, int src_x, int src_y, int dest_x, int dest_y, int width, int height, Gdk.RgbDither dither, int x_dither, int y_dither);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="pixbuf" Type="Gdk.Pixbuf" />
        <Parameter Name="src_x" Type="System.Int32" />
        <Parameter Name="src_y" Type="System.Int32" />
        <Parameter Name="dest_x" Type="System.Int32" />
        <Parameter Name="dest_y" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="dither" Type="Gdk.RgbDither" />
        <Parameter Name="x_dither" Type="System.Int32" />
        <Parameter Name="y_dither" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="pixbuf">a <see cref="T:Gdk.Pixbuf" /></param>
        <param name="src_x">a <see cref="T:System.Int32" /></param>
        <param name="src_y">a <see cref="T:System.Int32" /></param>
        <param name="dest_x">a <see cref="T:System.Int32" /></param>
        <param name="dest_y">a <see cref="T:System.Int32" /></param>
        <param name="width">a <see cref="T:System.Int32" /></param>
        <param name="height">a <see cref="T:System.Int32" /></param>
        <param name="dither">a <see cref="T:Gdk.RgbDither" /></param>
        <param name="x_dither">a <see cref="T:System.Int32" /></param>
        <param name="y_dither">a <see cref="T:System.Int32" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawRectangle">
      <MemberSignature Language="C#" Value="public void DrawRectangle (Gdk.GC gc, bool filled, int x, int y, int width, int height);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="filled" Type="System.Boolean" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Draws a rectangular outline or filled rectangle, using the foreground color and other attributes of the <see cref="T:Gdk.GC" />.</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="filled">a <see cref="T:System.Boolean" /></param>
        <param name="x">a <see cref="T:System.Int32" /></param>
        <param name="y">a <see cref="T:System.Int32" /></param>
        <param name="width">a <see cref="T:System.Int32" /></param>
        <param name="height">a <see cref="T:System.Int32" /></param>
        <remarks>A rectangle drawn filled is 1 pixel smaller in both dimensions than a rectangle outlined. Calling Gdk.DrawRectangle (window, gc, TRUE, 0, 0, 20, 20) results in a filled rectangle 20 pixels wide and 20 pixels high. Calling Gdk.DrawRectangle (window, gc, FALSE, 0, 0, 20, 20) results in an outlined rectangle with corners at (0, 0), (0, 20), (20, 20), and (20, 0), which makes it 21 pixels wide and 21 pixels high.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>GType Property.</summary>
        <returns>a <see cref="T:GLib.GType" /></returns>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.Drawable" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected Drawable (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <returns>a <see cref="T:Gdk.Drawable" /></returns>
        <remarks>This is a constructor used by derivative types of <see cref="T:Gdk.Drawable" /> that would have their own GLib.GType assigned to it.  This is not typically used by C# code.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected Drawable ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>This is a constructor used by derivative types of Drawable. This is not typically used by C# code.</summary>
        <returns>a <see cref="T:Gdk.Drawable" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawRgbImage">
      <MemberSignature Language="C#" Value="public void DrawRgbImage (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte [] rgb_buf, int rowstride);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="dith" Type="Gdk.RgbDither" />
        <Parameter Name="rgb_buf" Type="System.Byte[]" />
        <Parameter Name="rowstride" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="x">a <see cref="T:System.Int32" /></param>
        <param name="y">a <see cref="T:System.Int32" /></param>
        <param name="width">a <see cref="T:System.Int32" /></param>
        <param name="height">a <see cref="T:System.Int32" /></param>
        <param name="dith">a <see cref="T:System.Int32" /></param>
        <param name="rgb_buf">a <see cref="T:System.Byte" /></param>
        <param name="rowstride">a <see cref="T:System.Int32" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawRgb32ImageDithalign">
      <MemberSignature Language="C#" Value="public void DrawRgb32ImageDithalign (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte [] buf, int rowstride, int xdith, int ydith);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="dith" Type="Gdk.RgbDither" />
        <Parameter Name="buf" Type="System.Byte[]" />
        <Parameter Name="rowstride" Type="System.Int32" />
        <Parameter Name="xdith" Type="System.Int32" />
        <Parameter Name="ydith" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="x">a <see cref="T:System.Int32" /></param>
        <param name="y">a <see cref="T:System.Int32" /></param>
        <param name="width">a <see cref="T:System.Int32" /></param>
        <param name="height">a <see cref="T:System.Int32" /></param>
        <param name="dith">a <see cref="T:System.Int32" /></param>
        <param name="buf">a <see cref="T:System.Byte" /></param>
        <param name="rowstride">a <see cref="T:System.Int32" /></param>
        <param name="xdith">a <see cref="T:System.Int32" /></param>
        <param name="ydith">a <see cref="T:System.Int32" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawIndexedImage">
      <MemberSignature Language="C#" Value="public void DrawIndexedImage (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte [] buf, int rowstride, Gdk.RgbCmap cmap);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="dith" Type="Gdk.RgbDither" />
        <Parameter Name="buf" Type="System.Byte[]" />
        <Parameter Name="rowstride" Type="System.Int32" />
        <Parameter Name="cmap" Type="Gdk.RgbCmap" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="x">a <see cref="T:System.Int32" /></param>
        <param name="y">a <see cref="T:System.Int32" /></param>
        <param name="width">a <see cref="T:System.Int32" /></param>
        <param name="height">a <see cref="T:System.Int32" /></param>
        <param name="dith">a <see cref="T:System.Int32" /></param>
        <param name="buf">a <see cref="T:System.Byte" /></param>
        <param name="rowstride">a <see cref="T:System.Int32" /></param>
        <param name="cmap">a <see cref="T:Gdk.RgbCmap" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawRgb32Image">
      <MemberSignature Language="C#" Value="public void DrawRgb32Image (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte [] buf, int rowstride);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="dith" Type="Gdk.RgbDither" />
        <Parameter Name="buf" Type="System.Byte[]" />
        <Parameter Name="rowstride" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="x">a <see cref="T:System.Int32" /></param>
        <param name="y">a <see cref="T:System.Int32" /></param>
        <param name="width">a <see cref="T:System.Int32" /></param>
        <param name="height">a <see cref="T:System.Int32" /></param>
        <param name="dith">a <see cref="T:System.Int32" /></param>
        <param name="buf">a <see cref="T:System.Byte" /></param>
        <param name="rowstride">a <see cref="T:System.Int32" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawGrayImage">
      <MemberSignature Language="C#" Value="public void DrawGrayImage (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte [] buf, int rowstride);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="dith" Type="Gdk.RgbDither" />
        <Parameter Name="buf" Type="System.Byte[]" />
        <Parameter Name="rowstride" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="x">a <see cref="T:System.Int32" /></param>
        <param name="y">a <see cref="T:System.Int32" /></param>
        <param name="width">a <see cref="T:System.Int32" /></param>
        <param name="height">a <see cref="T:System.Int32" /></param>
        <param name="dith">a <see cref="T:System.Int32" /></param>
        <param name="buf">a <see cref="T:System.Byte" /></param>
        <param name="rowstride">a <see cref="T:System.Int32" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawRgbImageDithalign">
      <MemberSignature Language="C#" Value="public void DrawRgbImageDithalign (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte [] rgb_buf, int rowstride, int xdith, int ydith);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="width" Type="System.Int32" />
        <Parameter Name="height" Type="System.Int32" />
        <Parameter Name="dith" Type="Gdk.RgbDither" />
        <Parameter Name="rgb_buf" Type="System.Byte[]" />
        <Parameter Name="rowstride" Type="System.Int32" />
        <Parameter Name="xdith" Type="System.Int32" />
        <Parameter Name="ydith" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="x">a <see cref="T:System.Int32" /></param>
        <param name="y">a <see cref="T:System.Int32" /></param>
        <param name="width">a <see cref="T:System.Int32" /></param>
        <param name="height">a <see cref="T:System.Int32" /></param>
        <param name="dith">a <see cref="T:System.Int32" /></param>
        <param name="rgb_buf">a <see cref="T:System.Byte" /></param>
        <param name="rowstride">a <see cref="T:System.Int32" /></param>
        <param name="xdith">a <see cref="T:System.Int32" /></param>
        <param name="ydith">a <see cref="T:System.Int32" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DrawPolygon">
      <MemberSignature Language="C#" Value="public void DrawPolygon (Gdk.GC gc, bool filled, Gdk.Point[] points);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gc" Type="Gdk.GC" />
        <Parameter Name="filled" Type="System.Boolean" />
        <Parameter Name="points" Type="Gdk.Point[]" />
      </Parameters>
      <Docs>
        <summary>Draws a Polygon connecting a set of points.</summary>
        <param name="gc">a <see cref="T:Gdk.GC" /></param>
        <param name="filled">a <see cref="T:System.Boolean" /></param>
        <param name="points">a <see cref="T:Gdk.Point" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
  </Members>
</Type>