{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Rsvg.Objects.Handle
(
Handle(..) ,
IsHandle ,
toHandle ,
#if defined(ENABLE_OVERLOADING)
ResolveHandleMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
HandleCloseMethodInfo ,
#endif
handleClose ,
#if defined(ENABLE_OVERLOADING)
HandleFreeMethodInfo ,
#endif
handleFree ,
#if defined(ENABLE_OVERLOADING)
HandleGetBaseUriMethodInfo ,
#endif
handleGetBaseUri ,
#if defined(ENABLE_OVERLOADING)
HandleGetDescMethodInfo ,
#endif
handleGetDesc ,
#if defined(ENABLE_OVERLOADING)
HandleGetDimensionsMethodInfo ,
#endif
handleGetDimensions ,
#if defined(ENABLE_OVERLOADING)
HandleGetDimensionsSubMethodInfo ,
#endif
handleGetDimensionsSub ,
#if defined(ENABLE_OVERLOADING)
HandleGetGeometryForElementMethodInfo ,
#endif
handleGetGeometryForElement ,
#if defined(ENABLE_OVERLOADING)
HandleGetGeometryForLayerMethodInfo ,
#endif
handleGetGeometryForLayer ,
#if defined(ENABLE_OVERLOADING)
HandleGetIntrinsicDimensionsMethodInfo ,
#endif
handleGetIntrinsicDimensions ,
#if defined(ENABLE_OVERLOADING)
HandleGetIntrinsicSizeInPixelsMethodInfo,
#endif
handleGetIntrinsicSizeInPixels ,
#if defined(ENABLE_OVERLOADING)
HandleGetMetadataMethodInfo ,
#endif
handleGetMetadata ,
#if defined(ENABLE_OVERLOADING)
HandleGetPixbufMethodInfo ,
#endif
handleGetPixbuf ,
#if defined(ENABLE_OVERLOADING)
HandleGetPixbufSubMethodInfo ,
#endif
handleGetPixbufSub ,
#if defined(ENABLE_OVERLOADING)
HandleGetPositionSubMethodInfo ,
#endif
handleGetPositionSub ,
#if defined(ENABLE_OVERLOADING)
HandleGetTitleMethodInfo ,
#endif
handleGetTitle ,
#if defined(ENABLE_OVERLOADING)
HandleHasSubMethodInfo ,
#endif
handleHasSub ,
#if defined(ENABLE_OVERLOADING)
HandleInternalSetTestingMethodInfo ,
#endif
handleInternalSetTesting ,
handleNew ,
handleNewFromData ,
handleNewFromFile ,
handleNewFromGfileSync ,
handleNewFromStreamSync ,
handleNewWithFlags ,
#if defined(ENABLE_OVERLOADING)
HandleReadStreamSyncMethodInfo ,
#endif
handleReadStreamSync ,
#if defined(ENABLE_OVERLOADING)
HandleRenderCairoMethodInfo ,
#endif
handleRenderCairo ,
#if defined(ENABLE_OVERLOADING)
HandleRenderCairoSubMethodInfo ,
#endif
handleRenderCairoSub ,
#if defined(ENABLE_OVERLOADING)
HandleRenderDocumentMethodInfo ,
#endif
handleRenderDocument ,
#if defined(ENABLE_OVERLOADING)
HandleRenderElementMethodInfo ,
#endif
handleRenderElement ,
#if defined(ENABLE_OVERLOADING)
HandleRenderLayerMethodInfo ,
#endif
handleRenderLayer ,
#if defined(ENABLE_OVERLOADING)
HandleSetBaseGfileMethodInfo ,
#endif
handleSetBaseGfile ,
#if defined(ENABLE_OVERLOADING)
HandleSetBaseUriMethodInfo ,
#endif
handleSetBaseUri ,
#if defined(ENABLE_OVERLOADING)
HandleSetDpiMethodInfo ,
#endif
handleSetDpi ,
#if defined(ENABLE_OVERLOADING)
HandleSetDpiXYMethodInfo ,
#endif
handleSetDpiXY ,
#if defined(ENABLE_OVERLOADING)
HandleSetSizeCallbackMethodInfo ,
#endif
handleSetSizeCallback ,
#if defined(ENABLE_OVERLOADING)
HandleSetStylesheetMethodInfo ,
#endif
handleSetStylesheet ,
#if defined(ENABLE_OVERLOADING)
HandleWriteMethodInfo ,
#endif
handleWrite ,
#if defined(ENABLE_OVERLOADING)
HandleBaseUriPropertyInfo ,
#endif
constructHandleBaseUri ,
getHandleBaseUri ,
#if defined(ENABLE_OVERLOADING)
handleBaseUri ,
#endif
setHandleBaseUri ,
#if defined(ENABLE_OVERLOADING)
HandleDescPropertyInfo ,
#endif
getHandleDesc ,
#if defined(ENABLE_OVERLOADING)
handleDesc ,
#endif
#if defined(ENABLE_OVERLOADING)
HandleDpiXPropertyInfo ,
#endif
constructHandleDpiX ,
getHandleDpiX ,
#if defined(ENABLE_OVERLOADING)
handleDpiX ,
#endif
setHandleDpiX ,
#if defined(ENABLE_OVERLOADING)
HandleDpiYPropertyInfo ,
#endif
constructHandleDpiY ,
getHandleDpiY ,
#if defined(ENABLE_OVERLOADING)
handleDpiY ,
#endif
setHandleDpiY ,
#if defined(ENABLE_OVERLOADING)
HandleEmPropertyInfo ,
#endif
getHandleEm ,
#if defined(ENABLE_OVERLOADING)
handleEm ,
#endif
#if defined(ENABLE_OVERLOADING)
HandleExPropertyInfo ,
#endif
getHandleEx ,
#if defined(ENABLE_OVERLOADING)
handleEx ,
#endif
#if defined(ENABLE_OVERLOADING)
HandleFlagsPropertyInfo ,
#endif
constructHandleFlags ,
getHandleFlags ,
#if defined(ENABLE_OVERLOADING)
handleFlags ,
#endif
#if defined(ENABLE_OVERLOADING)
HandleHeightPropertyInfo ,
#endif
getHandleHeight ,
#if defined(ENABLE_OVERLOADING)
handleHeight ,
#endif
#if defined(ENABLE_OVERLOADING)
HandleMetadataPropertyInfo ,
#endif
getHandleMetadata ,
#if defined(ENABLE_OVERLOADING)
handleMetadata ,
#endif
#if defined(ENABLE_OVERLOADING)
HandleTitlePropertyInfo ,
#endif
getHandleTitle ,
#if defined(ENABLE_OVERLOADING)
handleTitle ,
#endif
#if defined(ENABLE_OVERLOADING)
HandleWidthPropertyInfo ,
#endif
getHandleWidth ,
#if defined(ENABLE_OVERLOADING)
handleWidth ,
#endif
) 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.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 GI.Cairo.Structs.Context as Cairo.Context
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
import qualified GI.Gio.Interfaces.File as Gio.File
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import qualified GI.Gio.Objects.InputStream as Gio.InputStream
import qualified GI.Rsvg.Callbacks as Rsvg.Callbacks
import {-# SOURCE #-} qualified GI.Rsvg.Flags as Rsvg.Flags
import {-# SOURCE #-} qualified GI.Rsvg.Structs.DimensionData as Rsvg.DimensionData
import {-# SOURCE #-} qualified GI.Rsvg.Structs.Length as Rsvg.Length
import {-# SOURCE #-} qualified GI.Rsvg.Structs.PositionData as Rsvg.PositionData
import {-# SOURCE #-} qualified GI.Rsvg.Structs.Rectangle as Rsvg.Rectangle
newtype Handle = Handle (SP.ManagedPtr Handle)
deriving (Handle -> Handle -> Bool
(Handle -> Handle -> Bool)
-> (Handle -> Handle -> Bool) -> Eq Handle
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Handle -> Handle -> Bool
== :: Handle -> Handle -> Bool
$c/= :: Handle -> Handle -> Bool
/= :: Handle -> Handle -> Bool
Eq)
instance SP.ManagedPtrNewtype Handle where
toManagedPtr :: Handle -> ManagedPtr Handle
toManagedPtr (Handle ManagedPtr Handle
p) = ManagedPtr Handle
p
foreign import ccall "rsvg_handle_get_type"
c_rsvg_handle_get_type :: IO B.Types.GType
instance B.Types.TypedObject Handle where
glibType :: IO GType
glibType = IO GType
c_rsvg_handle_get_type
instance B.Types.GObject Handle
class (SP.GObject o, O.IsDescendantOf Handle o) => IsHandle o
instance (SP.GObject o, O.IsDescendantOf Handle o) => IsHandle o
instance O.HasParentTypes Handle
type instance O.ParentTypes Handle = '[GObject.Object.Object]
toHandle :: (MIO.MonadIO m, IsHandle o) => o -> m Handle
toHandle :: forall (m :: * -> *) o. (MonadIO m, IsHandle o) => o -> m Handle
toHandle = IO Handle -> m Handle
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Handle -> m Handle) -> (o -> IO Handle) -> o -> m Handle
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Handle -> Handle) -> o -> IO Handle
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Handle -> Handle
Handle
instance B.GValue.IsGValue (Maybe Handle) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_rsvg_handle_get_type
gvalueSet_ :: Ptr GValue -> Maybe Handle -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Handle
P.Nothing = Ptr GValue -> Ptr Handle -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Handle
forall a. Ptr a
FP.nullPtr :: FP.Ptr Handle)
gvalueSet_ Ptr GValue
gv (P.Just Handle
obj) = Handle -> (Ptr Handle -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Handle
obj (Ptr GValue -> Ptr Handle -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Handle)
gvalueGet_ Ptr GValue
gv = do
Ptr Handle
ptr <- Ptr GValue -> IO (Ptr Handle)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Handle)
if Ptr Handle
ptr Ptr Handle -> Ptr Handle -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Handle
forall a. Ptr a
FP.nullPtr
then Handle -> Maybe Handle
forall a. a -> Maybe a
P.Just (Handle -> Maybe Handle) -> IO Handle -> IO (Maybe Handle)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Handle -> Handle) -> Ptr Handle -> IO Handle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Handle -> Handle
Handle Ptr Handle
ptr
else Maybe Handle -> IO (Maybe Handle)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Handle
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveHandleMethod (t :: Symbol) (o :: *) :: * where
ResolveHandleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveHandleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveHandleMethod "close" o = HandleCloseMethodInfo
ResolveHandleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveHandleMethod "free" o = HandleFreeMethodInfo
ResolveHandleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveHandleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveHandleMethod "hasSub" o = HandleHasSubMethodInfo
ResolveHandleMethod "internalSetTesting" o = HandleInternalSetTestingMethodInfo
ResolveHandleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveHandleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveHandleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveHandleMethod "readStreamSync" o = HandleReadStreamSyncMethodInfo
ResolveHandleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveHandleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveHandleMethod "renderCairo" o = HandleRenderCairoMethodInfo
ResolveHandleMethod "renderCairoSub" o = HandleRenderCairoSubMethodInfo
ResolveHandleMethod "renderDocument" o = HandleRenderDocumentMethodInfo
ResolveHandleMethod "renderElement" o = HandleRenderElementMethodInfo
ResolveHandleMethod "renderLayer" o = HandleRenderLayerMethodInfo
ResolveHandleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveHandleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveHandleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveHandleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveHandleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveHandleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveHandleMethod "write" o = HandleWriteMethodInfo
ResolveHandleMethod "getBaseUri" o = HandleGetBaseUriMethodInfo
ResolveHandleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveHandleMethod "getDesc" o = HandleGetDescMethodInfo
ResolveHandleMethod "getDimensions" o = HandleGetDimensionsMethodInfo
ResolveHandleMethod "getDimensionsSub" o = HandleGetDimensionsSubMethodInfo
ResolveHandleMethod "getGeometryForElement" o = HandleGetGeometryForElementMethodInfo
ResolveHandleMethod "getGeometryForLayer" o = HandleGetGeometryForLayerMethodInfo
ResolveHandleMethod "getIntrinsicDimensions" o = HandleGetIntrinsicDimensionsMethodInfo
ResolveHandleMethod "getIntrinsicSizeInPixels" o = HandleGetIntrinsicSizeInPixelsMethodInfo
ResolveHandleMethod "getMetadata" o = HandleGetMetadataMethodInfo
ResolveHandleMethod "getPixbuf" o = HandleGetPixbufMethodInfo
ResolveHandleMethod "getPixbufSub" o = HandleGetPixbufSubMethodInfo
ResolveHandleMethod "getPositionSub" o = HandleGetPositionSubMethodInfo
ResolveHandleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveHandleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveHandleMethod "getTitle" o = HandleGetTitleMethodInfo
ResolveHandleMethod "setBaseGfile" o = HandleSetBaseGfileMethodInfo
ResolveHandleMethod "setBaseUri" o = HandleSetBaseUriMethodInfo
ResolveHandleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveHandleMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveHandleMethod "setDpi" o = HandleSetDpiMethodInfo
ResolveHandleMethod "setDpiXY" o = HandleSetDpiXYMethodInfo
ResolveHandleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveHandleMethod "setSizeCallback" o = HandleSetSizeCallbackMethodInfo
ResolveHandleMethod "setStylesheet" o = HandleSetStylesheetMethodInfo
ResolveHandleMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveHandleMethod t Handle, O.OverloadedMethod info Handle p) => OL.IsLabel t (Handle -> 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 ~ ResolveHandleMethod t Handle, O.OverloadedMethod info Handle p, R.HasField t Handle p) => R.HasField t Handle p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveHandleMethod t Handle, O.OverloadedMethodInfo info Handle) => OL.IsLabel t (O.MethodProxy info Handle) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getHandleBaseUri :: (MonadIO m, IsHandle o) => o -> m T.Text
getHandleBaseUri :: forall (m :: * -> *) o. (MonadIO m, IsHandle o) => o -> m Text
getHandleBaseUri o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getHandleBaseUri" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"base-uri"
setHandleBaseUri :: (MonadIO m, IsHandle o) => o -> T.Text -> m ()
setHandleBaseUri :: forall (m :: * -> *) o.
(MonadIO m, IsHandle o) =>
o -> Text -> m ()
setHandleBaseUri o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"base-uri" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)
constructHandleBaseUri :: (IsHandle o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructHandleBaseUri :: forall o (m :: * -> *).
(IsHandle o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructHandleBaseUri Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"base-uri" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data HandleBaseUriPropertyInfo
instance AttrInfo HandleBaseUriPropertyInfo where
type AttrAllowedOps HandleBaseUriPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint HandleBaseUriPropertyInfo = IsHandle
type AttrSetTypeConstraint HandleBaseUriPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint HandleBaseUriPropertyInfo = (~) T.Text
type AttrTransferType HandleBaseUriPropertyInfo = T.Text
type AttrGetType HandleBaseUriPropertyInfo = T.Text
type AttrLabel HandleBaseUriPropertyInfo = "base-uri"
type AttrOrigin HandleBaseUriPropertyInfo = Handle
attrGet = getHandleBaseUri
attrSet = setHandleBaseUri
attrTransfer _ v = do
return v
attrConstruct = constructHandleBaseUri
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.baseUri"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:baseUri"
})
#endif
getHandleDesc :: (MonadIO m, IsHandle o) => o -> m (Maybe T.Text)
getHandleDesc :: forall (m :: * -> *) o.
(MonadIO m, IsHandle o) =>
o -> m (Maybe Text)
getHandleDesc o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"desc"
#if defined(ENABLE_OVERLOADING)
data HandleDescPropertyInfo
instance AttrInfo HandleDescPropertyInfo where
type AttrAllowedOps HandleDescPropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint HandleDescPropertyInfo = IsHandle
type AttrSetTypeConstraint HandleDescPropertyInfo = (~) ()
type AttrTransferTypeConstraint HandleDescPropertyInfo = (~) ()
type AttrTransferType HandleDescPropertyInfo = ()
type AttrGetType HandleDescPropertyInfo = (Maybe T.Text)
type AttrLabel HandleDescPropertyInfo = "desc"
type AttrOrigin HandleDescPropertyInfo = Handle
attrGet = getHandleDesc
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.desc"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:desc"
})
#endif
getHandleDpiX :: (MonadIO m, IsHandle o) => o -> m Double
getHandleDpiX :: forall (m :: * -> *) o. (MonadIO m, IsHandle o) => o -> m Double
getHandleDpiX o
obj = IO Double -> m Double
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Double -> m Double) -> IO Double -> m Double
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Double
forall a. GObject a => a -> String -> IO Double
B.Properties.getObjectPropertyDouble o
obj String
"dpi-x"
setHandleDpiX :: (MonadIO m, IsHandle o) => o -> Double -> m ()
setHandleDpiX :: forall (m :: * -> *) o.
(MonadIO m, IsHandle o) =>
o -> Double -> m ()
setHandleDpiX o
obj Double
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Double -> IO ()
forall a. GObject a => a -> String -> Double -> IO ()
B.Properties.setObjectPropertyDouble o
obj String
"dpi-x" Double
val
constructHandleDpiX :: (IsHandle o, MIO.MonadIO m) => Double -> m (GValueConstruct o)
constructHandleDpiX :: forall o (m :: * -> *).
(IsHandle o, MonadIO m) =>
Double -> m (GValueConstruct o)
constructHandleDpiX Double
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Double -> IO (GValueConstruct o)
forall o. String -> Double -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyDouble String
"dpi-x" Double
val
#if defined(ENABLE_OVERLOADING)
data HandleDpiXPropertyInfo
instance AttrInfo HandleDpiXPropertyInfo where
type AttrAllowedOps HandleDpiXPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint HandleDpiXPropertyInfo = IsHandle
type AttrSetTypeConstraint HandleDpiXPropertyInfo = (~) Double
type AttrTransferTypeConstraint HandleDpiXPropertyInfo = (~) Double
type AttrTransferType HandleDpiXPropertyInfo = Double
type AttrGetType HandleDpiXPropertyInfo = Double
type AttrLabel HandleDpiXPropertyInfo = "dpi-x"
type AttrOrigin HandleDpiXPropertyInfo = Handle
attrGet = getHandleDpiX
attrSet = setHandleDpiX
attrTransfer _ v = do
return v
attrConstruct = constructHandleDpiX
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.dpiX"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:dpiX"
})
#endif
getHandleDpiY :: (MonadIO m, IsHandle o) => o -> m Double
getHandleDpiY :: forall (m :: * -> *) o. (MonadIO m, IsHandle o) => o -> m Double
getHandleDpiY o
obj = IO Double -> m Double
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Double -> m Double) -> IO Double -> m Double
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Double
forall a. GObject a => a -> String -> IO Double
B.Properties.getObjectPropertyDouble o
obj String
"dpi-y"
setHandleDpiY :: (MonadIO m, IsHandle o) => o -> Double -> m ()
setHandleDpiY :: forall (m :: * -> *) o.
(MonadIO m, IsHandle o) =>
o -> Double -> m ()
setHandleDpiY o
obj Double
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Double -> IO ()
forall a. GObject a => a -> String -> Double -> IO ()
B.Properties.setObjectPropertyDouble o
obj String
"dpi-y" Double
val
constructHandleDpiY :: (IsHandle o, MIO.MonadIO m) => Double -> m (GValueConstruct o)
constructHandleDpiY :: forall o (m :: * -> *).
(IsHandle o, MonadIO m) =>
Double -> m (GValueConstruct o)
constructHandleDpiY Double
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Double -> IO (GValueConstruct o)
forall o. String -> Double -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyDouble String
"dpi-y" Double
val
#if defined(ENABLE_OVERLOADING)
data HandleDpiYPropertyInfo
instance AttrInfo HandleDpiYPropertyInfo where
type AttrAllowedOps HandleDpiYPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint HandleDpiYPropertyInfo = IsHandle
type AttrSetTypeConstraint HandleDpiYPropertyInfo = (~) Double
type AttrTransferTypeConstraint HandleDpiYPropertyInfo = (~) Double
type AttrTransferType HandleDpiYPropertyInfo = Double
type AttrGetType HandleDpiYPropertyInfo = Double
type AttrLabel HandleDpiYPropertyInfo = "dpi-y"
type AttrOrigin HandleDpiYPropertyInfo = Handle
attrGet = getHandleDpiY
attrSet = setHandleDpiY
attrTransfer _ v = do
return v
attrConstruct = constructHandleDpiY
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.dpiY"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:dpiY"
})
#endif
getHandleEm :: (MonadIO m, IsHandle o) => o -> m Double
getHandleEm :: forall (m :: * -> *) o. (MonadIO m, IsHandle o) => o -> m Double
getHandleEm o
obj = IO Double -> m Double
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Double -> m Double) -> IO Double -> m Double
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Double
forall a. GObject a => a -> String -> IO Double
B.Properties.getObjectPropertyDouble o
obj String
"em"
#if defined(ENABLE_OVERLOADING)
data HandleEmPropertyInfo
instance AttrInfo HandleEmPropertyInfo where
type AttrAllowedOps HandleEmPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint HandleEmPropertyInfo = IsHandle
type AttrSetTypeConstraint HandleEmPropertyInfo = (~) ()
type AttrTransferTypeConstraint HandleEmPropertyInfo = (~) ()
type AttrTransferType HandleEmPropertyInfo = ()
type AttrGetType HandleEmPropertyInfo = Double
type AttrLabel HandleEmPropertyInfo = "em"
type AttrOrigin HandleEmPropertyInfo = Handle
attrGet = getHandleEm
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.em"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:em"
})
#endif
getHandleEx :: (MonadIO m, IsHandle o) => o -> m Double
getHandleEx :: forall (m :: * -> *) o. (MonadIO m, IsHandle o) => o -> m Double
getHandleEx o
obj = IO Double -> m Double
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Double -> m Double) -> IO Double -> m Double
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Double
forall a. GObject a => a -> String -> IO Double
B.Properties.getObjectPropertyDouble o
obj String
"ex"
#if defined(ENABLE_OVERLOADING)
data HandleExPropertyInfo
instance AttrInfo HandleExPropertyInfo where
type AttrAllowedOps HandleExPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint HandleExPropertyInfo = IsHandle
type AttrSetTypeConstraint HandleExPropertyInfo = (~) ()
type AttrTransferTypeConstraint HandleExPropertyInfo = (~) ()
type AttrTransferType HandleExPropertyInfo = ()
type AttrGetType HandleExPropertyInfo = Double
type AttrLabel HandleExPropertyInfo = "ex"
type AttrOrigin HandleExPropertyInfo = Handle
attrGet = getHandleEx
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.ex"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:ex"
})
#endif
getHandleFlags :: (MonadIO m, IsHandle o) => o -> m [Rsvg.Flags.HandleFlags]
getHandleFlags :: forall (m :: * -> *) o.
(MonadIO m, IsHandle o) =>
o -> m [HandleFlags]
getHandleFlags o
obj = IO [HandleFlags] -> m [HandleFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [HandleFlags] -> m [HandleFlags])
-> IO [HandleFlags] -> m [HandleFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [HandleFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"flags"
constructHandleFlags :: (IsHandle o, MIO.MonadIO m) => [Rsvg.Flags.HandleFlags] -> m (GValueConstruct o)
constructHandleFlags :: forall o (m :: * -> *).
(IsHandle o, MonadIO m) =>
[HandleFlags] -> m (GValueConstruct o)
constructHandleFlags [HandleFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [HandleFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"flags" [HandleFlags]
val
#if defined(ENABLE_OVERLOADING)
data HandleFlagsPropertyInfo
instance AttrInfo HandleFlagsPropertyInfo where
type AttrAllowedOps HandleFlagsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint HandleFlagsPropertyInfo = IsHandle
type AttrSetTypeConstraint HandleFlagsPropertyInfo = (~) [Rsvg.Flags.HandleFlags]
type AttrTransferTypeConstraint HandleFlagsPropertyInfo = (~) [Rsvg.Flags.HandleFlags]
type AttrTransferType HandleFlagsPropertyInfo = [Rsvg.Flags.HandleFlags]
type AttrGetType HandleFlagsPropertyInfo = [Rsvg.Flags.HandleFlags]
type AttrLabel HandleFlagsPropertyInfo = "flags"
type AttrOrigin HandleFlagsPropertyInfo = Handle
attrGet = getHandleFlags
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructHandleFlags
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.flags"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:flags"
})
#endif
getHandleHeight :: (MonadIO m, IsHandle o) => o -> m Int32
getHandleHeight :: forall (m :: * -> *) o. (MonadIO m, IsHandle o) => o -> m Int32
getHandleHeight o
obj = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Int32
forall a. GObject a => a -> String -> IO Int32
B.Properties.getObjectPropertyInt32 o
obj String
"height"
#if defined(ENABLE_OVERLOADING)
data HandleHeightPropertyInfo
instance AttrInfo HandleHeightPropertyInfo where
type AttrAllowedOps HandleHeightPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint HandleHeightPropertyInfo = IsHandle
type AttrSetTypeConstraint HandleHeightPropertyInfo = (~) ()
type AttrTransferTypeConstraint HandleHeightPropertyInfo = (~) ()
type AttrTransferType HandleHeightPropertyInfo = ()
type AttrGetType HandleHeightPropertyInfo = Int32
type AttrLabel HandleHeightPropertyInfo = "height"
type AttrOrigin HandleHeightPropertyInfo = Handle
attrGet = getHandleHeight
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.height"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:height"
})
#endif
getHandleMetadata :: (MonadIO m, IsHandle o) => o -> m (Maybe T.Text)
getHandleMetadata :: forall (m :: * -> *) o.
(MonadIO m, IsHandle o) =>
o -> m (Maybe Text)
getHandleMetadata o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"metadata"
#if defined(ENABLE_OVERLOADING)
data HandleMetadataPropertyInfo
instance AttrInfo HandleMetadataPropertyInfo where
type AttrAllowedOps HandleMetadataPropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint HandleMetadataPropertyInfo = IsHandle
type AttrSetTypeConstraint HandleMetadataPropertyInfo = (~) ()
type AttrTransferTypeConstraint HandleMetadataPropertyInfo = (~) ()
type AttrTransferType HandleMetadataPropertyInfo = ()
type AttrGetType HandleMetadataPropertyInfo = (Maybe T.Text)
type AttrLabel HandleMetadataPropertyInfo = "metadata"
type AttrOrigin HandleMetadataPropertyInfo = Handle
attrGet = getHandleMetadata
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.metadata"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:metadata"
})
#endif
getHandleTitle :: (MonadIO m, IsHandle o) => o -> m (Maybe T.Text)
getHandleTitle :: forall (m :: * -> *) o.
(MonadIO m, IsHandle o) =>
o -> m (Maybe Text)
getHandleTitle o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"title"
#if defined(ENABLE_OVERLOADING)
data HandleTitlePropertyInfo
instance AttrInfo HandleTitlePropertyInfo where
type AttrAllowedOps HandleTitlePropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint HandleTitlePropertyInfo = IsHandle
type AttrSetTypeConstraint HandleTitlePropertyInfo = (~) ()
type AttrTransferTypeConstraint HandleTitlePropertyInfo = (~) ()
type AttrTransferType HandleTitlePropertyInfo = ()
type AttrGetType HandleTitlePropertyInfo = (Maybe T.Text)
type AttrLabel HandleTitlePropertyInfo = "title"
type AttrOrigin HandleTitlePropertyInfo = Handle
attrGet = getHandleTitle
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.title"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:title"
})
#endif
getHandleWidth :: (MonadIO m, IsHandle o) => o -> m Int32
getHandleWidth :: forall (m :: * -> *) o. (MonadIO m, IsHandle o) => o -> m Int32
getHandleWidth o
obj = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Int32
forall a. GObject a => a -> String -> IO Int32
B.Properties.getObjectPropertyInt32 o
obj String
"width"
#if defined(ENABLE_OVERLOADING)
data HandleWidthPropertyInfo
instance AttrInfo HandleWidthPropertyInfo where
type AttrAllowedOps HandleWidthPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint HandleWidthPropertyInfo = IsHandle
type AttrSetTypeConstraint HandleWidthPropertyInfo = (~) ()
type AttrTransferTypeConstraint HandleWidthPropertyInfo = (~) ()
type AttrTransferType HandleWidthPropertyInfo = ()
type AttrGetType HandleWidthPropertyInfo = Int32
type AttrLabel HandleWidthPropertyInfo = "width"
type AttrOrigin HandleWidthPropertyInfo = Handle
attrGet = getHandleWidth
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.width"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#g:attr:width"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Handle
type instance O.AttributeList Handle = HandleAttributeList
type HandleAttributeList = ('[ '("baseUri", HandleBaseUriPropertyInfo), '("desc", HandleDescPropertyInfo), '("dpiX", HandleDpiXPropertyInfo), '("dpiY", HandleDpiYPropertyInfo), '("em", HandleEmPropertyInfo), '("ex", HandleExPropertyInfo), '("flags", HandleFlagsPropertyInfo), '("height", HandleHeightPropertyInfo), '("metadata", HandleMetadataPropertyInfo), '("title", HandleTitlePropertyInfo), '("width", HandleWidthPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
handleBaseUri :: AttrLabelProxy "baseUri"
handleBaseUri = AttrLabelProxy
handleDesc :: AttrLabelProxy "desc"
handleDesc = AttrLabelProxy
handleDpiX :: AttrLabelProxy "dpiX"
handleDpiX = AttrLabelProxy
handleDpiY :: AttrLabelProxy "dpiY"
handleDpiY = AttrLabelProxy
handleEm :: AttrLabelProxy "em"
handleEm = AttrLabelProxy
handleEx :: AttrLabelProxy "ex"
handleEx = AttrLabelProxy
handleFlags :: AttrLabelProxy "flags"
handleFlags = AttrLabelProxy
handleHeight :: AttrLabelProxy "height"
handleHeight = AttrLabelProxy
handleMetadata :: AttrLabelProxy "metadata"
handleMetadata = AttrLabelProxy
handleTitle :: AttrLabelProxy "title"
handleTitle = AttrLabelProxy
handleWidth :: AttrLabelProxy "width"
handleWidth = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Handle = HandleSignalList
type HandleSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "rsvg_handle_new" rsvg_handle_new ::
IO (Ptr Handle)
handleNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Handle
handleNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Handle
handleNew = IO Handle -> m Handle
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Handle -> m Handle) -> IO Handle -> m Handle
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
result <- IO (Ptr Handle)
rsvg_handle_new
Text -> Ptr Handle -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"handleNew" Ptr Handle
result
Handle
result' <- ((ManagedPtr Handle -> Handle) -> Ptr Handle -> IO Handle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Handle -> Handle
Handle) Ptr Handle
result
Handle -> IO Handle
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Handle
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "rsvg_handle_new_from_data" rsvg_handle_new_from_data ::
Ptr Word8 ->
Word64 ->
Ptr (Ptr GError) ->
IO (Ptr Handle)
handleNewFromData ::
(B.CallStack.HasCallStack, MonadIO m) =>
ByteString
-> m (Maybe Handle)
handleNewFromData :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ByteString -> m (Maybe Handle)
handleNewFromData ByteString
data_ = IO (Maybe Handle) -> m (Maybe Handle)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Handle) -> m (Maybe Handle))
-> IO (Maybe Handle) -> m (Maybe Handle)
forall a b. (a -> b) -> a -> b
$ do
let dataLen :: Word64
dataLen = Int -> Word64
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Word64) -> Int -> Word64
forall a b. (a -> b) -> a -> b
$ ByteString -> Int
B.length ByteString
data_
Ptr Word8
data_' <- ByteString -> IO (Ptr Word8)
packByteString ByteString
data_
IO (Maybe Handle) -> IO () -> IO (Maybe Handle)
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Handle
result <- (Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle))
-> (Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle)
forall a b. (a -> b) -> a -> b
$ Ptr Word8 -> Word64 -> Ptr (Ptr GError) -> IO (Ptr Handle)
rsvg_handle_new_from_data Ptr Word8
data_' Word64
dataLen
Maybe Handle
maybeResult <- Ptr Handle -> (Ptr Handle -> IO Handle) -> IO (Maybe Handle)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Handle
result ((Ptr Handle -> IO Handle) -> IO (Maybe Handle))
-> (Ptr Handle -> IO Handle) -> IO (Maybe Handle)
forall a b. (a -> b) -> a -> b
$ \Ptr Handle
result' -> do
Handle
result'' <- ((ManagedPtr Handle -> Handle) -> Ptr Handle -> IO Handle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Handle -> Handle
Handle) Ptr Handle
result'
Handle -> IO Handle
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Handle
result''
Ptr Word8 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word8
data_'
Maybe Handle -> IO (Maybe Handle)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Handle
maybeResult
) (do
Ptr Word8 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word8
data_'
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "rsvg_handle_new_from_file" rsvg_handle_new_from_file ::
CString ->
Ptr (Ptr GError) ->
IO (Ptr Handle)
handleNewFromFile ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m (Maybe Handle)
handleNewFromFile :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> m (Maybe Handle)
handleNewFromFile Text
filename = IO (Maybe Handle) -> m (Maybe Handle)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Handle) -> m (Maybe Handle))
-> IO (Maybe Handle) -> m (Maybe Handle)
forall a b. (a -> b) -> a -> b
$ do
CString
filename' <- Text -> IO CString
textToCString Text
filename
IO (Maybe Handle) -> IO () -> IO (Maybe Handle)
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Handle
result <- (Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle))
-> (Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle)
forall a b. (a -> b) -> a -> b
$ CString -> Ptr (Ptr GError) -> IO (Ptr Handle)
rsvg_handle_new_from_file CString
filename'
Maybe Handle
maybeResult <- Ptr Handle -> (Ptr Handle -> IO Handle) -> IO (Maybe Handle)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Handle
result ((Ptr Handle -> IO Handle) -> IO (Maybe Handle))
-> (Ptr Handle -> IO Handle) -> IO (Maybe Handle)
forall a b. (a -> b) -> a -> b
$ \Ptr Handle
result' -> do
Handle
result'' <- ((ManagedPtr Handle -> Handle) -> Ptr Handle -> IO Handle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Handle -> Handle
Handle) Ptr Handle
result'
Handle -> IO Handle
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Handle
result''
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
filename'
Maybe Handle -> IO (Maybe Handle)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Handle
maybeResult
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
filename'
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "rsvg_handle_new_from_gfile_sync" rsvg_handle_new_from_gfile_sync ::
Ptr Gio.File.File ->
CUInt ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO (Ptr Handle)
handleNewFromGfileSync ::
(B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a, Gio.Cancellable.IsCancellable b) =>
a
-> [Rsvg.Flags.HandleFlags]
-> Maybe (b)
-> m (Maybe Handle)
handleNewFromGfileSync :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsFile a, IsCancellable b) =>
a -> [HandleFlags] -> Maybe b -> m (Maybe Handle)
handleNewFromGfileSync a
file [HandleFlags]
flags Maybe b
cancellable = IO (Maybe Handle) -> m (Maybe Handle)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Handle) -> m (Maybe Handle))
-> IO (Maybe Handle) -> m (Maybe Handle)
forall a b. (a -> b) -> a -> b
$ do
Ptr File
file' <- a -> IO (Ptr File)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
file
let flags' :: CUInt
flags' = [HandleFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [HandleFlags]
flags
Ptr Cancellable
maybeCancellable <- case Maybe b
cancellable of
Maybe b
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
nullPtr
Just b
jCancellable -> do
Ptr Cancellable
jCancellable' <- b -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jCancellable
Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
jCancellable'
IO (Maybe Handle) -> IO () -> IO (Maybe Handle)
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Handle
result <- (Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle))
-> (Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle)
forall a b. (a -> b) -> a -> b
$ Ptr File
-> CUInt -> Ptr Cancellable -> Ptr (Ptr GError) -> IO (Ptr Handle)
rsvg_handle_new_from_gfile_sync Ptr File
file' CUInt
flags' Ptr Cancellable
maybeCancellable
Maybe Handle
maybeResult <- Ptr Handle -> (Ptr Handle -> IO Handle) -> IO (Maybe Handle)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Handle
result ((Ptr Handle -> IO Handle) -> IO (Maybe Handle))
-> (Ptr Handle -> IO Handle) -> IO (Maybe Handle)
forall a b. (a -> b) -> a -> b
$ \Ptr Handle
result' -> do
Handle
result'' <- ((ManagedPtr Handle -> Handle) -> Ptr Handle -> IO Handle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Handle -> Handle
Handle) Ptr Handle
result'
Handle -> IO Handle
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Handle
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
file
Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
cancellable b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Maybe Handle -> IO (Maybe Handle)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Handle
maybeResult
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "rsvg_handle_new_from_stream_sync" rsvg_handle_new_from_stream_sync ::
Ptr Gio.InputStream.InputStream ->
Ptr Gio.File.File ->
CUInt ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO (Ptr Handle)
handleNewFromStreamSync ::
(B.CallStack.HasCallStack, MonadIO m, Gio.InputStream.IsInputStream a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) =>
a
-> Maybe (b)
-> [Rsvg.Flags.HandleFlags]
-> Maybe (c)
-> m (Maybe Handle)
handleNewFromStreamSync :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsInputStream a, IsFile b,
IsCancellable c) =>
a -> Maybe b -> [HandleFlags] -> Maybe c -> m (Maybe Handle)
handleNewFromStreamSync a
inputStream Maybe b
baseFile [HandleFlags]
flags Maybe c
cancellable = IO (Maybe Handle) -> m (Maybe Handle)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Handle) -> m (Maybe Handle))
-> IO (Maybe Handle) -> m (Maybe Handle)
forall a b. (a -> b) -> a -> b
$ do
Ptr InputStream
inputStream' <- a -> IO (Ptr InputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
inputStream
Ptr File
maybeBaseFile <- case Maybe b
baseFile of
Maybe b
Nothing -> Ptr File -> IO (Ptr File)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr File
forall a. Ptr a
nullPtr
Just b
jBaseFile -> do
Ptr File
jBaseFile' <- b -> IO (Ptr File)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jBaseFile
Ptr File -> IO (Ptr File)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr File
jBaseFile'
let flags' :: CUInt
flags' = [HandleFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [HandleFlags]
flags
Ptr Cancellable
maybeCancellable <- case Maybe c
cancellable of
Maybe c
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
nullPtr
Just c
jCancellable -> do
Ptr Cancellable
jCancellable' <- c -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
jCancellable
Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
jCancellable'
IO (Maybe Handle) -> IO () -> IO (Maybe Handle)
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Handle
result <- (Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle))
-> (Ptr (Ptr GError) -> IO (Ptr Handle)) -> IO (Ptr Handle)
forall a b. (a -> b) -> a -> b
$ Ptr InputStream
-> Ptr File
-> CUInt
-> Ptr Cancellable
-> Ptr (Ptr GError)
-> IO (Ptr Handle)
rsvg_handle_new_from_stream_sync Ptr InputStream
inputStream' Ptr File
maybeBaseFile CUInt
flags' Ptr Cancellable
maybeCancellable
Maybe Handle
maybeResult <- Ptr Handle -> (Ptr Handle -> IO Handle) -> IO (Maybe Handle)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Handle
result ((Ptr Handle -> IO Handle) -> IO (Maybe Handle))
-> (Ptr Handle -> IO Handle) -> IO (Maybe Handle)
forall a b. (a -> b) -> a -> b
$ \Ptr Handle
result' -> do
Handle
result'' <- ((ManagedPtr Handle -> Handle) -> Ptr Handle -> IO Handle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Handle -> Handle
Handle) Ptr Handle
result'
Handle -> IO Handle
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Handle
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
inputStream
Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
baseFile b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Maybe c -> (c -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe c
cancellable c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Maybe Handle -> IO (Maybe Handle)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Handle
maybeResult
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "rsvg_handle_new_with_flags" rsvg_handle_new_with_flags ::
CUInt ->
IO (Ptr Handle)
handleNewWithFlags ::
(B.CallStack.HasCallStack, MonadIO m) =>
[Rsvg.Flags.HandleFlags]
-> m Handle
handleNewWithFlags :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
[HandleFlags] -> m Handle
handleNewWithFlags [HandleFlags]
flags = IO Handle -> m Handle
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Handle -> m Handle) -> IO Handle -> m Handle
forall a b. (a -> b) -> a -> b
$ do
let flags' :: CUInt
flags' = [HandleFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [HandleFlags]
flags
Ptr Handle
result <- CUInt -> IO (Ptr Handle)
rsvg_handle_new_with_flags CUInt
flags'
Text -> Ptr Handle -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"handleNewWithFlags" Ptr Handle
result
Handle
result' <- ((ManagedPtr Handle -> Handle) -> Ptr Handle -> IO Handle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Handle -> Handle
Handle) Ptr Handle
result
Handle -> IO Handle
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Handle
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "rsvg_handle_close" rsvg_handle_close ::
Ptr Handle ->
Ptr (Ptr GError) ->
IO CInt
{-# DEPRECATED handleClose ["(Since version 2.46.)","Use 'GI.Rsvg.Objects.Handle.handleReadStreamSync' or the constructor","functions 'GI.Rsvg.Objects.Handle.handleNewFromGfileSync' or","'GI.Rsvg.Objects.Handle.handleNewFromStreamSync'. See the deprecation notes for","'GI.Rsvg.Objects.Handle.handleWrite' for more information."] #-}
handleClose ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> m ()
handleClose :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> m ()
handleClose a
handle = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Handle -> Ptr (Ptr GError) -> IO CInt
rsvg_handle_close Ptr Handle
handle'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data HandleCloseMethodInfo
instance (signature ~ (m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleCloseMethodInfo a signature where
overloadedMethod = handleClose
instance O.OverloadedMethodInfo HandleCloseMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleClose",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleClose"
})
#endif
foreign import ccall "rsvg_handle_free" rsvg_handle_free ::
Ptr Handle ->
IO ()
{-# DEPRECATED handleFree ["Use 'GI.GObject.Objects.Object.objectUnref' instead."] #-}
handleFree ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> m ()
handleFree :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> m ()
handleFree a
handle = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr Handle -> IO ()
rsvg_handle_free Ptr Handle
handle'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data HandleFreeMethodInfo
instance (signature ~ (m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleFreeMethodInfo a signature where
overloadedMethod = handleFree
instance O.OverloadedMethodInfo HandleFreeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleFree",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleFree"
})
#endif
foreign import ccall "rsvg_handle_get_base_uri" rsvg_handle_get_base_uri ::
Ptr Handle ->
IO CString
handleGetBaseUri ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> m T.Text
handleGetBaseUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> m Text
handleGetBaseUri a
handle = IO Text -> m Text
forall a. IO a -> m a
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 Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
CString
result <- Ptr Handle -> IO CString
rsvg_handle_get_base_uri Ptr Handle
handle'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"handleGetBaseUri" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data HandleGetBaseUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetBaseUriMethodInfo a signature where
overloadedMethod = handleGetBaseUri
instance O.OverloadedMethodInfo HandleGetBaseUriMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetBaseUri",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetBaseUri"
})
#endif
foreign import ccall "rsvg_handle_get_desc" rsvg_handle_get_desc ::
Ptr Handle ->
IO CString
{-# DEPRECATED handleGetDesc ["(Since version 2.36.)","Librsvg does not read the metadata\\/desc\\/title elements;","this function always returns @NULL@."] #-}
handleGetDesc ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> m (Maybe T.Text)
handleGetDesc :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> m (Maybe Text)
handleGetDesc a
handle = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
CString
result <- Ptr Handle -> IO CString
rsvg_handle_get_desc Ptr Handle
handle'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data HandleGetDescMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetDescMethodInfo a signature where
overloadedMethod = handleGetDesc
instance O.OverloadedMethodInfo HandleGetDescMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetDesc",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetDesc"
})
#endif
foreign import ccall "rsvg_handle_get_dimensions" rsvg_handle_get_dimensions ::
Ptr Handle ->
Ptr Rsvg.DimensionData.DimensionData ->
IO ()
{-# DEPRECATED handleGetDimensions ["(Since version 2.52.)","Use 'GI.Rsvg.Objects.Handle.handleGetIntrinsicSizeInPixels' instead. This","function is deprecated because it is not able to return exact fractional dimensions,","only integer pixels."] #-}
handleGetDimensions ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> m (Rsvg.DimensionData.DimensionData)
handleGetDimensions :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> m DimensionData
handleGetDimensions a
handle = IO DimensionData -> m DimensionData
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DimensionData -> m DimensionData)
-> IO DimensionData -> m DimensionData
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr DimensionData
dimensionData <- Int -> IO (Ptr DimensionData)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
24 :: IO (Ptr Rsvg.DimensionData.DimensionData)
Ptr Handle -> Ptr DimensionData -> IO ()
rsvg_handle_get_dimensions Ptr Handle
handle' Ptr DimensionData
dimensionData
DimensionData
dimensionData' <- ((ManagedPtr DimensionData -> DimensionData)
-> Ptr DimensionData -> IO DimensionData
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr DimensionData -> DimensionData
Rsvg.DimensionData.DimensionData) Ptr DimensionData
dimensionData
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
DimensionData -> IO DimensionData
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DimensionData
dimensionData'
#if defined(ENABLE_OVERLOADING)
data HandleGetDimensionsMethodInfo
instance (signature ~ (m (Rsvg.DimensionData.DimensionData)), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetDimensionsMethodInfo a signature where
overloadedMethod = handleGetDimensions
instance O.OverloadedMethodInfo HandleGetDimensionsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetDimensions",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetDimensions"
})
#endif
foreign import ccall "rsvg_handle_get_dimensions_sub" rsvg_handle_get_dimensions_sub ::
Ptr Handle ->
Ptr Rsvg.DimensionData.DimensionData ->
CString ->
IO CInt
{-# DEPRECATED handleGetDimensionsSub ["(Since version 2.46.)","Use 'GI.Rsvg.Objects.Handle.handleGetGeometryForLayer' instead."] #-}
handleGetDimensionsSub ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Maybe (T.Text)
-> m ((Bool, Rsvg.DimensionData.DimensionData))
handleGetDimensionsSub :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Maybe Text -> m (Bool, DimensionData)
handleGetDimensionsSub a
handle Maybe Text
id = IO (Bool, DimensionData) -> m (Bool, DimensionData)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, DimensionData) -> m (Bool, DimensionData))
-> IO (Bool, DimensionData) -> m (Bool, DimensionData)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr DimensionData
dimensionData <- Int -> IO (Ptr DimensionData)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
24 :: IO (Ptr Rsvg.DimensionData.DimensionData)
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
CInt
result <- Ptr Handle -> Ptr DimensionData -> CString -> IO CInt
rsvg_handle_get_dimensions_sub Ptr Handle
handle' Ptr DimensionData
dimensionData CString
maybeId
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
DimensionData
dimensionData' <- ((ManagedPtr DimensionData -> DimensionData)
-> Ptr DimensionData -> IO DimensionData
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr DimensionData -> DimensionData
Rsvg.DimensionData.DimensionData) Ptr DimensionData
dimensionData
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
(Bool, DimensionData) -> IO (Bool, DimensionData)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', DimensionData
dimensionData')
#if defined(ENABLE_OVERLOADING)
data HandleGetDimensionsSubMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ((Bool, Rsvg.DimensionData.DimensionData))), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetDimensionsSubMethodInfo a signature where
overloadedMethod = handleGetDimensionsSub
instance O.OverloadedMethodInfo HandleGetDimensionsSubMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetDimensionsSub",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetDimensionsSub"
})
#endif
foreign import ccall "rsvg_handle_get_geometry_for_element" rsvg_handle_get_geometry_for_element ::
Ptr Handle ->
CString ->
Ptr Rsvg.Rectangle.Rectangle ->
Ptr Rsvg.Rectangle.Rectangle ->
Ptr (Ptr GError) ->
IO CInt
handleGetGeometryForElement ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Maybe (T.Text)
-> m ((Rsvg.Rectangle.Rectangle, Rsvg.Rectangle.Rectangle))
handleGetGeometryForElement :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Maybe Text -> m (Rectangle, Rectangle)
handleGetGeometryForElement a
handle Maybe Text
id = IO (Rectangle, Rectangle) -> m (Rectangle, Rectangle)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Rectangle, Rectangle) -> m (Rectangle, Rectangle))
-> IO (Rectangle, Rectangle) -> m (Rectangle, Rectangle)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
Ptr Rectangle
outInkRect <- Int -> IO (Ptr Rectangle)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
32 :: IO (Ptr Rsvg.Rectangle.Rectangle)
Ptr Rectangle
outLogicalRect <- Int -> IO (Ptr Rectangle)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
32 :: IO (Ptr Rsvg.Rectangle.Rectangle)
IO (Rectangle, Rectangle) -> IO () -> IO (Rectangle, Rectangle)
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Handle
-> CString
-> Ptr Rectangle
-> Ptr Rectangle
-> Ptr (Ptr GError)
-> IO CInt
rsvg_handle_get_geometry_for_element Ptr Handle
handle' CString
maybeId Ptr Rectangle
outInkRect Ptr Rectangle
outLogicalRect
Rectangle
outInkRect' <- ((ManagedPtr Rectangle -> Rectangle)
-> Ptr Rectangle -> IO Rectangle
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr Rectangle -> Rectangle
Rsvg.Rectangle.Rectangle) Ptr Rectangle
outInkRect
Rectangle
outLogicalRect' <- ((ManagedPtr Rectangle -> Rectangle)
-> Ptr Rectangle -> IO Rectangle
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr Rectangle -> Rectangle
Rsvg.Rectangle.Rectangle) Ptr Rectangle
outLogicalRect
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
(Rectangle, Rectangle) -> IO (Rectangle, Rectangle)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Rectangle
outInkRect', Rectangle
outLogicalRect')
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
Ptr Rectangle -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Rectangle
outInkRect
Ptr Rectangle -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Rectangle
outLogicalRect
)
#if defined(ENABLE_OVERLOADING)
data HandleGetGeometryForElementMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ((Rsvg.Rectangle.Rectangle, Rsvg.Rectangle.Rectangle))), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetGeometryForElementMethodInfo a signature where
overloadedMethod = handleGetGeometryForElement
instance O.OverloadedMethodInfo HandleGetGeometryForElementMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetGeometryForElement",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetGeometryForElement"
})
#endif
foreign import ccall "rsvg_handle_get_geometry_for_layer" rsvg_handle_get_geometry_for_layer ::
Ptr Handle ->
CString ->
Ptr Rsvg.Rectangle.Rectangle ->
Ptr Rsvg.Rectangle.Rectangle ->
Ptr Rsvg.Rectangle.Rectangle ->
Ptr (Ptr GError) ->
IO CInt
handleGetGeometryForLayer ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Maybe (T.Text)
-> Rsvg.Rectangle.Rectangle
-> m ((Rsvg.Rectangle.Rectangle, Rsvg.Rectangle.Rectangle))
handleGetGeometryForLayer :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Maybe Text -> Rectangle -> m (Rectangle, Rectangle)
handleGetGeometryForLayer a
handle Maybe Text
id Rectangle
viewport = IO (Rectangle, Rectangle) -> m (Rectangle, Rectangle)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Rectangle, Rectangle) -> m (Rectangle, Rectangle))
-> IO (Rectangle, Rectangle) -> m (Rectangle, Rectangle)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
Ptr Rectangle
viewport' <- Rectangle -> IO (Ptr Rectangle)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Rectangle
viewport
Ptr Rectangle
outInkRect <- Int -> IO (Ptr Rectangle)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
32 :: IO (Ptr Rsvg.Rectangle.Rectangle)
Ptr Rectangle
outLogicalRect <- Int -> IO (Ptr Rectangle)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
32 :: IO (Ptr Rsvg.Rectangle.Rectangle)
IO (Rectangle, Rectangle) -> IO () -> IO (Rectangle, Rectangle)
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Handle
-> CString
-> Ptr Rectangle
-> Ptr Rectangle
-> Ptr Rectangle
-> Ptr (Ptr GError)
-> IO CInt
rsvg_handle_get_geometry_for_layer Ptr Handle
handle' CString
maybeId Ptr Rectangle
viewport' Ptr Rectangle
outInkRect Ptr Rectangle
outLogicalRect
Rectangle
outInkRect' <- ((ManagedPtr Rectangle -> Rectangle)
-> Ptr Rectangle -> IO Rectangle
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr Rectangle -> Rectangle
Rsvg.Rectangle.Rectangle) Ptr Rectangle
outInkRect
Rectangle
outLogicalRect' <- ((ManagedPtr Rectangle -> Rectangle)
-> Ptr Rectangle -> IO Rectangle
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr Rectangle -> Rectangle
Rsvg.Rectangle.Rectangle) Ptr Rectangle
outLogicalRect
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Rectangle -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Rectangle
viewport
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
(Rectangle, Rectangle) -> IO (Rectangle, Rectangle)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Rectangle
outInkRect', Rectangle
outLogicalRect')
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
Ptr Rectangle -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Rectangle
outInkRect
Ptr Rectangle -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Rectangle
outLogicalRect
)
#if defined(ENABLE_OVERLOADING)
data HandleGetGeometryForLayerMethodInfo
instance (signature ~ (Maybe (T.Text) -> Rsvg.Rectangle.Rectangle -> m ((Rsvg.Rectangle.Rectangle, Rsvg.Rectangle.Rectangle))), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetGeometryForLayerMethodInfo a signature where
overloadedMethod = handleGetGeometryForLayer
instance O.OverloadedMethodInfo HandleGetGeometryForLayerMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetGeometryForLayer",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetGeometryForLayer"
})
#endif
foreign import ccall "rsvg_handle_get_intrinsic_dimensions" rsvg_handle_get_intrinsic_dimensions ::
Ptr Handle ->
Ptr CInt ->
Ptr Rsvg.Length.Length ->
Ptr CInt ->
Ptr Rsvg.Length.Length ->
Ptr CInt ->
Ptr Rsvg.Rectangle.Rectangle ->
IO ()
handleGetIntrinsicDimensions ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> m ((Bool, Rsvg.Length.Length, Bool, Rsvg.Length.Length, Bool, Rsvg.Rectangle.Rectangle))
handleGetIntrinsicDimensions :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> m (Bool, Length, Bool, Length, Bool, Rectangle)
handleGetIntrinsicDimensions a
handle = IO (Bool, Length, Bool, Length, Bool, Rectangle)
-> m (Bool, Length, Bool, Length, Bool, Rectangle)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Length, Bool, Length, Bool, Rectangle)
-> m (Bool, Length, Bool, Length, Bool, Rectangle))
-> IO (Bool, Length, Bool, Length, Bool, Rectangle)
-> m (Bool, Length, Bool, Length, Bool, Rectangle)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr CInt
outHasWidth <- IO (Ptr CInt)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CInt)
Ptr Length
outWidth <- Int -> IO (Ptr Length)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
16 :: IO (Ptr Rsvg.Length.Length)
Ptr CInt
outHasHeight <- IO (Ptr CInt)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CInt)
Ptr Length
outHeight <- Int -> IO (Ptr Length)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
16 :: IO (Ptr Rsvg.Length.Length)
Ptr CInt
outHasViewbox <- IO (Ptr CInt)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CInt)
Ptr Rectangle
outViewbox <- Int -> IO (Ptr Rectangle)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
32 :: IO (Ptr Rsvg.Rectangle.Rectangle)
Ptr Handle
-> Ptr CInt
-> Ptr Length
-> Ptr CInt
-> Ptr Length
-> Ptr CInt
-> Ptr Rectangle
-> IO ()
rsvg_handle_get_intrinsic_dimensions Ptr Handle
handle' Ptr CInt
outHasWidth Ptr Length
outWidth Ptr CInt
outHasHeight Ptr Length
outHeight Ptr CInt
outHasViewbox Ptr Rectangle
outViewbox
CInt
outHasWidth' <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
outHasWidth
let outHasWidth'' :: Bool
outHasWidth'' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
outHasWidth'
Length
outWidth' <- ((ManagedPtr Length -> Length) -> Ptr Length -> IO Length
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr Length -> Length
Rsvg.Length.Length) Ptr Length
outWidth
CInt
outHasHeight' <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
outHasHeight
let outHasHeight'' :: Bool
outHasHeight'' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
outHasHeight'
Length
outHeight' <- ((ManagedPtr Length -> Length) -> Ptr Length -> IO Length
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr Length -> Length
Rsvg.Length.Length) Ptr Length
outHeight
CInt
outHasViewbox' <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
outHasViewbox
let outHasViewbox'' :: Bool
outHasViewbox'' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
outHasViewbox'
Rectangle
outViewbox' <- ((ManagedPtr Rectangle -> Rectangle)
-> Ptr Rectangle -> IO Rectangle
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr Rectangle -> Rectangle
Rsvg.Rectangle.Rectangle) Ptr Rectangle
outViewbox
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Ptr CInt -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CInt
outHasWidth
Ptr CInt -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CInt
outHasHeight
Ptr CInt -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CInt
outHasViewbox
(Bool, Length, Bool, Length, Bool, Rectangle)
-> IO (Bool, Length, Bool, Length, Bool, Rectangle)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
outHasWidth'', Length
outWidth', Bool
outHasHeight'', Length
outHeight', Bool
outHasViewbox'', Rectangle
outViewbox')
#if defined(ENABLE_OVERLOADING)
data HandleGetIntrinsicDimensionsMethodInfo
instance (signature ~ (m ((Bool, Rsvg.Length.Length, Bool, Rsvg.Length.Length, Bool, Rsvg.Rectangle.Rectangle))), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetIntrinsicDimensionsMethodInfo a signature where
overloadedMethod = handleGetIntrinsicDimensions
instance O.OverloadedMethodInfo HandleGetIntrinsicDimensionsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetIntrinsicDimensions",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetIntrinsicDimensions"
})
#endif
foreign import ccall "rsvg_handle_get_intrinsic_size_in_pixels" rsvg_handle_get_intrinsic_size_in_pixels ::
Ptr Handle ->
Ptr CDouble ->
Ptr CDouble ->
IO CInt
handleGetIntrinsicSizeInPixels ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> m ((Bool, Double, Double))
handleGetIntrinsicSizeInPixels :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> m (Bool, Double, Double)
handleGetIntrinsicSizeInPixels a
handle = IO (Bool, Double, Double) -> m (Bool, Double, Double)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Double, Double) -> m (Bool, Double, Double))
-> IO (Bool, Double, Double) -> m (Bool, Double, Double)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr CDouble
outWidth <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
Ptr CDouble
outHeight <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
CInt
result <- Ptr Handle -> Ptr CDouble -> Ptr CDouble -> IO CInt
rsvg_handle_get_intrinsic_size_in_pixels Ptr Handle
handle' Ptr CDouble
outWidth Ptr CDouble
outHeight
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CDouble
outWidth' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
outWidth
let outWidth'' :: Double
outWidth'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
outWidth'
CDouble
outHeight' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
outHeight
let outHeight'' :: Double
outHeight'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
outHeight'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
outWidth
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
outHeight
(Bool, Double, Double) -> IO (Bool, Double, Double)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Double
outWidth'', Double
outHeight'')
#if defined(ENABLE_OVERLOADING)
data HandleGetIntrinsicSizeInPixelsMethodInfo
instance (signature ~ (m ((Bool, Double, Double))), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetIntrinsicSizeInPixelsMethodInfo a signature where
overloadedMethod = handleGetIntrinsicSizeInPixels
instance O.OverloadedMethodInfo HandleGetIntrinsicSizeInPixelsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetIntrinsicSizeInPixels",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetIntrinsicSizeInPixels"
})
#endif
foreign import ccall "rsvg_handle_get_metadata" rsvg_handle_get_metadata ::
Ptr Handle ->
IO CString
{-# DEPRECATED handleGetMetadata ["(Since version 2.36.)","Librsvg does not read the metadata\\/desc\\/title elements;","this function always returns @NULL@."] #-}
handleGetMetadata ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> m (Maybe T.Text)
handleGetMetadata :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> m (Maybe Text)
handleGetMetadata a
handle = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
CString
result <- Ptr Handle -> IO CString
rsvg_handle_get_metadata Ptr Handle
handle'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data HandleGetMetadataMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetMetadataMethodInfo a signature where
overloadedMethod = handleGetMetadata
instance O.OverloadedMethodInfo HandleGetMetadataMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetMetadata",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetMetadata"
})
#endif
foreign import ccall "rsvg_handle_get_pixbuf" rsvg_handle_get_pixbuf ::
Ptr Handle ->
IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
handleGetPixbuf ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
handleGetPixbuf :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> m (Maybe Pixbuf)
handleGetPixbuf a
handle = IO (Maybe Pixbuf) -> m (Maybe Pixbuf)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Pixbuf) -> m (Maybe Pixbuf))
-> IO (Maybe Pixbuf) -> m (Maybe Pixbuf)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr Pixbuf
result <- Ptr Handle -> IO (Ptr Pixbuf)
rsvg_handle_get_pixbuf Ptr Handle
handle'
Maybe Pixbuf
maybeResult <- Ptr Pixbuf -> (Ptr Pixbuf -> IO Pixbuf) -> IO (Maybe Pixbuf)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Pixbuf
result ((Ptr Pixbuf -> IO Pixbuf) -> IO (Maybe Pixbuf))
-> (Ptr Pixbuf -> IO Pixbuf) -> IO (Maybe Pixbuf)
forall a b. (a -> b) -> a -> b
$ \Ptr Pixbuf
result' -> do
Pixbuf
result'' <- ((ManagedPtr Pixbuf -> Pixbuf) -> Ptr Pixbuf -> IO Pixbuf
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Pixbuf -> Pixbuf
GdkPixbuf.Pixbuf.Pixbuf) Ptr Pixbuf
result'
Pixbuf -> IO Pixbuf
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Pixbuf
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Maybe Pixbuf -> IO (Maybe Pixbuf)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Pixbuf
maybeResult
#if defined(ENABLE_OVERLOADING)
data HandleGetPixbufMethodInfo
instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetPixbufMethodInfo a signature where
overloadedMethod = handleGetPixbuf
instance O.OverloadedMethodInfo HandleGetPixbufMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetPixbuf",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetPixbuf"
})
#endif
foreign import ccall "rsvg_handle_get_pixbuf_sub" rsvg_handle_get_pixbuf_sub ::
Ptr Handle ->
CString ->
IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
handleGetPixbufSub ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Maybe (T.Text)
-> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
handleGetPixbufSub :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Maybe Text -> m (Maybe Pixbuf)
handleGetPixbufSub a
handle Maybe Text
id = IO (Maybe Pixbuf) -> m (Maybe Pixbuf)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Pixbuf) -> m (Maybe Pixbuf))
-> IO (Maybe Pixbuf) -> m (Maybe Pixbuf)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
Ptr Pixbuf
result <- Ptr Handle -> CString -> IO (Ptr Pixbuf)
rsvg_handle_get_pixbuf_sub Ptr Handle
handle' CString
maybeId
Maybe Pixbuf
maybeResult <- Ptr Pixbuf -> (Ptr Pixbuf -> IO Pixbuf) -> IO (Maybe Pixbuf)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Pixbuf
result ((Ptr Pixbuf -> IO Pixbuf) -> IO (Maybe Pixbuf))
-> (Ptr Pixbuf -> IO Pixbuf) -> IO (Maybe Pixbuf)
forall a b. (a -> b) -> a -> b
$ \Ptr Pixbuf
result' -> do
Pixbuf
result'' <- ((ManagedPtr Pixbuf -> Pixbuf) -> Ptr Pixbuf -> IO Pixbuf
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Pixbuf -> Pixbuf
GdkPixbuf.Pixbuf.Pixbuf) Ptr Pixbuf
result'
Pixbuf -> IO Pixbuf
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Pixbuf
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
Maybe Pixbuf -> IO (Maybe Pixbuf)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Pixbuf
maybeResult
#if defined(ENABLE_OVERLOADING)
data HandleGetPixbufSubMethodInfo
instance (signature ~ (Maybe (T.Text) -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetPixbufSubMethodInfo a signature where
overloadedMethod = handleGetPixbufSub
instance O.OverloadedMethodInfo HandleGetPixbufSubMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetPixbufSub",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetPixbufSub"
})
#endif
foreign import ccall "rsvg_handle_get_position_sub" rsvg_handle_get_position_sub ::
Ptr Handle ->
Ptr Rsvg.PositionData.PositionData ->
CString ->
IO CInt
{-# DEPRECATED handleGetPositionSub ["(Since version 2.46.)","Use 'GI.Rsvg.Objects.Handle.handleGetGeometryForLayer' instead. This function is","deprecated since it is not able to return exact floating-point positions, only integer","pixels."] #-}
handleGetPositionSub ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Maybe (T.Text)
-> m ((Bool, Rsvg.PositionData.PositionData))
handleGetPositionSub :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Maybe Text -> m (Bool, PositionData)
handleGetPositionSub a
handle Maybe Text
id = IO (Bool, PositionData) -> m (Bool, PositionData)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, PositionData) -> m (Bool, PositionData))
-> IO (Bool, PositionData) -> m (Bool, PositionData)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr PositionData
positionData <- Int -> IO (Ptr PositionData)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
8 :: IO (Ptr Rsvg.PositionData.PositionData)
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
CInt
result <- Ptr Handle -> Ptr PositionData -> CString -> IO CInt
rsvg_handle_get_position_sub Ptr Handle
handle' Ptr PositionData
positionData CString
maybeId
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
PositionData
positionData' <- ((ManagedPtr PositionData -> PositionData)
-> Ptr PositionData -> IO PositionData
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr PositionData -> PositionData
Rsvg.PositionData.PositionData) Ptr PositionData
positionData
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
(Bool, PositionData) -> IO (Bool, PositionData)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', PositionData
positionData')
#if defined(ENABLE_OVERLOADING)
data HandleGetPositionSubMethodInfo
instance (signature ~ (Maybe (T.Text) -> m ((Bool, Rsvg.PositionData.PositionData))), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetPositionSubMethodInfo a signature where
overloadedMethod = handleGetPositionSub
instance O.OverloadedMethodInfo HandleGetPositionSubMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetPositionSub",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetPositionSub"
})
#endif
foreign import ccall "rsvg_handle_get_title" rsvg_handle_get_title ::
Ptr Handle ->
IO CString
{-# DEPRECATED handleGetTitle ["(Since version 2.36.)","Librsvg does not read the metadata\\/desc\\/title elements;","this function always returns @NULL@."] #-}
handleGetTitle ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> m (Maybe T.Text)
handleGetTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> m (Maybe Text)
handleGetTitle a
handle = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
CString
result <- Ptr Handle -> IO CString
rsvg_handle_get_title Ptr Handle
handle'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data HandleGetTitleMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHandle a) => O.OverloadedMethod HandleGetTitleMethodInfo a signature where
overloadedMethod = handleGetTitle
instance O.OverloadedMethodInfo HandleGetTitleMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleGetTitle",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleGetTitle"
})
#endif
foreign import ccall "rsvg_handle_has_sub" rsvg_handle_has_sub ::
Ptr Handle ->
CString ->
IO CInt
handleHasSub ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> T.Text
-> m Bool
handleHasSub :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Text -> m Bool
handleHasSub a
handle Text
id = IO Bool -> m Bool
forall a. IO a -> m a
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 Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
CString
id' <- Text -> IO CString
textToCString Text
id
CInt
result <- Ptr Handle -> CString -> IO CInt
rsvg_handle_has_sub Ptr Handle
handle' CString
id'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
id'
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data HandleHasSubMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsHandle a) => O.OverloadedMethod HandleHasSubMethodInfo a signature where
overloadedMethod = handleHasSub
instance O.OverloadedMethodInfo HandleHasSubMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleHasSub",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleHasSub"
})
#endif
foreign import ccall "rsvg_handle_internal_set_testing" rsvg_handle_internal_set_testing ::
Ptr Handle ->
CInt ->
IO ()
handleInternalSetTesting ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Bool
-> m ()
handleInternalSetTesting :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Bool -> m ()
handleInternalSetTesting a
handle Bool
testing = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
let testing' :: CInt
testing' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
testing
Ptr Handle -> CInt -> IO ()
rsvg_handle_internal_set_testing Ptr Handle
handle' CInt
testing'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data HandleInternalSetTestingMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleInternalSetTestingMethodInfo a signature where
overloadedMethod = handleInternalSetTesting
instance O.OverloadedMethodInfo HandleInternalSetTestingMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleInternalSetTesting",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleInternalSetTesting"
})
#endif
foreign import ccall "rsvg_handle_read_stream_sync" rsvg_handle_read_stream_sync ::
Ptr Handle ->
Ptr Gio.InputStream.InputStream ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO CInt
handleReadStreamSync ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) =>
a
-> b
-> Maybe (c)
-> m ()
handleReadStreamSync :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsHandle a, IsInputStream b,
IsCancellable c) =>
a -> b -> Maybe c -> m ()
handleReadStreamSync a
handle b
stream Maybe c
cancellable = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr InputStream
stream' <- b -> IO (Ptr InputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
stream
Ptr Cancellable
maybeCancellable <- case Maybe c
cancellable of
Maybe c
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
nullPtr
Just c
jCancellable -> do
Ptr Cancellable
jCancellable' <- c -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
jCancellable
Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
jCancellable'
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Handle
-> Ptr InputStream
-> Ptr Cancellable
-> Ptr (Ptr GError)
-> IO CInt
rsvg_handle_read_stream_sync Ptr Handle
handle' Ptr InputStream
stream' Ptr Cancellable
maybeCancellable
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
stream
Maybe c -> (c -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe c
cancellable c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data HandleReadStreamSyncMethodInfo
instance (signature ~ (b -> Maybe (c) -> m ()), MonadIO m, IsHandle a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) => O.OverloadedMethod HandleReadStreamSyncMethodInfo a signature where
overloadedMethod = handleReadStreamSync
instance O.OverloadedMethodInfo HandleReadStreamSyncMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleReadStreamSync",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleReadStreamSync"
})
#endif
foreign import ccall "rsvg_handle_render_cairo" rsvg_handle_render_cairo ::
Ptr Handle ->
Ptr Cairo.Context.Context ->
IO CInt
{-# DEPRECATED handleRenderCairo ["(Since version 2.52.)","Please use 'GI.Rsvg.Objects.Handle.handleRenderDocument' instead; that function lets","you pass a viewport and obtain a good error message."] #-}
handleRenderCairo ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Cairo.Context.Context
-> m Bool
handleRenderCairo :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Context -> m Bool
handleRenderCairo a
handle Context
cr = IO Bool -> m Bool
forall a. IO a -> m a
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 Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr Context
cr' <- Context -> IO (Ptr Context)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Context
cr
CInt
result <- Ptr Handle -> Ptr Context -> IO CInt
rsvg_handle_render_cairo Ptr Handle
handle' Ptr Context
cr'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Context -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Context
cr
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data HandleRenderCairoMethodInfo
instance (signature ~ (Cairo.Context.Context -> m Bool), MonadIO m, IsHandle a) => O.OverloadedMethod HandleRenderCairoMethodInfo a signature where
overloadedMethod = handleRenderCairo
instance O.OverloadedMethodInfo HandleRenderCairoMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleRenderCairo",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleRenderCairo"
})
#endif
foreign import ccall "rsvg_handle_render_cairo_sub" rsvg_handle_render_cairo_sub ::
Ptr Handle ->
Ptr Cairo.Context.Context ->
CString ->
IO CInt
{-# DEPRECATED handleRenderCairoSub ["(Since version 2.52.)","Please use 'GI.Rsvg.Objects.Handle.handleRenderLayer' instead; that function lets","you pass a viewport and obtain a good error message."] #-}
handleRenderCairoSub ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Cairo.Context.Context
-> Maybe (T.Text)
-> m Bool
handleRenderCairoSub :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Context -> Maybe Text -> m Bool
handleRenderCairoSub a
handle Context
cr Maybe Text
id = IO Bool -> m Bool
forall a. IO a -> m a
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 Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr Context
cr' <- Context -> IO (Ptr Context)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Context
cr
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
CInt
result <- Ptr Handle -> Ptr Context -> CString -> IO CInt
rsvg_handle_render_cairo_sub Ptr Handle
handle' Ptr Context
cr' CString
maybeId
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Context -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Context
cr
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data HandleRenderCairoSubMethodInfo
instance (signature ~ (Cairo.Context.Context -> Maybe (T.Text) -> m Bool), MonadIO m, IsHandle a) => O.OverloadedMethod HandleRenderCairoSubMethodInfo a signature where
overloadedMethod = handleRenderCairoSub
instance O.OverloadedMethodInfo HandleRenderCairoSubMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleRenderCairoSub",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleRenderCairoSub"
})
#endif
foreign import ccall "rsvg_handle_render_document" rsvg_handle_render_document ::
Ptr Handle ->
Ptr Cairo.Context.Context ->
Ptr Rsvg.Rectangle.Rectangle ->
Ptr (Ptr GError) ->
IO CInt
handleRenderDocument ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Cairo.Context.Context
-> Rsvg.Rectangle.Rectangle
-> m ()
handleRenderDocument :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Context -> Rectangle -> m ()
handleRenderDocument a
handle Context
cr Rectangle
viewport = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr Context
cr' <- Context -> IO (Ptr Context)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Context
cr
Ptr Rectangle
viewport' <- Rectangle -> IO (Ptr Rectangle)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Rectangle
viewport
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Handle
-> Ptr Context -> Ptr Rectangle -> Ptr (Ptr GError) -> IO CInt
rsvg_handle_render_document Ptr Handle
handle' Ptr Context
cr' Ptr Rectangle
viewport'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Context -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Context
cr
Rectangle -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Rectangle
viewport
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data HandleRenderDocumentMethodInfo
instance (signature ~ (Cairo.Context.Context -> Rsvg.Rectangle.Rectangle -> m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleRenderDocumentMethodInfo a signature where
overloadedMethod = handleRenderDocument
instance O.OverloadedMethodInfo HandleRenderDocumentMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleRenderDocument",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleRenderDocument"
})
#endif
foreign import ccall "rsvg_handle_render_element" rsvg_handle_render_element ::
Ptr Handle ->
Ptr Cairo.Context.Context ->
CString ->
Ptr Rsvg.Rectangle.Rectangle ->
Ptr (Ptr GError) ->
IO CInt
handleRenderElement ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Cairo.Context.Context
-> Maybe (T.Text)
-> Rsvg.Rectangle.Rectangle
-> m ()
handleRenderElement :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Context -> Maybe Text -> Rectangle -> m ()
handleRenderElement a
handle Context
cr Maybe Text
id Rectangle
elementViewport = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr Context
cr' <- Context -> IO (Ptr Context)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Context
cr
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
Ptr Rectangle
elementViewport' <- Rectangle -> IO (Ptr Rectangle)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Rectangle
elementViewport
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Handle
-> Ptr Context
-> CString
-> Ptr Rectangle
-> Ptr (Ptr GError)
-> IO CInt
rsvg_handle_render_element Ptr Handle
handle' Ptr Context
cr' CString
maybeId Ptr Rectangle
elementViewport'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Context -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Context
cr
Rectangle -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Rectangle
elementViewport
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
)
#if defined(ENABLE_OVERLOADING)
data HandleRenderElementMethodInfo
instance (signature ~ (Cairo.Context.Context -> Maybe (T.Text) -> Rsvg.Rectangle.Rectangle -> m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleRenderElementMethodInfo a signature where
overloadedMethod = handleRenderElement
instance O.OverloadedMethodInfo HandleRenderElementMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleRenderElement",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleRenderElement"
})
#endif
foreign import ccall "rsvg_handle_render_layer" rsvg_handle_render_layer ::
Ptr Handle ->
Ptr Cairo.Context.Context ->
CString ->
Ptr Rsvg.Rectangle.Rectangle ->
Ptr (Ptr GError) ->
IO CInt
handleRenderLayer ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Cairo.Context.Context
-> Maybe (T.Text)
-> Rsvg.Rectangle.Rectangle
-> m ()
handleRenderLayer :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Context -> Maybe Text -> Rectangle -> m ()
handleRenderLayer a
handle Context
cr Maybe Text
id Rectangle
viewport = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr Context
cr' <- Context -> IO (Ptr Context)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Context
cr
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
Ptr Rectangle
viewport' <- Rectangle -> IO (Ptr Rectangle)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Rectangle
viewport
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Handle
-> Ptr Context
-> CString
-> Ptr Rectangle
-> Ptr (Ptr GError)
-> IO CInt
rsvg_handle_render_layer Ptr Handle
handle' Ptr Context
cr' CString
maybeId Ptr Rectangle
viewport'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Context -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Context
cr
Rectangle -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Rectangle
viewport
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
)
#if defined(ENABLE_OVERLOADING)
data HandleRenderLayerMethodInfo
instance (signature ~ (Cairo.Context.Context -> Maybe (T.Text) -> Rsvg.Rectangle.Rectangle -> m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleRenderLayerMethodInfo a signature where
overloadedMethod = handleRenderLayer
instance O.OverloadedMethodInfo HandleRenderLayerMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleRenderLayer",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleRenderLayer"
})
#endif
foreign import ccall "rsvg_handle_set_base_gfile" rsvg_handle_set_base_gfile ::
Ptr Handle ->
Ptr Gio.File.File ->
IO ()
handleSetBaseGfile ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a, Gio.File.IsFile b) =>
a
-> b
-> m ()
handleSetBaseGfile :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsHandle a, IsFile b) =>
a -> b -> m ()
handleSetBaseGfile a
handle b
baseFile = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr File
baseFile' <- b -> IO (Ptr File)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
baseFile
Ptr Handle -> Ptr File -> IO ()
rsvg_handle_set_base_gfile Ptr Handle
handle' Ptr File
baseFile'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
baseFile
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data HandleSetBaseGfileMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsHandle a, Gio.File.IsFile b) => O.OverloadedMethod HandleSetBaseGfileMethodInfo a signature where
overloadedMethod = handleSetBaseGfile
instance O.OverloadedMethodInfo HandleSetBaseGfileMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleSetBaseGfile",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleSetBaseGfile"
})
#endif
foreign import ccall "rsvg_handle_set_base_uri" rsvg_handle_set_base_uri ::
Ptr Handle ->
CString ->
IO ()
handleSetBaseUri ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> T.Text
-> m ()
handleSetBaseUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Text -> m ()
handleSetBaseUri a
handle Text
baseUri = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
CString
baseUri' <- Text -> IO CString
textToCString Text
baseUri
Ptr Handle -> CString -> IO ()
rsvg_handle_set_base_uri Ptr Handle
handle' CString
baseUri'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
baseUri'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data HandleSetBaseUriMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleSetBaseUriMethodInfo a signature where
overloadedMethod = handleSetBaseUri
instance O.OverloadedMethodInfo HandleSetBaseUriMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleSetBaseUri",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleSetBaseUri"
})
#endif
foreign import ccall "rsvg_handle_set_dpi" rsvg_handle_set_dpi ::
Ptr Handle ->
CDouble ->
IO ()
handleSetDpi ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Double
-> m ()
handleSetDpi :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Double -> m ()
handleSetDpi a
handle Double
dpi = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
let dpi' :: CDouble
dpi' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
dpi
Ptr Handle -> CDouble -> IO ()
rsvg_handle_set_dpi Ptr Handle
handle' CDouble
dpi'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data HandleSetDpiMethodInfo
instance (signature ~ (Double -> m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleSetDpiMethodInfo a signature where
overloadedMethod = handleSetDpi
instance O.OverloadedMethodInfo HandleSetDpiMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleSetDpi",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleSetDpi"
})
#endif
foreign import ccall "rsvg_handle_set_dpi_x_y" rsvg_handle_set_dpi_x_y ::
Ptr Handle ->
CDouble ->
CDouble ->
IO ()
handleSetDpiXY ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Double
-> Double
-> m ()
handleSetDpiXY :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Double -> Double -> m ()
handleSetDpiXY a
handle Double
dpiX Double
dpiY = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
let dpiX' :: CDouble
dpiX' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
dpiX
let dpiY' :: CDouble
dpiY' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
dpiY
Ptr Handle -> CDouble -> CDouble -> IO ()
rsvg_handle_set_dpi_x_y Ptr Handle
handle' CDouble
dpiX' CDouble
dpiY'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data HandleSetDpiXYMethodInfo
instance (signature ~ (Double -> Double -> m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleSetDpiXYMethodInfo a signature where
overloadedMethod = handleSetDpiXY
instance O.OverloadedMethodInfo HandleSetDpiXYMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleSetDpiXY",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleSetDpiXY"
})
#endif
foreign import ccall "rsvg_handle_set_size_callback" rsvg_handle_set_size_callback ::
Ptr Handle ->
FunPtr Rsvg.Callbacks.C_SizeFunc ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
{-# DEPRECATED handleSetSizeCallback ["(Since version 2.14.)","Use 'GI.Rsvg.Objects.Handle.handleRenderDocument' instead.","This function was deprecated because when the /@sizeFunc@/ is used, it makes it","unclear when the librsvg functions which call the /@sizeFunc@/ will use the","size computed originally, or the callback-specified size, or whether it","refers to the whole SVG or to just a sub-element of it. It is easier, and","unambiguous, to use code similar to the example above."] #-}
handleSetSizeCallback ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> Maybe (Rsvg.Callbacks.SizeFunc)
-> m ()
handleSetSizeCallback :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> Maybe SizeFunc -> m ()
handleSetSizeCallback a
handle Maybe SizeFunc
sizeFunc = 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
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
FunPtr C_SizeFunc
maybeSizeFunc <- case Maybe SizeFunc
sizeFunc of
Maybe SizeFunc
Nothing -> FunPtr C_SizeFunc -> IO (FunPtr C_SizeFunc)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Ptr Any -> FunPtr C_SizeFunc
forall a b. Ptr a -> FunPtr b
castPtrToFunPtr Ptr Any
forall a. Ptr a
nullPtr)
Just SizeFunc
jSizeFunc -> do
FunPtr C_SizeFunc
jSizeFunc' <- C_SizeFunc -> IO (FunPtr C_SizeFunc)
Rsvg.Callbacks.mk_SizeFunc (Maybe (Ptr (FunPtr C_SizeFunc))
-> SizeFunc_WithClosures -> C_SizeFunc
Rsvg.Callbacks.wrap_SizeFunc Maybe (Ptr (FunPtr C_SizeFunc))
forall a. Maybe a
Nothing (SizeFunc -> SizeFunc_WithClosures
Rsvg.Callbacks.drop_closures_SizeFunc SizeFunc
jSizeFunc))
FunPtr C_SizeFunc -> IO (FunPtr C_SizeFunc)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_SizeFunc
jSizeFunc'
let userData :: Ptr ()
userData = FunPtr C_SizeFunc -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_SizeFunc
maybeSizeFunc
let userDataDestroy :: FunPtr (Ptr a -> IO ())
userDataDestroy = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
Ptr Handle
-> FunPtr C_SizeFunc -> Ptr () -> FunPtr C_DestroyNotify -> IO ()
rsvg_handle_set_size_callback Ptr Handle
handle' FunPtr C_SizeFunc
maybeSizeFunc Ptr ()
userData FunPtr C_DestroyNotify
forall a. FunPtr (Ptr a -> IO ())
userDataDestroy
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data HandleSetSizeCallbackMethodInfo
instance (signature ~ (Maybe (Rsvg.Callbacks.SizeFunc) -> m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleSetSizeCallbackMethodInfo a signature where
overloadedMethod = handleSetSizeCallback
instance O.OverloadedMethodInfo HandleSetSizeCallbackMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleSetSizeCallback",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleSetSizeCallback"
})
#endif
foreign import ccall "rsvg_handle_set_stylesheet" rsvg_handle_set_stylesheet ::
Ptr Handle ->
Ptr Word8 ->
Word64 ->
Ptr (Ptr GError) ->
IO CInt
handleSetStylesheet ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> ByteString
-> m ()
handleSetStylesheet :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> ByteString -> m ()
handleSetStylesheet a
handle ByteString
css = 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
let cssLen :: Word64
cssLen = Int -> Word64
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Word64) -> Int -> Word64
forall a b. (a -> b) -> a -> b
$ ByteString -> Int
B.length ByteString
css
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr Word8
css' <- ByteString -> IO (Ptr Word8)
packByteString ByteString
css
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Handle -> Ptr Word8 -> Word64 -> Ptr (Ptr GError) -> IO CInt
rsvg_handle_set_stylesheet Ptr Handle
handle' Ptr Word8
css' Word64
cssLen
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Ptr Word8 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word8
css'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
Ptr Word8 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word8
css'
)
#if defined(ENABLE_OVERLOADING)
data HandleSetStylesheetMethodInfo
instance (signature ~ (ByteString -> m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleSetStylesheetMethodInfo a signature where
overloadedMethod = handleSetStylesheet
instance O.OverloadedMethodInfo HandleSetStylesheetMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleSetStylesheet",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleSetStylesheet"
})
#endif
foreign import ccall "rsvg_handle_write" rsvg_handle_write ::
Ptr Handle ->
Ptr Word8 ->
Word64 ->
Ptr (Ptr GError) ->
IO CInt
{-# DEPRECATED handleWrite ["(Since version 2.46.)","Use 'GI.Rsvg.Objects.Handle.handleReadStreamSync' or the constructor","functions 'GI.Rsvg.Objects.Handle.handleNewFromGfileSync' or","'GI.Rsvg.Objects.Handle.handleNewFromStreamSync'. This function is deprecated because it","will accumulate data from the /@buf@/ in memory until 'GI.Rsvg.Objects.Handle.handleClose' gets","called. To avoid a big temporary buffer, use the suggested functions, which","take a @GFile@ or a @GInputStream@ and do not require a temporary buffer."] #-}
handleWrite ::
(B.CallStack.HasCallStack, MonadIO m, IsHandle a) =>
a
-> ByteString
-> m ()
handleWrite :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHandle a) =>
a -> ByteString -> m ()
handleWrite a
handle ByteString
buf = 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
let count :: Word64
count = Int -> Word64
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Word64) -> Int -> Word64
forall a b. (a -> b) -> a -> b
$ ByteString -> Int
B.length ByteString
buf
Ptr Handle
handle' <- a -> IO (Ptr Handle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
handle
Ptr Word8
buf' <- ByteString -> IO (Ptr Word8)
packByteString ByteString
buf
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Handle -> Ptr Word8 -> Word64 -> Ptr (Ptr GError) -> IO CInt
rsvg_handle_write Ptr Handle
handle' Ptr Word8
buf' Word64
count
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
handle
Ptr Word8 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word8
buf'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
Ptr Word8 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word8
buf'
)
#if defined(ENABLE_OVERLOADING)
data HandleWriteMethodInfo
instance (signature ~ (ByteString -> m ()), MonadIO m, IsHandle a) => O.OverloadedMethod HandleWriteMethodInfo a signature where
overloadedMethod = handleWrite
instance O.OverloadedMethodInfo HandleWriteMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Rsvg.Objects.Handle.handleWrite",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-rsvg-2.0.3/docs/GI-Rsvg-Objects-Handle.html#v:handleWrite"
})
#endif