Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 404d46ca9bb341d7a0e7e04bc69da9df > files > 768

ghc-gtk-devel-0.12.0-4.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Graphics.UI.Gtk.Gdk.EventM</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Graphics-UI-Gtk-Gdk-EventM.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Graphics-UI-Gtk-Gdk-EventM.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">gtk-0.12.0: Binding to the Gtk+ graphical user interface library.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>portable (depends on GHC)</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Maintainer</th><td>gtk2hs-users\@lists.sourceforge.net</td></tr></table><p class="caption">Graphics.UI.Gtk.Gdk.EventM</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Detail
</a></li><li><a href="#g:2">Event monad and type tags
</a></li><li><a href="#g:3">Accessor functions for event information
</a></li><li><a href="#g:4">Auxilliary Definitions
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Types and accessors to examine information in events.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:EventM">EventM</a> t a = <a href="/usr/share/doc/ghc/html/libraries/mtl-2.0.1.0/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> t) <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:EAny">EAny</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EKey">EKey</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EButton">EButton</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EScroll">EScroll</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EMotion">EMotion</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EExpose">EExpose</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EVisibility">EVisibility</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:ECrossing">ECrossing</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EFocus">EFocus</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EConfigure">EConfigure</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EProperty">EProperty</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EProximity">EProximity</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EWindowState">EWindowState</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EOwnerChange">EOwnerChange</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:EGrabBroken">EGrabBroken</a> </li><li class="src short"><a href="#v:eventWindow">eventWindow</a> ::  <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> any <a href="Graphics-UI-Gtk-Gdk-DrawWindow.html#t:DrawWindow">DrawWindow</a></li><li class="src short"><a href="#v:eventSent">eventSent</a> ::  <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> any <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:eventCoordinates">eventCoordinates</a> :: HasCoordinates t =&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> t (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a>)</li><li class="src short"><a href="#v:eventRootCoordinates">eventRootCoordinates</a> :: HasRootCoordinates t =&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> t (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a>)</li><li class="src short"><a href="#v:eventModifier">eventModifier</a> :: HasModifier t =&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> t [<a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Modifier">Modifier</a>]</li><li class="src short"><a href="#v:eventModifierAll">eventModifierAll</a> :: HasModifier t =&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> t [<a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Modifier">Modifier</a>]</li><li class="src short"><a href="#v:eventTime">eventTime</a> :: HasTime t =&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> t <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:TimeStamp">TimeStamp</a></li><li class="src short"><a href="#v:eventKeyVal">eventKeyVal</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EKey">EKey</a> <a href="Graphics-UI-Gtk-Gdk-Keys.html#t:KeyVal">KeyVal</a></li><li class="src short"><a href="#v:eventKeyName">eventKeyName</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EKey">EKey</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></li><li class="src short"><a href="#v:eventHardwareKeycode">eventHardwareKeycode</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EKey">EKey</a> <a href="Graphics-UI-Gtk-Gdk-Keys.html#t:KeyCode">KeyCode</a></li><li class="src short"><a href="#v:eventKeyboardGroup">eventKeyboardGroup</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EKey">EKey</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a></li><li class="src short"><a href="#v:eventButton">eventButton</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EButton">EButton</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:MouseButton">MouseButton</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Click">Click</a> <ul class="subs"><li>= <a href="#v:SingleClick">SingleClick</a>  </li><li>| <a href="#v:DoubleClick">DoubleClick</a>  </li><li>| <a href="#v:TripleClick">TripleClick</a>  </li><li>| <a href="#v:ReleaseClick">ReleaseClick</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ScrollDirection">ScrollDirection</a> <ul class="subs"><li>= <a href="#v:ScrollUp">ScrollUp</a>  </li><li>| <a href="#v:ScrollDown">ScrollDown</a>  </li><li>| <a href="#v:ScrollLeft">ScrollLeft</a>  </li><li>| <a href="#v:ScrollRight">ScrollRight</a>  </li></ul></li><li class="src short"><a href="#v:eventScrollDirection">eventScrollDirection</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EScroll">EScroll</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ScrollDirection">ScrollDirection</a></li><li class="src short"><a href="#v:eventIsHint">eventIsHint</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EMotion">EMotion</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:eventArea">eventArea</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EExpose">EExpose</a> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:Rectangle">Rectangle</a></li><li class="src short"><a href="#v:eventRegion">eventRegion</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EExpose">EExpose</a> <a href="Graphics-UI-Gtk-Gdk-Region.html#t:Region">Region</a></li><li class="src short"><a href="#v:eventVisibilityState">eventVisibilityState</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EVisibility">EVisibility</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:VisibilityState">VisibilityState</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:CrossingMode">CrossingMode</a> <ul class="subs"><li>= <a href="#v:CrossingNormal">CrossingNormal</a>  </li><li>| <a href="#v:CrossingGrab">CrossingGrab</a>  </li><li>| <a href="#v:CrossingUngrab">CrossingUngrab</a>  </li><li>| <a href="#v:CrossingGtkGrab">CrossingGtkGrab</a>  </li><li>| <a href="#v:CrossingGtkUngrab">CrossingGtkUngrab</a>  </li><li>| <a href="#v:CrossingStateChanged">CrossingStateChanged</a>  </li></ul></li><li class="src short"><a href="#v:eventCrossingMode">eventCrossingMode</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:CrossingMode">CrossingMode</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:NotifyType">NotifyType</a> <ul class="subs"><li>= <a href="#v:NotifyAncestor">NotifyAncestor</a>  </li><li>| <a href="#v:NotifyVirtual">NotifyVirtual</a>  </li><li>| <a href="#v:NotifyInferior">NotifyInferior</a>  </li><li>| <a href="#v:NotifyNonlinear">NotifyNonlinear</a>  </li><li>| <a href="#v:NotifyNonlinearVirtual">NotifyNonlinearVirtual</a>  </li><li>| <a href="#v:NotifyUnknown">NotifyUnknown</a>  </li></ul></li><li class="src short"><a href="#v:eventNotifyType">eventNotifyType</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:NotifyType">NotifyType</a></li><li class="src short"><a href="#v:eventCrossingFocus">eventCrossingFocus</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:eventFocusIn">eventFocusIn</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EFocus">EFocus</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:eventPosition">eventPosition</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EConfigure">EConfigure</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a>)</li><li class="src short"><a href="#v:eventSize">eventSize</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EConfigure">EConfigure</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a>)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:WindowState">WindowState</a> <ul class="subs"><li>= <a href="#v:WindowStateWithdrawn">WindowStateWithdrawn</a>  </li><li>| <a href="#v:WindowStateIconified">WindowStateIconified</a>  </li><li>| <a href="#v:WindowStateMaximized">WindowStateMaximized</a>  </li><li>| <a href="#v:WindowStateSticky">WindowStateSticky</a>  </li><li>| <a href="#v:WindowStateFullscreen">WindowStateFullscreen</a>  </li><li>| <a href="#v:WindowStateAbove">WindowStateAbove</a>  </li><li>| <a href="#v:WindowStateBelow">WindowStateBelow</a>  </li></ul></li><li class="src short"><a href="#v:eventWindowStateChanged">eventWindowStateChanged</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EWindowState">EWindowState</a> [<a href="Graphics-UI-Gtk-Gdk-EventM.html#t:WindowState">WindowState</a>]</li><li class="src short"><a href="#v:eventWindowState">eventWindowState</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EWindowState">EWindowState</a> [<a href="Graphics-UI-Gtk-Gdk-EventM.html#t:WindowState">WindowState</a>]</li><li class="src short"><a href="#v:eventChangeReason">eventChangeReason</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EOwnerChange">EOwnerChange</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:OwnerChange">OwnerChange</a></li><li class="src short"><a href="#v:eventSelection">eventSelection</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EOwnerChange">EOwnerChange</a> <a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionTag">SelectionTag</a></li><li class="src short"><a href="#v:eventSelectionTime">eventSelectionTime</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EOwnerChange">EOwnerChange</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:TimeStamp">TimeStamp</a></li><li class="src short"><a href="#v:eventKeyboardGrab">eventKeyboardGrab</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EGrabBroken">EGrabBroken</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:eventImplicit">eventImplicit</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EGrabBroken">EGrabBroken</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:eventGrabWindow">eventGrabWindow</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EGrabBroken">EGrabBroken</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graphics-UI-Gtk-Gdk-DrawWindow.html#t:DrawWindow">DrawWindow</a>)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Modifier">Modifier</a> <ul class="subs"><li>= <a href="#v:Shift">Shift</a>  </li><li>| <a href="#v:Lock">Lock</a>  </li><li>| <a href="#v:Control">Control</a>  </li><li>| <a href="#v:Alt">Alt</a>  </li><li>| <a href="#v:Alt2">Alt2</a>  </li><li>| <a href="#v:Alt3">Alt3</a>  </li><li>| <a href="#v:Alt4">Alt4</a>  </li><li>| <a href="#v:Alt5">Alt5</a>  </li><li>| <a href="#v:Button1">Button1</a>  </li><li>| <a href="#v:Button2">Button2</a>  </li><li>| <a href="#v:Button3">Button3</a>  </li><li>| <a href="#v:Button4">Button4</a>  </li><li>| <a href="#v:Button5">Button5</a>  </li><li>| <a href="#v:Super">Super</a>  </li><li>| <a href="#v:Hyper">Hyper</a>  </li><li>| <a href="#v:Meta">Meta</a>  </li><li>| <a href="#v:Release">Release</a>  </li><li>| <a href="#v:ModifierMask">ModifierMask</a>  </li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:TimeStamp">TimeStamp</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word32">Word32</a></li><li class="src short"><a href="#v:currentTime">currentTime</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:TimeStamp">TimeStamp</a></li><li class="src short"><a href="#v:tryEvent">tryEvent</a> ::  <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> any <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a> -&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> any <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:stopEvent">stopEvent</a> ::  <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> any <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li></ul></div><div id="interface"><h1 id="g:1">Detail
</h1><div class="doc"><p>This modules provides a monad that encapsulates the information in an
   event.
</p><p>The events a widget can receive are defined in
   <a href="Graphics-UI-Gtk-Abstract-Widget.html#7">Graphics.UI.Gtk.Abstract.Widget</a>. Every event carries additional
   information which is accessible through functions in the <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a></code> monad.
   For instance, every event is associated with a
   <code>Graphics.UI.Gtk.Gdk.DrawWindow.DrawWindow</code> which is accessed using the
   <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:eventWindow">eventWindow</a></code> accessor function. Other information is only available in
   one specific event. For example, the
   area that has to be redrawn, accessed by <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:eventArea">eventArea</a></code> is only available in
   the <code>Graphics.UI.Gtk.Abstract.Widget.exposeEvent</code>. Indeed, you can only
   call <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:eventArea">eventArea</a></code> if the first type parameter of <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a></code> is the phantom
   type <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EExpose">EExpose</a></code>. (A phantom type is a type for which no values exist and
   which is only used to enforce certain constraints on the usage of
   functions such as <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:eventArea">eventArea</a></code>.) Some information is available in several
   but not all events. In order to express these constraints the module
   defines type classes whose names start with <code>Has...</code> but which are not
   exported, implying that no new instance can be created. (They could be
   called phantom type classes.) For instance, the mouse pointer coordinates
   can be retrieved using the function <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:eventCoordinates">eventCoordinates</a></code> which requires
   that the first type parameter of <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a></code> is in the class
   <code>HasCoordinates</code>. The module supplies instance of class <code>HasCoordinates</code>
   for the types <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EButton">EButton</a></code>, <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a></code>, <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EMotion">EMotion</a></code> and <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EScroll">EScroll</a></code>. Thus for
   all events that require an <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a></code> action with one of the types above,
   the accessor function <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:eventCoordinates">eventCoordinates</a></code> may be used.
