Header file defining the Timeline API. More...
Data Structures | |
struct | SWMSG_TIMELINE |
Common timeline event message. More... | |
struct | sw_tl_options |
Options for SwTimelineStartEx(). More... | |
struct | sw_timeline_api_20110623 |
Timeline API struct for version 20110623. More... | |
struct | sw_timeline_api_20170413 |
Timeline API struct for version 20170413. More... | |
Macros | |
#define | SW_TL_EXTENT_INDETERMINATE DBL_MAX |
A timeline extent value representing an indeterminate value. More... | |
#define | SW_TL_OPTIONS_INIT { sizeof(sw_tl_options), SW_TL_PROLONG_AUTO, FALSE, FALSE, 0u, SW_TL_PROGRESS_SUPPRESS, } |
Explicit auto/static initialiser for sw_tl_options structure. | |
Typedefs | |
typedef HqnIdent | sw_tl_ref |
A unique identifier for a Timeline. | |
typedef int | sw_tl_state |
Type of variables in which timeline state values TL_STATES are stored. | |
typedef HqnIdent | sw_tl_type |
Timeline types. More... | |
typedef HqnIdent | sw_tl_unit |
Timeline units. More... | |
typedef int | sw_tl_priority |
Timeline priorities. More... | |
typedef double | sw_tl_extent |
Timeline extents and progress. More... | |
typedef HqnResult | sw_tl_result |
A type used to communicate return values from timeline API calls. More... | |
typedef HqnIdent | sw_tl_context |
Timeline context identifiers. More... | |
typedef struct sw_tl_options | sw_tl_options |
Options for SwTimelineStartEx(). More... | |
Enumerations | |
enum | { SW_TL_REF_INVALID = 0 } |
Well-known identifiers for timelines. More... | |
enum | TL_STATES { TL_STATE_START = 0 , TL_STATE_TITLE , TL_STATE_EXTEND , TL_STATE_PROGRESS , TL_STATE_END = 32 , TL_STATE_ABORT , TL_STATE_ENDING , TL_STATE_ABORTING , TL_STATE_ENDED , TL_STATE_ABORTED , TL_STATE_UNKNOWN = 64 } |
Timeline states. More... | |
enum | { EVENT_TIMELINE_START = EVENT_TIMELINE+TL_STATE_START , EVENT_TIMELINE_TITLE = EVENT_TIMELINE+TL_STATE_TITLE , EVENT_TIMELINE_EXTEND = EVENT_TIMELINE+TL_STATE_EXTEND , EVENT_TIMELINE_PROGRESS = EVENT_TIMELINE+TL_STATE_PROGRESS , EVENT_TIMELINE_ENDING = EVENT_TIMELINE+TL_STATE_ENDING , EVENT_TIMELINE_ENDED = EVENT_TIMELINE+TL_STATE_ENDED , EVENT_TIMELINE_ABORTING = EVENT_TIMELINE+TL_STATE_ABORTING , EVENT_TIMELINE_ABORTED = EVENT_TIMELINE+TL_STATE_ABORTED } |
Timeline event numbers. More... | |
enum | { TL_SKIN = 0x4000 , TL_SKIN_PRIVATE = 0x5000 , TL_PLUGAPI = 0x6000 , TL_PLUGAPI_PRIVATE = 0x7000 , TL_CORE = 0x8000 , TL_CORE_PRIVATE = 0x9000 , SW_TL_TYPE_ANY = 0 , SW_TL_TYPE_NONE = 0 } |
enum | { SW_TL_UNIT_INVALID = 0 , SW_TL_UNIT_NONE , SW_TL_UNIT_BYTES , SW_TL_UNIT_JOBS , SW_TL_UNIT_PAGES , SW_TL_UNIT_BANDS , SW_TL_UNIT_LINES } |
Pre-defined units for timelines. More... | |
enum | { SW_TL_PRIORITY_UNKNOWN = INT_MIN , SW_TL_PRIORITY_AUTO = SW_TL_PRIORITY_UNKNOWN , SW_TL_PRIORITY_BLOCKING = SW_TL_PRIORITY_UNKNOWN+1 , SW_TL_PRIORITY_NORMAL = 0 } |
enum | TL_RESULT { SW_TL_SUCCESS = HQN_RESULT_SUCCESS , SW_TL_ERROR , SW_TL_ERROR_UNKNOWN , SW_TL_ERROR_SYNTAX , SW_TL_ERROR_IN_USE , SW_TL_ERROR_MEMORY } |
enum | { SW_TL_CONTEXT_OWNER = 0 } |
Well-known context identifiers for timelines. More... | |
enum | { SW_TL_PROLONG_FALSE = 0 , SW_TL_PROLONG_TRUE = 1 , SW_TL_PROLONG_AUTO = 2 } |
Values for the sw_tl_options::can_prolong options field. More... | |
enum | { SW_TL_PROGRESS_SUPPRESS = 0 , SW_TL_PROGRESS_START = 1 , SW_TL_PROGRESS_END = 2 , SW_TL_PROGRESS_MID = 4 , SW_TL_PROGRESS_FIRST = 8 } |
A bitmask of flags used to control which progress messages are not suppressed. These values may be combined in the sw_tl_options::progress_not_suppressed options field. These options do not affect changes to the extent. More... | |
Functions | |
sw_tl_ref | SwTimelineStart (sw_tl_type type, sw_tl_ref parent, sw_tl_extent start, sw_tl_extent end, sw_tl_unit unit, sw_tl_priority priority, void *context, const uint8 *title, size_t length) |
Create a Timeline, issuing a Start Event immediately. More... | |
sw_tl_ref | SwTimelineStartEx (sw_tl_type type, sw_tl_ref parent, sw_tl_extent start, sw_tl_extent end, sw_tl_unit unit, sw_tl_priority priority, void *context, const uint8 *title, size_t length, const sw_tl_options *options) |
Create a Timeline with a specified set of options, issuing a Start Event immediately. More... | |
sw_tl_result | SwTimelineEnd (sw_tl_ref ref) |
Potentially end a Timeline. More... | |
sw_tl_result | SwTimelineAbort (sw_tl_ref ref, int reason) |
Potentially abort a Timeline. More... | |
sw_tl_result | SwTimelineSetTitle (sw_tl_ref ref, const uint8 *title, size_t length) |
Change the title of a Timeline. Issues an Event before changing the title. More... | |
size_t | SwTimelineGetTitle (sw_tl_ref ref, uint8 *buffer, size_t size) |
Return the Timeline's title and length. More... | |
sw_tl_result | SwTimelineSetExtent (sw_tl_ref ref, sw_tl_extent start, sw_tl_extent end) |
Extend the length of the Timeline. Issues an Event for a nonzero change. More... | |
sw_tl_result | SwTimelineSetProgress (sw_tl_ref ref, sw_tl_extent progress) |
Update the progress of the Timeline, in the units given when the Timeline was started. Issues an Event if the current value changes. More... | |
sw_tl_result | SwTimelineGetProgress (sw_tl_ref ref, sw_tl_extent *start, sw_tl_extent *end, sw_tl_extent *progress, sw_tl_unit *unit) |
Return the extent, unit and progress through a Timeline. More... | |
sw_tl_ref | SwTimelineGetAncestor (sw_tl_ref ref, sw_tl_type type) |
Return the nearest ancestor of the Timeline of the specified type. More... | |
sw_tl_ref | SwTimelineOfType (sw_tl_ref ref, sw_tl_type type) |
Ensure the Timeline or an ancestor is of the given type. More... | |
sw_tl_type | SwTimelineGetType (sw_tl_ref ref) |
Return the Timeline type if known. More... | |
sw_tl_priority | SwTimelineGetPriority (sw_tl_ref ref) |
Return the Timeline priority if known. More... | |
sw_tl_result | SwTimelineSetContext (sw_tl_ref ref, sw_tl_context id, void *context) |
Attach a secondary context to a Timeline. More... | |
void * | SwTimelineGetContext (sw_tl_ref ref, sw_tl_context id) |
Return a context from the Timeline. More... | |
Header file defining the Timeline API.
Copyright (C) 2011-2023 Global Graphics Software Ltd. All rights reserved. This source code contains the confidential and trade secret information of Global Graphics Software Ltd. It may not be used, copied or distributed for any reason except as set forth in the applicable Global Graphics license agreement.