gerbv.h File Reference


Detailed Description

The main header file for the libgerbv library.

Definition in file gerbv.h.

Go to the source code of this file.

Data Structures

struct  error_list
struct  gerbv_stats_t
struct  drill_list
struct  gerbv_drill_stats_t
struct  gerbv_selection_info_t
struct  gerbv_user_transformation_t
struct  gerbv_layer_t
struct  gerbv_netstate_t
struct  gerbv_net
struct  gerbv_format
struct  gerbv_image_info
struct  gerbv_image_t
struct  gerbv_fileinfo_t
struct  gerbv_project_t
struct  gerbv_layer_color
struct  gerbv_render_info_t

Typedefs

typedef struct error_list gerbv_error_list_t
typedef struct drill_list gerbv_drill_list_t
typedef struct gerbv_net gerbv_net_t
typedef struct gerbv_format gerbv_format_t
typedef struct gerbv_image_info gerbv_image_info_t

Enumerations

enum  gerbv_opcodes_t {
  GERBV_OPCODE_NOP, GERBV_OPCODE_PUSH, GERBV_OPCODE_PPUSH, GERBV_OPCODE_PPOP,
  GERBV_OPCODE_ADD, GERBV_OPCODE_SUB, GERBV_OPCODE_MUL, GERBV_OPCODE_DIV,
  GERBV_OPCODE_PRIM
}
enum  gerbv_message_type_t { GERBV_MESSAGE_FATAL, GERBV_MESSAGE_ERROR, GERBV_MESSAGE_WARNING, GERBV_MESSAGE_NOTE }
enum  gerbv_aperture_type_t {
  GERBV_APTYPE_NONE, GERBV_APTYPE_CIRCLE, GERBV_APTYPE_RECTANGLE, GERBV_APTYPE_OVAL,
  GERBV_APTYPE_POLYGON, GERBV_APTYPE_MACRO, GERBV_APTYPE_MACRO_CIRCLE, GERBV_APTYPE_MACRO_OUTLINE,
  GERBV_APTYPE_MACRO_POLYGON, GERBV_APTYPE_MACRO_MOIRE, GERBV_APTYPE_MACRO_THERMAL, GERBV_APTYPE_MACRO_LINE20,
  GERBV_APTYPE_MACRO_LINE21, GERBV_APTYPE_MACRO_LINE22
}
enum  gerbv_aperture_state_t { GERBV_APERTURE_STATE_OFF, GERBV_APERTURE_STATE_ON, GERBV_APERTURE_STATE_FLASH }
enum  gerbv_unit_t { GERBV_UNIT_INCH, GERBV_UNIT_MM, GERBV_UNIT_UNSPECIFIED }
enum  gerbv_polarity_t { GERBV_POLARITY_POSITIVE, GERBV_POLARITY_NEGATIVE, GERBV_POLARITY_DARK, GERBV_POLARITY_CLEAR }
enum  gerbv_omit_zeros_t { GERBV_OMIT_ZEROS_LEADING, GERBV_OMIT_ZEROS_TRAILING, GERBV_OMIT_ZEROS_EXPLICIT, GERBV_OMIT_ZEROS_UNSPECIFIED }
enum  gerbv_coordinate_t { GERBV_COORDINATE_ABSOLUTE, GERBV_COORDINATE_INCREMENTAL }
enum  gerbv_interpolation_t {
  GERBV_INTERPOLATION_LINEARx1, GERBV_INTERPOLATION_x10, GERBV_INTERPOLATION_LINEARx01, GERBV_INTERPOLATION_LINEARx001,
  GERBV_INTERPOLATION_CW_CIRCULAR, GERBV_INTERPOLATION_CCW_CIRCULAR, GERBV_INTERPOLATION_PAREA_START, GERBV_INTERPOLATION_PAREA_END,
  GERBV_INTERPOLATION_DELETED
}
enum  gerbv_layertype_t { GERBV_LAYERTYPE_RS274X, GERBV_LAYERTYPE_DRILL, GERBV_LAYERTYPE_PICKANDPLACE }
enum  gerbv_selection_t { GERBV_SELECTION_EMPTY, GERBV_SELECTION_POINT_CLICK, GERBV_SELECTION_DRAG_BOX }
enum  gerbv_render_types_t { GERBV_RENDER_TYPE_GDK, GERBV_RENDER_TYPE_GDK_XOR, GERBV_RENDER_TYPE_CAIRO_NORMAL, GERBV_RENDER_TYPE_CAIRO_HIGH_QUALITY }

Functions

gerbv_image_tgerbv_create_image (gerbv_image_t *image, const gchar *type)
void gerbv_destroy_image (gerbv_image_t *image)
void gerbv_image_copy_image (gerbv_image_t *sourceImage, gerbv_user_transformation_t *transform, gerbv_image_t *destinationImage)
gerbv_image_tgerbv_image_duplicate_image (gerbv_image_t *sourceImage, gerbv_user_transformation_t *transform)
void gerbv_image_delete_net (gerbv_net_t *currentNet)
gerbv_net_tgerbv_image_return_next_renderable_object (gerbv_net_t *oldNet)
gerbv_project_tgerbv_create_project (void)
void gerbv_destroy_project (gerbv_project_t *gerbvProject)
void gerbv_open_layer_from_filename (gerbv_project_t *gerbvProject, gchar *filename)
void gerbv_open_layer_from_filename_with_color (gerbv_project_t *gerbvProject, gchar *filename, guint16 red, guint16 green, guint16 blue, guint16 alpha)
void gerbv_destroy_fileinfo (gerbv_fileinfo_t *fileInfo)
void gerbv_render_zoom_to_fit_display (gerbv_project_t *gerbvProject, gerbv_render_info_t *renderInfo)
void gerbv_render_layer_to_cairo_target (cairo_t *cr, gerbv_fileinfo_t *fileInfo, gerbv_render_info_t *renderInfo)
void gerbv_export_png_file_from_project_autoscaled (gerbv_project_t *gerbvProject, int widthInPixels, int heightInPixels, gchar const *filename)
void gerbv_export_png_file_from_project (gerbv_project_t *gerbvProject, gerbv_render_info_t *renderInfo, gchar const *filename)
void gerbv_export_pdf_file_from_project_autoscaled (gerbv_project_t *gerbvProject, int widthInPixels, int heightInPixels, gchar const *filename)
void gerbv_export_pdf_file_from_project (gerbv_project_t *gerbvProject, gerbv_render_info_t *renderInfo, gchar const *filename)
void gerbv_export_postscript_file_from_project_autoscaled (gerbv_project_t *gerbvProject, int widthInPixels, int heightInPixels, gchar const *filename)
void gerbv_export_postscript_file_from_project (gerbv_project_t *gerbvProject, gerbv_render_info_t *renderInfo, gchar const *filename)
void gerbv_export_svg_file_from_project_autoscaled (gerbv_project_t *gerbvProject, int widthInPixels, int heightInPixels, gchar const *filename)
void gerbv_export_svg_file_from_project (gerbv_project_t *gerbvProject, gerbv_render_info_t *renderInfo, gchar const *filename)
gerbv_image_tgerbv_create_rs274x_image_from_filename (gchar *filename)
gboolean gerbv_export_rs274x_file_from_image (gchar *filename, gerbv_image_t *image)
gboolean gerbv_export_drill_file_from_image (gchar *filename, gerbv_image_t *image)
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)
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)
void gerbv_image_create_rectangle_object (gerbv_image_t *image, gdouble coordinateX, gdouble coordinateY, gdouble width, gdouble height)
gerbv_drill_stats_tgerbv_drill_stats_new (void)
void gerbv_drill_stats_add_layer (gerbv_drill_stats_t *accum_stats, gerbv_drill_stats_t *input_stats, int this_layer)
gerbv_stats_tgerbv_stats_new (void)
void gerbv_stats_add_layer (gerbv_stats_t *accum_stats, gerbv_stats_t *input_stats, int this_layer)


