Definition in file gerbv.h.
Go to the source code of this file.
| typedef struct drill_list gerbv_drill_list_t |
Linked list of drills found in active layers. Used in reporting statistics
| typedef struct error_list gerbv_error_list_t |
A linked list of errors found in the files
| typedef struct gerbv_format gerbv_format_t |
Struct holding info about interpreting the Gerber files read e.g. leading zeros, etc.
| typedef struct gerbv_image_info gerbv_image_info_t |
Struct holding info about a particular image
| typedef struct gerbv_net gerbv_net_t |
The structure used to hold a geometric entity (line/polygon/etc)
The different aperture types available Please keep these in sync with the aperture names defined by ap_names in callbacks.c
| enum gerbv_coordinate_t |
the interpolation methods available
| enum gerbv_layertype_t |
| enum gerbv_message_type_t |
The different message types used in libgerbv
| enum gerbv_omit_zeros_t |
the decimal point parsing style used
| enum gerbv_opcodes_t |
The aperture macro commands
| enum gerbv_polarity_t |
the different drawing polarities available
| enum gerbv_render_types_t |
The different rendering modes available to libgerbv
| enum gerbv_selection_t |
| enum gerbv_unit_t |
| gerbv_image_t* gerbv_create_image | ( | gerbv_image_t * | image, | |
| const gchar * | type | |||
| ) |
Allocate a new gerbv_image structure.
| image | the old image to free or NULL |
| type | the type of image to create |
Definition at line 49 of file gerb_image.c.
References gerbv_destroy_image(), and GERBV_POLARITY_DARK.
Referenced by gerbv_image_duplicate_image(), and parse_gerb().
| gerbv_project_t* gerbv_create_project | ( | void | ) |
Create a new project structure and initialize some important variables.
Definition at line 131 of file gerbv.c.
References gerbv_project_t::check_before_delete, gerbv_project_t::file, gerbv_project_t::last_loaded, gerbv_project_t::max_files, and gerbv_project_t::path.
| gerbv_image_t* gerbv_create_rs274x_image_from_filename | ( | gchar * | filename | ) |
Parse a RS274X file and return the parsed image.
| filename | the filename of the file to be parsed |
Definition at line 503 of file gerbv.c.
References parse_gerb().
| void gerbv_destroy_fileinfo | ( | gerbv_fileinfo_t * | fileInfo | ) |
Free a fileinfo structure.
| fileInfo | the fileinfo to free |
Definition at line 163 of file gerbv.c.
References gerbv_fileinfo_t::fullPathname, gerbv_destroy_image(), gerbv_fileinfo_t::image, and gerbv_fileinfo_t::name.
Referenced by gerbv_destroy_project().
| void gerbv_destroy_image | ( | gerbv_image_t * | image | ) |
Free an image structure.
| image | the image to free |
Definition at line 112 of file gerb_image.c.
References gerbv_image_t::amacro, gerbv_image_t::aperture, gerbv_net::cirseg, gerbv_image_t::format, gerbv_image_t::info, gerbv_net::label, gerbv_image_t::layers, gerbv_image_info::name, gerbv_image_t::netlist, gerbv_netstate_t::next, gerbv_layer_t::next, gerbv_net::next, gerbv_image_t::states, and gerbv_image_info::type.
Referenced by gerbv_create_image(), and gerbv_destroy_fileinfo().
| void gerbv_destroy_project | ( | gerbv_project_t * | gerbvProject | ) |
Free a project and all related variables.
| gerbvProject | the project to destroy |
Definition at line 148 of file gerbv.c.
References gerbv_project_t::file, gerbv_destroy_fileinfo(), and gerbv_project_t::max_files.
| void gerbv_drill_stats_add_layer | ( | gerbv_drill_stats_t * | accum_stats, | |
| gerbv_drill_stats_t * | input_stats, | |||
| int | this_layer | |||
| ) |
Add stats gathered from specified layer to accumulatedd drill stats compiled from all layers
Definition at line 83 of file drill_stats.c.
References gerbv_drill_stats_t::comment, gerbv_drill_stats_t::detect, drill_list::drill_count, gerbv_drill_stats_t::drill_list, drill_list::drill_num, drill_list::drill_size, drill_list::drill_unit, gerbv_drill_stats_t::error_list, error_list::error_text, gerbv_drill_stats_t::G00, gerbv_drill_stats_t::G01, gerbv_drill_stats_t::G02, gerbv_drill_stats_t::G03, gerbv_drill_stats_t::G04, gerbv_drill_stats_t::G05, gerbv_drill_stats_t::G90, gerbv_drill_stats_t::G91, gerbv_drill_stats_t::G93, gerbv_drill_stats_t::G_unknown, gerbv_drill_stats_t::layer_count, gerbv_drill_stats_t::M00, gerbv_drill_stats_t::M01, gerbv_drill_stats_t::M18, gerbv_drill_stats_t::M25, gerbv_drill_stats_t::M30, gerbv_drill_stats_t::M31, gerbv_drill_stats_t::M45, gerbv_drill_stats_t::M47, gerbv_drill_stats_t::M48, gerbv_drill_stats_t::M71, gerbv_drill_stats_t::M72, gerbv_drill_stats_t::M95, gerbv_drill_stats_t::M97, gerbv_drill_stats_t::M98, gerbv_drill_stats_t::M_unknown, error_list::next, drill_list::next, and error_list::type.
Referenced by generate_drill_analysis().
| gerbv_drill_stats_t* gerbv_drill_stats_new | ( | void | ) |
Allocates a new drill_stats structure.
Create new struct for holding drill stats
Definition at line 50 of file drill_stats.c.
Referenced by generate_drill_analysis().
| gboolean gerbv_export_drill_file_from_image | ( | gchar * | filename, | |
| gerbv_image_t * | image | |||
| ) |
Export an image to a new file in Excellon drill format.
| filename | the filename for the new file |
| image | the image to export |
Definition at line 44 of file export-drill.c.
References gerbv_net::aperture, gerbv_image_t::aperture, gerbv_net::aperture_state, GERBV_APERTURE_STATE_FLASH, GERBV_APTYPE_CIRCLE, gerbv_image_t::netlist, gerbv_net::next, gerbv_net::stop_x, and gerbv_net::stop_y.
| void gerbv_export_pdf_file_from_project | ( | gerbv_project_t * | gerbvProject, | |
| gerbv_render_info_t * | renderInfo, | |||
| gchar const * | filename | |||
| ) |
Render a project to a PDF file using user-specified render info.
| gerbvProject | the project to render |
| renderInfo | the render settings for the rendered image |
| filename | the filename for the exported PDF file |
Definition at line 128 of file exportimage.c.
References gerbv_render_info_t::displayHeight, and gerbv_render_info_t::displayWidth.
Referenced by gerbv_export_pdf_file_from_project_autoscaled().
| void gerbv_export_pdf_file_from_project_autoscaled | ( | gerbv_project_t * | gerbvProject, | |
| int | widthInPixels, | |||
| int | heightInPixels, | |||
| gchar const * | filename | |||
| ) |
Render a project to a PDF file, autoscaling the layers to fit inside the specified image dimensions.
| gerbvProject | the project to render |
| widthInPixels | the width of the rendered picture (in pixels) |
| heightInPixels | the height of the rendered picture (in pixels) |
| filename | the filename for the exported PDF file |
Definition at line 120 of file exportimage.c.
References gerbv_export_pdf_file_from_project(), and gerbv_render_zoom_to_fit_display().
| void gerbv_export_png_file_from_project | ( | gerbv_project_t * | gerbvProject, | |
| gerbv_render_info_t * | renderInfo, | |||
| gchar const * | filename | |||
| ) |
Render a project to a PNG file using user-specified render info.
| gerbvProject | the project to render |
| renderInfo | the render settings for the rendered image |
| filename | the filename for the exported PNG file |
Definition at line 87 of file exportimage.c.
References gerbv_render_info_t::displayHeight, and gerbv_render_info_t::displayWidth.
Referenced by gerbv_export_png_file_from_project_autoscaled().
| void gerbv_export_png_file_from_project_autoscaled | ( | gerbv_project_t * | gerbvProject, | |
| int | widthInPixels, | |||
| int | heightInPixels, | |||
| gchar const * | filename | |||
| ) |
Render a project to a PNG file, autoscaling the layers to fit inside the specified image dimensions.
| gerbvProject | the project to render |
| widthInPixels | the width of the rendered picture (in pixels) |
| heightInPixels | the height of the rendered picture (in pixels) |
| filename | the filename for the exported PNG file |
Definition at line 74 of file exportimage.c.
References gerbv_export_png_file_from_project(), and gerbv_render_zoom_to_fit_display().
| void gerbv_export_postscript_file_from_project | ( | gerbv_project_t * | gerbvProject, | |
| gerbv_render_info_t * | renderInfo, | |||
| gchar const * | filename | |||
| ) |
Render a project to a Postscript file using user-specified render info.
| gerbvProject | the project to render |
| renderInfo | the render settings for the rendered image |
| filename | the filename for the exported Postscript file |
Definition at line 146 of file exportimage.c.
References gerbv_render_info_t::displayHeight, and gerbv_render_info_t::displayWidth.
Referenced by gerbv_export_postscript_file_from_project_autoscaled().
| void gerbv_export_postscript_file_from_project_autoscaled | ( | gerbv_project_t * | gerbvProject, | |
| int | widthInPixels, | |||
| int | heightInPixels, | |||
| gchar const * | filename | |||
| ) |
Render a project to a Postscript file, autoscaling the layers to fit inside the specified image dimensions.
| gerbvProject | the project to render |
| widthInPixels | the width of the rendered picture (in pixels) |
| heightInPixels | the height of the rendered picture (in pixels) |
| filename | the filename for the exported Postscript file |
Definition at line 138 of file exportimage.c.
References gerbv_export_postscript_file_from_project(), and gerbv_render_zoom_to_fit_display().
| gboolean gerbv_export_rs274x_file_from_image | ( | gchar * | filename, | |
| gerbv_image_t * | image | |||
| ) |
Export an image to a new file in RS274X format.
| filename | the filename for the new file |
| image | the image to export |
Definition at line 194 of file export-rs274x.c.
References gerbv_image_t::aperture, gerbv_net::aperture, gerbv_net::aperture_state, gerbv_net::cirseg, GERBV_APERTURE_STATE_OFF, GERBV_APERTURE_STATE_ON, GERBV_INTERPOLATION_CCW_CIRCULAR, GERBV_INTERPOLATION_CW_CIRCULAR, GERBV_INTERPOLATION_LINEARx001, GERBV_INTERPOLATION_LINEARx01, GERBV_INTERPOLATION_LINEARx1, GERBV_INTERPOLATION_PAREA_END, GERBV_INTERPOLATION_PAREA_START, GERBV_INTERPOLATION_x10, GERBV_POLARITY_CLEAR, gerbv_image_info::imageJustifyOffsetA, gerbv_image_info::imageJustifyOffsetB, gerbv_image_info::imageJustifyTypeA, gerbv_image_info::imageJustifyTypeB, gerbv_image_info::imageRotation, gerbv_image_t::info, gerbv_net::interpolation, gerbv_net::layer, gerbv_image_t::layers, gerbv_image_info::name, gerbv_image_t::netlist, gerbv_net::next, gerbv_image_info::offsetA, gerbv_image_info::offsetB, gerbv_image_info::plotterFilm, gerbv_image_info::polarity, gerbv_net::start_x, gerbv_net::start_y, gerbv_net::state, gerbv_image_t::states, gerbv_net::stop_x, and gerbv_net::stop_y.
| void gerbv_export_svg_file_from_project | ( | gerbv_project_t * | gerbvProject, | |
| gerbv_render_info_t * | renderInfo, | |||
| gchar const * | filename | |||
| ) |
Render a project to a file using user-specified render info.
| gerbvProject | the project to render |
| renderInfo | the render settings for the rendered image |
| filename | the filename for the exported file |
Definition at line 163 of file exportimage.c.
References gerbv_render_info_t::displayHeight, and gerbv_render_info_t::displayWidth.
Referenced by gerbv_export_svg_file_from_project_autoscaled().
| void gerbv_export_svg_file_from_project_autoscaled | ( | gerbv_project_t * | gerbvProject, | |
| int | widthInPixels, | |||
| int | heightInPixels, | |||
| gchar const * | filename | |||
| ) |
Render a project to a SVG file, autoscaling the layers to fit inside the specified image dimensions.
| gerbvProject | the project to render |
| widthInPixels | the width of the rendered picture (in pixels) |
| heightInPixels | the height of the rendered picture (in pixels) |
| filename | the filename for the exported file |
Definition at line 155 of file exportimage.c.
References gerbv_export_svg_file_from_project(), and gerbv_render_zoom_to_fit_display().
| void gerbv_image_copy_image | ( | gerbv_image_t * | sourceImage, | |
| gerbv_user_transformation_t * | transform, | |||
| gerbv_image_t * | destinationImage | |||
| ) |
Copy an image into an existing image, effectively merging the two together.
| sourceImage | the source image |
| transform | the transformation to apply to the new image, or NULL for none |
| destinationImage | the destination image to copy to |
Definition at line 541 of file gerb_image.c.
References gerbv_image_t::aperture, gerbv_image_t::layers, gerbv_image_t::netlist, gerbv_net::next, gerbv_layer_t::next, gerbv_netstate_t::next, and gerbv_image_t::states.
| void gerbv_image_create_arc_object | ( | gerbv_image_t * | image, | |
| gdouble | centerX, | |||
| gdouble | centerY, | |||
| gdouble | radius, | |||
| gdouble | startAngle, | |||
| gdouble | endAngle, | |||
| gdouble | lineWidth, | |||
| gerbv_aperture_type_t | apertureType | |||
| ) |
Draw an arc on the specified image.
| image | the image to draw to |
| centerX | the center X coordinate |
| centerY | the center Y coordinate |
| radius | the arc radius |
| startAngle | the start angle (in CCW degrees) |
| endAngle | the start angle (in CCW degrees) |
| lineWidth | the width of the line to draw |
| apertureType | the type of aperture to use (e.g. CIRCLE) |
Definition at line 710 of file gerb_image.c.
References gerbv_net::aperture, gerbv_net::aperture_state, gerbv_net::cirseg, GERBV_APERTURE_STATE_ON, GERBV_INTERPOLATION_CCW_CIRCULAR, gerbv_net::interpolation, gerbv_net::start_x, gerbv_net::start_y, gerbv_net::stop_x, and gerbv_net::stop_y.
| void gerbv_image_create_line_object | ( | gerbv_image_t * | image, | |
| gdouble | startX, | |||
| gdouble | startY, | |||
| gdouble | endX, | |||
| gdouble | endY, | |||
| gdouble | lineWidth, | |||
| gerbv_aperture_type_t | apertureType | |||
| ) |
Draw a line on the specified image.
| image | the image to draw to |
| startX | the starting X coordinate |
| startY | the starting Y coordinate |
| endX | the ending X coordinate |
| endY | the ending Y coordinate |
| lineWidth | the width of the line to draw |
| apertureType | the type of aperture to use (e.g. CIRCLE) |
Definition at line 738 of file gerb_image.c.
References gerbv_net::aperture, gerbv_net::aperture_state, GERBV_APERTURE_STATE_FLASH, GERBV_APERTURE_STATE_ON, GERBV_INTERPOLATION_LINEARx1, gerbv_net::interpolation, gerbv_net::start_x, gerbv_net::start_y, gerbv_net::stop_x, and gerbv_net::stop_y.
| void gerbv_image_create_rectangle_object | ( | gerbv_image_t * | image, | |
| gdouble | coordinateX, | |||
| gdouble | coordinateY, | |||
| gdouble | width, | |||
| gdouble | height | |||
| ) |
Draw a filled rectangle on the specified image.
| image | the image to draw to |
| coordinateX | the X coordinate of the lower left corner |
| coordinateY | the Y coordinate of the lower left corner |
| width | the width of the drawn rectangle |
| height | the height of the drawn rectangle |
Definition at line 632 of file gerb_image.c.
References gerbv_net::aperture_state, GERBV_APERTURE_STATE_ON, GERBV_INTERPOLATION_LINEARx1, GERBV_INTERPOLATION_PAREA_END, GERBV_INTERPOLATION_PAREA_START, gerbv_net::interpolation, gerbv_image_t::netlist, gerbv_net::next, gerbv_net::start_x, gerbv_net::start_y, gerbv_net::stop_x, and gerbv_net::stop_y.
| void gerbv_image_delete_net | ( | gerbv_net_t * | currentNet | ) |
Delete a net in an existing image.
| currentNet | the net to delete |
Definition at line 585 of file gerb_image.c.
References gerbv_net::aperture, gerbv_net::aperture_state, GERBV_APERTURE_STATE_OFF, GERBV_INTERPOLATION_DELETED, GERBV_INTERPOLATION_PAREA_END, GERBV_INTERPOLATION_PAREA_START, gerbv_net::interpolation, and gerbv_net::next.
| gerbv_image_t* gerbv_image_duplicate_image | ( | gerbv_image_t * | sourceImage, | |
| gerbv_user_transformation_t * | transform | |||
| ) |
Duplicate an existing image and return the new copy.
| sourceImage | the source image |
| transform | the transformation to apply to the new image, or NULL for none |
Definition at line 506 of file gerb_image.c.
References gerbv_image_t::aperture, gerbv_create_image(), gerbv_image_t::info, gerbv_image_t::layers, gerbv_image_t::layertype, gerbv_image_info::name, gerbv_image_info::plotterFilm, gerbv_image_t::states, and gerbv_image_info::type.
| gerbv_net_t* gerbv_image_return_next_renderable_object | ( | gerbv_net_t * | oldNet | ) |
Return the next net entry which corresponds to a unique visible object.
Definition at line 907 of file gerb_image.c.
References GERBV_INTERPOLATION_PAREA_END, GERBV_INTERPOLATION_PAREA_START, gerbv_net::interpolation, and gerbv_net::next.
| void gerbv_open_layer_from_filename | ( | gerbv_project_t * | gerbvProject, | |
| gchar * | filename | |||
| ) |
Open a file, parse the contents, and add a new layer to an existing project.
| gerbvProject | the existing project to add the new layer to |
| filename | the full pathname of the file to be parsed |
Definition at line 171 of file gerbv.c.
References gerbv_project_t::file, gerbv_project_t::last_loaded, and gerbv_fileinfo_t::layer_dirty.
Referenced by callbacks_open_layer_activate().
| void gerbv_open_layer_from_filename_with_color | ( | gerbv_project_t * | gerbvProject, | |
| gchar * | filename, | |||
| guint16 | red, | |||
| guint16 | green, | |||
| guint16 | blue, | |||
| guint16 | alpha | |||
| ) |
Open a file, parse the contents, and add a new layer to an existing project while setting the color of the layer.
| gerbvProject | the existing project to add the new layer to |
| filename | the full pathname of the file to be parsed |
| red | the value for the red color component |
| green | the value for the green color component |
| blue | the value for the blue color component |
| alpha | the value for the alpha color component |
Definition at line 189 of file gerbv.c.
References gerbv_fileinfo_t::alpha, gerbv_fileinfo_t::color, gerbv_project_t::file, gerbv_project_t::last_loaded, and gerbv_fileinfo_t::layer_dirty.
| void gerbv_render_layer_to_cairo_target | ( | cairo_t * | cr, | |
| gerbv_fileinfo_t * | fileInfo, | |||
| gerbv_render_info_t * | renderInfo | |||
| ) |
| void gerbv_render_zoom_to_fit_display | ( | gerbv_project_t * | gerbvProject, | |
| gerbv_render_info_t * | renderInfo | |||
| ) |
Calculate the zoom and translations to fit the rendered scene inside the given scene size.
| gerbvProject | the project to use for calculating |
| renderInfo | the scene render pointer (updates the values in this parameter) |
Definition at line 555 of file gerbv.c.
References gerbv_render_info_t::displayHeight, gerbv_render_info_t::displayWidth, gerbv_render_info_t::lowerLeftX, gerbv_render_info_t::lowerLeftY, gerbv_render_info_t::scaleFactorX, and gerbv_render_info_t::scaleFactorY.
Referenced by callbacks_open_layer_activate(), callbacks_open_project_activate(), gerbv_export_pdf_file_from_project_autoscaled(), gerbv_export_png_file_from_project_autoscaled(), gerbv_export_postscript_file_from_project_autoscaled(), and gerbv_export_svg_file_from_project_autoscaled().
| void gerbv_stats_add_layer | ( | gerbv_stats_t * | accum_stats, | |
| gerbv_stats_t * | input_stats, | |||
| int | this_layer | |||
| ) |
Add stats gathered from specified layer to accumulated Gerber stats compiled from all layers
This fcn is called with a two gerbv_stats_t structs: accum_stats and input_stats. Accum_stats holds a list of stats accumulated for all layers. This will be reported in the report window. Input_stats holds a list of the stats for one particular layer to be added to the accumulated list.
Definition at line 94 of file gerb_stats.c.
References gerbv_stats_t::aperture_list, gerbv_stats_t::D1, gerbv_stats_t::D2, gerbv_stats_t::D3, gerbv_stats_t::D_code_list, gerbv_stats_t::D_error, gerbv_stats_t::D_unknown, gerbv_stats_t::error_list, error_list::error_text, gerbv_stats_t::G0, gerbv_stats_t::G1, gerbv_stats_t::G10, gerbv_stats_t::G11, gerbv_stats_t::G12, gerbv_stats_t::G2, gerbv_stats_t::G3, gerbv_stats_t::G36, gerbv_stats_t::G37, gerbv_stats_t::G4, gerbv_stats_t::G54, gerbv_stats_t::G55, gerbv_stats_t::G70, gerbv_stats_t::G71, gerbv_stats_t::G74, gerbv_stats_t::G75, gerbv_stats_t::G90, gerbv_stats_t::G91, gerbv_stats_t::G_unknown, gerbv_stats_t::I, gerbv_stats_t::J, gerbv_stats_t::layer_count, gerbv_stats_t::M0, gerbv_stats_t::M1, gerbv_stats_t::M2, gerbv_stats_t::M_unknown, error_list::next, gerbv_stats_t::star, error_list::type, gerbv_stats_t::unknown, gerbv_stats_t::X, and gerbv_stats_t::Y.
Referenced by generate_gerber_analysis().
| gerbv_stats_t* gerbv_stats_new | ( | void | ) |
Allocates a new gerbv_stats structure.
Create new struct for holding Gerber stats
Definition at line 49 of file gerb_stats.c.
Referenced by generate_gerber_analysis(), and parse_gerb().
1.5.6