st-texture-cache

st-texture-cache

Functions

Signals

void icon-theme-changed Run Last
void texture-file-changed Run Last

Types and Values

Object Hierarchy

    GEnum
    ╰── StTextureCachePolicy
    GObject
    ╰── StTextureCache

Description

Functions

st_texture_cache_get_default ()

StTextureCache *
st_texture_cache_get_default (void);

Returns

The global texture cache.

[transfer none]


st_texture_cache_load_sliced_image_file ()

ClutterActor *
st_texture_cache_load_sliced_image_file
                               (StTextureCache *cache,
                                GFile *file,
                                gint grid_width,
                                gint grid_height,
                                gint paint_scale,
                                gfloat resource_scale,
                                GFunc load_callback,
                                gpointer user_data);

This function reads a single image file which contains multiple images internally. The image file will be divided using grid_width and grid_height ; note that the dimensions of the image loaded from path should be a multiple of the specified grid dimensions.

Parameters

cache

A StTextureCache

 

file

A GFile

 

grid_width

Width in pixels

 

grid_height

Height in pixels

 

paint_scale

Scale factor of the display

 

load_callback

Function called when the image is loaded, or NULL.

[scope async][nullable]

user_data

Data to pass to the load callback

 

Returns

A new ClutterActor.

[transfer none]


st_texture_cache_load_sliced_image ()

ClutterActor *
st_texture_cache_load_sliced_image (StTextureCache *cache,
                                    const gchar *path,
                                    gint grid_width,
                                    gint grid_height,
                                    GFunc load_callback,
                                    gpointer user_data);

This function reads a single image file which contains multiple images internally. The image file will be divided using grid_width and grid_height ; note that the dimensions of the image loaded from path should be a multiple of the specified grid dimensions.

Parameters

cache

A StTextureCache

 

path

Path to a filename

 

grid_width

Width in pixels

 

grid_height

Height in pixels

 

load_callback

Function called when the image is loaded, or NULL.

[scope async][allow-none]

user_data

Data to pass to the load callback

 

Returns

A new ClutterActor.

[transfer none]


st_texture_cache_load_from_pixbuf ()

ClutterActor *
st_texture_cache_load_from_pixbuf (GdkPixbuf *pixbuf,
                                   int size);

Converts a GdkPixbuf into a ClutterTexture.

Parameters

pixbuf

A GdkPixbuf

 

size

int

 

Returns

A new ClutterActor.

[transfer none]


st_texture_cache_load_from_raw ()

ClutterActor *
st_texture_cache_load_from_raw (StTextureCache *cache,
                                const guchar *data,
                                gsize len,
                                gboolean has_alpha,
                                int width,
                                int height,
                                int rowstride,
                                int size,
                                GError **error);

Creates (or retrieves from cache) an icon based on raw pixel data.

Parameters

cache

a StTextureCache

 

data

raw pixel data.

[array length=len]

len

the length of data

 

has_alpha

whether data includes an alpha channel

 

width

width in pixels of data

 

height

width in pixels of data

 

rowstride

rowstride of data

 

size

size of icon to return

 

Returns

a new ClutterActor displaying a pixbuf created from data and the other parameters.

[transfer none]


st_texture_cache_load_file_simple ()

ClutterActor *
st_texture_cache_load_file_simple (StTextureCache *cache,
                                   const gchar *file_path);

Synchronously load an image into a texture. The texture will be cached indefinitely. On error, this function returns an empty texture and prints a warning.

Parameters

cache

A StTextureCache

 

file_path

Filesystem path

 

Returns

A new ClutterTexture.

[transfer none]


st_texture_cache_bind_cairo_surface_property ()

StWidget *
st_texture_cache_bind_cairo_surface_property
                               (StTextureCache *cache,
                                GObject *object,
                                const char *property_name,
                                gint size);

Create a ClutterActor which tracks the cairo_surface_t value of a GObject property named by property_name . Unlike other methods in StTextureCache, the underlying CoglTexture is not shared by default with other invocations to this method.

If the source object is destroyed, the texture will continue to show the last value of the property.

Parameters

object

A GObject with a property property_name of type GdkPixbuf

 

property_name

Name of a property

 

Returns

A new StWidget.

[transfer none]


st_texture_cache_load_gicon_with_scale ()

ClutterActor *
st_texture_cache_load_gicon_with_scale
                               (StTextureCache *cache,
                                StThemeNode *theme_node,
                                GIcon *icon,
                                gint size,
                                gint paint_scale,
                                gfloat resource_scale);

