1 gerbv_project *mainProject /* global variable */
2 gchar *path /* current working directory from which to load files */
3 gchar *project /* Name of current project. */
4 int curr_index /* currently active layer */
5 gerbv_fileinfo_t **file /* array of files */
6 gerbv_user_tranformation_t transform /*user-specified transformation for this layer (mirroring, translating, etc)*/
8 gchar *name /* Name shown in layer window on left. i.e. filename*/
9 gboolean layer_dirty /* layer has changed since last save*/
11 gerbv_image_t *image /* This holds all info related to parsing and rendering one layer */
12 gerbv_image_info_t *info
13 gerbv_aperture_t *aperture
14 gerbv_aperture_type_t type;
15 gerbv_amacro_t *amacro;
16 gerbv_simplified_amacro_t *simplified;
17 double parameter[APERTURE_PARAMETERS_MAX];
20 gerbv_layertype_t /* Enum holding "RS274", "Drill", or "PnP"*/
21 gerbv_netstate_t *states /* List used to keep track of RS274X state groups */
22 gerbv_axis_select_t axisSelect; /* the AB to XY coordinate mapping (refer to RS274X spec) */
23 gerbv_mirror_state_t mirrorState; /* any mirroring around the X or Y axis */
24 gerbv_unit_t unit; /* the current length unit */
25 gdouble offsetA; /* the offset along the A axis (usually this is the X axis) */
26 gdouble offsetB; /* the offset along the B axis (usually this is the Y axis) */
27 gdouble scaleA; /* the scale factor in the A axis (usually this is the X axis) */
28 gdouble scaleB; /* the scale factor in the B axis (usually this is the Y axis) */
29 gerbv_net_t *netlist /* linked list of graphical objects */
31 gerbv_aperture_state_t aperture_state
32 gerbv_interpolation_t interpolation
33 gerbv_cirseg_t *cirseg
34 GString *label /* A label attached to a net. Currently used only for refdeses in PnP file */
35 gerbv_layer_t *layer /* This points to the layer struct, defined one level up in hierarchy . */
36 gerbv_netstate_t *state
37 gerbv_stats_t *gerbv_stats /* Gerber stats. Struct defined below. */
38 gerbv_drill_stats_t *drill_stats /* Drill stats. Struct defined below. */
39 gerbv_layer_t *layers /* linked list of layers. Is this because you can have multiple layers in one Gerber file? */
41 gchar *name /*This is name from %LN in Gerber file*/
44 gerbv_screen_t screen /* Global variable: hold info about what's displayed on the screen */
45 GtkWidget *drawing_area;
47 win /* struct holding the GUI */
50 gerbv_selection_info_t selectionInfo
51 gerbv_selection_t type
52 GArray *selectedNodeArray /* Holds text list of selected items. Access using GLib methods. */
61 gerbv_selection_item_t /*Defines sItem, the result of indexing into the selectedNodeArray*/
66 gerb_state_t /*Defines current Gerber state during parsing*/
73 int curr_aperture /*number of aperture in use*/
75 gerbv_aperture_state_t aperture_state
76 gerbv_interpolation_t interpolation
77 gerbv_interpolation_t prev_interpolation
78 gerbv_net_t *parea_start_node
80 gerbv_netstate_t *state
84 gerb_file_t /* Holds FILE descriptor and some other info. Created up file readin.*/
85 FILE *fd; /* File descriptor */
86 int fileno; /* The integer version of fd */
87 char *data; /* Pointer to data mmaped in. May not be changed, use ptr */
88 int datalen;/* Length of mmaped data ie file length */
89 int ptr; /* Index in data where we are reading */
90 gchar *filename /* name of file */
93 gerbv_aperture_list_t /* list holding info related to list of aperture definitions found */
94 int number; /* Aperture number */
95 int layer; /* Layer this aperture was found on */
96 int count; /* Number of definitions for this aperture */
97 gerbv_aperture_type_t type;
101 gerbv_aperture_type_t /* enum of valid aperture types */
104 gerbv_stats_t /* large struct holding info about codes and errors found while parsing Gerber file */
105 gerbv_error_list_t *error_list;
106 gerbv_aperture_list_t *aperture_list; /* This is list of aperture types and parameters */
107 gerbv_aperture_list_t *D_code_list; /* This is count of D code aperture counts */
111 /* all codes monitored are included in struct */
115 gerbv_drill_stats_t /* large struct holding info about codes and errors found while parsing Gerber file */
117 gerbv_error_list_t *error_list;
118 gerbv_drill_list_t *drill_list;
123 /* all codes monitored are included in struct */