pebble
  • Tutorials
  • Get the SDK
  • Guides
  • Documentation
  • Examples
  • Community
  • Blog
  • More
Privacy
Cookies
Publish

Documentation

  • Pebble C API
  • Pebble JavaScript API
  • PebbleKit JS
  • PebbleKit iOS
  • PebbleKit Android
  • Pebble C API
  • Pebble JavaScript API
  • PebbleKit JS
  • PebbleKit iOS
  • PebbleKit Android
c Foundation

The core of the Pebble SDK.

c App

App entry point and event loop.

c app_event_loop

The event loop for C apps, to be used in app's main(). Will block until the app is ready to exit.

c App Communication

API for interacting with the Pebble communication subsystem.

c SniffInterval

Intervals during which the Bluetooth module may enter a low power mode. The sniff interval defines the period during which the Bluetooth module may not exchange (ACL) packets. The longer the sniff interval, the more time the Bluetooth module may spend in a low power mode. It may be necessary to reduce the sniff interval if an app requires reduced latency when sending messages.

c SNIFF_INTERVAL_NORMAL

Set the sniff interval to normal (power-saving) mode.

c SNIFF_INTERVAL_REDUCED

Reduce the sniff interval to increase the responsiveness of the radio at the expense of increasing Bluetooth energy consumption by a multiple of 2-5 (very significant)

c app_comm_set_sniff_interval

Set the Bluetooth module's sniff interval. The sniff interval will be restored to normal by the OS after the app's de-init handler is called. Set the sniff interval to normal whenever possible.

c app_comm_get_sniff_interval

Get the Bluetooth module's sniff interval.

c App Glance

API for the application to modify its glance.

c PublishedId

The ID of a published app resource defined within the publishedMedia section of package.json.

c APP_GLANCE_SLICE_NO_EXPIRATION

Can be used for the expiration_time of an AppGlanceSlice so that the slice never expires.

c APP_GLANCE_SLICE_DEFAULT_ICON

Can be used for the icon of an AppGlanceSlice so that the slice displays the app's default icon.

c AppGlanceResult

Bitfield enum describing the result of trying to add an AppGlanceSlice to an app's glance.

c APP_GLANCE_RESULT_SUCCESS

The slice was successfully added to the app's glance.

c APP_GLANCE_RESULT_INVALID_TEMPLATE_STRING

The subtitle_template_string provided in the slice was invalid.

c APP_GLANCE_RESULT_TEMPLATE_STRING_TOO_LONG

The subtitle_template_string provided in the slice was longer than 150 bytes.

c APP_GLANCE_RESULT_INVALID_ICON

The icon provided in the slice was invalid.

c APP_GLANCE_RESULT_SLICE_CAPACITY_EXCEEDED

The provided slice would exceed the app glance's slice capacity.

c APP_GLANCE_RESULT_EXPIRES_IN_THE_PAST

The expiration_time provided in the slice expires in the past.

c APP_GLANCE_RESULT_INVALID_SESSION

The AppGlanceReloadSession provided was invalid.

c AppGlanceReloadSession
c app_glance_add_slice

Add a slice to the app's glance. This function will only succeed if called with a valid AppGlanceReloadSession that is provided in an AppGlanceReloadCallback.

c AppGlanceReloadCallback

User-provided callback for reloading the slices in the app's glance.

c app_glance_reload

Clear any existing slices in the app's glance and trigger a reload via the provided callback.

c AppGlanceSlice

An app's glance can change over time as defined by zero or more app glance slices that each describe the state of the app glance at a particular point in time. Slices are displayed in the order they are added, and they are removed at the specified expiration time.

c AppMessage
c AppMessageResult

AppMessage result codes.

c APP_MSG_OK

(0) All good, operation was successful.

c APP_MSG_SEND_TIMEOUT

(2) The other end did not confirm receiving the sent data with an (n)ack in time.

c APP_MSG_SEND_REJECTED

(4) The other end rejected the sent data, with a "nack" reply.

c APP_MSG_NOT_CONNECTED

(8) The other end was not connected.

c APP_MSG_APP_NOT_RUNNING

(16) The local application was not running.

c APP_MSG_INVALID_ARGS

(32) The function was called with invalid arguments.

c APP_MSG_BUSY

(64) There are pending (in or outbound) messages that need to be processed first before new ones can be received or sent.

c APP_MSG_BUFFER_OVERFLOW

(128) The buffer was too small to contain the incoming message.

c APP_MSG_ALREADY_RELEASED

(512) The resource had already been released.

c APP_MSG_CALLBACK_ALREADY_REGISTERED

(1024) The callback was already registered.

c APP_MSG_CALLBACK_NOT_REGISTERED

(2048) The callback could not be deregistered, because it had not been registered before.

c APP_MSG_OUT_OF_MEMORY

(4096) The system did not have sufficient application memory to perform the requested operation.

c APP_MSG_CLOSED

(8192) App message was closed.

c APP_MSG_INTERNAL_ERROR

(16384) An internal OS error prevented AppMessage from completing an operation.

c APP_MSG_INVALID_STATE

(32768) The function was called while App Message was not in the appropriate state.

c app_message_open

Open AppMessage to transfers.

c app_message_deregister_callbacks

Deregisters all callbacks and their context.

c AppMessageInboxReceived

Called after an incoming message is received.

c AppMessageInboxDropped

Called after an incoming message is dropped.

c AppMessageOutboxSent

Called after an outbound message has been sent and the reply has been received.

c AppMessageOutboxFailed

Called after an outbound message has not been sent successfully.

c app_message_get_context

Gets the context that will be passed to all AppMessage callbacks.

c app_message_set_context

Sets the context that will be passed to all AppMessage callbacks.

c app_message_register_inbox_received

Registers a function that will be called after any Inbox message is received successfully.

c app_message_register_inbox_dropped

Registers a function that will be called after any Inbox message is received but dropped by the system.

c app_message_register_outbox_sent

Registers a function that will be called after any Outbox message is sent and an ACK reply occurs in a timely fashion.

c app_message_register_outbox_failed

Registers a function that will be called after any Outbox message is not sent with a timely ACK reply. The call to app_message_outbox_send() must have succeeded.

c app_message_inbox_size_maximum

Programatically determine the inbox size maximum in the current configuration.

c app_message_outbox_size_maximum

Programatically determine the outbox size maximum in the current configuration.

c app_message_outbox_begin

Begin writing to the Outbox's Dictionary buffer.

c app_message_outbox_send

Sends the outbound dictionary.

c APP_MESSAGE_INBOX_SIZE_MINIMUM

As long as the firmware maintains its current major version, inboxes of this size or smaller will be allowed.

c APP_MESSAGE_OUTBOX_SIZE_MINIMUM

As long as the firmware maintains its current major version, outboxes of this size or smaller will be allowed.

c AppSync

UI synchronization layer for AppMessage

c AppSyncTupleChangedCallback

Called whenever a Tuple changes. This does not necessarily mean the value in the Tuple has changed. When the internal "current" dictionary gets updated, existing Tuples might get shuffled around in the backing buffer, even though the values stay the same. In this callback, the client code gets the chance to remove the old reference and start using the new one. In this callback, your application MUST clean up any references to the old_tuple of a PREVIOUS call to this callback (and replace it with the new_tuple that is passed in with the current call).

c AppSyncErrorCallback

Called whenever there was an error.

c app_sync_init

Initialized an AppSync system with specific buffer size and initial keys and values. The callback.value_changed callback will be called asynchronously with the initial keys and values, as to avoid duplicating code to update your app's UI.

c app_sync_deinit

Cleans up an AppSync system. It frees the buffer allocated by an app_sync_init() call and deregisters itself from the AppMessage subsystem.

c app_sync_set

Updates key/value pairs using an array of Tuplets.

c app_sync_get

Finds and gets a tuple in the "current" dictionary.

c AppSync
c AppWorker

Runs in the background, and can communicate with the foreground app.

c AppWorkerResult

Possible error codes from app_worker_launch, app_worker_kill.

c APP_WORKER_RESULT_SUCCESS

Success.

c APP_WORKER_RESULT_NO_WORKER

No worker found for the current app.

c APP_WORKER_RESULT_DIFFERENT_APP

A worker for a different app is already running.

c APP_WORKER_RESULT_NOT_RUNNING

The worker is not running.

c APP_WORKER_RESULT_ALREADY_RUNNING

The worker is already running.

c APP_WORKER_RESULT_ASKING_CONFIRMATION

The user will be asked for confirmation.

c app_worker_is_running

Determine if the worker for the current app is running.

c app_worker_launch

Launch the worker for the current app. Note that this is an asynchronous operation, a result code of APP_WORKER_RESULT_SUCCESS merely means that the request was successfully queued up.

c app_worker_kill

Kill the worker for the current app. Note that this is an asynchronous operation, a result code of APP_WORKER_RESULT_SUCCESS merely means that the request was successfully queued up.

c AppWorkerMessageHandler

Callback type for worker messages. Messages can be sent from worker to app or vice versa.

c app_worker_message_subscribe

Subscribe to worker messages. Once subscribed, the handler gets called on every message emitted by the other task (either worker or app).

c app_worker_message_unsubscribe

Unsubscribe from worker messages. Once unsubscribed, the previously registered handler will no longer be called.

c app_worker_send_message

Send a message to the other task (either worker or app).

c AppWorkerMessage

Generic structure of a worker message that can be sent between an app and its worker.

c DataLogging

Enables logging data asynchronously to a mobile app

c DataLoggingSessionRef
c DataLoggingItemType

The different types of session data that Pebble supports. This type describes the type of a singular item in the data session. Every item in a given session is the same type and size.

c DATA_LOGGING_BYTE_ARRAY

Array of bytes. Remember that this is the type of a single item in the logging session, so using this type means you'll be logging multiple byte arrays (each a fixed length described by item_length) for the duration of the session.

c DATA_LOGGING_UINT

Unsigned integer. This may be a 1, 2, or 4 byte integer depending on the item_length parameter.

c DATA_LOGGING_INT

Signed integer. This may be a 1, 2, or 4 byte integer depending on the item_length parameter.

c DataLoggingResult

Enumerated values describing the possible outcomes of data logging operations.

c DATA_LOGGING_SUCCESS

Successful operation.

c DATA_LOGGING_BUSY

Someone else is writing to this logging session.

c DATA_LOGGING_FULL

No more space to save data.

c DATA_LOGGING_NOT_FOUND

The logging session does not exist.

c DATA_LOGGING_CLOSED

The logging session was made inactive.

c DATA_LOGGING_INVALID_PARAMS

An invalid parameter was passed to one of the functions.

c DATA_LOGGING_INTERNAL_ERR

An internal error occurred.

c data_logging_create

Create a new data logging session.

c data_logging_finish

Finish up a data logging_session. Logging data is kept until it has successfully been transferred over to the phone, but no data may be added to the session after this function is called.

c data_logging_log

Add data to the data logging session. If a phone is available, the data is sent directly to the phone. Otherwise, it is saved to the watch storage until the watch is connected to a phone.

c DataStructures
c UUID
c UUID_SIZE
c UuidMake

Make a Uuid object from sixteen bytes.

c UuidMakeFromBEBytes

Creates a Uuid from an array of bytes with 16 bytes in Big Endian order.

c UuidMakeFromLEBytes

Creates a Uuid from an array of bytes with 16 bytes in Little Endian order.

c uuid_equal

Compares two UUIDs.

c uuid_to_string

Writes UUID in a string form into buffer that looks like the following... {12345678-1234-5678-1234-567812345678} or {NULL UUID} if NULL was passed.

c UUID_STRING_BUFFER_LENGTH

The minimum required length of a string used to hold a uuid (including null).

c Uuid
c Dictation
c DictationSession
c DictationSessionStatus
c DictationSessionStatusSuccess

Transcription successful, with a valid result.

c DictationSessionStatusFailureTranscriptionRejected

User rejected transcription and exited UI.

c DictationSessionStatusFailureTranscriptionRejectedWithError

User exited UI after transcription error.

c DictationSessionStatusFailureSystemAborted

Too many errors occurred during transcription and the UI exited.

c DictationSessionStatusFailureNoSpeechDetected

No speech was detected and UI exited.

c DictationSessionStatusFailureConnectivityError

No BT or internet connection.

c DictationSessionStatusFailureDisabled

Voice transcription disabled for this user.

c DictationSessionStatusFailureInternalError

Voice transcription failed due to internal error.

c DictationSessionStatusFailureRecognizerError

Cloud recognizer failed to transcribe speech (only possible if error dialogs disabled)

c DictationSessionStatusCallback

Dictation status callback. Indicates success or failure of the dictation session and, if successful, passes the transcribed string to the user of the dictation session. The transcribed string will be freed after this call returns, so the string should be copied if it needs to be retained afterwards.

c dictation_session_create

Create a dictation session. The session object can be used more than once to get a transcription. When a transcription is received a buffer will be allocated to store the text in with a maximum size specified by buffer_size. When a transcription and accepted by the user or a failure of some sort occurs, the callback specified will be called with the status and the transcription if one was accepted.

c dictation_session_destroy

Destroy the dictation session and free its memory. Will terminate a session in progress.

c dictation_session_start

Start the dictation session. The dictation UI will be shown. When the user accepts a transcription or exits the UI, or, when the confirmation dialog is disabled and a status is received, the status callback will be called. Can only be called when no session is in progress. The session can be restarted multiple times after the UI is exited or the session is stopped.

c dictation_session_stop

Stop the current dictation session. The UI will be hidden and no status callbacks will be received after the session is stopped.

c dictation_session_enable_confirmation

Enable or disable user confirmation of transcribed text, which allows the user to accept or reject (and restart) the transcription. Must be called before the session is started.

c dictation_session_enable_error_dialogs

Enable or disable error dialogs when transcription fails. Must be called before the session is started. Disabling error dialogs will also disable automatic retries if transcription fails.

c PBL_IF_MICROPHONE_ELSE

Convenience macro to switch between two expressions depending on mic support. On platforms with a mic the first expression will be chosen, the second otherwise.

c Dictionary

Data serialization utilities

c DictionaryResult

Return values for dictionary write/conversion functions.

c DICT_OK

The operation returned successfully.

c DICT_NOT_ENOUGH_STORAGE

There was not enough backing storage to complete the operation.

c DICT_INVALID_ARGS

One or more arguments were invalid or uninitialized.

c DICT_INTERNAL_INCONSISTENCY

The lengths and/or count of the dictionary its tuples are inconsistent.

c DICT_MALLOC_FAILED

A requested operation required additional memory to be allocated, but the allocation failed, likely due to insufficient remaining heap memory.

c TupleType

Values representing the type of data that the value field of a Tuple contains.

c TUPLE_BYTE_ARRAY

The value is an array of bytes.

c TUPLE_CSTRING

The value is a zero-terminated, UTF-8 C-string.

c TUPLE_UINT

The value is an unsigned integer. The tuple's .length field is used to determine the size of the integer (1, 2, or 4 bytes).

c TUPLE_INT

The value is a signed integer. The tuple's .length field is used to determine the size of the integer (1, 2, or 4 bytes).

c Dictionary
c dict_calc_buffer_size

Calculates the number of bytes that a dictionary will occupy, given one or more value lengths that need to be stored in the dictionary.

c dict_size

Calculates the size of data that has been written to the dictionary. AKA, the "dictionary size". Note that this is most likely different than the size of the backing storage/backing buffer.

c dict_write_begin

Initializes the dictionary iterator with a given buffer and size, resets and empties it, in preparation of writing key/value tuples.

c dict_write_data

Adds a key with a byte array value pair to the dictionary.

c dict_write_cstring

Adds a key with a C string value pair to the dictionary.

c dict_write_int

Adds a key with an integer value pair to the dictionary.

c dict_write_uint8

Adds a key with an unsigned, 8-bit integer value pair to the dictionary.

c dict_write_uint16
c dict_write_uint32
c dict_write_int8
c dict_write_int16
c dict_write_int32
c dict_write_end

End a series of writing operations to a dictionary. This must be called before reading back from the dictionary.

c dict_read_begin_from_buffer

Initializes the dictionary iterator with a given buffer and size, in preparation of reading key/value tuples.

c dict_read_next

Progresses the iterator to the next key/value pair.

c dict_read_first

Resets the iterator back to the same state as a call to dict_read_begin_from_buffer() would do.

c TupletBytes

Macro to create a Tuplet with a byte array value.

c TupletCString

Macro to create a Tuplet with a c-string value.

c TupletInteger

Macro to create a Tuplet with an integer value.

c DictionarySerializeCallback

Callback for dict_serialize_tuplets() utility.

c dict_serialize_tuplets

Utility function that takes a list of Tuplets from which a dictionary will be serialized, ready to transmit or store.

c dict_serialize_tuplets_to_buffer

Utility function that takes an array of Tuplets and serializes them into a dictionary with a given buffer and size.

c dict_serialize_tuplets_to_buffer_with_iter

Serializes an array of Tuplets into a dictionary with a given buffer and size.

c dict_write_tuplet

Serializes a Tuplet and writes the resulting Tuple into a dictionary.

c dict_calc_buffer_size_from_tuplets

Calculates the number of bytes that a dictionary will occupy, given one or more Tuplets that need to be stored in the dictionary.

c DictionaryKeyUpdatedCallback

Type of the callback used in dict_merge()

c dict_merge

Merges entries from another "source" dictionary into a "destination" dictionary. All Tuples from the source are written into the destination dictionary, while updating the exsting Tuples with matching keys.

c dict_find

Tries to find a Tuple with specified key in a dictionary.

c DictionaryIterator

An iterator can be used to iterate over the key/value tuples in an existing dictionary, using dict_read_begin_from_buffer(), dict_read_first() and dict_read_next(). An iterator can also be used to append key/value tuples to a dictionary, for example using dict_write_data() or dict_write_cstring().

c Tuple

Data structure for one serialized key/value tuple.

c Tuplet

Non-serialized, template data structure for a key/value pair. For strings and byte arrays, it only has a pointer to the actual data. For integers, it provides storage for integers up to 32-bits wide. The Tuplet data structure is useful when creating dictionaries from values that are already stored in arbitrary buffers. See also Tuple, with is the header of a serialized key/value pair.

c Event Service

APIs to handle event services.

c AccelerometerService
c AccelAxisType

Enumerated values defining the three accelerometer axes.

c ACCEL_AXIS_X

Accelerometer's X axis. The positive direction along the X axis goes toward the right of the watch.

c ACCEL_AXIS_Y

Accelerometer's Y axis. The positive direction along the Y axis goes toward the top of the watch.

c ACCEL_AXIS_Z

Accelerometer's Z axis. The positive direction along the Z axis goes vertically out of the watchface.

c AccelDataHandler

Callback type for accelerometer data events.

c AccelRawDataHandler

Callback type for accelerometer raw data events.

c AccelTapHandler

Callback type for accelerometer tap events.

c AccelSamplingRate

Valid accelerometer sampling rates, in Hz.

c ACCEL_SAMPLING_10HZ

10 HZ sampling rate

c ACCEL_SAMPLING_25HZ

25 HZ sampling rate [Default]

c ACCEL_SAMPLING_50HZ

50 HZ sampling rate

c ACCEL_SAMPLING_100HZ

100 HZ sampling rate

c accel_service_peek

Peek at the last recorded reading.

c accel_service_set_sampling_rate

Change the accelerometer sampling rate.

c accel_service_set_samples_per_update

Change the number of samples buffered between each accelerometer data event.

c accel_data_service_subscribe

Subscribe to the accelerometer data event service. Once subscribed, the handler gets called every time there are new accelerometer samples available.

c accel_data_service_unsubscribe

Unsubscribe from the accelerometer data event service. Once unsubscribed, the previously registered handler will no longer be called.

c accel_tap_service_subscribe

Subscribe to the accelerometer tap event service. Once subscribed, the handler gets called on every tap event emitted by the accelerometer.

c accel_tap_service_unsubscribe

Unsubscribe from the accelerometer tap event service. Once unsubscribed, the previously registered handler will no longer be called.

c accel_raw_data_service_subscribe

Subscribe to the accelerometer raw data event service. Once subscribed, the handler gets called every time there are new accelerometer samples available.

c AccelData

A single accelerometer sample for all three axes including timestamp and vibration rumble status.

c AccelRawData

A single accelerometer sample for all three axes.

c AppFocusService
c AppFocusHandler

Callback type for focus events.

c app_focus_service_subscribe_handlers

Subscribe to the focus event service. Once subscribed, the handlers get called every time the app gains or loses focus.

c app_focus_service_subscribe

Subscribe to the focus event service. Once subscribed, the handler gets called every time the app focus changes.

c app_focus_service_unsubscribe

Unsubscribe from the focus event service. Once unsubscribed, the previously registered handlers will no longer be called.

c AppFocusHandlers

There are two different focus events which take place when transitioning to and from an app being in focus. Below is an example of when these events will occur: 1) The app is launched. Once the system animation to the app has completed and the app is completely in focus, the did_focus handler is called with in_focus set to true. 2) A notification comes in and the animation to show the notification starts. The will_focus handler is called with in_focus set to false. 3) The animation completes and the notification is in focus, with the app being completely covered. The did_focus hander is called with in_focus set to false. 4) The notification is dismissed and the animation to return to the app starts. The will_focus handler is called with in_focus set to true. 5) The animation completes and the app is in focus. The did_focus handler is called with in_focus set to true.

c BatteryStateService
c BatteryStateHandler

Callback type for battery state change events.

c battery_state_service_subscribe

Subscribe to the battery state event service. Once subscribed, the handler gets called on every battery state change.

c battery_state_service_unsubscribe

Unsubscribe from the battery state event service. Once unsubscribed, the previously registered handler will no longer be called.

c battery_state_service_peek

Peek at the last known battery state.

c BatteryChargeState

Structure for retrieval of the battery charge state.

c CompassService
c CompassStatus

Enum describing the current state of the Compass Service.

c CompassStatusUnavailable

The Compass Service is unavailable.

c CompassStatusDataInvalid

Compass is calibrating: data is invalid and should not be used Data will become valid once calibration is complete.

c CompassStatusCalibrating

Compass is calibrating: the data is valid but the calibration is still being refined.

c CompassStatusCalibrated

Compass data is valid and the calibration has completed.

c CompassHeading

Represents an angle relative to get to a reference direction, e.g. (magnetic) north. The angle value is scaled linearly, such that a value of TRIG_MAX_ANGLE corresponds to 360 degrees or 2 PI radians. Thus, if heading towards north, north is 0, west is TRIG_MAX_ANGLE/4, south is TRIG_MAX_ANGLE/2, and so on.

c CompassHeadingHandler

Callback type for compass heading events.

c compass_service_set_heading_filter

Set the minimum angular change required to generate new compass heading events. The angular distance is measured relative to the last delivered heading event. Use 0 to be notified of all movements. Negative values and values > TRIG_MAX_ANGLE / 2 are not valid. The default value of this property is TRIG_MAX_ANGLE / 360.

c compass_service_subscribe

Subscribe to the compass heading event service. Once subscribed, the handler gets called every time the angular distance relative to the previous value exceeds the configured filter.

c compass_service_unsubscribe

Unsubscribe from the compass heading event service. Once unsubscribed, the previously registered handler will no longer be called.

c compass_service_peek

Peek at the last recorded reading.

c CompassHeadingData

Structure containing a single heading towards magnetic and true north.

c ConnectionService

Determine what the Pebble watch is connected to

c ConnectionHandler
c connection_service_peek_pebble_app_connection

Query the bluetooth connection service for the current Pebble app connection status.

c connection_service_peek_pebblekit_connection

Query the bluetooth connection service for the current PebbleKit connection status.

c connection_service_subscribe

Subscribe to the connection event service. Once subscribed, the appropriate handler gets called based on the type of connection event and user provided handlers.

c connection_service_unsubscribe

Unsubscribe from the bluetooth event service. Once unsubscribed, the previously registered handler will no longer be called.

c BluetoothConnectionHandler
c bluetooth_connection_service_peek
c bluetooth_connection_service_subscribe
c bluetooth_connection_service_unsubscribe
c ConnectionHandlers
c HealthService
c HealthMetric

Health metric values used to retrieve health data. For example, using health_service_sum().

c HealthMetricStepCount

The number of steps counted.

c HealthMetricActiveSeconds

The number of seconds spent active (i.e. not resting).

c HealthMetricWalkedDistanceMeters

The distance walked, in meters.

c HealthMetricSleepSeconds

The number of seconds spent sleeping.

c HealthMetricSleepRestfulSeconds

The number of sleep seconds in the 'restful' or deep sleep state.

c HealthMetricRestingKCalories

The number of kcal (Calories) burned while resting due to resting metabolism.

c HealthMetricActiveKCalories

The number of kcal (Calories) burned while active.

c HealthMetricHeartRateBPM

The heart rate, in beats per minute. This is a filtered value that is at most 15 minutes old.

c HealthMetricHeartRateRawBPM

The raw heart rate value of the most recent sample, in beats per minute.

c HealthValue

Type used to represent HealthMetric values.

c HealthMetricAlert

Type used as a handle to a registered metric alert (returned by health_service_register_metric_alert)

c health_service_sum

Return the sum of a HealthMetric's values over a time range. The time_start and time_end parameters define the range of time you want the sum for.

c health_service_sum_today

Convenience wrapper for health_service_sum() that returns the sum for today.

c health_service_peek_current_value

Convenience function for peeking at the current value of a metric. This is useful for metrics like HealthMetricHeartRateBPM that represent instantaneous values. It is NOT applicable for metrics like HealthMetricStepCount that must be accumulated over time (it will return 0 if passed that type of metric). This call is equivalent to calling health_service_aggregate_averaged(metric, time(NULL), time(NULL), HealthAggregationAvg, HealthServiceTimeScopeOnce)

c HealthServiceTimeScope

Used by health_service_sum_averaged() to specify how the average is computed.

c HealthServiceTimeScopeOnce

No average computed. The result is the same as calling health_service_sum().

c HealthServiceTimeScopeWeekly

Compute average using the same day from each week. For example, every Monday if the passed in time range falls on a Monday.

c HealthServiceTimeScopeDailyWeekdayOrWeekend

Compute average using either weekdays (Monday to Friday) or weekends (Saturday and Sunday), depending on which day the passed in time range falls.

c HealthServiceTimeScopeDaily

Compute average across all days of the week.

c health_service_sum_averaged

Return the value of a metric's sum over a given time range between time_start and time_end. Using this call you can specify the time range that you are interested in getting the average for, as well as a scope specifier on how to compute an average of the sum. For example, if you want to get the average number of steps taken from 12 AM (midnight) to 9 AM across all days you would specify:

c HealthAggregation

Used by health_service_aggregate_averaged() to specify what type of aggregation to perform. This aggregation is applied to the metric before the average is computed.

c HealthAggregationSum

Sum the metric. The result is the same as calling health_service_sum_averaged(). This operation is only applicable for metrics that accumulate, like HealthMetricStepCount, HealthMetricActiveSeconds, etc.

c HealthAggregationAvg

Use the average of the metric. This is only applicable for metrics that measure instantaneous values, like HealthMetricHeartRateBPM.

c HealthAggregationMin

Use the minimum value of the metric. This is only applicable for metrics that measure instantaneous values, like HealthMetricHeartRateBPM.

c HealthAggregationMax

Use the maximum value of the metric. This is only applicable for metrics that measure instantaneous values, like HealthMetricHeartRateBPM.

c health_service_aggregate_averaged

Return the value of an aggregated metric over a given time range. This call is more flexible than health_service_sum_averaged because it lets you specify which aggregation function to perform.

c HealthActivityMask

Expresses a set of HealthActivity values as a bitmask.

c HealthActivityMaskAll

A mask value representing all available activities.

c HealthActivity

Health-related activities that can be accessed using.

c HealthActivityNone

No special activity.

c HealthActivitySleep

The 'sleeping' activity.

c HealthActivityRestfulSleep

The 'restful sleeping' activity.

c HealthActivityWalk

The 'walk' activity.

c HealthActivityRun

The 'run' activity.

c HealthActivityOpenWorkout

The 'generic' activity.

c health_service_peek_current_activities

Return a HealthActivityMask containing a set of bits, one set for each activity that is currently active.

c HealthActivityIteratorCB

Callback used by health_service_activities_iterate().

c HealthIterationDirection

Iteration direction, passed to health_service_activities_iterate(). When iterating backwards (HealthIterationDirectionPast), activities that have a greater value for time_end come first. When iterating forward (HealthIterationDirectionFuture), activities that have a smaller value for time_start come first.

c HealthIterationDirectionPast

Iterate into the past.

c HealthIterationDirectionFuture

Iterate into the future.

c health_service_activities_iterate

Iterates backwards or forward within a given time span to list all recorded activities. For example, this can be used to find the last recorded sleep phase or all deep sleep phases in a given time range. Any activity that overlaps with time_start and time_end will be included, even if the start time starts before time_start or end time ends after time_end.

c HealthServiceAccessibilityMask

Possible values returned by health_service_metric_accessible(). The values are used in combination as a bitmask. For example, to check if any data is available for a given request use: bool any_data_available = value & HealthServiceAccessibilityMaskAvailable;.

c HealthServiceAccessibilityMaskAvailable

Return values are available and represent the collected health information.

c HealthServiceAccessibilityMaskNoPermission

The user hasn't granted permission.

c HealthServiceAccessibilityMaskNotSupported

The queried combination of time span and HealthMetric or HealthActivityMask is currently unsupported.

c HealthServiceAccessibilityMaskNotAvailable

No samples were recorded for the given time span.

c health_service_metric_accessible

Check if a certain combination of metric and time span is accessible using health_service_sum by returning a value of HealthServiceAccessibilityMask. Developers should check if the return value is HealthServiceAccessibilityMaskAvailable before calling health_service_sum.

c health_service_metric_averaged_accessible

Check if a certain combination of metric, time span, and scope is accessible for calculating summed, averaged data by returning a value of HealthServiceAccessibilityMask. Developers should check if the return value is HealthServiceAccessibilityMaskAvailable before calling health_service_sum_averaged.

c health_service_metric_aggregate_averaged_accessible

Check if a certain combination of metric, time span, aggregation operation, and scope is accessible for calculating aggregated, averaged data by returning a value of HealthServiceAccessibilityMask. Developers should check if the return value is HealthServiceAccessibilityMaskAvailable before calling health_service_aggregate_averaged.

c health_service_any_activity_accessible

Check if a certain combination of metric, HealthActivityMask and time span is accessible. Developers should check if the return value is HealthServiceAccessibilityMaskAvailable before calling any other HealthService APIs that involve the given activities.

c HealthEventType

Health event enum. Passed into the HealthEventHandler.

c HealthEventSignificantUpdate

All data is considered as outdated and apps should re-read all health data. This happens after an app is subscribed via health_service_events_subscribe(), on a change of the day, or in other cases that significantly change the underlying data.

c HealthEventMovementUpdate

Recent values around HealthMetricStepCount, HealthMetricActiveSeconds, or HealthMetricWalkedDistanceMeters have changed.

c HealthEventSleepUpdate

Recent values around HealthMetricSleepSeconds, HealthMetricSleepRestfulSeconds, HealthActivitySleep, and HealthActivityRestfulSleep changed.

c HealthEventMetricAlert

A metric has crossed the threshold set by health_service_register_metric_alert.

c HealthEventHeartRateUpdate

Value of HealthMetricHeartRateBPM or HealthMetricHeartRateRawBPM has changed.

c HealthEventHandler

Developer-supplied event handler, called when a health-related event occurs after subscribing via health_service_events_subscribe();.

c health_service_events_subscribe

Subscribe to HealthService events. This allocates a cache on the application's heap of up to 2048 bytes that will be de-allocated if you call health_service_events_unsubscribe(). If there's not enough heap available, this function will return false and will not subscribe to any events.

c health_service_events_unsubscribe

Unsubscribe from HealthService events.

c health_service_set_heart_rate_sample_period

Set the desired sampling period for heart rate readings. Normally, the system will sample the heart rate using a sampling period that is automatically chosen to provide useful information without undue battery drain (it automatically samples more often during periods of intense activity, and less often when the user is idle). If desired though, an application can request a specific sampling period using this call. The system will use this as a suggestion, but does not guarantee that the requested period will be used. The actual sampling period may be greater or less due to system needs or heart rate sensor reading quality issues.

c health_service_get_heart_rate_sample_period_expiration_sec

Return how long a heart rate sample period request (sent via health_service_set_heart_rate_sample_period) will remain active after the app exits. If there is no current request by this app, this call will return 0.

c health_service_register_metric_alert

Register for an alert when a metric crosses the given threshold. When the metric crosses this threshold (either goes above or below it), a HealthEventMetricAlert event will be generated. To cancel this registration, pass the returned HealthMetricAlert value to health_service_cancel_metric_alert. The only metric currently supported by this call is HealthMetricHeartRateBPM, but future versions may support additional metrics. To see if a specific metric is supported by this call, use:

c health_service_cancel_metric_alert

Cancel an metric alert previously created with health_service_register_metric_alert.

c AmbientLightLevel

Light level enum.

c AmbientLightLevelUnknown
c AmbientLightLevelVeryDark
c AmbientLightLevelDark
c AmbientLightLevelLight
c AmbientLightLevelVeryLight
c health_service_get_minute_history

Return historical minute data records. This fills in the minute_data array parameter with minute by minute statistics of the user's steps, average watch orientation, etc. The data is returned in time order, with the oldest minute data returned at minute_data[0].

c PBL_IF_HEALTH_ELSE

Convenience macro to switch between two expressions depending on health support. On platforms with health support the first expression will be chosen, the second otherwise.

c MeasurementSystem

Types of measurement system a HealthMetric may be measured in.

c MeasurementSystemUnknown

The measurement system is unknown, or does not apply to the chosen metric.

c MeasurementSystemMetric

The metric measurement system.

c MeasurementSystemImperial

The imperial measurement system.

c health_service_get_measurement_system_for_display

Get the preferred measurement system for a given HealthMetric, if the user has chosen a preferred system and it is applicable to that metric.

c HealthMinuteData

Structure representing a single minute data record returned by health_service_get_minute_history(). The orientation field encodes the angle of the watch in the x-y plane (the "yaw") in the lower 4 bits (360 degrees linearly mapped to 1 of 16 different values) and the angle to the z axis (the "pitch") in the upper 4 bits. The vmc value is a measure of the total amount of movement seen by the watch. More vigorous movement yields higher VMC values.

c TickTimerService

Handling time components

c TimeUnits

Time unit flags that can be used to create a bitmask for use in tick_timer_service_subscribe(). This will also be passed to TickHandler.

c SECOND_UNIT

Flag to represent the "seconds" time unit.

c MINUTE_UNIT

Flag to represent the "minutes" time unit.

c HOUR_UNIT

Flag to represent the "hours" time unit.

c DAY_UNIT

Flag to represent the "days" time unit.

c MONTH_UNIT

Flag to represent the "months" time unit.

c YEAR_UNIT

Flag to represent the "years" time unit.

c TickHandler

Callback type for tick timer events.

c tick_timer_service_subscribe

Subscribe to the tick timer event service. Once subscribed, the handler gets called on every requested unit change. Calling this function multiple times will override the units and handler (i.e., only  the last tick_units and handler passed will be used).

c tick_timer_service_unsubscribe

Unsubscribe from the tick timer event service. Once unsubscribed, the previously registered handler will no longer be called.

c Exit Reason

API for the application to notify the system of the reason it will exit.

c AppExitReason

AppExitReason is used to notify the system of the reason of an application exiting, which may affect the part of the system UI that is presented after the application terminates.

c APP_EXIT_NOT_SPECIFIED

Exit reason not specified.

c APP_EXIT_ACTION_PERFORMED_SUCCESSFULLY

Application performed an action when it exited.

c NUM_EXIT_REASONS

Number of AppExitReason options.

c exit_reason_set

Set the app exit reason to a new reason.

c Internationalization

Internationalization & Localization APIs

c i18n_get_system_locale

Get the ISO locale name for the language currently set on the watch.

c Launch Reason

API for checking what caused the application to launch.

c AppLaunchReason

AppLaunchReason is used to inform the application about how it was launched.

c APP_LAUNCH_SYSTEM

App launched by the system.

c APP_LAUNCH_USER

App launched by user selection in launcher menu.

c APP_LAUNCH_PHONE

App launched by mobile or companion app.

c APP_LAUNCH_WAKEUP

App launched by wakeup event.

c APP_LAUNCH_WORKER

App launched by worker calling worker_launch_app()

c APP_LAUNCH_QUICK_LAUNCH

App launched by user using quick launch.

c APP_LAUNCH_TIMELINE_ACTION

App launched by user opening it from a pin.

c APP_LAUNCH_SMARTSTRAP

App launched by a smartstrap.

c launch_reason

Provides the method used to launch the current application.

c launch_get_args

Get the argument passed to the app when it was launched.

c Logging

Functions related to logging from apps.

c app_log
c APP_LOG

A helper macro that simplifies the use of the app_log function.

c AppLogLevel

Suggested log level values.

c APP_LOG_LEVEL_ERROR

Error level log message.

c APP_LOG_LEVEL_WARNING

Warning level log message.

c APP_LOG_LEVEL_INFO

Info level log message.

c APP_LOG_LEVEL_DEBUG

Debug level log message.

c APP_LOG_LEVEL_DEBUG_VERBOSE

Verbose Debug level log message.

c Math

Math routines.

c TRIG_MAX_RATIO

The largest value that can result from a call to sin_lookup or cos_lookup. For a code example, see the detailed description at the top of this chapter: Math.

c TRIG_MAX_ANGLE

Angle value that corresponds to 360 degrees or 2 PI radians.

c TRIGANGLE_TO_DEG

Converts from a fixed point value representation to the equivalent value in degrees.

c DEG_TO_TRIGANGLE

Converts from an angle in degrees to the equivalent fixed point value representation.

c sin_lookup

Look-up the sine of the given angle from a pre-computed table.

c cos_lookup

Look-up the cosine of the given angle from a pre-computed table. This is equivalent to calling sin_lookup(angle + TRIG_MAX_ANGLE / 4).

c atan2_lookup

Look-up the arctangent of a given x, y pair The angle value is scaled linearly, such that a value of 0x10000 corresponds to 360 degrees or 2 PI radians.

c Memory Management

Utility functions for managing an application's memory.

c heap_bytes_free

Calculates the number of bytes of heap memory not currently being used by the application.

c heap_bytes_used

Calculates the number of bytes of heap memory currently being used by the application.

c memory_cache_flush

Flushes the data cache and invalidates the instruction cache for the given region of memory, if necessary. This is only required when your app is loading or modifying code in memory and intends to execute it. On some platforms, code executed may be cached internally to improve performance. After writing to memory, but before executing, this function must be called in order to avoid undefined behavior. On platforms without caching, this performs no operation.

c Platform
c PlatformType
c PlatformTypeAplite
c PlatformTypeBasalt
c PlatformTypeChalk
c PlatformTypeDiorite
c PlatformTypeEmery
c PBL_PLATFORM_TYPE_CURRENT
c PBL_PLATFORM_SWITCH_DEFAULT
c PBL_PLATFORM_SWITCH
c Resources

Managing application resources

c ResHandle

Opaque reference to a resource.

c RESOURCE_ID_FONT_FALLBACK
c resource_get_handle

Gets the resource handle for a file identifier.

c resource_size

Gets the size of the resource given a resource handle.

c resource_load

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

c resource_load_byte_range

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

c File Formats
c PBI File Format
c PNG8 File Format
c Rocky
c Storage

A mechanism to store persistent application data and state

c PERSIST_DATA_MAX_LENGTH

The maximum size of a persist value in bytes.

c PERSIST_STRING_MAX_LENGTH

The maximum size of a persist string in bytes including the NULL terminator.

c StatusCode

Status codes. See status_t.

c S_SUCCESS

Operation completed successfully.

c E_ERROR

An error occurred (no description).

c E_UNKNOWN

No idea what went wrong.

c E_INTERNAL

There was a generic internal logic error.

c E_INVALID_ARGUMENT

The function was not called correctly.

c E_OUT_OF_MEMORY

Insufficient allocatable memory available.

c E_OUT_OF_STORAGE

Insufficient long-term storage available.

c E_OUT_OF_RESOURCES

Insufficient resources available.

c E_RANGE

Argument out of range (may be dynamic).

c E_DOES_NOT_EXIST

Target of operation does not exist.

c E_INVALID_OPERATION

Operation not allowed (may depend on state).

c E_BUSY

Another operation prevented this one.

c E_AGAIN

Operation not completed; try again.

c S_TRUE

Equivalent of boolean true.

c S_FALSE

Equivalent of boolean false.

c S_NO_MORE_ITEMS

For list-style requests. At end of list.

c S_NO_ACTION_REQUIRED

No action was taken as none was required.

c status_t

Return value for system operations. See StatusCode for possible values.

c persist_exists

Checks whether a value has been set for a given key in persistent storage.

c persist_get_size

Gets the size of a value for a given key in persistent storage.

c persist_read_bool

Reads a bool value for a given key from persistent storage. If the value has not yet been set, this will return false.

c persist_read_int

Reads an int value for a given key from persistent storage.

c persist_read_data

Reads a blob of data for a given key from persistent storage into a given buffer. If the value has not yet been set, the given buffer is left unchanged.

c persist_read_string

Reads a string for a given key from persistent storage into a given buffer. The string will be null terminated. If the value has not yet been set, the given buffer is left unchanged.

c persist_write_bool

Writes a bool value flag for a given key into persistent storage.

c persist_write_int

Writes an int value for a given key into persistent storage.

c persist_write_data

Writes a blob of data of a specified size in bytes for a given key into persistent storage. The maximum size is PERSIST_DATA_MAX_LENGTH.

c persist_write_string

Writes a string a given key into persistent storage. The maximum size is PERSIST_STRING_MAX_LENGTH including the null terminator.

c persist_delete

Deletes the value of a key from persistent storage.

c Timer

Can be used to execute some code at some point in the future.

c psleep

Waits for a certain amount of milliseconds.

c AppTimer
c AppTimerCallback

The type of function which can be called when a timer fires. The argument will be the callback_data passed to app_timer_register().

c app_timer_register

Registers a timer that ends up in callback being called some specified time in the future.

c app_timer_reschedule

Reschedules an already running timer for some point in the future.

c app_timer_cancel

Cancels an already registered timer. Once cancelled the handle may no longer be used for any purpose.

c Wakeup

Allows applications to schedule to be launched even if they are not running.

c WakeupId

WakeupId is an identifier for a wakeup event.

c WakeupHandler

The type of function which can be called when a wakeup event occurs.
The arguments will be the id of the wakeup event that occurred, as well as the scheduled cookie provided to wakeup_schedule.

c wakeup_service_subscribe

Registers a WakeupHandler to be called when wakeup events occur.

c wakeup_schedule

Registers a wakeup event that triggers a callback at the specified time. Applications may only schedule up to 8 wakeup events. Wakeup events are given a 1 minute duration window, in that no application may schedule a wakeup event with 1 minute of a currently scheduled wakeup event.

c wakeup_cancel

Cancels a wakeup event.

c wakeup_cancel_all

Cancels all wakeup event for the app.

c wakeup_get_launch_event

Retrieves the wakeup event info for an app that was launched by a wakeup_event (ie. launch_reason() === APP_LAUNCH_WAKEUP) so that an app may display information regarding the wakeup event.

c wakeup_query

Checks if the current WakeupId is still scheduled and therefore valid.

c Wall Time

Functions, data structures and other things related to wall clock time.

c WeekDay

Weekday values.

c TODAY

Today.

c SUNDAY

Sunday.

c MONDAY

Monday.

c TUESDAY

Tuesday.

c WEDNESDAY

Wednesday.

c THURSDAY

Thursday.

c FRIDAY

Friday.

c SATURDAY

Saturday.

c clock_copy_time_string

Copies a time string into the buffer, formatted according to the user's time display preferences (such as 12h/24h time). Example results: "7:30" or "15:00".

c clock_is_24h_style

Gets the user's 12/24h clock style preference.

c clock_to_timestamp

Converts a (day, hour, minute) specification to a UTC timestamp occurring in the future Always returns a timestamp for the next occurring instance, example: specifying TODAY@14:30 when it is 14:40 will return a timestamp for 7 days from now at 14:30.

c clock_is_timezone_set

Checks if timezone is currently set, otherwise gmtime == localtime.

c TIMEZONE_NAME_LENGTH

The maximum length for a timezone full name (e.g. America/Chicago)

c clock_get_timezone

If timezone is set, copies the current timezone long name (e.g. America/Chicago) to user-provided buffer.

c WatchInfo

Provides information about the watch itself.

c WatchInfoModel

The different watch models.

c WATCH_INFO_MODEL_UNKNOWN

Unknown model.

c WATCH_INFO_MODEL_PEBBLE_ORIGINAL

Original Pebble.

c WATCH_INFO_MODEL_PEBBLE_STEEL

Pebble Steel.

c WATCH_INFO_MODEL_PEBBLE_TIME

Pebble Time.

c WATCH_INFO_MODEL_PEBBLE_TIME_STEEL

Pebble Time Steel.

c WATCH_INFO_MODEL_PEBBLE_TIME_ROUND_14

Pebble Time Round, 14mm lug size.

c WATCH_INFO_MODEL_PEBBLE_TIME_ROUND_20

Pebble Time Round, 20mm lug size.

c WATCH_INFO_MODEL_PEBBLE_2_HR

Pebble 2 HR.

c WATCH_INFO_MODEL_PEBBLE_2_SE

Pebble 2 SE.

c WATCH_INFO_MODEL_PEBBLE_TIME_2

Pebble Time 2.

c WATCH_INFO_MODEL_COREDEVICES_C2D

CoreDevices C2D (Core 2 Duo)

c WATCH_INFO_MODEL__MAX
c WatchInfoColor

The different watch colors.

c WATCH_INFO_COLOR_UNKNOWN

Unknown color.

c WATCH_INFO_COLOR_BLACK

Black.

c WATCH_INFO_COLOR_WHITE

White.

c WATCH_INFO_COLOR_RED

Red.

c WATCH_INFO_COLOR_ORANGE

Orange.

c WATCH_INFO_COLOR_GRAY

Gray.

c WATCH_INFO_COLOR_STAINLESS_STEEL

Stainless Steel.

c WATCH_INFO_COLOR_MATTE_BLACK

Matte Black.

c WATCH_INFO_COLOR_BLUE

Blue.

c WATCH_INFO_COLOR_GREEN

Green.

c WATCH_INFO_COLOR_PINK

Pink.

c WATCH_INFO_COLOR_TIME_WHITE

Time White.

c WATCH_INFO_COLOR_TIME_BLACK

Time Black.

c WATCH_INFO_COLOR_TIME_RED

Time Red.

c WATCH_INFO_COLOR_TIME_STEEL_SILVER

Time Steel Silver.

c WATCH_INFO_COLOR_TIME_STEEL_BLACK

Time Steel Black.

c WATCH_INFO_COLOR_TIME_STEEL_GOLD

Time Steel Gold.

c WATCH_INFO_COLOR_TIME_ROUND_SILVER_14

Time Round 14mm lug size, Silver.

c WATCH_INFO_COLOR_TIME_ROUND_BLACK_14

Time Round 14mm lug size, Black.

c WATCH_INFO_COLOR_TIME_ROUND_SILVER_20

Time Round 20mm lug size, Silver.

c WATCH_INFO_COLOR_TIME_ROUND_BLACK_20

Time Round 20mm lug size, Black.

c WATCH_INFO_COLOR_TIME_ROUND_ROSE_GOLD_14

Time Round 14mm lug size, Rose Gold.

c WATCH_INFO_COLOR_PEBBLE_2_HR_BLACK

Pebble 2 HR, Black / Charcoal.

c WATCH_INFO_COLOR_PEBBLE_2_HR_LIME

Pebble 2 HR, Charcoal / Sorbet Green.

c WATCH_INFO_COLOR_PEBBLE_2_HR_FLAME

Pebble 2 HR, Charcoal / Red.

c WATCH_INFO_COLOR_PEBBLE_2_HR_WHITE

Pebble 2 HR, White / Gray.

c WATCH_INFO_COLOR_PEBBLE_2_HR_AQUA

Pebble 2 HR, White / Turquoise.

c WATCH_INFO_COLOR_PEBBLE_2_SE_BLACK

Pebble 2 SE, Black / Charcoal.

c WATCH_INFO_COLOR_PEBBLE_2_SE_WHITE

Pebble 2 SE, White / Gray.

c WATCH_INFO_COLOR_PEBBLE_TIME_2_BLACK

Pebble Time 2, Black.

c WATCH_INFO_COLOR_PEBBLE_TIME_2_SILVER

Pebble Time 2, Silver.

c WATCH_INFO_COLOR_PEBBLE_TIME_2_GOLD

Pebble Time 2, Gold.

c WATCH_INFO_COLOR_COREDEVICES_C2D_BLACK

CoreDevices C2D, Black.

c WATCH_INFO_COLOR_COREDEVICES_C2D_WHITE

CoreDevices C2D, White.

c WATCH_INFO_COLOR__MAX
c watch_info_get_model

Provides the model of the watch.

c watch_info_get_firmware_version

Provides the version of the firmware running on the watch.

c watch_info_get_color
c WatchInfoVersion

Data structure containing the version of the firmware running on the watch. The version of the firmware has the form X.[X.[X]]. If a version number is not present it will be 0. For example: the version numbers of 2.4.1 are 2, 4, and 1. The version numbers of 2.4 are 2, 4, and 0.

c Graphics

Low-level drawing routines.

c Draw Commands

Pebble Draw Commands are a way to encode arbitrary path draw and fill calls in binary format, so that vector-like graphics can be represented on the watch.

c GDrawCommand

Draw commands are the basic building block of the draw command system, encoding the type of command to draw, the stroke width and color, fill color, and points that define the path (or center of a circle.

c GDrawCommandFrame

Draw command frames contain a list of commands to draw for that frame and a duration, indicating the length of time for which the frame should be drawn in an animation sequence. Frames form the building blocks of a GDrawCommandSequence, which consists of multiple frames.

c GDrawCommandImage

Draw command images contain a list of commands that can be drawn. An image can be loaded from PDC file data.

c GDrawCommandList

Draw command lists contain a list of commands that can be iterated over and drawn all at once.

c GDrawCommandListIteratorCb

Callback for iterating over draw command list.

c GDrawCommandSequence

Draw command sequences allow the animation of frames over time. Each sequence has a list of frames that can be accessed by the elapsed duration of the animation (not maintained internally) or by index. Sequences can be loaded from PDC file data.

c GDrawCommandType
c GDrawCommandTypeInvalid

Invalid draw command type.

c GDrawCommandTypePath

Arbitrary path draw command type.

c GDrawCommandTypeCircle

Circle draw command type.

c GDrawCommandTypePrecisePath

Arbitrary path drawn with sub-pixel precision (1/8th precision)

c gdraw_command_draw

Draw a command.

c gdraw_command_get_type

Get the command type.

c gdraw_command_set_fill_color

Set the fill color of a command.

c gdraw_command_get_fill_color

Get the fill color of a command.

c gdraw_command_set_stroke_color

Set the stroke color of a command.

c gdraw_command_get_stroke_color

Get the stroke color of a command.

c gdraw_command_set_stroke_width

Set the stroke width of a command.

c gdraw_command_get_stroke_width

Get the stroke width of a command.

c gdraw_command_get_num_points

Get the number of points in a command.

c gdraw_command_set_point

Set the value of the point in a command at the specified index.

c gdraw_command_get_point

Get the value of a point in a command from the specified index.

c gdraw_command_set_radius

Set the radius of a circle command.

c gdraw_command_get_radius

Get the radius of a circle command.

c gdraw_command_set_path_open

Set the path of a stroke command to be open.

c gdraw_command_get_path_open

Return whether a stroke command path is open.

c gdraw_command_set_hidden

Set a command as hidden. This command will not be drawn when gdraw_command_draw is called with this command.

c gdraw_command_get_hidden

Return whether a command is hidden.

c gdraw_command_frame_draw

Draw a frame.

c gdraw_command_frame_set_duration

Set the duration of the frame.

c gdraw_command_frame_get_duration

Get the duration of the frame.

c gdraw_command_image_create_with_resource

Creates a GDrawCommandImage from the specified resource (PDC file)

c gdraw_command_image_clone

Creates a GDrawCommandImage as a copy from a given image.

c gdraw_command_image_destroy

Deletes the GDrawCommandImage structure and frees associated data.

c gdraw_command_image_draw

Draw an image.

c gdraw_command_image_get_bounds_size

Get size of the bounding box surrounding all draw commands in the image. This bounding box can be used to set the graphics context or layer bounds when drawing the image.

c gdraw_command_image_set_bounds_size

Set size of the bounding box surrounding all draw commands in the image. This bounding box can be used to set the graphics context or layer bounds when drawing the image.

c gdraw_command_image_get_command_list

Get the command list of the image.

c gdraw_command_list_iterate

Iterate over all commands in a command list.

c gdraw_command_list_draw

Draw all commands in a command list.

c gdraw_command_list_get_command

Get the command at the specified index.

c gdraw_command_list_get_num_commands

Get the number of commands in the list.

c gdraw_command_sequence_create_with_resource

Creates a GDrawCommandSequence from the specified resource (PDC file)

c gdraw_command_sequence_clone

Creates a GDrawCommandSequence as a copy from a given sequence.

c gdraw_command_sequence_destroy

Deletes the GDrawCommandSequence structure and frees associated data.

c gdraw_command_sequence_get_frame_by_elapsed

Get the frame that should be shown after the specified amount of elapsed time The last frame will be returned if the elapsed time exceeds the total time.

c gdraw_command_sequence_get_frame_by_index

Get the frame at the specified index.

c gdraw_command_sequence_get_bounds_size

Get the size of the bounding box surrounding all draw commands in the sequence. This bounding box can be used to set the graphics context or layer bounds when drawing the frames in the sequence.

c gdraw_command_sequence_set_bounds_size

Set size of the bounding box surrounding all draw commands in the sequence. This bounding box can be used to set the graphics context or layer bounds when drawing the frames in the sequence.

c gdraw_command_sequence_get_play_count

Get the play count of the sequence.

c gdraw_command_sequence_set_play_count

Set the play count of the sequence.

c gdraw_command_sequence_get_total_duration

Get the total duration of the sequence.

c gdraw_command_sequence_get_num_frames

Get the number of frames in the sequence.

c gdraw_command_frame_get_command_list

Get the command list of the frame.

c Drawing Paths

Functions to draw polygons into a graphics context

c gpath_create

Creates a new GPath on the heap based on a series of points described by a GPathInfo.

c gpath_destroy

Free a dynamically allocated gpath created with gpath_create()

c gpath_draw_filled

Draws the fill of a path into a graphics context, using the current fill color, relative to the drawing area as set up by the layering system.

c gpath_draw_outline

Draws the outline of a path into a graphics context, using the current stroke color and width, relative to the drawing area as set up by the layering system. The first and last points in the path do have a line between them.

c gpath_rotate_to

Sets the absolute rotation of the path. The current rotation will be replaced by the specified angle.

c gpath_move_to

Sets the absolute offset of the path. The current translation will be replaced by the specified offset.

c gpath_draw_outline_open

Draws an open outline of a path into a graphics context, using the current stroke color and width, relative to the drawing area as set up by the layering system. The first and last points in the path do not have a line between them.

c GPath

Data structure describing a path, plus its rotation and translation.

c GPathInfo

Data structure describing a naked path.

c Drawing Primitives

Functions to draw into a graphics context

c GCornerMask

Bit mask values to specify the corners of a rectangle. The values can be combines using binary OR (|), For example: the mask to indicate top left and bottom right corners can: be created as follows: (GCornerTopLeft | GCornerBottomRight)

c GCornerNone

No corners.

c GCornerTopLeft

Top-Left corner.

c GCornerTopRight

Top-Right corner.

c GCornerBottomLeft

Bottom-Left corner.

c GCornerBottomRight

Bottom-Right corner.

c GCornersAll

All corners.

c GCornersTop

Top corners.

c GCornersBottom

Bottom corners.

c GCornersLeft

Left corners.

c GCornersRight

Right corners.

c graphics_draw_pixel

Draws a pixel at given point in the current stroke color.

c graphics_draw_line

Draws line in the current stroke color, current stroke width and AA flag.

c graphics_draw_rect

Draws a 1-pixel wide rectangle outline in the current stroke color.

c graphics_fill_rect

Fills a rectangle with the current fill color, optionally rounding all or a selection of its corners.

c graphics_draw_circle

Draws the outline of a circle in the current stroke color.

c graphics_fill_circle

Fills a circle in the current fill color.

c graphics_draw_round_rect

Draws the outline of a rounded rectangle in the current stroke color.

c graphics_draw_bitmap_in_rect

Draws a bitmap into the graphics context, inside the specified rectangle.

c graphics_capture_frame_buffer

A shortcut to capture the framebuffer in the native format of the watch.

c graphics_capture_frame_buffer_format

Captures the frame buffer for direct access, using the given format. Graphics functions will not affect the frame buffer while it is captured. The frame buffer is released when graphics_release_frame_buffer is called. The frame buffer must be released before the end of a layer's .update_proc for the layer to be drawn properly.

c graphics_release_frame_buffer

Releases the frame buffer. Must be called before the end of a layer's .update_proc for the layer to be drawn properly.

c graphics_frame_buffer_is_captured

Whether or not the frame buffer has been captured by graphics_capture_frame_buffer. Graphics functions will not affect the frame buffer until it has been released by graphics_release_frame_buffer.

c graphics_draw_rotated_bitmap

Draws a rotated bitmap with a memory-sensitive 2x anti-aliasing technique (using ray-finding instead of super-sampling), which is thresholded into a b/w bitmap for 1-bit and color blended for 8-bit.

c GOvalScaleMode

Values to specify how a given rectangle should be used to derive an oval shape.

c GOvalScaleModeFitCircle

Places a circle at the center of the rectangle, with a diameter that matches the rectangle's shortest side.

c GOvalScaleModeFillCircle

Places a circle at the center of the rectangle, with a diameter that matches the rectangle's longest side. The circle may overflow the bounds of the rectangle.

c graphics_draw_arc

Draws a line arc clockwise between angle_start and angle_end, where 0° is the top of the circle. If the difference between angle_start and angle_end is greater than 360°, a full circle will be drawn.

c graphics_fill_radial

Fills a circle clockwise between angle_start and angle_end, where 0° is the top of the circle. If the difference between angle_start and angle_end is greater than 360°, a full circle will be drawn and filled. If angle_start is greater than angle_end nothing will be drawn.

c gpoint_from_polar

Calculates a GPoint located at the angle provided on the perimeter of a circle defined by the provided GRect.

c grect_centered_from_polar

Calculates a rectangle centered on the perimeter of a circle at a given angle. Use this to construct rectangles that follow the perimeter of a circle as an input for graphics_fill_radial_internal or graphics_draw_arc_internal, e.g. to draw circles every 30 degrees on a watchface.

c Drawing Text

Functions to draw text into a graphics context

c GTextOverflowMode

Text overflow mode controls the way text overflows when the string that is drawn does not fit inside the area constraint.

c GTextOverflowModeWordWrap

On overflow, wrap words to a new line below the current one. Once vertical space is consumed, the last line may be clipped.

c GTextOverflowModeTrailingEllipsis

On overflow, wrap words to a new line below the current one. Once vertical space is consumed, truncate as needed to fit a trailing ellipsis (...). Clipping may occur if the vertical space cannot accomodate the first line of text.

c GTextOverflowModeFill

Acts like GTextOverflowModeTrailingEllipsis, plus trims leading and trailing newlines, while treating all other newlines as spaces.

c GTextAlignment

Text aligment controls the way the text is aligned inside the box the text is drawn into.

c GTextAlignmentLeft

Aligns the text to the left of the drawing box.

c GTextAlignmentCenter

Aligns the text centered inside the drawing box.

c GTextAlignmentRight

Aligns the text to the right of the drawing box.

c GTextAttributes
c graphics_text_attributes_create

Creates an instance of GTextAttributes for advanced control when rendering text.

c graphics_text_attributes_destroy

Destroys a previously created instance of GTextAttributes.

c graphics_text_attributes_restore_default_text_flow

Restores text flow to the rectangular default.

c graphics_text_attributes_enable_screen_text_flow

Enables text flow that follows the boundaries of the screen.

c graphics_text_attributes_restore_default_paging

Restores paging and locked content origin to the defaults.

c graphics_text_attributes_enable_paging

Enables paging and locks the text flow calculation to a fixed point on the screen.

c graphics_draw_text

Draw text into the current graphics context, using the context's current text color. The text will be drawn inside a box with the specified dimensions and configuration, with clipping occuring automatically.

c graphics_text_layout_get_content_size

Obtain the maximum size that a text with given font, overflow mode and alignment occupies within a given rectangular constraint.

c graphics_text_layout_get_content_size_with_attributes

Obtain the maximum size that a text with given font, overflow mode and alignment occupies within a given rectangular constraint.

c Fonts

Custom and system fonts.

c FontInfo
c GFont

Pointer to opaque font data structure.

c fonts_get_system_font

Loads a system font corresponding to the specified font key.

c fonts_load_custom_font

Loads a custom font.

c fonts_unload_custom_font

Unloads the specified custom font and frees the memory that is occupied by it.

c Graphics Context

The "canvas" into which an application draws

c graphics_context_set_stroke_color

Sets the current stroke color of the graphics context.

c graphics_context_set_fill_color

Sets the current fill color of the graphics context.

c graphics_context_set_text_color

Sets the current text color of the graphics context.

c graphics_context_set_compositing_mode

Sets the current bitmap compositing mode of the graphics context.

c graphics_context_set_antialiased

Sets whether antialiasing is applied to stroke drawing.

c graphics_context_set_stroke_width

Sets the width of the stroke for drawing routines.

c Graphics Types

Basic graphics types (point, rect, size, color, bitmaps, etc.) and utility functions.

c GColorFromRGBA

Convert RGBA to GColor.

c GColorFromRGB

Convert RGB to GColor.

c GColorFromHEX

Convert hex integer to GColor.

c GColor
c gcolor_equal

True if both colors are identical or both are invisible (i.e. both have alpha values of .a=0).

c gcolor_legible_over

This method assists in improving the legibility of text on various background colors. It takes the background color for the region in question and computes a color for maximum legibility.

c COLOR_FALLBACK

Convenience macro allowing use of a fallback color for black and white platforms. On color platforms, the first expression will be chosen, the second otherwise.

c PBL_IF_RECT_ELSE

Convenience macro to switch between two expression depending on the screen of the platform. On platforms with rectangular screen, the first expression will be chosen, the second otherwise.

c PBL_IF_ROUND_ELSE

Convenience macro to switch between two expression depending on the screen of the platform. On platforms with round screen, the first expression will be chosen, the second otherwise.

c PBL_IF_BW_ELSE

Convenience macro to switch between two expression depending on the screen of the platform. On black& white platforms, the first expression will be chosen, the second otherwise.

c PBL_IF_COLOR_ELSE

Convenience macro to switch between two expression depending on the screen of the platform. On color platforms, the first expression will be chosen, the second otherwise.

c GPoint

Convenience macro to make a GPoint.

c GPointZero

Convenience macro to make a GPoint at (0, 0).

c gpoint_equal

Tests whether 2 points are equal.

c GSize

Convenience macro to make a GSize.

c GSizeZero

Convenience macro to make a GSize of (0, 0).

c gsize_equal

Tests whether 2 sizes are equal.

c GRect

Convenience macro to make a GRect.

c GRectZero

Convenience macro to make a GRect of ((0, 0), (0, 0)).

c grect_equal

Tests whether 2 rectangles are equal.

c grect_is_empty

Tests whether the size of the rectangle is (0, 0).

c grect_standardize

Converts a rectangle's values so that the components of its size (width and/or height) are both positive. In the width and/or height are negative, the origin will offset, so that the final rectangle overlaps with the original. For example, a GRect with size (-10, -5) and origin (20, 20), will be standardized to size (10, 5) and origin (10, 15).

c grect_clip

Trim one rectangle using the edges of a second rectangle.

c grect_contains_point

Tests whether a rectangle contains a point.

c grect_center_point

Convenience function to compute the center-point of a given rectangle. This is equal to (rect->x + rect->width / 2, rect->y + rect->height / 2).

c grect_crop

Reduce the width and height of a rectangle by insetting each of the edges with a fixed inset. The returned rectangle will be centered relative to the input rectangle.

c PLAY_COUNT_INFINITE

Repeat Sequence or animation indefinitely.

c PLAY_DURATION_INFINITE

Duration of Sequence or animation is infinite.

c GBitmapFormat

The format of a GBitmap can either be 1-bit or 8-bit.

c GBitmapFormat1Bit
c GBitmapFormat8Bit
c GBitmapFormat1BitPalette
c GBitmapFormat2BitPalette
c GBitmapFormat4BitPalette
c GBitmapFormat8BitCircular
c GBitmap
c GBitmapSequence
c gbitmap_get_bytes_per_row

Get the number of bytes per row in the bitmap data for the given GBitmap. On rectangular displays, this can be used as a safe way of iterating over the rows in the bitmap, since bytes per row should be set according to format. On circular displays with pixel format of GBitmapFormat8BitCircular this will return 0, and should not be used for iteration over frame buffer pixels. Instead, use GBitmapDataRowInfo, which provides safe minimum and maximum x values for a given row's y value.

c gbitmap_get_format

Get the GBitmapFormat for the GBitmap.

c gbitmap_get_data

Get a pointer to the raw image data section of the given GBitmap as specified by the format of the bitmap.

c gbitmap_set_data

Set the bitmap data for the given GBitmap.

c gbitmap_get_bounds

Gets the bounds of the content for the GBitmap. This is set when loading the image or if changed by gbitmap_set_bounds.

c gbitmap_set_bounds

Set the bounds of the given GBitmap.

c gbitmap_get_palette

Get the palette for the given GBitmap.

c gbitmap_set_palette

Set the palette for the given GBitmap.

c gbitmap_create_with_resource

Creates a new GBitmap on the heap using a Pebble image file stored as a resource. The resulting GBitmap must be destroyed using gbitmap_destroy().

c gbitmap_create_with_data

Creates a new GBitmap on the heap initialized with the provided Pebble image data.

c gbitmap_create_as_sub_bitmap

Create a new GBitmap on the heap as a sub-bitmap of a 'base' GBitmap, using a GRect to indicate what portion of the base to use. The sub-bitmap will just reference the image data and palette of the base bitmap. No deep-copying occurs as a result of calling this function, thus the caller is responsible for making sure the base bitmap and palette will remain available when using the sub-bitmap. Note that you should not destroy the parent bitmap until the sub_bitmap has been destroyed. The resulting GBitmap must be destroyed using gbitmap_destroy().

c gbitmap_create_from_png_data

Create a GBitmap based on raw PNG data. The resulting GBitmap must be destroyed using gbitmap_destroy(). The developer is responsible for freeing png_data following this call.

c gbitmap_create_blank

Creates a new blank GBitmap on the heap initialized to zeroes. In the case that the format indicates a palettized bitmap, a palette of appropriate size will also be allocated on the heap. The resulting GBitmap must be destroyed using gbitmap_destroy().

c gbitmap_create_blank_with_palette

Creates a new blank GBitmap on the heap, initialized to zeroes, and assigns it the given palette. No deep-copying of the palette occurs, so the caller is responsible for making sure the palette remains available when using the resulting bitmap. Management of that memory can be handed off to the system with the free_on_destroy argument.

c gbitmap_create_palettized_from_1bit

Given a 1-bit GBitmap, create a new bitmap of format GBitmapFormat1BitPalette. The new data buffer is allocated on the heap, and a 2-color palette is allocated as well.

c gbitmap_destroy

Destroy a GBitmap. This must be called for every bitmap that's been created with gbitmap_create_*.

c gbitmap_sequence_create_with_resource

Creates a GBitmapSequence from the specified resource (APNG/PNG files)

c gbitmap_sequence_update_bitmap_next_frame

Updates the contents of the bitmap sequence to the next frame and optionally returns the delay in milliseconds until the next frame.

c gbitmap_sequence_update_bitmap_by_elapsed

Updates the contents of the bitmap sequence to the frame at elapsed in the sequence. For looping animations this accounts for the loop, for example an animation of 1 second that is configured to loop 2 times updated to 1500 ms elapsed time will display the sequence frame at 500 ms. Elapsed time is the time from the start of the animation, and will be ignored if it is for a time earlier than the last rendered frame.

c gbitmap_sequence_destroy

Deletes the GBitmapSequence structure and frees any allocated memory/decoder_data.

c gbitmap_sequence_restart

Restarts the GBitmapSequence to the first frame gbitmap_sequence_update_bitmap_next_frame.

c gbitmap_sequence_get_current_frame_idx

This function gets the current frame number for the bitmap sequence.

c gbitmap_sequence_get_total_num_frames

This function sets the total number of frames for the bitmap sequence.

c gbitmap_sequence_get_play_count

This function gets the play count (number of times to repeat) the bitmap sequence.

c gbitmap_sequence_set_play_count

This function sets the play count (number of times to repeat) the bitmap sequence.

c gbitmap_sequence_get_bitmap_size

This function gets the minimum required size (dimensions) necessary to render the bitmap sequence to a GBitmap using the /ref gbitmap_sequence_update_bitmap_next_frame.

c gbitmap_get_data_row_info

Provides information about a pixel data row.

c GAlign

Values to specify how two things should be aligned relative to each other.

c GAlignCenter

Align by centering.

c GAlignTopLeft

Align by making the top edges overlap and left edges overlap.

c GAlignTopRight

Align by making the top edges overlap and left edges overlap.

c GAlignTop

Align by making the top edges overlap and centered horizontally.

c GAlignLeft

Align by making the left edges overlap and centered vertically.

c GAlignBottom

Align by making the bottom edges overlap and centered horizontally.

c GAlignRight

Align by making the right edges overlap and centered vertically.

c GAlignBottomRight

Align by making the bottom edges overlap and right edges overlap.

c GAlignBottomLeft

Align by making the bottom edges overlap and left edges overlap.

c grect_align

Aligns one rectangle within another rectangle, using an alignment parameter. The relative coordinate systems of both rectangles are assumed to be the same. When clip is true, rect is also clipped by the constraint.

c GCompOp

Values to specify how the source image should be composited onto the destination image.

c GCompOpAssign

Assign the pixel values of the source image to the destination pixels, effectively replacing the previous values for those pixels. For color displays, when drawing a palettized or 8-bit GBitmap image, the opacity value is ignored.

c GCompOpAssignInverted

Assign the inverted pixel values of the source image to the destination pixels, effectively replacing the previous values for those pixels.

c GCompOpOr

Use the boolean operator OR to composite the source and destination pixels. The visual result of this compositing mode is the source's white pixels are painted onto the destination and the source's black pixels are treated as clear.

c GCompOpAnd

Use the boolean operator AND to composite the source and destination pixels. The visual result of this compositing mode is the source's black pixels are painted onto the destination and the source's white pixels are treated as clear.

c GCompOpClear

Clears the bits in the destination image, using the source image as mask. The visual result of this compositing mode is that for the parts where the source image is white, the destination image will be painted black. Other parts will be left untouched.

c GCompOpSet

Sets the bits in the destination image, using the source image as mask. This mode is required to apply any transparency of your bitmap.

c GContext
c GEdgeInsets4

helper for GEdgeInsets macro

c GEdgeInsets3

helper for GEdgeInsets macro

c GEdgeInsets2

helper for GEdgeInsets macro

c GEdgeInsets1

helper for GEdgeInsets macro

c GEdgeInsetsN

helper for GEdgeInsets macro

c GEdgeInsets

Convenience macro to make a GEdgeInsets This macro follows the CSS shorthand notation where you can call it with.

c grect_inset

Returns a rectangle that is shrinked or expanded by the given edge insets.

c GBitmapDataRowInfo

Description of a single data row in the pixel data of a bitmap.

c GColor8
c GEdgeInsets

Represents insets for four sides. Negative values mean a side extends.

c GPoint

Represents a point in a 2-dimensional coordinate system.

c GRect

Represents a rectangle and defining it using the origin of the upper-lefthand corner and its size.

c GSize

Represents a 2-dimensional size.

c Color Definitions

A list of all of the named colors available with links to the color map on the Pebble Developer website.

c GColorBlackARGB8
c GColorOxfordBlueARGB8
c GColorDukeBlueARGB8
c GColorBlueARGB8
c GColorDarkGreenARGB8
c GColorMidnightGreenARGB8
c GColorCobaltBlueARGB8
c GColorBlueMoonARGB8
c GColorIslamicGreenARGB8
c GColorJaegerGreenARGB8
c GColorTiffanyBlueARGB8
c GColorVividCeruleanARGB8
c GColorGreenARGB8
c GColorMalachiteARGB8
c GColorMediumSpringGreenARGB8
c GColorCyanARGB8
c GColorBulgarianRoseARGB8
c GColorImperialPurpleARGB8
c GColorIndigoARGB8
c GColorElectricUltramarineARGB8
c GColorArmyGreenARGB8
c GColorDarkGrayARGB8
c GColorLibertyARGB8
c GColorVeryLightBlueARGB8
c GColorKellyGreenARGB8
c GColorMayGreenARGB8
c GColorCadetBlueARGB8
c GColorPictonBlueARGB8
c GColorBrightGreenARGB8
c GColorScreaminGreenARGB8
c GColorMediumAquamarineARGB8
c GColorElectricBlueARGB8
c GColorDarkCandyAppleRedARGB8
c GColorJazzberryJamARGB8
c GColorPurpleARGB8
c GColorVividVioletARGB8
c GColorWindsorTanARGB8
c GColorRoseValeARGB8
c GColorPurpureusARGB8
c GColorLavenderIndigoARGB8
c GColorLimerickARGB8
c GColorBrassARGB8
c GColorLightGrayARGB8
c GColorBabyBlueEyesARGB8
c GColorSpringBudARGB8
c GColorInchwormARGB8
c GColorMintGreenARGB8
c GColorCelesteARGB8
c GColorRedARGB8
c GColorFollyARGB8
c GColorFashionMagentaARGB8
c GColorMagentaARGB8
c GColorOrangeARGB8
c GColorSunsetOrangeARGB8
c GColorBrilliantRoseARGB8
c GColorShockingPinkARGB8
c GColorChromeYellowARGB8
c GColorRajahARGB8
c GColorMelonARGB8
c GColorRichBrilliantLavenderARGB8
c GColorYellowARGB8
c GColorIcterineARGB8
c GColorPastelYellowARGB8
c GColorWhiteARGB8
c GColorBlack

GColorBlack

c GColorOxfordBlue

GColorOxfordBlue

c GColorDukeBlue

GColorDukeBlue

c GColorBlue

GColorBlue

c GColorDarkGreen

GColorDarkGreen

c GColorMidnightGreen

GColorMidnightGreen

c GColorCobaltBlue

GColorCobaltBlue

c GColorBlueMoon

GColorBlueMoon

c GColorIslamicGreen

GColorIslamicGreen

c GColorJaegerGreen

GColorJaegerGreen

c GColorTiffanyBlue

GColorTiffanyBlue

c GColorVividCerulean

GColorVividCerulean

c GColorGreen

GColorGreen

c GColorMalachite

GColorMalachite

c GColorMediumSpringGreen

GColorMediumSpringGreen

c GColorCyan

GColorCyan

c GColorBulgarianRose

GColorBulgarianRose

c GColorImperialPurple

GColorImperialPurple

c GColorIndigo

GColorIndigo

c GColorElectricUltramarine

GColorElectricUltramarine

c GColorArmyGreen

GColorArmyGreen

c GColorDarkGray

GColorDarkGray

c GColorLiberty

GColorLiberty

c GColorVeryLightBlue

GColorVeryLightBlue

c GColorKellyGreen

GColorKellyGreen

c GColorMayGreen

GColorMayGreen

c GColorCadetBlue

GColorCadetBlue

c GColorPictonBlue

GColorPictonBlue

c GColorBrightGreen

GColorBrightGreen

c GColorScreaminGreen

GColorScreaminGreen

c GColorMediumAquamarine

GColorMediumAquamarine

c GColorElectricBlue

GColorElectricBlue

c GColorDarkCandyAppleRed

GColorDarkCandyAppleRed

c GColorJazzberryJam

GColorJazzberryJam

c GColorPurple

GColorPurple

c GColorVividViolet

GColorVividViolet

c GColorWindsorTan

GColorWindsorTan

c GColorRoseVale

GColorRoseVale

c GColorPurpureus

GColorPurpureus

c GColorLavenderIndigo

GColorLavenderIndigo

c GColorLimerick

GColorLimerick

c GColorBrass

GColorBrass

c GColorLightGray

GColorLightGray

c GColorBabyBlueEyes

GColorBabyBlueEyes

c GColorSpringBud

GColorSpringBud

c GColorInchworm

GColorInchworm

c GColorMintGreen

GColorMintGreen

c GColorCeleste

GColorCeleste

c GColorRed

GColorRed

c GColorFolly

GColorFolly

c GColorFashionMagenta

GColorFashionMagenta

c GColorMagenta

GColorMagenta

c GColorOrange

GColorOrange

c GColorSunsetOrange

GColorSunsetOrange

c GColorBrilliantRose

GColorBrilliantRose

c GColorShockingPink

GColorShockingPink

c GColorChromeYellow

GColorChromeYellow

c GColorRajah

GColorRajah

c GColorMelon

GColorMelon

c GColorRichBrilliantLavender

GColorRichBrilliantLavender

c GColorYellow

GColorYellow

c GColorIcterine

GColorIcterine

c GColorPastelYellow

GColorPastelYellow

c GColorWhite

GColorWhite

c GColorClearARGB8
c GColorClear
c User Interface

Everything related to user interface.

c Animation

Abstract framework to create arbitrary animations

c Animation
c AnimationProgress

The type used to represent how far an animation has progressed. This is passed to the animation's update handler.

c AnimationCurve

Values that are used to indicate the different animation curves, which determine the speed at which the animated value(s) change(s).

c AnimationCurveLinear

Linear curve: the velocity is constant.

c AnimationCurveEaseIn

Bicubic ease-in: accelerate from zero velocity.

c AnimationCurveEaseOut

Bicubic ease-in: decelerate to zero velocity.

c AnimationCurveEaseInOut

Bicubic ease-in-out: accelerate from zero velocity, decelerate to zero velocity.

c AnimationCurveDefault
c AnimationCurveCustomFunction

Custom (user-provided) animation curve.

c AnimationCurveCustomInterpolationFunction

User-provided interpolation function.

c AnimationCurve_Reserved1
c AnimationCurve_Reserved2
c animation_create

Creates a new Animation on the heap and initalizes it with the default values.

c animation_destroy

Destroys an Animation previously created by animation_create.

c ANIMATION_DURATION_INFINITE

Constant to indicate "infinite" duration. This can be used with animation_set_duration() to indicate that the animation should run indefinitely. This is useful when implementing for example a frame-by-frame simulation that does not have a clear ending (e.g. a game).

c ANIMATION_PLAY_COUNT_INFINITE

Constant to indicate infinite play count. Can be passed to animation_set_play_count() to repeat indefinitely.

c ANIMATION_NORMALIZED_MIN

The normalized distance at the start of the animation.

c ANIMATION_NORMALIZED_MAX

The normalized distance at the end of the animation.

c animation_clone
c animation_sequence_create

Create a new sequence animation from a list of 2 or more other animations. The returned animation owns the animations that were provided as arguments and no further write operations on those handles are allowed. The variable length argument list must be terminated with a NULL ptr.

c animation_sequence_create_from_array

An alternate form of animation_sequence_create() that accepts an array of other animations.

c animation_spawn_create

Create a new spawn animation from a list of 2 or more other animations. The returned animation owns the animations that were provided as arguments and no further write operations on those handles are allowed. The variable length argument list must be terminated with a NULL ptr.

c animation_spawn_create_from_array

An alternate form of animation_spawn_create() that accepts an array of other animations.

c animation_set_elapsed

Seek to a specific location in the animation. Only forward seeking is allowed. Returns true if successful, false if the passed in seek location is invalid.

c animation_get_elapsed

Get the current location in the animation.

c animation_set_reverse

Set an animation to run in reverse (or forward)

c animation_get_reverse

Get the reverse setting of an animation.

c animation_set_play_count

Set an animation to play N times. The default is 1.

c animation_get_play_count

Get the play count of an animation.

c animation_set_duration

Sets the time in milliseconds that an animation takes from start to finish.

c animation_get_duration

Get the static duration of an animation from start to end (ignoring how much has already played, if any).

c animation_set_delay

Sets an optional delay for the animation.

c animation_get_delay

Get the delay of an animation in milliseconds.

c animation_set_curve

Sets the animation curve for the animation.

c animation_get_curve

Gets the animation curve for the animation.

c AnimationCurveFunction

The function pointer type of a custom animation curve.

c animation_set_custom_curve

Sets a custom animation curve function.

c animation_get_custom_curve

Gets the custom animation curve function for the animation.

c AnimationStartedHandler

The function pointer type of the handler that will be called when an animation is started, just before updating the first frame of the animation.

c AnimationStoppedHandler

The function pointer type of the handler that will be called when the animation is stopped.

c animation_set_handlers

Sets the callbacks for the animation. Often an application needs to run code at the start or at the end of an animation. Using this function is possible to register callback functions with an animation, that will get called at the start and end of the animation.

c animation_get_context

Gets the application-specific callback context of the animation. This void pointer is passed as an argument when the animation system calls AnimationHandlers callbacks. The context pointer can be set to point to any application specific data using animation_set_handlers().

c animation_schedule

Schedules the animation. Call this once after configuring an animation to get it to start running.

c animation_unschedule

Unschedules the animation, which in effect stops the animation.

c animation_unschedule_all

Unschedules all animations of the application.

c animation_is_scheduled
c AnimationSetupImplementation

Pointer to function that (optionally) prepares the animation for running. This callback is called when the animation is added to the scheduler.

c AnimationUpdateImplementation

Pointer to function that updates the animation according to the given normalized progress. This callback will be called repeatedly by the animation scheduler whenever the animation needs to be updated.

c AnimationTeardownImplementation

Pointer to function that (optionally) cleans up the animation. This callback is called when the animation is removed from the scheduler. In case the .setup implementation allocated any memory, this is a good place to release that memory again.

c animation_set_implementation

Sets the implementation of the custom animation. When implementing custom animations, use this function to specify what functions need to be called to for the setup, frame update and teardown of the animation.

c animation_get_implementation

Gets the implementation of the custom animation.

c AnimationHandlers

The handlers that will get called when an animation starts and stops. See documentation with the function pointer types for more information.

c AnimationImplementation

The 3 callbacks that implement a custom animation. Only the .update callback is mandatory, .setup and .teardown are optional. See the documentation with the function pointer typedefs for more information.

c PropertyAnimation

A ProperyAnimation animates the value of a "property" of a "subject" over time.

c PropertyAnimation
c property_animation_create_layer_frame

Convenience function to create and initialize a property animation that animates the frame of a Layer. It sets up the PropertyAnimation to use layer_set_frame() and layer_get_frame() as accessors and uses the layer parameter as the subject for the animation. The same defaults are used as with animation_create().

c property_animation_create_bounds_origin

Convenience function to create and initialize a property animation that animates the bound's origin of a Layer. It sets up the PropertyAnimation to use layer_set_bounds() and layer_get_bounds() as accessors and uses the layer parameter as the subject for the animation. The same defaults are used as with animation_create().

c property_animation_create

Creates a new PropertyAnimation on the heap and and initializes it with the specified values. The same defaults are used as with animation_create(). If the from_value or the to_value is NULL, the getter accessor will be called to get the current value of the property and be used instead.

c property_animation_destroy

Destroy a property animation allocated by property_animation_create() or relatives.

c property_animation_update_int16

Default update callback for a property animations to update a property of type int16_t. Assign this function to the .base.update callback field of your PropertyAnimationImplementation, in combination with a .getter and .setter accessors of types Int16Getter and Int16Setter. The implementation of this function will calculate the next value of the animation and call the setter to set the new value upon the subject.

c property_animation_update_uint32

Default update callback for a property animations to update a property of type uint32_t. Assign this function to the .base.update callback field of your PropertyAnimationImplementation, in combination with a .getter and .setter accessors of types UInt32Getter and UInt32Setter. The implementation of this function will calculate the next value of the animation and call the setter to set the new value upon the subject.

c property_animation_update_gpoint

Default update callback for a property animations to update a property of type GPoint. Assign this function to the .base.update callback field of your PropertyAnimationImplementation, in combination with a .getter and .setter accessors of types GPointGetter and GPointSetter. The implementation of this function will calculate the next point of the animation and call the setter to set the new point upon the subject.

c property_animation_update_grect

Default update callback for a property animations to update a property of type GRect. Assign this function to the .base.update callback field of your PropertyAnimationImplementation, in combination with a .getter and .setter accessors of types GRectGetter and GRectSetter. The implementation of this function will calculate the next rectangle of the animation and call the setter to set the new rectangle upon the subject.

c property_animation_update_gcolor8

Default update callback for a property animations to update a property of type GColor8. Assign this function to the .base.update callback field of your PropertyAnimationImplementation, in combination with a .getter and .setter accessors of types GColor8Getter and GColor8Setter. The implementation of this function will calculate the next rectangle of the animation and call the setter to set the new value upon the subject.

c GPointReturn

Work-around for function pointer return type GPoint to avoid tripping the pre-processor to use the equally named GPoint define.

c GRectReturn

Work-around for function pointer return type GRect to avoid tripping the pre-processor to use the equally named GRect define.

c Int16Setter

Function signature of a setter function to set a property of type int16_t onto the subject.

c Int16Getter

Function signature of a getter function to get the current property of type int16_t of the subject.

c UInt32Setter

Function signature of a setter function to set a property of type uint32_t onto the subject.

c UInt32Getter

Function signature of a getter function to get the current property of type uint32_t of the subject.

c GPointSetter

Function signature of a setter function to set a property of type GPoint onto the subject.

c GPointGetter

Function signature of a getter function to get the current property of type GPoint of the subject.

c GRectSetter

Function signature of a setter function to set a property of type GRect onto the subject.

c GRectGetter

Function signature of a getter function to get the current property of type GRect of the subject.

c GColor8Setter

Function signature of a setter function to set a property of type GColor8 onto the subject.

c GColor8Getter

Function signature of a getter function to get the current property of type GColor8 of the subject.

c property_animation_get_animation

Convenience function to retrieve an animation instance from a property animation instance.

c property_animation_clone

Convenience function to clone a property animation instance.

c property_animation_get_from_grect

Convenience function to retrieve the 'from' GRect value from property animation handle.

c property_animation_set_from_grect

Convenience function to set the 'from' GRect value of property animation handle.

c property_animation_get_from_gpoint

Convenience function to retrieve the 'from' GPoint value from property animation handle.

c property_animation_set_from_gpoint

Convenience function to set the 'from' GPoint value of property animation handle.

c property_animation_get_from_int16

Convenience function to retrieve the 'from' int16_t value from property animation handle.

c property_animation_set_from_int16

Convenience function to set the 'from' int16_t value of property animation handle.

c property_animation_get_to_grect

Convenience function to retrieve the 'to' GRect value from property animation handle.

c property_animation_set_to_grect

Convenience function to set the 'to' GRect value of property animation handle.

c property_animation_get_to_gpoint

Convenience function to retrieve the 'to' GPoint value from property animation handle.

c property_animation_set_to_gpoint

Convenience function to set the 'to' GPoint value of property animation handle.

c property_animation_get_to_int16

Convenience function to retrieve the 'to' int16_t value from property animation handle.

c property_animation_set_to_int16

Convenience function to set the 'to' int16_t value of property animation handle.

c property_animation_get_subject

Retrieve the subject of a property animation.

c property_animation_set_subject

Set the subject of a property animation.

c property_animation_subject

Helper function used by the property_animation_get|set_subject macros.

c property_animation_from

Helper function used by the property_animation_get|set_from_.* macros.

c property_animation_to

Helper function used by the property_animation_get|set_to_.* macros.

c PropertyAnimationAccessors

Data structure containing the setter and getter function pointers that the property animation should use. The specified setter function will be used by the animation's update callback.
Based on the type of the property (int16_t, GPoint or GRect), the accompanying update callback should be used, see property_animation_update_int16(), property_animation_update_gpoint() and property_animation_update_grect().
The getter function is used when the animation is initialized, to assign the current value of the subject's property as "from" or "to" value, see property_animation_create().

c PropertyAnimationImplementation

Data structure containing a collection of function pointers that form the implementation of the property animation. See the code example at the top (PropertyAnimation).

c Clicks

Handling button click interactions

c ButtonId

Button ID values.

c BUTTON_ID_BACK

Back button.

c BUTTON_ID_UP

Up button.

c BUTTON_ID_SELECT

Select (middle) button.

c BUTTON_ID_DOWN

Down button.

c NUM_BUTTONS

Total number of buttons.

c ClickRecognizerRef

Reference to opaque click recognizer When a ClickHandler callback is called, the recognizer that fired the handler is passed in.

c ClickHandler

Function signature of the callback that handles a recognized click pattern.

c ClickConfigProvider

This callback is called every time the window becomes visible (and when you call window_set_click_config_provider() if the window is already visible).

c click_number_of_clicks_counted

Gets the click count. You can use this inside a click handler implementation to get the click count for multi_click and (repeated) click events.

c click_recognizer_get_button_id

Gets the button identifier. You can use this inside a click handler implementation to get the button id for the click event.

c click_recognizer_is_repeating

Is this a repeating click. You can use this inside a click handler implementation to find out whether this is a repeating click or not.

c Layers

User interface layers for displaying graphic components

c Layer
c LayerUpdateProc

Function signature for a Layer's render callback (the name of the type is derived from the words 'update procedure'). The system will call the .update_proc callback whenever the Layer needs to be rendered.

c layer_create

Creates a layer on the heap and sets its frame and bounds. Default values:

c layer_create_with_data

Creates a layer on the heap with extra space for callback data, and set its frame andbounds. Default values:

c layer_destroy

Destroys a layer previously created by layer_create.

c layer_mark_dirty

Marks the complete layer as "dirty", awaiting to be asked by the system to redraw itself. Typically, this function is called whenever state has changed that affects what the layer is displaying.

c layer_set_update_proc

Sets the layer's render function. The system will call the update_proc automatically when the layer needs to redraw itself, see also layer_mark_dirty().

c layer_set_frame

Sets the frame of the layer, which is it's bounding box relative to the coordinate system of its parent layer. The size of the layer's bounds will be extended automatically, so that the bounds cover the new frame.

c layer_get_frame

Gets the frame of the layer, which is it's bounding box relative to the coordinate system of its parent layer. If the frame has changed, layer_mark_dirty() will be called automatically.

c layer_set_bounds

Sets the bounds of the layer, which is it's bounding box relative to its frame. If the bounds has changed, layer_mark_dirty() will be called automatically.

c layer_get_bounds

Gets the bounds of the layer.

c layer_get_unobstructed_bounds

Get the largest unobstructed bounds rectangle of a layer.

c layer_convert_point_to_screen

Converts a point from the layer's local coordinate system to screen coordinates.

c layer_convert_rect_to_screen

Converts a rectangle from the layer's local coordinate system to screen coordinates.

c layer_get_window

Gets the window that the layer is currently attached to.

c layer_remove_from_parent

Removes the layer from its current parent layer If removed successfully, the child's parent layer will be marked dirty automatically.

c layer_remove_child_layers

Removes child layers from given layer If removed successfully, the child's parent layer will be marked dirty automatically.

c layer_add_child

Adds the child layer to a given parent layer, making it appear in front of its parent and in front of any existing child layers of the parent. If the child layer was already part of a layer hierarchy, it will be removed from its old parent first. If added successfully, the parent (and children) will be marked dirty automatically.

c layer_insert_below_sibling

Inserts the layer as a sibling behind another layer. If the layer to insert was already part of a layer hierarchy, it will be removed from its old parent first. The below_layer has to be a child of a parent layer, otherwise this function will be a noop. If inserted successfully, the parent (and children) will be marked dirty automatically.

c layer_insert_above_sibling

Inserts the layer as a sibling in front of another layer. The above_layer has to be a child of a parent layer, otherwise this function will be a noop. If inserted successfully, the parent (and children) will be marked dirty automatically.

c layer_set_hidden

Sets the visibility of the layer. If the visibility has changed, layer_mark_dirty() will be called automatically on the parent layer.

c layer_get_hidden

Gets the visibility of the layer.

c layer_set_clips

Sets whether clipping is enabled for the layer. If enabled, whatever the layer and its children will draw using their .update_proc callbacks, will be clipped by the this layer's frame. If the clipping has changed, layer_mark_dirty() will be called automatically.

c layer_get_clips

Gets whether clipping is enabled for the layer. If enabled, whatever the layer and its children will draw using their .update_proc callbacks, will be clipped by the this layer's frame.

c layer_get_data

Gets the data from a layer that has been created with an extra data region.

c ActionBarLayer

Vertical, bar-shaped control widget on the right edge of the window

c ACTION_BAR_WIDTH

The width of the action bar in pixels.

c _ACTION_BAR_WIDTH

The width of the action bar in pixels, for all platforms.

c NUM_ACTION_BAR_ITEMS

The maximum number of action bar items.

c ActionBarLayerIconPressAnimation
c ActionBarLayerIconPressAnimationNone
c ActionBarLayerIconPressAnimationMoveLeft
c ActionBarLayerIconPressAnimationMoveUp
c ActionBarLayerIconPressAnimationMoveRight
c ActionBarLayerIconPressAnimationMoveDown
c ActionBarLayer
c action_bar_layer_create

Creates a new ActionBarLayer on the heap and initalizes it with the default values.

c action_bar_layer_destroy

Destroys a ActionBarLayer previously created by action_bar_layer_create.

c action_bar_layer_get_layer

Gets the "root" Layer of the action bar layer, which is the parent for the sub- layers used for its implementation.

c action_bar_layer_set_context

Sets the context parameter, which will be passed in to ClickHandler callbacks and the ClickConfigProvider callback of the action bar.

c action_bar_layer_set_click_config_provider

Sets the click configuration provider callback of the action bar. In this callback your application can associate handlers to the different types of click events for each of the buttons, see Clicks.

c action_bar_layer_set_icon

Sets an action bar icon onto one of the 3 slots as identified by button_id. Only BUTTON_ID_UP, BUTTON_ID_SELECT and BUTTON_ID_DOWN can be used. The transition will not be animated. Whenever an icon is set, the click configuration provider will be called, to give the application the opportunity to reconfigure the button interaction.

c action_bar_layer_clear_icon

Convenience function to clear out an existing icon. All it does is call action_bar_layer_set_icon(action_bar, button_id, NULL)

c action_bar_layer_add_to_window

Adds the action bar's layer on top of the window's root layer. It also adjusts the layout of the action bar to match the geometry of the window it gets added to. Lastly, it calls window_set_click_config_provider_with_context() on the window to set it up to work with the internal callback and raw click handlers of the action bar, to enable the highlighting of the section of the action bar when the user presses a button.

c action_bar_layer_remove_from_window

Removes the action bar from the window and unconfigures the window's click configuration provider. NULL is set as the window's new click config provider and also as its callback context. If it has not been added to a window before, this function is a no-op.

c action_bar_layer_set_background_color

Sets the background color of the action bar. Defaults to GColorBlack. The action bar's layer is automatically marked dirty.

c action_bar_layer_set_icon_animated

Sets an action bar icon onto one of the 3 slots as identified by button_id. Only BUTTON_ID_UP, BUTTON_ID_SELECT and BUTTON_ID_DOWN can be used. Optionally, if animated is true, the transition will be animated. Whenever an icon is set, the click configuration provider will be called, to give the application the opportunity to reconfigure the button interaction.

c action_bar_layer_set_icon_press_animation

Sets the animation to use while a button is pressed on an ActionBarLayer. By default we use ActionBarLayerIconPressAnimationMoveLeft.

c BitmapLayer

Layer that displays a bitmap image.

c BitmapLayer
c bitmap_layer_create

Creates a new bitmap layer on the heap and initalizes it the default values.

c bitmap_layer_destroy

Destroys a window previously created by bitmap_layer_create.

c bitmap_layer_get_layer

Gets the "root" Layer of the bitmap layer, which is the parent for the sub- layers used for its implementation.

c bitmap_layer_get_bitmap

Gets the pointer to the bitmap image that the BitmapLayer is using.

c bitmap_layer_set_bitmap

Sets the bitmap onto the BitmapLayer. The bitmap is set by reference (no deep copy), thus the caller of this function has to make sure the bitmap is kept in memory.

c bitmap_layer_set_alignment

Sets the alignment of the image to draw with in frame of the BitmapLayer. The aligment parameter specifies which edges of the bitmap should overlap with the frame of the BitmapLayer. If the bitmap is smaller than the frame of the BitmapLayer, the background is filled with the background color.

c bitmap_layer_set_background_color

Sets the background color of bounding box that will be drawn behind the image of the BitmapLayer.

c bitmap_layer_set_compositing_mode

Sets the compositing mode of how the bitmap image is composited onto the BitmapLayer's background plane, or how it is composited onto what has been drawn beneath the BitmapLayer.

c MenuLayer

Layer that displays a standard list menu. Data is provided using callbacks.

c menu_cell_basic_draw

Section drawing function to draw a basic section cell with the title, subtitle, and icon of the section. Call this function inside the .draw_row callback implementation, see MenuLayerCallbacks. Note that if the size of cell_layer is too small to fit all of the cell items specified, not all of them may be drawn.

c menu_cell_title_draw

Cell drawing function to draw a basic menu cell layout with title, subtitle Cell drawing function to draw a menu cell layout with only one big title. Call this function inside the .draw_row callback implementation, see MenuLayerCallbacks.

c menu_cell_basic_header_draw

Section header drawing function to draw a basic section header cell layout with the title of the section. Call this function inside the .draw_header callback implementation, see MenuLayerCallbacks.

c MENU_CELL_BASIC_HEADER_HEIGHT

Default section header height in pixels.

c MENU_INDEX_NOT_FOUND
c MenuIndex

Macro to create a MenuIndex.

c menu_index_compare

Comparator function to determine the order of two MenuIndex values.

c MenuLayer
c MenuLayerGetNumberOfSectionsCallback

Function signature for the callback to get the number of sections in a menu.

c MenuLayerGetNumberOfRowsInSectionsCallback

Function signature for the callback to get the number of rows in a given section in a menu.

c MenuLayerGetCellHeightCallback

Function signature for the callback to get the height of the menu cell at a given index.

c MenuLayerGetHeaderHeightCallback

Function signature for the callback to get the height of the section header at a given section index.

c MenuLayerGetSeparatorHeightCallback

Function signature for the callback to get the height of the separator at a given index.

c MenuLayerDrawRowCallback

Function signature for the callback to render the menu cell at a given MenuIndex.

c MenuLayerDrawHeaderCallback

Function signature for the callback to render the section header at a given section index.

c MenuLayerDrawSeparatorCallback

Function signature for the callback to render the separator at a given MenuIndex.

c MenuLayerSelectCallback

Function signature for the callback to handle the event that a user hits the SELECT button.

c MenuLayerSelectionChangedCallback

Function signature for the callback to handle a change in the current selected item in the menu.

c MenuLayerSelectionWillChangeCallback

Function signature for the callback which allows or changes selection behavior of the menu. In order to change the cell that should be selected, modify the passed in new_index. Preventing the selection from changing, new_index can be assigned the value of old_index.

c MenuLayerDrawBackgroundCallback

Function signature for the callback which draws the menu's background. The background is underneath the cells of the menu, and is visible in the padding below the bottom cell, or if a cell's background color is set to GColorClear.

c menu_layer_create

Creates a new MenuLayer on the heap and initalizes it with the default values.

c menu_layer_destroy

Destroys a MenuLayer previously created by menu_layer_create.

c menu_layer_get_layer

Gets the "root" Layer of the MenuLayer, which is the parent for the sub- layers used for its implementation.

c menu_layer_get_scroll_layer

Gets the ScrollLayer of the MenuLayer, which is the layer responsible for the scrolling of the MenuLayer.

c menu_layer_set_callbacks

Sets the callbacks for the MenuLayer.

c menu_layer_set_click_config_onto_window

Convenience function to set the ClickConfigProvider callback on the given window to the MenuLayer internal click config provider. This internal click configuration provider, will set up the default UP & DOWN scrolling / menu item selection behavior. This function calls scroll_layer_set_click_config_onto_window to accomplish this.

c MenuRowAlign

Values to specify how a (selected) row should be aligned relative to the visible area of the MenuLayer.

c MenuRowAlignNone

Don't align or update the scroll offset of the MenuLayer.

c MenuRowAlignCenter

Scroll the contents of the MenuLayer in such way that the selected row is centered relative to the visible area.

c MenuRowAlignTop

Scroll the contents of the MenuLayer in such way that the selected row is at the top of the visible area.

c MenuRowAlignBottom

Scroll the contents of the MenuLayer in such way that the selected row is at the bottom of the visible area.

c menu_layer_set_selected_next

Selects the next or previous item, relative to the current selection.

c menu_layer_set_selected_index

Selects the item with given MenuIndex.

c menu_layer_get_selected_index

Gets the MenuIndex of the currently selected menu item.

c menu_layer_reload_data

Reloads the data of the menu. This causes the menu to re-request the menu item data, by calling the relevant callbacks. The current selection and scroll position will not be changed. See the note with menu_layer_set_selected_index() for the behavior if the old selection is no longer valid.

c menu_cell_layer_is_highlighted

Returns whether or not the given cell layer is highlighted. Using this for determining highlight behaviour is preferable to using menu_layer_get_selected_index. Row drawing callbacks may be invoked multiple times with a different highlight status on the same cell in order to handle partially highlighted cells during animation.

c menu_layer_set_normal_colors

Set the default colors to be used for cells when it is in a normal state (not highlighted). The GContext's text and fill colors will be set appropriately prior to calling the .draw_row callback. If this function is not explicitly called on a MenuLayer, it will default to white background with black foreground.

c menu_layer_set_highlight_colors

Set the default colors to be used for cells when it is in a highlighted state. The GContext's text and fill colors will be set appropriately prior to calling the .draw_row callback. If this function is not explicitly called on a MenuLayer, it will default to black background with white foreground.

c menu_layer_pad_bottom_enable

This enables or disables padding at the bottom of the MenuLayer. Padding at the bottom of the layer keeps the bottom item from being at the very bottom of the screen. Padding is turned on by default for all MenuLayers. The color of the padded area will be the background color set using menu_layer_set_normal_colors(). To color the padding a different color, use MenuLayerDrawBackgroundCallback.

c menu_layer_get_center_focused

True, if the MenuLayer generally scrolls such that the selected row is in the center.

c menu_layer_set_center_focused

Controls if the MenuLayer generally scrolls such that the selected row is in the center. For platforms with a round display (PBL_ROUND) the default is true, otherwise false is the default.

c menu_layer_is_index_selected

Returns whether or not the specified cell index is currently selected.

c MENU_CELL_ROUND_FOCUSED_SHORT_CELL_HEIGHT

Constant value representing MenuLayer short cell height when this item is the selected item on a round display.

c MENU_CELL_ROUND_UNFOCUSED_SHORT_CELL_HEIGHT

Constant value representing MenuLayer short cell height when this item is not the selected item on a round display.

c MENU_CELL_ROUND_FOCUSED_TALL_CELL_HEIGHT

Constant value representing MenuLayer tall cell height when this item is the selected item on a round display.

c MENU_CELL_ROUND_UNFOCUSED_TALL_CELL_HEIGHT

Constant value representing MenuLayer tall cell height when this item is not the selected item on a round display.

c MenuCellSpan
c MenuIndex

Data structure to represent an menu item's position in a menu, by specifying the section index and the row index within that section.

c MenuLayerCallbacks

Data structure containing all the callbacks of a MenuLayer.

c RotBitmapLayer

Layer that displays a rotated bitmap image.

c RotBitmapLayer
c rot_bitmap_layer_create

Creates a new RotBitmapLayer on the heap and initializes it with the default values:

c rot_bitmap_layer_destroy

Destroys a RotBitmapLayer and frees all associated memory.

c rot_bitmap_layer_set_corner_clip_color

Defines what color to use in areas that are not covered by the source bitmap. By default this is GColorClear.

c rot_bitmap_layer_set_angle

Sets the rotation angle of this RotBitmapLayer.

c rot_bitmap_layer_increment_angle

Change the rotation angle of this RotBitmapLayer.

c rot_bitmap_set_src_ic

Defines the only point that will not be affected by the rotation in the source bitmap.

c rot_bitmap_set_compositing_mode

Sets the compositing mode of how the bitmap image is composited onto what has been drawn beneath the RotBitmapLayer. By default this is GCompOpAssign. The RotBitmapLayer is automatically marked dirty after this operation.

c ScrollLayer

Layer that scrolls its contents, animated.

c ScrollLayer
c ScrollLayerCallback

Function signature for the .content_offset_changed_handler callback.

c scroll_layer_create

Creates a new ScrollLayer on the heap and initalizes it with the default values:

c scroll_layer_destroy

Destroys a ScrollLayer previously created by scroll_layer_create.

c scroll_layer_get_layer

Gets the "root" Layer of the scroll layer, which is the parent for the sub- layers used for its implementation.

c scroll_layer_add_child

Adds the child layer to the content sub-layer of the ScrollLayer. This will make the child layer part of the scrollable contents. The content sub-layer of the ScrollLayer will become the parent of the child layer.

c scroll_layer_set_click_config_onto_window

Convenience function to set the ClickConfigProvider callback on the given window to scroll layer's internal click config provider. This internal click configuration provider, will set up the default UP & DOWN scrolling behavior. This function calls window_set_click_config_provider_with_context to accomplish this.

c scroll_layer_set_callbacks

Sets the callbacks that the scroll layer exposes. The context as set by scroll_layer_set_context() is passed into each of the callbacks. See ScrollLayerCallbacks for the different callbacks.

c scroll_layer_set_context

Sets a new callback context. This context is passed into the scroll layer's callbacks and also the ClickHandler for the SELECT button. If NULL or not set, the context defaults to a pointer to the ScrollLayer itself.

c scroll_layer_set_content_offset

Scrolls to the given offset, optionally animated.

c scroll_layer_get_content_offset

Gets the point by which the contents are offset.

c scroll_layer_set_content_size

Sets the size of the contents layer. This determines the area that is scrollable. At the moment, this needs to be set "manually" and is not derived from the geometry of the contents layers.

c scroll_layer_get_content_size

Gets the size of the contents layer.

c scroll_layer_set_frame

Set the frame of the scroll layer and adjusts the internal layers' geometry accordingly. The scroll layer is marked dirty automatically.

c scroll_layer_scroll_up_click_handler

The click handlers for the UP button that the scroll layer will install as part of scroll_layer_set_click_config_onto_window().

c scroll_layer_scroll_down_click_handler

The click handlers for the DOWN button that the scroll layer will install as part of scroll_layer_set_click_config_onto_window().

c scroll_layer_set_shadow_hidden

Sets the visibility of the scroll layer shadow. If the visibility has changed, layer_mark_dirty() will be called automatically on the scroll layer.

c scroll_layer_get_shadow_hidden

Gets the visibility of the scroll layer shadow.

c scroll_layer_set_paging

Enables or disables paging of the ScrollLayer (default: disabled). When enabled, every button press will change the scroll offset by the frame's height.

c scroll_layer_get_paging

Check whether or not the ScrollLayer uses paging when pressing buttons.

c ContentIndicator
c scroll_layer_get_content_indicator

Gets the ContentIndicator for a ScrollLayer.

c ContentIndicatorDirection

Value to describe directions for ContentIndicator.

c ContentIndicatorDirectionUp

The up direction.

c ContentIndicatorDirectionDown

The down direction.

c NumContentIndicatorDirections

The number of supported directions.

c content_indicator_create

Creates a ContentIndicator on the heap.

c content_indicator_destroy

Destroys a ContentIndicator previously created using content_indicator_create().

c content_indicator_configure_direction

Configures a ContentIndicator for the given direction.

c content_indicator_get_content_available

Retrieves the availability status of content in the given direction.

c content_indicator_set_content_available

Sets the availability status of content in the given direction.

c ContentIndicatorConfig

Struct used to configure directions for ContentIndicator.

c ScrollLayerCallbacks

All the callbacks that the ScrollLayer exposes for use by applications.

c SimpleMenuLayer

Wrapper around MenuLayer, that uses static data to display a list menu.

c SimpleMenuLayer
c SimpleMenuLayerSelectCallback

Function signature for the callback to handle the event that a user hits the SELECT button.

c simple_menu_layer_create

Creates a new SimpleMenuLayer on the heap and initializes it. It also sets the internal click configuration provider onto given window.

c simple_menu_layer_destroy

Destroys a SimpleMenuLayer previously created by simple_menu_layer_create.

c simple_menu_layer_get_layer

Gets the "root" Layer of the simple menu layer, which is the parent for the sub-layers used for its implementation.

c simple_menu_layer_get_selected_index

Gets the row index of the currently selection menu item.

c simple_menu_layer_set_selected_index

Selects the item in the first section at given row index.

c simple_menu_layer_get_menu_layer
c SimpleMenuItem

Data structure containing the information of a menu item.

c SimpleMenuSection

Data structure containing the information of a menu section.

c StatusBarLayer

Layer that serves as a configurable status bar.

c StatusBarLayer
c StatusBarLayerSeparatorMode

Values that are used to indicate the different status bar separator modes.

c StatusBarLayerSeparatorModeNone

The default mode. No separator will be shown.

c StatusBarLayerSeparatorModeDotted

A dotted separator at the bottom of the status bar.

c STATUS_BAR_LAYER_HEIGHT

The fixed height of the status bar, including separator height.

c _STATUS_BAR_LAYER_HEIGHT

The fixed height of the status bar, including separator height, for all platforms.

c status_bar_layer_create

Creates a new StatusBarLayer on the heap and initializes it with the default values.

c status_bar_layer_destroy

Destroys a StatusBarLayer previously created by status_bar_layer_create.

c status_bar_layer_get_layer

Gets the "root" Layer of the status bar, which is the parent for the sub- layers used for its implementation.

c status_bar_layer_get_background_color

Gets background color of StatusBarLayer.

c status_bar_layer_get_foreground_color

Gets foreground color of StatusBarLayer.

c status_bar_layer_set_colors

Sets the background and foreground colors of StatusBarLayer.

c status_bar_layer_set_separator_mode

Sets the mode of the StatusBarLayer separator, to help divide it from content.

c TextLayer

Layer that displays and formats a text string.

c TextLayer
c text_layer_create

Creates a new TextLayer on the heap and initializes it with the default values.

c text_layer_destroy

Destroys a TextLayer previously created by text_layer_create.

c text_layer_get_layer

Gets the "root" Layer of the text layer, which is the parent for the sub- layers used for its implementation.

c text_layer_set_text

Sets the pointer to the string where the TextLayer is supposed to find the text at a later point in time, when it needs to draw itself.

c text_layer_get_text

Gets the pointer to the string that the TextLayer is using.

c text_layer_set_background_color

Sets the background color of the bounding box that will be drawn behind the text.

c text_layer_set_text_color

Sets the color of text that will be drawn.

c text_layer_set_overflow_mode

Sets the line break mode of the TextLayer.

c text_layer_set_font

Sets the font of the TextLayer.

c text_layer_set_text_alignment

Sets the alignment of the TextLayer.

c text_layer_enable_screen_text_flow_and_paging

Enables text flow following the boundaries of the screen and pagination that introduces extra line spacing at page breaks to avoid partially clipped lines for the TextLayer. If the TextLayer is part of a ScrollLayer the ScrollLayer's frame will be used to configure paging.

c text_layer_restore_default_text_flow_and_paging

Restores text flow and paging for the TextLayer to the rectangular defaults.

c text_layer_get_content_size

Calculates the size occupied by the current text of the TextLayer.

c text_layer_set_size

Update the size of the text layer This is a convenience function to update the frame of the TextLayer.

c Light

Controlling Pebble's backlight

c light_enable_interaction

Trigger the backlight and schedule a timer to automatically disable the backlight after a short delay. This is the preferred method of interacting with the backlight.

c light_enable

Turn the watch's backlight on or put it back into automatic control. Developers should take care when calling this function, keeping Pebble's backlight on for long periods of time will rapidly deplete the battery.

c Preferences
c preferred_result_display_duration

Get the recommended amount of milliseconds a result window should be visible before it should automatically close.

c PreferredContentSize

PreferredContentSize represents the display scale of all the app's UI components. The enum contains all sizes that all platforms as a whole are capable of displaying, but each individual platform may not be able to display all sizes.

c PreferredContentSizeSmall
c PreferredContentSizeMedium
c PreferredContentSizeLarge
c PreferredContentSizeExtraLarge
c NumPreferredContentSizes
c preferred_content_size

Returns the user's preferred content size representing the scale of all the app's UI components should use for display.

c quiet_time_is_active

Users can toggle Quiet Time manually or on schedule. Watchfaces and apps should respect this choice and avoid disturbing actions such as vibration if quiet time is active.

c UnobstructedArea
c UnobstructedAreaWillChangeHandler

Handler that will be called just before the unobstructed area will begin changing.

c UnobstructedAreaChangeHandler

Handler that will be called every time the unobstructed area changes.

c UnobstructedAreaDidChangeHandler

Handler that will be called after the unobstructed area has finished changing.

c unobstructed_area_service_subscribe

Subscribe to be notified when the app's unobstructed area changes. When an unobstructed area begins changing, the will_change handler will be called, and every will_change call is always paired with a did_change call that occurs when it is done changing given that the will_change and did_change handlers are set. When subscribing while the unobstructed area is changing, the will_change handler will be called after subscription in the next event loop.

c unobstructed_area_service_unsubscribe

Unsubscribe from notifications about changes to the app's unobstructed area.

c UnobstructedAreaHandlers
c Vibes

Controlling the vibration motor

c vibes_cancel

Cancel any in-flight vibe patterns; this is a no-op if there is no on-going vibe.

c vibes_short_pulse

Makes the watch emit one short vibration.

c vibes_long_pulse

Makes the watch emit one long vibration.

c vibes_double_pulse

Makes the watch emit two brief vibrations.

c vibes_enqueue_custom_pattern

Makes the watch emit a ‘custom’ vibration pattern.

c VibePattern

Data structure describing a vibration pattern.

c Window

The basic building block of the user interface

c Window
c WindowHandler

Function signature for a handler that deals with transition events of a window.

c window_create

Creates a new Window on the heap and initalizes it with the default values.

c window_destroy

Destroys a Window previously created by window_create.

c window_set_click_config_provider

Sets the click configuration provider callback function on the window. This will automatically setup the input handlers of the window as well to use the click recognizer subsystem.

c window_set_click_config_provider_with_context

Same as window_set_click_config_provider(), but will assign a custom context pointer (instead of the window pointer) that will be passed into the ClickHandler click event handlers.

c window_get_click_config_provider

Gets the current click configuration provider of the window.

c window_get_click_config_context

Gets the current click configuration provider context of the window.

c window_set_window_handlers

Sets the window handlers of the window. These handlers get called e.g. when the user enters or leaves the window.

c window_get_root_layer

Gets the root Layer of the window. The root layer is the layer at the bottom of the layer hierarchy for this window. It is the window's "canvas" if you will. By default, the root layer only draws a solid fill with the window's background color.

c window_set_background_color

Sets the background color of the window, which is drawn automatically by the root layer of the window.

c window_is_loaded

Gets whether the window has been loaded. If a window is loaded, its .load handler has been called (and the .unload handler has not been called since).

c window_set_user_data

Sets a pointer to developer-supplied data that the window uses, to provide a means to access the data at later times in one of the window event handlers.

c window_get_user_data

Gets the pointer to developer-supplied data that was previously set using window_set_user_data().

c window_single_click_subscribe

Subscribe to single click events.

c window_single_repeating_click_subscribe

Subscribe to single click event, with a repeat interval. A single click is detected every time "repeat_interval_ms" has been reached.

c window_multi_click_subscribe

Subscribe to multi click events.

c window_long_click_subscribe

Subscribe to long click events.

c window_raw_click_subscribe

Subscribe to raw click events.

c window_set_click_context

Set the context that will be passed to handlers for the given button's events. By default the context passed to handlers is equal to the ClickConfigProvider context (defaults to the window).

c WindowHandlers

WindowHandlers These handlers are called by the Window Stack as windows get pushed on / popped. All these handlers use WindowHandler as their function signature.

c ActionMenu
c ActionMenuItem
c ActionMenuLevel
c ActionMenuAlign
c ActionMenuAlignTop
c ActionMenuAlignCenter
c ActionMenu
c ActionMenuDidCloseCb

Callback executed after the ActionMenu has closed, so memory may be freed.

c ActionMenuLevelDisplayMode

enum value that controls whether menu items are displayed in a grid (similarly to the emoji replies) or in a single column (reminiscent of MenuLayer)

c ActionMenuLevelDisplayModeWide

Each item gets its own row.

c ActionMenuLevelDisplayModeThin

Grid view: multiple items per row.

c ActionMenuPerformActionCb

Callback executed when a given action is selected.

c ActionMenuEachItemCb

Callback invoked for each item in an action menu hierarchy.

c action_menu_item_get_label

Getter for the label of a given ActionMenuItem.

c action_menu_item_get_action_data

Getter for the action_data pointer of a given ActionMenuitem.

c action_menu_level_create

Create a new action menu level with storage allocated for a given number of items.

c action_menu_level_set_display_mode

Set the action menu display mode.

c action_menu_level_add_action

Add an action to an ActionLevel.

c action_menu_level_add_child

Add a child to this ActionMenuLevel.

c action_menu_hierarchy_destroy

Destroy a hierarchy of ActionMenuLevels.

c action_menu_get_context

Get the context pointer this ActionMenu was created with.

c action_menu_get_root_level

Get the root level of an ActionMenu.

c action_menu_open

Open a new ActionMenu. The ActionMenu acts much like a window. It fills the whole screen and handles clicks.

c action_menu_freeze

Freeze the ActionMenu. The ActionMenu will no longer respond to user input.

c action_menu_unfreeze

Unfreeze the ActionMenu previously frozen with action_menu_freeze.

c action_menu_set_result_window

Set the result window for an ActionMenu. The result window will be shown when the ActionMenu closes.

c action_menu_close

Close the ActionMenu, whether it is frozen or not.

c ActionMenuConfig

Configuration struct for the ActionMenu.

c NumberWindow

A ready-made Window prompting the user to pick a number

c NumberWindow
c NumberWindowCallback

Function signature for NumberWindow callbacks.

c number_window_create

Creates a new NumberWindow on the heap and initalizes it with the default values.

c number_window_destroy

Destroys a NumberWindow previously created by number_window_create.

c number_window_set_label

Sets the text of the title or prompt label.

c number_window_set_max

Sets the maximum value this field can hold.

c number_window_set_min

Sets the minimum value this field can hold.

c number_window_set_value

Sets the current value of the field.

c number_window_set_step_size

Sets the amount by which to increment/decrement by on a button click.

c number_window_get_value

Gets the current value.

c number_window_get_window

Gets the "root" Window of the number window.

c NumberWindowCallbacks

Data structure containing all the callbacks for a NumberWindow.

c Window Stack

The multiple window manager

c window_stack_push

Pushes the given window on the window navigation stack, on top of the current topmost window of the app.

c window_stack_pop

Pops the topmost window on the navigation stack.

c window_stack_pop_all

Pops all windows. See window_stack_remove() for a description of the animated parameter and notes.

c window_stack_remove

Removes a given window from the window stack that belongs to the app task.

c window_stack_get_top_window

Gets the topmost window on the stack that belongs to the app.

c window_stack_contains_window

Checks if the window is on the window stack.

c Smartstrap

Communicating with a Smartstrap.

c SMARTSTRAP_TIMEOUT_DEFAULT

The default request timeout in milliseconds (see smartstrap_set_timeout).

c SMARTSTRAP_RAW_DATA_SERVICE_ID

The service_id to specify in order to read/write raw data to the smartstrap.

c SMARTSTRAP_RAW_DATA_ATTRIBUTE_ID

The attribute_id to specify in order to read/write raw data to the smartstrap.

c PBL_IF_SMARTSTRAP_ELSE

Convenience macro to switch between two expressions depending on smartstrap support. On platforms with a smartstrap the first expression will be chosen, the second otherwise.

c SmartstrapResult

Error values which may be returned from the smartstrap APIs.

c SmartstrapResultOk

No error occured.

c SmartstrapResultInvalidArgs

Invalid function arguments were supplied.

c SmartstrapResultNotPresent

The smartstrap port is not present on this watch.

c SmartstrapResultBusy

A request is already pending on the specified attribute.

c SmartstrapResultServiceUnavailable

Either a smartstrap is not connected or the connected smartstrap does not support the specified service.

c SmartstrapResultAttributeUnsupported

The smartstrap reported that it does not support the requested attribute.

c SmartstrapResultTimeOut

A time-out occured during the request.

c SmartstrapServiceId

A type representing a smartstrap ServiceId.

c SmartstrapAttributeId

A type representing a smartstrap AttributeId.

c SmartstrapAttribute

A type representing an attribute of a service provided by a smartstrap. This type is used when issuing requests to the smartstrap.

c SmartstrapServiceAvailabilityHandler

The type of function which is called after the smartstrap connection status changes.

c SmartstrapReadHandler

The type of function which can be called when a read request is completed.

c SmartstrapWriteHandler

The type of function which can be called when a write request is completed.

c SmartstrapNotifyHandler

The type of function which can be called when the smartstrap sends a notification to the watch.

c smartstrap_subscribe

Subscribes handlers to be called after certain smartstrap events occur.

c smartstrap_unsubscribe

Unsubscribes the handlers. The handlers will no longer be called, but in-flight requests will otherwise be unaffected.

c smartstrap_set_timeout

Changes the value of the timeout which is used for smartstrap requests. This timeout is started after the request is completely sent to the smartstrap and will be canceled only if the entire response is received before it triggers. The new timeout value will take affect only for requests made after this API is called.

c smartstrap_attribute_create

Creates and returns a SmartstrapAttribute for the specified service and attribute. This API will allocate an internal buffer of the requested length on the app's heap.

c smartstrap_attribute_destroy

Destroys a SmartstrapAttribute. No further handlers will be called for this attribute and it may not be used for any future requests.

c smartstrap_service_is_available

Checks whether or not the specified service is currently supported by a connected smartstrap.

c smartstrap_attribute_get_service_id

Returns the ServiceId which the attribute was created for (see smartstrap_attribute_create).

c smartstrap_attribute_get_attribute_id

Gets the AttributeId which the attribute was created for (see smartstrap_attribute_create).

c smartstrap_attribute_read

Performs a read request for the specified attribute. The did_read callback will be called when the response is received from the smartstrap or when an error occurs.

c smartstrap_attribute_begin_write

Begins a write request for the specified attribute and returns a buffer into which the app should write the data before calling smartstrap_attribute_end_write.

c smartstrap_attribute_end_write

This should be called by the app when it is done writing to the buffer provided by smartstrap_begin_write and the data is ready to be sent to the smartstrap.

c SmartstrapHandlers

Handlers which are passed to smartstrap_subscribe.

c Worker
c worker_event_loop

The event loop for workers, to be used in worker's main(). Will block until the worker is ready to exit.

c worker_launch_app

Launch the foreground app for this worker.

c Standard C
c uint16_t

16-bit unsigned integer number

c uint32_t

32-bit unsigned integer number

c Format

Standard formatting.

c snprintf

Format a string into a buffer.

c Locale

Standard locale functions.

c setlocale

Set the app's locale for a category of routines.

c Math

Standard math functions.

c RAND_MAX

The maximum integer value rand() may return.

c rand

Generate a pseudo-random integer between 0 and RAND_MAX inclusive.

c srand

Seed the pseudo-random number generator.

c Memory

Standard memory functions.

c malloc

Allocates a requested amount of memory.

c calloc

Allocates space for count objects that are size bytes and fills the memory with bytes of value 0.

c realloc

Takes the memory allocated at ptr and changes the length of its allocation to the size specified.

c free

Frees previously allocated memory.

c size_t

size as an unsigned integer

c memcmp

Compares the first n bytes of memory regions ptr1 and ptr2.

c memcpy

Copies n bytes from src to dest.

c memmove

Copies n bytes from src to dest by first copying to a temporary area first, allowing dest and src to potentially overlap.

c memset

Sets n bytes to c starting at dest.

c String

Standard C-string manipulation.

c strcmp

Compares the null terminated strings str1 and str2 to each other.

c strncmp

Compares the null terminated strings str1 and str2 to each other for up to n bytes.

c strcpy

Copies the string in src into dest and null terminates dest.

c strncpy

Copies up to n bytes from the string in src into dest and null terminates dest.

c strcat

Concatenates the string in src to the end of the string pointed by dest and null terminates dest.

c strncat

Concatenates up to n bytes from the string in src to the end of the string pointed by dest and null terminates dest.

c strlen

Calculates the length of a null terminated string.

c Time
c time_t

time in seconds since the epoch, January 1st 1970

c TZ_LEN
c SECONDS_PER_MINUTE
c MINUTES_PER_HOUR
c SECONDS_PER_HOUR
c HOURS_PER_DAY
c MINUTES_PER_DAY
c SECONDS_PER_DAY
c strftime

Format the time value at tm according to fmt and place the result in a buffer s of size max.

c localtime

convert the time value pointed at by clock to a struct tm which contains the time adjusted for the local timezone

c gmtime

convert the time value pointed at by clock to a struct tm which contains the time expressed in Coordinated Universal Time (UTC)

c mktime

convert the broken-down time structure to a timestamp expressed in Coordinated Universal Time (UTC)

c time

Obtain the number of seconds since epoch. Note that the epoch is not adjusted for Timezones and Daylight Savings.

c difftime

Obtain the number of seconds elapsed between beginning and end represented as a double.

c time_ms

Obtain the number of seconds and milliseconds part since the epoch. This is a non-standard C function provided for convenience.

c time_start_of_today

Return the UTC time that corresponds to the start of today (midnight).

rockyjs TextMetrics
rockyjs fillStyle
rockyjs Canvas
rockyjs strokeStyle
rockyjs canvas
rockyjs lineWidth
rockyjs font
rockyjs textAlign
rockyjs clearRect
rockyjs fillRect
rockyjs strokeRect
rockyjs fillText
rockyjs measureText
rockyjs beginPath
rockyjs closePath
rockyjs moveTo
rockyjs lineTo
rockyjs arc
rockyjs rect
rockyjs fill
rockyjs stroke
rockyjs save
rockyjs restore
rockyjs rockyFillRadial
rockyjs log
rockyjs warn
rockyjs error
rockyjs toLocaleString
rockyjs toLocaleTimeString
rockyjs toLocaleDateString
rockyjs RockyPostMessageErrorCallback
rockyjs RockyPostMessageConnectedCallback
rockyjs WatchInfo
rockyjs watchInfo
rockyjs RockyMemoryPressureCallback
rockyjs RockyPostMessageDisconnectedCallback
rockyjs UserPreferences
rockyjs RockyDrawCallback
rockyjs RockyMessageCallback
rockyjs RockyTickCallback
rockyjs userPreferences
rockyjs on
rockyjs addEventListener
rockyjs removeEventListener
rockyjs off
rockyjs postMessage
rockyjs requestDraw
pebblekit_js addEventListener
pebblekit_js on
pebblekit_js removeEventListener
pebblekit_js off
pebblekit_js showSimpleNotificationOnPebble
pebblekit_js sendAppMessage
pebblekit_js postMessage
pebblekit_js getTimelineToken
pebblekit_js timelineSubscribe
pebblekit_js timelineUnsubscribe
pebblekit_js timelineSubscriptions
pebblekit_js getActiveWatchInfo
pebblekit_js getAccountToken
pebblekit_js getWatchToken
pebblekit_js appGlanceReload
pebblekit_js TimelineTopicsCallback
pebblekit_js openURL
pebblekit_js AppGlanceReloadFailureCallback
pebblekit_js AppMessageAckCallback
pebblekit_js AppMessageNackCallback
pebblekit_js EventCallback
pebblekit_js TimelineTokenCallback
pebblekit_js AppGlanceReloadSuccessCallback
pebblekit_js PostMessageCallback
pebblekit_js PostMessageErrorCallback
pebblekit_js PostMessageConnectedCallback
pebblekit_js PostMessageDisconnectedCallback
pebblekit_js WatchInfo
pebblekit_js AppGlanceSlice
pebblekit_android com.getpebble.android.kit
pebblekit_android com.getpebble.android.kit.util
pebblekit_android com.getpebble.android.kit.Constants
pebblekit_android com.getpebble.android.kit.PebbleKit
pebblekit_android com.getpebble.android.kit.PebbleKit.FirmwareVersionInfo
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleAckReceiver
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleDataLogReceiver
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleDataReceiver
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleNackReceiver
pebblekit_android com.getpebble.android.kit.Constants.PebbleAppType
pebblekit_android com.getpebble.android.kit.Constants.PebbleDataType
pebblekit_android com.getpebble.android.kit.PebbleKit.areAppMessagesSupported
pebblekit_android com.getpebble.android.kit.PebbleKit.closeAppOnPebble
pebblekit_android com.getpebble.android.kit.PebbleKit.customizeWatchApp
pebblekit_android com.getpebble.android.kit.PebbleKit.getWatchFWVersion
pebblekit_android com.getpebble.android.kit.PebbleKit.isDataLoggingSupported
pebblekit_android com.getpebble.android.kit.PebbleKit.isWatchConnected
pebblekit_android com.getpebble.android.kit.PebbleKit.registerDataLogReceiver
pebblekit_android com.getpebble.android.kit.PebbleKit.registerPebbleConnectedReceiver
pebblekit_android com.getpebble.android.kit.PebbleKit.registerPebbleDisconnectedReceiver
pebblekit_android com.getpebble.android.kit.PebbleKit.registerReceivedAckHandler
pebblekit_android com.getpebble.android.kit.PebbleKit.registerReceivedDataHandler
pebblekit_android com.getpebble.android.kit.PebbleKit.registerReceivedNackHandler
pebblekit_android com.getpebble.android.kit.PebbleKit.requestDataLogsForApp
pebblekit_android com.getpebble.android.kit.PebbleKit.sendAckToPebble
pebblekit_android com.getpebble.android.kit.PebbleKit.sendDataToPebble
pebblekit_android com.getpebble.android.kit.PebbleKit.sendDataToPebbleWithTransactionId
pebblekit_android com.getpebble.android.kit.PebbleKit.sendNackToPebble
pebblekit_android com.getpebble.android.kit.PebbleKit.startAppOnPebble
pebblekit_android com.getpebble.android.kit.PebbleKit.FirmwareVersionInfo.getMajor
pebblekit_android com.getpebble.android.kit.PebbleKit.FirmwareVersionInfo.getMinor
pebblekit_android com.getpebble.android.kit.PebbleKit.FirmwareVersionInfo.getPoint
pebblekit_android com.getpebble.android.kit.PebbleKit.FirmwareVersionInfo.getTag
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleAckReceiver.onReceive
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleAckReceiver.receiveAck
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleDataLogReceiver.onFinishSession
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleDataLogReceiver.onReceive
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleDataLogReceiver.receiveData
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleDataLogReceiver.receiveData
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleDataLogReceiver.receiveData
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleDataReceiver.onReceive
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleDataReceiver.receiveData
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleNackReceiver.onReceive
pebblekit_android com.getpebble.android.kit.PebbleKit.PebbleNackReceiver.receiveNack
pebblekit_android com.getpebble.android.kit.Constants.PebbleAppType.valueOf
pebblekit_android com.getpebble.android.kit.Constants.PebbleAppType.values
pebblekit_android com.getpebble.android.kit.Constants.PebbleDataType.fromByte
pebblekit_android com.getpebble.android.kit.Constants.PebbleDataType.valueOf
pebblekit_android com.getpebble.android.kit.Constants.PebbleDataType.values
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary
pebblekit_android com.getpebble.android.kit.util.PebbleTuple
pebblekit_android com.getpebble.android.kit.util.SportsState
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.PebbleDictTypeException
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.TupleOverflowException
pebblekit_android com.getpebble.android.kit.util.PebbleTuple.ValueOverflowException
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.addBytes
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.addInt16
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.addInt32
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.addInt8
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.addString
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.addTuple
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.addUint16
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.addUint32
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.addUint8
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.contains
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.fromJson
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.getBytes
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.getInteger
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.getString
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.getUnsignedIntegerAsLong
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.iterator
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.remove
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.size
pebblekit_android com.getpebble.android.kit.util.PebbleDictionary.toJsonString
pebblekit_android com.getpebble.android.kit.util.SportsState.getCustomLabel
pebblekit_android com.getpebble.android.kit.util.SportsState.getCustomValue
pebblekit_android com.getpebble.android.kit.util.SportsState.getDistance
pebblekit_android com.getpebble.android.kit.util.SportsState.getHeartBPM
pebblekit_android com.getpebble.android.kit.util.SportsState.getPaceInSec
pebblekit_android com.getpebble.android.kit.util.SportsState.getSpeed
pebblekit_android com.getpebble.android.kit.util.SportsState.getTimeInSec
pebblekit_android com.getpebble.android.kit.util.SportsState.setCustomLabel
pebblekit_android com.getpebble.android.kit.util.SportsState.setCustomValue
pebblekit_android com.getpebble.android.kit.util.SportsState.setDistance
pebblekit_android com.getpebble.android.kit.util.SportsState.setHeartBPM
pebblekit_android com.getpebble.android.kit.util.SportsState.setPaceInSec
pebblekit_android com.getpebble.android.kit.util.SportsState.setSpeed
pebblekit_android com.getpebble.android.kit.util.SportsState.setTimeInSec
pebblekit_android com.getpebble.android.kit.util.SportsState.synchronize
pebblekit_ios PBVersionInfoCompletionBlock
pebblekit_ios PBPebbleKitLoggingCallback
pebblekit_ios NSError+Pebble
pebblekit_ios pebbleErrorWithCode:underLyingError:
Convenience method to create an NSError object with error domain and a given PBErrorCode and with an underlying NSError object. + (NSError *)pebbleErrorWithCode:(PBErrorCode)code underLyingError:(NSError *__nullable)error Parameters code The error code for which to create the error error The underlying error Declared In PBErrors.h
pebblekit_ios pebbleErrorWithCode:
Convenience method to create an NSError object with error domain and a given PBErrorCode. + (NSError *)pebbleErrorWithCode:(PBErrorCode)code Parameters code The error code for which to create the error Declared In PBErrors.h
pebblekit_ios NSDictionary+Pebble
pebblekit_ios pb_pebbleDictionaryData:
Serializes the receiver into a Pebble dict. - (nullable NSData *)pb_pebbleDictionaryData:(NSError *__autoreleasing *)error Parameters error Pointer to an NSError * that will be set in case there was an error creating the dictionary. Possible error codes: PBErrorCodeDictionaryUnsupportedKeyClass PBErrorCodeDictionaryUnsupportedValueClass PBErrorCodeDictionaryUnsupportedValueClass Discussion The receiver dictionary must comply to the following constraints: The keys must be instances of NSNumber. Their -unsignedLongValue return value will be used as final key. The values must be instances of either NSString, NSData or NSNumber. Use the NSNumber (stdint) category to specify the signedness and width of NSNumber. See Also [NSData(Pebble) pb_dictionaryFromPebbleDictionaryDataWithError:] Declared In NSDictionary+Pebble.h
pebblekit_ios NSData+Pebble
pebblekit_ios pb_dictionaryFromPebbleDictionaryDataWithError:
Interprets the receiver as Pebble dict data and deserializes it into an NSDictionary. - (nullable NSDictionary *)pb_dictionaryFromPebbleDictionaryDataWithError:(NSError *__autoreleasing *)error Parameters error Pointer to an NSError * that will be set after the method has returned in case there was an error. Possible error codes: PBErrorCodeDictionaryInternalConsistency See Also [NSDictionary(Pebble) pb_pebbleDictionaryData:] Declared In NSDictionary+Pebble.h
pebblekit_ios NSNumber+PBStandardIntegerExtensions
pebblekit_ios pb_uint32Value
Interprets the receiver as a 32-bits wide, unsigned integer. @property (readonly) uint32_t pb_uint32Value Declared In NSNumber+stdint.h
pebblekit_ios pb_uint16Value
Interprets the receiver as a 16-bits wide, unsigned integer. @property (readonly) uint16_t pb_uint16Value Declared In NSNumber+stdint.h
pebblekit_ios pb_uint8Value
Interprets the receiver as a 8-bits wide, unsigned integer. @property (readonly) uint8_t pb_uint8Value Declared In NSNumber+stdint.h
pebblekit_ios pb_int32Value
Interprets the receiver as a 32-bits wide, signed integer. @property (readonly) int32_t pb_int32Value Declared In NSNumber+stdint.h
pebblekit_ios pb_int16Value
Interprets the receiver as a 16-bits wide, signed integer. @property (readonly) int16_t pb_int16Value Declared In NSNumber+stdint.h
pebblekit_ios pb_int8Value
Interprets the receiver as a 8-bits wide, signed integer. @property (readonly) int8_t pb_int8Value Declared In NSNumber+stdint.h
pebblekit_ios pb_float
Gets whether the number that is stored by the receiver should be interpreted as a floating pointer number or not. @property (readonly, getter=pb_isFloat) BOOL pb_float Declared In NSNumber+stdint.h
pebblekit_ios pb_signed
Gets whether the number that is stored by the receiver should be interpreted as a signed integer or not. @property (readonly, getter=pb_isSigned) BOOL pb_signed Declared In NSNumber+stdint.h
pebblekit_ios pb_byteWidth
Gets the width in bytes of the integer that is stored by the receiver. @property (readonly) uint8_t pb_byteWidth Declared In NSNumber+stdint.h
pebblekit_ios pb_numberWithUint32:
Creates an NSNumber with a 32-bits wide, unsigned integer. + (NSNumber *)pb_numberWithUint32:(uint32_t)value Parameters value The value for the created number. Declared In NSNumber+stdint.h
pebblekit_ios pb_numberWithUint16:
Creates an NSNumber with a 16-bits wide, unsigned integer. + (NSNumber *)pb_numberWithUint16:(uint16_t)value Parameters value The value for the created number. Declared In NSNumber+stdint.h
pebblekit_ios pb_numberWithUint8:
Creates an NSNumber with a 8-bits wide, unsigned integer. + (NSNumber *)pb_numberWithUint8:(uint8_t)value Parameters value The value for the created number. Declared In NSNumber+stdint.h
pebblekit_ios pb_numberWithInt32:
Creates an NSNumber with a 32-bits wide, signed integer. + (NSNumber *)pb_numberWithInt32:(int32_t)value Parameters value The value for the created number. Declared In NSNumber+stdint.h
pebblekit_ios pb_numberWithInt16:
Creates an NSNumber with a 16-bits wide, signed integer. + (NSNumber *)pb_numberWithInt16:(int16_t)value Parameters value The value for the created number. Declared In NSNumber+stdint.h
pebblekit_ios pb_numberWithInt8:
Creates an NSNumber with a 8-bits wide, signed integer. + (NSNumber *)pb_numberWithInt8:(int8_t)value Parameters value The value for the created number. Declared In NSNumber+stdint.h
pebblekit_ios PBFirmwareVersion
pebblekit_ios timestamp
The version timestamp. @property (nonatomic, readonly) uint32_t timestamp Discussion The timestamp is in the final comparison equation, in the -compare: method, after evaluating major, minor, and revision components. Declared In PBFirmwareVersion.h
pebblekit_ios commitHash
The version’s git commit hash. @property (nonatomic, readonly, copy, nullable) NSString *commitHash Discussion The commit hash is not used in the -compare: method. Declared In PBFirmwareVersion.h
pebblekit_ios tag
The version’s git tag. @property (nonatomic, readonly, copy) NSString *tag Declared In PBFirmwareVersion.h
pebblekit_ios firmwareVersionWithString:
Creates a PBFirmwareVersion object given a tag string. + (nullable instancetype)firmwareVersionWithString:(NSString *)tag Parameters tag The firmware version string to parse. Declared In PBFirmwareVersion.h
pebblekit_ios firmwareVersionWithTag:commitHash:timestamp:
Creates a PBFirmwareVersion object given a tag string and timestamp. + (nullable instancetype)firmwareVersionWithTag:(NSString *)tag commitHash:(nullable NSString *)commitHash timestamp:(uint32_t)timestamp Parameters tag The firmare version string to parse. commitHash A version’s commit hash. Can be nil. timestamp The version timestamp. Declared In PBFirmwareVersion.h
pebblekit_ios firmwareVersionWithMajor:minor:revision:suffix:commitHash:timestamp:
Creates a PBFirmwareVersion object given its components. + (instancetype)firmwareVersionWithMajor:(NSInteger)major minor:(NSInteger)minor revision:(NSInteger)revision suffix:(nullable NSString *)suffix commitHash:(nullable NSString *)commitHash timestamp:(uint32_t)timestamp Parameters major The version major number. minor The version minor number. revision The version revision number. suffix The version suffix. Can be nil. commitHash A version’s commit hash. Can be nil. timestamp The version timestamp. Discussion The tag string will be set to the canonical format vMAJOR.MINOR.REVISION(-SUFFIX). Declared In PBFirmwareVersion.h
pebblekit_ios os
The OS version component. (Deprecated: Use [PBSemanticVersion majorVersion]) @property (nonatomic, readonly) NSInteger os Declared In PBFirmwareVersion+Legacy.h
pebblekit_ios major
The major version component. (Deprecated: Use [PBSemanticVersion minorVersion]) @property (nonatomic, readonly) NSInteger major Discussion Note: If a version tag string does not contain a major component, it will be set to 0. Declared In PBFirmwareVersion+Legacy.h
pebblekit_ios minor
The minor version component. (Deprecated: Use [PBSemanticVersion revisionVersion]) @property (nonatomic, readonly) NSInteger minor Discussion Note: If a version tag string does not contain a major component, it will be set to 0. Declared In PBFirmwareVersion+Legacy.h
pebblekit_ios firmwareVersionWithOS:major:minor:suffix:commitHash:timestamp:
Creates a PBFirmwareVersion object given its components. (Deprecated: Use +[PBFirmwareVersion firmwareVersionWithMajor:minor:revision:suffix:commitHash:timestamp:]) + (nullable instancetype)firmwareVersionWithOS:(NSInteger)os major:(NSInteger)major minor:(NSInteger)minor suffix:(nullable NSString *)suffix commitHash:(nullable NSString *)commitHash timestamp:(uint32_t)timestamp Parameters os The version major number. major The version minor number. minor The version revision number. suffix The version suffix. Can be nil. commitHash A version’s commit hash. Can be nil. timestamp The version timestamp. Discussion The tag string will be set to the canonical format vMAJOR.MINOR.REVISION(-SUFFIX). Declared In PBFirmwareVersion+Legacy.h
pebblekit_ios PBDataLoggingSessionMetadata
pebblekit_ios tag
A tag associated with the session. @property (nonatomic, readonly) uint32_t tag Declared In PBDataLoggingService.h
pebblekit_ios timestamp
The timestamp of the moment the session was created by the watchapp. @property (nonatomic, readonly) uint32_t timestamp Declared In PBDataLoggingService.h
pebblekit_ios type
The type of data stored in this session. @property (nonatomic, readonly) PBDataLoggingType type Declared In PBDataLoggingService.h
pebblekit_ios itemSize
The size of a data item. @property (nonatomic, readonly) uint16_t itemSize Declared In PBDataLoggingService.h
pebblekit_ios serialNumber
The serial number of the watch that created the sessions. @property (nonatomic, copy, readonly) NSString *serialNumber Declared In PBDataLoggingService.h
pebblekit_ios metadataWithTag:timestamp:type:itemSize:serialNumber:
Creates a new data logging session metadata object, given all its property values. This method is provided to create a metadata object that can be used to compare it with a metadata object that is passed into one of the PBDataLoggingServiceDelegate methods. + (instancetype)metadataWithTag:(uint32_t)tag timestamp:(uint32_t)timestamp type:(PBDataLoggingType)type itemSize:(uint16_t)itemSize serialNumber:(NSString *)serialNumber Parameters tag The tag associated with the session timestamp The timestamp of the creation of the session type The type of data stored in the session itemSize The size of a data item serialNumber The serial number of the watch that created the session Return Value A session metadata object with the specified information Declared In PBDataLoggingService.h
pebblekit_ios isEqual:
Tests the equality of the recipient and the given object. - (BOOL)isEqual:(nullable id)object Parameters object The object to check against. Return Value YES if all the property values of the receiver are equal to the property values of the other object. Discussion This method can be used to compare two sessions’ metadata objects to check whether they are referring to the same session or not. Declared In PBDataLoggingService.h
pebblekit_ios isEqualToDataLoggingSessionMetadata:
Tests the equality of two data logging sessions’ metadata objects. - (BOOL)isEqualToDataLoggingSessionMetadata:(PBDataLoggingSessionMetadata *)sessionMetadata Parameters sessionMetadata The session metadata to compare against. Return Value YES if all the property values of the receiver are equal to the property values of the given session. Discussion This method can be used to compare two sessions’ metadata objects to check whether they are referring to the same session or not.Note: Equivalent to [PBDataLoggingSessionMetadata isEqual:] Declared In PBDataLoggingService.h
pebblekit_ios PBVersionInfo
pebblekit_ios runningFirmwareMetadata
The metadata of the firmware that is running. @property (nonatomic, readonly, strong, nullable) PBFirmwareMetadata *runningFirmwareMetadata Declared In PBVersionInfo.h
pebblekit_ios recoveryFirmwareMetadata
The metadata of the recovery firmware that is in storage. @property (nonatomic, readonly, strong, nullable) PBFirmwareMetadata *recoveryFirmwareMetadata Declared In PBVersionInfo.h
pebblekit_ios systemResources
The metadata of the system resources. @property (nonatomic, readonly, strong) PBResourceMetadata *systemResources Declared In PBVersionInfo.h
pebblekit_ios bootloaderVersion
The version of the bootloader. @property (nonatomic, readonly) UInt32 bootloaderVersion Declared In PBVersionInfo.h
pebblekit_ios hardwareVersion
The version of the hardware. @property (nonatomic, readonly, strong) NSString *hardwareVersion Declared In PBVersionInfo.h
pebblekit_ios serialNumber
The serial number. @property (nonatomic, readonly, strong) NSString *serialNumber Declared In PBVersionInfo.h
pebblekit_ios deviceAddress
The current Bluetooth device address. @property (nonatomic, readonly, strong) NSData *deviceAddress Declared In PBVersionInfo.h
pebblekit_ios remoteProtocolCapabilitiesFlags
Flags for the supported protocol features of the watch. @property (nonatomic, readonly, assign) PBRemoteProtocolCapabilitiesFlags remoteProtocolCapabilitiesFlags Declared In PBVersionInfo.h
pebblekit_ios hasBeenUnfaithful
Indicates if the previous connection for the watch was to this device. @property (nonatomic, readonly, assign) BOOL hasBeenUnfaithful Discussion If the watch has been connected to this device, but connects to other device before connecting again to this device, the value will be YES. Declared In PBVersionInfo.h
pebblekit_ios hasRecoveryFirmware
YES if valid recovery firmware is installed, NO if not. - (BOOL)hasRecoveryFirmware Declared In PBVersionInfo.h
pebblekit_ios hasSystemResources
YES if valid system resources are installed, NO if not. - (BOOL)hasSystemResources Declared In PBVersionInfo.h
pebblekit_ios appMessagesSupported
YES if app messages are supported, NO if not. - (BOOL)appMessagesSupported Declared In PBVersionInfo.h
pebblekit_ios PBSportsUpdate
pebblekit_ios time
The current time in seconds. @property (nonatomic) NSTimeInterval time Discussion The possible range is currently limited from -35999 to 35999, inclusive (±9h 59min 59sec). Values larger or smaller than the limits will be transformed into the maximum or minimum, respectively. It will be presented as a duration string in the UI. Hours, minutes and seconds will be separated by colons. The hours value will only appear if the value is more than 1 hour. The decimal part will be discarded for the presentation. Declared In PBWatch+Sports.h
pebblekit_ios distance
The current distance in kilometers or miles. @property (nonatomic) float distance Discussion The possible range is currently limited from -99.9 to 99.9, inclusive. Values larger or smaller than the limits will be transformed into the maximum or minimum, respectively. It will be presented as a decimal number in the UI. The decimal part will be rounded to one digit. The unit of distance is dependent on the current unit setting. See Also [PBWatch sportsAppSetMetric:onSent:] Declared In PBWatch+Sports.h
pebblekit_ios pace
The current pace in seconds per kilometer or seconds per mile. @property (nonatomic) NSTimeInterval pace Discussion The possible range is currently limited from -3599 to 3599, inclusive (±59min 59sec). Values larger or smaller than the limits will be transformed into the maximum or minimum, respectively. It will be presented as a duration string in the UI. Minutes and seconds will be separated by colons. The decimal part will be discarded for the presentation. Currently pace and speed cannot be presented at the same time. Setting speed will discard the value set through pace. Declared In PBWatch+Sports.h
pebblekit_ios speed
The current speed in kilometers per hour or miles per hour. @property (nonatomic) float speed Discussion The possible range is currently limited from -99.9 to 99.9, inclusive. Values larger or smaller than the limits will be transformed into the maximum or minimum, respectively. It will be presented as a decimal number in the UI. The decimal part will be rounded to one digit. Currently pace and speed cannot be presented at the same time. Setting pace will discard the value set through speed. Declared In PBWatch+Sports.h
pebblekit_ios heartRate
The current heart rate in beats per minute. @property (nonatomic) uint8_t heartRate Discussion Currently there’s no way to stop sending heart rate values if one heart rate value was sent. The last value will be shown in the UI. If the heart rate has never been set before, this property will return zero. Declared In PBWatch+Sports.h
pebblekit_ios customLabel
A custom label to show in the sports UI. @property (nonatomic, copy, nullable) NSString *customLabel Discussion The maximum number of characters is ~10, but this maximum is not enforced. The label will be sent in upper case to the watch. To be sent, both customLabel and customValue have to be set to non-nil values. Declared In PBWatch+Sports.h
pebblekit_ios customValue
A custom value to show in the sports UI. @property (nonatomic, copy, nullable) NSString *customValue Discussion The maximum number of characters is ~8, but the maximum is not enforced. To be sent, both customValue and customLabel have to be set to non-nil values. Declared In PBWatch+Sports.h
pebblekit_ios appMessageDictionary
Creates an update dictionary from the receiver, that can be used with [PBWatch sportsAppUpdate:onSent:]. @property (nonatomic, readonly) NSDictionary *appMessageDictionary Discussion You should prefer using [PBSportsUpdate updateWatch:completion:]. See Also [PBWatch sportsAppUpdate:onSent:] Declared In PBWatch+Sports.h
pebblekit_ios updateWatch:completion:
Sends an update to the watch. - (void)updateWatch:(PBWatch *)watch completion:(void ( ^ __nullable ) ( NSError *__nullable error ))completion Parameters watch The watch to send the update to. completion Block that will be called when the update either succeeds or fails. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion The method tries to send the minimal set of changes since the last time the method was used, to try to minimize communication with the watch. Declared In PBWatch+Sports.h
pebblekit_ios timeStringFromSeconds:
Creates a formatted time string from a total seconds value, formatted as “h:mm:ss”. + (NSString *)timeStringFromSeconds:(NSTimeInterval)seconds Parameters seconds The number of seconds from which to create the time string. Return Value Formatted time as “h:mm:ss” Discussion For example, supplying the value 3930.0f seconds will return @“1:05:30”. Declared In PBWatch+Sports.h
pebblekit_ios decimalStringFromFloat:
Creates a formatted decimal string with one decimal number. + (NSString *)decimalStringFromFloat:(float)decimal Parameters decimal The decimal number to format as a string. Return Value The formatted decimal number. Discussion For example, supplying the value 13.42f will return @“13.4”. Declared In PBWatch+Sports.h
pebblekit_ios data
General purpose data variable. (Deprecated: Prefer either pace or speed.) @property (nonatomic) float data Discussion Note: The original property design is very broken and it has been deprecated in favor of both pace and speed. This value will act as pace from now on. The possible range is currently limited from -3599 to 3599, inclusive (±59min 59sec). Values larger or smaller than the limits will be transformed into the maximum or minimum, respectively. It will be presented as a duration string in the UI. Minutes and seconds will be separated by colons. The decimal part will be discarded for the presentation. Setting a value in either pace or speed will discard the value set through data. See Also [PBWatch sportsAppSetLabel:onSent:] Declared In PBWatch+Sports.h
pebblekit_ios updateWithTime:distance:data:
Creates a new PBSportsUpdate with the given time, distance and data. (Deprecated: Prefer -[PBSportsUpdate init] and filling the properties.) + (instancetype)updateWithTime:(NSTimeInterval)time distance:(float)distance data:(float)data Parameters time The current time in seconds. distance The current distance in kilometers or miles. data General purpose data variable. Return Value A new PBSportsUpdate with the given time, distance and data. Declared In PBWatch+Sports.h
pebblekit_ios dictionary
Creates an update dictionary from the receiver that can be used with [PBWatch sportsAppUpdate:onSent:]. (Deprecated: Prefer using -[PBSportsUpdate appMessageDictionary].) - (NSDictionary *)dictionary See Also [PBWatch sportsAppUpdate:onSent:] Declared In PBWatch+Sports.h
pebblekit_ios timeStringFromFloat:
Creates a formatted time string from a total seconds value, formatted as “h:mm:ss”. (Deprecated: Prefer +[PBSportsUpdate timeStringFromSeconds:].) + (NSString *)timeStringFromFloat:(float)seconds Parameters seconds The number of seconds from which to create the time string. Return Value Formatted time as “h:mm:ss” Discussion For example, supplying the value 3930.0f seconds will return @“1:05:30”. Declared In PBWatch+Sports.h
pebblekit_ios PBPebbleCentral
pebblekit_ios connectedWatches
The watches that are currently connected. Do not cache the array because it can change over time. @property (nonatomic, readonly, copy) NSArray *connectedWatches Declared In PBPebbleCentral.h
pebblekit_ios registeredWatches
The watches that are stored in the user preferences of the application. @property (nonatomic, readonly, copy) NSArray *registeredWatches Declared In PBPebbleCentral.h
pebblekit_ios delegate
The central’s delegate. @property (nonatomic, readwrite, weak) id __nullable delegate Declared In PBPebbleCentral.h
pebblekit_ios appUUID
Identifier of the watch application this companion app communicates with. @property (nonatomic, copy) NSUUID *appUUID Discussion The identifier is used to make sure that app message and data logging communications arrive to the right companion watch app in the watch (and not to another app). For most app message methods there is are two variants: one that does not take an UUID parameter and one that does (for example, -appMessagesAddReceiveUpdateHandler: vs -appMessagesAddReceiveUpdateHandler:withUUID:). The methods that do not take an UUID, will use the UUID as set prior to this property.Note: The UUID needs to be set before using either app message or data logging. Declared In PBPebbleCentral.h
pebblekit_ios appUUIDs
The list of App-UUIDs this PebbleCentral wants to talk to. @property (nonatomic, copy) NSSet *appUUIDs See Also - addAppUUID: Declared In PBPebbleCentral.h
pebblekit_ios addAppUUID:
Registers a new App-UUID with appUUIDs. - (void)addAppUUID:(NSUUID *)appUUID Parameters appUUID The app UUID to register. See Also @property appUUIDs Declared In PBPebbleCentral.h
pebblekit_ios run
Registers and announces internal Bluetooth services. Might cause a dialog to allow this app to talk to other devices. - (void)run Declared In PBPebbleCentral.h
pebblekit_ios isMobileAppInstalled
Determines if the Pebble iOS app is installed in the device. - (BOOL)isMobileAppInstalled Return Value YES if the Pebble iOS app is installed, NO if it is not installed. Discussion Note: Since iOS 9.0 you have to add “pebble” to LSApplicationQueriesSchemes in your application Info.plist or this method will return NO all the time. Declared In PBPebbleCentral.h
pebblekit_ios installMobileApp
Redirects to Pebble in the App Store, so the user can install the app. - (void)installMobileApp Declared In PBPebbleCentral.h
pebblekit_ios unregisterAllWatches
Wipes out the data associated with the registered watches, that is stored on the phone. - (void)unregisterAllWatches Declared In PBPebbleCentral.h
pebblekit_ios lastConnectedWatch
Returns the most recently connected watch from the registeredWatches array. - (PBWatch *__nullable)lastConnectedWatch Declared In PBPebbleCentral.h
pebblekit_ios dataLoggingServiceForAppUUID:
Returns the DataLoggingService for a (previously registered) appUUID - (PBDataLoggingService *__nullable)dataLoggingServiceForAppUUID:(NSUUID *)appUUID Parameters appUUID The app UUID to recover the data logging service. Declared In PBPebbleCentral.h
pebblekit_ios defaultCentral
The default central singleton instance. + (instancetype)defaultCentral Return Value The default central singleton instance. Declared In PBPebbleCentral+DefaultCentral.h
pebblekit_ios hasValidAppUUID
Indicates if the central has been correctly configured with an app UUID. (Deprecated: Use appUUID != nil instead.) - (BOOL)hasValidAppUUID Declared In PBPebbleCentral+Legacy.h
pebblekit_ios setDebugLogsEnabled:
Enables or disables debug logging for PebbleKit. (Deprecated: Use +[PBPebbleKitLogging setLogLevel:] instead.) + (void)setDebugLogsEnabled:(BOOL)logsEnabled Parameters logsEnabled Whether logging should be enabled or not. Declared In PBPebbleCentral+Legacy.h
pebblekit_ios setLogLevel:
Configures which events should be logged. (Deprecated: Use +[PBPebbleKitLogging setLogLevel:] instead.) + (void)setLogLevel:(PBPebbleKitLogLevel)logLevel Parameters logLevel One of the values in PBPebbleKitLogLevel, which will be the maximum level that will be logged. You can use PBPebbleKitLogLevelOff to disable all logging. Declared In PBPebbleCentral+Legacy.h
pebblekit_ios dataLoggingService
Use dataLoggingServiceForAppUUID: instead. (Deprecated: Use dataLoggingServiceForAppUUID: instead.) @property (nonatomic, readonly) PBDataLoggingService *dataLoggingService Declared In PBPebbleCentral+Legacy.h
pebblekit_ios PBResourceMetadata
pebblekit_ios timestamp
The version of the resources as the Epoch timestamp of the Git commit. @property (nonatomic, readonly) uint32_t timestamp Declared In PBResourceMetadata.h
pebblekit_ios crc
The checksum of the resources. @property (nonatomic, readonly) uint32_t crc Declared In PBResourceMetadata.h
pebblekit_ios PBFirmwareMetadata
pebblekit_ios version
The version of the firmware. @property (nonatomic, readonly) PBFirmwareVersion *version See Also PBFirmwareVersion Declared In PBFirmwareMetadata.h
pebblekit_ios isRecoveryFirmware
YES if the firmware is a recovery firmware, NO if it is a regular firmware. @property (nonatomic, readonly) BOOL isRecoveryFirmware Declared In PBFirmwareMetadata.h
pebblekit_ios hardwarePlatform
The hardware platform variant with which the firmware is compatible. @property (nonatomic, readonly) FirmwareMetadataPlatform hardwarePlatform Declared In PBFirmwareMetadata.h
pebblekit_ios hardwarePlatformToString:
Converts a FirmwareMetadataPlatform value to a string. + (NSString *)hardwarePlatformToString:(FirmwareMetadataPlatform)hardwarePlatform Parameters hardwarePlatform The hardware platform value to convert Return Value A string of the hardware platform Declared In PBFirmwareMetadata.h
pebblekit_ios stringToHardwarePlatform:
Converts an NSString hardware platform string to the corresponding FirmwareMetadataPlatform value. + (FirmwareMetadataPlatform)stringToHardwarePlatform:(NSString *)hardwarePlatformString Parameters hardwarePlatformString The string representing the hardware platform. Return Value The hardware platform enum value Declared In PBFirmwareMetadata.h
pebblekit_ios PBSemanticVersion
pebblekit_ios majorVersion
The version major number @property (nonatomic, assign, readonly) NSUInteger majorVersion Declared In PBSemanticVersion.h
pebblekit_ios minorVersion
The version minor number @property (nonatomic, assign, readonly) NSUInteger minorVersion Declared In PBSemanticVersion.h
pebblekit_ios revisionVersion
The version revision number @property (nonatomic, assign, readonly) NSUInteger revisionVersion Declared In PBSemanticVersion.h
pebblekit_ios suffix
The version suffix string. @property (nonatomic, copy, readonly) NSString *suffix Discussion Note: If a version tag string does not contain a suffix, it will be set to an empty string. The release suffix is not used in the compare: or -isEqual: methods. Declared In PBSemanticVersion.h
pebblekit_ios initWithVersionString:
Returns a new instance by parsing the input. - (nullable instancetype)initWithVersionString:(NSString *)versionString Parameters versionString Expected format: major.minor.revision-sffix. Example: “2.0.1-rc2” If a parsing error occurs, nil will be returned. Return Value A version or nil if some error happen. Declared In PBSemanticVersion.h
pebblekit_ios initWithMajor:minor:revision:suffix:
Returns a new instance by using the given components. - (instancetype)initWithMajor:(NSUInteger)major minor:(NSUInteger)minor revision:(NSUInteger)revision suffix:(nullable NSString *)suffix Parameters major The version major number. minor The version minor number. revision The version revision number. suffix The version suffix. Can be nil. Declared In PBSemanticVersion.h
pebblekit_ios compare:
Compares the receiver to another version object. - (NSComparisonResult)compare:(PBSemanticVersion *)aVersion Parameters aVersion The version to compare with the receiver. Return Value NSOrderedAscending if the value of aVersion is greater than the receiver’s, NSOrderedSame if they’re equal, and NSOrderedDescending if the value of aVersion is less than the receiver’s. Declared In PBSemanticVersion.h
pebblekit_ios isEqualOrNewer:
Returns if the the receiver is equal or newer than the given version. - (BOOL)isEqualOrNewer:(PBSemanticVersion *)other Parameters other Version number to compare against. Return Value YES if the receiver is equal or newer. NO otherwise. Declared In PBSemanticVersion.h
pebblekit_ios isNewer:
Returns if the receiver is strictly newer than the given version. - (BOOL)isNewer:(PBSemanticVersion *)other Parameters other Version number to compare against. Return Value YES if the receiver is stricly newer. NO otherwise. Declared In PBSemanticVersion.h
pebblekit_ios PBBitmap
pebblekit_ios pixelData
The pixel data of the bitmap. This corresponds to the data as pointed to by GBitmap’s addr field. @property (nonatomic, readonly, strong) NSData *pixelData Declared In PBBitmap.h
pebblekit_ios rowSizeBytes
The number of bytes per row. Always a multiple of 4 bytes. @property (nonatomic, readonly, assign) uint16_t rowSizeBytes Declared In PBBitmap.h
pebblekit_ios infoFlags
Bitfield of metadata flags. This corresponds to GBitmap’s info_flags field. @property (nonatomic, readonly, assign) uint16_t infoFlags Declared In PBBitmap.h
pebblekit_ios bounds
The box of bits inside pixelData, that contains the actual image data to use. This corresponds to GBitmap’s bounds field. @property (nonatomic, readonly, assign) GRect bounds Declared In PBBitmap.h
pebblekit_ios pebbleBitmapWithUIImage:
Factory method to create a PBBitmap from a UIImage instance. + (PBBitmap *)pebbleBitmapWithUIImage:(UIImage *)image Parameters image The UIImage from which to create the PBBitmap Declared In PBBitmap.h
pebblekit_ios PBWatch
pebblekit_ios central
The central that is managing this watch. @property (nonatomic, weak, readonly) PBPebbleCentral *central Discussion This property is KVO-compliant. Declared In PBWatch.h
pebblekit_ios isNew
YES if the receiver it’s the first time that watch has been seen. - (BOOL)isNew Discussion This property is KVO-compliant. Declared In PBWatch.h
pebblekit_ios connected
YES if the receiver is connected and NO if the receiver is disconnected. @property (nonatomic, assign, readonly, getter=isConnected) BOOL connected Discussion This property is KVO-compliant. Declared In PBWatch.h
pebblekit_ios name
The human-friendly name of the receiver. This is the same name as the user will see in the iOS Bluetooth Settings. @property (nonatomic, copy, readonly) NSString *name Declared In PBWatch.h
pebblekit_ios serialNumber
The serial number of the receiver. @property (nonatomic, copy, readonly) NSString *serialNumber Declared In PBWatch.h
pebblekit_ios versionInfo
The versionInfo of the receiver. @property (nonatomic, strong, readonly) PBVersionInfo *versionInfo See Also PBVersionInfo Declared In PBWatch.h
pebblekit_ios delegate
The delegate of the watch that will be notified of disconnections and errors. @property (nonatomic, weak) id __nullable delegate See Also PBWatchDelegate Declared In PBWatch.h
pebblekit_ios userInfo
The userInfo property can be used to associate application specific data with the watch. Note that the application itself is responsible for persisting the information if neccessary. @property (nonatomic, strong) id __nullable userInfo Declared In PBWatch.h
pebblekit_ios lastConnectedDate
The date when the watch was last known to be connected. This date will be updated automatically when the watch connects and disconnects. While the watch is being connected, this date will not be updated. @property (nonatomic, strong, readonly) NSDate *lastConnectedDate Declared In PBWatch.h
pebblekit_ios friendlyDescription
Developer-friendly debugging description of the watch. - (NSString *)friendlyDescription Return Value developer-friendly summary of the receiver, including software and hardware version information, if available. Declared In PBWatch.h
pebblekit_ios releaseSharedSession
Releases the shared session to the watch (if one exists). (Deprecated: Remove usages of this method. The implementation is empty.) - (void)releaseSharedSession Discussion Depending on availability a per-app dedicated Bluetooth LE based session (CoreBluetooth.framework) will be used to talk to the watch. In other cases a Bluetooth Classic based session (ExternalAccessory.framework) will be used that is shared between all 3rd party iOS apps. Once the user is done using the app/watch-integration, the shared sessions has to be released using this method so it can be used by other apps. Declared In PBWatch.h
pebblekit_ios golfGetIsSupported:
Queries the watch whether Golf Messages are supported. - (void)golfGetIsSupported:(void ( ^ ) ( PBWatch *watch , BOOL isGolfSupported ))fetchedBlock Parameters fetchedBlock The block that will be called when the inquiry has finished. The block will be called asynchronously on the queue that was originally used when calling this method. watch: The watch on which the query was performed. isGolfSupported: YES if Golf Messages are supported, NO if not. Discussion Must be called from the main thread. Declared In PBWatch+Golf.h
pebblekit_ios golfAppLaunch:
Send a command to launch the golf app on the watch that the receiver represents. - (void)golfAppLaunch:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters onSent The handler that will be called when the launch command has been sent or timed out (after 1.5 secs). watch: the recipient of the command. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread. Declared In PBWatch+Golf.h
pebblekit_ios golfAppKill:
Send a command to kill the golf app on the watch that the receiver represents. - (void)golfAppKill:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters onSent The handler that will be called when the kill command has been sent or timed out (after 1.5 secs). watch: the recipient of the command. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread. Declared In PBWatch+Golf.h
pebblekit_ios golfAppUpdate:onSent:
Sends an update to the golf app on the watch that the receiver represents. Must be called from the main thread. - (void)golfAppUpdate:(NSDictionary *)update onSent:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters update The update to send. Use one or more keys from PBGolfFrontKey, PBGolfMidKey, PBGolfBackKey, PBGolfHoleKey, or PBGolfParKey. Note that the value for each key MUST be of NSString type. onSent The handler that will be called when the update has been sent or timed out (after 1.5 secs). watch: the recipient of the command. error: nil if the operation was successful, or else an NSError with more information on why it failed. Declared In PBWatch+Golf.h
pebblekit_ios golfAppAddReceiveUpdateHandler:
Add a receive handler for incoming Golf updates that are send by the Golf watch application. - (id)golfAppAddReceiveUpdateHandler:(BOOL ( ^ ) ( PBWatch *watch , GolfAppCommand command ))onReceive Parameters onReceive The block that will be called every time a new update message arrives. watch: The receiver of the update. command: The command as sent by the watch. Return Value An opaque handle object representing the installed receive handler, that can be used in golfAppRemoveUpdateHandler: Discussion Must be called from the main thread. See Also GolfAppCommand - golfAppRemoveUpdateHandler: Declared In PBWatch+Golf.h
pebblekit_ios golfAppRemoveUpdateHandler:
Removes a receive handler that was previously installed using golfAppAddReceiveUpdateHandler: - (void)golfAppRemoveUpdateHandler:(id)opaqueHandle Parameters opaqueHandle The handle object as returned by golfAppAddReceiveUpdateHandler: Discussion Must be called from the main thread. See Also - golfAppAddReceiveUpdateHandler: Declared In PBWatch+Golf.h
pebblekit_ios golfSetTitle:icon:onSent:
Assigns a custom title and icon to the golf app on the watch. - (void)golfSetTitle:(NSString *)title icon:(UIImage *)icon onSent:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters title The custom title (max. 20 bytes of UTF-8 string) icon The custom icon (max. 32x32 pixels, black/white only) onSent The handler that will be called when the title and icon have been set or timed out. watch: the recipient of the title and icon. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread. It is recommended to perform this as the first call after golfGetIsSupported: to avoid changing the title and icon while it is being displayed in the menu as to avoid confusion. Declared In PBWatch+Golf.h
pebblekit_ios pingWithCookie:onPong:onTimeout:
Sends a ping to the watch. - (void)pingWithCookie:(uint32_t)cookie onPong:(void ( ^ __nullable ) ( PBWatch *watch , uint32_t cookie ))onPong onTimeout:(void ( ^ __nullable ) ( PBWatch *watch , uint32_t cookie ))onTimeout Parameters cookie A number identifying the ping. onPong The block handler that will be called when the “pong” reply from the watch has been received. onTimeout The block handler that will be called when the watch failed to reply in time. Discussion Must be called from the main thread. Declared In PBWatch+Ping.h
pebblekit_ios sportsAppSetLabel:onSent:
Send a command to the sports app on the watch that the receiver represents, to set the preferred data label (either PACE or SPEED) and corresponding units. (Deprecated: Prefer using [PBSportsUpdate pace] or [PBSportsUpdate speed].) - (void)sportsAppSetLabel:(BOOL)isPace onSent:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters isPace YES to request the pace label or NO to request the speed label. onSent The handler that will be called when the unit command has been sent or timed out (after 1.5 secs). watch: the recipient of the command. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread. Declared In PBWatch+Sports.h
pebblekit_ios sportsAppSetMetric:onSent:
Send a command to the sports app on the watch that the receiver represents, to set the preferred unit system, either metric or imperial. (Deprecated: Prefer using [PBWatch(Sports) sportsAppSetUnitSystem:onSent:]) - (void)sportsAppSetMetric:(BOOL)isMetric onSent:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters isMetric YES to request metric units or NO to request imperial units. onSent The handler that will be called when the unit command has been sent or timed out (after 1.5 secs). watch: the recipient of the command. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread. Declared In PBWatch+Sports.h
pebblekit_ios appMessagesGetIsSupported:
Queries the watch whether AppMessages are supported. - (void)appMessagesGetIsSupported:(void ( ^ ) ( PBWatch *watch , BOOL isAppMessagesSupported ))fetchedBlock Parameters fetchedBlock The block that will be called when the inquiry has finished. The block will be called asynchronously on the queue that was originally used when calling this method. watch: The watch on which the query was performed. isAppMessagesSupported: YES if AppMessages are supported, NO if not. Discussion Must be called from the main thread. Declared In PBWatch+AppMessages.h
pebblekit_ios appMessagesPushUpdate:onSent:
Pushes an update to the watch application with UUID as set using [PBPebbleCentral setAppUUID:]. - (void)appMessagesPushUpdate:(NSDictionary *)dictionary onSent:(void ( ^ __nullable ) ( PBWatch *watch , NSDictionary *update , NSError *__nullable error ))onSent Parameters dictionary Contains the key/value pairs to update. The dictionary can only contain items with an NSNumber key and only contain NSString, NSNumber or NSData values. Use the methods in the NSNumber (stdint) category to create NSNumbers with specific types standard integer types. onSent The block that will be called when the message was accepted, rejected or timed out. watch: The watch to which the update was sent. update: The dictionary that was sent. error: If there was a problem, this will contain information about the underlying problem. See PBErrorCode for error codes. Discussion Must be called from the main thread. Declared In PBWatch+AppMessages.h
pebblekit_ios appMessagesPushUpdate:withUUID:onSent:
Pushes an update to the watch application with the specified UUID. - (void)appMessagesPushUpdate:(NSDictionary *)dictionary withUUID:(NSUUID *)appUUID onSent:(void ( ^ __nullable ) ( PBWatch *watch , NSDictionary *update , NSError *__nullable error ))onSent Parameters dictionary Contains the key/value pairs to update. The dictionary can only contain items with an NSNumber key and only contain NSString, NSNumber or NSData values. Use the methods in the NSNumber (stdint) category to create NSNumbers with specific types standard integer types. appUUID The UUID of the watchapp to which the update should be sent. onSent The block that will be called when the message was accepted, rejected or timed out. watch: The watch to which the update was sent. update: The dictionary that was sent. error: If there was a problem, this will contain information about the underlying problem. See PBErrorCode for error codes. Discussion Must be called from the main thread. Declared In PBWatch+AppMessages.h
pebblekit_ios appMessagesAddReceiveUpdateHandler:
Add a receive handler for incoming updates that are send by the watch application with UUID as set using [PBPebbleCentral setAppUUID:]. - (id)appMessagesAddReceiveUpdateHandler:(BOOL ( ^ ) ( PBWatch *watch , NSDictionary *update ))onReceive Parameters onReceive The block that will be called every time a new update message arrives. watch: The watch that has sent the update. update: The dictionary containing the values sent by the watch. Return Value An opaque handle object representing the installed receive handler, that can be used in appMessagesRemoveUpdateHandler: Discussion Must be called from the main thread. See Also - appMessagesRemoveUpdateHandler: Declared In PBWatch+AppMessages.h
pebblekit_ios appMessagesAddReceiveUpdateHandler:withUUID:
Add a receive handler for incoming updates that are send by the watch application with the specified UUID. - (id)appMessagesAddReceiveUpdateHandler:(BOOL ( ^ ) ( PBWatch *watch , NSDictionary *update ))onReceive withUUID:(NSUUID *)appUUID Parameters onReceive The block that will be called every time a new update message arrives. You should always return YES so than an ACK is sent to the watch. watch: The watch that has sent the update. update: The dictionary containing the values sent by the watch. appUUID The UUID of the watchapp for which sent messages should be handled by the onReceive block. Return Value An opaque handle object representing the installed receive handler, that can be used in appMessagesRemoveUpdateHandler: Discussion Must be called from the main thread. See Also - appMessagesRemoveUpdateHandler: Declared In PBWatch+AppMessages.h
pebblekit_ios appMessagesRemoveUpdateHandler:
Removes a receive handler that was previously installed using appMessagesAddReceiveUpdateHandler: - (void)appMessagesRemoveUpdateHandler:(id)opaqueHandle Parameters opaqueHandle The handle object as returned by appMessagesAddReceiveUpdateHandler: Discussion Must be called from the main thread. See Also - appMessagesAddReceiveUpdateHandler: Declared In PBWatch+AppMessages.h
pebblekit_ios appMessagesLaunch:
Sends a command to launch the watch application with UUID as set using [PBPebbleCentral setAppUUID:] - (void)appMessagesLaunch:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters onSent The block that will be called after the launch command has been sent to the watch. watch: The watch to which the command was sent. error: If there was a problem, this will contain information about the underlying problem. See PBErrorCode for error codes. Discussion Must be called from the main thread. Declared In PBWatch+AppMessages.h
pebblekit_ios appMessagesLaunch:withUUID:
Sends a command to launch the watch application with the specified UUID. - (void)appMessagesLaunch:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent withUUID:(NSUUID *)appUUID Parameters onSent The block that will be called after the launch command has been sent to the watch. watch: The watch to which the command was sent. error: If there was a problem, this will contain information about the underlying problem. See PBErrorCode for error codes. appUUID The UUID of the watch application to launch. Discussion Must be called from the main thread. Declared In PBWatch+AppMessages.h
pebblekit_ios appMessagesKill:
Sends a command to kill the watch application with UUID as set using [PBPebbleCentral setAppUUID:]. - (void)appMessagesKill:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters onSent The block that will be called after the kill command has been sent to the watch. watch: The watch to which the command was sent. error: If there was a problem, this will contain information about the underlying problem. See PBErrorCode for error codes. Discussion Must be called from the main thread. Declared In PBWatch+AppMessages.h
pebblekit_ios appMessagesKill:withUUID:
Sends a command to kill the watch application with the specified UUID. - (void)appMessagesKill:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent withUUID:(NSUUID *)appUUID Parameters onSent The block that will be called after the kill command has been sent to the watch. watch: The watch to which the command was sent. error: If there was a problem, this will contain information about the underlying problem. See PBErrorCode for error codes. appUUID The UUID of the watch application to launch. Discussion Must be called from the main thread. Declared In PBWatch+AppMessages.h
pebblekit_ios closeSession:
Closes the communication session with the watch. (Deprecated: Use [PBWatch releaseSharedSession]) - (void)closeSession:(void ( ^ __nullable ) ( void ))onDone Parameters onDone Callback block that will be called after the closing of the session has completed. If there is no open session, the onDone block will (also) be executed asynchronously on the calling queue. Discussion Since there is only one, shared session for all 3rd party iOS apps, an app should close the session after the user is done using the app/watch-integration, so it can be used by other apps. The communication session is implicitely opened automatically when needed. Declared In PBWatch+Legacy.h
pebblekit_ios sportsGetIsSupported:
Queries the watch whether Sports Messages are supported. - (void)sportsGetIsSupported:(void ( ^ ) ( PBWatch *watch , BOOL isSportsSupported ))fetchedBlock Parameters fetchedBlock The block that will be called when the inquiry has finished. The block will be called asynchronously on the queue that was originally used when calling this method. watch: the recipient of the query. isSportsSupported: YES if Sports API is supported, NO otherwise. Discussion Must be called from the main thread. Declared In PBWatch+Sports.h
pebblekit_ios sportsAppLaunch:
Send a command to launch the sports app on the watch that the receiver represents. - (void)sportsAppLaunch:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters onSent The handler that will be called when the launch command has been sent or timed out (after 1.5 secs). watch: the recipient of the command. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread, and before sportsAppSetMetric:onSent: or sportsAppUpdate:onSent:. Declared In PBWatch+Sports.h
pebblekit_ios sportsAppKill:
Send a command to kill the sports app on the watch that the receiver represents. - (void)sportsAppKill:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters onSent The handler that will be called when the kill command has been sent or timed out (after 1.5 secs). watch: the recipient of the command. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread. Declared In PBWatch+Sports.h
pebblekit_ios sportsAppSetUnitSystem:onSent:
Send a command to the sports app on the watch that the receiver represents, to set the preferred unit system. - (void)sportsAppSetUnitSystem:(PBUnitSystem)unitSystem onSent:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters unitSystem PBUnitSystemMetric to request metric units or PBUnitSystemImperial to request imperial units. onSent The handler that will be called when the unit command has been sent or timed out (after 1.5 secs). watch: the recipient of the command. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread. Declared In PBWatch+Sports.h
pebblekit_ios sportsAppSetActivityState:onSent:
Send a command to the sports app on the watch that the receiver represents, to set the state of the sports activity. Currently only SportsAppActivityStateRunning and SportsAppActivityStatePaused are supported. - (void)sportsAppSetActivityState:(SportsAppActivityState)state onSent:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters state The new sports activity state onSent The handler that will be called when the unit command has been sent or timed out (after 1.5 secs). watch: the recipient of the command. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread. Declared In PBWatch+Sports.h
pebblekit_ios sportsAppUpdate:onSent:
Sends the update to the sports app on the watch that the receiver represents. - (void)sportsAppUpdate:(NSDictionary *)update onSent:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters update The update to send. onSent The handler that will be called when the unit command has been sent or timed out (after 1.5 secs). watch: the recipient of the command. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread. The valid keys and values for the dictionary are the following: PBSportsTimeKey: the string representing the time. The value must be an NSString. The maximum number of characters is about 8. PBSportsDistanceKey: the string representing the distance. The value must be an NSString. The maximum number of characters is about 5. PBSportsDataKey: the string representing the pace or the speed. The value must be an NSString. The maximum number of characters is about 5. PBSportsActivityStateKey: the state of the activity. The value must be an NSNumber created using +[NSNumber(stdint) pb_numberWithUint8:]. The value must be one of the values from the enum SportsAppActivityState. PBSportsIsPaceKey: whether the value sent in PBSportsDataKey is the pace (use value 1) or the speed (use value 0). You don’t need to continously send this value. The value must be an NSNumber created using +[NSNumber(stdin) pb_numberWithUint8:]. PBSportsHeartBPMKey: the current heart rate in beats per minute. The value must be an NSNumber created using [NSNumber(stdin) pb_numberWithUint8:]. PBSportsCustomLabelKey: the string to show as a custom label. The value must be an NSString. The maximum number of characters is about 10. The string will be transformed into upper case before being sent to the watch. PBSportsCustomValueKey: the string to show as a custom value. The value must be an NSString. The maximum number of characters is about 8. Declared In PBWatch+Sports.h
pebblekit_ios sportsAppAddReceiveUpdateHandler:
Add a receive handler for incoming Sports updates that are send by the Sports watch application. - (id)sportsAppAddReceiveUpdateHandler:(BOOL ( ^ ) ( PBWatch *watch , SportsAppActivityState state ))onReceive Parameters onReceive The block that will be called every time a new update message arrives. watch: The watch that has sent the update. state: The new sports activity state as set by the watch. Return Value An opaque handle object representing the installed receive handler, that can be used in sportsAppRemoveUpdateHandler:. Discussion Must be called from the main thread. See Also SportsAppActivityState - sportsAppRemoveUpdateHandler: Declared In PBWatch+Sports.h
pebblekit_ios sportsAppRemoveUpdateHandler:
Removes a receive handler that was previously installed using sportsAppAddReceiveUpdateHandler:. - (void)sportsAppRemoveUpdateHandler:(id)opaqueHandle Parameters opaqueHandle The handle object as returned by sportsAppAddReceiveUpdateHandler: Discussion Must be called from the main thread. See Also - sportsAppAddReceiveUpdateHandler: Declared In PBWatch+Sports.h
pebblekit_ios sportsSetTitle:icon:onSent:
Assigns a custom title and icon to the sports app on the watch. - (void)sportsSetTitle:(NSString *)title icon:(UIImage *)icon onSent:(void ( ^ __nullable ) ( PBWatch *watch , NSError *__nullable error ))onSent Parameters title The custom title (max. 20 bytes of UTF-8 string) icon The custom icon (max. 32x32 pixels, black/white only). This image cannot be nil. onSent The handler that will be called when the title and icon have been set or timed out. watch: the recipient of the custom title and icon. error: nil if the operation was successful, or else an NSError with more information on why it failed. Discussion Must be called from the main thread.It is recommended to perform this as the first call after sportsGetIsSupported: to avoid changing the title and icon while it is being displayed in the menu as to avoid confusion. Declared In PBWatch+Sports.h
pebblekit_ios PBDataLoggingService
pebblekit_ios delegate
The delegate that has the responsility of handling callbacks from the data logging service. @property (atomic, readwrite, weak) id delegate Declared In PBDataLoggingService.h
pebblekit_ios setDelegateQueue:
Sets the queue on which delegate methods will be executed. Callbacks are intended to be processed in the order as they come in, so it you must use a serial queue. If set to nil (default) the main queue is used. - (void)setDelegateQueue:(dispatch_queue_t)delegateQueue Parameters delegateQueue The queue on which the delegate methods will be executed. Declared In PBDataLoggingService.h
pebblekit_ios pollForData
Query the latestConnectedWatch for data logging data. (Deprecated: Use pollForDataFromWatch:) - (void)pollForData Declared In PBDataLoggingService.h
pebblekit_ios pollForDataFromWatch:
Query the watch for data logging data. - (void)pollForDataFromWatch:(PBWatch *)watch Parameters watch The watch to query data from. Declared In PBDataLoggingService.h
pebblekit_ios PBPebbleKitLogging
pebblekit_ios setLogLevel:
Configures which events should be logged. + (void)setLogLevel:(PBPebbleKitLogLevel)logLevel Parameters logLevel One of the values in PBPebbleKitLogLevel, which will be the maximum level that will be logged. You can use PBPebbleKitLogLevelOff to disable all logging. Declared In PBLog+Public.h
pebblekit_ios setLoggingCallback:
Sets a new logging callback that will be invoked for each of the log records emitted by PebbleKit. + (void)setLoggingCallback:(nullable PBPebbleKitLoggingCallback)loggingCallback Parameters loggingCallback A block that will be invoked for each of the log records emitted by PebbleKit. Set this value to nil to return to the default NSLog logging. Declared In PBLog+Public.h
pebblekit_ios new
You should not create instances of this type. + (instancetype)new Discussion Note: You should not create instances of this type. Declared In PBLog+Public.h
pebblekit_ios init
You should not create instances of this type. - (instancetype)init Discussion Note: You should not create instances of this type. Declared In PBLog+Public.h
pebblekit_ios PBPebbleKitLogFlag
pebblekit_ios PBErrorCode
pebblekit_ios PBRemoteProtocolCapabilitiesFlags
pebblekit_ios PBPebbleKitLogLevel
pebblekit_ios PBUnitSystem
pebblekit_ios FirmwareMetadataPlatform
pebblekit_ios GolfAppCommand
pebblekit_ios PBDataLoggingType
pebblekit_ios SportsAppActivityState
pebblekit_ios PBWatchDelegate
pebblekit_ios watchDidDisconnect:
Called when the watch got disconnected. - (void)watchDidDisconnect:(PBWatch *)watch Parameters watch The watch that was disconnected. Declared In PBWatch.h
pebblekit_ios watch:handleError:
Called when the watch caught an error. - (void)watch:(PBWatch *)watch handleError:(NSError *)error Parameters watch The watch that caught the error. error The error catch by the watch. Declared In PBWatch.h
pebblekit_ios watchWillResetSession:
Called when an internal session is about to be reset. - (void)watchWillResetSession:(PBWatch *)watch Parameters watch The watch that will reset its session. Declared In PBWatch.h
pebblekit_ios watchDidOpenSession:
Called when an internal session is opened - (void)watchDidOpenSession:(PBWatch *)watch Parameters watch The watch that opened a session. Declared In PBWatch.h
pebblekit_ios watchDidCloseSession:
Called when an internal EASession is closed - (void)watchDidCloseSession:(PBWatch *)watch Parameters watch The watch that closed its session. Declared In PBWatch.h
pebblekit_ios PBPebbleCentralDelegate
pebblekit_ios pebbleCentral:watchDidConnect:isNew:
The Pebble Central responsible for calling the delegate method. - (void)pebbleCentral:(PBPebbleCentral *)central watchDidConnect:(PBWatch *)watch isNew:(BOOL)isNew Parameters central The Pebble Central responsible for calling the delegate method. watch The PBWatch object representing the watch that was connected. isNew YES if the watch has been connected for the first time since the app has been installed or NO if not. Declared In PBPebbleCentral.h
pebblekit_ios pebbleCentral:watchDidDisconnect:
The Pebble Central responsible for calling the delegate method. - (void)pebbleCentral:(PBPebbleCentral *)central watchDidDisconnect:(PBWatch *)watch Parameters central The Pebble Central responsible for calling the delegate method. watch The PBWatch object representing the watch that was disconnected. Declared In PBPebbleCentral.h
pebblekit_ios PBDataLoggingServiceDelegate
pebblekit_ios dataLoggingService:hasByteArrays:numberOfItems:forDataLoggingSession:
Called by the service every time there is data available that has not been consumed yet. - (BOOL)dataLoggingService:(PBDataLoggingService *)service hasByteArrays:(const uint8_t *const)bytes numberOfItems:(uint16_t)numberOfItems forDataLoggingSession:(PBDataLoggingSessionMetadata *)session Parameters service The data logging service. bytes Pointer to the array of bytes. The array contains (numberOfItems * session.itemSize) bytes. numberOfItems The number of items that the array contains. session The metadata of the session. Return Value YES if the data was consumed and the service can discard the data. Return NO if the data was not be consumed after the method returned. If NO is returned, the next time this callback is invoked for the session, the data argument will (also) contain the data of the items of the previous invocation of the callback. Declared In PBDataLoggingService.h
pebblekit_ios dataLoggingService:hasUInt8s:numberOfItems:forDataLoggingSession:
Called by the service every time there is data available that has not been consumed yet. - (BOOL)dataLoggingService:(PBDataLoggingService *)service hasUInt8s:(const uint8_t [ ])data numberOfItems:(uint16_t)numberOfItems forDataLoggingSession:(PBDataLoggingSessionMetadata *)session Parameters service The data logging service. data Pointer to the array of UInt8`s. numberOfItems The number of items that the array contains. session The metadata of the session. Return Value YES if the data was consumed and the service can discard the data. Return NO if the data was not be consumed after the method returned. If NO is returned, the next time this callback is invoked for the session, the data argument will (also) contain the data of the items of the previous invocation of the callback. Declared In PBDataLoggingService.h
pebblekit_ios dataLoggingService:hasUInt16s:numberOfItems:forDataLoggingSession:
Called by the service every time there is data available that has not been consumed yet. - (BOOL)dataLoggingService:(PBDataLoggingService *)service hasUInt16s:(const uint16_t [ ])data numberOfItems:(uint16_t)numberOfItems forDataLoggingSession:(PBDataLoggingSessionMetadata *)session Parameters service The data logging service. data Pointer to the array of UInt16`s. numberOfItems The number of items that the array contains. session The metadata of the session. Return Value YES if the data was consumed and the service can discard the data. Return NO if the data was not be consumed after the method returned. If NO is returned, the next time this callback is invoked for the session, the data argument will (also) contain the data of the items of the previous invocation of the callback. Declared In PBDataLoggingService.h
pebblekit_ios dataLoggingService:hasUInt32s:numberOfItems:forDataLoggingSession:
Called by the service every time there is data available that has not been consumed yet. - (BOOL)dataLoggingService:(PBDataLoggingService *)service hasUInt32s:(const uint32_t [ ])data numberOfItems:(uint16_t)numberOfItems forDataLoggingSession:(PBDataLoggingSessionMetadata *)session Parameters service The data logging service. data Pointer to the array of UInt32`s. numberOfItems The number of items that the array contains. session The metadata of the session. Return Value YES if the data was consumed and the service can discard the data. Return NO if the data was not be consumed after the method returned. If NO is returned, the next time this callback is invoked for the session, the data argument will (also) contain the data of the items of the previous invocation of the callback. Declared In PBDataLoggingService.h
pebblekit_ios dataLoggingService:hasSInt8s:numberOfItems:forDataLoggingSession:
Called by the service every time there is data available that has not been consumed yet. - (BOOL)dataLoggingService:(PBDataLoggingService *)service hasSInt8s:(const int8_t [ ])data numberOfItems:(uint16_t)numberOfItems forDataLoggingSession:(PBDataLoggingSessionMetadata *)session Parameters service The data logging service. data Pointer to the array of SInt8`s. numberOfItems The number of items that the array contains. session The metadata of the session. Return Value YES if the data was consumed and the service can discard the data. Return NO if the data was not be consumed after the method returned. If NO is returned, the next time this callback is invoked for the session, the data argument will (also) contain the data of the items of the previous invocation of the callback. Declared In PBDataLoggingService.h
pebblekit_ios dataLoggingService:hasSInt16s:numberOfItems:forDataLoggingSession:
Called by the service every time there is data available that has not been consumed yet. - (BOOL)dataLoggingService:(PBDataLoggingService *)service hasSInt16s:(const int16_t [ ])data numberOfItems:(uint16_t)numberOfItems forDataLoggingSession:(PBDataLoggingSessionMetadata *)session Parameters service The data logging service. data Pointer to the array of SInt16`s. numberOfItems The number of items that the array contains. session The metadata of the session. Return Value YES if the data was consumed and the service can discard the data. Return NO if the data was not be consumed after the method returned. If NO is returned, the next time this callback is invoked for the session, the data argument will (also) contain the data of the items of the previous invocation of the callback. Declared In PBDataLoggingService.h
pebblekit_ios dataLoggingService:hasSInt32s:numberOfItems:forDataLoggingSession:
Called by the service every time there is data available that has not been consumed yet. - (BOOL)dataLoggingService:(PBDataLoggingService *)service hasSInt32s:(const int32_t [ ])data numberOfItems:(uint16_t)numberOfItems forDataLoggingSession:(PBDataLoggingSessionMetadata *)session Parameters service The data logging service. data Pointer to the array of SInt32`s. numberOfItems The number of items that the array contains. session The metadata of the session. Return Value YES if the data was consumed and the service can discard the data. Return NO if the data was not be consumed after the method returned. If NO is returned, the next time this callback is invoked for the session, the data argument will (also) contain the data of the items of the previous invocation of the callback. Declared In PBDataLoggingService.h
pebblekit_ios dataLoggingService:sessionDidFinish:
Called by the service every time a session is finished. This is guaranteed to be called only after all data has been received and consumed by the application. - (void)dataLoggingService:(PBDataLoggingService *)service sessionDidFinish:(PBDataLoggingSessionMetadata *)session Parameters service The data logging service. session The metadata of the session. Declared In PBDataLoggingService.h
pebblekit_ios hierarchy
pebblekit_ios index