{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) -} module GI.Atk.Interfaces.Image ( -- * Exported types Image(..) , noImage , ImageK , -- * Methods -- ** imageGetImageDescription imageGetImageDescription , -- ** imageGetImageLocale imageGetImageLocale , -- ** imageGetImagePosition imageGetImagePosition , -- ** imageGetImageSize imageGetImageSize , -- ** imageSetImageDescription imageSetImageDescription , ) where import Prelude () import Data.GI.Base.ShortPrelude import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import GI.Atk.Types import GI.Atk.Callbacks -- interface Image newtype Image = Image (ForeignPtr Image) noImage :: Maybe Image noImage = Nothing type instance AttributeList Image = ImageAttributeList type ImageAttributeList = ('[ ] :: [(Symbol, *)]) type instance SignalList Image = ImageSignalList type ImageSignalList = ('[ ] :: [(Symbol, *)]) class ForeignPtrNewtype a => ImageK a instance (ForeignPtrNewtype o, IsDescendantOf Image o) => ImageK o type instance ParentTypes Image = ImageParentTypes type ImageParentTypes = '[] -- method Image::get_image_description -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "atk_image_get_image_description" atk_image_get_image_description :: Ptr Image -> -- _obj : TInterface "Atk" "Image" IO CString imageGetImageDescription :: (MonadIO m, ImageK a) => a -> -- _obj m T.Text imageGetImageDescription _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- atk_image_get_image_description _obj' checkUnexpectedReturnNULL "atk_image_get_image_description" result result' <- cstringToText result touchManagedPtr _obj return result' -- method Image::get_image_locale -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "atk_image_get_image_locale" atk_image_get_image_locale :: Ptr Image -> -- _obj : TInterface "Atk" "Image" IO CString imageGetImageLocale :: (MonadIO m, ImageK a) => a -> -- _obj m T.Text imageGetImageLocale _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- atk_image_get_image_locale _obj' checkUnexpectedReturnNULL "atk_image_get_image_locale" result result' <- cstringToText result touchManagedPtr _obj return result' -- method Image::get_image_position -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "atk_image_get_image_position" atk_image_get_image_position :: Ptr Image -> -- _obj : TInterface "Atk" "Image" Int32 -> -- x : TBasicType TInt32 Int32 -> -- y : TBasicType TInt32 CUInt -> -- coord_type : TInterface "Atk" "CoordType" IO () imageGetImagePosition :: (MonadIO m, ImageK a) => a -> -- _obj Int32 -> -- x Int32 -> -- y CoordType -> -- coord_type m () imageGetImagePosition _obj x y coord_type = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj let coord_type' = (fromIntegral . fromEnum) coord_type atk_image_get_image_position _obj' x y coord_type' touchManagedPtr _obj return () -- method Image::get_image_size -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "atk_image_get_image_size" atk_image_get_image_size :: Ptr Image -> -- _obj : TInterface "Atk" "Image" Int32 -> -- width : TBasicType TInt32 Int32 -> -- height : TBasicType TInt32 IO () imageGetImageSize :: (MonadIO m, ImageK a) => a -> -- _obj Int32 -> -- width Int32 -> -- height m () imageGetImageSize _obj width height = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj atk_image_get_image_size _obj' width height touchManagedPtr _obj return () -- method Image::set_image_description -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "atk_image_set_image_description" atk_image_set_image_description :: Ptr Image -> -- _obj : TInterface "Atk" "Image" CString -> -- description : TBasicType TUTF8 IO CInt imageSetImageDescription :: (MonadIO m, ImageK a) => a -> -- _obj T.Text -> -- description m Bool imageSetImageDescription _obj description = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj description' <- textToCString description result <- atk_image_set_image_description _obj' description' let result' = (/= 0) result touchManagedPtr _obj freeMem description' return result'