Enum values should be passed on as strings.
hid_attr_type_e
Type of an HID attribute (usually a widget on an attribute dialog box)
value | meaning |
---|---|
HIDA_Label | non-editable label displayed on the GUI |
HIDA_Integer | a signed integer value |
HIDA_Real | a floating point value |
HIDA_String | one line textual input |
HIDA_Boolean | true/false boolean value |
HIDA_Enum | select an item of a predefined list |
HIDA_Mixed | TODO |
HIDA_Path | path to a file or directory |
HIDA_Unit | select a dimension unit |
HIDA_Coord | enter a coordinate |
Line or arc ending style
value | meaning |
---|---|
Trace_Cap | filled circle (trace drawing) |
Square_Cap | rectangular lines (square pad) |
Round_Cap | round pins or round-ended pads, thermals |
Beveled_Cap | octagon pins or bevel-cornered pads |
Events do not have return value. The first argument is always the even id. Event handlers defined in scripts get all event arguments converted to string (types below are informational).
HIDE_get_export_options(int event_id, void* hid)
Called before get_exporter_options returns the option list to the GUI hid
HIDE_do_export_start(int event_id, void* hid)
Called before export redraw starts
HIDE_do_export_finish(int event_id, void* hid)
Called after export redraw finished
HIDE_set_layer(int event_id, void* hid, const char* name, int group, int empty)
PCB callback events for drawing: change layer
HIDE_set_color(int event_id, void* hid, void* gc, const char* name)
PCB callback events for drawing: change drawing color
HIDE_set_line_cap(int event_id, void* hid, void* gc, EndCapStyle style)
PCB callback events for drawing: change drawing line cap style
HIDE_set_line_width(int event_id, void* hid, void* gc, int width)
PCB callback events for drawing: change drawing line width
HIDE_set_draw_xor(int event_id, void* hid, void* gc, int xor)
PCB callback events for drawing: toggle xor drawing method
HIDE_set_draw_faded(int event_id, void* hid, void* gc, int faded)
PCB callback events for drawing: toggle faded drawing method
HIDE_draw_line(int event_id, void* hid, void* gc, int x1, int y1, int x2, int y2)
PCB callback events for drawing: draw a line
HIDE_draw_arc(int event_id, void* hid, void* gc, int cx, int cy, int xradius, int yradius, double start_angle, double delta_angle)
PCB callback events for drawing: draw an arc from center cx;cy
HIDE_draw_rect(int event_id, void* hid, void* gc, int x1, int y1, int x2, int y2)
PCB callback events for drawing: draw a rectangle
HIDE_fill_circle(int event_id, void* hid, void* gc, int cx, int cy, int radius)
PCB callback events for drawing: draw a filled circle
HIDE_fill_polygon(int event_id, void* hid, void* gc, int n_coords, int* x, int* y)
PCB callback events for drawing: draw a filled polygon
HIDE_fill_rect(int event_id, void* hid, void* gc, int x1, int y1, int x2, int y2)
PCB callback events for drawing: draw a filled rectangle
HIDE_use_mask(int event_id, void* hid, int use_it)
PCB callback events for drawing: TODO
HIDE_make_gc(int event_id, void* hid, void* gc)
PCB callback events for drawing: create a new graphical context
HIDE_destroy_gc(int event_id, void* hid, void* gc)
PCB callback events for drawing: destroy a graphical context
HIDE_fill_pcb_pv(int event_id, void* hid, void* fg_gc, void* bg_gc, void* pad, int drawHole, int mask)
PCB callback events for drawing: TODO
HIDE_fill_pcb_pad(int event_id, void* hid, void* pad, int clear, int mask)
PCB callback events for drawing: TODO
The following functions are registered in script context.
hid_t* hid_create(char* hid_name, char* description)
Creates a new hid context. Name and description matters only if the hid is
registered as an exporter later.
int hid_add_attribute(hid_t* hid, char* attr_name, char* help, hid_attr_type_t type, int min, int max, char* default_val)
Append an attribute in a hid previously created using hid_create().
Arguments:
hid: hid_t previously created using hid_create()
attr_name: name of the attribute
help: help text for the attribute
type: type of the attribute (input widget type)
min: minimum value of the attribute, if type is integer or real)
max: maximum value of the attribute, if type is integer or real)
default_val: default value of the attribute
Returns an unique ID of the attribute the caller should store for
later reference. For example this ID is used when retrieving the
value of the attribute after the user finished entering data in
the dialog.
char* hid_get_attribute(hid_t* hid, int attr_id)
Query an attribute from the hid after dialog_attributes() returned.
Arguments:
hid: hid_t previously created using hid_create()
attr_id: the unique ID of the attribute (returned by hid_add_attribute())
Returns the value (converted to string) set by the user.
int hid_register(hid_t* hid)
Register the hid; call it after a hid is created and its attributes
are all set up
void hid_gpmi_data_set(hid_t* h, void* data)
For internal use
hid_t* hid_gpmi_data_get(HID* h)
For internal use
HID_Attr_Val hid_string2val(const hid_attr_type_t type, const char* str)
For internal use