module GI.Gtk.Structs.Border
(
Border(..) ,
newZeroBorder ,
noBorder ,
BorderCopyMethodInfo ,
borderCopy ,
BorderFreeMethodInfo ,
borderFree ,
borderNew ,
border_bottom ,
getBorderBottom ,
setBorderBottom ,
border_left ,
getBorderLeft ,
setBorderLeft ,
border_right ,
getBorderRight ,
setBorderRight ,
border_top ,
getBorderTop ,
setBorderTop ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
newtype Border = Border (ManagedPtr Border)
foreign import ccall "gtk_border_get_type" c_gtk_border_get_type ::
IO GType
instance BoxedObject Border where
boxedType _ = c_gtk_border_get_type
newZeroBorder :: MonadIO m => m Border
newZeroBorder = liftIO $ callocBoxedBytes 8 >>= wrapBoxed Border
instance tag ~ 'AttrSet => Constructible Border tag where
new _ attrs = do
o <- newZeroBorder
GI.Attributes.set o attrs
return o
noBorder :: Maybe Border
noBorder = Nothing
getBorderLeft :: MonadIO m => Border -> m Int16
getBorderLeft s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO Int16
return val
setBorderLeft :: MonadIO m => Border -> Int16 -> m ()
setBorderLeft s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (val :: Int16)
data BorderLeftFieldInfo
instance AttrInfo BorderLeftFieldInfo where
type AttrAllowedOps BorderLeftFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint BorderLeftFieldInfo = (~) Int16
type AttrBaseTypeConstraint BorderLeftFieldInfo = (~) Border
type AttrGetType BorderLeftFieldInfo = Int16
type AttrLabel BorderLeftFieldInfo = "left"
type AttrOrigin BorderLeftFieldInfo = Border
attrGet _ = getBorderLeft
attrSet _ = setBorderLeft
attrConstruct = undefined
attrClear _ = undefined
border_left :: AttrLabelProxy "left"
border_left = AttrLabelProxy
getBorderRight :: MonadIO m => Border -> m Int16
getBorderRight s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 2) :: IO Int16
return val
setBorderRight :: MonadIO m => Border -> Int16 -> m ()
setBorderRight s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 2) (val :: Int16)
data BorderRightFieldInfo
instance AttrInfo BorderRightFieldInfo where
type AttrAllowedOps BorderRightFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint BorderRightFieldInfo = (~) Int16
type AttrBaseTypeConstraint BorderRightFieldInfo = (~) Border
type AttrGetType BorderRightFieldInfo = Int16
type AttrLabel BorderRightFieldInfo = "right"
type AttrOrigin BorderRightFieldInfo = Border
attrGet _ = getBorderRight
attrSet _ = setBorderRight
attrConstruct = undefined
attrClear _ = undefined
border_right :: AttrLabelProxy "right"
border_right = AttrLabelProxy
getBorderTop :: MonadIO m => Border -> m Int16
getBorderTop s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 4) :: IO Int16
return val
setBorderTop :: MonadIO m => Border -> Int16 -> m ()
setBorderTop s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 4) (val :: Int16)
data BorderTopFieldInfo
instance AttrInfo BorderTopFieldInfo where
type AttrAllowedOps BorderTopFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint BorderTopFieldInfo = (~) Int16
type AttrBaseTypeConstraint BorderTopFieldInfo = (~) Border
type AttrGetType BorderTopFieldInfo = Int16
type AttrLabel BorderTopFieldInfo = "top"
type AttrOrigin BorderTopFieldInfo = Border
attrGet _ = getBorderTop
attrSet _ = setBorderTop
attrConstruct = undefined
attrClear _ = undefined
border_top :: AttrLabelProxy "top"
border_top = AttrLabelProxy
getBorderBottom :: MonadIO m => Border -> m Int16
getBorderBottom s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 6) :: IO Int16
return val
setBorderBottom :: MonadIO m => Border -> Int16 -> m ()
setBorderBottom s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 6) (val :: Int16)
data BorderBottomFieldInfo
instance AttrInfo BorderBottomFieldInfo where
type AttrAllowedOps BorderBottomFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint BorderBottomFieldInfo = (~) Int16
type AttrBaseTypeConstraint BorderBottomFieldInfo = (~) Border
type AttrGetType BorderBottomFieldInfo = Int16
type AttrLabel BorderBottomFieldInfo = "bottom"
type AttrOrigin BorderBottomFieldInfo = Border
attrGet _ = getBorderBottom
attrSet _ = setBorderBottom
attrConstruct = undefined
attrClear _ = undefined
border_bottom :: AttrLabelProxy "bottom"
border_bottom = AttrLabelProxy
instance O.HasAttributeList Border
type instance O.AttributeList Border = BorderAttributeList
type BorderAttributeList = ('[ '("left", BorderLeftFieldInfo), '("right", BorderRightFieldInfo), '("top", BorderTopFieldInfo), '("bottom", BorderBottomFieldInfo)] :: [(Symbol, *)])
foreign import ccall "gtk_border_new" gtk_border_new ::
IO (Ptr Border)
borderNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Border
borderNew = liftIO $ do
result <- gtk_border_new
checkUnexpectedReturnNULL "borderNew" result
result' <- (wrapBoxed Border) result
return result'
foreign import ccall "gtk_border_copy" gtk_border_copy ::
Ptr Border ->
IO (Ptr Border)
borderCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
Border
-> m Border
borderCopy border_ = liftIO $ do
border_' <- unsafeManagedPtrGetPtr border_
result <- gtk_border_copy border_'
checkUnexpectedReturnNULL "borderCopy" result
result' <- (wrapBoxed Border) result
touchManagedPtr border_
return result'
data BorderCopyMethodInfo
instance (signature ~ (m Border), MonadIO m) => O.MethodInfo BorderCopyMethodInfo Border signature where
overloadedMethod _ = borderCopy
foreign import ccall "gtk_border_free" gtk_border_free ::
Ptr Border ->
IO ()
borderFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
Border
-> m ()
borderFree border_ = liftIO $ do
border_' <- unsafeManagedPtrGetPtr border_
gtk_border_free border_'
touchManagedPtr border_
return ()
data BorderFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo BorderFreeMethodInfo Border signature where
overloadedMethod _ = borderFree
type family ResolveBorderMethod (t :: Symbol) (o :: *) :: * where
ResolveBorderMethod "copy" o = BorderCopyMethodInfo
ResolveBorderMethod "free" o = BorderFreeMethodInfo
ResolveBorderMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveBorderMethod t Border, O.MethodInfo info Border p) => O.IsLabelProxy t (Border -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveBorderMethod t Border, O.MethodInfo info Border p) => O.IsLabel t (Border -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif