{-# LINE 2 "./Graphics/UI/Gtk/Abstract/Misc.chs" #-}
module Graphics.UI.Gtk.Abstract.Misc (
Misc,
MiscClass,
castToMisc, gTypeMisc,
toMisc,
miscSetAlignment,
miscGetAlignment,
miscSetPadding,
miscGetPadding,
miscXalign,
miscYalign,
miscXpad,
miscYpad,
) where
import System.Glib.FFI
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Types
{-# LINE 78 "./Graphics/UI/Gtk/Abstract/Misc.chs" #-}
{-# LINE 80 "./Graphics/UI/Gtk/Abstract/Misc.chs" #-}
miscSetAlignment :: MiscClass self => self
-> Float
-> Float
-> IO ()
miscSetAlignment :: forall self. MiscClass self => self -> Float -> Float -> IO ()
miscSetAlignment self
self Float
xalign Float
yalign =
(\(Misc ForeignPtr Misc
arg1) CFloat
arg2 CFloat
arg3 -> ForeignPtr Misc -> (Ptr Misc -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Misc
arg1 ((Ptr Misc -> IO ()) -> IO ()) -> (Ptr Misc -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Misc
argPtr1 ->Ptr Misc -> CFloat -> CFloat -> IO ()
gtk_misc_set_alignment Ptr Misc
argPtr1 CFloat
arg2 CFloat
arg3)
{-# LINE 93 "./Graphics/UI/Gtk/Abstract/Misc.chs" #-}
(toMisc self)
(Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac Float
xalign)
(Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac Float
yalign)
miscGetAlignment :: MiscClass self => self
-> IO (Double, Double)
miscGetAlignment :: forall self. MiscClass self => self -> IO (Double, Double)
miscGetAlignment self
self =
(Ptr CFloat -> IO (Double, Double)) -> IO (Double, Double)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CFloat -> IO (Double, Double)) -> IO (Double, Double))
-> (Ptr CFloat -> IO (Double, Double)) -> IO (Double, Double)
forall a b. (a -> b) -> a -> b
$ \Ptr CFloat
xalignPtr ->
(Ptr CFloat -> IO (Double, Double)) -> IO (Double, Double)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CFloat -> IO (Double, Double)) -> IO (Double, Double))
-> (Ptr CFloat -> IO (Double, Double)) -> IO (Double, Double)
forall a b. (a -> b) -> a -> b
$ \Ptr CFloat
yalignPtr -> do
(\(Misc ForeignPtr Misc
arg1) Ptr CFloat
arg2 Ptr CFloat
arg3 -> ForeignPtr Misc -> (Ptr Misc -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Misc
arg1 ((Ptr Misc -> IO ()) -> IO ()) -> (Ptr Misc -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Misc
argPtr1 ->Ptr Misc -> Ptr CFloat -> Ptr CFloat -> IO ()
gtk_misc_get_alignment Ptr Misc
argPtr1 Ptr CFloat
arg2 Ptr CFloat
arg3)
{-# LINE 106 "./Graphics/UI/Gtk/Abstract/Misc.chs" #-}
(toMisc self)
Ptr CFloat
xalignPtr
Ptr CFloat
yalignPtr
CFloat
xalign <- Ptr CFloat -> IO CFloat
forall a. Storable a => Ptr a -> IO a
peek Ptr CFloat
xalignPtr
CFloat
yalign <- Ptr CFloat -> IO CFloat
forall a. Storable a => Ptr a -> IO a
peek Ptr CFloat
yalignPtr
(Double, Double) -> IO (Double, Double)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (CFloat -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CFloat
xalign, CFloat -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CFloat
yalign)
miscSetPadding :: MiscClass self => self
-> Int
-> Int
-> IO ()
miscSetPadding :: forall self. MiscClass self => self -> Int -> Int -> IO ()
miscSetPadding self
self Int
xpad Int
ypad =
(\(Misc ForeignPtr Misc
arg1) CInt
arg2 CInt
arg3 -> ForeignPtr Misc -> (Ptr Misc -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Misc
arg1 ((Ptr Misc -> IO ()) -> IO ()) -> (Ptr Misc -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Misc
argPtr1 ->Ptr Misc -> CInt -> CInt -> IO ()
gtk_misc_set_padding Ptr Misc
argPtr1 CInt
arg2 CInt
arg3)
{-# LINE 123 "./Graphics/UI/Gtk/Abstract/Misc.chs" #-}
(toMisc self)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
xpad)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
ypad)
miscGetPadding :: MiscClass self => self
-> IO (Int, Int)
miscGetPadding :: forall self. MiscClass self => self -> IO (Int, Int)
miscGetPadding self
self =
(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
xpadPtr ->
(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
ypadPtr -> do
(\(Misc ForeignPtr Misc
arg1) Ptr CInt
arg2 Ptr CInt
arg3 -> ForeignPtr Misc -> (Ptr Misc -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Misc
arg1 ((Ptr Misc -> IO ()) -> IO ()) -> (Ptr Misc -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Misc
argPtr1 ->Ptr Misc -> Ptr CInt -> Ptr CInt -> IO ()
gtk_misc_get_padding Ptr Misc
argPtr1 Ptr CInt
arg2 Ptr CInt
arg3)
{-# LINE 136 "./Graphics/UI/Gtk/Abstract/Misc.chs" #-}
(toMisc self)
Ptr CInt
xpadPtr
Ptr CInt
ypadPtr
CInt
xpad <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
xpadPtr
CInt
ypad <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
ypadPtr
(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
xpad, CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
ypad)
miscXalign :: MiscClass self => Attr self Float
miscXalign :: forall self. MiscClass self => Attr self Float
miscXalign = String -> Attr self Float
forall gobj. GObjectClass gobj => String -> Attr gobj Float
newAttrFromFloatProperty String
"xalign"
miscYalign :: MiscClass self => Attr self Float
miscYalign :: forall self. MiscClass self => Attr self Float
miscYalign = String -> Attr self Float
forall gobj. GObjectClass gobj => String -> Attr gobj Float
newAttrFromFloatProperty String
"yalign"
miscXpad :: MiscClass self => Attr self Int
miscXpad :: forall self. MiscClass self => Attr self Int
miscXpad = String -> Attr self Int
forall gobj. GObjectClass gobj => String -> Attr gobj Int
newAttrFromIntProperty String
"xpad"
miscYpad :: MiscClass self => Attr self Int
miscYpad :: forall self. MiscClass self => Attr self Int
miscYpad = String -> Attr self Int
forall gobj. GObjectClass gobj => String -> Attr gobj Int
newAttrFromIntProperty String
"ypad"
foreign import ccall safe "gtk_misc_set_alignment"
gtk_misc_set_alignment :: ((Ptr Misc) -> (CFloat -> (CFloat -> (IO ()))))
foreign import ccall unsafe "gtk_misc_get_alignment"
gtk_misc_get_alignment :: ((Ptr Misc) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO ()))))
foreign import ccall safe "gtk_misc_set_padding"
gtk_misc_set_padding :: ((Ptr Misc) -> (CInt -> (CInt -> (IO ()))))
foreign import ccall unsafe "gtk_misc_get_padding"
gtk_misc_get_padding :: ((Ptr Misc) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO ()))))