gi-gdk-4.0.3: Gdk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gdk.Objects.Texture

Description

The GdkTexture structure contains only private data.

Synopsis

Exported types

newtype Texture Source #

Memory-managed wrapper type.

Constructors

Texture (ManagedPtr Texture) 

Instances

Instances details
Eq Texture Source # 
Instance details

Defined in GI.Gdk.Objects.Texture

Methods

(==) :: Texture -> Texture -> Bool #

(/=) :: Texture -> Texture -> Bool #

GObject Texture Source # 
Instance details

Defined in GI.Gdk.Objects.Texture

ManagedPtrNewtype Texture Source # 
Instance details

Defined in GI.Gdk.Objects.Texture

Methods

toManagedPtr :: Texture -> ManagedPtr Texture

TypedObject Texture Source # 
Instance details

Defined in GI.Gdk.Objects.Texture

Methods

glibType :: IO GType

HasParentTypes Texture Source # 
Instance details

Defined in GI.Gdk.Objects.Texture

IsGValue (Maybe Texture) Source #

Convert Texture to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Gdk.Objects.Texture

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe Texture -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe Texture)

type ParentTypes Texture Source # 
Instance details

Defined in GI.Gdk.Objects.Texture

type ParentTypes Texture = '[Object, Paintable]

class (GObject o, IsDescendantOf Texture o) => IsTexture o Source #

Type class for types which can be safely cast to Texture, for instance with toTexture.

Instances

Instances details
(GObject o, IsDescendantOf Texture o) => IsTexture o Source # 
Instance details

Defined in GI.Gdk.Objects.Texture

toTexture :: (MonadIO m, IsTexture o) => o -> m Texture Source #

Cast to Texture, for types for which this is known to be safe. For general casts, use castTo.

Methods

download

textureDownload Source #

Arguments

:: (HasCallStack, MonadIO m, IsTexture a) 
=> a

texture: a Texture

-> Ptr Word8

data: pointer to enough memory to be filled with the downloaded data of texture

-> Word64

stride: rowstride in bytes

-> m () 

Downloads the texture into local memory. This may be an expensive operation, as the actual texture data may reside on a GPU or on a remote display server.

The data format of the downloaded data is equivalent to FormatArgb32, so every downloaded pixel requires 4 bytes of memory.

Downloading a texture into a Cairo image surface:

C code

surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
                                      gdk_texture_get_width (texture),
                                      gdk_texture_get_height (texture));
gdk_texture_download (texture,
                      cairo_image_surface_get_data (surface),
                      cairo_image_surface_get_stride (surface));
cairo_surface_mark_dirty (surface);

getHeight

textureGetHeight Source #

Arguments

:: (HasCallStack, MonadIO m, IsTexture a) 
=> a

texture: a Texture

-> m Int32

Returns: the height of the Texture

Returns the height of the texture, in pixels.

getWidth

textureGetWidth Source #

Arguments

:: (HasCallStack, MonadIO m, IsTexture a) 
=> a

texture: a Texture

-> m Int32

Returns: the width of the Texture

Returns the width of texture, in pixels.

newForPixbuf

textureNewForPixbuf Source #

Arguments

:: (HasCallStack, MonadIO m, IsPixbuf a) 
=> a

pixbuf: a Pixbuf

-> m Texture

Returns: a new Texture

Creates a new texture object representing the Pixbuf.

newFromFile

textureNewFromFile Source #

Arguments

:: (HasCallStack, MonadIO m, IsFile a) 
=> a

file: File to load

-> m Texture

Returns: A newly-created Texture or Nothing if an error occurred. (Can throw GError)

Creates a new texture by loading an image from a file. The file format is detected automatically. The supported formats are PNG and JPEG, though more formats might be available.

If Nothing is returned, then error will be set.

newFromResource

textureNewFromResource Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Text

resourcePath: the path of the resource file

-> m Texture

Returns: A newly-created texture

Creates a new texture by loading an image from a resource. The file format is detected automatically. The supported formats are PNG and JPEG, though more formats might be available.

It is a fatal error if resourcePath does not specify a valid image resource and the program will abort if that happens. If you are unsure about the validity of a resource, use textureNewFromFile to load it.

saveToPng

textureSaveToPng Source #

Arguments

:: (HasCallStack, MonadIO m, IsTexture a) 
=> a

texture: a Texture

-> Text

filename: the filename to store to

-> m Bool

Returns: True if saving succeeded, False on failure.

Store the given texture to the filename as a PNG file.

This is a utility function intended for debugging and testing. If you want more control over formats, proper error handling or want to store to a File or other location, you might want to look into using the gdk-pixbuf library.

Properties

height

The height of the texture, in pixels.

constructTextureHeight :: (IsTexture o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “height” property. This is rarely needed directly, but it is used by new.

getTextureHeight :: (MonadIO m, IsTexture o) => o -> m Int32 Source #

Get the value of the “height” property. When overloading is enabled, this is equivalent to

get texture #height

width

The width of the texture, in pixels.

constructTextureWidth :: (IsTexture o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “width” property. This is rarely needed directly, but it is used by new.

getTextureWidth :: (MonadIO m, IsTexture o) => o -> m Int32 Source #

Get the value of the “width” property. When overloading is enabled, this is equivalent to

get texture #width