</p><p>Note that an event handler must always returns <code>True</code> if the event
   was handled or <code>False</code> if the event should be dealt with by another
   event handler. For instance, a handler for a key press should return
   <code>False</code> if the pressed key is not one of those that the widget reacts
   to. In this case the event is passed to the parent widgets. This
   ensures that pressing, say, <code>Alt-F</code> opens the file menu even if the
   current input focus is in a text entry widget. In order to facilitate
   writing handlers that may abort handling an event, this module provides
   the function <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:tryEvent">tryEvent</a></code>. This function catches pattern match exceptions
   and returns <code>False</code>. If the signal successfully runs to its end, it
   returns <code>True</code>. A typical use is as follows:
</p><pre> widget `on` keyPressEvent $ tryEvent $ do
   [Control] &lt;- eventModifier
   &quot;Return&quot; &lt;- eventKeyName
   liftIO $ putStrLn &quot;Ctrl-Return pressed&quot;
</pre><p>The rationale is that the action will throw an exception if the
   two event functions <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:eventModifier">eventModifier</a></code> and <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:eventKeyName">eventKeyName</a></code> return something
   else than what is stated in
   the pattern. When no exception is thrown, execution continues to
   the last statement where the event is processed, here we merely
   print a message. Note that the return
   value of this statement must be <code>()</code> since <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:tryEvent">tryEvent</a></code> always
   assumes that the
   function handeled the event if no exception is thrown. A handler
   wrapped by <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:tryEvent">tryEvent</a></code> can also indicate that it cannot handle the
   given event by calling <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:stopEvent">stopEvent</a></code>.
</p><p>Finally, not that the <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a></code> monad wraps the <code>IO</code> monad. As such
   you can (and usually have to) use <code>liftIO</code> to execute <code>IO</code> functions.
