* fix excellon drill export bug, which sometimes deleted the first element in the...
[geda-gerbv.git] / Structs.txt
blob333e4796a4fa5965b0ac735f51a50ec9e079244a
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)*/
7     gchar *fullPathname
8     gchar *name          /* Name shown in layer window on left.  i.e. filename*/
9     gboolean layer_dirty /* layer has changed since last save*/
10     gboolean isVisible
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];
18         int nuf_parameters;
19         gerbv_unit_t unit;
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 */
30         int aperture
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? */
40         gerbv_polarity
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;
46   GdkPixmap *pixmap;
47   win  /* struct holding the GUI */
48   statusbar
49   int selected_layer
50   gerbv_selection_info_t selectionInfo
51     gerbv_selection_t type
52     GArray *selectedNodeArray   /* Holds text list of selected items.  Access using GLib methods. */
53       gchar *data;
54       guint len;
55   gerbv_state_t state
56   gerbv_tool_t tool
57   gerbv_gui_unit_t unit
61 gerbv_selection_item_t  /*Defines sItem, the result of indexing into the selectedNodeArray*/
62   gpointer image
63   gpointer net
66 gerb_state_t  /*Defines current Gerber state during parsing*/
67   int curr_x
68   int curr_y
69   int prev_x
70   int prev_y
71   int delta_cp_x
72   int delta_cp_y
73   int curr_aperture  /*number of aperture in use*/
74   int changed
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
79   gerbv_layer_t *layer
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;
98   double parameter[5];
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 */
108   int layer_count;
109   int G0;
110   int G1;
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 */
116   int layer_count;
117   gerbv_error_list_t *error_list;
118   gerbv_drill_list_t *drill_list;
119   int comment;
120   int F;
121   int G00;
122   int G01;
123   /* all codes monitored are included in struct */