<Type Name="EventVisibility" FullName="Gdk.EventVisibility">
  <TypeSignature Language="C#" Value="public sealed struct EventVisibility;" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>gdk-sharp</AssemblyName>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
    <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>Generated when the window visibility status has changed.</summary>
    <remarks>
      <para>
	The type member is set to the event type constant name that
        uniquely identifies it.
      </para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.ValueType</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes />
  <Members>
    <Member MemberName="Zero">
      <MemberSignature Language="C#" Value="public static Gdk.EventVisibility Zero;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.EventVisibility</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>The type for this event</summary>
        <remarks>The value type for this event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="_window">
      <MemberSignature Language="C#" Value="public IntPtr _window;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="state">
      <MemberSignature Language="C#" Value="public Gdk.VisibilityState state;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.VisibilityState</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The visibility state for the window.</summary>
        <remarks>
	  <para>
	    The state member is set to the state of the window's
	    visibility and can be VisibilityUnobscured,
	    VisibilityPartiallyObscured, or VisibilityFullyObscured.
	    The X server ignores all of a window's subwindows when
	    determining the visibility state of the window and
	    processes VisibilityNotify events according to the
	    following:
	  </para>
	  <para>
	    When the window changes state from partially obscured, fully
            obscured, or not viewable to viewable and completely unobscured,
            the X server generates the event with the state member of the
            EventVisibility structure set to Gdk.Visibility.Unobscured.
	  </para>
	  <para>
	    When the window changes state from viewable and completely unob-
            scured or not viewable to viewable and partially obscured, the X
            server generates the event with the state member of the XVisibili-
            tyEvent structure set to Gdk.Visibility.Partial.
	  </para>
	  <para>
	    When the window changes state from viewable and completely
            unobscured, viewable and partially obscured, or not
            viewable to viewable and fully obscured, the X server
            generates the event with the state member of the
            XVisibilityEvent structure set to
            Gdk.Visibility.FullyObscured.
	  </para>
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="New">
      <MemberSignature Language="C#" Value="public static Gdk.EventVisibility New (IntPtr raw);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.EventVisibility</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.EventVisibility'</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 whose visibility changed.</summary>
        <param name="value">The window whose visibility changed.</param>
        <returns>The window whose visibility changed.</returns>
        <remarks>
	  <para>
	    The <see cref="P:Gdk.EventVisibility.state"/> property
	    reports the state changed for the window.
	  </para>
	</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>Non-zero if the event was sent explicitly (e.g. using XSendEvent).</summary>
        <remarks></remarks>
      </Docs>
    </Member>
  </Members>
</Type>