Libxfce4panel Reference Manual: XfcePanelImage

## XfcePanelImage XfcePanelImage — Scalable image suitable for panel plugins |

## Functions

GtkWidget * | xfce_panel_image_new ()
GtkWidget * | xfce_panel_image_new_from_pixbuf ()
GtkWidget * | xfce_panel_image_new_from_source ()
void | xfce_panel_image_set_from_pixbuf ()
void | xfce_panel_image_set_from_source ()
void | xfce_panel_image_set_size ()
gint | xfce_panel_image_get_size ()
void | xfce_panel_image_clear ()

## Properties

GdkPixbuf * | pixbuf | Read / Write
gint | size | Read / Write
gchar * | source | Read / Write

## Style Properties

gboolean | force-gtk-icon-sizes | Read / Write

## Types and Values

struct | XfcePanelImage

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── XfcePanelImage

## Implemented Interfaces

XfcePanelImage implements AtkImplementorIface and GtkBuildable.

## Includes

    #include <libxfce4panel/libxfce4panel.h>

## 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.

## Functions

### 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()`.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

image | an XfcePanelImage. |

Since 4.8

## Types and Values

### struct XfcePanelImage

    struct XfcePanelImage;

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

## Property Details

### The `“pixbuf”` property

      “pixbuf”                   GdkPixbuf *

Pixbuf image.

Flags: Read / Write

### The `“size”` property

      “size”                     gint

Pixel size of the image.

Flags: Read / Write

Allowed values: [-1,128]

Default value: -1

### The `“source”` property

      “source”                   gchar *

Icon or filename.

Flags: Read / Write

Default value: NULL

## Style Property Details

### The `“force-gtk-icon-sizes”` style property

      “force-gtk-icon-sizes”     gboolean

Force the image to fix to GtkIconSizes.

Flags: Read / Write

Default value: FALSE