XfcePanelImage

XfcePanelImage — Scalable image suitable for panel plugins

Synopsis

#include <libxfce4panel/libxfce4panel.h>

                    XfcePanelImage;
GtkWidget *         xfce_panel_image_new                (void);
GtkWidget *         xfce_panel_image_new_from_pixbuf    (GdkPixbuf *pixbuf);
GtkWidget *         xfce_panel_image_new_from_source    (const gchar *source);
void                xfce_panel_image_set_from_pixbuf    (XfcePanelImage *image,
                                                         GdkPixbuf *pixbuf);
void                xfce_panel_image_set_from_source    (XfcePanelImage *image,
                                                         const gchar *source);
void                xfce_panel_image_set_size           (XfcePanelImage *image,
                                                         gint size);
gint                xfce_panel_image_get_size           (XfcePanelImage *image);
void                xfce_panel_image_clear              (XfcePanelImage *image);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----XfcePanelImage

Implemented Interfaces

XfcePanelImage implements AtkImplementorIface and GtkBuildable.

Properties

  "pixbuf"                   GdkPixbuf*            : Read / Write
  "size"                     gint                  : Read / Write
  "source"                   gchar*                : Read / Write

Style Properties

  "force-gtk-icon-sizes"     gboolean              : Read / Write

Description

The XfcePanelImage is a widgets suitable for for example panel buttons where the developer does not exacly know the size of the image (due to theming and user setting).

The XfcePanelImage widget automatically scales to the allocated size of the widget. Because of that nature it never requests a size, so this will only work if you pack the image in another widget that will expand it. If you want to force an image size you can use xfce_panel_image_set_size() to set a pixel size, in that case the widget will request an fixed size which makes it usefull for usage in dialogs.

Details

XfcePanelImage

typedef struct _XfcePanelImage XfcePanelImage;

This struct contain private data only and should be accessed by the functions below.


xfce_panel_image_new ()

GtkWidget *         xfce_panel_image_new                (void);

Creates a new empty XfcePanelImage widget.

Returns :

a newly created XfcePanelImage widget.

Since 4.8


xfce_panel_image_new_from_pixbuf ()

GtkWidget *         xfce_panel_image_new_from_pixbuf    (GdkPixbuf *pixbuf);

Creates a new XfcePanelImage displaying pixbuf. XfcePanelImage will add its own reference rather than adopting yours. You don't need to scale the pixbuf to the correct size, the XfcePanelImage will take care of that based on the allocation of the widget or the size set with xfce_panel_image_set_size().

pixbuf :

a GdkPixbuf, or NULL.

Returns :

a newly created XfcePanelImage widget.

Since 4.8


xfce_panel_image_new_from_source ()

GtkWidget *         xfce_panel_image_new_from_source    (const gchar *source);

Creates a new XfcePanelImage displaying source. XfcePanelImage will detect if source points to an absolute file or it and icon-name. For icon-names it will also look for files in the pixbuf folder or strip the extensions, which makes it suitable for usage with icon keys in .desktop files.

source :

source of the image. This can be an absolute path or an icon-name or NULL.

Returns :

a newly created XfcePanelImage widget.

Since 4.8


xfce_panel_image_set_from_pixbuf ()

void                xfce_panel_image_set_from_pixbuf    (XfcePanelImage *image,
                                                         GdkPixbuf *pixbuf);

See xfce_panel_image_new_from_pixbuf() for details.

image :

an XfcePanelImage.

pixbuf :

a GdkPixbuf, or NULL.

Since 4.8


xfce_panel_image_set_from_source ()

void                xfce_panel_image_set_from_source    (XfcePanelImage *image,
                                                         const gchar *source);

See xfce_panel_image_new_from_source() for details.

image :

an XfcePanelImage.

source :

source of the image. This can be an absolute path or an icon-name or NULL.

Since 4.8


xfce_panel_image_set_size ()

void                xfce_panel_image_set_size           (XfcePanelImage *image,
                                                         gint size);

This will force an image size, instead of looking at the allocation size, see introduction for more details. You can set a size of -1 to turn this off.

image :

an XfcePanelImage.

size :

a new size in pixels.

Since 4.8


xfce_panel_image_get_size ()

gint                xfce_panel_image_get_size           (XfcePanelImage *image);

The size of the image, set by xfce_panel_image_set_size() or -1 if no size is forced and the image is scaled to the allocation size.

image :

an XfcePanelImage.

Returns :

icon size in pixels of the image or -1.

Since 4.8


xfce_panel_image_clear ()

void                xfce_panel_image_clear              (XfcePanelImage *image);

Resets the image to be empty.

image :

an XfcePanelImage.

Since 4.8

Property Details

The "pixbuf" property

  "pixbuf"                   GdkPixbuf*            : Read / Write

Pixbuf image.


The "size" property

  "size"                     gint                  : Read / Write

Pixel size of the image.

Allowed values: [G_MAXULONG,128]

Default value: -1


The "source" property

  "source"                   gchar*                : Read / Write

Icon or filename.

Default value: NULL

Style Property Details

The "force-gtk-icon-sizes" style property

  "force-gtk-icon-sizes"     gboolean              : Read / Write

Force the image to fix to GtkIconSizes.

Default value: FALSE