gi-vte-0.0.42.14: GI/Vte/Structs/CharAttributes.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.Vte.Structs.CharAttributes
(
-- * Exported types
CharAttributes(..) ,
newZeroCharAttributes ,
noCharAttributes ,
) 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.Vte.Types
import GI.Vte.Callbacks
newtype CharAttributes = CharAttributes (ForeignPtr CharAttributes)
-- | Construct a `CharAttributes` struct initialized to zero.
newZeroCharAttributes :: MonadIO m => m CharAttributes
newZeroCharAttributes = liftIO $ callocBytes 40 >>= wrapPtr CharAttributes
instance tag ~ 'AttrSet => Constructible CharAttributes tag where
new _ attrs = do
o <- newZeroCharAttributes
GI.Attributes.set o attrs
return o
noCharAttributes :: Maybe CharAttributes
noCharAttributes = Nothing
type instance AttributeList CharAttributes = CharAttributesAttributeList
type CharAttributesAttributeList = ('[ ] :: [(Symbol, *)])
type family ResolveCharAttributesMethod (t :: Symbol) (o :: *) :: * where
ResolveCharAttributesMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveCharAttributesMethod t CharAttributes, MethodInfo info CharAttributes p) => IsLabelProxy t (CharAttributes -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveCharAttributesMethod t CharAttributes, MethodInfo info CharAttributes p) => IsLabel t (CharAttributes -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif