moffy-samples-gtk3-run-0.1.0.0: src/Stopgap/Graphics/UI/Gdk/Event/Button.hsc
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE PatternSynonyms, ViewPatterns #-}
{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}
module Stopgap.Graphics.UI.Gdk.Event.Button where
import Foreign.Ptr
import Foreign.Storable
import Foreign.C.Struct
import Data.Word
import Data.Int
import Stopgap.Graphics.UI.Gdk.Event
#include <gtk/gtk.h>
data GdkWindowTag
data GdkDeviceTag
type PtrGdkWindow = Ptr GdkWindowTag
type PtrGdkDevice = Ptr GdkDeviceTag
type PtrGdouble = Ptr #{type gdouble}
struct "B" #{size GdkEventButton} #{alignment GdkEventButton}
[ ("type", ''Type,
[| #{peek GdkEventButton, type} |],
[| #{poke GdkEventButton, type} |]),
("window", ''PtrGdkWindow,
[| #{peek GdkEventButton, window} |],
[| #{poke GdkEventButton, window} |]),
("send_event", ''#{type gint8},
[| #{peek GdkEventButton, send_event} |],
[| #{poke GdkEventButton, send_event} |]),
("time", ''#{type guint32},
[| #{peek GdkEventButton, time} |],
[| #{poke GdkEventButton, time} |]),
("x", ''#{type gdouble},
[| #{peek GdkEventButton, x} |],
[| #{poke GdkEventButton, x} |]),
("y", ''#{type gdouble},
[| #{peek GdkEventButton, y} |],
[| #{poke GdkEventButton, y} |]),
("axes", ''PtrGdouble,
[| #{peek GdkEventButton, axes} |],
[| #{poke GdkEventButton, axes} |]),
("state", ''#{type GdkModifierType},
[| #{peek GdkEventButton, state} |],
[| #{poke GdkEventButton, state} |]),
("button", ''#{type guint},
[| #{peek GdkEventButton, button} |],
[| #{poke GdkEventButton, button} |]),
("device", ''PtrGdkDevice,
[| #{peek GdkEventButton, device} |],
[| #{poke GdkEventButton, device} |]),
("x_root", ''#{type gdouble},
[| #{peek GdkEventButton, x_root} |],
[| #{poke GdkEventButton, x_root} |]),
("y_root", ''#{type gdouble},
[| #{peek GdkEventButton, y_root} |],
[| #{poke GdkEventButton, y_root} |]) ]
[''Show, ''Eq, ''Ord, ''Storable]