All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups
Resources

Detailed Description

Managing application resources.

Resources are data files that are bundled with your application binary and can be loaded at runtime. You use resources to embed images or custom fonts in your app, but also to embed any data file. Resources are always read-only.

Resources are stored on Pebble’s flash memory and only loaded in RAM when you load them. This means that you can have a large number of resources embedded inside your app, even though Pebble’s RAM memory is very limited.

SeeManaging App Resources in Pebble Developer Guide for information on how to embed resources into your app's bundle.

Function Documentation

ResHandle resource_get_handle ( uint32_t  resource_id)

Gets the resource handle for a file identifier.

Parameters
resource_idThe resource ID

The resource IDs are auto-generated by the Pebble build process, based on the appinfo.json. The "name" field of each resource is prefixed by RESOURCE_ID_ and made visible to the application (through the build/src/resource_ids.auto.h header which is automatically included).

For example, given the following fragment of appinfo.json:

...
"resources" : {
"media": [
{
"name": "MY_ICON",
"file": "img/icon.png",
"type": "png",
},
...

The generated file identifier for this resource is RESOURCE_ID_MY_ICON. To get a resource handle for that resource write:

ResHandle rh = resource_get_handle(RESOURCE_ID_MY_ICON);
size_t resource_load ( ResHandle  h,
uint8_t *  buffer,
size_t  max_length 
)

Copies the bytes for the resource with a given handle from flash storage into a given buffer.

Parameters
hThe handle to the resource
bufferThe buffer to load the resource data into
max_lengthThe maximum number of bytes to copy
Returns
The number of bytes actually copied
size_t resource_load_byte_range ( ResHandle  h,
uint32_t  start_offset,
uint8_t *  buffer,
size_t  num_bytes 
)

Copies a range of bytes from a resource with a given handle into a given buffer.

Parameters
hThe handle to the resource
start_offsetThe offset in bytes at which to start reading from the resource
bufferThe buffer to load the resource data into
num_bytesThe maximum number of bytes to copy
Returns
The number of bytes actually copied
size_t resource_size ( ResHandle  h)

Gets the size of the resource given a resource handle.

Parameters
hThe handle to the resource
Returns
The size of the resource in bytes

Typedef Documentation

typedef void* ResHandle

Opaque reference to a resource.

See Also
resource_get_handle()