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_gui_status_from_async 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.
 | |
|  *
 | |
|  */
 |