gi-gtk-4.0.2: Gtk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.Picture

Description

The Picture widget displays a Paintable. Many convenience functions are provided to make pictures simple to use. For example, if you want to load an image from a file, and then display that, there’s a convenience function to do this:

C code

 GtkWidget *widget;
 widget = gtk_picture_new_for_filename ("myfile.png");

If the file isn’t loaded successfully, the picture will contain a “broken image” icon similar to that used in many web browsers. If you want to handle errors in loading the file yourself, for example by displaying an error message, then load the image with textureNewFromFile, then create the Picture with pictureNewForPaintable.

Sometimes an application will want to avoid depending on external data files, such as image files. See the documentation of Resource for details. In this case, pictureNewForResource and pictureSetResource should be used.

CSS nodes

GtkPicture has a single CSS node with the name picture.

Synopsis

Exported types

newtype Picture Source #

Memory-managed wrapper type.

Constructors

Picture (ManagedPtr Picture) 

Instances

Instances details
Eq Picture Source # 
Instance details

Defined in GI.Gtk.Objects.Picture

Methods

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

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

IsGValue Picture Source #

Convert Picture to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Gtk.Objects.Picture

ManagedPtrNewtype Picture Source # 
Instance details

Defined in GI.Gtk.Objects.Picture

TypedObject Picture Source # 
Instance details

Defined in GI.Gtk.Objects.Picture

Methods

glibType :: IO GType #

GObject Picture Source # 
Instance details

Defined in GI.Gtk.Objects.Picture

HasParentTypes Picture Source # 
Instance details

Defined in GI.Gtk.Objects.Picture

type ParentTypes Picture Source # 
Instance details

Defined in GI.Gtk.Objects.Picture

type ParentTypes Picture = '[Widget, Object, ImplementorIface, Buildable, ConstraintTarget]

class (GObject o, IsDescendantOf Picture o) => IsPicture o Source #

Type class for types which can be safely cast to Picture, for instance with toPicture.

Instances

Instances details
(GObject o, IsDescendantOf Picture o) => IsPicture o Source # 
Instance details

Defined in GI.Gtk.Objects.Picture

toPicture :: (MonadIO m, IsPicture o) => o -> m Picture Source #

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

Methods

Overloaded methods

getAlternativeText

pictureGetAlternativeText Source #

Arguments

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

self: a Picture

-> m (Maybe Text)

Returns: the alternative textual description of self.

Gets the alternative textual description of the picture or returns Nothing if the picture cannot be described textually.

getCanShrink

pictureGetCanShrink Source #

Arguments

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

self: a Picture

-> m Bool

Returns: True if the picture can be made smaller than its contents

Gets the value set via pictureSetCanShrink.

getFile

pictureGetFile Source #

Arguments

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

self: a Picture

-> m (Maybe File)

Returns: The File displayed by self.

Gets the File currently displayed if self is displaying a file. If self is not displaying a file, for example when pictureSetPaintable was used, then Nothing is returned.

getKeepAspectRatio

pictureGetKeepAspectRatio Source #

Arguments

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

self: a Picture

-> m Bool

Returns: True if the self tries to keep the contents' aspect ratio

Gets the value set via pictureSetKeepAspectRatio.

getPaintable

pictureGetPaintable Source #

Arguments

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

self: a Picture

-> m (Maybe Paintable)

Returns: the displayed paintable, or Nothing if the picture is empty

Gets the Paintable being displayed by the Picture.

new

pictureNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Picture

Returns: a newly created Picture widget.

Creates a new empty Picture widget.

newForFile

pictureNewForFile Source #

Arguments

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

file: a File

-> m Picture

Returns: a new Picture

Creates a new Picture displaying the given file. If the file isn’t found or can’t be loaded, the resulting Picture be empty.

If you need to detect failures to load the file, use textureNewFromFile to load the file yourself, then create the Picture from the texture.

newForFilename

pictureNewForFilename Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Maybe [Char]

filename: a filename

-> m Picture

Returns: a new Picture

Creates a new Picture displaying the file filename.

This is a utility function that calls pictureNewForFile. See that function for details.

newForPaintable

pictureNewForPaintable Source #

Arguments

:: (HasCallStack, MonadIO m, IsPaintable a) 
=> Maybe a

paintable: a Paintable, or Nothing

-> m Picture

Returns: a new Picture

Creates a new Picture displaying paintable.

The Picture will track changes to the paintable and update its size and contents in response to it.

newForPixbuf

pictureNewForPixbuf Source #

Arguments

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

pixbuf: a Pixbuf, or Nothing

-> m Picture

Returns: a new Picture

Creates a new Picture displaying pixbuf.

This is a utility function that calls pictureNewForPaintable, See that function for details.

The pixbuf must not be modified after passing it to this function.

newForResource

pictureNewForResource Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Maybe Text

resourcePath: resource path to play back

-> m Picture

Returns: a new Picture

Creates a new Picture displaying the file filename.

This is a utility function that calls pictureNewForFile. See that function for details.

setAlternativeText

pictureSetAlternativeText Source #

Arguments

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

self: a Picture

-> Maybe Text

alternativeText: a textual description of the contents

-> m () 

Sets an alternative textual description for the picture contents. It is equivalent to the "alt" attribute for images on websites.

This text will be made available to accessibility tools.

If the picture cannot be described textually, set this property to Nothing.

setCanShrink

pictureSetCanShrink Source #

Arguments

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

self: a Picture

-> Bool

canShrink: if self can be made smaller than its contents

-> m () 

If set to True, the self can be made smaller than its contents. The contents will then be scaled down when rendering.

If you want to still force a minimum size manually, consider using widgetSetSizeRequest.

Also of note is that a similar function for growing does not exist because the grow behavior can be controlled via widgetSetHalign and widgetSetValign.

setFile

pictureSetFile Source #

Arguments

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

self: a Picture

-> Maybe b

file: a GFile or Nothing

-> m () 

Makes self load and display file.

See pictureNewForFile for details.

setFilename

pictureSetFilename Source #

Arguments

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

self: a Picture

-> Maybe Text

filename: the filename to play

-> m () 

Makes self load and display the given filename.

This is a utility function that calls pictureSetFile.

setKeepAspectRatio

pictureSetKeepAspectRatio Source #

Arguments

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

self: a Picture

-> Bool

keepAspectRatio: whether to keep aspect ratio

-> m () 

If set to True, the self will render its contents according to their aspect ratio. That means that empty space may show up at the top/bottom or left/right of self.

If set to False or if the contents provide no aspect ratio, the contents will be stretched over the picture's whole area.

setPaintable

pictureSetPaintable Source #

Arguments

:: (HasCallStack, MonadIO m, IsPicture a, IsPaintable b) 
=> a

self: a Picture

-> Maybe b

paintable: a Paintable or Nothing

-> m () 

Makes self display the given paintable. If paintable is Nothing, nothing will be displayed.

See pictureNewForPaintable for details.

setPixbuf

pictureSetPixbuf Source #

Arguments

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

self: a Picture

-> Maybe b

pixbuf: a Pixbuf or Nothing

-> m () 

See pictureNewForPixbuf for details.

This is a utility function that calls pictureSetPaintable,

setResource

pictureSetResource Source #

Arguments

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

self: a Picture

-> Maybe Text

resourcePath: the resource to set

-> m () 

Makes self load and display the resource at the given resourcePath.

This is a utility function that calls pictureSetFile,

Properties

alternativeText

The alternative textual description for the picture.

clearPictureAlternativeText :: (MonadIO m, IsPicture o) => o -> m () Source #

Set the value of the “alternative-text” property to Nothing. When overloading is enabled, this is equivalent to

clear #alternativeText

constructPictureAlternativeText :: (IsPicture o, MonadIO m) => Text -> m (GValueConstruct o) Source #

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

getPictureAlternativeText :: (MonadIO m, IsPicture o) => o -> m (Maybe Text) Source #

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

get picture #alternativeText

setPictureAlternativeText :: (MonadIO m, IsPicture o) => o -> Text -> m () Source #

Set the value of the “alternative-text” property. When overloading is enabled, this is equivalent to

set picture [ #alternativeText := value ]

canShrink

If the Picture can be made smaller than the self it contains.

constructPictureCanShrink :: (IsPicture o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

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

getPictureCanShrink :: (MonadIO m, IsPicture o) => o -> m Bool Source #

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

get picture #canShrink

setPictureCanShrink :: (MonadIO m, IsPicture o) => o -> Bool -> m () Source #

Set the value of the “can-shrink” property. When overloading is enabled, this is equivalent to

set picture [ #canShrink := value ]

file

The File that is displayed or Nothing if none.

clearPictureFile :: (MonadIO m, IsPicture o) => o -> m () Source #

Set the value of the “file” property to Nothing. When overloading is enabled, this is equivalent to

clear #file

constructPictureFile :: (IsPicture o, MonadIO m, IsFile a) => a -> m (GValueConstruct o) Source #

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

getPictureFile :: (MonadIO m, IsPicture o) => o -> m (Maybe File) Source #

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

get picture #file

setPictureFile :: (MonadIO m, IsPicture o, IsFile a) => o -> a -> m () Source #

Set the value of the “file” property. When overloading is enabled, this is equivalent to

set picture [ #file := value ]

keepAspectRatio

Whether the GtkPicture will render its contents trying to preserve the aspect ratio of the contents.

constructPictureKeepAspectRatio :: (IsPicture o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

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

getPictureKeepAspectRatio :: (MonadIO m, IsPicture o) => o -> m Bool Source #

Get the value of the “keep-aspect-ratio” property. When overloading is enabled, this is equivalent to

get picture #keepAspectRatio

setPictureKeepAspectRatio :: (MonadIO m, IsPicture o) => o -> Bool -> m () Source #

Set the value of the “keep-aspect-ratio” property. When overloading is enabled, this is equivalent to

set picture [ #keepAspectRatio := value ]

paintable

The Paintable to be displayed by this Picture.

clearPicturePaintable :: (MonadIO m, IsPicture o) => o -> m () Source #

Set the value of the “paintable” property to Nothing. When overloading is enabled, this is equivalent to

clear #paintable

constructPicturePaintable :: (IsPicture o, MonadIO m, IsPaintable a) => a -> m (GValueConstruct o) Source #

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

getPicturePaintable :: (MonadIO m, IsPicture o) => o -> m (Maybe Paintable) Source #

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

get picture #paintable

setPicturePaintable :: (MonadIO m, IsPicture o, IsPaintable a) => o -> a -> m () Source #

Set the value of the “paintable” property. When overloading is enabled, this is equivalent to

set picture [ #paintable := value ]