{-# LINE 1 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LANGUAGE ScopedTypeVariables, TypeSynonymInstances, FlexibleInstances #-}
{-# OPTIONS_HADDOCK hide #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# LINE 10 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 12 "Graphics/UI/Gtk/General/Structs.hsc" #-}
module Graphics.UI.Gtk.General.Structs (
Point,
Rectangle(..),
Color(..),
{-# LINE 42 "Graphics/UI/Gtk/General/Structs.hsc" #-}
RGBA(..),
{-# LINE 44 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 51 "Graphics/UI/Gtk/General/Structs.hsc" #-}
Allocation,
Requisition(..),
treeIterSize,
textIterSize,
inputError,
{-# LINE 61 "Graphics/UI/Gtk/General/Structs.hsc" #-}
ResponseId(..),
fromResponse,
toResponse,
{-# LINE 65 "Graphics/UI/Gtk/General/Structs.hsc" #-}
NativeWindowId,
toNativeWindowId,
fromNativeWindowId,
nativeWindowIdNone,
{-# LINE 70 "Graphics/UI/Gtk/General/Structs.hsc" #-}
drawableGetID,
{-# LINE 78 "Graphics/UI/Gtk/General/Structs.hsc" #-}
IconSize(..),
{-# LINE 87 "Graphics/UI/Gtk/General/Structs.hsc" #-}
styleGetForeground,
styleGetBackground,
styleGetLight,
styleGetMiddle,
styleGetDark,
styleGetText,
styleGetBase,
styleGetAntiAliasing,
{-# LINE 107 "Graphics/UI/Gtk/General/Structs.hsc" #-}
SortColumnId,
treeSortableDefaultSortColumnId,
tagInvalid,
selectionPrimary,
selectionSecondary,
selectionClipboard,
targetString,
selectionTypeAtom,
selectionTypeInteger,
selectionTypeString,
{-# LINE 120 "Graphics/UI/Gtk/General/Structs.hsc" #-}
withTargetEntries,
KeymapKey (..)
) where
import Control.Monad (liftM)
import Data.IORef
import Control.Exception (handle, ErrorCall(..))
import System.Glib.FFI
import System.Glib.UTFString ( UTFCorrection, ofsToUTF )
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import System.Glib.GObject (makeNewGObject)
import Graphics.UI.Gtk.Types
{-# LINE 137 "Graphics/UI/Gtk/General/Structs.hsc" #-}
import Graphics.UI.Gtk.General.Enums (StateType)
import Graphics.UI.Gtk.General.DNDTypes (InfoId, Atom(Atom) , SelectionTag,
TargetTag, SelectionTypeTag)
import Graphics.Rendering.Pango.Structs ( Color(..), Rectangle(..) )
{-# LINE 142 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 145 "Graphics/UI/Gtk/General/Structs.hsc" #-}
type Point = (Int, Int)
instance Storable Point where
sizeOf _ = 8
{-# LINE 151 "Graphics/UI/Gtk/General/Structs.hsc" #-}
alignment _ = alignment (undefined:: Int32)
{-# LINE 152 "Graphics/UI/Gtk/General/Structs.hsc" #-}
peek ptr = do
(x_ ::Int32) <- (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 154 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(y_ ::Int32) <- (\hsc_ptr -> peekByteOff hsc_ptr 4) ptr
{-# LINE 155 "Graphics/UI/Gtk/General/Structs.hsc" #-}
return $ (fromIntegral x_, fromIntegral y_)
poke ptr (x, y) = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr ((fromIntegral x)::Int32)
{-# LINE 158 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 4) ptr ((fromIntegral y)::Int32)
{-# LINE 159 "Graphics/UI/Gtk/General/Structs.hsc" #-}
instance Storable Rectangle where
sizeOf _ = 16
{-# LINE 162 "Graphics/UI/Gtk/General/Structs.hsc" #-}
alignment _ = alignment (undefined:: Int32)
{-# LINE 163 "Graphics/UI/Gtk/General/Structs.hsc" #-}
peek ptr = do
(x_ ::Int32) <- (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 165 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(y_ ::Int32) <- (\hsc_ptr -> peekByteOff hsc_ptr 4) ptr
{-# LINE 166 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(width_ ::Int32) <- (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 167 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(height_ ::Int32) <- (\hsc_ptr -> peekByteOff hsc_ptr 12) ptr
{-# LINE 168 "Graphics/UI/Gtk/General/Structs.hsc" #-}
return $ Rectangle (fromIntegral x_) (fromIntegral y_)
(fromIntegral width_) (fromIntegral height_)
poke ptr (Rectangle x y width height) = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr ((fromIntegral x)::Int32)
{-# LINE 172 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 4) ptr ((fromIntegral y)::Int32)
{-# LINE 173 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr ((fromIntegral width)::Int32)
{-# LINE 174 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 12) ptr ((fromIntegral height)::Int32)
{-# LINE 175 "Graphics/UI/Gtk/General/Structs.hsc" #-}
instance Storable Color where
sizeOf _ = 12
{-# LINE 178 "Graphics/UI/Gtk/General/Structs.hsc" #-}
alignment _ = alignment (undefined::Word32)
{-# LINE 179 "Graphics/UI/Gtk/General/Structs.hsc" #-}
peek ptr = do
red <- (\hsc_ptr -> peekByteOff hsc_ptr 4) ptr
{-# LINE 181 "Graphics/UI/Gtk/General/Structs.hsc" #-}
green <- (\hsc_ptr -> peekByteOff hsc_ptr 6) ptr
{-# LINE 182 "Graphics/UI/Gtk/General/Structs.hsc" #-}
blue <- (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 183 "Graphics/UI/Gtk/General/Structs.hsc" #-}
return $ Color red green blue
poke ptr (Color red green blue) = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr (0::Int32)
{-# LINE 186 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 4) ptr red
{-# LINE 187 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 6) ptr green
{-# LINE 188 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr blue
{-# LINE 189 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 193 "Graphics/UI/Gtk/General/Structs.hsc" #-}
return ()
{-# LINE 196 "Graphics/UI/Gtk/General/Structs.hsc" #-}
data RGBA = RGBA Double Double Double Double
instance Storable RGBA where
sizeOf _ = 32
{-# LINE 200 "Graphics/UI/Gtk/General/Structs.hsc" #-}
alignment _ = alignment (undefined::Word32)
{-# LINE 201 "Graphics/UI/Gtk/General/Structs.hsc" #-}
peek ptr = do
red <- (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 203 "Graphics/UI/Gtk/General/Structs.hsc" #-}
green <- (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 204 "Graphics/UI/Gtk/General/Structs.hsc" #-}
blue <- (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr
{-# LINE 205 "Graphics/UI/Gtk/General/Structs.hsc" #-}
alpha <- (\hsc_ptr -> peekByteOff hsc_ptr 24) ptr
{-# LINE 206 "Graphics/UI/Gtk/General/Structs.hsc" #-}
return $ RGBA red green blue alpha
poke ptr (RGBA red green blue alpha) = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr red
{-# LINE 209 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr green
{-# LINE 210 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr blue
{-# LINE 211 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 24) ptr alpha
{-# LINE 212 "Graphics/UI/Gtk/General/Structs.hsc" #-}
return ()
{-# LINE 214 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 438 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 463 "Graphics/UI/Gtk/General/Structs.hsc" #-}
type Allocation = Rectangle
data Requisition = Requisition Int Int deriving (Eq,Show)
instance Storable Requisition where
sizeOf _ = 8
{-# LINE 482 "Graphics/UI/Gtk/General/Structs.hsc" #-}
alignment _ = alignment (undefined::Int32)
{-# LINE 483 "Graphics/UI/Gtk/General/Structs.hsc" #-}
peek ptr = do
(width_ ::Int32) <- (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 485 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(height_ ::Int32) <- (\hsc_ptr -> peekByteOff hsc_ptr 4) ptr
{-# LINE 486 "Graphics/UI/Gtk/General/Structs.hsc" #-}
return $ Requisition (fromIntegral width_) (fromIntegral height_)
poke ptr (Requisition width height) = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr ((fromIntegral width)::Int32)
{-# LINE 489 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 4) ptr ((fromIntegral height)::Int32)
{-# LINE 490 "Graphics/UI/Gtk/General/Structs.hsc" #-}
inputError :: Int32
{-# LINE 497 "Graphics/UI/Gtk/General/Structs.hsc" #-}
inputError = -1
{-# LINE 498 "Graphics/UI/Gtk/General/Structs.hsc" #-}
treeIterSize :: Int
treeIterSize = 32
{-# LINE 504 "Graphics/UI/Gtk/General/Structs.hsc" #-}
textIterSize :: Int
textIterSize = 80
{-# LINE 511 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 533 "Graphics/UI/Gtk/General/Structs.hsc" #-}
data ResponseId
= ResponseNone
| ResponseReject
| ResponseAccept
| ResponseDeleteEvent
| ResponseOk
| ResponseCancel
| ResponseClose
| ResponseYes
| ResponseNo
| ResponseApply
| ResponseHelp
| ResponseUser Int
deriving (Show, Eq)
fromResponse :: Integral a => ResponseId -> a
fromResponse ResponseNone = -1
fromResponse ResponseReject = -2
fromResponse ResponseAccept = -3
fromResponse ResponseDeleteEvent = -4
fromResponse ResponseOk = -5
fromResponse ResponseCancel = -6
fromResponse ResponseClose = -7
fromResponse ResponseYes = -8
fromResponse ResponseNo = -9
fromResponse ResponseApply = -10
fromResponse ResponseHelp = -11
fromResponse (ResponseUser i) = fromIntegral i
toResponse :: Integral a => a -> ResponseId
toResponse (-1) = ResponseNone
toResponse (-2) = ResponseReject
toResponse (-3) = ResponseAccept
toResponse (-4) = ResponseDeleteEvent
toResponse (-5) = ResponseOk
toResponse (-6) = ResponseCancel
toResponse (-7) = ResponseClose
toResponse (-8) = ResponseYes
toResponse (-9) = ResponseNo
toResponse (-10) = ResponseApply
toResponse (-11) = ResponseHelp
toResponse i = ResponseUser $ fromIntegral i
{-# LINE 621 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 645 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 648 "Graphics/UI/Gtk/General/Structs.hsc" #-}
newtype NativeWindowId = NativeWindowId Word64 deriving (Eq, Show)
{-# LINE 649 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 650 "Graphics/UI/Gtk/General/Structs.hsc" #-}
unNativeWindowId :: Integral a => NativeWindowId -> a
unNativeWindowId (NativeWindowId id) = fromIntegral id
toNativeWindowId :: Integral a => a -> NativeWindowId
toNativeWindowId = NativeWindowId . fromIntegral
fromNativeWindowId :: Integral a => NativeWindowId -> a
fromNativeWindowId = fromIntegral . unNativeWindowId
nativeWindowIdNone :: NativeWindowId
nativeWindowIdNone = NativeWindowId 0
{-# LINE 659 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 660 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 670 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 671 "Graphics/UI/Gtk/General/Structs.hsc" #-}
foreign import ccall unsafe "gdk_x11_window_get_xid"
gdk_x11_drawable_get_xid :: (Ptr DrawWindow) -> IO CInt
{-# LINE 674 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 675 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 680 "Graphics/UI/Gtk/General/Structs.hsc" #-}
drawableGetID :: DrawWindowClass d => d -> IO NativeWindowId
{-# LINE 682 "Graphics/UI/Gtk/General/Structs.hsc" #-}
drawableGetID d =
liftM toNativeWindowId $
{-# LINE 687 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\(DrawWindow drawable) ->
{-# LINE 689 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 698 "Graphics/UI/Gtk/General/Structs.hsc" #-}
withForeignPtr drawable gdk_x11_drawable_get_xid
{-# LINE 702 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 705 "Graphics/UI/Gtk/General/Structs.hsc" #-}
) (toDrawWindow d)
{-# LINE 707 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 723 "Graphics/UI/Gtk/General/Structs.hsc" #-}
data IconSize
= IconSizeInvalid
| IconSizeMenu
| IconSizeSmallToolbar
| IconSizeLargeToolbar
| IconSizeButton
| IconSizeDnd
| IconSizeDialog
| IconSizeUser Int
deriving (Eq)
instance Enum IconSize where
toEnum 0 = IconSizeInvalid
{-# LINE 760 "Graphics/UI/Gtk/General/Structs.hsc" #-}
toEnum 1 = IconSizeMenu
{-# LINE 761 "Graphics/UI/Gtk/General/Structs.hsc" #-}
toEnum 2 = IconSizeSmallToolbar
{-# LINE 762 "Graphics/UI/Gtk/General/Structs.hsc" #-}
toEnum 3 = IconSizeLargeToolbar
{-# LINE 763 "Graphics/UI/Gtk/General/Structs.hsc" #-}
toEnum 4 = IconSizeButton
{-# LINE 764 "Graphics/UI/Gtk/General/Structs.hsc" #-}
toEnum 5 = IconSizeDnd
{-# LINE 765 "Graphics/UI/Gtk/General/Structs.hsc" #-}
toEnum 6 = IconSizeDialog
{-# LINE 766 "Graphics/UI/Gtk/General/Structs.hsc" #-}
toEnum n = IconSizeUser n
fromEnum IconSizeInvalid = 0
{-# LINE 768 "Graphics/UI/Gtk/General/Structs.hsc" #-}
fromEnum IconSizeMenu = 1
{-# LINE 769 "Graphics/UI/Gtk/General/Structs.hsc" #-}
fromEnum IconSizeSmallToolbar = 2
{-# LINE 770 "Graphics/UI/Gtk/General/Structs.hsc" #-}
fromEnum IconSizeLargeToolbar = 3
{-# LINE 771 "Graphics/UI/Gtk/General/Structs.hsc" #-}
fromEnum IconSizeButton = 4
{-# LINE 772 "Graphics/UI/Gtk/General/Structs.hsc" #-}
fromEnum IconSizeDnd = 5
{-# LINE 773 "Graphics/UI/Gtk/General/Structs.hsc" #-}
fromEnum IconSizeDialog = 6
{-# LINE 774 "Graphics/UI/Gtk/General/Structs.hsc" #-}
fromEnum (IconSizeUser n) = n
{-# LINE 787 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 803 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 851 "Graphics/UI/Gtk/General/Structs.hsc" #-}
styleGetForeground :: Style -> StateType -> IO Color
styleGetForeground st ty =
withForeignPtr (unStyle st) $ \stPtr -> do
peekElemOff ((\hsc_ptr -> hsc_ptr `plusPtr` 24) stPtr) (fromEnum ty)
{-# LINE 864 "Graphics/UI/Gtk/General/Structs.hsc" #-}
styleGetBackground :: Style -> StateType -> IO Color
styleGetBackground st ty =
withForeignPtr (unStyle st) $ \stPtr ->
peekElemOff ((\hsc_ptr -> hsc_ptr `plusPtr` 84) stPtr) (fromEnum ty)
{-# LINE 876 "Graphics/UI/Gtk/General/Structs.hsc" #-}
styleGetLight :: Style -> StateType -> IO Color
styleGetLight st ty =
withForeignPtr (unStyle st) $ \stPtr ->
peekElemOff ((\hsc_ptr -> hsc_ptr `plusPtr` 144) stPtr) (fromEnum ty)
{-# LINE 888 "Graphics/UI/Gtk/General/Structs.hsc" #-}
styleGetMiddle :: Style -> StateType -> IO Color
styleGetMiddle st ty =
withForeignPtr (unStyle st) $ \stPtr ->
peekElemOff ((\hsc_ptr -> hsc_ptr `plusPtr` 264) stPtr) (fromEnum ty)
{-# LINE 900 "Graphics/UI/Gtk/General/Structs.hsc" #-}
styleGetDark :: Style -> StateType -> IO Color
styleGetDark st ty =
withForeignPtr (unStyle st) $ \stPtr ->
peekElemOff ((\hsc_ptr -> hsc_ptr `plusPtr` 204) stPtr) (fromEnum ty)
{-# LINE 912 "Graphics/UI/Gtk/General/Structs.hsc" #-}
styleGetText :: Style -> StateType -> IO Color
styleGetText st ty =
withForeignPtr (unStyle st) $ \stPtr ->
peekElemOff ((\hsc_ptr -> hsc_ptr `plusPtr` 324) stPtr) (fromEnum ty)
{-# LINE 924 "Graphics/UI/Gtk/General/Structs.hsc" #-}
styleGetBase :: Style -> StateType -> IO Color
styleGetBase st ty =
withForeignPtr (unStyle st) $ \stPtr ->
peekElemOff ((\hsc_ptr -> hsc_ptr `plusPtr` 384) stPtr) (fromEnum ty)
{-# LINE 938 "Graphics/UI/Gtk/General/Structs.hsc" #-}
styleGetAntiAliasing :: Style -> StateType -> IO Color
styleGetAntiAliasing st ty =
withForeignPtr (unStyle st) $ \stPtr ->
peekElemOff ((\hsc_ptr -> hsc_ptr `plusPtr` 444) stPtr) (fromEnum ty)
{-# LINE 954 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 1016 "Graphics/UI/Gtk/General/Structs.hsc" #-}
type SortColumnId = Int
treeSortableDefaultSortColumnId :: SortColumnId
treeSortableDefaultSortColumnId = -1
{-# LINE 1028 "Graphics/UI/Gtk/General/Structs.hsc" #-}
intToAtom :: Int -> Atom
intToAtom = Atom . plusPtr nullPtr
tagInvalid :: Atom
tagInvalid = intToAtom 0
{-# LINE 1036 "Graphics/UI/Gtk/General/Structs.hsc" #-}
selectionPrimary :: SelectionTag
selectionPrimary = intToAtom 1
{-# LINE 1041 "Graphics/UI/Gtk/General/Structs.hsc" #-}
selectionSecondary :: SelectionTag
selectionSecondary = intToAtom 2
{-# LINE 1045 "Graphics/UI/Gtk/General/Structs.hsc" #-}
selectionClipboard :: SelectionTag
selectionClipboard = intToAtom 69
{-# LINE 1049 "Graphics/UI/Gtk/General/Structs.hsc" #-}
targetString :: TargetTag
targetString = intToAtom 31
{-# LINE 1053 "Graphics/UI/Gtk/General/Structs.hsc" #-}
selectionTypeAtom :: SelectionTypeTag
selectionTypeAtom = intToAtom 4
{-# LINE 1058 "Graphics/UI/Gtk/General/Structs.hsc" #-}
selectionTypeInteger :: SelectionTypeTag
selectionTypeInteger = intToAtom 19
{-# LINE 1062 "Graphics/UI/Gtk/General/Structs.hsc" #-}
selectionTypeString :: SelectionTypeTag
selectionTypeString = intToAtom 31
{-# LINE 1067 "Graphics/UI/Gtk/General/Structs.hsc" #-}
{-# LINE 1075 "Graphics/UI/Gtk/General/Structs.hsc" #-}
data TargetEntry = TargetEntry (Ptr Int8) InfoId
{-# LINE 1079 "Graphics/UI/Gtk/General/Structs.hsc" #-}
withTargetEntries :: [(TargetTag, InfoId)] -> (Int -> Ptr () -> IO a) -> IO a
withTargetEntries tags fun = do
ptrsInfo <- mapM (\(Atom tag, info) -> gdk_atom_name tag >>= \strPtr ->
return (TargetEntry strPtr info)) tags
res <- withArrayLen ptrsInfo (\len ptr -> fun len (castPtr ptr))
mapM_ (\(TargetEntry ptr _) -> g_free ptr) ptrsInfo
return res
foreign import ccall unsafe "gdk_atom_name"
gdk_atom_name :: Ptr () -> IO (Ptr Int8)
{-# LINE 1096 "Graphics/UI/Gtk/General/Structs.hsc" #-}
foreign import ccall unsafe "g_free"
g_free :: Ptr Int8 -> IO ()
{-# LINE 1099 "Graphics/UI/Gtk/General/Structs.hsc" #-}
instance Storable TargetEntry where
sizeOf _ = 16
{-# LINE 1102 "Graphics/UI/Gtk/General/Structs.hsc" #-}
alignment _ = alignment (undefined::Word32)
{-# LINE 1103 "Graphics/UI/Gtk/General/Structs.hsc" #-}
peek ptr = undefined
poke ptr (TargetEntry cPtr info) = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr cPtr
{-# LINE 1106 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr (0::Word32)
{-# LINE 1107 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 12) ptr info
{-# LINE 1108 "Graphics/UI/Gtk/General/Structs.hsc" #-}
data KeymapKey = KeymapKey {
keycode :: Int
,group :: Int
,level :: Int
} deriving (Eq, Show)
instance Storable KeymapKey where
sizeOf _ = 12
{-# LINE 1128 "Graphics/UI/Gtk/General/Structs.hsc" #-}
alignment _ = alignment (undefined::Int32)
{-# LINE 1129 "Graphics/UI/Gtk/General/Structs.hsc" #-}
peek ptr = do
(keycode_ ::Word32) <- (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 1131 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(group_ ::Int32) <- (\hsc_ptr -> peekByteOff hsc_ptr 4) ptr
{-# LINE 1132 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(level_ ::Int32) <- (\hsc_ptr -> peekByteOff hsc_ptr 8) ptr
{-# LINE 1133 "Graphics/UI/Gtk/General/Structs.hsc" #-}
return $ KeymapKey (fromIntegral keycode_) (fromIntegral group_) (fromIntegral level_)
poke ptr (KeymapKey keycode group level) = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr ((fromIntegral keycode)::Word32)
{-# LINE 1136 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 4) ptr ((fromIntegral group)::Int32)
{-# LINE 1137 "Graphics/UI/Gtk/General/Structs.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 8) ptr ((fromIntegral level)::Int32)
{-# LINE 1138 "Graphics/UI/Gtk/General/Structs.hsc" #-}