{-# LANGUAGE TypeApplications #-}
#if !defined(__HADDOCK_VERSION__)
#define ENABLE_OVERLOADING
#endif
module GI.Pango.Structs.GlyphItem
(
GlyphItem(..) ,
newZeroGlyphItem ,
#if defined(ENABLE_OVERLOADING)
ResolveGlyphItemMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
GlyphItemApplyAttrsMethodInfo ,
#endif
glyphItemApplyAttrs ,
#if defined(ENABLE_OVERLOADING)
GlyphItemCopyMethodInfo ,
#endif
glyphItemCopy ,
#if defined(ENABLE_OVERLOADING)
GlyphItemFreeMethodInfo ,
#endif
glyphItemFree ,
#if defined(ENABLE_OVERLOADING)
GlyphItemLetterSpaceMethodInfo ,
#endif
glyphItemLetterSpace ,
#if defined(ENABLE_OVERLOADING)
GlyphItemSplitMethodInfo ,
#endif
glyphItemSplit ,
getGlyphItemEndXOffset ,
#if defined(ENABLE_OVERLOADING)
glyphItem_endXOffset ,
#endif
setGlyphItemEndXOffset ,
clearGlyphItemGlyphs ,
getGlyphItemGlyphs ,
#if defined(ENABLE_OVERLOADING)
glyphItem_glyphs ,
#endif
setGlyphItemGlyphs ,
clearGlyphItemItem ,
getGlyphItemItem ,
#if defined(ENABLE_OVERLOADING)
glyphItem_item ,
#endif
setGlyphItemItem ,
getGlyphItemStartXOffset ,
#if defined(ENABLE_OVERLOADING)
glyphItem_startXOffset ,
#endif
setGlyphItemStartXOffset ,
getGlyphItemYOffset ,
#if defined(ENABLE_OVERLOADING)
glyphItem_yOffset ,
#endif
setGlyphItemYOffset ,
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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 Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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 GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Interfaces.ListModel as Gio.ListModel
import qualified GI.HarfBuzz.Structs.FeatureT as HarfBuzz.FeatureT
import qualified GI.Pango.Callbacks as Pango.Callbacks
import {-# SOURCE #-} qualified GI.Pango.Enums as Pango.Enums
import {-# SOURCE #-} qualified GI.Pango.Flags as Pango.Flags
import {-# SOURCE #-} qualified GI.Pango.Objects.Context as Pango.Context
import {-# SOURCE #-} qualified GI.Pango.Objects.Coverage as Pango.Coverage
import {-# SOURCE #-} qualified GI.Pango.Objects.Font as Pango.Font
import {-# SOURCE #-} qualified GI.Pango.Objects.FontFace as Pango.FontFace
import {-# SOURCE #-} qualified GI.Pango.Objects.FontFamily as Pango.FontFamily
import {-# SOURCE #-} qualified GI.Pango.Objects.FontMap as Pango.FontMap
import {-# SOURCE #-} qualified GI.Pango.Objects.Fontset as Pango.Fontset
import {-# SOURCE #-} qualified GI.Pango.Structs.Analysis as Pango.Analysis
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrClass as Pango.AttrClass
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrColor as Pango.AttrColor
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrFloat as Pango.AttrFloat
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrFontDesc as Pango.AttrFontDesc
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrFontFeatures as Pango.AttrFontFeatures
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrInt as Pango.AttrInt
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrIterator as Pango.AttrIterator
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrLanguage as Pango.AttrLanguage
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrList as Pango.AttrList
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrShape as Pango.AttrShape
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrSize as Pango.AttrSize
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrString as Pango.AttrString
import {-# SOURCE #-} qualified GI.Pango.Structs.Attribute as Pango.Attribute
import {-# SOURCE #-} qualified GI.Pango.Structs.Color as Pango.Color
import {-# SOURCE #-} qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
import {-# SOURCE #-} qualified GI.Pango.Structs.FontMetrics as Pango.FontMetrics
import {-# SOURCE #-} qualified GI.Pango.Structs.GlyphString as Pango.GlyphString
import {-# SOURCE #-} qualified GI.Pango.Structs.Item as Pango.Item
import {-# SOURCE #-} qualified GI.Pango.Structs.Language as Pango.Language
import {-# SOURCE #-} qualified GI.Pango.Structs.LogAttr as Pango.LogAttr
import {-# SOURCE #-} qualified GI.Pango.Structs.Matrix as Pango.Matrix
import {-# SOURCE #-} qualified GI.Pango.Structs.Rectangle as Pango.Rectangle
#else
import {-# SOURCE #-} qualified GI.Pango.Structs.AttrList as Pango.AttrList
import {-# SOURCE #-} qualified GI.Pango.Structs.GlyphString as Pango.GlyphString
import {-# SOURCE #-} qualified GI.Pango.Structs.Item as Pango.Item
import {-# SOURCE #-} qualified GI.Pango.Structs.LogAttr as Pango.LogAttr
#endif
newtype GlyphItem = GlyphItem (SP.ManagedPtr GlyphItem)
deriving (GlyphItem -> GlyphItem -> Bool
(GlyphItem -> GlyphItem -> Bool)
-> (GlyphItem -> GlyphItem -> Bool) -> Eq GlyphItem
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GlyphItem -> GlyphItem -> Bool
== :: GlyphItem -> GlyphItem -> Bool
$c/= :: GlyphItem -> GlyphItem -> Bool
/= :: GlyphItem -> GlyphItem -> Bool
Eq)
instance SP.ManagedPtrNewtype GlyphItem where
toManagedPtr :: GlyphItem -> ManagedPtr GlyphItem
toManagedPtr (GlyphItem ManagedPtr GlyphItem
p) = ManagedPtr GlyphItem
p
foreign import ccall "pango_glyph_item_get_type" c_pango_glyph_item_get_type ::
IO GType
type instance O.ParentTypes GlyphItem = '[]
instance O.HasParentTypes GlyphItem
instance B.Types.TypedObject GlyphItem where
glibType :: IO GType
glibType = IO GType
c_pango_glyph_item_get_type
instance B.Types.GBoxed GlyphItem
instance B.GValue.IsGValue (Maybe GlyphItem) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_pango_glyph_item_get_type
gvalueSet_ :: Ptr GValue -> Maybe GlyphItem -> IO ()
gvalueSet_ Ptr GValue
gv Maybe GlyphItem
P.Nothing = Ptr GValue -> Ptr GlyphItem -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (Ptr GlyphItem
forall a. Ptr a
FP.nullPtr :: FP.Ptr GlyphItem)
gvalueSet_ Ptr GValue
gv (P.Just GlyphItem
obj) = GlyphItem -> (Ptr GlyphItem -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr GlyphItem
obj (Ptr GValue -> Ptr GlyphItem -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe GlyphItem)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr GlyphItem)
forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr GlyphItem)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newBoxed GlyphItem ptr
else return P.Nothing
newZeroGlyphItem :: MonadIO m => m GlyphItem
newZeroGlyphItem :: forall (m :: * -> *). MonadIO m => m GlyphItem
newZeroGlyphItem = IO GlyphItem -> m GlyphItem
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GlyphItem -> m GlyphItem) -> IO GlyphItem -> m GlyphItem
forall a b. (a -> b) -> a -> b
$ Int -> IO (Ptr GlyphItem)
forall a. GBoxed a => Int -> IO (Ptr a)
callocBoxedBytes Int
32 IO (Ptr GlyphItem)
-> (Ptr GlyphItem -> IO GlyphItem) -> IO GlyphItem
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr GlyphItem -> GlyphItem)
-> Ptr GlyphItem -> IO GlyphItem
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr GlyphItem -> GlyphItem
GlyphItem
instance tag ~ 'AttrSet => Constructible GlyphItem tag where
new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr GlyphItem -> GlyphItem)
-> [AttrOp GlyphItem tag] -> m GlyphItem
new ManagedPtr GlyphItem -> GlyphItem
_ [AttrOp GlyphItem tag]
attrs = do
o <- m GlyphItem
forall (m :: * -> *). MonadIO m => m GlyphItem
newZeroGlyphItem
GI.Attributes.set o attrs
return o
getGlyphItemItem :: MonadIO m => GlyphItem -> m (Maybe Pango.Item.Item)
getGlyphItemItem :: forall (m :: * -> *). MonadIO m => GlyphItem -> m (Maybe Item)
getGlyphItemItem GlyphItem
s = IO (Maybe Item) -> m (Maybe Item)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Item) -> m (Maybe Item))
-> IO (Maybe Item) -> m (Maybe Item)
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO (Maybe Item)) -> IO (Maybe Item)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO (Maybe Item)) -> IO (Maybe Item))
-> (Ptr GlyphItem -> IO (Maybe Item)) -> IO (Maybe Item)
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
val <- Ptr (Ptr Item) -> IO (Ptr Item)
forall a. Storable a => Ptr a -> IO a
peek (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr (Ptr Item)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO (Ptr Pango.Item.Item)
result <- SP.convertIfNonNull val $ \Ptr Item
val' -> do
val'' <- ((ManagedPtr Item -> Item) -> Ptr Item -> IO Item
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Item -> Item
Pango.Item.Item) Ptr Item
val'
return val''
return result
setGlyphItemItem :: MonadIO m => GlyphItem -> Ptr Pango.Item.Item -> m ()
setGlyphItemItem :: forall (m :: * -> *). MonadIO m => GlyphItem -> Ptr Item -> m ()
setGlyphItemItem GlyphItem
s Ptr Item
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO ()) -> IO ())
-> (Ptr GlyphItem -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
Ptr (Ptr Item) -> Ptr Item -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr (Ptr Item)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (Ptr Item
val :: Ptr Pango.Item.Item)
clearGlyphItemItem :: MonadIO m => GlyphItem -> m ()
clearGlyphItemItem :: forall (m :: * -> *). MonadIO m => GlyphItem -> m ()
clearGlyphItemItem GlyphItem
s = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO ()) -> IO ())
-> (Ptr GlyphItem -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
Ptr (Ptr Item) -> Ptr Item -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr (Ptr Item)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (Ptr Item
forall a. Ptr a
FP.nullPtr :: Ptr Pango.Item.Item)
#if defined(ENABLE_OVERLOADING)
data GlyphItemItemFieldInfo
instance AttrInfo GlyphItemItemFieldInfo where
type AttrBaseTypeConstraint GlyphItemItemFieldInfo = (~) GlyphItem
type AttrAllowedOps GlyphItemItemFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint GlyphItemItemFieldInfo = (~) (Ptr Pango.Item.Item)
type AttrTransferTypeConstraint GlyphItemItemFieldInfo = (~)(Ptr Pango.Item.Item)
type AttrTransferType GlyphItemItemFieldInfo = (Ptr Pango.Item.Item)
type AttrGetType GlyphItemItemFieldInfo = Maybe Pango.Item.Item
type AttrLabel GlyphItemItemFieldInfo = "item"
type AttrOrigin GlyphItemItemFieldInfo = GlyphItem
attrGet = getGlyphItemItem
attrSet = setGlyphItemItem
attrConstruct = undefined
attrClear = clearGlyphItemItem
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Structs.GlyphItem.item"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Structs-GlyphItem.html#g:attr:item"
})
glyphItem_item :: AttrLabelProxy "item"
glyphItem_item = AttrLabelProxy
#endif
getGlyphItemGlyphs :: MonadIO m => GlyphItem -> m (Maybe Pango.GlyphString.GlyphString)
getGlyphItemGlyphs :: forall (m :: * -> *).
MonadIO m =>
GlyphItem -> m (Maybe GlyphString)
getGlyphItemGlyphs GlyphItem
s = IO (Maybe GlyphString) -> m (Maybe GlyphString)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe GlyphString) -> m (Maybe GlyphString))
-> IO (Maybe GlyphString) -> m (Maybe GlyphString)
forall a b. (a -> b) -> a -> b
$ GlyphItem
-> (Ptr GlyphItem -> IO (Maybe GlyphString))
-> IO (Maybe GlyphString)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO (Maybe GlyphString))
-> IO (Maybe GlyphString))
-> (Ptr GlyphItem -> IO (Maybe GlyphString))
-> IO (Maybe GlyphString)
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
val <- Ptr (Ptr GlyphString) -> IO (Ptr GlyphString)
forall a. Storable a => Ptr a -> IO a
peek (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr (Ptr GlyphString)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) :: IO (Ptr Pango.GlyphString.GlyphString)
result <- SP.convertIfNonNull val $ \Ptr GlyphString
val' -> do
val'' <- ((ManagedPtr GlyphString -> GlyphString)
-> Ptr GlyphString -> IO GlyphString
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr GlyphString -> GlyphString
Pango.GlyphString.GlyphString) Ptr GlyphString
val'
return val''
return result
setGlyphItemGlyphs :: MonadIO m => GlyphItem -> Ptr Pango.GlyphString.GlyphString -> m ()
setGlyphItemGlyphs :: forall (m :: * -> *).
MonadIO m =>
GlyphItem -> Ptr GlyphString -> m ()
setGlyphItemGlyphs GlyphItem
s Ptr GlyphString
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO ()) -> IO ())
-> (Ptr GlyphItem -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
Ptr (Ptr GlyphString) -> Ptr GlyphString -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr (Ptr GlyphString)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (Ptr GlyphString
val :: Ptr Pango.GlyphString.GlyphString)
clearGlyphItemGlyphs :: MonadIO m => GlyphItem -> m ()
clearGlyphItemGlyphs :: forall (m :: * -> *). MonadIO m => GlyphItem -> m ()
clearGlyphItemGlyphs GlyphItem
s = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO ()) -> IO ())
-> (Ptr GlyphItem -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
Ptr (Ptr GlyphString) -> Ptr GlyphString -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr (Ptr GlyphString)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (Ptr GlyphString
forall a. Ptr a
FP.nullPtr :: Ptr Pango.GlyphString.GlyphString)
#if defined(ENABLE_OVERLOADING)
data GlyphItemGlyphsFieldInfo
instance AttrInfo GlyphItemGlyphsFieldInfo where
type AttrBaseTypeConstraint GlyphItemGlyphsFieldInfo = (~) GlyphItem
type AttrAllowedOps GlyphItemGlyphsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint GlyphItemGlyphsFieldInfo = (~) (Ptr Pango.GlyphString.GlyphString)
type AttrTransferTypeConstraint GlyphItemGlyphsFieldInfo = (~)(Ptr Pango.GlyphString.GlyphString)
type AttrTransferType GlyphItemGlyphsFieldInfo = (Ptr Pango.GlyphString.GlyphString)
type AttrGetType GlyphItemGlyphsFieldInfo = Maybe Pango.GlyphString.GlyphString
type AttrLabel GlyphItemGlyphsFieldInfo = "glyphs"
type AttrOrigin GlyphItemGlyphsFieldInfo = GlyphItem
attrGet = getGlyphItemGlyphs
attrSet = setGlyphItemGlyphs
attrConstruct = undefined
attrClear = clearGlyphItemGlyphs
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Structs.GlyphItem.glyphs"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Structs-GlyphItem.html#g:attr:glyphs"
})
glyphItem_glyphs :: AttrLabelProxy "glyphs"
glyphItem_glyphs = AttrLabelProxy
#endif
getGlyphItemYOffset :: MonadIO m => GlyphItem -> m Int32
getGlyphItemYOffset :: forall (m :: * -> *). MonadIO m => GlyphItem -> m Int32
getGlyphItemYOffset GlyphItem
s = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO Int32) -> IO Int32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO Int32) -> IO Int32)
-> (Ptr GlyphItem -> IO Int32) -> IO Int32
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
val <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO Int32
return val
setGlyphItemYOffset :: MonadIO m => GlyphItem -> Int32 -> m ()
setGlyphItemYOffset :: forall (m :: * -> *). MonadIO m => GlyphItem -> Int32 -> m ()
setGlyphItemYOffset GlyphItem
s Int32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO ()) -> IO ())
-> (Ptr GlyphItem -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
Ptr Int32 -> Int32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Int32
val :: Int32)
#if defined(ENABLE_OVERLOADING)
data GlyphItemYOffsetFieldInfo
instance AttrInfo GlyphItemYOffsetFieldInfo where
type AttrBaseTypeConstraint GlyphItemYOffsetFieldInfo = (~) GlyphItem
type AttrAllowedOps GlyphItemYOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint GlyphItemYOffsetFieldInfo = (~) Int32
type AttrTransferTypeConstraint GlyphItemYOffsetFieldInfo = (~)Int32
type AttrTransferType GlyphItemYOffsetFieldInfo = Int32
type AttrGetType GlyphItemYOffsetFieldInfo = Int32
type AttrLabel GlyphItemYOffsetFieldInfo = "y_offset"
type AttrOrigin GlyphItemYOffsetFieldInfo = GlyphItem
attrGet = getGlyphItemYOffset
attrSet = setGlyphItemYOffset
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Structs.GlyphItem.yOffset"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Structs-GlyphItem.html#g:attr:yOffset"
})
glyphItem_yOffset :: AttrLabelProxy "yOffset"
glyphItem_yOffset = AttrLabelProxy
#endif
getGlyphItemStartXOffset :: MonadIO m => GlyphItem -> m Int32
getGlyphItemStartXOffset :: forall (m :: * -> *). MonadIO m => GlyphItem -> m Int32
getGlyphItemStartXOffset GlyphItem
s = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO Int32) -> IO Int32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO Int32) -> IO Int32)
-> (Ptr GlyphItem -> IO Int32) -> IO Int32
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
val <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20) :: IO Int32
return val
setGlyphItemStartXOffset :: MonadIO m => GlyphItem -> Int32 -> m ()
setGlyphItemStartXOffset :: forall (m :: * -> *). MonadIO m => GlyphItem -> Int32 -> m ()
setGlyphItemStartXOffset GlyphItem
s Int32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO ()) -> IO ())
-> (Ptr GlyphItem -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
Ptr Int32 -> Int32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20) (Int32
val :: Int32)
#if defined(ENABLE_OVERLOADING)
data GlyphItemStartXOffsetFieldInfo
instance AttrInfo GlyphItemStartXOffsetFieldInfo where
type AttrBaseTypeConstraint GlyphItemStartXOffsetFieldInfo = (~) GlyphItem
type AttrAllowedOps GlyphItemStartXOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint GlyphItemStartXOffsetFieldInfo = (~) Int32
type AttrTransferTypeConstraint GlyphItemStartXOffsetFieldInfo = (~)Int32
type AttrTransferType GlyphItemStartXOffsetFieldInfo = Int32
type AttrGetType GlyphItemStartXOffsetFieldInfo = Int32
type AttrLabel GlyphItemStartXOffsetFieldInfo = "start_x_offset"
type AttrOrigin GlyphItemStartXOffsetFieldInfo = GlyphItem
attrGet = getGlyphItemStartXOffset
attrSet = setGlyphItemStartXOffset
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Structs.GlyphItem.startXOffset"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Structs-GlyphItem.html#g:attr:startXOffset"
})
glyphItem_startXOffset :: AttrLabelProxy "startXOffset"
glyphItem_startXOffset = AttrLabelProxy
#endif
getGlyphItemEndXOffset :: MonadIO m => GlyphItem -> m Int32
getGlyphItemEndXOffset :: forall (m :: * -> *). MonadIO m => GlyphItem -> m Int32
getGlyphItemEndXOffset GlyphItem
s = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO Int32) -> IO Int32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO Int32) -> IO Int32)
-> (Ptr GlyphItem -> IO Int32) -> IO Int32
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
val <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) :: IO Int32
return val
setGlyphItemEndXOffset :: MonadIO m => GlyphItem -> Int32 -> m ()
setGlyphItemEndXOffset :: forall (m :: * -> *). MonadIO m => GlyphItem -> Int32 -> m ()
setGlyphItemEndXOffset GlyphItem
s Int32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ GlyphItem -> (Ptr GlyphItem -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr GlyphItem
s ((Ptr GlyphItem -> IO ()) -> IO ())
-> (Ptr GlyphItem -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GlyphItem
ptr -> do
Ptr Int32 -> Int32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr GlyphItem
ptr Ptr GlyphItem -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (Int32
val :: Int32)
#if defined(ENABLE_OVERLOADING)
data GlyphItemEndXOffsetFieldInfo
instance AttrInfo GlyphItemEndXOffsetFieldInfo where
type AttrBaseTypeConstraint GlyphItemEndXOffsetFieldInfo = (~) GlyphItem
type AttrAllowedOps GlyphItemEndXOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint GlyphItemEndXOffsetFieldInfo = (~) Int32
type AttrTransferTypeConstraint GlyphItemEndXOffsetFieldInfo = (~)Int32
type AttrTransferType GlyphItemEndXOffsetFieldInfo = Int32
type AttrGetType GlyphItemEndXOffsetFieldInfo = Int32
type AttrLabel GlyphItemEndXOffsetFieldInfo = "end_x_offset"
type AttrOrigin GlyphItemEndXOffsetFieldInfo = GlyphItem
attrGet = getGlyphItemEndXOffset
attrSet = setGlyphItemEndXOffset
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Structs.GlyphItem.endXOffset"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Structs-GlyphItem.html#g:attr:endXOffset"
})
glyphItem_endXOffset :: AttrLabelProxy "endXOffset"
glyphItem_endXOffset = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList GlyphItem
type instance O.AttributeList GlyphItem = GlyphItemAttributeList
type GlyphItemAttributeList = ('[ '("item", GlyphItemItemFieldInfo), '("glyphs", GlyphItemGlyphsFieldInfo), '("yOffset", GlyphItemYOffsetFieldInfo), '("startXOffset", GlyphItemStartXOffsetFieldInfo), '("endXOffset", GlyphItemEndXOffsetFieldInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "pango_glyph_item_apply_attrs" pango_glyph_item_apply_attrs ::
Ptr GlyphItem ->
CString ->
Ptr Pango.AttrList.AttrList ->
IO (Ptr (GSList (Ptr GlyphItem)))
glyphItemApplyAttrs ::
(B.CallStack.HasCallStack, MonadIO m) =>
GlyphItem
-> T.Text
-> Pango.AttrList.AttrList
-> m [GlyphItem]
glyphItemApplyAttrs :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GlyphItem -> Text -> AttrList -> m [GlyphItem]
glyphItemApplyAttrs GlyphItem
glyphItem Text
text AttrList
list = IO [GlyphItem] -> m [GlyphItem]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [GlyphItem] -> m [GlyphItem])
-> IO [GlyphItem] -> m [GlyphItem]
forall a b. (a -> b) -> a -> b
$ do
glyphItem' <- GlyphItem -> IO (Ptr GlyphItem)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed GlyphItem
glyphItem
text' <- textToCString text
list' <- unsafeManagedPtrGetPtr list
result <- pango_glyph_item_apply_attrs glyphItem' text' list'
result' <- unpackGSList result
result'' <- mapM (wrapBoxed GlyphItem) result'
g_slist_free result
touchManagedPtr glyphItem
touchManagedPtr list
freeMem text'
return result''
#if defined(ENABLE_OVERLOADING)
data GlyphItemApplyAttrsMethodInfo
instance (signature ~ (T.Text -> Pango.AttrList.AttrList -> m [GlyphItem]), MonadIO m) => O.OverloadedMethod GlyphItemApplyAttrsMethodInfo GlyphItem signature where
overloadedMethod = glyphItemApplyAttrs
instance O.OverloadedMethodInfo GlyphItemApplyAttrsMethodInfo GlyphItem where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Structs.GlyphItem.glyphItemApplyAttrs",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Structs-GlyphItem.html#v:glyphItemApplyAttrs"
})
#endif
foreign import ccall "pango_glyph_item_copy" pango_glyph_item_copy ::
Ptr GlyphItem ->
IO (Ptr GlyphItem)
glyphItemCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (GlyphItem)
-> m (Maybe GlyphItem)
glyphItemCopy :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Maybe GlyphItem -> m (Maybe GlyphItem)
glyphItemCopy Maybe GlyphItem
orig = IO (Maybe GlyphItem) -> m (Maybe GlyphItem)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe GlyphItem) -> m (Maybe GlyphItem))
-> IO (Maybe GlyphItem) -> m (Maybe GlyphItem)
forall a b. (a -> b) -> a -> b
$ do
maybeOrig <- case Maybe GlyphItem
orig of
Maybe GlyphItem
Nothing -> Ptr GlyphItem -> IO (Ptr GlyphItem)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr GlyphItem
forall a. Ptr a
FP.nullPtr
Just GlyphItem
jOrig -> do
jOrig' <- GlyphItem -> IO (Ptr GlyphItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GlyphItem
jOrig
return jOrig'
result <- pango_glyph_item_copy maybeOrig
maybeResult <- convertIfNonNull result $ \Ptr GlyphItem
result' -> do
result'' <- ((ManagedPtr GlyphItem -> GlyphItem)
-> Ptr GlyphItem -> IO GlyphItem
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr GlyphItem -> GlyphItem
GlyphItem) Ptr GlyphItem
result'
return result''
whenJust orig touchManagedPtr
return maybeResult
#if defined(ENABLE_OVERLOADING)
data GlyphItemCopyMethodInfo
instance (signature ~ (m (Maybe GlyphItem)), MonadIO m) => O.OverloadedMethod GlyphItemCopyMethodInfo GlyphItem signature where
overloadedMethod i = glyphItemCopy (Just i)
instance O.OverloadedMethodInfo GlyphItemCopyMethodInfo GlyphItem where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Structs.GlyphItem.glyphItemCopy",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Structs-GlyphItem.html#v:glyphItemCopy"
})
#endif
foreign import ccall "pango_glyph_item_free" pango_glyph_item_free ::
Ptr GlyphItem ->
IO ()
glyphItemFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (GlyphItem)
-> m ()
glyphItemFree :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Maybe GlyphItem -> m ()
glyphItemFree Maybe GlyphItem
glyphItem = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
maybeGlyphItem <- case Maybe GlyphItem
glyphItem of
Maybe GlyphItem
Nothing -> Ptr GlyphItem -> IO (Ptr GlyphItem)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr GlyphItem
forall a. Ptr a
FP.nullPtr
Just GlyphItem
jGlyphItem -> do
jGlyphItem' <- GlyphItem -> IO (Ptr GlyphItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GlyphItem
jGlyphItem
return jGlyphItem'
pango_glyph_item_free maybeGlyphItem
whenJust glyphItem touchManagedPtr
return ()
#if defined(ENABLE_OVERLOADING)
data GlyphItemFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.OverloadedMethod GlyphItemFreeMethodInfo GlyphItem signature where
overloadedMethod i = glyphItemFree (Just i)
instance O.OverloadedMethodInfo GlyphItemFreeMethodInfo GlyphItem where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Structs.GlyphItem.glyphItemFree",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Structs-GlyphItem.html#v:glyphItemFree"
})
#endif
foreign import ccall "pango_glyph_item_letter_space" pango_glyph_item_letter_space ::
Ptr GlyphItem ->
CString ->
Ptr Pango.LogAttr.LogAttr ->
Int32 ->
IO ()
glyphItemLetterSpace ::
(B.CallStack.HasCallStack, MonadIO m) =>
GlyphItem
-> T.Text
-> [Pango.LogAttr.LogAttr]
-> Int32
-> m ()
glyphItemLetterSpace :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GlyphItem -> Text -> [LogAttr] -> Int32 -> m ()
glyphItemLetterSpace GlyphItem
glyphItem Text
text [LogAttr]
logAttrs Int32
letterSpacing = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
glyphItem' <- GlyphItem -> IO (Ptr GlyphItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GlyphItem
glyphItem
text' <- textToCString text
logAttrs' <- mapM unsafeManagedPtrGetPtr logAttrs
logAttrs'' <- packBlockArray 64 logAttrs'
pango_glyph_item_letter_space glyphItem' text' logAttrs'' letterSpacing
touchManagedPtr glyphItem
mapM_ touchManagedPtr logAttrs
freeMem text'
freeMem logAttrs''
return ()
#if defined(ENABLE_OVERLOADING)
data GlyphItemLetterSpaceMethodInfo
instance (signature ~ (T.Text -> [Pango.LogAttr.LogAttr] -> Int32 -> m ()), MonadIO m) => O.OverloadedMethod GlyphItemLetterSpaceMethodInfo GlyphItem signature where
overloadedMethod = glyphItemLetterSpace
instance O.OverloadedMethodInfo GlyphItemLetterSpaceMethodInfo GlyphItem where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Structs.GlyphItem.glyphItemLetterSpace",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Structs-GlyphItem.html#v:glyphItemLetterSpace"
})
#endif
foreign import ccall "pango_glyph_item_split" pango_glyph_item_split ::
Ptr GlyphItem ->
CString ->
Int32 ->
IO (Ptr GlyphItem)
glyphItemSplit ::
(B.CallStack.HasCallStack, MonadIO m) =>
GlyphItem
-> T.Text
-> Int32
-> m (Maybe GlyphItem)
glyphItemSplit :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GlyphItem -> Text -> Int32 -> m (Maybe GlyphItem)
glyphItemSplit GlyphItem
orig Text
text Int32
splitIndex = IO (Maybe GlyphItem) -> m (Maybe GlyphItem)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe GlyphItem) -> m (Maybe GlyphItem))
-> IO (Maybe GlyphItem) -> m (Maybe GlyphItem)
forall a b. (a -> b) -> a -> b
$ do
orig' <- GlyphItem -> IO (Ptr GlyphItem)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GlyphItem
orig
text' <- textToCString text
result <- pango_glyph_item_split orig' text' splitIndex
maybeResult <- convertIfNonNull result $ \Ptr GlyphItem
result' -> do
result'' <- ((ManagedPtr GlyphItem -> GlyphItem)
-> Ptr GlyphItem -> IO GlyphItem
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr GlyphItem -> GlyphItem
GlyphItem) Ptr GlyphItem
result'
return result''
touchManagedPtr orig
freeMem text'
return maybeResult
#if defined(ENABLE_OVERLOADING)
data GlyphItemSplitMethodInfo
instance (signature ~ (T.Text -> Int32 -> m (Maybe GlyphItem)), MonadIO m) => O.OverloadedMethod GlyphItemSplitMethodInfo GlyphItem signature where
overloadedMethod = glyphItemSplit
instance O.OverloadedMethodInfo GlyphItemSplitMethodInfo GlyphItem where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Structs.GlyphItem.glyphItemSplit",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Structs-GlyphItem.html#v:glyphItemSplit"
})
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveGlyphItemMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveGlyphItemMethod "applyAttrs" o = GlyphItemApplyAttrsMethodInfo
ResolveGlyphItemMethod "copy" o = GlyphItemCopyMethodInfo
ResolveGlyphItemMethod "free" o = GlyphItemFreeMethodInfo
ResolveGlyphItemMethod "letterSpace" o = GlyphItemLetterSpaceMethodInfo
ResolveGlyphItemMethod "split" o = GlyphItemSplitMethodInfo
ResolveGlyphItemMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveGlyphItemMethod t GlyphItem, O.OverloadedMethod info GlyphItem p) => OL.IsLabel t (GlyphItem -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveGlyphItemMethod t GlyphItem, O.OverloadedMethod info GlyphItem p, R.HasField t GlyphItem p) => R.HasField t GlyphItem p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveGlyphItemMethod t GlyphItem, O.OverloadedMethodInfo info GlyphItem) => OL.IsLabel t (O.MethodProxy info GlyphItem) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif