{-# LINE 1 "Graphics/X11/Xrender.hsc" #-}
module Graphics.X11.Xrender (
peekCUShort,
pokeCUShort,
peekCShort,
pokeCShort,
XRenderColor (..),
XGlyphInfo (..),
XRenderDirectFormat (..),
) where
import Foreign
import Foreign.C
peekCUShort :: Ptr a -> CInt -> IO Int
peekCUShort :: forall a. Ptr a -> CInt -> IO Int
peekCUShort Ptr a
ptr CInt
off = do
CUShort
v <- Ptr a -> Int -> IO CUShort
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr a
ptr (CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
off)
Int -> IO Int
forall (m :: * -> *) a. Monad m => a -> m a
return (CUShort -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (CUShort
v::CUShort))
pokeCUShort :: Ptr a -> CInt -> Int -> IO ()
pokeCUShort :: forall a. Ptr a -> CInt -> Int -> IO ()
pokeCUShort Ptr a
ptr CInt
off Int
v =
Ptr a -> Int -> CUShort -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr a
ptr (CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
off) (Int -> CUShort
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
v::CUShort)
peekCShort :: Ptr a -> CInt -> IO Int
peekCShort :: forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr a
ptr CInt
off = do
CShort
v <- Ptr a -> Int -> IO CShort
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr a
ptr (CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
off)
Int -> IO Int
forall (m :: * -> *) a. Monad m => a -> m a
return (CShort -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (CShort
v::CShort))
pokeCShort :: Ptr a -> CInt -> Int -> IO ()
pokeCShort :: forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr a
ptr CInt
off Int
v =
Ptr a -> Int -> CShort -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr a
ptr (CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
off) (Int -> CShort
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
v::CShort)
data XRenderColor = XRenderColor {
XRenderColor -> Int
xrendercolor_red :: Int,
XRenderColor -> Int
xrendercolor_green :: Int,
XRenderColor -> Int
xrendercolor_blue :: Int,
XRenderColor -> Int
xrendercolor_alpha :: Int
}
instance Storable XRenderColor where
sizeOf :: XRenderColor -> Int
sizeOf XRenderColor
_ = (Int
8)
{-# LINE 51 "Graphics/X11/Xrender.hsc" #-}
alignment :: XRenderColor -> Int
alignment XRenderColor
_ = CInt -> Int
forall a. Storable a => a -> Int
alignment (CInt
forall a. HasCallStack => a
undefined::CInt)
peek :: Ptr XRenderColor -> IO XRenderColor
peek Ptr XRenderColor
p = do
Int
red <- Ptr XRenderColor -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCUShort Ptr XRenderColor
p (CInt
0)
{-# LINE 54 "Graphics/X11/Xrender.hsc" #-}
Int
blue <- Ptr XRenderColor -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCUShort Ptr XRenderColor
p (CInt
4)
{-# LINE 55 "Graphics/X11/Xrender.hsc" #-}
Int
green <- Ptr XRenderColor -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCUShort Ptr XRenderColor
p (CInt
2)
{-# LINE 56 "Graphics/X11/Xrender.hsc" #-}
Int
alpha <- Ptr XRenderColor -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCUShort Ptr XRenderColor
p (CInt
6)
{-# LINE 57 "Graphics/X11/Xrender.hsc" #-}
XRenderColor -> IO XRenderColor
forall (m :: * -> *) a. Monad m => a -> m a
return (Int -> Int -> Int -> Int -> XRenderColor
XRenderColor Int
red Int
green Int
blue Int
alpha)
poke :: Ptr XRenderColor -> XRenderColor -> IO ()
poke Ptr XRenderColor
p (XRenderColor Int
red Int
green Int
blue Int
alpha) = do
Ptr XRenderColor -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCUShort Ptr XRenderColor
p (CInt
0) Int
red
{-# LINE 60 "Graphics/X11/Xrender.hsc" #-}
Ptr XRenderColor -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCUShort Ptr XRenderColor
p (CInt
4) Int
blue
{-# LINE 61 "Graphics/X11/Xrender.hsc" #-}
Ptr XRenderColor -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCUShort Ptr XRenderColor
p (CInt
2) Int
green
{-# LINE 62 "Graphics/X11/Xrender.hsc" #-}
Ptr XRenderColor -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCUShort Ptr XRenderColor
p (CInt
6) Int
alpha
{-# LINE 63 "Graphics/X11/Xrender.hsc" #-}
data XGlyphInfo = XGlyphInfo {
XGlyphInfo -> Int
xglyphinfo_width :: Int,
XGlyphInfo -> Int
xglyphinfo_height :: Int,
XGlyphInfo -> Int
xglyphinfo_x :: Int,
XGlyphInfo -> Int
xglyphinfo_y :: Int,
XGlyphInfo -> Int
xglyphinfo_xOff :: Int,
XGlyphInfo -> Int
xglyphinfo_yOff :: Int
}
instance Storable XGlyphInfo where
sizeOf :: XGlyphInfo -> Int
sizeOf XGlyphInfo
_ = (Int
12)
{-# LINE 75 "Graphics/X11/Xrender.hsc" #-}
alignment :: XGlyphInfo -> Int
alignment XGlyphInfo
_ = CInt -> Int
forall a. Storable a => a -> Int
alignment (CInt
forall a. HasCallStack => a
undefined::CInt)
peek :: Ptr XGlyphInfo -> IO XGlyphInfo
peek Ptr XGlyphInfo
p = do
Int
width <- Ptr XGlyphInfo -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCUShort Ptr XGlyphInfo
p (CInt
0)
{-# LINE 78 "Graphics/X11/Xrender.hsc" #-}
Int
height <- Ptr XGlyphInfo -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCUShort Ptr XGlyphInfo
p (CInt
2)
{-# LINE 79 "Graphics/X11/Xrender.hsc" #-}
Int
x <- Ptr XGlyphInfo -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XGlyphInfo
p (CInt
4)
{-# LINE 80 "Graphics/X11/Xrender.hsc" #-}
Int
y <- Ptr XGlyphInfo -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XGlyphInfo
p (CInt
6)
{-# LINE 81 "Graphics/X11/Xrender.hsc" #-}
Int
xOff <- Ptr XGlyphInfo -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XGlyphInfo
p (CInt
8)
{-# LINE 82 "Graphics/X11/Xrender.hsc" #-}
Int
yOff <- Ptr XGlyphInfo -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XGlyphInfo
p (CInt
10)
{-# LINE 83 "Graphics/X11/Xrender.hsc" #-}
XGlyphInfo -> IO XGlyphInfo
forall (m :: * -> *) a. Monad m => a -> m a
return (Int -> Int -> Int -> Int -> Int -> Int -> XGlyphInfo
XGlyphInfo Int
width Int
height Int
x Int
y Int
xOff Int
yOff)
poke :: Ptr XGlyphInfo -> XGlyphInfo -> IO ()
poke Ptr XGlyphInfo
p (XGlyphInfo Int
width Int
height Int
x Int
y Int
xOff Int
yOff) = do
Ptr XGlyphInfo -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCUShort Ptr XGlyphInfo
p (CInt
0) Int
width
{-# LINE 86 "Graphics/X11/Xrender.hsc" #-}
Ptr XGlyphInfo -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCUShort Ptr XGlyphInfo
p (CInt
2) Int
height
{-# LINE 87 "Graphics/X11/Xrender.hsc" #-}
Ptr XGlyphInfo -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XGlyphInfo
p (CInt
4) Int
x
{-# LINE 88 "Graphics/X11/Xrender.hsc" #-}
Ptr XGlyphInfo -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XGlyphInfo
p (CInt
6) Int
y
{-# LINE 89 "Graphics/X11/Xrender.hsc" #-}
Ptr XGlyphInfo -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XGlyphInfo
p (CInt
8) Int
xOff
{-# LINE 90 "Graphics/X11/Xrender.hsc" #-}
Ptr XGlyphInfo -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XGlyphInfo
p (CInt
10) Int
yOff
{-# LINE 91 "Graphics/X11/Xrender.hsc" #-}
data XRenderDirectFormat = XRenderDirectFormat {
XRenderDirectFormat -> Int
xrenderdirectformat_red :: Int,
XRenderDirectFormat -> Int
xrenderdirectformat_redMask :: Int,
XRenderDirectFormat -> Int
xrenderdirectformat_green :: Int,
XRenderDirectFormat -> Int
xrenderdirectformat_greenMask :: Int,
XRenderDirectFormat -> Int
xrenderdirectformat_blue :: Int,
XRenderDirectFormat -> Int
xrenderdirectformat_blueMask :: Int,
XRenderDirectFormat -> Int
xrenderdirectformat_alpha :: Int,
XRenderDirectFormat -> Int
xrenderdirectformat_alphaMask :: Int
}
instance Storable XRenderDirectFormat where
sizeOf :: XRenderDirectFormat -> Int
sizeOf XRenderDirectFormat
_ = (Int
16)
{-# LINE 106 "Graphics/X11/Xrender.hsc" #-}
alignment :: XRenderDirectFormat -> Int
alignment XRenderDirectFormat
_ = CInt -> Int
forall a. Storable a => a -> Int
alignment (CInt
forall a. HasCallStack => a
undefined::CInt)
peek :: Ptr XRenderDirectFormat -> IO XRenderDirectFormat
peek Ptr XRenderDirectFormat
p = do
Int
red <- Ptr XRenderDirectFormat -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XRenderDirectFormat
p (CInt
0)
{-# LINE 109 "Graphics/X11/Xrender.hsc" #-}
Int
redMask <- Ptr XRenderDirectFormat -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XRenderDirectFormat
p (CInt
2)
{-# LINE 110 "Graphics/X11/Xrender.hsc" #-}
Int
green <- Ptr XRenderDirectFormat -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XRenderDirectFormat
p (CInt
4)
{-# LINE 111 "Graphics/X11/Xrender.hsc" #-}
Int
greenMask <- Ptr XRenderDirectFormat -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XRenderDirectFormat
p (CInt
6)
{-# LINE 112 "Graphics/X11/Xrender.hsc" #-}
Int
blue <- Ptr XRenderDirectFormat -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XRenderDirectFormat
p (CInt
8)
{-# LINE 113 "Graphics/X11/Xrender.hsc" #-}
Int
blueMask <- Ptr XRenderDirectFormat -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XRenderDirectFormat
p (CInt
10)
{-# LINE 114 "Graphics/X11/Xrender.hsc" #-}
Int
alpha <- Ptr XRenderDirectFormat -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XRenderDirectFormat
p (CInt
12)
{-# LINE 115 "Graphics/X11/Xrender.hsc" #-}
Int
alphaMask <- Ptr XRenderDirectFormat -> CInt -> IO Int
forall a. Ptr a -> CInt -> IO Int
peekCShort Ptr XRenderDirectFormat
p (CInt
14)
{-# LINE 116 "Graphics/X11/Xrender.hsc" #-}
XRenderDirectFormat -> IO XRenderDirectFormat
forall (m :: * -> *) a. Monad m => a -> m a
return (Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> XRenderDirectFormat
XRenderDirectFormat Int
red Int
redMask Int
green Int
greenMask Int
blue Int
blueMask Int
alpha Int
alphaMask)
poke :: Ptr XRenderDirectFormat -> XRenderDirectFormat -> IO ()
poke Ptr XRenderDirectFormat
p (XRenderDirectFormat Int
red Int
redMask Int
green Int
greenMask Int
blue Int
blueMask Int
alpha Int
alphaMask) = do
Ptr XRenderDirectFormat -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XRenderDirectFormat
p (CInt
0) Int
red
{-# LINE 119 "Graphics/X11/Xrender.hsc" #-}
Ptr XRenderDirectFormat -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XRenderDirectFormat
p (CInt
2) Int
redMask
{-# LINE 120 "Graphics/X11/Xrender.hsc" #-}
Ptr XRenderDirectFormat -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XRenderDirectFormat
p (CInt
8) Int
blue
{-# LINE 121 "Graphics/X11/Xrender.hsc" #-}
Ptr XRenderDirectFormat -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XRenderDirectFormat
p (CInt
10) Int
blueMask
{-# LINE 122 "Graphics/X11/Xrender.hsc" #-}
Ptr XRenderDirectFormat -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XRenderDirectFormat
p (CInt
4) Int
green
{-# LINE 123 "Graphics/X11/Xrender.hsc" #-}
Ptr XRenderDirectFormat -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XRenderDirectFormat
p (CInt
6) Int
greenMask
{-# LINE 124 "Graphics/X11/Xrender.hsc" #-}
Ptr XRenderDirectFormat -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XRenderDirectFormat
p (CInt
12) Int
alpha
{-# LINE 125 "Graphics/X11/Xrender.hsc" #-}
Ptr XRenderDirectFormat -> CInt -> Int -> IO ()
forall a. Ptr a -> CInt -> Int -> IO ()
pokeCShort Ptr XRenderDirectFormat
p (CInt
14) Int
alphaMask
{-# LINE 126 "Graphics/X11/Xrender.hsc" #-}