<Type Name="Display" FullName="Gdk.Display">
  <TypeSignature Language="C#" Value="public class Display : 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>
      <para>Controls the keyboard/mouse pointer grabs and a set of GdkScreens.</para>
    </summary>
    <remarks>
      <para>
        <see cref="T:Gdk.Display" /> objects purpose are two fold:</para>
      <list type="bullet">
        <item>
          <term>To grab/ungrab keyboard focus and mouse pointer</term>
        </item>
        <item>
          <term>To manage and provide information about the <see cref="T:Gdk.Screen" />(s) available for this <see cref="T:Gdk.Display" /></term>
        </item>
      </list>
      <para>
        <see cref="T:Gdk.Display" /> objects are the GDK representation of the X Display which can be described as a workstation consisting of a keyboard a pointing device (such as a mouse) and one or more screens. It is used to open and keep track of various <see cref="T:Gdk.Screen" /> objects currently instanciated by the application. It is also used to grab and release the keyboard and the mouse pointer.</para>
    </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="OpenDefaultLibgtkOnly">
      <MemberSignature Language="C#" Value="public static Gdk.Display OpenDefaultLibgtkOnly ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Display</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <returns>a <see cref="T:Gdk.Display" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Open">
      <MemberSignature Language="C#" Value="public static Gdk.Display Open (string display_name);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Display</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="display_name" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Opens a display.</summary>
        <param name="display_name">a <see cref="T:System.String" /> -  the name of the display to open</param>
        <returns>a <see cref="T:Gdk.Display" />, or null if the display could not be opened.</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="PutEvent">
      <MemberSignature Language="C#" Value="public void PutEvent (Gdk.Event evnt);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="evnt" Type="Gdk.Event" />
      </Parameters>
      <Docs>
        <summary>Appends the given event onto the front of the event queue for display.</summary>
        <param name="evnt">a <see cref="T:Gdk.Event" /> to be appended onto the front of the event queue.</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="AddClientMessageFilter">
      <MemberSignature Language="C#" Value="public void AddClientMessageFilter (Gdk.Atom message_type, Gdk.FilterFunc func);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="message_type" Type="Gdk.Atom" />
        <Parameter Name="func" Type="Gdk.FilterFunc" />
      </Parameters>
      <Docs>
        <summary>Adds a filter to be called when X ClientMessage events are received.</summary>
        <param name="message_type">a <see cref="T:Gdk.Atom" /> representing the type of ClientMessage events to receive.</param>
        <param name="func">a <see cref="T:Gdk.FilterFunc" /> to call to process the event.</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="PointerIsGrabbed">
      <MemberSignature Language="C#" Value="public bool PointerIsGrabbed ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Test if the pointer is grabbed.</summary>
        <returns>a <see cref="T:System.Boolean" /> that is true if an active X pointer grab is in effect.</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Beep">
      <MemberSignature Language="C#" Value="public void Beep ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Emits a short beep.</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="PeekEvent">
      <MemberSignature Language="C#" Value="public Gdk.Event PeekEvent ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Event</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets a copy of the first <see cref="T:Gdk.Event" /> in the display's event queue, without removing the event from the queue. (Note that this function will not get more events from the windowing system. It only checks the events that have already been moved to the GDK event queue.)</summary>
        <returns>a copy of the first <see cref="T:Gdk.Event" /> on the event queue, or null if no events are in the queue.</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Close">
      <MemberSignature Language="C#" Value="public void Close ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Closes the connection windowing system for the given display, and cleans up associated resources.</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetScreen">
      <MemberSignature Language="C#" Value="public Gdk.Screen GetScreen (int screen_num);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Screen</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="screen_num" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Returns a screen object for one of the screens of the display.</summary>
        <param name="screen_num">a <see cref="T:System.Int32" /> representing the screen number</param>
        <returns>a <see cref="T:Gdk.Screen" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetPointerHooks">
      <MemberSignature Language="C#" Value="public Gdk.DisplayPointerHooks SetPointerHooks (Gdk.DisplayPointerHooks new_hooks);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.DisplayPointerHooks</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="new_hooks" Type="Gdk.DisplayPointerHooks" />
      </Parameters>
      <Docs>
        <summary>
        </summary>
        <param name="new_hooks">a <see cref="T:Gdk.DisplayPointerHooks" /></param>
        <returns> the previous <see cref="T:Gdk.DisplayPointerHooks" /> table</returns>
        <remarks>
          <para>
	     This function allows for hooking into the operation of
	     getting the current location of the pointer on a
	     particular display. This is only useful for such
	     low-level tools as an event recorder. Applications
	     should never have any reason to use this facility.
	   </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="KeyboardUngrab">
      <MemberSignature Language="C#" Value="public void KeyboardUngrab (uint time_);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="time_" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <summary>Release any keyboard grab.</summary>
        <param name="time_">a <see cref="T:System.UInt32" /> representing a  a timestap.</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="PointerUngrab">
      <MemberSignature Language="C#" Value="public void PointerUngrab (uint time_);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="time_" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <summary>Release any pointer grab.</summary>
        <param name="time_">a <see cref="T:System.UInt32" /> representing a  a timestap.</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Sync">
      <MemberSignature Language="C#" Value="public void Sync ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</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>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Display (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="raw">a <see cref="T:System.IntPtr" /></param>
        <returns>a <see cref="T:Gdk.Display" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected Display ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <returns>a <see cref="T:Gdk.Display" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Default">
      <MemberSignature Language="C#" Value="public static Gdk.Display Default { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Display</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Get the default <see cref="T:Gdk.Screen" /> for the display.</summary>
        <returns> the default <see cref="T:Gdk.Screen" /> object for display.</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Name">
      <MemberSignature Language="C#" Value="public string Name { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The name of the display</summary>
        <returns>A <see cref="T:System.String" /> representing the
        display name.</returns>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="DoubleClickTime">
      <MemberSignature Language="C#" Value="public uint DoubleClickTime { set; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Sets the double-click timeout.</summary>
        <param name="value">a <see cref="T:System.UInt32" /></param>
        <returns>a <see cref="T:Gdk.Display" />, or null if there is no default display.</returns>
        <remarks>
          <para>Sets the double click time (two clicks within this
	      time interval count as a double click). Applications
	      should NOT set this, it is a global user-configured
	      setting.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="DefaultScreen">
      <MemberSignature Language="C#" Value="public Gdk.Screen DefaultScreen { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Screen</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The default screen..</summary>
        <returns>The screen represending the DefaultScreen.</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="CorePointer">
      <MemberSignature Language="C#" Value="public Gdk.Device CorePointer { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Device</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
	      To be added
        </summary>
        <returns>a <see cref="T:Gdk.Device" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Event">
      <MemberSignature Language="C#" Value="public Gdk.Event Event { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Event</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <returns>
        </returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="NScreens">
      <MemberSignature Language="C#" Value="public int NScreens { 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>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Closed">
      <MemberSignature Language="C#" Value="public event Gdk.ClosedHandler Closed;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.ClosedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets the next <see cref="T:Gdk.Event" /> to be processed for display, fetching events from the windowing system if necessary.</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetPointer">
      <MemberSignature Language="C#" Value="public void GetPointer (Gdk.Screen screen, out int x, out int y, out Gdk.ModifierType mask);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="screen" Type="Gdk.Screen" />
        <Parameter Name="x" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="y" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="mask" Type="Gdk.ModifierType&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <summary>Gets the current location of the pointer and the
        current modifier mask for a given display.</summary>
        <param name="screen">a <see cref="T:Gdk.Screen" /></param>
        <param name="x">a <see cref="T:System.Int32&amp;" /></param>
        <param name="y">a <see cref="T:System.Int32&amp;" /></param>
        <param name="mask">a <see cref="T:Gdk.ModifierType&amp;" /></param>
        <remarks>None</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetWindowAtPointer">
      <MemberSignature Language="C#" Value="public Gdk.Window GetWindowAtPointer (out int win_x, out int win_y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Window</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="win_x" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="win_y" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <summary>Obtains the window underneath the mouse pointer.</summary>
        <param name="win_x">a <see cref="T:System.Int32&amp;" /></param>
        <param name="win_y">a <see cref="T:System.Int32&amp;" /></param>
        <returns>a <see cref="T:Gdk.Window" /></returns>
        <remarks>Obtains the window underneath the mouse pointer,
        returning the location of that window in win_x, win_y for
        screen. Returns NULL if the window under the mouse pointer is
        not known to GDK (for example, belongs to another application).</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>Gets the current location of the pointer and the current modifier mask for a given display.</summary>
        <returns>a <see cref="T:GLib.GType" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="OverrideClosed">
      <MemberSignature Language="C#" Value="protected static void OverrideClosed (GLib.GType gtype);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>To be added.</summary>
        <param name="win_x">a <see cref="T:System.Int32&amp;" /> -  return location for origin of the window under the pointer</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnClosed">
      <MemberSignature Language="C#" Value="protected virtual void OnClosed (bool is_error);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="is_error" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="is_error">a <see cref="T:System.Boolean" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected Display (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <returns>a <see cref="T:Gdk.Display" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="ListDevices">
      <MemberSignature Language="C#" Value="public Gdk.Device[] ListDevices ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Device[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Returns the list of available input devices attached to the display.</summary>
        <returns>a <see cref="T:Gdk.Device[]" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