Typedef Documentation

Linked list of drills found in active layers. Used in reporting statistics

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.

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)


Enumeration Type Documentation

the current state of the aperture drawing tool

Enumerator:
GERBV_APERTURE_STATE_OFF  tool drawing is off, and nothing will be drawn
GERBV_APERTURE_STATE_ON  tool drawing is on, and something will be drawn
GERBV_APERTURE_STATE_FLASH  tool is flashing, and will draw a single aperture

Definition at line 132 of file gerbv.h.

The different aperture types available Please keep these in sync with the aperture names defined by ap_names in callbacks.c

Enumerator:
GERBV_APTYPE_NONE  no aperture used
GERBV_APTYPE_CIRCLE  a round aperture
GERBV_APTYPE_RECTANGLE  a rectangular aperture
GERBV_APTYPE_OVAL  an ovular (obround) aperture
GERBV_APTYPE_POLYGON  a polygon aperture
GERBV_APTYPE_MACRO  a RS274X macro
GERBV_APTYPE_MACRO_CIRCLE  a RS274X circle macro
GERBV_APTYPE_MACRO_OUTLINE  a RS274X outline macro
GERBV_APTYPE_MACRO_POLYGON  a RS274X polygon macro
GERBV_APTYPE_MACRO_MOIRE  a RS274X moire macro
GERBV_APTYPE_MACRO_THERMAL  a RS274X thermal macro
GERBV_APTYPE_MACRO_LINE20  a RS274X line (code 20) macro
GERBV_APTYPE_MACRO_LINE21  a RS274X line (code 21) macro
GERBV_APTYPE_MACRO_LINE22  a RS274X line (code 22) macro

Definition at line 115 of file gerbv.h.

the coordinate system used

Enumerator:
GERBV_COORDINATE_ABSOLUTE  all coordinates are absolute from a common origin
GERBV_COORDINATE_INCREMENTAL  all coordinates are relative to the previous coordinate

Definition at line 158 of file gerbv.h.

the interpolation methods available

Enumerator:
GERBV_INTERPOLATION_LINEARx1  draw a line
GERBV_INTERPOLATION_x10  draw a line
GERBV_INTERPOLATION_LINEARx01  draw a line
GERBV_INTERPOLATION_LINEARx001  draw a line
GERBV_INTERPOLATION_CW_CIRCULAR  draw an arc in the clockwise direction
GERBV_INTERPOLATION_CCW_CIRCULAR  draw an arc in the counter-clockwise direction
GERBV_INTERPOLATION_PAREA_START  start a polygon draw
GERBV_INTERPOLATION_PAREA_END  end a polygon draw
GERBV_INTERPOLATION_DELETED  the net has been deleted by the user, and will not be drawn

Definition at line 163 of file gerbv.h.

The different layer types used

Enumerator:
GERBV_LAYERTYPE_RS274X  the file is a RS274X file
GERBV_LAYERTYPE_DRILL  the file is an Excellon drill file
GERBV_LAYERTYPE_PICKANDPLACE  the file is a CSV pick and place file

Definition at line 183 of file gerbv.h.

The different message types used in libgerbv

Enumerator:
GERBV_MESSAGE_FATAL  processing cannot continue
GERBV_MESSAGE_ERROR  something went wrong, but processing can still continue
GERBV_MESSAGE_WARNING  something was encountered that may provide the wrong output
GERBV_MESSAGE_NOTE  an irregularity was encountered, but needs no intervention

Definition at line 106 of file gerbv.h.

the decimal point parsing style used

