Pebble Foundation Classes
0.2.0
C++ for Pebble
|
Managing application resources. More...
Modules | |
File Formats | |
Macros | |
#define | RESOURCE_ID_FONT_FALLBACK RESOURCE_ID_GOTHIC_14 |
Typedefs | |
typedef void * | ResHandle |
Functions | |
ResHandle | resource_get_handle (uint32_t resource_id) |
size_t | resource_size (ResHandle h) |
size_t | resource_load (ResHandle h, uint8_t *buffer, size_t max_length) |
size_t | resource_load_byte_range (ResHandle h, uint32_t start_offset, uint8_t *buffer, size_t num_bytes) |
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.
See for information on how to embed resources into your app's bundle.
typedef void* ResHandle |
Opaque reference to a resource.
ResHandle resource_get_handle | ( | uint32_t | resource_id | ) |
Gets the resource handle for a file identifier.
resource_id | The 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
:
The generated file identifier for this resource is RESOURCE_ID_MY_ICON
. To get a resource handle for that resource write:
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.
h | The handle to the resource |
buffer | The buffer to load the resource data into |
max_length | The maximum number of bytes to copy |
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.
h | The handle to the resource |
start_offset | The offset in bytes at which to start reading from the resource |
buffer | The buffer to load the resource data into |
num_bytes | The maximum number of bytes to copy |
size_t resource_size | ( | ResHandle | h | ) |
Gets the size of the resource given a resource handle.
h | The handle to the resource |