This method returns a new ClutterActor for a given GIcon. If the icon isn't loaded already, the texture will be filled asynchronously.

Parameters

cache

The texture cache instance

 

theme_node

The StThemeNode to use for colors, or NULL if the icon must not be recolored.

[nullable]

icon

the GIcon to load

 

size

Size of themed

 

paint_scale

Scale factor of display

 

resource_scale

Resource scale factor

 

Returns

A new ClutterActor for the icon, or NULL if not found.

[transfer none]


st_texture_cache_load_gicon ()

ClutterActor *
st_texture_cache_load_gicon (StTextureCache *cache,
                             StThemeNode *theme_node,
                             GIcon *icon,
                             gint size);

This method returns a new ClutterActor for a given GIcon. If the icon isn't loaded already, the texture will be filled asynchronously.

Parameters

cache

The texture cache instance

 

theme_node

The StThemeNode to use for colors, or NULL if the icon must not be recolored.

[allow-none]

icon

the GIcon to load

 

size

Size of themed

 

Returns

A new ClutterActor for the icon, or an empty ClutterActor if none was found.

[transfer none]


st_texture_cache_load_icon_name ()

ClutterActor *
st_texture_cache_load_icon_name (StTextureCache *cache,
                                 StThemeNode *theme_node,
                                 const char *name,
                                 StIconType icon_type,
                                 gint size);

Load a themed icon into a texture. See the StIconType documentation for an explanation of how icon_type affects the returned icon. The colors used for symbolic icons are derived from theme_node .

Parameters

cache

The texture cache instance

 

theme_node

a StThemeNode.

[allow-none]

name

Name of a themed icon

 

icon_type

the type of icon to load

 

size

Size of themed

 

Returns

A new ClutterTexture for the icon.

[transfer none]


st_texture_cache_load_file_async ()

ClutterActor *
st_texture_cache_load_file_async (StTextureCache *cache,
                                  GFile *file,
                                  int available_width,
                                  int available_height,
                                  int paint_scale,
                                  gfloat resource_scale);

Asynchronously load an image. Initially, the returned texture will have a natural size of zero. At some later point, either the image will be loaded successfully and at that point size will be negotiated, or upon an error, no image will be set.

Parameters

cache

The texture cache instance

 

file

a GFile of the image file from which to create a pixbuf

 

available_width

available width for the image, can be -1 if not limited

 

available_height

available height for the image, can be -1 if not limited

 

paint_scale

scale factor of the display

 

resource_scale

Resource scale factor

 

Returns

A new ClutterActor with no image loaded initially.

[transfer none]


st_texture_cache_load_uri_async ()

ClutterActor *
st_texture_cache_load_uri_async (StTextureCache *cache,
                                 const gchar *uri,
                                 int available_width,
                                 int available_height);

Asynchronously load an image. Initially, the returned texture will have a natural size of zero. At some later point, either the image will be loaded successfully and at that point size will be negotiated, or upon an error, no image will be set.

Parameters

cache

The texture cache instance

 

uri

uri of the image file from which to create a pixbuf

 

available_width

available width for the image, can be -1 if not limited

 

available_height

available height for the image, can be -1 if not limited

 

Returns

A new ClutterActor with no image loaded initially.

[transfer none]


st_texture_cache_load_gfile_to_cogl_texture ()

CoglTexture *
st_texture_cache_load_gfile_to_cogl_texture
                               (StTextureCache *cache,
                                GFile *file,
                                gint paint_scale,
                                gfloat resource_scale);

This function synchronously loads the given file path into a COGL texture. On error, a warning is emitted and NULL is returned.

[skip]

Parameters

cache

A StTextureCache

 

file

A GFile in supported image format

 

paint_scale

Scale factor of the display

 

resource_scale

Resource scale factor

 

Returns

a new CoglTexture.

[transfer full]


st_texture_cache_load_file_to_cogl_texture ()

CoglTexture *
st_texture_cache_load_file_to_cogl_texture
                               (StTextureCache *cache,
                                const gchar *file_path);

This function synchronously loads the given file path into a COGL texture. On error, a warning is emitted and NULL is returned.

[skip]

Parameters

cache

A StTextureCache

 

file_path

Path to a file in supported image format

 

Returns

a new CoglTexture.

[transfer full]


st_texture_cache_load_gfile_to_cairo_surface ()

