{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Poppler.Structs.FontsIter
(
FontsIter(..) ,
noFontsIter ,
#if defined(ENABLE_OVERLOADING)
ResolveFontsIterMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
FontsIterCopyMethodInfo ,
#endif
fontsIterCopy ,
#if defined(ENABLE_OVERLOADING)
FontsIterFreeMethodInfo ,
#endif
fontsIterFree ,
#if defined(ENABLE_OVERLOADING)
FontsIterGetEncodingMethodInfo ,
#endif
fontsIterGetEncoding ,
#if defined(ENABLE_OVERLOADING)
FontsIterGetFileNameMethodInfo ,
#endif
fontsIterGetFileName ,
#if defined(ENABLE_OVERLOADING)
FontsIterGetFontTypeMethodInfo ,
#endif
fontsIterGetFontType ,
#if defined(ENABLE_OVERLOADING)
FontsIterGetFullNameMethodInfo ,
#endif
fontsIterGetFullName ,
#if defined(ENABLE_OVERLOADING)
FontsIterGetNameMethodInfo ,
#endif
fontsIterGetName ,
#if defined(ENABLE_OVERLOADING)
FontsIterGetSubstituteNameMethodInfo ,
#endif
fontsIterGetSubstituteName ,
#if defined(ENABLE_OVERLOADING)
FontsIterIsEmbeddedMethodInfo ,
#endif
fontsIterIsEmbedded ,
#if defined(ENABLE_OVERLOADING)
FontsIterIsSubsetMethodInfo ,
#endif
fontsIterIsSubset ,
#if defined(ENABLE_OVERLOADING)
FontsIterNextMethodInfo ,
#endif
fontsIterNext ,
) 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 {-# SOURCE #-} qualified GI.Poppler.Enums as Poppler.Enums
newtype FontsIter = FontsIter (ManagedPtr FontsIter)
deriving (FontsIter -> FontsIter -> Bool
(FontsIter -> FontsIter -> Bool)
-> (FontsIter -> FontsIter -> Bool) -> Eq FontsIter
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FontsIter -> FontsIter -> Bool
$c/= :: FontsIter -> FontsIter -> Bool
== :: FontsIter -> FontsIter -> Bool
$c== :: FontsIter -> FontsIter -> Bool
Eq)
foreign import ccall "poppler_fonts_iter_get_type" c_poppler_fonts_iter_get_type ::
IO GType
instance BoxedObject FontsIter where
boxedType :: FontsIter -> IO GType
boxedType _ = IO GType
c_poppler_fonts_iter_get_type
instance B.GValue.IsGValue FontsIter where
toGValue :: FontsIter -> IO GValue
toGValue o :: FontsIter
o = do
GType
gtype <- IO GType
c_poppler_fonts_iter_get_type
FontsIter -> (Ptr FontsIter -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr FontsIter
o (GType
-> (GValue -> Ptr FontsIter -> IO ()) -> Ptr FontsIter -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr FontsIter -> IO ()
forall a. GValue -> Ptr a -> IO ()
B.GValue.set_boxed)
fromGValue :: GValue -> IO FontsIter
fromGValue gv :: GValue
gv = do
Ptr FontsIter
ptr <- GValue -> IO (Ptr FontsIter)
forall b. GValue -> IO (Ptr b)
B.GValue.get_boxed GValue
gv :: IO (Ptr FontsIter)
(ManagedPtr FontsIter -> FontsIter)
-> Ptr FontsIter -> IO FontsIter
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr FontsIter -> FontsIter
FontsIter Ptr FontsIter
ptr
noFontsIter :: Maybe FontsIter
noFontsIter :: Maybe FontsIter
noFontsIter = Maybe FontsIter
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList FontsIter
type instance O.AttributeList FontsIter = FontsIterAttributeList
type FontsIterAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "poppler_fonts_iter_copy" poppler_fonts_iter_copy ::
Ptr FontsIter ->
IO (Ptr FontsIter)
fontsIterCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m FontsIter
fontsIterCopy :: FontsIter -> m FontsIter
fontsIterCopy iter :: FontsIter
iter = IO FontsIter -> m FontsIter
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FontsIter -> m FontsIter) -> IO FontsIter -> m FontsIter
forall a b. (a -> b) -> a -> b
$ do
Ptr FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
Ptr FontsIter
result <- Ptr FontsIter -> IO (Ptr FontsIter)
poppler_fonts_iter_copy Ptr FontsIter
iter'
Text -> Ptr FontsIter -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "fontsIterCopy" Ptr FontsIter
result
FontsIter
result' <- ((ManagedPtr FontsIter -> FontsIter)
-> Ptr FontsIter -> IO FontsIter
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr FontsIter -> FontsIter
FontsIter) Ptr FontsIter
result
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
FontsIter -> IO FontsIter
forall (m :: * -> *) a. Monad m => a -> m a
return FontsIter
result'
#if defined(ENABLE_OVERLOADING)
data FontsIterCopyMethodInfo
instance (signature ~ (m FontsIter), MonadIO m) => O.MethodInfo FontsIterCopyMethodInfo FontsIter signature where
overloadedMethod = fontsIterCopy
#endif
foreign import ccall "poppler_fonts_iter_free" poppler_fonts_iter_free ::
Ptr FontsIter ->
IO ()
fontsIterFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m ()
fontsIterFree :: FontsIter -> m ()
fontsIterFree iter :: FontsIter
iter = 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 FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
Ptr FontsIter -> IO ()
poppler_fonts_iter_free Ptr FontsIter
iter'
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FontsIterFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo FontsIterFreeMethodInfo FontsIter signature where
overloadedMethod = fontsIterFree
#endif
foreign import ccall "poppler_fonts_iter_get_encoding" poppler_fonts_iter_get_encoding ::
Ptr FontsIter ->
IO CString
fontsIterGetEncoding ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m T.Text
fontsIterGetEncoding :: FontsIter -> m Text
fontsIterGetEncoding iter :: FontsIter
iter = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
CString
result <- Ptr FontsIter -> IO CString
poppler_fonts_iter_get_encoding Ptr FontsIter
iter'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "fontsIterGetEncoding" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data FontsIterGetEncodingMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo FontsIterGetEncodingMethodInfo FontsIter signature where
overloadedMethod = fontsIterGetEncoding
#endif
foreign import ccall "poppler_fonts_iter_get_file_name" poppler_fonts_iter_get_file_name ::
Ptr FontsIter ->
IO CString
fontsIterGetFileName ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m T.Text
fontsIterGetFileName :: FontsIter -> m Text
fontsIterGetFileName iter :: FontsIter
iter = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
CString
result <- Ptr FontsIter -> IO CString
poppler_fonts_iter_get_file_name Ptr FontsIter
iter'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "fontsIterGetFileName" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data FontsIterGetFileNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo FontsIterGetFileNameMethodInfo FontsIter signature where
overloadedMethod = fontsIterGetFileName
#endif
foreign import ccall "poppler_fonts_iter_get_font_type" poppler_fonts_iter_get_font_type ::
Ptr FontsIter ->
IO CUInt
fontsIterGetFontType ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m Poppler.Enums.FontType
fontsIterGetFontType :: FontsIter -> m FontType
fontsIterGetFontType iter :: FontsIter
iter = 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 FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
CUInt
result <- Ptr FontsIter -> IO CUInt
poppler_fonts_iter_get_font_type Ptr FontsIter
iter'
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
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
FontType -> IO FontType
forall (m :: * -> *) a. Monad m => a -> m a
return FontType
result'
#if defined(ENABLE_OVERLOADING)
data FontsIterGetFontTypeMethodInfo
instance (signature ~ (m Poppler.Enums.FontType), MonadIO m) => O.MethodInfo FontsIterGetFontTypeMethodInfo FontsIter signature where
overloadedMethod = fontsIterGetFontType
#endif
foreign import ccall "poppler_fonts_iter_get_full_name" poppler_fonts_iter_get_full_name ::
Ptr FontsIter ->
IO CString
fontsIterGetFullName ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m T.Text
fontsIterGetFullName :: FontsIter -> m Text
fontsIterGetFullName iter :: FontsIter
iter = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
CString
result <- Ptr FontsIter -> IO CString
poppler_fonts_iter_get_full_name Ptr FontsIter
iter'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "fontsIterGetFullName" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data FontsIterGetFullNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo FontsIterGetFullNameMethodInfo FontsIter signature where
overloadedMethod = fontsIterGetFullName
#endif
foreign import ccall "poppler_fonts_iter_get_name" poppler_fonts_iter_get_name ::
Ptr FontsIter ->
IO CString
fontsIterGetName ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m T.Text
fontsIterGetName :: FontsIter -> m Text
fontsIterGetName iter :: FontsIter
iter = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
CString
result <- Ptr FontsIter -> IO CString
poppler_fonts_iter_get_name Ptr FontsIter
iter'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "fontsIterGetName" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data FontsIterGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo FontsIterGetNameMethodInfo FontsIter signature where
overloadedMethod = fontsIterGetName
#endif
foreign import ccall "poppler_fonts_iter_get_substitute_name" poppler_fonts_iter_get_substitute_name ::
Ptr FontsIter ->
IO CString
fontsIterGetSubstituteName ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m T.Text
fontsIterGetSubstituteName :: FontsIter -> m Text
fontsIterGetSubstituteName iter :: FontsIter
iter = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
CString
result <- Ptr FontsIter -> IO CString
poppler_fonts_iter_get_substitute_name Ptr FontsIter
iter'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "fontsIterGetSubstituteName" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data FontsIterGetSubstituteNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo FontsIterGetSubstituteNameMethodInfo FontsIter signature where
overloadedMethod = fontsIterGetSubstituteName
#endif
foreign import ccall "poppler_fonts_iter_is_embedded" poppler_fonts_iter_is_embedded ::
Ptr FontsIter ->
IO CInt
fontsIterIsEmbedded ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m Bool
fontsIterIsEmbedded :: FontsIter -> m Bool
fontsIterIsEmbedded iter :: FontsIter
iter = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
CInt
result <- Ptr FontsIter -> IO CInt
poppler_fonts_iter_is_embedded Ptr FontsIter
iter'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data FontsIterIsEmbeddedMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo FontsIterIsEmbeddedMethodInfo FontsIter signature where
overloadedMethod = fontsIterIsEmbedded
#endif
foreign import ccall "poppler_fonts_iter_is_subset" poppler_fonts_iter_is_subset ::
Ptr FontsIter ->
IO CInt
fontsIterIsSubset ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m Bool
fontsIterIsSubset :: FontsIter -> m Bool
fontsIterIsSubset iter :: FontsIter
iter = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
CInt
result <- Ptr FontsIter -> IO CInt
poppler_fonts_iter_is_subset Ptr FontsIter
iter'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data FontsIterIsSubsetMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo FontsIterIsSubsetMethodInfo FontsIter signature where
overloadedMethod = fontsIterIsSubset
#endif
foreign import ccall "poppler_fonts_iter_next" poppler_fonts_iter_next ::
Ptr FontsIter ->
IO CInt
fontsIterNext ::
(B.CallStack.HasCallStack, MonadIO m) =>
FontsIter
-> m Bool
fontsIterNext :: FontsIter -> m Bool
fontsIterNext iter :: FontsIter
iter = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr FontsIter
iter' <- FontsIter -> IO (Ptr FontsIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FontsIter
iter
CInt
result <- Ptr FontsIter -> IO CInt
poppler_fonts_iter_next Ptr FontsIter
iter'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
FontsIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FontsIter
iter
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data FontsIterNextMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo FontsIterNextMethodInfo FontsIter signature where
overloadedMethod = fontsIterNext
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveFontsIterMethod (t :: Symbol) (o :: *) :: * where
ResolveFontsIterMethod "copy" o = FontsIterCopyMethodInfo
ResolveFontsIterMethod "free" o = FontsIterFreeMethodInfo
ResolveFontsIterMethod "isEmbedded" o = FontsIterIsEmbeddedMethodInfo
ResolveFontsIterMethod "isSubset" o = FontsIterIsSubsetMethodInfo
ResolveFontsIterMethod "next" o = FontsIterNextMethodInfo
ResolveFontsIterMethod "getEncoding" o = FontsIterGetEncodingMethodInfo
ResolveFontsIterMethod "getFileName" o = FontsIterGetFileNameMethodInfo
ResolveFontsIterMethod "getFontType" o = FontsIterGetFontTypeMethodInfo
ResolveFontsIterMethod "getFullName" o = FontsIterGetFullNameMethodInfo
ResolveFontsIterMethod "getName" o = FontsIterGetNameMethodInfo
ResolveFontsIterMethod "getSubstituteName" o = FontsIterGetSubstituteNameMethodInfo
ResolveFontsIterMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFontsIterMethod t FontsIter, O.MethodInfo info FontsIter p) => OL.IsLabel t (FontsIter -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif