#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Pango.Objects.Fontset
(
Fontset(..) ,
IsFontset ,
toFontset ,
noFontset ,
#if ENABLE_OVERLOADING
FontsetForeachMethodInfo ,
#endif
fontsetForeach ,
#if ENABLE_OVERLOADING
FontsetGetFontMethodInfo ,
#endif
fontsetGetFont ,
#if ENABLE_OVERLOADING
FontsetGetMetricsMethodInfo ,
#endif
fontsetGetMetrics ,
) 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.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
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
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Pango.Callbacks as Pango.Callbacks
import {-# SOURCE #-} qualified GI.Pango.Objects.Font as Pango.Font
import {-# SOURCE #-} qualified GI.Pango.Structs.FontMetrics as Pango.FontMetrics
newtype Fontset = Fontset (ManagedPtr Fontset)
foreign import ccall "pango_fontset_get_type"
c_pango_fontset_get_type :: IO GType
instance GObject Fontset where
gobjectType = c_pango_fontset_get_type
class (GObject o, O.IsDescendantOf Fontset o) => IsFontset o
instance (GObject o, O.IsDescendantOf Fontset o) => IsFontset o
instance O.HasParentTypes Fontset
type instance O.ParentTypes Fontset = '[GObject.Object.Object]
toFontset :: (MonadIO m, IsFontset o) => o -> m Fontset
toFontset = liftIO . unsafeCastTo Fontset
noFontset :: Maybe Fontset
noFontset = Nothing
#if ENABLE_OVERLOADING
type family ResolveFontsetMethod (t :: Symbol) (o :: *) :: * where
ResolveFontsetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveFontsetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveFontsetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveFontsetMethod "foreach" o = FontsetForeachMethodInfo
ResolveFontsetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveFontsetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveFontsetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveFontsetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveFontsetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveFontsetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveFontsetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveFontsetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveFontsetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveFontsetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveFontsetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveFontsetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveFontsetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveFontsetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveFontsetMethod "getFont" o = FontsetGetFontMethodInfo
ResolveFontsetMethod "getMetrics" o = FontsetGetMetricsMethodInfo
ResolveFontsetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveFontsetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveFontsetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveFontsetMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveFontsetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveFontsetMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFontsetMethod t Fontset, O.MethodInfo info Fontset p) => OL.IsLabel t (Fontset -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList Fontset
type instance O.AttributeList Fontset = FontsetAttributeList
type FontsetAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList Fontset = FontsetSignalList
type FontsetSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "pango_fontset_foreach" pango_fontset_foreach ::
Ptr Fontset ->
FunPtr Pango.Callbacks.C_FontsetForeachFunc ->
Ptr () ->
IO ()
fontsetForeach ::
(B.CallStack.HasCallStack, MonadIO m, IsFontset a) =>
a
-> Pango.Callbacks.FontsetForeachFunc
-> m ()
fontsetForeach fontset func = liftIO $ do
fontset' <- unsafeManagedPtrCastPtr fontset
func' <- Pango.Callbacks.mk_FontsetForeachFunc (Pango.Callbacks.wrap_FontsetForeachFunc Nothing (Pango.Callbacks.drop_closures_FontsetForeachFunc func))
let data_ = nullPtr
pango_fontset_foreach fontset' func' data_
safeFreeFunPtr $ castFunPtrToPtr func'
touchManagedPtr fontset
return ()
#if ENABLE_OVERLOADING
data FontsetForeachMethodInfo
instance (signature ~ (Pango.Callbacks.FontsetForeachFunc -> m ()), MonadIO m, IsFontset a) => O.MethodInfo FontsetForeachMethodInfo a signature where
overloadedMethod _ = fontsetForeach
#endif
foreign import ccall "pango_fontset_get_font" pango_fontset_get_font ::
Ptr Fontset ->
Word32 ->
IO (Ptr Pango.Font.Font)
fontsetGetFont ::
(B.CallStack.HasCallStack, MonadIO m, IsFontset a) =>
a
-> Word32
-> m Pango.Font.Font
fontsetGetFont fontset wc = liftIO $ do
fontset' <- unsafeManagedPtrCastPtr fontset
result <- pango_fontset_get_font fontset' wc
checkUnexpectedReturnNULL "fontsetGetFont" result
result' <- (wrapObject Pango.Font.Font) result
touchManagedPtr fontset
return result'
#if ENABLE_OVERLOADING
data FontsetGetFontMethodInfo
instance (signature ~ (Word32 -> m Pango.Font.Font), MonadIO m, IsFontset a) => O.MethodInfo FontsetGetFontMethodInfo a signature where
overloadedMethod _ = fontsetGetFont
#endif
foreign import ccall "pango_fontset_get_metrics" pango_fontset_get_metrics ::
Ptr Fontset ->
IO (Ptr Pango.FontMetrics.FontMetrics)
fontsetGetMetrics ::
(B.CallStack.HasCallStack, MonadIO m, IsFontset a) =>
a
-> m Pango.FontMetrics.FontMetrics
fontsetGetMetrics fontset = liftIO $ do
fontset' <- unsafeManagedPtrCastPtr fontset
result <- pango_fontset_get_metrics fontset'
checkUnexpectedReturnNULL "fontsetGetMetrics" result
result' <- (wrapBoxed Pango.FontMetrics.FontMetrics) result
touchManagedPtr fontset
return result'
#if ENABLE_OVERLOADING
data FontsetGetMetricsMethodInfo
instance (signature ~ (m Pango.FontMetrics.FontMetrics), MonadIO m, IsFontset a) => O.MethodInfo FontsetGetMetricsMethodInfo a signature where
overloadedMethod _ = fontsetGetMetrics
#endif