cairo_surface_t *
st_texture_cache_load_gfile_to_cairo_surface
                               (StTextureCache *cache,
                                GFile *file,
                                gint paint_scale,
                                gfloat resource_scale);

This function synchronously loads the given file path into a cairo surface. On error, a warning is emitted and NULL is returned.

Parameters

cache

A StTextureCache

 

file

A GFile in supported image format

 

paint_scale

Scale factor of the display

 

resource_scale

Resource scale factor

 

Returns

a new cairo_surface_t.

[transfer full]


st_texture_cache_load_file_to_cairo_surface ()

cairo_surface_t *
st_texture_cache_load_file_to_cairo_surface
                               (StTextureCache *cache,
                                const gchar *file_path);

This function synchronously loads the given file path into a cairo surface. On error, a warning is emitted and NULL is returned.

Parameters

cache

A StTextureCache

 

file_path

Path to a file in supported image format

 

Returns

a new cairo_surface_t.

[transfer full]


StTextureCacheLoadImageCallback ()

void
(*StTextureCacheLoadImageCallback) (StTextureCache *cache,
                                    guint handle,
                                    ClutterActor *actor,
                                    gpointer user_data);

Callback from st_texture_cache_load_image_from_file_async. The handle should match the one returned by _load_image_from_file_async.

Parameters

cache

a StTextureCache

 

handle

the handle returned to the caller in the original call.

 

actor

the actor containing the loaded image

 

user_data

Callback data

 

st_texture_cache_load_image_from_file_async ()

guint
st_texture_cache_load_image_from_file_async
                               (StTextureCache *cache,
                                const gchar *path,
                                gint width,
                                gint height,
                                StTextureCacheLoadImageCallback callback,
                                gpointer user_data);

This function loads an image file into a clutter actor asynchronously. This is mostly useful for situations where you want to load an image asynchronously, but don't want the actor back until it's fully loaded and sized (as opposed to load_uri_async, which provides no callback function, and leaves size negotiation to its own devices.)

The image's aspect ratio is always maintained and if both width and height are > 0 the image will never exceed these dimensions.

Parameters

cache

A StTextureCache

 

path

Path to a filename

 

width

Width in pixels (or -1 to leave unconstrained)

 

height

Height in pixels (or -1 to leave unconstrained)

 

callback

Function called when the image is loaded (required).

[scope async][not nullable]

user_data

Data to pass to the load callback

 

Returns

A handle that can be used to verify the actor issued in the callback is the expected one.


StTextureCacheLoader ()

CoglTexture *
(*StTextureCacheLoader) (StTextureCache *cache,
                         const char *key,
                         void *data,
                         GError **error);

See st_texture_cache_load(). Implementations should return a texture handle for the given key, or set error .

[skip]

Parameters

cache

a StTextureCache

 

key

Unique identifier for this texture

 

data

Callback user data

 

error

A GError

 

st_texture_cache_load ()

CoglTexture *
st_texture_cache_load (StTextureCache *cache,
                       const char *key,
                       StTextureCachePolicy policy,
                       StTextureCacheLoader load,
                       void *data,
                       GError **error);

Load an arbitrary texture, caching it. The string chosen for key should be of the form "type-prefix:type-uuid". For example, "url:file:///usr/share/icons/hicolor/48x48/apps/firefox.png", or "stock-icon:gtk-ok".

[skip]

Parameters

cache

A StTextureCache

 

key

Arbitrary string used to refer to item

 

policy

Caching policy

 

load

Function to create the texture, if not already cached

 

data

User data passed to load

 

error

A GError

 

Returns

A newly-referenced handle to the texture.

[transfer full]


st_texture_cache_rescan_icon_theme ()

gboolean
st_texture_cache_rescan_icon_theme (StTextureCache *cache);

Types and Values

ST_TYPE_TEXTURE_CACHE

#define ST_TYPE_TEXTURE_CACHE                 (st_texture_cache_get_type ())

struct StTextureCache

struct StTextureCache;

enum StTextureCachePolicy

Members

ST_TEXTURE_CACHE_POLICY_NONE

   

ST_TEXTURE_CACHE_POLICY_FOREVER

   

StTextureCachePrivate

typedef struct _StTextureCachePrivate StTextureCachePrivate;

Signal Details

The “icon-theme-changed” signal

void
user_function (StTextureCache *sttexturecache,
               gpointer        user_data)

Flags: Run Last


The “texture-file-changed” signal

void
user_function (StTextureCache *sttexturecache,
               GFile          *arg1,
               gpointer        user_data)

Flags: Run Last