35 lines
1.9 KiB
Plaintext
35 lines
1.9 KiB
Plaintext
/**
|
|
* @defgroup GdsOutputRenderer GDS Output Renderer base class
|
|
*
|
|
* The renderers are used to convert the cell structures read from the GDS layout file
|
|
* into different output formats.
|
|
*
|
|
* The GdsOutputRenderer base class is used to derive all renderers from.
|
|
*
|
|
* @warning Although the GdsOutputRenderer class provides compatibility for asynchronous rendering,
|
|
* the class is not thread safe / re-entrant. Only use it from a signle context. Not even the rendering function called is allowed to modifiy this object.
|
|
*
|
|
* A allowed function to be called from the async rendering thread is #gds_output_renderer_update_async_progress and the get functions for the properties.
|
|
*
|
|
* @note The context that owned the renderer has to ensure that only one rendering is active at a time for a single instance of a renderer.
|
|
*
|
|
* By default this class implements the following features:
|
|
*
|
|
* @section GdsOutputRendererProps Properties
|
|
* Property Name | Description
|
|
* -----------------|----------------------------------------------------------------
|
|
* layer-settings | LayerSettings object containing the layer rendering information
|
|
* output-file | Output file name for rendering
|
|
*
|
|
* All these properties have to be set for rendering.
|
|
*
|
|
* @section GdsOutputRendererSignals Signals / Events
|
|
* Signal Name | Description | Callback prototype
|
|
* -----------------|-------------------------------------------------|-----------------------------------------------------------
|
|
* async-finished | The asynchronous rendering is finished | void callback(GdsOutputRenderer *src, gpointer user_data)
|
|
* progress-changed | The asynchronous rendering progress changed | void callback(GdsOutputRenderer *src, const char *progress, gpointer user_data)
|
|
*
|
|
* @note The `char *progress` supplied to the callback function must not be modified or freed.
|
|
*
|
|
*/
|