Defines the core and skin external event numbers used for the Events system. More...
Data Structures | |
struct | PS_STRING |
struct | SWMSG_ASYNC_PS |
struct | SWMSG_INTERRUPT |
struct | ERROR_DETAIL |
struct | SWMSG_ERROR |
Macros | |
#define | MAX_ASYNC_ID (31) |
#define | SW_ASYNC_QUIT_ID 31 |
Typedefs | |
typedef struct SWMSG_ASYNC_PS | SWMSG_ASYNC_PS |
typedef struct SWMSG_INTERRUPT | SWMSG_INTERRUPT |
typedef struct ERROR_DETAIL | ERROR_DETAIL |
typedef struct SWMSG_ERROR | SWMSG_ERROR |
Enumerations | |
enum | { SWEVT_INTERRUPT_USER = (EVENT_CORE + ( 0 )) , SWEVT_INTERRUPT_TIMEOUT = (EVENT_CORE + ( 1 )) , SWEVT_ASYNC_PS = (EVENT_CORE + ( 10 )) , SWEVT_PROGRESS_UPDATE = (EVENT_CORE + ( 20 )) , SWEVT_HT_GENERATION_SEARCH = (EVENT_CORE + ( 30 )) , SWEVT_HT_GENERATION_START = (EVENT_CORE + ( 31 )) , SWEVT_HT_GENERATION_END = (EVENT_CORE + ( 32 )) , SWEVT_HT_USAGE_THRESHOLD = (EVENT_CORE + ( 43 )) , SWEVT_HT_USAGE_SPOT = (EVENT_CORE + ( 44 )) , SWEVT_HT_USAGE_MODULAR = (EVENT_CORE + ( 45 )) , SWEVT_HT_USAGE_COLORANT = (EVENT_CORE + ( 46 )) , SWEVT_BANDS_HANDLED = (EVENT_CORE + ( 60 )) , SWEVT_INTERPRET_ERROR = (EVENT_CORE + ( 100 )) , SWEVT_RENDER_ERROR = (EVENT_CORE + ( 101 )) , SWEVT_RR_PAGE_READY = (EVENT_CORE + ( 201 )) , SWEVT_RR_PAGE_COMPLETE = (EVENT_CORE + ( 202 )) , SWEVT_RR_ELEMENT_DEFINE = (EVENT_CORE + ( 203 )) , SWEVT_RR_ELEMENT_UNLOCK = (EVENT_CORE + ( 205 )) , SWEVT_RR_ELEMENT_PENDING = (EVENT_CORE + ( 206 )) , SWEVT_RR_ELEMENT_UPDATE_RASTER = (EVENT_CORE + ( 208 )) , SWEVT_RR_ELEMENT_UPDATE_HITS = (EVENT_CORE + ( 209 )) , SWEVT_RR_CONNECT = (EVENT_CORE + ( 210 )) , SWEVT_RR_DISCONNECT = (EVENT_CORE + ( 211 )) , SWEVT_RR_ELEMENT_QUERY_LOCK = (EVENT_CORE + ( 212 )) , SWEVT_RR_PAGE_DEFINE = (EVENT_CORE + ( 213 )) , SWEVT_MONITOR = (EVENT_CORE + ( 300 )) , SWEVT_NCAPI_OP = (EVENT_CORE + ( 302 )) } |
Core event ids. More... | |
enum | { SWEVT_THROUGHPUT_STATUS = (EVENT_SKIN + ( 0 )) , SWEVT_THROUGHPUT_QCHANGE = (EVENT_SKIN + ( 1 )) , SWEVT_THROUGHPUT_ENABLE = (EVENT_SKIN + ( 2 )) , SWEVT_THROUGHPUT_DELETE = (EVENT_SKIN + ( 3 )) , SWEVT_INPUTS_ENABLE = (EVENT_SKIN + ( 10 )) , SWEVT_INPUTQ_CHANGE = (EVENT_SKIN + ( 11 )) } |
Skin event ids. More... | |
Defines the core and skin external event numbers used for the Events system.
Copyright (C) 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.
#define MAX_ASYNC_ID (31) |
Range is 0 to MAX_ASYNC_ID inclusive
#define SW_ASYNC_QUIT_ID 31 |
Built-in action ID to quit the RIP
typedef struct ERROR_DETAIL ERROR_DETAIL |
Detail for unhandled error event.
Multiple error detail nodes may be on a detail list. Key/Value nodes come in pairs, and File nodes may be succeeded by a Line node.
typedef struct SWMSG_ASYNC_PS SWMSG_ASYNC_PS |
Asynchronous PS action event message. This message is sent with a SWEVT_ASYNC_PS event, requesting that a pre-installed asynchronous PostScript action is run as soon as the interpreter is at a suitable safe point.
typedef struct SWMSG_ERROR SWMSG_ERROR |
A job error event. This message is associated with the SWEVT_INTERPRET_ERROR and SWEVT_RENDER_ERROR events.
typedef struct SWMSG_INTERRUPT SWMSG_INTERRUPT |
Interrupt and timeout event message generated by the skin. A single message is shared between the two interrupt types (user and timeout). This message is sent with SWEVT_INTERRUPT_TIMEOUT and SWEVT_INTERRUPT_USER events.
anonymous enum |
Core event ids.
Core events are partitioned into sub-groups so that related events can be added if necessary without disturbing the overall order.
Enumerator | |
---|---|
SWEVT_INTERRUPT_USER | User interrupt of a job. The core RIP consumes the SWMSG_INTERRUPT associated with this event, stopping processing of the job(s) identified by the message. |
SWEVT_INTERRUPT_TIMEOUT | Automatic timeout interrupt of a job. The core RIP consumes the SWMSG_INTERRUPT associated with this event, stopping processing of the job(s) identified by the message. |
SWEVT_ASYNC_PS | Asynchronous PS request. The core RIP consumes the SWMSG_ASYNC_PS associated with this event, initiating the asynchronous PostScript action indicated by the message. |
SWEVT_PROGRESS_UPDATE | Progress update request. The core RIP consumes this event, issuing progress updates on some timelines in response. There is no message associated with this event. |
SWEVT_HT_GENERATION_SEARCH | Halftone generation search update. The core RIP generates this event, passing a SWMSG_HT_GENERATION_SEARCH message with the event to indicate the halftone screen being searched for. |
SWEVT_HT_GENERATION_START | Halftone generation start. The core RIP generates this event, passing a SWMSG_HT_GENERATION_START message with the event when it starts generating a halftone screen cache for a screen name, angle and frequency. |
SWEVT_HT_GENERATION_END | Halftone generation end. The core RIP generates this event, passing a SWMSG_HT_GENERATION_END message with the event to indicate when it has completed generation of an optimized screen for a specified screen name, angle and frequency. |
SWEVT_HT_USAGE_THRESHOLD | Threshold screen usage report. The core RIP generates this event, passing a SWMSG_HT_USAGE_THRESHOLD message with the event to indicate that a particular threshold screen is used in a job. |
SWEVT_HT_USAGE_SPOT | Spot function screen usage report. The core RIP generates this event, passing a SWMSG_HT_USAGE_SPOT message with the event to indicate that a particular spot function screen is used in a job. |
SWEVT_HT_USAGE_MODULAR | Modular halftone usage report. The core RIP generates this event, passing a SWMSG_HT_USAGE_MODULAR message with the event to indicate that a particular modular screen is used in a job. |
SWEVT_HT_USAGE_COLORANT | Screen colorant usage report. The core RIP generates this event, passing a SWMSG_HT_USAGE_COLORANT message with the event to indicate that a particular colorant was screened in a job. |
SWEVT_BANDS_HANDLED | The pagebuffer device generates this event, associated with a SWMSG_BANDS_HANDLED message, to indicate that bands passed to it for output have been copied, output, or otherwise disposed of, and can be re-used by the core RIP. The skin (via the pagebuffer device) may consume bands passed to it by the core RIP asynchronously, returning the band resources when able. |
SWEVT_INTERPRET_ERROR | An error terminating the interpretation of a job. The core RIP generates this event, associated with a SWMSG_ERROR error, when an error has not been handled (by PS or Core code), and will cause the job to fail. It is possible to suppress normal error reporting by modifying the message. |
SWEVT_RENDER_ERROR | An error terminating the rendering of a job. The core RIP generates this event, associated with a SWMSG_ERROR error, when an error has not been handled in the renderer. This may be generated by asynchronous renderer threads after the interpreter has finished and handed off the page. If not, there will usually be a SWEVT_INTERPRET_ERROR event for this error as well. It is possible to suppress further error handling and continue rendering the job, by modifying the message. |
SWEVT_RR_PAGE_READY | HVD page ready. The core RIP generates this event when the cache implementation has been informed that all of the sub-page raster elements for an HVD page have been generated or are being generated, and the page is ready for composition. A SWMSG_RR_PAGE_REF message is associated with this event, indicating which page is ready. |
SWEVT_RR_PAGE_COMPLETE | HVD page complete. The HVD cache implementation generates this event when output of a page is fully complete, using a SWMSG_RR_PAGE_REF message to identify the page completed. The core RIP will respond to this event by issuing SWEVT_RR_ELEMENT_UNLOCK and SWEVT_RR_ELEMENT_UPDATE_HITS events for the sub-page raster elements. |
SWEVT_RR_ELEMENT_DEFINE | HVD sub-page raster element definition. This event is generated by the Core RIP, associating a SWMSG_RR_ELEMENT_DEFINE message, to introduce a raster element which may be cached by HVD. The message contains a unique ID and bounding box for a re-used element, amongst other fields. This event may be issued multiple times with the same unique ID if the same element is used in different HVD scanning windows. |
SWEVT_RR_ELEMENT_UNLOCK | HVD sub-page raster element unlock. This event is generated by the Core RIP, associated with a SWMSG_RR_ELEMENT_REF message. If no other locks apply to the raster element identified by the message, it is eligible for purging at the discretion of the cache implementation. Cache implementations are encouraged to retain raster elements even after unlocking if they have available space. |
SWEVT_RR_ELEMENT_PENDING | HVD sub-page raster element pending. This event is generated by the Core RIP, associated with a SWMSG_RR_ELEMENT_REF message. It indicates to the cache instance that a raster for the element identified by the message is being generated. This allows the cache to respond to queries which arrive before the raster data as if it was already present, preventing the redundant work of creating the raster twice. |
SWEVT_RR_ELEMENT_UPDATE_RASTER | Internal HVD raster element update. This event is generated by the Core RIP, associated with a SWMSG_RR_ELEMENT_UPDATE_RASTER message. It is used to update the internal HVD implementation with raster data generated by the Core RIP. This event is not relevant to external HVD caches. |
SWEVT_RR_ELEMENT_UPDATE_HITS | HVD sub-page raster element hit count update. This event is generated by the Core RIP, associated with a SWMSG_RR_ELEMENT_UPDATE_HITS message. It is used to update the cache instances notion of how popular a particular raster element is, which can influence cache eviction policy. |
SWEVT_RR_CONNECT | HVD cache instance connection. This event is generated by the Core RIP when it initiates use of HVD for a particular job, and is sent with an associated SWMSG_RR_CONNECT message. The message identifies the cache implementation that the Core RIP is configured to use, along with a setup identifier for the cache instance. An event handler for a matching HVD cache should fill in the connection handle and position independent capability flag in the message, and return SW_EVENT_HANDLED. If no suitable cache handler is available, the Core RIP will report an error and abort the job. |
SWEVT_RR_DISCONNECT | HVD cache instance disconnection. This event is generated by the Core RIP when it has finished using an HVD cache instance. It is associated with SWMSG_RR_DISCONNECT message, containing the connection handle of the HVD instance being disconnected. If the HVD cache instance is no longer in use after disconnection, it may purge all of its retained raster elements. The core RIP will not issue this event until it has seen a corresponding SWEVT_RR_PAGE_COMPLETE event issued by the cache instance for every SWEVT_RR_PAGE_READY event that the core sent to the cache. |
SWEVT_RR_ELEMENT_QUERY_LOCK | HVD sub-page raster element query and lock. This event is generated by the Core RIP, associated with a SWMSG_RR_ELEMENT_QUERY_LOCK message. It is used by the Core RIP to query whether the element identified by the message is present in the cache instance (or known to be pending, as indicated by SWEVT_RR_ELEMENT_PENDING). The handler should return SW_EVENT_HANDLED if the raster element is known, SW_EVENT_CONTINUE if the element is not known. If the element is known, then the cache is assumed to have locked it so that it will not be purged until it sees a corresponding SWEVT_RR_ELEMENT_UNLOCK event. This controls the low water mark level of the cache such that the current page can be guaranteed to complete. If the element is not known, the Core RIP will proceed to issue a SWEVT_RR_ELEMENT_PENDING event, initiate generation of the raster, and then will call this event again. |
SWEVT_RR_PAGE_DEFINE | HVD page definition. This event is generated by the Core RIP. A raster page is constructed by HVD out of a set of sub-page raster elements, composed onto an empty raster in a specified order. The associated SWMSG_RR_PAGE_DEFINE message contains an array of page definition pointers, each page definition containing an array of sub-page raster element references and positions. The page definitions may contain all pages in the job, or some sub-range of pages, or tiles from all or a sub-range of pages in the job. |
SWEVT_MONITOR | Monitor information output. This event is generated by both core RIP and skin, associated with a SWMSG_MONITOR message. This event is used to send output to the RIP's logfiles, standard output, standard error, and other information channels. The SWMSG_MONITOR indicates the channel the message is sent to, the information type, and for some types of message a machine-parsable unique ID that can be used to identify specific causes of error or warning messages. See Monitor information events. |
SWEVT_NCAPI_OP | Named Color API action. This API is not present in the Harlequin Core SDK. |
anonymous enum |
Skin event ids.
Skin event IDs are owned by skin sub-systems, which may not be present in all Harlequin RIP products.
Skin events are partitioned into sub-groups so that related events can be added if necessary without disturbing the overall order. The names used for skin events follow the same pattern as core events, but are in a different range.
Enumerator | |
---|---|
SWEVT_THROUGHPUT_STATUS | Throughput system status change. This API is not present in the Harlequin Core SDK. |
SWEVT_THROUGHPUT_QCHANGE | Throughput queue change. This API is not present in the Harlequin Core SDK. |
SWEVT_THROUGHPUT_ENABLE | Throughput queue enable/disable/status request. This API is not present in the Harlequin Core SDK. |
SWEVT_THROUGHPUT_DELETE | Throughput queue deletion mode change/status request. This API is not present in the Harlequin Core SDK. |
SWEVT_INPUTS_ENABLE | Inputs start/stop/status request. This event requires a SWMSG_INPUTS_ENABLE message. The event may be used to enable, disable, or query the input queue state. Handlers with a priority higher than SW_EVENT_NORMAL can affect queue state requests by filtering or modifying events. Handlers with priority lower than SW_EVENT_NORMAL are purely informational, and will receive changes to the current queue state. |
SWEVT_INPUTQ_CHANGE | Input queue change. The input queue system generates this event, associated with a SWMSG_INPUTQ_CHANGE message to inform clients of the new input queue state. This event is purely informational, and is issued after the change is final. The return value of the event handler does not affect the queue change. |