Enumerator:
GERBV_OMIT_ZEROS_LEADING  omit extra zeros before the decimal point
GERBV_OMIT_ZEROS_TRAILING  omit extra zeros after the decimal point
GERBV_OMIT_ZEROS_EXPLICIT  explicitly specify how many decimal places are used
GERBV_OMIT_ZEROS_UNSPECIFIED  use the default parsing style

Definition at line 151 of file gerbv.h.

The aperture macro commands

Enumerator:
GERBV_OPCODE_NOP  no operation
GERBV_OPCODE_PUSH  push the instruction onto the stack
GERBV_OPCODE_PPUSH  push parameter onto stack
GERBV_OPCODE_PPOP  pop parameter from stack
GERBV_OPCODE_ADD  mathmatical add operation
GERBV_OPCODE_SUB  mathmatical subtract operation
GERBV_OPCODE_MUL  mathmatical multiply operation
GERBV_OPCODE_DIV  mathmatical divide operation
GERBV_OPCODE_PRIM  draw macro primative

Definition at line 94 of file gerbv.h.

the different drawing polarities available

Enumerator:
GERBV_POLARITY_POSITIVE  draw "positive", using the current layer's polarity
GERBV_POLARITY_NEGATIVE  draw "negative", reversing the current layer's polarity
GERBV_POLARITY_DARK  add to the current rendering
GERBV_POLARITY_CLEAR  subtract from the current rendering

Definition at line 144 of file gerbv.h.

The different rendering modes available to libgerbv

Enumerator:
GERBV_RENDER_TYPE_GDK  render using normal GDK drawing functions
GERBV_RENDER_TYPE_GDK_XOR  use the GDK_XOR mask to draw a pseudo-transparent scene
GERBV_RENDER_TYPE_CAIRO_NORMAL  use the cairo library
GERBV_RENDER_TYPE_CAIRO_HIGH_QUALITY  use the cairo library with the smoothest edges

Definition at line 215 of file gerbv.h.

The different selection modes available

Enumerator:
GERBV_SELECTION_EMPTY  the selection buffer is empty
GERBV_SELECTION_POINT_CLICK  the user clicked on a single point
GERBV_SELECTION_DRAG_BOX  the user dragged a box to encompass one or more objects

Definition at line 209 of file gerbv.h.

the current unit used

Enumerator:
GERBV_UNIT_INCH  inches
GERBV_UNIT_MM  mm
GERBV_UNIT_UNSPECIFIED  use default units

Definition at line 138 of file gerbv.h.


Function Documentation

gerbv_image_t* gerbv_create_image ( gerbv_image_t image,
const gchar *  type 
)

Allocate a new gerbv_image structure.

Returns:
the newly created image
Parameters:
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.

Returns:
the new gerbv_image_t, or NULL if not successful
Parameters:
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.

Parameters:
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  ) 

void gerbv_destroy_project ( gerbv_project_t gerbvProject  ) 

Free a project and all related variables.

Parameters:
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 
)

gerbv_drill_stats_t* gerbv_drill_stats_new ( void   ) 

Allocates a new drill_stats structure.

Create new struct for holding drill stats

Returns:
drill_stats pointer on success, NULL on ERROR

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.

Returns:
TRUE if successful, or FALSE if not
Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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 
)

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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Returns:
the newly created image
Parameters:
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.

Parameters:
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.

Parameters:
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 
)

Render a layer to a cairo context.

Parameters:
cr  the cairo context
fileInfo  the layer fileinfo pointer
renderInfo  the scene render info

Definition at line 780 of file gerbv.c.

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.

Parameters:
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 
)

gerbv_stats_t* gerbv_stats_new ( void   ) 

Allocates a new gerbv_stats structure.

Create new struct for holding Gerber stats

Returns:
gerbv_stats pointer on success, NULL on ERROR

Definition at line 49 of file gerb_stats.c.

Referenced by generate_gerber_analysis(), and parse_gerb().


Generated on Tue Aug 19 00:14:51 2008 for gerbv by  doxygen 1.5.6