module GI.Pango.Objects.FontMap
(
FontMap(..) ,
IsFontMap ,
toFontMap ,
noFontMap ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
FontMapChangedMethodInfo ,
#endif
fontMapChanged ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
FontMapCreateContextMethodInfo ,
#endif
fontMapCreateContext ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
FontMapGetSerialMethodInfo ,
#endif
fontMapGetSerial ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
FontMapGetShapeEngineTypeMethodInfo ,
#endif
fontMapGetShapeEngineType ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
FontMapListFamiliesMethodInfo ,
#endif
fontMapListFamilies ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
FontMapLoadFontMethodInfo ,
#endif
fontMapLoadFont ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
FontMapLoadFontsetMethodInfo ,
#endif
fontMapLoadFontset ,
) 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.Objects.Context as Pango.Context
import qualified GI.Pango.Objects.Font as Pango.Font
import qualified GI.Pango.Objects.FontFamily as Pango.FontFamily
import qualified GI.Pango.Objects.Fontset as Pango.Fontset
import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
import qualified GI.Pango.Structs.Language as Pango.Language
newtype FontMap = FontMap (ManagedPtr FontMap)
foreign import ccall "pango_font_map_get_type"
c_pango_font_map_get_type :: IO GType
instance GObject FontMap where
gobjectType _ = c_pango_font_map_get_type
class GObject o => IsFontMap o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError FontMap a) =>
IsFontMap a
#endif
instance IsFontMap FontMap
instance GObject.Object.IsObject FontMap
toFontMap :: (MonadIO m, IsFontMap o) => o -> m FontMap
toFontMap = liftIO . unsafeCastTo FontMap
noFontMap :: Maybe FontMap
noFontMap = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveFontMapMethod (t :: Symbol) (o :: *) :: * where
ResolveFontMapMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveFontMapMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveFontMapMethod "changed" o = FontMapChangedMethodInfo
ResolveFontMapMethod "createContext" o = FontMapCreateContextMethodInfo
ResolveFontMapMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveFontMapMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveFontMapMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveFontMapMethod "listFamilies" o = FontMapListFamiliesMethodInfo
ResolveFontMapMethod "loadFont" o = FontMapLoadFontMethodInfo
ResolveFontMapMethod "loadFontset" o = FontMapLoadFontsetMethodInfo
ResolveFontMapMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveFontMapMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveFontMapMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveFontMapMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveFontMapMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveFontMapMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveFontMapMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveFontMapMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveFontMapMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveFontMapMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveFontMapMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveFontMapMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveFontMapMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveFontMapMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveFontMapMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveFontMapMethod "getSerial" o = FontMapGetSerialMethodInfo
ResolveFontMapMethod "getShapeEngineType" o = FontMapGetShapeEngineTypeMethodInfo
ResolveFontMapMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveFontMapMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveFontMapMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFontMapMethod t FontMap, O.MethodInfo info FontMap p) => O.IsLabelProxy t (FontMap -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveFontMapMethod t FontMap, O.MethodInfo info FontMap p) => O.IsLabel t (FontMap -> 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
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList FontMap
type instance O.AttributeList FontMap = FontMapAttributeList
type FontMapAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type instance O.SignalList FontMap = FontMapSignalList
type FontMapSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "pango_font_map_changed" pango_font_map_changed ::
Ptr FontMap ->
IO ()
fontMapChanged ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a) =>
a
-> m ()
fontMapChanged fontmap = liftIO $ do
fontmap' <- unsafeManagedPtrCastPtr fontmap
pango_font_map_changed fontmap'
touchManagedPtr fontmap
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data FontMapChangedMethodInfo
instance (signature ~ (m ()), MonadIO m, IsFontMap a) => O.MethodInfo FontMapChangedMethodInfo a signature where
overloadedMethod _ = fontMapChanged
#endif
foreign import ccall "pango_font_map_create_context" pango_font_map_create_context ::
Ptr FontMap ->
IO (Ptr Pango.Context.Context)
fontMapCreateContext ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a) =>
a
-> m Pango.Context.Context
fontMapCreateContext fontmap = liftIO $ do
fontmap' <- unsafeManagedPtrCastPtr fontmap
result <- pango_font_map_create_context fontmap'
checkUnexpectedReturnNULL "fontMapCreateContext" result
result' <- (wrapObject Pango.Context.Context) result
touchManagedPtr fontmap
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data FontMapCreateContextMethodInfo
instance (signature ~ (m Pango.Context.Context), MonadIO m, IsFontMap a) => O.MethodInfo FontMapCreateContextMethodInfo a signature where
overloadedMethod _ = fontMapCreateContext
#endif
foreign import ccall "pango_font_map_get_serial" pango_font_map_get_serial ::
Ptr FontMap ->
IO Word32
fontMapGetSerial ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a) =>
a
-> m Word32
fontMapGetSerial fontmap = liftIO $ do
fontmap' <- unsafeManagedPtrCastPtr fontmap
result <- pango_font_map_get_serial fontmap'
touchManagedPtr fontmap
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data FontMapGetSerialMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsFontMap a) => O.MethodInfo FontMapGetSerialMethodInfo a signature where
overloadedMethod _ = fontMapGetSerial
#endif
foreign import ccall "pango_font_map_get_shape_engine_type" pango_font_map_get_shape_engine_type ::
Ptr FontMap ->
IO CString
fontMapGetShapeEngineType ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a) =>
a
-> m T.Text
fontMapGetShapeEngineType fontmap = liftIO $ do
fontmap' <- unsafeManagedPtrCastPtr fontmap
result <- pango_font_map_get_shape_engine_type fontmap'
checkUnexpectedReturnNULL "fontMapGetShapeEngineType" result
result' <- cstringToText result
touchManagedPtr fontmap
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data FontMapGetShapeEngineTypeMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsFontMap a) => O.MethodInfo FontMapGetShapeEngineTypeMethodInfo a signature where
overloadedMethod _ = fontMapGetShapeEngineType
#endif
foreign import ccall "pango_font_map_list_families" pango_font_map_list_families ::
Ptr FontMap ->
Ptr (Ptr (Ptr Pango.FontFamily.FontFamily)) ->
Ptr Int32 ->
IO ()
fontMapListFamilies ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a) =>
a
-> m ([Pango.FontFamily.FontFamily])
fontMapListFamilies fontmap = liftIO $ do
fontmap' <- unsafeManagedPtrCastPtr fontmap
families <- allocMem :: IO (Ptr (Ptr (Ptr Pango.FontFamily.FontFamily)))
nFamilies <- allocMem :: IO (Ptr Int32)
pango_font_map_list_families fontmap' families nFamilies
nFamilies' <- peek nFamilies
families' <- peek families
families'' <- (unpackPtrArrayWithLength nFamilies') families'
families''' <- mapM (newObject Pango.FontFamily.FontFamily) families''
freeMem families'
touchManagedPtr fontmap
freeMem families
freeMem nFamilies
return families'''
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data FontMapListFamiliesMethodInfo
instance (signature ~ (m ([Pango.FontFamily.FontFamily])), MonadIO m, IsFontMap a) => O.MethodInfo FontMapListFamiliesMethodInfo a signature where
overloadedMethod _ = fontMapListFamilies
#endif
foreign import ccall "pango_font_map_load_font" pango_font_map_load_font ::
Ptr FontMap ->
Ptr Pango.Context.Context ->
Ptr Pango.FontDescription.FontDescription ->
IO (Ptr Pango.Font.Font)
fontMapLoadFont ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a, Pango.Context.IsContext b) =>
a
-> b
-> Pango.FontDescription.FontDescription
-> m (Maybe Pango.Font.Font)
fontMapLoadFont fontmap context desc = liftIO $ do
fontmap' <- unsafeManagedPtrCastPtr fontmap
context' <- unsafeManagedPtrCastPtr context
desc' <- unsafeManagedPtrGetPtr desc
result <- pango_font_map_load_font fontmap' context' desc'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject Pango.Font.Font) result'
return result''
touchManagedPtr fontmap
touchManagedPtr context
touchManagedPtr desc
return maybeResult
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data FontMapLoadFontMethodInfo
instance (signature ~ (b -> Pango.FontDescription.FontDescription -> m (Maybe Pango.Font.Font)), MonadIO m, IsFontMap a, Pango.Context.IsContext b) => O.MethodInfo FontMapLoadFontMethodInfo a signature where
overloadedMethod _ = fontMapLoadFont
#endif
foreign import ccall "pango_font_map_load_fontset" pango_font_map_load_fontset ::
Ptr FontMap ->
Ptr Pango.Context.Context ->
Ptr Pango.FontDescription.FontDescription ->
Ptr Pango.Language.Language ->
IO (Ptr Pango.Fontset.Fontset)
fontMapLoadFontset ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a, Pango.Context.IsContext b) =>
a
-> b
-> Pango.FontDescription.FontDescription
-> Pango.Language.Language
-> m (Maybe Pango.Fontset.Fontset)
fontMapLoadFontset fontmap context desc language = liftIO $ do
fontmap' <- unsafeManagedPtrCastPtr fontmap
context' <- unsafeManagedPtrCastPtr context
desc' <- unsafeManagedPtrGetPtr desc
language' <- unsafeManagedPtrGetPtr language
result <- pango_font_map_load_fontset fontmap' context' desc' language'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject Pango.Fontset.Fontset) result'
return result''
touchManagedPtr fontmap
touchManagedPtr context
touchManagedPtr desc
touchManagedPtr language
return maybeResult
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data FontMapLoadFontsetMethodInfo
instance (signature ~ (b -> Pango.FontDescription.FontDescription -> Pango.Language.Language -> m (Maybe Pango.Fontset.Fontset)), MonadIO m, IsFontMap a, Pango.Context.IsContext b) => O.MethodInfo FontMapLoadFontsetMethodInfo a signature where
overloadedMethod _ = fontMapLoadFontset
#endif