</p></div><h1 id="g:2">Event monad and type tags
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:EventM" class="def">EventM</a> t a = <a href="/usr/share/doc/ghc/html/libraries/mtl-2.0.1.0/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> t) <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> a<a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EventM" class="link">Source</a></p><div class="doc"><p>A monad providing access to data in an event.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EAny" class="def">EAny</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EAny" class="link">Source</a></p><div class="doc"><p>A tag for events that do not carry any event-specific information.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EKey" class="def">EKey</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EKey" class="link">Source</a></p><div class="doc"><p>A tag for <em>key</em> events.
</p></div><div class="subs instances"><p id="control.i:EKey" class="caption collapser" onclick="toggleSection('i:EKey')">Instances</p><div id="section.i:EKey" class="show"><table><tr><td class="src">HasTime <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EKey">EKey</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasModifier <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EKey">EKey</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EButton" class="def">EButton</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EButton" class="link">Source</a></p><div class="doc"><p>A tag for <em>Button</em> events.
</p></div><div class="subs instances"><p id="control.i:EButton" class="caption collapser" onclick="toggleSection('i:EButton')">Instances</p><div id="section.i:EButton" class="show"><table><tr><td class="src">HasTime <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EButton">EButton</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasModifier <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EButton">EButton</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasRootCoordinates <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EButton">EButton</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasCoordinates <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EButton">EButton</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EScroll" class="def">EScroll</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EScroll" class="link">Source</a></p><div class="doc"><p>A tag for <em>Scroll</em> events.
</p></div><div class="subs instances"><p id="control.i:EScroll" class="caption collapser" onclick="toggleSection('i:EScroll')">Instances</p><div id="section.i:EScroll" class="show"><table><tr><td class="src">HasTime <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EScroll">EScroll</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasModifier <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EScroll">EScroll</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasRootCoordinates <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EScroll">EScroll</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasCoordinates <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EScroll">EScroll</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EMotion" class="def">EMotion</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EMotion" class="link">Source</a></p><div class="doc"><p>A tag for <em>Motion</em> events.
</p></div><div class="subs instances"><p id="control.i:EMotion" class="caption collapser" onclick="toggleSection('i:EMotion')">Instances</p><div id="section.i:EMotion" class="show"><table><tr><td class="src">HasTime <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EMotion">EMotion</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasModifier <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EMotion">EMotion</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasRootCoordinates <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EMotion">EMotion</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasCoordinates <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EMotion">EMotion</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EExpose" class="def">EExpose</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EExpose" class="link">Source</a></p><div class="doc"><p>A tag for <em>Expose</em> events.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EVisibility" class="def">EVisibility</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EVisibility" class="link">Source</a></p><div class="doc"><p>A tag for <em>Visibility</em> events.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ECrossing" class="def">ECrossing</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#ECrossing" class="link">Source</a></p><div class="doc"><p>A tag for <em>Crossing</em> events.
</p></div><div class="subs instances"><p id="control.i:ECrossing" class="caption collapser" onclick="toggleSection('i:ECrossing')">Instances</p><div id="section.i:ECrossing" class="show"><table><tr><td class="src">HasTime <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasModifier <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasRootCoordinates <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">HasCoordinates <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EFocus" class="def">EFocus</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EFocus" class="link">Source</a></p><div class="doc"><p>A tag for <em>Focus</em> events.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EConfigure" class="def">EConfigure</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EConfigure" class="link">Source</a></p><div class="doc"><p>A tag for <em>Configure</em> events.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EProperty" class="def">EProperty</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EProperty" class="link">Source</a></p><div class="doc"><p>A tag for <em>Property</em> events.
</p></div><div class="subs instances"><p id="control.i:EProperty" class="caption collapser" onclick="toggleSection('i:EProperty')">Instances</p><div id="section.i:EProperty" class="show"><table><tr><td class="src">HasTime <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EProperty">EProperty</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EProximity" class="def">EProximity</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EProximity" class="link">Source</a></p><div class="doc"><p>A tag for <em>Proximity</em> events.
</p></div><div class="subs instances"><p id="control.i:EProximity" class="caption collapser" onclick="toggleSection('i:EProximity')">Instances</p><div id="section.i:EProximity" class="show"><table><tr><td class="src">HasTime <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EProximity">EProximity</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EWindowState" class="def">EWindowState</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EWindowState" class="link">Source</a></p><div class="doc"><p>A tag for <em>WindowState</em> event.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EOwnerChange" class="def">EOwnerChange</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EOwnerChange" class="link">Source</a></p><div class="doc"><p>A tag for <em>OwnerChange</em> events.
</p></div><div class="subs instances"><p id="control.i:EOwnerChange" class="caption collapser" onclick="toggleSection('i:EOwnerChange')">Instances</p><div id="section.i:EOwnerChange" class="show"><table><tr><td class="src">HasTime <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EOwnerChange">EOwnerChange</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:EGrabBroken" class="def">EGrabBroken</a>  <a href="src/Graphics-UI-Gtk-Gdk-EventM.html#EGrabBroken" class="link">Source</a></p><div class="doc"><p>A tag for <em>GrabBroken</em> events.
</p></div></div><h1 id="g:3">Accessor functions for event information
</h1><div class="top"><p class="src"><a name="v:eventWindow" class="def">eventWindow</a> ::  <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> any <a href="Graphics-UI-Gtk-Gdk-DrawWindow.html#t:DrawWindow">DrawWindow</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventWindow" class="link">Source</a></p><div class="doc"><p>Retrieve the <code>Graphics.UI.Gtk.Gdk.DrawWindow.DrawWindow</code> that this
   event relates to.
