gerbv  2.6A
gerbv.c File Reference

Go to the source code of this file.

Functions

gerbv_project_tgerbv_create_project (void)
void gerbv_destroy_project (gerbv_project_t *gerbvProject)
void gerbv_destroy_fileinfo (gerbv_fileinfo_t *fileInfo)
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)
gerbv_image_tgerbv_create_rs274x_image_from_filename (gchar *filename)
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)

Detailed Description

This file contains high-level functions for the libgerbv library.

Definition in file gerbv.c.

Function Documentation

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
filenamethe filename of the file to be parsed
Examples:
example2.c, and example4.c.

Definition at line 527 of file gerbv.c.

References parse_gerb().

void gerbv_destroy_fileinfo ( gerbv_fileinfo_t fileInfo)

Free a fileinfo structure.

Parameters
fileInfothe fileinfo to free

Definition at line 159 of file gerbv.c.

References gerbv_fileinfo_t::fullPathname, gerbv_destroy_image(), gerbv_fileinfo_t::image, gerbv_fileinfo_t::name, and gerbv_fileinfo_t::privateRenderData.

Referenced by gerbv_destroy_project().

void gerbv_destroy_project ( gerbv_project_t gerbvProject)

Free a project and all related variables.

Parameters
gerbvProjectthe project to destroy
Examples:
example1.c, example3.c, and example6.c.

Definition at line 139 of file gerbv.c.

References gerbv_project_t::execname, gerbv_project_t::execpath, gerbv_project_t::file, gerbv_destroy_fileinfo(), gerbv_project_t::last_loaded, gerbv_project_t::path, and gerbv_project_t::project.

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
gerbvProjectthe existing project to add the new layer to
filenamethe full pathname of the file to be parsed
Examples:
example1.c, example3.c, and example6.c.

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
gerbvProjectthe existing project to add the new layer to
filenamethe full pathname of the file to be parsed
redthe value for the red color component
greenthe value for the green color component
bluethe value for the blue color component
alphathe 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
crthe cairo context
fileInfothe layer fileinfo pointer
renderInfothe scene render info

Definition at line 811 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
gerbvProjectthe project to use for calculating
renderInfothe scene render pointer (updates the values in this parameter)
Examples:
example6.c.

Definition at line 609 of file gerbv.c.

References gerbv_render_size_t::bottom, gerbv_render_info_t::displayHeight, gerbv_render_info_t::displayWidth, gerbv_render_size_t::left, gerbv_render_info_t::lowerLeftX, gerbv_render_info_t::lowerLeftY, gerbv_render_size_t::right, gerbv_render_info_t::scaleFactorX, gerbv_render_info_t::scaleFactorY, and gerbv_render_size_t::top.

Referenced by callbacks_open_layer_activate(), callbacks_open_project_activate(), and gerbv_export_png_file_from_project_autoscaled().