module GI.Pango.Objects.Fontset
(
Fontset(..) ,
IsFontset ,
toFontset ,
noFontset ,
FontsetForeachMethodInfo ,
fontsetForeach ,
FontsetGetFontMethodInfo ,
fontsetGetFont ,
FontsetGetMetricsMethodInfo ,
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.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
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Pango.Callbacks as Pango.Callbacks
import qualified GI.Pango.Objects.Font as Pango.Font
import 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 => IsFontset o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError Fontset a) =>
IsFontset a
#endif
instance IsFontset Fontset
instance GObject.Object.IsObject Fontset
toFontset :: IsFontset o => o -> IO Fontset
toFontset = unsafeCastTo Fontset
noFontset :: Maybe Fontset
noFontset = Nothing
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 "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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveFontsetMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
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 "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveFontsetMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFontsetMethod t Fontset, O.MethodInfo info Fontset p) => O.IsLabelProxy t (Fontset -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveFontsetMethod t Fontset, O.MethodInfo info Fontset p) => O.IsLabel t (Fontset -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
instance O.HasAttributeList Fontset
type instance O.AttributeList Fontset = FontsetAttributeList
type FontsetAttributeList = ('[ ] :: [(Symbol, *)])
type instance O.SignalList Fontset = FontsetSignalList
type FontsetSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
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 ()
data FontsetForeachMethodInfo
instance (signature ~ (Pango.Callbacks.FontsetForeachFunc -> m ()), MonadIO m, IsFontset a) => O.MethodInfo FontsetForeachMethodInfo a signature where
overloadedMethod _ = fontsetForeach
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'
data FontsetGetFontMethodInfo
instance (signature ~ (Word32 -> m Pango.Font.Font), MonadIO m, IsFontset a) => O.MethodInfo FontsetGetFontMethodInfo a signature where
overloadedMethod _ = fontsetGetFont
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'
data FontsetGetMetricsMethodInfo
instance (signature ~ (m Pango.FontMetrics.FontMetrics), MonadIO m, IsFontset a) => O.MethodInfo FontsetGetMetricsMethodInfo a signature where
overloadedMethod _ = fontsetGetMetrics