</p></div></div><div class="top"><p class="src"><a name="v:eventSent" class="def">eventSent</a> ::  <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> any <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventSent" class="link">Source</a></p><div class="doc"><p>Query if this event was sent sent explicitly by the application
   (rather than being generated by human interaction).
</p></div></div><div class="top"><p class="src"><a name="v:eventCoordinates" class="def">eventCoordinates</a> :: HasCoordinates t =&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> t (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a>)<a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventCoordinates" class="link">Source</a></p><div class="doc"><p>Retrieve the <code>(x,y)</code> coordinates of the mouse.
</p></div></div><div class="top"><p class="src"><a name="v:eventRootCoordinates" class="def">eventRootCoordinates</a> :: HasRootCoordinates t =&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> t (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a>)<a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventRootCoordinates" class="link">Source</a></p><div class="doc"><p>Retrieve the <code>(x,y)</code> coordinates of the mouse relative to the
   root (origin) of the screen.
</p></div></div><div class="top"><p class="src"><a name="v:eventModifier" class="def">eventModifier</a> :: HasModifier t =&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> t [<a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Modifier">Modifier</a>]<a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventModifier" class="link">Source</a></p><div class="doc"><p>Query the modifier keys that were depressed when the event happened.
   Sticky modifiers such as CapsLock are omitted in the return value.
   Use <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:eventModifierAll">eventModifierAll</a></code> your application requires all modifiers.
</p></div></div><div class="top"><p class="src"><a name="v:eventModifierAll" class="def">eventModifierAll</a> :: HasModifier t =&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> t [<a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Modifier">Modifier</a>]<a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventModifierAll" class="link">Source</a></p><div class="doc"><p>Query the modifier keys that were depressed when the event happened.
   The result includes sticky modifiers such as CapsLock. Normally,
   <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:eventModifier">eventModifier</a></code> is more appropriate in applications.
</p></div></div><div class="top"><p class="src"><a name="v:eventTime" class="def">eventTime</a> :: HasTime t =&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> t <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:TimeStamp">TimeStamp</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventTime" class="link">Source</a></p><div class="doc"><p>Query the time when the event occurred.
</p></div></div><div class="top"><p class="src"><a name="v:eventKeyVal" class="def">eventKeyVal</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EKey">EKey</a> <a href="Graphics-UI-Gtk-Gdk-Keys.html#t:KeyVal">KeyVal</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventKeyVal" class="link">Source</a></p><div class="doc"><p>The key value. See <code><a href="Graphics-UI-Gtk-Gdk-Keys.html#t:KeyVal">KeyVal</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:eventKeyName" class="def">eventKeyName</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EKey">EKey</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventKeyName" class="link">Source</a></p><div class="doc"><p>The key value as a string. See <code><a href="Graphics-UI-Gtk-Gdk-Keys.html#t:KeyVal">KeyVal</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:eventHardwareKeycode" class="def">eventHardwareKeycode</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EKey">EKey</a> <a href="Graphics-UI-Gtk-Gdk-Keys.html#t:KeyCode">KeyCode</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventHardwareKeycode" class="link">Source</a></p><div class="doc"><p>The hardware key code.
</p></div></div><div class="top"><p class="src"><a name="v:eventKeyboardGroup" class="def">eventKeyboardGroup</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EKey">EKey</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventKeyboardGroup" class="link">Source</a></p><div class="doc"><p>The keyboard group.
</p></div></div><div class="top"><p class="src"><a name="v:eventButton" class="def">eventButton</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EButton">EButton</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:MouseButton">MouseButton</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventButton" class="link">Source</a></p><div class="doc"><p>Query the mouse buttons.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Click" class="def">Click</a>  <a href="src/Graphics-UI-Gtk-General-Enums.html#Click" class="link">Source</a></p><div class="doc"><p>Type of mouse click
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:SingleClick" class="def">SingleClick</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DoubleClick" class="def">DoubleClick</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TripleClick" class="def">TripleClick</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ReleaseClick" class="def">ReleaseClick</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Click" class="caption collapser" onclick="toggleSection('i:Click')">Instances</p><div id="section.i:Click" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Enum">Enum</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Click">Click</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Click">Click</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Click">Click</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ScrollDirection" class="def">ScrollDirection</a>  <a href="src/Graphics-UI-Gtk-Gdk-Enums.html#ScrollDirection" class="link">Source</a></p><div class="doc"><p>in which direction was scrolled?
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ScrollUp" class="def">ScrollUp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ScrollDown" class="def">ScrollDown</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ScrollLeft" class="def">ScrollLeft</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ScrollRight" class="def">ScrollRight</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ScrollDirection" class="caption collapser" onclick="toggleSection('i:ScrollDirection')">Instances</p><div id="section.i:ScrollDirection" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Enum">Enum</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ScrollDirection">ScrollDirection</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ScrollDirection">ScrollDirection</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ScrollDirection">ScrollDirection</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:eventScrollDirection" class="def">eventScrollDirection</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EScroll">EScroll</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ScrollDirection">ScrollDirection</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventScrollDirection" class="link">Source</a></p><div class="doc"><p>Query the direction of scrolling.
</p></div></div><div class="top"><p class="src"><a name="v:eventIsHint" class="def">eventIsHint</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EMotion">EMotion</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventIsHint" class="link">Source</a></p><div class="doc"><p>Check if the motion event is only a hint rather than the full mouse
   movement information.
</p></div></div><div class="top"><p class="src"><a name="v:eventArea" class="def">eventArea</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EExpose">EExpose</a> <a href="Graphics-UI-Gtk-Gdk-Events.html#t:Rectangle">Rectangle</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventArea" class="link">Source</a></p><div class="doc"><p>Query a bounding box of the region that needs to be updated.
</p></div></div><div class="top"><p class="src"><a name="v:eventRegion" class="def">eventRegion</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EExpose">EExpose</a> <a href="Graphics-UI-Gtk-Gdk-Region.html#t:Region">Region</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventRegion" class="link">Source</a></p><div class="doc"><p>Query the region that needs to be updated.
</p></div></div><div class="top"><p class="src"><a name="v:eventVisibilityState" class="def">eventVisibilityState</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EVisibility">EVisibility</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:VisibilityState">VisibilityState</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventVisibilityState" class="link">Source</a></p><div class="doc"><p>Get the visibility status of a window.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:CrossingMode" class="def">CrossingMode</a>  <a href="src/Graphics-UI-Gtk-Gdk-Enums.html#CrossingMode" class="link">Source</a></p><div class="doc"><p>How focus is crossing the widget.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CrossingNormal" class="def">CrossingNormal</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CrossingGrab" class="def">CrossingGrab</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CrossingUngrab" class="def">CrossingUngrab</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CrossingGtkGrab" class="def">CrossingGtkGrab</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CrossingGtkUngrab" class="def">CrossingGtkUngrab</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CrossingStateChanged" class="def">CrossingStateChanged</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:CrossingMode" class="caption collapser" onclick="toggleSection('i:CrossingMode')">Instances</p><div id="section.i:CrossingMode" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Enum">Enum</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:CrossingMode">CrossingMode</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:CrossingMode">CrossingMode</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:CrossingMode">CrossingMode</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:eventCrossingMode" class="def">eventCrossingMode</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:CrossingMode">CrossingMode</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventCrossingMode" class="link">Source</a></p><div class="doc"><p>Get the mode of the mouse cursor crossing a window.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:NotifyType" class="def">NotifyType</a>  <a href="src/Graphics-UI-Gtk-Gdk-Enums.html#NotifyType" class="link">Source</a></p><div class="doc"><p>Information on from what level of the widget hierarchy the mouse
 cursor came.
</p><dl><dt><code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:NotifyAncestor">NotifyAncestor</a></code></dt><dd> The window is entered from an ancestor or left towards
 an ancestor.
</dd><dt><code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:NotifyVirtual">NotifyVirtual</a></code></dt><dd> The pointer moves between an ancestor and an inferior
 of the window.
</dd><dt><code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:NotifyInferior">NotifyInferior</a></code></dt><dd> The window is entered from an inferior or left
 towards an inferior.
</dd><dt><code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:NotifyNonlinear">NotifyNonlinear</a></code></dt><dd> The window is entered from or left towards a
 window which is neither an ancestor nor an inferior.
</dd><dt><code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:NotifyNonlinearVirtual">NotifyNonlinearVirtual</a></code></dt><dd> The pointer moves between two windows which
 are not ancestors of each other and the window is part of the ancestor
 chain between one of these windows and their least common ancestor.
</dd><dt><code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:NotifyUnknown">NotifyUnknown</a></code></dt><dd> The level change does not fit into any of the other
 categories or could not be determined.
</dd></dl></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NotifyAncestor" class="def">NotifyAncestor</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotifyVirtual" class="def">NotifyVirtual</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotifyInferior" class="def">NotifyInferior</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotifyNonlinear" class="def">NotifyNonlinear</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotifyNonlinearVirtual" class="def">NotifyNonlinearVirtual</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotifyUnknown" class="def">NotifyUnknown</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:NotifyType" class="caption collapser" onclick="toggleSection('i:NotifyType')">Instances</p><div id="section.i:NotifyType" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Enum">Enum</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:NotifyType">NotifyType</a></td><td class="doc"><p>Determine if child widget may be overdrawn.
</p></td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:NotifyType">NotifyType</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:NotifyType">NotifyType</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:eventNotifyType" class="def">eventNotifyType</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:NotifyType">NotifyType</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventNotifyType" class="link">Source</a></p><div class="doc"><p>Get the notify type of the mouse cursor crossing a window.
</p></div></div><div class="top"><p class="src"><a name="v:eventCrossingFocus" class="def">eventCrossingFocus</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:ECrossing">ECrossing</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventCrossingFocus" class="link">Source</a></p><div class="doc"><p>Query if the window has the focus or is an inferior window.
</p></div></div><div class="top"><p class="src"><a name="v:eventFocusIn" class="def">eventFocusIn</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EFocus">EFocus</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventFocusIn" class="link">Source</a></p><div class="doc"><p>Query if a window gained focus (<code>True</code>) or lost the focus (<code>False</code>).
</p></div></div><div class="top"><p class="src"><a name="v:eventPosition" class="def">eventPosition</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EConfigure">EConfigure</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a>)<a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventPosition" class="link">Source</a></p><div class="doc"><p>Get the <code>(x,y)</code> position of the window within the parent window.
</p></div></div><div class="top"><p class="src"><a name="v:eventSize" class="def">eventSize</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EConfigure">EConfigure</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a>)<a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventSize" class="link">Source</a></p><div class="doc"><p>Get the new size of the window as <code>(width,height)</code>.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:WindowState" class="def">WindowState</a>  <a href="src/Graphics-UI-Gtk-Gdk-Enums.html#WindowState" class="link">Source</a></p><div class="doc"><p>The state a <code>DrawWindow</code> is in.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:WindowStateWithdrawn" class="def">WindowStateWithdrawn</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WindowStateIconified" class="def">WindowStateIconified</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WindowStateMaximized" class="def">WindowStateMaximized</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WindowStateSticky" class="def">WindowStateSticky</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WindowStateFullscreen" class="def">WindowStateFullscreen</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WindowStateAbove" class="def">WindowStateAbove</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WindowStateBelow" class="def">WindowStateBelow</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:WindowState" class="caption collapser" onclick="toggleSection('i:WindowState')">Instances</p><div id="section.i:WindowState" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:WindowState">WindowState</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Enum">Enum</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:WindowState">WindowState</a></td><td class="doc"><p>These are hints for the window manager that indicate what type of function
 the window has. The window manager can use this when determining decoration
 and behaviour of the window. The hint must be set before mapping the window.
</p><p>See the extended window manager hints specification for more details about
 window types.
</p></td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:WindowState">WindowState</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:WindowState">WindowState</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Flags.html#t:Flags">Flags</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:WindowState">WindowState</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:eventWindowStateChanged" class="def">eventWindowStateChanged</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EWindowState">EWindowState</a> [<a href="Graphics-UI-Gtk-Gdk-EventM.html#t:WindowState">WindowState</a>]<a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventWindowStateChanged" class="link">Source</a></p><div class="doc"><p>Query which window state bits have changed.
</p></div></div><div class="top"><p class="src"><a name="v:eventWindowState" class="def">eventWindowState</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EWindowState">EWindowState</a> [<a href="Graphics-UI-Gtk-Gdk-EventM.html#t:WindowState">WindowState</a>]<a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventWindowState" class="link">Source</a></p><div class="doc"><p>Query the new window state.
</p></div></div><div class="top"><p class="src"><a name="v:eventChangeReason" class="def">eventChangeReason</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EOwnerChange">EOwnerChange</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:OwnerChange">OwnerChange</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventChangeReason" class="link">Source</a></p><div class="doc"><p>Query why a seleciton changed its owner.
</p></div></div><div class="top"><p class="src"><a name="v:eventSelection" class="def">eventSelection</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EOwnerChange">EOwnerChange</a> <a href="Graphics-UI-Gtk-General-Selection.html#t:SelectionTag">SelectionTag</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventSelection" class="link">Source</a></p><div class="doc"><p>Query what selection changed its owner.
</p></div></div><div class="top"><p class="src"><a name="v:eventSelectionTime" class="def">eventSelectionTime</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EOwnerChange">EOwnerChange</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:TimeStamp">TimeStamp</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventSelectionTime" class="link">Source</a></p><div class="doc"><p>Query the time when the selection was taken over.
</p></div></div><div class="top"><p class="src"><a name="v:eventKeyboardGrab" class="def">eventKeyboardGrab</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EGrabBroken">EGrabBroken</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventKeyboardGrab" class="link">Source</a></p><div class="doc"><p>Check if a keyboard (<code>True</code>) or a mouse pointer grap (<code>False</code>) was
   broken.
</p></div></div><div class="top"><p class="src"><a name="v:eventImplicit" class="def">eventImplicit</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EGrabBroken">EGrabBroken</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventImplicit" class="link">Source</a></p><div class="doc"><p>Check if a grab was broken implicitly.
</p></div></div><div class="top"><p class="src"><a name="v:eventGrabWindow" class="def">eventGrabWindow</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EGrabBroken">EGrabBroken</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graphics-UI-Gtk-Gdk-DrawWindow.html#t:DrawWindow">DrawWindow</a>)<a href="src/Graphics-UI-Gtk-Gdk-EventM.html#eventGrabWindow" class="link">Source</a></p><div class="doc"><p>Get the new window that owns the grab or <code>Nothing</code> if the window
   is not part of this application.
</p></div></div><h1 id="g:4">Auxilliary Definitions
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Modifier" class="def">Modifier</a>  <a href="src/Graphics-UI-Gtk-Gdk-Enums.html#Modifier" class="link">Source</a></p><div class="doc"><p>Keyboard modifiers that are depressed when the user presses
 a key or a mouse button.
</p><ul><li> This data type is used to build lists of modifers that were active
 during an event.
</li><li> The <a href="Apple.html">Apple</a> key on Macintoshs is mapped to <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:Alt2">Alt2</a></code> and the <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:Meta">Meta</a></code>
 key (if available).
</li><li> Since Gtk 2.10, there are also <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:Super">Super</a></code>, <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:Hyper">Hyper</a></code> and <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:Meta">Meta</a></code> modifiers
 which are simply generated from <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:Alt">Alt</a></code> .. <code>Compose</code> modifier keys,
 depending on the mapping used by the windowing system. Due to one
 key being mapped to e.g. <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:Alt2">Alt2</a></code> and <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:Meta">Meta</a></code>, you shouldn't pattern
 match directly against a certain key but check whether a key is
 in the list using the <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-List.html#v:elem">elem</a></code> function, say.
</li></ul></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Shift" class="def">Shift</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Lock" class="def">Lock</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Control" class="def">Control</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Alt" class="def">Alt</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Alt2" class="def">Alt2</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Alt3" class="def">Alt3</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Alt4" class="def">Alt4</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Alt5" class="def">Alt5</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Button1" class="def">Button1</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Button2" class="def">Button2</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Button3" class="def">Button3</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Button4" class="def">Button4</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Button5" class="def">Button5</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Super" class="def">Super</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Hyper" class="def">Hyper</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Meta" class="def">Meta</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Release" class="def">Release</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ModifierMask" class="def">ModifierMask</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Modifier" class="caption collapser" onclick="toggleSection('i:Modifier')">Instances</p><div id="section.i:Modifier" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Modifier">Modifier</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Enum">Enum</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Modifier">Modifier</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Modifier">Modifier</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Modifier">Modifier</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/glib-0.12.0/System-Glib-Flags.html#t:Flags">Flags</a> <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:Modifier">Modifier</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:TimeStamp" class="def">TimeStamp</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word32">Word32</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#TimeStamp" class="link">Source</a></p><div class="doc"><p>The time (in milliseconds) when an event happened. This is used mostly
 for ordering events and responses to events.
</p></div></div><div class="top"><p class="src"><a name="v:currentTime" class="def">currentTime</a> :: <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:TimeStamp">TimeStamp</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#currentTime" class="link">Source</a></p><div class="doc"><p>Represents the current time, and can be used anywhere a time is expected.
</p></div></div><div class="top"><p class="src"><a name="v:tryEvent" class="def">tryEvent</a> ::  <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> any <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a> -&gt; <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> any <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#tryEvent" class="link">Source</a></p><div class="doc"><p>Execute an event handler and assume it handled the event unless it
   threw a pattern match exception.
</p></div></div><div class="top"><p class="src"><a name="v:stopEvent" class="def">stopEvent</a> ::  <a href="Graphics-UI-Gtk-Gdk-EventM.html#t:EventM">EventM</a> any <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-Gtk-Gdk-EventM.html#stopEvent" class="link">Source</a></p><div class="doc"><p>Explicitly stop the handling of an event. This function should only be
   called inside a handler that is wrapped with <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:tryEvent">tryEvent</a></code>. (It merely
   throws a bogus pattern matching error which <code><a href="Graphics-UI-Gtk-Gdk-EventM.html#v:tryEvent">tryEvent</a></code> interprets as if
   the handler does not handle the event.)
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>