{-# LINE 2 "./Graphics/UI/Gtk/Layout/Alignment.chs" #-}
module Graphics.UI.Gtk.Layout.Alignment (
Alignment,
AlignmentClass,
castToAlignment, gTypeAlignment,
toAlignment,
alignmentNew,
alignmentSet,
alignmentSetPadding,
alignmentGetPadding,
alignmentXAlign,
alignmentYAlign,
alignmentXScale,
alignmentYScale,
alignmentTopPadding,
alignmentBottomPadding,
alignmentLeftPadding,
alignmentRightPadding,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 91 "./Graphics/UI/Gtk/Layout/Alignment.chs" #-}
{-# LINE 93 "./Graphics/UI/Gtk/Layout/Alignment.chs" #-}
alignmentNew ::
Float
-> Float
-> Float
-> Float
-> IO Alignment
alignmentNew :: Float -> Float -> Float -> Float -> IO Alignment
alignmentNew Float
xalign Float
yalign Float
xscale Float
yscale =
(ForeignPtr Alignment -> Alignment, FinalizerPtr Alignment)
-> IO (Ptr Alignment) -> IO Alignment
forall obj.
ObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr Alignment -> Alignment, FinalizerPtr Alignment)
forall {a}. (ForeignPtr Alignment -> Alignment, FinalizerPtr a)
mkAlignment (IO (Ptr Alignment) -> IO Alignment)
-> IO (Ptr Alignment) -> IO Alignment
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr Alignment)
-> IO (Ptr Widget) -> IO (Ptr Alignment)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr Alignment
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr Alignment) (IO (Ptr Widget) -> IO (Ptr Alignment))
-> IO (Ptr Widget) -> IO (Ptr Alignment)
forall a b. (a -> b) -> a -> b
$
CFloat -> CFloat -> CFloat -> CFloat -> IO (Ptr Widget)
gtk_alignment_new
{-# LINE 117 "./Graphics/UI/Gtk/Layout/Alignment.chs" #-}
(realToFrac xalign)
(Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac Float
yalign)
(Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac Float
xscale)
(Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac Float
yscale)
alignmentSet :: AlignmentClass self => self
-> Float
-> Float
-> Float
-> Float
-> IO ()
alignmentSet :: forall self.
AlignmentClass self =>
self -> Float -> Float -> Float -> Float -> IO ()
alignmentSet self
self Float
xalign Float
yalign Float
xscale Float
yscale =
(\(Alignment ForeignPtr Alignment
arg1) CFloat
arg2 CFloat
arg3 CFloat
arg4 CFloat
arg5 -> ForeignPtr Alignment -> (Ptr Alignment -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Alignment
arg1 ((Ptr Alignment -> IO ()) -> IO ())
-> (Ptr Alignment -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Alignment
argPtr1 ->Ptr Alignment -> CFloat -> CFloat -> CFloat -> CFloat -> IO ()
gtk_alignment_set Ptr Alignment
argPtr1 CFloat
arg2 CFloat
arg3 CFloat
arg4 CFloat
arg5)
{-# LINE 143 "./Graphics/UI/Gtk/Layout/Alignment.chs" #-}
(toAlignment 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)
(Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac Float
xscale)
(Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac Float
yscale)
alignmentSetPadding :: AlignmentClass self => self
-> Int
-> Int
-> Int
-> Int
-> IO ()
alignmentSetPadding :: forall self.
AlignmentClass self =>
self -> Int -> Int -> Int -> Int -> IO ()
alignmentSetPadding self
self Int
paddingTop Int
paddingBottom Int
paddingLeft Int
paddingRight =
(\(Alignment ForeignPtr Alignment
arg1) CUInt
arg2 CUInt
arg3 CUInt
arg4 CUInt
arg5 -> ForeignPtr Alignment -> (Ptr Alignment -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Alignment
arg1 ((Ptr Alignment -> IO ()) -> IO ())
-> (Ptr Alignment -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Alignment
argPtr1 ->Ptr Alignment -> CUInt -> CUInt -> CUInt -> CUInt -> IO ()
gtk_alignment_set_padding Ptr Alignment
argPtr1 CUInt
arg2 CUInt
arg3 CUInt
arg4 CUInt
arg5)
{-# LINE 164 "./Graphics/UI/Gtk/Layout/Alignment.chs" #-}
(toAlignment self)
(Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
paddingTop)
(Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
paddingBottom)
(Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
paddingLeft)
(Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
paddingRight)
alignmentGetPadding :: AlignmentClass self => self
-> IO (Int, Int, Int, Int)
alignmentGetPadding :: forall self. AlignmentClass self => self -> IO (Int, Int, Int, Int)
alignmentGetPadding self
self =
(Ptr CUInt -> IO (Int, Int, Int, Int)) -> IO (Int, Int, Int, Int)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CUInt -> IO (Int, Int, Int, Int)) -> IO (Int, Int, Int, Int))
-> (Ptr CUInt -> IO (Int, Int, Int, Int))
-> IO (Int, Int, Int, Int)
forall a b. (a -> b) -> a -> b
$ \Ptr CUInt
paddingTopPtr ->
(Ptr CUInt -> IO (Int, Int, Int, Int)) -> IO (Int, Int, Int, Int)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CUInt -> IO (Int, Int, Int, Int)) -> IO (Int, Int, Int, Int))
-> (Ptr CUInt -> IO (Int, Int, Int, Int))
-> IO (Int, Int, Int, Int)
forall a b. (a -> b) -> a -> b
$ \Ptr CUInt
paddingBottomPtr ->
(Ptr CUInt -> IO (Int, Int, Int, Int)) -> IO (Int, Int, Int, Int)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CUInt -> IO (Int, Int, Int, Int)) -> IO (Int, Int, Int, Int))
-> (Ptr CUInt -> IO (Int, Int, Int, Int))
-> IO (Int, Int, Int, Int)
forall a b. (a -> b) -> a -> b
$ \Ptr CUInt
paddingLeftPtr ->
(Ptr CUInt -> IO (Int, Int, Int, Int)) -> IO (Int, Int, Int, Int)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CUInt -> IO (Int, Int, Int, Int)) -> IO (Int, Int, Int, Int))
-> (Ptr CUInt -> IO (Int, Int, Int, Int))
-> IO (Int, Int, Int, Int)
forall a b. (a -> b) -> a -> b
$ \Ptr CUInt
paddingRightPtr -> do
(\(Alignment ForeignPtr Alignment
arg1) Ptr CUInt
arg2 Ptr CUInt
arg3 Ptr CUInt
arg4 Ptr CUInt
arg5 -> ForeignPtr Alignment -> (Ptr Alignment -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr Alignment
arg1 ((Ptr Alignment -> IO ()) -> IO ())
-> (Ptr Alignment -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr Alignment
argPtr1 ->Ptr Alignment
-> Ptr CUInt -> Ptr CUInt -> Ptr CUInt -> Ptr CUInt -> IO ()
gtk_alignment_get_padding Ptr Alignment
argPtr1 Ptr CUInt
arg2 Ptr CUInt
arg3 Ptr CUInt
arg4 Ptr CUInt
arg5)
{-# LINE 185 "./Graphics/UI/Gtk/Layout/Alignment.chs" #-}
(toAlignment self)
Ptr CUInt
paddingTopPtr
Ptr CUInt
paddingBottomPtr
Ptr CUInt
paddingLeftPtr
Ptr CUInt
paddingRightPtr
CUInt
paddingTop <- Ptr CUInt -> IO CUInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CUInt
paddingTopPtr
CUInt
paddingBottom <- Ptr CUInt -> IO CUInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CUInt
paddingBottomPtr
CUInt
paddingLeft <- Ptr CUInt -> IO CUInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CUInt
paddingLeftPtr
CUInt
paddingRight <- Ptr CUInt -> IO CUInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CUInt
paddingRightPtr
(Int, Int, Int, Int) -> IO (Int, Int, Int, Int)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CUInt
paddingTop, CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CUInt
paddingBottom
,CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CUInt
paddingLeft, CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CUInt
paddingRight)
alignmentXAlign :: AlignmentClass self => Attr self Float
alignmentXAlign :: forall self. AlignmentClass self => Attr self Float
alignmentXAlign = String -> Attr self Float
forall gobj. GObjectClass gobj => String -> Attr gobj Float
newAttrFromFloatProperty String
"xalign"
alignmentYAlign :: AlignmentClass self => Attr self Float
alignmentYAlign :: forall self. AlignmentClass self => Attr self Float
alignmentYAlign = String -> Attr self Float
forall gobj. GObjectClass gobj => String -> Attr gobj Float
newAttrFromFloatProperty String
"yalign"
alignmentXScale :: AlignmentClass self => Attr self Float
alignmentXScale :: forall self. AlignmentClass self => Attr self Float
alignmentXScale = String -> Attr self Float
forall gobj. GObjectClass gobj => String -> Attr gobj Float
newAttrFromFloatProperty String
"xscale"
alignmentYScale :: AlignmentClass self => Attr self Float
alignmentYScale :: forall self. AlignmentClass self => Attr self Float
alignmentYScale = String -> Attr self Float
forall gobj. GObjectClass gobj => String -> Attr gobj Float
newAttrFromFloatProperty String
"yscale"
alignmentTopPadding :: AlignmentClass self => Attr self Int
alignmentTopPadding :: forall self. AlignmentClass self => Attr self Int
alignmentTopPadding = String -> Attr self Int
forall gobj. GObjectClass gobj => String -> Attr gobj Int
newAttrFromUIntProperty String
"top-padding"
alignmentBottomPadding :: AlignmentClass self => Attr self Int
alignmentBottomPadding :: forall self. AlignmentClass self => Attr self Int
alignmentBottomPadding = String -> Attr self Int
forall gobj. GObjectClass gobj => String -> Attr gobj Int
newAttrFromUIntProperty String
"bottom-padding"
alignmentLeftPadding :: AlignmentClass self => Attr self Int
alignmentLeftPadding :: forall self. AlignmentClass self => Attr self Int
alignmentLeftPadding = String -> Attr self Int
forall gobj. GObjectClass gobj => String -> Attr gobj Int
newAttrFromUIntProperty String
"left-padding"
alignmentRightPadding :: AlignmentClass self => Attr self Int
alignmentRightPadding :: forall self. AlignmentClass self => Attr self Int
alignmentRightPadding = String -> Attr self Int
forall gobj. GObjectClass gobj => String -> Attr gobj Int
newAttrFromUIntProperty String
"right-padding"
foreign import ccall unsafe "gtk_alignment_new"
gtk_alignment_new :: (CFloat -> (CFloat -> (CFloat -> (CFloat -> (IO (Ptr Widget))))))
foreign import ccall safe "gtk_alignment_set"
gtk_alignment_set :: ((Ptr Alignment) -> (CFloat -> (CFloat -> (CFloat -> (CFloat -> (IO ()))))))
foreign import ccall safe "gtk_alignment_set_padding"
gtk_alignment_set_padding :: ((Ptr Alignment) -> (CUInt -> (CUInt -> (CUInt -> (CUInt -> (IO ()))))))
foreign import ccall safe "gtk_alignment_get_padding"
gtk_alignment_get_padding :: ((Ptr Alignment) -> ((Ptr CUInt) -> ((Ptr CUInt) -> ((Ptr CUInt) -> ((Ptr CUInt) -> (IO ()))))))