<Type Name="Drag" FullName="Gtk.Drag">
  <TypeSignature Language="C#" Value="public class Drag" Maintainer="Hector Gomez M" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Drag extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
  </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>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>Methods for controlling drag and drop handling.</summary>
    <remarks>
      <para>
      Gtk# has a rich set of methods for doing inter-process communication via the drag-and-drop metaphor. Gtk# can do drag-and-drop (DND) via multiple protocols. The currently supported protocols are the Xdnd and Motif protocols. As well as the methods listed here, applications may need to use some facilities provided for <see cref="T:Gtk.Selection" />. Also, the Drag and Drop API makes use of events in the <see cref="T:Gtk.Widget" /> class.
     </para>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Drag ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>A constructor.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Begin">
      <MemberSignature Language="C#" Value="public static Gdk.DragContext Begin (Gtk.Widget widget, Gtk.TargetList targets, Gdk.DragAction actions, int button, Gdk.Event evnt);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gdk.DragContext Begin(class Gtk.Widget widget, class Gtk.TargetList targets, valuetype Gdk.DragAction actions, int32 button, class Gdk.Event evnt) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.DragContext</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="targets" Type="Gtk.TargetList" />
        <Parameter Name="actions" Type="Gdk.DragAction" />
        <Parameter Name="button" Type="System.Int32" />
        <Parameter Name="evnt" Type="Gdk.Event" />
      </Parameters>
      <Docs>
        <param name="widget">The source <paramref name="widget" />.</param>
        <param name="targets">The targets (data formats) in which the source can provide the data.</param>
        <param name="actions">A bitmask of the allowed drag actions for this drag.</param>
        <param name="button">The button the user clicked to start the drag.</param>
        <param name="evnt">The event that triggered the start of the drag.</param>
        <summary>Initates a drag on the source side.</summary>
        <returns>The context fot this drag.</returns>
        <remarks>
          <para>
	  The method only needs to be used when the application is starting drags itself, and is not needed when <see cref="M:Gtk.Drag.SourceSset" /> is used.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="CheckThreshold">
      <MemberSignature Language="C#" Value="public static bool CheckThreshold (Gtk.Widget widget, int start_x, int start_y, int current_x, int current_y);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool CheckThreshold(class Gtk.Widget widget, int32 start_x, int32 start_y, int32 current_x, int32 current_y) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="start_x" Type="System.Int32" />
        <Parameter Name="start_y" Type="System.Int32" />
        <Parameter Name="current_x" Type="System.Int32" />
        <Parameter Name="current_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <param name="start_x">X coordinate of a start of drag.</param>
        <param name="start_y">Y coordinate of a start of drag.</param>
        <param name="current_x">Current X coordinate.</param>
        <param name="current_y">Current Y coordinate.</param>
        <summary>Checks to see if a mouse drag starting at (<paramref name="start_x" />, <paramref name="start_y" />) and ending at (<paramref name="current_x" />, <paramref name="current_y" />) has passed the GTK# drag threshold, and this should trigger the beginning of a drag-and-drog operation.</summary>
        <returns>
          <see langword="true" /> if the drag threshold has been passed.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DestAddImageTargets">
      <MemberSignature Language="C#" Value="public static void DestAddImageTargets (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void DestAddImageTargets(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="DestAddTextTargets">
      <MemberSignature Language="C#" Value="public static void DestAddTextTargets (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void DestAddTextTargets(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="DestAddUriTargets">
      <MemberSignature Language="C#" Value="public static void DestAddUriTargets (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void DestAddUriTargets(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="DestFindTarget">
      <MemberSignature Language="C#" Value="public static Gdk.Atom DestFindTarget (Gtk.Widget widget, Gdk.DragContext context, Gtk.TargetList target_list);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gdk.Atom DestFindTarget(class Gtk.Widget widget, class Gdk.DragContext context, class Gtk.TargetList target_list) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Atom</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="target_list" Type="Gtk.TargetList" />
      </Parameters>
      <Docs>
        <param name="widget">Drag destination <paramref name="widget" />.</param>
        <param name="context">Drag context.</param>
        <param name="target_list">List of droppable targets, or <see langword="null" /> to use <see cref="M:Gtk.Drag.DestGetTargetList" />.</param>
        <summary>Looks for a match between <paramref name="context" />-&gt;targets and the <paramref name="dest_target_list" />, returning the first matching target, otherwise returning GDK_NONE.</summary>
        <returns>First target that the source offers and the dest can accept. or GDK_NONE.</returns>
        <remarks>
          <para>
            <paramref name="dest_target_list" /> should usually be the return value from <see cref="M:Gtk.Drag.DestGetTargetList" /> but some widgets may have different valid targets for different parts of the <paramref name="widget" />; in that case, they will have to implement a drag_motion handler that passes the correct target list to this method.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="DestGetTargetList">
      <MemberSignature Language="C#" Value="public static Gtk.TargetList DestGetTargetList (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.TargetList DestGetTargetList(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TargetList</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <summary>Returns the list of targets this <paramref name="widget" /> can accept from drag-and-drop.</summary>
        <returns>The <see cref="T:Gtk.TargetList" />, or <see langword="null" /> if none.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DestGetTrackMotion">
      <MemberSignature Language="C#" Value="public static bool DestGetTrackMotion (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool DestGetTrackMotion(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /> to test.</param>
        <summary>Tests if a widget is set to raise drag motion events.</summary>
        <returns>if <see langword="true" />, the widget raises <see cref="M:Gtk.Widget.DragMotion" />.</returns>
        <remarks />
        <since version="Gtk# 2.10" />
      </Docs>
    </Member>
    <Member MemberName="DestSet">
      <MemberSignature Language="C#" Value="public static void DestSet (Gtk.Widget widget, Gtk.DestDefaults flags, Gtk.TargetEntry[] targets, Gdk.DragAction actions);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void DestSet(class Gtk.Widget widget, valuetype Gtk.DestDefaults flags, valuetype Gtk.TargetEntry[] targets, valuetype Gdk.DragAction actions) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="flags" Type="Gtk.DestDefaults" />
        <Parameter Name="targets" Type="Gtk.TargetEntry[]" />
        <Parameter Name="actions" Type="Gdk.DragAction" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <param name="flags">a <see cref="T:Gtk.DestDefaults" />, which types of default drag behavior to use</param>
        <param name="targets">a <see cref="T:Gtk.TargetEntry[]" />, table of targets that can be accepted</param>
        <param name="actions">a <see cref="T:Gdk.DragAction" />, default behaviors</param>
        <summary>Register a drop site and possibly add default behaviors.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DestSetProxy">
      <MemberSignature Language="C#" Value="public static void DestSetProxy (Gtk.Widget widget, Gdk.Window proxy_window, Gdk.DragProtocol protocol, bool use_coordinates);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void DestSetProxy(class Gtk.Widget widget, class Gdk.Window proxy_window, valuetype Gdk.DragProtocol protocol, bool use_coordinates) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="proxy_window" Type="Gdk.Window" />
        <Parameter Name="protocol" Type="Gdk.DragProtocol" />
        <Parameter Name="use_coordinates" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <param name="proxy_window">The window to which to foward drag events.</param>
        <param name="protocol">The drag protocol which the <paramref name="proxy_window" /> accepts (You can use <see cref="M:Gdk.Drag.GetProtocol" />to determine this).</param>
        <param name="use_coordinates">If <see langword="true" />, send the same coordinates to the destination, because it is an embedded subwindow.</param>
        <summary>Sets this <paramref name="widget" /> as a proxy for drops to another window.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DestSetTargetList">
      <MemberSignature Language="C#" Value="public static void DestSetTargetList (Gtk.Widget widget, Gtk.TargetList target_list);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void DestSetTargetList(class Gtk.Widget widget, class Gtk.TargetList target_list) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="target_list" Type="Gtk.TargetList" />
      </Parameters>
      <Docs>
        <param name="widget">A <see cref="T:Gtk.Widget" /> that's a drag destination.</param>
        <param name="target_list">List of droppable targets, or <see langword="null" /> for none.</param>
        <summary>Sets the target types that this <paramref name="widget" /> can accept from drag and drop.</summary>
        <remarks>
          <para>
	  The <paramref name="widget" /> must first be made into a drag destination with <see cref="M:Drag.Fixme" />.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="DestSetTrackMotion">
      <MemberSignature Language="C#" Value="public static void DestSetTrackMotion (Gtk.Widget widget, bool track_motion);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void DestSetTrackMotion(class Gtk.Widget widget, bool track_motion) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="track_motion" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="widget">the <see cref="T:Gtk.Widget" /> to configure.</param>
        <param name="track_motion">turns on motion events if <see langword="true" />.</param>
        <summary>Sets the generic drag motion behavior for a widget.</summary>
        <remarks>This method can be used to make a widget raise <see cref="M:Gtk.Widget.DragMotion" /> events despite its target settings and flags, allowing a widget to perform generic actions regardless of the source widget's target settings.</remarks>
        <since version="Gtk# 2.10" />
      </Docs>
    </Member>
    <Member MemberName="DestUnset">
      <MemberSignature Language="C#" Value="public static void DestUnset (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void DestUnset(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <summary>Clears information about a drop destinantion set with <see cref="M:Gtk.Drag.Fixme" />.</summary>
        <remarks>
          <para>
	  The <paramref name="widget" /> will no longer receive notification of drags.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Finish">
      <MemberSignature Language="C#" Value="public static void Finish (Gdk.DragContext context, bool success, bool del, uint time_);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Finish(class Gdk.DragContext context, bool success, bool del, unsigned int32 time_) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="success" Type="System.Boolean" />
        <Parameter Name="del" Type="System.Boolean" />
        <Parameter Name="time_" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <param name="context">The drag context.</param>
        <param name="success">A flag indicating whether the drop was successful.</param>
        <param name="del">A flag indicating whether the source should delete the original data (this should be <see langword="true" /> for a move).</param>
        <param name="time_">The timestamp from the <see cref="F:Gtk.Widget.DragDrop" /> event.</param>
        <summary>Informs the drag sourcre that the drop is finished, and that the data of the drag will no longer be repaired.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GetData">
      <MemberSignature Language="C#" Value="public static void GetData (Gtk.Widget widget, Gdk.DragContext context, Gdk.Atom target, uint time_);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void GetData(class Gtk.Widget widget, class Gdk.DragContext context, class Gdk.Atom target, unsigned int32 time_) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="target" Type="Gdk.Atom" />
        <Parameter Name="time_" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <param name="widget">The <paramref name="widget" /> that will receive the <see cref="F:Gtk.Widget.DragDataReceived" /> event.</param>
        <param name="context">The drag context.</param>
        <param name="target">The target (form of the data) to retrieve.</param>
        <param name="time_">A timestamp for retrieving the data. This will generally be the time received in a <see cref="F:Gtk.Widget.DragMotion" /> or <see cref="F:Gtk.Widget.DragDrop" /> event.</param>
        <summary>Obtains the data associated with a drag.</summary>
        <remarks>
          <para>
	  When the data is received or the retrieval fails, GTK# will emit a <see cref="F:Gtk.Widget.DragDataReceived" /> event. Failure of the retrieval is indicated by the length field of the <paramref name="selection_data" /> signal parameter being negative. However, when <see cref="M:Gtk.Drag.GetData" /> is called implicitely because the <see cref="F:Gtk.DestDefaults.Drop" /> was set, then the <paramref name="widget" /> will not receive notification of failed drops. 
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetSourceWidget">
      <MemberSignature Language="C#" Value="public static Gtk.Widget GetSourceWidget (Gdk.DragContext context);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.Widget GetSourceWidget(class Gdk.DragContext context) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Widget</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
      </Parameters>
      <Docs>
        <param name="context">A (destination side) drag context.</param>
        <summary>Determines the source <paramref name="widget" /> for a drag.</summary>
        <returns>If the drag is occurring within a single application, a pointer to the source <paramref name="widget" />. Otherwise, <see langword="null" />.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Highlight">
      <MemberSignature Language="C#" Value="public static void Highlight (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Highlight(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">A <paramref name="widget" /> to highlight.</param>
        <summary>Draws a highlight around a <paramref name="widget" />.</summary>
        <remarks>
          <para>
	  This will attach handlers to <see cref="F:Gtk.Widget.ExposeEvent" /> and <see cref="F:Gtk.Widget.QueueDraw" />, so the highlight will continue to be displayed until <see cref="M:Gtk.Drag.Unhighlight" /> is called.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="IconDefault">
      <MemberSignature Language="C#" Value="public static Gdk.DragContext IconDefault { set; }" />
      <MemberSignature Language="ILAsm" Value=".property class Gdk.DragContext IconDefault" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Replaced by SetIconDefault(ctx)")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Gdk.DragContext</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Obsolete. Replaced by <see cref="M:Gtk.Drag.SetIconDefault" /></summary>
        <value />
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SetIconDefault">
      <MemberSignature Language="C#" Value="public static void SetIconDefault (Gdk.DragContext context);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetIconDefault(class Gdk.DragContext context) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
      </Parameters>
      <Docs>
        <param name="context">The context of the drag (this must be called with a context for the source side of a drag).</param>
        <summary>Sets the icon for a particular drag to the default icon.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SetIconName">
      <MemberSignature Language="C#" Value="public static void SetIconName (Gdk.DragContext context, string icon_name, int hot_x, int hot_y);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetIconName(class Gdk.DragContext context, string icon_name, int32 hot_x, int32 hot_y) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="icon_name" Type="System.String" />
        <Parameter Name="hot_x" Type="System.Int32" />
        <Parameter Name="hot_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="context">The drag context.</param>
        <param name="icon_name">name of an Icon in the Icon theme.</param>
        <param name="hot_x">the x offset within the icon of the hotspot.</param>
        <param name="hot_y">the y offset within the icon of the hotspot.</param>
        <summary>Sets the icon for a drag using a name from an Icon theme.</summary>
        <remarks />
        <since version="Gtk# 2.8" />
      </Docs>
    </Member>
    <Member MemberName="SetIconPixbuf">
      <MemberSignature Language="C#" Value="public static void SetIconPixbuf (Gdk.DragContext context, Gdk.Pixbuf pixbuf, int hot_x, int hot_y);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetIconPixbuf(class Gdk.DragContext context, class Gdk.Pixbuf pixbuf, int32 hot_x, int32 hot_y) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="pixbuf" Type="Gdk.Pixbuf" />
        <Parameter Name="hot_x" Type="System.Int32" />
        <Parameter Name="hot_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="context">The context for a drag (this must be called with a context for the source side of a drag).</param>
        <param name="pixbuf">The <see cref="T:Gdk.Pixbuf" /> to use as the drag icon.</param>
        <param name="hot_x">The X offset within <paramref name="widget" /> of the hotspot.</param>
        <param name="hot_y">The Y offset within <paramref name="widget" /> of the hotspot.</param>
        <summary>Sets <paramref name="pixbuf" /> as the icon for a given drag.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SetIconStock">
      <MemberSignature Language="C#" Value="public static void SetIconStock (Gdk.DragContext context, string stock_id, int hot_x, int hot_y);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetIconStock(class Gdk.DragContext context, string stock_id, int32 hot_x, int32 hot_y) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="stock_id" Type="System.String" />
        <Parameter Name="hot_x" Type="System.Int32" />
        <Parameter Name="hot_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="context">The context of the drag (this must be called with a context for the source side of a drag).</param>
        <param name="stock_id">The ID of the stock icon to use for the drag.</param>
        <param name="hot_x">The X offset within the icon of the hotspot.</param>
        <param name="hot_y">The Y offset within the icon of the hotspot.</param>
        <summary>Sets the icon for a given drag from a stock ID.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SetIconSurface">
      <MemberSignature Language="C#" Value="public static void SetIconSurface (Gdk.DragContext context, Cairo.Surface surface);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetIconSurface(class Gdk.DragContext context, class Cairo.Surface surface) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="surface" Type="Cairo.Surface" />
      </Parameters>
      <Docs>
        <param name="context">To be added.</param>
        <param name="surface">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="SetIconWidget">
      <MemberSignature Language="C#" Value="public static void SetIconWidget (Gdk.DragContext context, Gtk.Widget widget, int hot_x, int hot_y);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetIconWidget(class Gdk.DragContext context, class Gtk.Widget widget, int32 hot_x, int32 hot_y) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="context" Type="Gdk.DragContext" />
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="hot_x" Type="System.Int32" />
        <Parameter Name="hot_y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="context">The context for a drag (this must be called with a context for the source side of a drag.</param>
        <param name="widget">A toplevel window to use as an icon.</param>
        <param name="hot_x">The X offset within <paramref name="widget" /> of the hotspot.</param>
        <param name="hot_y">The Y offset within <paramref name="widget" /> of the hotspot.</param>
        <summary>Changes the icon for a <paramref name="widget" /> to a given <paramref name="widget" />.</summary>
        <remarks>
          <para>
	  GTK# will not destroy the icon, so if you don't want it to persist, you should connect to the <see cref="F:Gtk.Widgart.DragEnd" /> event and destroy it yourself.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SourceAddImageTargets">
      <MemberSignature Language="C#" Value="public static void SourceAddImageTargets (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SourceAddImageTargets(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="SourceAddTextTargets">
      <MemberSignature Language="C#" Value="public static void SourceAddTextTargets (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SourceAddTextTargets(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="SourceAddUriTargets">
      <MemberSignature Language="C#" Value="public static void SourceAddUriTargets (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SourceAddUriTargets(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
    <Member MemberName="SourceGetTargetList">
      <MemberSignature Language="C#" Value="public static Gtk.TargetList SourceGetTargetList (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.TargetList SourceGetTargetList(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TargetList</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <summary>
	  Gets the list of targets this widget can provide for drag-and-drop.
	</summary>
        <returns>a <see cref="T:Gtk.TargetList" />, or <see langword="null" /> if none.</returns>
        <remarks>
        </remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="SourceSet">
      <MemberSignature Language="C#" Value="public static void SourceSet (Gtk.Widget widget, Gdk.ModifierType start_button_mask, Gtk.TargetEntry[] targets, Gdk.DragAction actions);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SourceSet(class Gtk.Widget widget, valuetype Gdk.ModifierType start_button_mask, valuetype Gtk.TargetEntry[] targets, valuetype Gdk.DragAction actions) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="start_button_mask" Type="Gdk.ModifierType" />
        <Parameter Name="targets" Type="Gtk.TargetEntry[]" />
        <Parameter Name="actions" Type="Gdk.DragAction" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <param name="start_button_mask">The bitmask of buttons that can start the drag.</param>
        <param name="targets">The table of targets that the drag will support.</param>
        <param name="actions">the bitmask of possible actions for a drag from this <paramref name="widget" />.</param>
        <summary>Sets up a <paramref name="widget" /> so that Gtk# will start a drag operation when the user clicks and drags on the <paramref name="widget" />.</summary>
        <remarks>The <paramref name="widget" /> must have a window.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SourceSetIconName">
      <MemberSignature Language="C#" Value="public static void SourceSetIconName (Gtk.Widget widget, string icon_name);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SourceSetIconName(class Gtk.Widget widget, string icon_name) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="icon_name" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="widget">the source widget.</param>
        <param name="icon_name">the name of an Icon in the Icon theme.</param>
        <summary>Sets a source icon by name from an Icon theme.</summary>
        <remarks />
        <since version="Gtk# 2.8" />
      </Docs>
    </Member>
    <Member MemberName="SourceSetIconPixbuf">
      <MemberSignature Language="C#" Value="public static void SourceSetIconPixbuf (Gtk.Widget widget, Gdk.Pixbuf pixbuf);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SourceSetIconPixbuf(class Gtk.Widget widget, class Gdk.Pixbuf pixbuf) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="pixbuf" Type="Gdk.Pixbuf" />
      </Parameters>
      <Docs>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <param name="pixbuf">The <see cref="T:Gdk.Pixbuf" /> for the drag icon.</param>
        <summary>Sets the icon that will be used for drags from a particular <paramref name="widget" /> from a <see cref="T:Gdk.Pixbuf" />.</summary>
        <remarks>
          <para>
	  GTK# retains a reference for <paramref name="pixbuf" /> and will release it when it is no longer needed.
	 </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SourceSetIconStock">
      <MemberSignature Language="C#" Value="public static void SourceSetIconStock (Gtk.Widget widget, string stock_id);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SourceSetIconStock(class Gtk.Widget widget, string stock_id) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="stock_id" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <param name="stock_id">The ID of the stock icon to use.</param>
        <summary>Sets the icon that will be used for drags from a particular source to a stock icon.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="SourceSetTargetList">
      <MemberSignature Language="C#" Value="public static void SourceSetTargetList (Gtk.Widget widget, Gtk.TargetList target_list);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SourceSetTargetList(class Gtk.Widget widget, class Gtk.TargetList target_list) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
        <Parameter Name="target_list" Type="Gtk.TargetList" />
      </Parameters>
      <Docs>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <param name="target_list">a <see cref="T:Gtk.TargetList" /></param>
        <summary>
	  Changes the target types that this widget offers for drag-and-drop.
	  The widget must first be made into a drag source with
	  gtk_drag_source_set().
	</summary>
        <remarks>
        </remarks>
        <since version="Gtk# 2.4" />
      </Docs>
    </Member>
    <Member MemberName="SourceUnset">
      <MemberSignature Language="C#" Value="public static void SourceUnset (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SourceUnset(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <summary>Undoes the effects of <see cref="M:Gtk.Drag.SourceSet" />.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Unhighlight">
      <MemberSignature Language="C#" Value="public static void Unhighlight (Gtk.Widget widget);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Unhighlight(class Gtk.Widget widget) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widget" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
        <summary>Removes a highlight set by <see cref="M:Gtk.Drag.Highlight" /> from a <paramref name="widget" />.</summary>
        <remarks />
      </Docs>
    </Member>
  </Members>
</Type>
