{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.PangoCairo.Interfaces.FontMap
(
FontMap(..) ,
noFontMap ,
IsFontMap ,
toFontMap ,
#if defined(ENABLE_OVERLOADING)
ResolveFontMapMethod ,
#endif
fontMapGetDefault ,
#if defined(ENABLE_OVERLOADING)
FontMapGetFontTypeMethodInfo ,
#endif
fontMapGetFontType ,
#if defined(ENABLE_OVERLOADING)
FontMapGetResolutionMethodInfo ,
#endif
fontMapGetResolution ,
fontMapNew ,
fontMapNewForFontType ,
#if defined(ENABLE_OVERLOADING)
FontMapSetDefaultMethodInfo ,
#endif
fontMapSetDefault ,
#if defined(ENABLE_OVERLOADING)
FontMapSetResolutionMethodInfo ,
#endif
fontMapSetResolution ,
) 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.GI.Base.Signals as B.Signals
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.Cairo.Enums as Cairo.Enums
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Pango.Objects.FontMap as Pango.FontMap
newtype FontMap = FontMap (ManagedPtr FontMap)
deriving (FontMap -> FontMap -> Bool
(FontMap -> FontMap -> Bool)
-> (FontMap -> FontMap -> Bool) -> Eq FontMap
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FontMap -> FontMap -> Bool
$c/= :: FontMap -> FontMap -> Bool
== :: FontMap -> FontMap -> Bool
$c== :: FontMap -> FontMap -> Bool
Eq)
noFontMap :: Maybe FontMap
noFontMap :: Maybe FontMap
noFontMap = Maybe FontMap
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList FontMap = FontMapSignalList
type FontMapSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "pango_cairo_font_map_get_type"
c_pango_cairo_font_map_get_type :: IO GType
instance GObject FontMap where
gobjectType :: IO GType
gobjectType = IO GType
c_pango_cairo_font_map_get_type
instance B.GValue.IsGValue FontMap where
toGValue :: FontMap -> IO GValue
toGValue o :: FontMap
o = do
GType
gtype <- IO GType
c_pango_cairo_font_map_get_type
FontMap -> (Ptr FontMap -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr FontMap
o (GType
-> (GValue -> Ptr FontMap -> IO ()) -> Ptr FontMap -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr FontMap -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO FontMap
fromGValue gv :: GValue
gv = do
Ptr FontMap
ptr <- GValue -> IO (Ptr FontMap)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr FontMap)
(ManagedPtr FontMap -> FontMap) -> Ptr FontMap -> IO FontMap
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr FontMap -> FontMap
FontMap Ptr FontMap
ptr
class (GObject o, O.IsDescendantOf FontMap o) => IsFontMap o
instance (GObject o, O.IsDescendantOf FontMap o) => IsFontMap o
instance O.HasParentTypes FontMap
type instance O.ParentTypes FontMap = '[Pango.FontMap.FontMap, GObject.Object.Object]
toFontMap :: (MonadIO m, IsFontMap o) => o -> m FontMap
toFontMap :: o -> m FontMap
toFontMap = IO FontMap -> m FontMap
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FontMap -> m FontMap) -> (o -> IO FontMap) -> o -> m FontMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr FontMap -> FontMap) -> o -> IO FontMap
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr FontMap -> FontMap
FontMap
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList FontMap
type instance O.AttributeList FontMap = FontMapAttributeList
type FontMapAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveFontMapMethod (t :: Symbol) (o :: *) :: * where
ResolveFontMapMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveFontMapMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveFontMapMethod "changed" o = Pango.FontMap.FontMapChangedMethodInfo
ResolveFontMapMethod "createContext" o = Pango.FontMap.FontMapCreateContextMethodInfo
ResolveFontMapMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveFontMapMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveFontMapMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveFontMapMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveFontMapMethod "listFamilies" o = Pango.FontMap.FontMapListFamiliesMethodInfo
ResolveFontMapMethod "loadFont" o = Pango.FontMap.FontMapLoadFontMethodInfo
ResolveFontMapMethod "loadFontset" o = Pango.FontMap.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 "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 "getFontType" o = FontMapGetFontTypeMethodInfo
ResolveFontMapMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveFontMapMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveFontMapMethod "getResolution" o = FontMapGetResolutionMethodInfo
ResolveFontMapMethod "getSerial" o = Pango.FontMap.FontMapGetSerialMethodInfo
ResolveFontMapMethod "getShapeEngineType" o = Pango.FontMap.FontMapGetShapeEngineTypeMethodInfo
ResolveFontMapMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveFontMapMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveFontMapMethod "setDefault" o = FontMapSetDefaultMethodInfo
ResolveFontMapMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveFontMapMethod "setResolution" o = FontMapSetResolutionMethodInfo
ResolveFontMapMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFontMapMethod t FontMap, O.MethodInfo info FontMap p) => OL.IsLabel t (FontMap -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
foreign import ccall "pango_cairo_font_map_get_font_type" pango_cairo_font_map_get_font_type ::
Ptr FontMap ->
IO CUInt
fontMapGetFontType ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a) =>
a
-> m Cairo.Enums.FontType
fontMapGetFontType :: a -> m FontType
fontMapGetFontType fontmap :: a
fontmap = IO FontType -> m FontType
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FontType -> m FontType) -> IO FontType -> m FontType
forall a b. (a -> b) -> a -> b
$ do
Ptr FontMap
fontmap' <- a -> IO (Ptr FontMap)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
fontmap
CUInt
result <- Ptr FontMap -> IO CUInt
pango_cairo_font_map_get_font_type Ptr FontMap
fontmap'
let result' :: FontType
result' = (Int -> FontType
forall a. Enum a => Int -> a
toEnum (Int -> FontType) -> (CUInt -> Int) -> CUInt -> FontType
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
fontmap
FontType -> IO FontType
forall (m :: * -> *) a. Monad m => a -> m a
return FontType
result'
#if defined(ENABLE_OVERLOADING)
data FontMapGetFontTypeMethodInfo
instance (signature ~ (m Cairo.Enums.FontType), MonadIO m, IsFontMap a) => O.MethodInfo FontMapGetFontTypeMethodInfo a signature where
overloadedMethod = fontMapGetFontType
#endif
foreign import ccall "pango_cairo_font_map_get_resolution" pango_cairo_font_map_get_resolution ::
Ptr FontMap ->
IO CDouble
fontMapGetResolution ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a) =>
a
-> m Double
fontMapGetResolution :: a -> m Double
fontMapGetResolution fontmap :: a
fontmap = IO Double -> m Double
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Double -> m Double) -> IO Double -> m Double
forall a b. (a -> b) -> a -> b
$ do
Ptr FontMap
fontmap' <- a -> IO (Ptr FontMap)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
fontmap
CDouble
result <- Ptr FontMap -> IO CDouble
pango_cairo_font_map_get_resolution Ptr FontMap
fontmap'
let result' :: Double
result' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
fontmap
Double -> IO Double
forall (m :: * -> *) a. Monad m => a -> m a
return Double
result'
#if defined(ENABLE_OVERLOADING)
data FontMapGetResolutionMethodInfo
instance (signature ~ (m Double), MonadIO m, IsFontMap a) => O.MethodInfo FontMapGetResolutionMethodInfo a signature where
overloadedMethod = fontMapGetResolution
#endif
foreign import ccall "pango_cairo_font_map_set_default" pango_cairo_font_map_set_default ::
Ptr FontMap ->
IO ()
fontMapSetDefault ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a) =>
a
-> m ()
fontMapSetDefault :: a -> m ()
fontMapSetDefault fontmap :: a
fontmap = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FontMap
fontmap' <- a -> IO (Ptr FontMap)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
fontmap
Ptr FontMap -> IO ()
pango_cairo_font_map_set_default Ptr FontMap
fontmap'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
fontmap
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FontMapSetDefaultMethodInfo
instance (signature ~ (m ()), MonadIO m, IsFontMap a) => O.MethodInfo FontMapSetDefaultMethodInfo a signature where
overloadedMethod = fontMapSetDefault
#endif
foreign import ccall "pango_cairo_font_map_set_resolution" pango_cairo_font_map_set_resolution ::
Ptr FontMap ->
CDouble ->
IO ()
fontMapSetResolution ::
(B.CallStack.HasCallStack, MonadIO m, IsFontMap a) =>
a
-> Double
-> m ()
fontMapSetResolution :: a -> Double -> m ()
fontMapSetResolution fontmap :: a
fontmap dpi :: Double
dpi = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FontMap
fontmap' <- a -> IO (Ptr FontMap)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
fontmap
let dpi' :: CDouble
dpi' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
dpi
Ptr FontMap -> CDouble -> IO ()
pango_cairo_font_map_set_resolution Ptr FontMap
fontmap' CDouble
dpi'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
fontmap
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FontMapSetResolutionMethodInfo
instance (signature ~ (Double -> m ()), MonadIO m, IsFontMap a) => O.MethodInfo FontMapSetResolutionMethodInfo a signature where
overloadedMethod = fontMapSetResolution
#endif
foreign import ccall "pango_cairo_font_map_get_default" pango_cairo_font_map_get_default ::
IO (Ptr FontMap)
fontMapGetDefault ::
(B.CallStack.HasCallStack, MonadIO m) =>
m FontMap
fontMapGetDefault :: m FontMap
fontMapGetDefault = IO FontMap -> m FontMap
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FontMap -> m FontMap) -> IO FontMap -> m FontMap
forall a b. (a -> b) -> a -> b
$ do
Ptr FontMap
result <- IO (Ptr FontMap)
pango_cairo_font_map_get_default
Text -> Ptr FontMap -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "fontMapGetDefault" Ptr FontMap
result
FontMap
result' <- ((ManagedPtr FontMap -> FontMap) -> Ptr FontMap -> IO FontMap
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr FontMap -> FontMap
FontMap) Ptr FontMap
result
FontMap -> IO FontMap
forall (m :: * -> *) a. Monad m => a -> m a
return FontMap
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "pango_cairo_font_map_new" pango_cairo_font_map_new ::
IO (Ptr FontMap)
fontMapNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m FontMap
fontMapNew :: m FontMap
fontMapNew = IO FontMap -> m FontMap
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FontMap -> m FontMap) -> IO FontMap -> m FontMap
forall a b. (a -> b) -> a -> b
$ do
Ptr FontMap
result <- IO (Ptr FontMap)
pango_cairo_font_map_new
Text -> Ptr FontMap -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "fontMapNew" Ptr FontMap
result
FontMap
result' <- ((ManagedPtr FontMap -> FontMap) -> Ptr FontMap -> IO FontMap
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr FontMap -> FontMap
FontMap) Ptr FontMap
result
FontMap -> IO FontMap
forall (m :: * -> *) a. Monad m => a -> m a
return FontMap
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "pango_cairo_font_map_new_for_font_type" pango_cairo_font_map_new_for_font_type ::
CUInt ->
IO (Ptr FontMap)
fontMapNewForFontType ::
(B.CallStack.HasCallStack, MonadIO m) =>
Cairo.Enums.FontType
-> m (Maybe FontMap)
fontMapNewForFontType :: FontType -> m (Maybe FontMap)
fontMapNewForFontType fonttype :: FontType
fonttype = IO (Maybe FontMap) -> m (Maybe FontMap)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe FontMap) -> m (Maybe FontMap))
-> IO (Maybe FontMap) -> m (Maybe FontMap)
forall a b. (a -> b) -> a -> b
$ do
let fonttype' :: CUInt
fonttype' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (FontType -> Int) -> FontType -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. FontType -> Int
forall a. Enum a => a -> Int
fromEnum) FontType
fonttype
Ptr FontMap
result <- CUInt -> IO (Ptr FontMap)
pango_cairo_font_map_new_for_font_type CUInt
fonttype'
Maybe FontMap
maybeResult <- Ptr FontMap -> (Ptr FontMap -> IO FontMap) -> IO (Maybe FontMap)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr FontMap
result ((Ptr FontMap -> IO FontMap) -> IO (Maybe FontMap))
-> (Ptr FontMap -> IO FontMap) -> IO (Maybe FontMap)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr FontMap
result' -> do
FontMap
result'' <- ((ManagedPtr FontMap -> FontMap) -> Ptr FontMap -> IO FontMap
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr FontMap -> FontMap
FontMap) Ptr FontMap
result'
FontMap -> IO FontMap
forall (m :: * -> *) a. Monad m => a -> m a
return FontMap
result''
Maybe FontMap -> IO (Maybe FontMap)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe FontMap
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif