{-# LANGUAGE ScopedTypeVariables #-}
{-# LINE 2 "./Graphics/UI/Gtk/Gdk/Drawable.chs" #-}
module Graphics.UI.Gtk.Gdk.Drawable (
Drawable,
DrawableClass,
castToDrawable, gTypeDrawable,
toDrawable,
drawableGetDepth,
drawableGetSize,
drawableGetClipRegion,
drawableGetVisibleRegion,
drawableGetID,
Point,
drawPoint,
drawPoints,
drawLine,
drawLines,
Dither(..),
drawPixbuf,
drawSegments,
drawRectangle,
drawArc,
drawPolygon,
drawGlyphs,
drawLayoutLine,
drawLayoutLineWithColors,
drawLayout,
drawLayoutWithColors,
drawDrawable,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import Graphics.UI.Gtk.General.Structs (Point, drawableGetID)
import Graphics.Rendering.Pango.Structs
import Graphics.Rendering.Pango.Types
{-# LINE 79 "./Graphics/UI/Gtk/Gdk/Drawable.chs" #-}
import Graphics.Rendering.Pango.BasicTypes
{-# LINE 80 "./Graphics/UI/Gtk/Gdk/Drawable.chs" #-}
import Graphics.UI.Gtk.Types
{-# LINE 81 "./Graphics/UI/Gtk/Gdk/Drawable.chs" #-}
import Graphics.UI.Gtk.Gdk.Region (Region, makeNewRegion)
import Graphics.UI.Gtk.Gdk.Enums (Dither(..))
{-# LINE 87 "./Graphics/UI/Gtk/Gdk/Drawable.chs" #-}
drawableGetDepth :: DrawableClass d => d -> IO Int
drawableGetDepth :: forall d. DrawableClass d => d -> IO Int
drawableGetDepth d
d = (CInt -> Int) -> IO CInt -> IO Int
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (IO CInt -> IO Int) -> IO CInt -> IO Int
forall a b. (a -> b) -> a -> b
$
(\(Drawable ForeignPtr Drawable
arg1) -> ForeignPtr Drawable -> (Ptr Drawable -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO CInt) -> IO CInt)
-> (Ptr Drawable -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->Ptr Drawable -> IO CInt
gdk_drawable_get_depth Ptr Drawable
argPtr1) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d)
drawableGetSize :: DrawableClass d => d -> IO (Int, Int)
drawableGetSize :: forall d. DrawableClass d => d -> IO (Int, Int)
drawableGetSize d
d = (Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CInt -> IO (Int, Int)) -> IO (Int, Int))
-> (Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. (a -> b) -> a -> b
$ \Ptr CInt
wPtr -> (Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CInt -> IO (Int, Int)) -> IO (Int, Int))
-> (Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. (a -> b) -> a -> b
$ \Ptr CInt
hPtr -> do
(\(Drawable ForeignPtr Drawable
arg1) Ptr CInt
arg2 Ptr CInt
arg3 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->Ptr Drawable -> Ptr CInt -> Ptr CInt -> IO ()
gdk_drawable_get_size Ptr Drawable
argPtr1 Ptr CInt
arg2 Ptr CInt
arg3) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d) Ptr CInt
wPtr Ptr CInt
hPtr
(CInt
w::(CInt)) <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
wPtr
(CInt
h::(CInt)) <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
hPtr
(Int, Int) -> IO (Int, Int)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
w, CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
h)
drawableGetClipRegion :: DrawableClass d => d -> IO Region
drawableGetClipRegion :: forall d. DrawableClass d => d -> IO Region
drawableGetClipRegion d
d = do
Ptr Region
rPtr <- (\(Drawable ForeignPtr Drawable
arg1) -> ForeignPtr Drawable
-> (Ptr Drawable -> IO (Ptr Region)) -> IO (Ptr Region)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO (Ptr Region)) -> IO (Ptr Region))
-> (Ptr Drawable -> IO (Ptr Region)) -> IO (Ptr Region)
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->Ptr Drawable -> IO (Ptr Region)
gdk_drawable_get_clip_region Ptr Drawable
argPtr1) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d)
Ptr Region -> IO Region
makeNewRegion Ptr Region
rPtr
drawableGetVisibleRegion :: DrawableClass d => d -> IO Region
drawableGetVisibleRegion :: forall d. DrawableClass d => d -> IO Region
drawableGetVisibleRegion d
d = do
Ptr Region
rPtr <- (\(Drawable ForeignPtr Drawable
arg1) -> ForeignPtr Drawable
-> (Ptr Drawable -> IO (Ptr Region)) -> IO (Ptr Region)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO (Ptr Region)) -> IO (Ptr Region))
-> (Ptr Drawable -> IO (Ptr Region)) -> IO (Ptr Region)
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->Ptr Drawable -> IO (Ptr Region)
gdk_drawable_get_visible_region Ptr Drawable
argPtr1) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d)
Ptr Region -> IO Region
makeNewRegion Ptr Region
rPtr
drawPoint :: DrawableClass d => d -> GC -> Point -> IO ()
drawPoint :: forall d. DrawableClass d => d -> GC -> (Int, Int) -> IO ()
drawPoint d
d GC
gc (Int
x,Int
y) = (\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) CInt
arg3 CInt
arg4 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->Ptr Drawable -> Ptr GC -> CInt -> CInt -> IO ()
gdk_draw_point Ptr Drawable
argPtr1 Ptr GC
argPtr2 CInt
arg3 CInt
arg4) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d)
(GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y)
drawPoints :: DrawableClass d => d -> GC -> [Point] -> IO ()
drawPoints :: forall d. DrawableClass d => d -> GC -> [(Int, Int)] -> IO ()
drawPoints d
d GC
gc [] = () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
drawPoints d
d GC
gc [(Int, Int)]
points =
[CInt] -> (Ptr CInt -> IO ()) -> IO ()
forall a b. Storable a => [a] -> (Ptr a -> IO b) -> IO b
withArray (((Int, Int) -> [CInt]) -> [(Int, Int)] -> [CInt]
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
concatMap (\(Int
x,Int
y) -> [Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x, Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y]) [(Int, Int)]
points) ((Ptr CInt -> IO ()) -> IO ()) -> (Ptr CInt -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$
\(Ptr CInt
aPtr :: Ptr (CInt)) -> (\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) Ptr ()
arg3 CInt
arg4 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->Ptr Drawable -> Ptr GC -> Ptr () -> CInt -> IO ()
gdk_draw_points Ptr Drawable
argPtr1 Ptr GC
argPtr2 Ptr ()
arg3 CInt
arg4) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d)
(GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc) (Ptr CInt -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr Ptr CInt
aPtr) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([(Int, Int)] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [(Int, Int)]
points))
drawLine :: DrawableClass d => d -> GC -> Point -> Point -> IO ()
drawLine :: forall d.
DrawableClass d =>
d -> GC -> (Int, Int) -> (Int, Int) -> IO ()
drawLine d
d GC
gc (Int
x1,Int
y1) (Int
x2,Int
y2) = (\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) CInt
arg3 CInt
arg4 CInt
arg5 CInt
arg6 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->Ptr Drawable -> Ptr GC -> CInt -> CInt -> CInt -> CInt -> IO ()
gdk_draw_line Ptr Drawable
argPtr1 Ptr GC
argPtr2 CInt
arg3 CInt
arg4 CInt
arg5 CInt
arg6) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d)
(GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x1) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y1) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x2)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y2)
drawLines :: DrawableClass d => d -> GC -> [Point] -> IO ()
drawLines :: forall d. DrawableClass d => d -> GC -> [(Int, Int)] -> IO ()
drawLines d
d GC
gc [] = () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
drawLines d
d GC
gc [(Int, Int)]
points =
[CInt] -> (Ptr CInt -> IO ()) -> IO ()
forall a b. Storable a => [a] -> (Ptr a -> IO b) -> IO b
withArray (((Int, Int) -> [CInt]) -> [(Int, Int)] -> [CInt]
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
concatMap (\(Int
x,Int
y) -> [Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x, Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y]) [(Int, Int)]
points) ((Ptr CInt -> IO ()) -> IO ()) -> (Ptr CInt -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$
\(Ptr CInt
aPtr :: Ptr (CInt)) -> (\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) Ptr ()
arg3 CInt
arg4 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->Ptr Drawable -> Ptr GC -> Ptr () -> CInt -> IO ()
gdk_draw_lines Ptr Drawable
argPtr1 Ptr GC
argPtr2 Ptr ()
arg3 CInt
arg4) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d)
(GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc) (Ptr CInt -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr Ptr CInt
aPtr) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([(Int, Int)] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [(Int, Int)]
points))
drawPixbuf :: DrawableClass d => d -> GC -> Pixbuf -> Int -> Int ->
Int -> Int -> Int -> Int -> Dither ->
Int -> Int -> IO ()
drawPixbuf :: forall d.
DrawableClass d =>
d
-> GC
-> Pixbuf
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> Dither
-> Int
-> Int
-> IO ()
drawPixbuf d
d GC
gc Pixbuf
pb Int
srcX Int
srcY Int
destX Int
destY Int
srcWidth Int
srcHeight Dither
dither
Int
xDither Int
yDither = (\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) (Pixbuf ForeignPtr Pixbuf
arg3) CInt
arg4 CInt
arg5 CInt
arg6 CInt
arg7 CInt
arg8 CInt
arg9 CInt
arg10 CInt
arg11 CInt
arg12 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->ForeignPtr Pixbuf -> (Ptr Pixbuf -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Pixbuf
arg3 ((Ptr Pixbuf -> IO ()) -> IO ()) -> (Ptr Pixbuf -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Pixbuf
argPtr3 ->Ptr Drawable
-> Ptr GC
-> Ptr Pixbuf
-> CInt
-> CInt
-> CInt
-> CInt
-> CInt
-> CInt
-> CInt
-> CInt
-> CInt
-> IO ()
gdk_draw_pixbuf Ptr Drawable
argPtr1 Ptr GC
argPtr2 Ptr Pixbuf
argPtr3 CInt
arg4 CInt
arg5 CInt
arg6 CInt
arg7 CInt
arg8 CInt
arg9 CInt
arg10 CInt
arg11 CInt
arg12) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d)
GC
gc Pixbuf
pb (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
srcX) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
srcY) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
destX)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
destY) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
srcWidth) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
srcHeight)
((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Dither -> Int) -> Dither -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Dither -> Int
forall a. Enum a => a -> Int
fromEnum) Dither
dither) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
xDither)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
yDither)
drawSegments :: DrawableClass d => d -> GC -> [(Point,Point)] -> IO ()
drawSegments :: forall d.
DrawableClass d =>
d -> GC -> [((Int, Int), (Int, Int))] -> IO ()
drawSegments d
d GC
gc [] = () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
drawSegments d
d GC
gc [((Int, Int), (Int, Int))]
pps = [CInt] -> (Ptr CInt -> IO ()) -> IO ()
forall a b. Storable a => [a] -> (Ptr a -> IO b) -> IO b
withArray ((((Int, Int), (Int, Int)) -> [CInt])
-> [((Int, Int), (Int, Int))] -> [CInt]
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
concatMap (\((Int
x1,Int
y1),(Int
x2,Int
y2)) ->
[Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x1, Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y1, Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x2, Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y2])
[((Int, Int), (Int, Int))]
pps) ((Ptr CInt -> IO ()) -> IO ()) -> (Ptr CInt -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \(Ptr CInt
aPtr :: Ptr (CInt)) ->
(\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) Ptr ()
arg3 CInt
arg4 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->Ptr Drawable -> Ptr GC -> Ptr () -> CInt -> IO ()
gdk_draw_segments Ptr Drawable
argPtr1 Ptr GC
argPtr2 Ptr ()
arg3 CInt
arg4) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d) (GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc)
(Ptr CInt -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr Ptr CInt
aPtr) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([((Int, Int), (Int, Int))] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [((Int, Int), (Int, Int))]
pps))
drawRectangle :: DrawableClass d => d
-> GC
-> Bool
-> Int
-> Int
-> Int
-> Int
-> IO ()
drawRectangle :: forall d.
DrawableClass d =>
d -> GC -> Bool -> Int -> Int -> Int -> Int -> IO ()
drawRectangle d
d GC
gc Bool
filled Int
x Int
y Int
width Int
height = (\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) CInt
arg3 CInt
arg4 CInt
arg5 CInt
arg6 CInt
arg7 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->Ptr Drawable
-> Ptr GC -> CInt -> CInt -> CInt -> CInt -> CInt -> IO ()
gdk_draw_rectangle Ptr Drawable
argPtr1 Ptr GC
argPtr2 CInt
arg3 CInt
arg4 CInt
arg5 CInt
arg6 CInt
arg7)
{-# LINE 240 "./Graphics/UI/Gtk/Gdk/Drawable.chs" #-}
(toDrawable d) (GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc) (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
filled) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
width) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
height)
drawArc :: DrawableClass d => d -> GC -> Bool -> Int -> Int ->
Int -> Int -> Int -> Int -> IO ()
drawArc :: forall d.
DrawableClass d =>
d -> GC -> Bool -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
drawArc d
d GC
gc Bool
filled Int
x Int
y Int
width Int
height Int
aStart Int
aEnd =
(\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) CInt
arg3 CInt
arg4 CInt
arg5 CInt
arg6 CInt
arg7 CInt
arg8 CInt
arg9 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->Ptr Drawable
-> Ptr GC
-> CInt
-> CInt
-> CInt
-> CInt
-> CInt
-> CInt
-> CInt
-> IO ()
gdk_draw_arc Ptr Drawable
argPtr1 Ptr GC
argPtr2 CInt
arg3 CInt
arg4 CInt
arg5 CInt
arg6 CInt
arg7 CInt
arg8 CInt
arg9) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d) (GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc) (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
filled)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
width) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
height)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
aStart) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
aEnd)
drawPolygon :: DrawableClass d => d -> GC -> Bool -> [Point] -> IO ()
drawPolygon :: forall d.
DrawableClass d =>
d -> GC -> Bool -> [(Int, Int)] -> IO ()
drawPolygon d
_ GC
_ Bool
_ [] = () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
drawPolygon d
d GC
gc Bool
filled [(Int, Int)]
points =
[CInt] -> (Ptr CInt -> IO ()) -> IO ()
forall a b. Storable a => [a] -> (Ptr a -> IO b) -> IO b
withArray (((Int, Int) -> [CInt]) -> [(Int, Int)] -> [CInt]
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
concatMap (\(Int
x,Int
y) -> [Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x, Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y]) [(Int, Int)]
points) ((Ptr CInt -> IO ()) -> IO ()) -> (Ptr CInt -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$
\(Ptr CInt
aPtr::Ptr (CInt)) -> (\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) CInt
arg3 Ptr ()
arg4 CInt
arg5 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->Ptr Drawable -> Ptr GC -> CInt -> Ptr () -> CInt -> IO ()
gdk_draw_polygon Ptr Drawable
argPtr1 Ptr GC
argPtr2 CInt
arg3 Ptr ()
arg4 CInt
arg5) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d)
(GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc) (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
filled) (Ptr CInt -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr Ptr CInt
aPtr) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([(Int, Int)] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [(Int, Int)]
points))
drawGlyphs :: DrawableClass d => d -> GC -> Int -> Int -> GlyphItem -> IO ()
drawGlyphs :: forall d.
DrawableClass d =>
d -> GC -> Int -> Int -> GlyphItem -> IO ()
drawGlyphs d
d GC
gc Int
x Int
y (GlyphItem PangoItem
pi GlyphStringRaw
gs) = do
Font
font <- PangoItem -> IO Font
pangoItemGetFont PangoItem
pi
(\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) (Font ForeignPtr Font
arg3) CInt
arg4 CInt
arg5 (GlyphStringRaw ForeignPtr GlyphStringRaw
arg6) -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->ForeignPtr Font -> (Ptr Font -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Font
arg3 ((Ptr Font -> IO ()) -> IO ()) -> (Ptr Font -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Font
argPtr3 ->ForeignPtr GlyphStringRaw -> (Ptr GlyphStringRaw -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GlyphStringRaw
arg6 ((Ptr GlyphStringRaw -> IO ()) -> IO ())
-> (Ptr GlyphStringRaw -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphStringRaw
argPtr6 ->Ptr Drawable
-> Ptr GC
-> Ptr Font
-> CInt
-> CInt
-> Ptr GlyphStringRaw
-> IO ()
gdk_draw_glyphs Ptr Drawable
argPtr1 Ptr GC
argPtr2 Ptr Font
argPtr3 CInt
arg4 CInt
arg5 Ptr GlyphStringRaw
argPtr6) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d) (GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc) Font
font
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y) GlyphStringRaw
gs
drawLayoutLine :: DrawableClass d => d -> GC -> Int -> Int -> LayoutLine ->
IO ()
drawLayoutLine :: forall d.
DrawableClass d =>
d -> GC -> Int -> Int -> LayoutLine -> IO ()
drawLayoutLine d
d GC
gc Int
x Int
y (LayoutLine IORef PangoString
_ LayoutLineRaw
ll) =
(\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) CInt
arg3 CInt
arg4 (LayoutLineRaw ForeignPtr LayoutLineRaw
arg5) -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->ForeignPtr LayoutLineRaw -> (Ptr LayoutLineRaw -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr LayoutLineRaw
arg5 ((Ptr LayoutLineRaw -> IO ()) -> IO ())
-> (Ptr LayoutLineRaw -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr LayoutLineRaw
argPtr5 ->Ptr Drawable
-> Ptr GC -> CInt -> CInt -> Ptr LayoutLineRaw -> IO ()
gdk_draw_layout_line Ptr Drawable
argPtr1 Ptr GC
argPtr2 CInt
arg3 CInt
arg4 Ptr LayoutLineRaw
argPtr5) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d) (GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y) LayoutLineRaw
ll
drawLayoutLineWithColors :: DrawableClass d => d -> GC -> Int -> Int ->
LayoutLine -> Maybe Color -> Maybe Color -> IO ()
drawLayoutLineWithColors :: forall d.
DrawableClass d =>
d
-> GC
-> Int
-> Int
-> LayoutLine
-> Maybe Color
-> Maybe Color
-> IO ()
drawLayoutLineWithColors d
d GC
gc Int
x Int
y (LayoutLine IORef PangoString
_ LayoutLineRaw
ll) Maybe Color
foreground Maybe Color
background = let
withMB :: Storable a => Maybe a -> (Ptr a -> IO b) -> IO b
withMB :: forall a b. Storable a => Maybe a -> (Ptr a -> IO b) -> IO b
withMB Maybe a
Nothing Ptr a -> IO b
f = Ptr a -> IO b
f Ptr a
forall a. Ptr a
nullPtr
withMB (Just a
x) Ptr a -> IO b
f = a -> (Ptr a -> IO b) -> IO b
forall a b. Storable a => a -> (Ptr a -> IO b) -> IO b
with a
x Ptr a -> IO b
f
in
Maybe Color -> (Ptr Color -> IO ()) -> IO ()
forall a b. Storable a => Maybe a -> (Ptr a -> IO b) -> IO b
withMB Maybe Color
foreground ((Ptr Color -> IO ()) -> IO ()) -> (Ptr Color -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Color
fPtr -> Maybe Color -> (Ptr Color -> IO ()) -> IO ()
forall a b. Storable a => Maybe a -> (Ptr a -> IO b) -> IO b
withMB Maybe Color
background ((Ptr Color -> IO ()) -> IO ()) -> (Ptr Color -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Color
bPtr ->
(\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) CInt
arg3 CInt
arg4 (LayoutLineRaw ForeignPtr LayoutLineRaw
arg5) Ptr ()
arg6 Ptr ()
arg7 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->ForeignPtr LayoutLineRaw -> (Ptr LayoutLineRaw -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr LayoutLineRaw
arg5 ((Ptr LayoutLineRaw -> IO ()) -> IO ())
-> (Ptr LayoutLineRaw -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr LayoutLineRaw
argPtr5 ->Ptr Drawable
-> Ptr GC
-> CInt
-> CInt
-> Ptr LayoutLineRaw
-> Ptr ()
-> Ptr ()
-> IO ()
gdk_draw_layout_line_with_colors Ptr Drawable
argPtr1 Ptr GC
argPtr2 CInt
arg3 CInt
arg4 Ptr LayoutLineRaw
argPtr5 Ptr ()
arg6 Ptr ()
arg7) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d) (GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y) LayoutLineRaw
ll (Ptr Color -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr Ptr Color
fPtr) (Ptr Color -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr Ptr Color
bPtr)
drawLayout :: DrawableClass d => d -> GC -> Int -> Int -> PangoLayout -> IO ()
drawLayout :: forall d.
DrawableClass d =>
d -> GC -> Int -> Int -> PangoLayout -> IO ()
drawLayout d
d GC
gc Int
x Int
y (PangoLayout IORef PangoString
_ PangoLayoutRaw
pl) =
(\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) CInt
arg3 CInt
arg4 (PangoLayoutRaw ForeignPtr PangoLayoutRaw
arg5) -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->ForeignPtr PangoLayoutRaw -> (Ptr PangoLayoutRaw -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PangoLayoutRaw
arg5 ((Ptr PangoLayoutRaw -> IO ()) -> IO ())
-> (Ptr PangoLayoutRaw -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PangoLayoutRaw
argPtr5 ->Ptr Drawable
-> Ptr GC -> CInt -> CInt -> Ptr PangoLayoutRaw -> IO ()
gdk_draw_layout Ptr Drawable
argPtr1 Ptr GC
argPtr2 CInt
arg3 CInt
arg4 Ptr PangoLayoutRaw
argPtr5) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d) (GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y) PangoLayoutRaw
pl
drawLayoutWithColors :: DrawableClass d => d -> GC -> Int -> Int ->
PangoLayout -> Maybe Color -> Maybe Color -> IO ()
drawLayoutWithColors :: forall d.
DrawableClass d =>
d
-> GC
-> Int
-> Int
-> PangoLayout
-> Maybe Color
-> Maybe Color
-> IO ()
drawLayoutWithColors d
d GC
gc Int
x Int
y (PangoLayout IORef PangoString
_ PangoLayoutRaw
pl) Maybe Color
foreground Maybe Color
background = let
withMB :: Storable a => Maybe a -> (Ptr a -> IO b) -> IO b
withMB :: forall a b. Storable a => Maybe a -> (Ptr a -> IO b) -> IO b
withMB Maybe a
Nothing Ptr a -> IO b
f = Ptr a -> IO b
f Ptr a
forall a. Ptr a
nullPtr
withMB (Just a
x) Ptr a -> IO b
f = a -> (Ptr a -> IO b) -> IO b
forall a b. Storable a => a -> (Ptr a -> IO b) -> IO b
with a
x Ptr a -> IO b
f
in
Maybe Color -> (Ptr Color -> IO ()) -> IO ()
forall a b. Storable a => Maybe a -> (Ptr a -> IO b) -> IO b
withMB Maybe Color
foreground ((Ptr Color -> IO ()) -> IO ()) -> (Ptr Color -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Color
fPtr -> Maybe Color -> (Ptr Color -> IO ()) -> IO ()
forall a b. Storable a => Maybe a -> (Ptr a -> IO b) -> IO b
withMB Maybe Color
background ((Ptr Color -> IO ()) -> IO ()) -> (Ptr Color -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Color
bPtr ->
(\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) CInt
arg3 CInt
arg4 (PangoLayoutRaw ForeignPtr PangoLayoutRaw
arg5) Ptr ()
arg6 Ptr ()
arg7 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->ForeignPtr PangoLayoutRaw -> (Ptr PangoLayoutRaw -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr PangoLayoutRaw
arg5 ((Ptr PangoLayoutRaw -> IO ()) -> IO ())
-> (Ptr PangoLayoutRaw -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr PangoLayoutRaw
argPtr5 ->Ptr Drawable
-> Ptr GC
-> CInt
-> CInt
-> Ptr PangoLayoutRaw
-> Ptr ()
-> Ptr ()
-> IO ()
gdk_draw_layout_with_colors Ptr Drawable
argPtr1 Ptr GC
argPtr2 CInt
arg3 CInt
arg4 Ptr PangoLayoutRaw
argPtr5 Ptr ()
arg6 Ptr ()
arg7) (d -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable d
d) (GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
x) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
y) PangoLayoutRaw
pl (Ptr Color -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr Ptr Color
fPtr) (Ptr Color -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr Ptr Color
bPtr)
drawDrawable :: (DrawableClass src, DrawableClass dest)
=> dest
-> GC
-> src
-> Int
-> Int
-> Int
-> Int
-> Int
-> Int
-> IO ()
drawDrawable :: forall src dest.
(DrawableClass src, DrawableClass dest) =>
dest
-> GC -> src -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
drawDrawable dest
dest GC
gc src
src Int
xSrc Int
ySrc Int
xDest Int
yDest Int
width Int
height =
(\(Drawable ForeignPtr Drawable
arg1) (GC ForeignPtr GC
arg2) (Drawable ForeignPtr Drawable
arg3) CInt
arg4 CInt
arg5 CInt
arg6 CInt
arg7 CInt
arg8 CInt
arg9 -> ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg1 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr1 ->ForeignPtr GC -> (Ptr GC -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GC
arg2 ((Ptr GC -> IO ()) -> IO ()) -> (Ptr GC -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GC
argPtr2 ->ForeignPtr Drawable -> (Ptr Drawable -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Drawable
arg3 ((Ptr Drawable -> IO ()) -> IO ())
-> (Ptr Drawable -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Drawable
argPtr3 ->Ptr Drawable
-> Ptr GC
-> Ptr Drawable
-> CInt
-> CInt
-> CInt
-> CInt
-> CInt
-> CInt
-> IO ()
gdk_draw_drawable Ptr Drawable
argPtr1 Ptr GC
argPtr2 Ptr Drawable
argPtr3 CInt
arg4 CInt
arg5 CInt
arg6 CInt
arg7 CInt
arg8 CInt
arg9) (dest -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable dest
dest) (GC -> GC
forall o. GCClass o => o -> GC
toGC GC
gc)
(src -> Drawable
forall o. DrawableClass o => o -> Drawable
toDrawable src
src)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
xSrc) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
ySrc) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
xDest)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
yDest) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
width) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
height)
foreign import ccall unsafe "gdk_drawable_get_depth"
gdk_drawable_get_depth :: ((Ptr Drawable) -> (IO CInt))
foreign import ccall unsafe "gdk_drawable_get_size"
gdk_drawable_get_size :: ((Ptr Drawable) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO ()))))
foreign import ccall unsafe "gdk_drawable_get_clip_region"
gdk_drawable_get_clip_region :: ((Ptr Drawable) -> (IO (Ptr Region)))
foreign import ccall unsafe "gdk_drawable_get_visible_region"
gdk_drawable_get_visible_region :: ((Ptr Drawable) -> (IO (Ptr Region)))
foreign import ccall unsafe "gdk_draw_point"
gdk_draw_point :: ((Ptr Drawable) -> ((Ptr GC) -> (CInt -> (CInt -> (IO ())))))
foreign import ccall unsafe "gdk_draw_points"
gdk_draw_points :: ((Ptr Drawable) -> ((Ptr GC) -> ((Ptr ()) -> (CInt -> (IO ())))))
foreign import ccall unsafe "gdk_draw_line"
gdk_draw_line :: ((Ptr Drawable) -> ((Ptr GC) -> (CInt -> (CInt -> (CInt -> (CInt -> (IO ())))))))
foreign import ccall unsafe "gdk_draw_lines"
gdk_draw_lines :: ((Ptr Drawable) -> ((Ptr GC) -> ((Ptr ()) -> (CInt -> (IO ())))))
foreign import ccall unsafe "gdk_draw_pixbuf"
gdk_draw_pixbuf :: ((Ptr Drawable) -> ((Ptr GC) -> ((Ptr Pixbuf) -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (IO ())))))))))))))
foreign import ccall unsafe "gdk_draw_segments"
gdk_draw_segments :: ((Ptr Drawable) -> ((Ptr GC) -> ((Ptr ()) -> (CInt -> (IO ())))))
foreign import ccall unsafe "gdk_draw_rectangle"
gdk_draw_rectangle :: ((Ptr Drawable) -> ((Ptr GC) -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (IO ()))))))))
foreign import ccall unsafe "gdk_draw_arc"
gdk_draw_arc :: ((Ptr Drawable) -> ((Ptr GC) -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (IO ()))))))))))
foreign import ccall unsafe "gdk_draw_polygon"
gdk_draw_polygon :: ((Ptr Drawable) -> ((Ptr GC) -> (CInt -> ((Ptr ()) -> (CInt -> (IO ()))))))
foreign import ccall unsafe "gdk_draw_glyphs"
gdk_draw_glyphs :: ((Ptr Drawable) -> ((Ptr GC) -> ((Ptr Font) -> (CInt -> (CInt -> ((Ptr GlyphStringRaw) -> (IO ())))))))
foreign import ccall unsafe "gdk_draw_layout_line"
gdk_draw_layout_line :: ((Ptr Drawable) -> ((Ptr GC) -> (CInt -> (CInt -> ((Ptr LayoutLineRaw) -> (IO ()))))))
foreign import ccall unsafe "gdk_draw_layout_line_with_colors"
gdk_draw_layout_line_with_colors :: ((Ptr Drawable) -> ((Ptr GC) -> (CInt -> (CInt -> ((Ptr LayoutLineRaw) -> ((Ptr ()) -> ((Ptr ()) -> (IO ()))))))))
foreign import ccall unsafe "gdk_draw_layout"
gdk_draw_layout :: ((Ptr Drawable) -> ((Ptr GC) -> (CInt -> (CInt -> ((Ptr PangoLayoutRaw) -> (IO ()))))))
foreign import ccall unsafe "gdk_draw_layout_with_colors"
gdk_draw_layout_with_colors :: ((Ptr Drawable) -> ((Ptr GC) -> (CInt -> (CInt -> ((Ptr PangoLayoutRaw) -> ((Ptr ()) -> ((Ptr ()) -> (IO ()))))))))
foreign import ccall unsafe "gdk_draw_drawable"
gdk_draw_drawable :: ((Ptr Drawable) -> ((Ptr GC) -> ((Ptr Drawable) -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (CInt -> (IO ()))))))))))