gi-gtk-0.3.18.15: GI/Gtk/Structs/TextAppearance.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gtk.Structs.TextAppearance
(
-- * Exported types
TextAppearance(..) ,
newZeroTextAppearance ,
noTextAppearance ,
-- * Properties
-- ** BgColor
textAppearanceBgColor ,
textAppearanceClearBgColor ,
textAppearanceReadBgColor ,
textAppearanceWriteBgColor ,
-- ** DrawBg
textAppearanceDrawBg ,
textAppearanceReadDrawBg ,
textAppearanceWriteDrawBg ,
-- ** FgColor
textAppearanceClearFgColor ,
textAppearanceFgColor ,
textAppearanceReadFgColor ,
textAppearanceWriteFgColor ,
-- ** InsideSelection
textAppearanceInsideSelection ,
textAppearanceReadInsideSelection ,
textAppearanceWriteInsideSelection ,
-- ** IsText
textAppearanceIsText ,
textAppearanceReadIsText ,
textAppearanceWriteIsText ,
-- ** Rise
textAppearanceReadRise ,
textAppearanceRise ,
textAppearanceWriteRise ,
-- ** Strikethrough
textAppearanceReadStrikethrough ,
textAppearanceStrikethrough ,
textAppearanceWriteStrikethrough ,
-- ** Underline
textAppearanceReadUnderline ,
textAppearanceUnderline ,
textAppearanceWriteUnderline ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.Gdk as Gdk
newtype TextAppearance = TextAppearance (ForeignPtr TextAppearance)
instance WrappedPtr TextAppearance where
wrappedPtrCalloc = callocBytes 48
wrappedPtrCopy = copyPtr 48
wrappedPtrFree = Just ptr_to_g_free
-- | Construct a `TextAppearance` struct initialized to zero.
newZeroTextAppearance :: MonadIO m => m TextAppearance
newZeroTextAppearance = liftIO $ wrappedPtrCalloc >>= wrapPtr TextAppearance
instance tag ~ 'AttrSet => Constructible TextAppearance tag where
new _ attrs = do
o <- newZeroTextAppearance
GI.Attributes.set o attrs
return o
noTextAppearance :: Maybe TextAppearance
noTextAppearance = Nothing
textAppearanceReadBgColor :: MonadIO m => TextAppearance -> m (Maybe Gdk.Color)
textAppearanceReadBgColor s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gdk.Color)
result <- convertIfNonNull val $ \val' -> do
val'' <- (newBoxed Gdk.Color) val'
return val''
return result
textAppearanceWriteBgColor :: MonadIO m => TextAppearance -> Ptr Gdk.Color -> m ()
textAppearanceWriteBgColor s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (val :: Ptr Gdk.Color)
textAppearanceClearBgColor :: MonadIO m => TextAppearance -> m ()
textAppearanceClearBgColor s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (nullPtr :: Ptr Gdk.Color)
data TextAppearanceBgColorFieldInfo
instance AttrInfo TextAppearanceBgColorFieldInfo where
type AttrAllowedOps TextAppearanceBgColorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint TextAppearanceBgColorFieldInfo = (~) (Ptr Gdk.Color)
type AttrBaseTypeConstraint TextAppearanceBgColorFieldInfo = (~) TextAppearance
type AttrGetType TextAppearanceBgColorFieldInfo = Maybe Gdk.Color
type AttrLabel TextAppearanceBgColorFieldInfo = "bg_color"
attrGet _ = textAppearanceReadBgColor
attrSet _ = textAppearanceWriteBgColor
attrConstruct = undefined
attrClear _ = textAppearanceClearBgColor
textAppearanceBgColor :: AttrLabelProxy "bgColor"
textAppearanceBgColor = AttrLabelProxy
textAppearanceReadFgColor :: MonadIO m => TextAppearance -> m (Maybe Gdk.Color)
textAppearanceReadFgColor s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 12) :: IO (Ptr Gdk.Color)
result <- convertIfNonNull val $ \val' -> do
val'' <- (newBoxed Gdk.Color) val'
return val''
return result
textAppearanceWriteFgColor :: MonadIO m => TextAppearance -> Ptr Gdk.Color -> m ()
textAppearanceWriteFgColor s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 12) (val :: Ptr Gdk.Color)
textAppearanceClearFgColor :: MonadIO m => TextAppearance -> m ()
textAppearanceClearFgColor s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 12) (nullPtr :: Ptr Gdk.Color)
data TextAppearanceFgColorFieldInfo
instance AttrInfo TextAppearanceFgColorFieldInfo where
type AttrAllowedOps TextAppearanceFgColorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint TextAppearanceFgColorFieldInfo = (~) (Ptr Gdk.Color)
type AttrBaseTypeConstraint TextAppearanceFgColorFieldInfo = (~) TextAppearance
type AttrGetType TextAppearanceFgColorFieldInfo = Maybe Gdk.Color
type AttrLabel TextAppearanceFgColorFieldInfo = "fg_color"
attrGet _ = textAppearanceReadFgColor
attrSet _ = textAppearanceWriteFgColor
attrConstruct = undefined
attrClear _ = textAppearanceClearFgColor
textAppearanceFgColor :: AttrLabelProxy "fgColor"
textAppearanceFgColor = AttrLabelProxy
textAppearanceReadRise :: MonadIO m => TextAppearance -> m Int32
textAppearanceReadRise s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO Int32
return val
textAppearanceWriteRise :: MonadIO m => TextAppearance -> Int32 -> m ()
textAppearanceWriteRise s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 24) (val :: Int32)
data TextAppearanceRiseFieldInfo
instance AttrInfo TextAppearanceRiseFieldInfo where
type AttrAllowedOps TextAppearanceRiseFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint TextAppearanceRiseFieldInfo = (~) Int32
type AttrBaseTypeConstraint TextAppearanceRiseFieldInfo = (~) TextAppearance
type AttrGetType TextAppearanceRiseFieldInfo = Int32
type AttrLabel TextAppearanceRiseFieldInfo = "rise"
attrGet _ = textAppearanceReadRise
attrSet _ = textAppearanceWriteRise
attrConstruct = undefined
attrClear _ = undefined
textAppearanceRise :: AttrLabelProxy "rise"
textAppearanceRise = AttrLabelProxy
textAppearanceReadUnderline :: MonadIO m => TextAppearance -> m Word32
textAppearanceReadUnderline s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 28) :: IO Word32
return val
textAppearanceWriteUnderline :: MonadIO m => TextAppearance -> Word32 -> m ()
textAppearanceWriteUnderline s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 28) (val :: Word32)
data TextAppearanceUnderlineFieldInfo
instance AttrInfo TextAppearanceUnderlineFieldInfo where
type AttrAllowedOps TextAppearanceUnderlineFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint TextAppearanceUnderlineFieldInfo = (~) Word32
type AttrBaseTypeConstraint TextAppearanceUnderlineFieldInfo = (~) TextAppearance
type AttrGetType TextAppearanceUnderlineFieldInfo = Word32
type AttrLabel TextAppearanceUnderlineFieldInfo = "underline"
attrGet _ = textAppearanceReadUnderline
attrSet _ = textAppearanceWriteUnderline
attrConstruct = undefined
attrClear _ = undefined
textAppearanceUnderline :: AttrLabelProxy "underline"
textAppearanceUnderline = AttrLabelProxy
textAppearanceReadStrikethrough :: MonadIO m => TextAppearance -> m Word32
textAppearanceReadStrikethrough s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 32) :: IO Word32
return val
textAppearanceWriteStrikethrough :: MonadIO m => TextAppearance -> Word32 -> m ()
textAppearanceWriteStrikethrough s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 32) (val :: Word32)
data TextAppearanceStrikethroughFieldInfo
instance AttrInfo TextAppearanceStrikethroughFieldInfo where
type AttrAllowedOps TextAppearanceStrikethroughFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint TextAppearanceStrikethroughFieldInfo = (~) Word32
type AttrBaseTypeConstraint TextAppearanceStrikethroughFieldInfo = (~) TextAppearance
type AttrGetType TextAppearanceStrikethroughFieldInfo = Word32
type AttrLabel TextAppearanceStrikethroughFieldInfo = "strikethrough"
attrGet _ = textAppearanceReadStrikethrough
attrSet _ = textAppearanceWriteStrikethrough
attrConstruct = undefined
attrClear _ = undefined
textAppearanceStrikethrough :: AttrLabelProxy "strikethrough"
textAppearanceStrikethrough = AttrLabelProxy
textAppearanceReadDrawBg :: MonadIO m => TextAppearance -> m Word32
textAppearanceReadDrawBg s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 36) :: IO Word32
return val
textAppearanceWriteDrawBg :: MonadIO m => TextAppearance -> Word32 -> m ()
textAppearanceWriteDrawBg s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 36) (val :: Word32)
data TextAppearanceDrawBgFieldInfo
instance AttrInfo TextAppearanceDrawBgFieldInfo where
type AttrAllowedOps TextAppearanceDrawBgFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint TextAppearanceDrawBgFieldInfo = (~) Word32
type AttrBaseTypeConstraint TextAppearanceDrawBgFieldInfo = (~) TextAppearance
type AttrGetType TextAppearanceDrawBgFieldInfo = Word32
type AttrLabel TextAppearanceDrawBgFieldInfo = "draw_bg"
attrGet _ = textAppearanceReadDrawBg
attrSet _ = textAppearanceWriteDrawBg
attrConstruct = undefined
attrClear _ = undefined
textAppearanceDrawBg :: AttrLabelProxy "drawBg"
textAppearanceDrawBg = AttrLabelProxy
textAppearanceReadInsideSelection :: MonadIO m => TextAppearance -> m Word32
textAppearanceReadInsideSelection s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 40) :: IO Word32
return val
textAppearanceWriteInsideSelection :: MonadIO m => TextAppearance -> Word32 -> m ()
textAppearanceWriteInsideSelection s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 40) (val :: Word32)
data TextAppearanceInsideSelectionFieldInfo
instance AttrInfo TextAppearanceInsideSelectionFieldInfo where
type AttrAllowedOps TextAppearanceInsideSelectionFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint TextAppearanceInsideSelectionFieldInfo = (~) Word32
type AttrBaseTypeConstraint TextAppearanceInsideSelectionFieldInfo = (~) TextAppearance
type AttrGetType TextAppearanceInsideSelectionFieldInfo = Word32
type AttrLabel TextAppearanceInsideSelectionFieldInfo = "inside_selection"
attrGet _ = textAppearanceReadInsideSelection
attrSet _ = textAppearanceWriteInsideSelection
attrConstruct = undefined
attrClear _ = undefined
textAppearanceInsideSelection :: AttrLabelProxy "insideSelection"
textAppearanceInsideSelection = AttrLabelProxy
textAppearanceReadIsText :: MonadIO m => TextAppearance -> m Word32
textAppearanceReadIsText s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 44) :: IO Word32
return val
textAppearanceWriteIsText :: MonadIO m => TextAppearance -> Word32 -> m ()
textAppearanceWriteIsText s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 44) (val :: Word32)
data TextAppearanceIsTextFieldInfo
instance AttrInfo TextAppearanceIsTextFieldInfo where
type AttrAllowedOps TextAppearanceIsTextFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint TextAppearanceIsTextFieldInfo = (~) Word32
type AttrBaseTypeConstraint TextAppearanceIsTextFieldInfo = (~) TextAppearance
type AttrGetType TextAppearanceIsTextFieldInfo = Word32
type AttrLabel TextAppearanceIsTextFieldInfo = "is_text"
attrGet _ = textAppearanceReadIsText
attrSet _ = textAppearanceWriteIsText
attrConstruct = undefined
attrClear _ = undefined
textAppearanceIsText :: AttrLabelProxy "isText"
textAppearanceIsText = AttrLabelProxy
type instance AttributeList TextAppearance = TextAppearanceAttributeList
type TextAppearanceAttributeList = ('[ '("bgColor", TextAppearanceBgColorFieldInfo), '("fgColor", TextAppearanceFgColorFieldInfo), '("rise", TextAppearanceRiseFieldInfo), '("underline", TextAppearanceUnderlineFieldInfo), '("strikethrough", TextAppearanceStrikethroughFieldInfo), '("drawBg", TextAppearanceDrawBgFieldInfo), '("insideSelection", TextAppearanceInsideSelectionFieldInfo), '("isText", TextAppearanceIsTextFieldInfo)] :: [(Symbol, *)])
type family ResolveTextAppearanceMethod (t :: Symbol) (o :: *) :: * where
ResolveTextAppearanceMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveTextAppearanceMethod t TextAppearance, MethodInfo info TextAppearance p) => IsLabelProxy t (TextAppearance -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveTextAppearanceMethod t TextAppearance, MethodInfo info TextAppearance p) => IsLabel t (TextAppearance -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif