Harlequin RIP SDK
timelineapi.h File Reference

Header file defining the Timeline API. More...

#include <float.h>
#include <limits.h>
#include "eventapi.h"

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...
 

Detailed Description

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.