<Type Name="EventButton" FullName="Gdk.EventButton">
  <TypeSignature Language="C#" Value="public sealed struct EventButton;" 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>Used for button press and button release events.</summary>
    <remarks>
      <para>
        Used for button press and button release events. The type
        field will be one of <see cref="F:Gdk.EventType.ButtonPress" />,
        <see cref="F:Gdk.EventType.TwoButtonPress" />,
        <see cref="F:Gdk.EventType.ThreeButtonPress" />,
        and <see cref="F:Gdk.EventType.ButtonRelease" /></para>
      <para>
        Double and triple-clicks result in a sequence of events being received. For double-clicks the order of events will be:

        <list type="number">
          <item>
            <term>
              <see cref="T:Gdk.EventType.ButtonPress" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.ButtonRelease" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.ButtonPress" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.TwoButtonPress" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.ButtonRelease" />
            </term>
          </item>
        </list></para>
      <para>
        Note that the first click is received just like a normal
        button press, while the second click results in a
        <see cref="T:Gdk.EventType.TwoButtonPress" /> being received just after the
        <see cref="T:Gdk.EventType.ButtonPress" />. Triple-clicks are very similar to
        double-clicks, except that <see cref="T:Gdk.EventType.ThreeButtonPress" /> is inserted after
        the third click. The order of the events is:

        <list type="number">
          <item>
            <term>
              <see cref="T:Gdk.EventType.ButtonPress" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.ButtonRelease" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.ButtonPress" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.TwoButtonPress" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.ButtonRelease" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.ButtonPress" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.ThreeButtonPress" />
            </term>
          </item>
          <item>
            <term>
              <see cref="T:Gdk.EventType.ButtonRelease" />
            </term>
          </item>
        </list></para>
      <para>
        For a double click to occur, the second button press must
        occur within 1/4 of a second of the first. For a triple click
        to occur, the third button press must also occur within 1/2
        second of the first button press.
      </para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.ValueType</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes />
  <Members>
    <Member MemberName="Zero">
      <MemberSignature Language="C#" Value="public static Gdk.EventButton Zero;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.EventButton</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="type">
      <MemberSignature Language="C#" Value="public Gdk.EventType type;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.EventType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="time">
      <MemberSignature Language="C#" Value="public uint time;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="x">
      <MemberSignature Language="C#" Value="public double x;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="y">
      <MemberSignature Language="C#" Value="public double y;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="state">
      <MemberSignature Language="C#" Value="public uint state;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="button">
      <MemberSignature Language="C#" Value="public uint button;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="x_root">
      <MemberSignature Language="C#" Value="public double x_root;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="y_root">
      <MemberSignature Language="C#" Value="public double y_root;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="New">
      <MemberSignature Language="C#" Value="public static Gdk.EventButton New (IntPtr raw);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.EventButton</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="raw">To be added: an object of type 'IntPtr'</param>
        <returns>To be added: an object of type 'Gdk.EventButton'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="device">
      <MemberSignature Language="C#" Value="public Gdk.Device device { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Device</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="value">To be added: an object of type 'Gdk.Device'</param>
        <returns>To be added: an object of type 'Gdk.Device'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="window">
      <MemberSignature Language="C#" Value="public Gdk.Window window { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Window</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>the window which received the event.</summary>
        <param name="value">the window which received the event.</param>
        <returns>the window which received the event.</returns>
        <remarks></remarks>
      </Docs>
    </Member>
    <Member MemberName="send_event">
      <MemberSignature Language="C#" Value="public sbyte send_event;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.SByte</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>TRUE if the event was sent explicitly (e.g. using XSendEvent).</summary>
        <remarks></remarks>
      </Docs>
    </Member>
  </Members>
</Type>