Typedefs | Enumerations | Functions

Image handling

Typedefs

typedef void image_loaded_cb (sp_image *image, void *userdata)

Enumerations

enum  sp_imageformat {
  SP_IMAGE_FORMAT_UNKNOWN = -1,
  SP_IMAGE_FORMAT_JPEG = 0
}

Functions

sp_imagesp_image_create (sp_session *session, const byte image_id[20])
sp_imagesp_image_create_from_link (sp_session *session, sp_link *l)
sp_error sp_image_add_load_callback (sp_image *image, image_loaded_cb *callback, void *userdata)
sp_error sp_image_remove_load_callback (sp_image *image, image_loaded_cb *callback, void *userdata)
bool sp_image_is_loaded (sp_image *image)
sp_error sp_image_error (sp_image *image)
sp_imageformat sp_image_format (sp_image *image)
const void * sp_image_data (sp_image *image, size_t *data_size)
const byte * sp_image_image_id (sp_image *image)
sp_error sp_image_add_ref (sp_image *image)
sp_error sp_image_release (sp_image *image)

Typedef Documentation

typedef void image_loaded_cb(sp_image *image, void *userdata)

The type of a callback used to notify the application that an image is done loading.


Enumeration Type Documentation

Image format

Enumerator:
SP_IMAGE_FORMAT_UNKNOWN 

Unknown image format.

SP_IMAGE_FORMAT_JPEG 

JPEG image.


Function Documentation

sp_error sp_image_add_load_callback ( sp_image image,
image_loaded_cb callback,
void *  userdata 
)

Add a callback that will be invoked when the image is loaded

If an image is loaded, and loading fails, the image will behave like an empty image.

Parameters:
[in] image Image object
[in] callback Callback that will be called when image has been fetched.
[in] userdata Opaque pointer passed to callback
sp_error sp_image_add_ref ( sp_image image  ) 

Increase the reference count of an image

Parameters:
[in] image The image object
Returns:
One of the following errors, from sp_error SP_ERROR_OK
sp_image* sp_image_create ( sp_session session,
const byte  image_id[20] 
)

Create an image object

Parameters:
[in] session Session
[in] image_id Spotify image ID
Returns:
Pointer to an image object. To free the object, use sp_image_release()
See also:
sp_album_cover
sp_artistbrowse_portrait
sp_image* sp_image_create_from_link ( sp_session session,
sp_link l 
)

Create an image object from a link

Parameters:
[in] session Session
[in] l Spotify link object. This must be of SP_LINKTYPE_IMAGE type
Returns:
Pointer to an image object. To free the object, use sp_image_release()
See also:
sp_image_create
const void* sp_image_data ( sp_image image,
size_t *  data_size 
)

Get image data

Parameters:
[in] image Image object
[out] data_size Size of raw image data
Returns:
Pointer to raw image data
sp_error sp_image_error ( sp_image image  ) 

Check if image retrieval returned an error code.

Parameters:
[in] image Image object
Returns:
One of the following errors, from sp_error SP_ERROR_OK SP_ERROR_IS_LOADING SP_ERROR_OTHER_PERMANENT SP_ERROR_OTHER_TRANSIENT
sp_imageformat sp_image_format ( sp_image image  ) 

Get image format

Parameters:
[in] image Image object
Returns:
Image format as described by sp_imageformat
const byte* sp_image_image_id ( sp_image image  ) 

Get image ID

Parameters:
[in] image Image object
Returns:
Image ID
bool sp_image_is_loaded ( sp_image image  ) 

Check if an image is loaded. Before the image is loaded, the rest of the methods will behave as if the image is empty.

Parameters:
[in] image Image object
Returns:
True if image is loaded, false otherwise
sp_error sp_image_release ( sp_image image  ) 

Decrease the reference count of an image

Parameters:
[in] image The image object
Returns:
One of the following errors, from sp_error SP_ERROR_OK
sp_error sp_image_remove_load_callback ( sp_image image,
image_loaded_cb callback,
void *  userdata 
)

Remove an image load callback previously added with sp_image_add_load_callback()

Parameters:
[in] image Image object
[in] callback Callback that will not be called when image has been fetched.
[in] userdata Opaque pointer passed to callback
Returns:
One of the following errors, from sp_error SP_ERROR_OK

Generated on Wed Jun 13 2012 14:22:40.
Copyright © 2006–2012 Spotify Ltd