1 2008-01-29 23:30 thepurlieu
2 * src/gerbv.c: cleanup help printout and change the format to
3 better follow most other programs.
5 2008-01-24 11:12 thepurlieu
6 * src/draw.c: speed up cairo rendering of macros by checking each
7 macro for any clear draws, then only using push/pop group if we
10 2008-01-23 22:23 thepurlieu
11 * src/draw-gdk.c, src/draw-gdk.h, src/draw.c, src/export-rs274x.c,
12 src/gerb_image.h, src/gerber.c, test/golden/example_jj_l1-2.png,
13 test/golden/example_jj_l1-3.png,
14 test/golden/example_jj_l1-orig.png,
15 test/golden/test-polygon-fill-1.png: change polygon structure
16 slightly and move "arc chopper" logic into the GDK draw
17 functions, and store only the arc info in the gerb_image struct.
18 This allows exporting with 100% accuracy, speeds up the cairo
19 rendering, and reduces the size of the gerb_image. Update 4
20 golden files as a result of this change, since the cairo renderer
21 now renders with the default resolution instead of the mandated
22 1 degree resolution with the previous method. Add more
23 functionality to the export code, including info headers,
24 polarity changes, and finishing the polygon stuff. The only
25 major code that still needs to be added is macro exporting.
26 This may wait until (or if) we re-arrange the macro storage
27 method. Change GDK renderer to use a double for the scale
28 factor instead of an int. The int was causing noticable error
29 during rendering of large boards in comparison to the cairo
30 version (which was correct).
32 2008-01-23 19:49 thepurlieu
33 * src/gerber.c: Fix bug 1878509 by adding a hack to assume linear
34 interpolation is desired if no I or J parameter is given. All
35 other programs seem to assume this, so it should be safe.
36 Also, the testsuite still passes after this change, so it
37 shouldn't break anything.
39 2008-01-21 23:29 thepurlieu
40 * src/export-rs274x.c: round values before writing to file in order
41 to make sure no truncation errors are included.
43 2008-01-21 22:38 thepurlieu
44 * src/: Makefile.am, export-rs274x.c, export-rs274x.h, gerbv.c:
45 *export-rs274x.[ch]: start coding the library to export a
46 gerb_image to a Gerber file. Currently it supports basic
47 aperture drawing and polygon fills without circular paths
48 inside them. This should support most all files exported from
49 PCB, though. For now, only the command line option is hooked
50 into this new library for testing (--export-rs274x).
52 2008-01-13 17:18 thepurlieu
53 * src/: draw-gdk.h, interface.c: fix bug #1870444 (and a
54 similar report about problems on MAC compiling)
55 by allowing both draw.h and draw-gdk.h to be included.
57 2008-01-13 16:11 thepurlieu
58 * test/golden/test-circular-interpolation-1.png: Update
59 golden circular interpolation file to reflect updated test file.
61 2008-01-13 16:09 thepurlieu
62 * ChangeLog, src/gerbv.c, src/interface.c, src/render.c,
63 test/inputs/test-circular-interpolation-1.gbx:
64 Get short options working for export from commandline options
65 Get exporting from command line working
66 without the need for a display (cairo only). This was a regression
67 after the late on-the-fly GDK code. Get background color to show up
68 correctly on loaded projects.
70 ---- Release 2.0.0 on 1.13.2008 ----
72 2008-01-12 Julian Lamb
73 * draw.c: Fix a few minor cairo rendering issues: 1) fix rendering of
74 circular interpolation within a polygon fill. 2) Fix rendering of
75 flashed polygon apertures with holes in them.
76 * tests: Add 8 new test files to test out aperture drawing, and 1 to test
78 * tests/golden/*: Update all golden files in preparation for 2.0 release.
79 20 tests were failing for a variety of reasons. Most were due to the
80 recent disabling of anti-aliasing on polygon fills, which caused very
81 small changes to the rendering of the polygon borders. The remainder
82 of the failings were due to spurious lines previously being drawn on
83 flashed apertures with holes (noticed by Stefan), which has now been
85 * draw.c: Fix small error in cairo rendering of elliptical circular
87 * test/input/test-circular-interpolation.gbx: added another test file.
89 2008-01-10 Julian Lamb
90 * interface.c: Try and fix bug where tooltips weren't showing up for some
92 * many files: Implement on-the-fly switching between GDK and cairo
93 rendering, and set default setting on cairo builds to "Fast" (GDK).
94 * draw.c: Fix spurious line rendering noticed by Stefan on BGA pads.
95 * draw.c: Turn off anti-aliasing just on all polygon draws, since they were
96 showing seams on ground planes.
97 * draw.c: Fix clearing of BGA pin holes bug noticed by Stefan.
98 * draw.c: Add "exposure off" logic, allowing macros with the exposure=off
101 ---- Release 2.0.0-beta ----
103 2008-01-09 Julian Lamb
104 * gerbv.c: Make sure we increase max_files by 2, since we may need to
105 open up two files for PNP layers (top + bottom). This fixes a segfault
106 after adding a PNP file to the project and then clicking "New".
108 2008-01-08 Julian Lamb
109 * callbacks.c: Change color dialog to "blocking", which prevents user
110 from modifying layer orders while it is running and preventing
111 possible problems with the layer tree code.
113 2008-01-07 Julian Lamb
114 * interface.c, callbacks.c: Add in warning dialogs if user starts a new
115 project or opens a project with existing layers to make sure they
116 don't accidentally close all layers.
117 * callbacks.c: Add in some logic to switch to inches in the rulers if the
118 scale gets too small in mils. Change the default unit back to mils.
119 * interface.c: Recognize the default unit and start the unit combo box
121 * render.c: Change the default screen size scale factor to where mils
122 can reasonably show up on the rulers.
123 * draw.c: Revert back to old oval rendering for the time being, since the
124 new one seems to be having issues...
125 * gerbv.c, others: Add a dialog to confirm the user wants to open a file
126 with invalid ASCII characters.
127 * pick-and-place.c: Make sure we check cir_seg height and width are > 0,
128 otherwise it can cause cairo rendering problems.
129 * draw.c: Reduce label text font size, since the protel-pnp example file
130 reveals problems fitting the text on the image.
132 2008-01-06 Julian Lamb
133 * pick-and-place.c, gerbv.c: Render top and bottom layers in separate
134 layers (if they exist). Rotate parts correctly and fix min/max
135 calculations so autoscaling works correctly. Also, add "top" and
136 "bottom" labels to layer names.
137 * draw.c, draw-gdk.c, gerb_aperture.h: Add rendering code in preparation
138 for aperture macro reordering.
139 * render.c, callbacks.c: Add in watch cursor during rendering to provide
141 * callbacks.c: Tweak the color dialog checks to make sure it works after
142 destroying the dialog via the window manager. For cairo, speedup
143 rendering during layer actions by simply recompositing the final image
144 instead of redrawing everything. On layer deletion, reselect the first
145 row to always make sure a line is active.
146 * render.c: Reorder rendering so top layer is displayed on top.
147 * callbacks.c, render.c: Get unit changing combobox to work more elegantly
148 by updating all relevent fields immediately after changing units. Re-
149 enable mils on the rulers, since inches were just too large to be
150 usable for most boards.
151 * interface.c: Get gui to gracefully shrink to a small size to support
152 small screen resolutions. Prevent the sidebar from shrinking smaller
153 than looks respectable. Change analysis tools to refer to "visible"
154 layers rather than "active" layers to prevent confusion with the
155 highlighted row in the layer tree. Add a frame around the statusbar to
156 make it more visually appealing. Remove the "online manual" menu item
157 since we don't actually have one yet.
158 * draw.c: Change oval rendering to oblong, since that's probably what is
159 actually intended (GDK rendering already did this).
161 2008-01-05 Julian Lamb
162 * interface.c: Remove a billion glade-generated gtk_widget_show function
163 calls, since they aren't needed with gtk_widget_show_all.
164 * interface.c: Add tooltips for all menus and buttons.
165 * interface.c: Update menus for new pointer tool and remove reference
166 to control gerber option, since it's out for 2.0.
167 * callbacks.c: Make middle mouse button the default pan tool, and update
168 the mouse cursor is the user is panning or zooming with middle/right
170 * interface.c,callback.c: Add right click menu to the layer tree and add
171 column to indicate any modifications to the layer (for now, we just
172 show "I" for an inverted layer). Add back in support for individually
173 inverted layers. Also, fix XOR and OR rendering modes for GDK.
174 * render.c: Fix bug in alpha usage, which wasn't allowing transparency
176 * tests/golden/*: Update all golden files, since the png export wasn't
177 using alpha correctly, so all test files now render with a slightly
178 different color (since the black can bleed through the blue color
180 * gerber.c: Add support for include files (%IF) in the parser, which
181 hopefully completes 100% implementation of the RS-274X spec (yay!).
183 2008-1-4 Stuart Brorson (sdb@cloud9.net)
184 * src/callbacks.c, src/gerbv_screen.h, src/icons.h,
185 src/interface.c: Added pointer button to toggletools on task
188 2008-01-04 Stefan Petersen <spe>
190 * src/interface.c: Changed menu entries where another window is popped
191 up so text ends in three dots. "Save as" and "Print" uses built in
192 GTK operations, so the hack there got not so nice. Is there other
193 ways, like predefined with the three dots?
194 * src/draw-gdk.c: Fixed aperture macro drawing in GDK target as well.
196 2008-01-03 Julian Lamb
197 * draw.c: Fix some amacro rendering problems that Stefan uncovered.
198 * draw.c: Change the thermal rendering logic to do rendering without
199 push/pop operations, so that vector output will work (previously, the
200 cairo export defaulted to an image export for thermal rendering).
201 * render.c: Fix autoscaling for new amacro test (although the hack will be
202 unnecessary after we reorder the amacro rendering process to correctly
203 calculate the extents of each flashed macro aperture).
205 2008-1-2 Stuart Brorson (sdb@cloud9.net)
206 * src/Makefile.am, src/icons.h, src/interface.c:
207 Added icons for toggletool buttons: move, zoom, and measure.
209 2007-12-31 Julian Lamb
210 * gerbv.c: Rework project filename saving to save all layers with relative
211 pathnames, relative to the project file location. This allows projects
212 to be relocated, and fixes the second half of bug# 1443885.
213 * gerbv.c: More work on command line parsing.
214 * interface.c, render.c, callbacks.c: Reimplement different rendering modes
215 into the sidepane combobox for GDK. For cairo, allow the user to change the
217 * pick-and-place.c, draw.c: Correct pick and place parsing to use inches
218 for the basic unit. Render names of pick-and-place components to help
221 2007-12-31 Stuart Brorson (sdb@cloud9.net)
222 * src/drill.[hc], gerber.[hc], gerbv.c, pick-and-place.[hc]:
223 Overhauled checks for file type. Now all file types (Gerber,
224 drill, pick-place) are FALSE by default, and only are TRUE
225 when positive of file type indications are found. Also added
226 specific check for RS-284-D, and throw error if -D is found.
228 2007-12-30 Julian Lamb
229 * callbacks.[ch], interface.c, others: Implement three "tools", namely
230 the pointer, zoom, and measure tool and hookup to the existing gui
231 stubs. Also, display an informative message in the message bar explaining
232 how to use the active tool (similar to Inkscape). Do some miscellaneous
233 cleanups in the gui code and rendering.
234 * callbacks.c, render.[ch]: Get basic printing support working.
236 2007-12-28 Stefan Petersen <spe@spe-laptop>
237 * src/draw.c, src/amacro.[hc]: gerbv can handle comments
238 and calculations in aperture macros. Unfortunate this
239 uncovered some errors in how aperture macros are drawn.
240 That will be next issue.
242 2007-12-28 Julian Lamb
243 * gerber.c, many files: Finish implementing all remaining Gerber functions
244 (offsets, mirrors, rotations, knockout, axis select, scale factors,
245 and justify). Rework the min/max calculation routines for much more
246 accurate autoscaling. Also, much updating was needed to allow the new
247 Gerber functions to autoscale correctly (e.g. scaling needs multiply all
248 the min/max values by the image scale factor, etc).
249 * tests/inputs/test-...: Add test files for all Gerber functions.
250 * tests/golden/*: Update all the golden files, since the autoscaling
251 rework made all the old golden files fail, since the scale factor is now
252 slightly off from the previous ones, making them fail.
254 2007-12-28 Stuart Brorson (sdb@cloud9.net)
255 * src/callbacks.c, src/drill.c, src/gerb_stats.[hc], src/gerber.c
256 src/gerbv_screen.h, src/interface.c, src/pick-and-place.c:
257 Added more checks for file type. This should fix problem
258 of segfaults when reading RS-274D. Make messages text window
259 (in sidepane) pop up if an error or warning is written to it so
260 user can immediately see problems. Robustified a few areas
261 of stats gathering code.
264 2007-12-25 Stuart Brorson (sdb@cloud9.net)
265 * src/gerber.c, src/callbacks.c, src/gerb_stats.[hc]:
266 Added reporting of all D codes used to Gerber reports window.
268 2007-12-23 Julian Lamb
269 * gerber.c, many files: Start reorganization of some gerb_image
270 parameters in preparation for adding final Gerber commands
271 like rotation, mirroring, and knockout. Also, normalize all
272 dimensions to inches in the image in order to simplify
274 * tests/inputs/test-...: Add first three testsuite files to test
277 2007-12-20 Stuart Brorson (sdb@cloud9.net)
278 * callbacks.c: Add scrollbars to Gerber aperture report window
279 since the report can grow to be very long.
281 2007-12-20 Julian Lamb
282 * render.c,callbacks.c,interface.c: Connect rulers and scrollbars and start
283 getting them functional.
285 2007-12-19 Stuart Brorson (sdb@cloud9.net)
286 * src/gerber.c, src/gerb_stats.[hc], src/gerb_image.h,
287 src/gerb_error.h, src/callbacks.c: Implemented reporting
288 of apertures found in Gerber files. Added to Gerber
291 2007-12-17 Julian Lamb
292 * render,callbacks,interface: Restructure the whole rendering process by
293 separating out all zoom and pan information from the global variable
294 "screen". This was necessary to allow rendering without having a gtk
295 window open, allowing for export from command line and many others.
296 Also, the translation and zoom code is much more readable due to the
297 elimination of many variables. Also, the GDK color allocations were
298 eliminated to allow rendering without existing GDK colormaps in place.
299 * gerbv.c: Create the basic framework for exporting from the command line.
301 2007-12-16 Stuart Brorson (sdb@cloud9.net)
302 * src/callbacks.c, src/render.c, src/gerber.c,
303 src/gerb_error.h, src/gerb_stats.[hc]: Implemented reporting
304 of parse errors (with error level) found dring parsing of the
307 2007-12-16 Stuart Brorson (sdb@cloud9.net)
308 * src/callbacks.c, src/render.c, src/gerb_error.h,
309 src/drill.c, src/drill_stats.[hc]: Implemented reporting
310 of all parse errors (with error level) found during
311 parsing of the drill file.
313 2007-12-16 Stuart Brorson (sdb@cloud9.net)
314 * src/drill.[hc], src/drill_stats.[hc]:
315 Fixed bug noticed by Joerg involving display of statistics
316 in drill file with M71 calling out metric units.
318 2007-12-14 Stuart Brorson (sdb@cloud9.net)
319 * src/callbacks.c, src/render.c: Added "General" tab to reports
320 windows for both Gerbers and Drills.
321 * src/Makefile.am, src/drill.c, src/gerb_image.h,
322 src/gerb_stats.[hc], src/drill_stats.[hc]: Refactor drill_stats
323 stuff to its own files in accordance with our function naming
326 2007-12-14 Stuart Brorson (sdb@cloud9.net)
327 * Too many files to mention: Start adding list of drills found
328 to drill statistics reported. Now "analyze->active drill layers"
329 reports each drill defined, and the number of times it is used.
331 2007-12-14 Julian Lamb
332 * render,callbacks: Fully separate GDK and cairo rendering code to help
333 speed analization. Change from storing intermediate cairo patterns to
334 xlib surfaces for speed improvement. Eliminate image compositing on
335 each expose_event in order to make panning feel much quicker.
336 Temporarily disable idle function to fix GDK memory leaks and crashes.
338 2007-12-12 Julian Lamb
339 * src/gerbv.c: Fix half of bug #1443885 by eliminating segfault when
340 project file has layer files that won't load.
341 * src/callbacks.[ch],src/interface.c,src/render.[ch]: Big
342 cleanup of callbacks.c and start moving zoom code to render.c in
343 preparation for separating out zoom info from screen struct (allowing
344 for exporting to file and improving code readability). Add in scrollbars
345 and start hooking up rulers and scrollbar to panning.
347 2007-12-11 Julian Lamb
348 * src/callbacks.c,src/interface,src/render.c: Get drag and drop working
349 for layer sidebar. Fix memory leak for cairo rendering.
351 2007-12-10 Julian Lamb
352 * src/gerbv.c,src/callbacks.c,others: Get basic layer management gui up
353 and running. This includes visibility toggling, color picking, and basic
354 row management using the buttons at the bottom. A popup menu will also
355 be added when the user right clicks.
356 * src/gerber.c: Fix polygon rendering bug (bug #1190809). This was due
357 to the gerber parser not storing the correct polarity when closing
360 2007-12-09 Stuart Brorson (sdb@cloud9.net)
361 * src/callbacks.c, src/drill.c, src/render.[hc],
362 src/gerb_image.[hc], src/gerb_stats.[hc]: Added
363 beginnings of statistics report for drill files.
365 2007-12-09 Julian Lamb
366 * src/gerbv.c,src/callbacks.c: Reattach project open/save stuff in gui
367 and separate out some of the code back to gerbv.c.
368 * gerbv.c,callbacks.c,interface.c,others: Implement export-to-file for
369 PNG, PDF, SVG, and PS. Start implementing print functionality. More
370 cleanup of old gui code. Move log handler over to new message textview
373 2007-12-08 Julian Lamb
374 * src/render.c,src/callbacks.c: Fix translation code for cairo renderer
375 so things are correctly centered on the screen after a zoom-to-fit. Fix
376 scaling code for MM unit drawings.
377 * src/amacro.c,src/gerber.c: Fix error messages in amacro parsing (bug
378 #1845782) on FreeBSD systems (thanks to Joerg for the patch). Also, fix
379 possible hangs during amacro parsing (e.g. the file "%AM" would hang
380 gerbv, since it didn't correctly check for EOF).
383 * render.c, render.h, Many other files: Started to refactor
384 gerbv. Also start to incorporate statistics gathering stuff
387 2007-12-07 Julian Lamb
388 * src/drill.c: Fix warning messages on some drill files (bug #1316247).
389 The drill parser did not zero out new gerbv_aperture_t structures, which
390 sometimes allowed junk in the param[x] portions, which confused the
391 parser and gave warnings and potentially incorrectly rendered drill
394 2007-12-07 Julian Lamb
395 * src/draw.c: Fix thermal rendering bug (bug #1024000) in the cairo
396 rendering code (this bug is not easily fixable in the GDK code, but
397 it is being obsoleted soon).
399 2007-12-06 Julian Lamb
400 * src/callbacks.c,src/gerbv.c: Add private implementation of
401 gdk_cairo_create to allow compilation with gtk < 2.8. Fixed bug in gerbv
402 which was causing gdk rendering to skip frames sometimes.
404 2007-12-05 Julian Lamb
405 * src/gerber.c,src/drill.h,src/gerb_image.h: Fix memory corruption issue
406 with G54 codes not checking if aperture numbers were within bounds (bug
407 #1843983). Also, bumped up max aperture number from 999 to 9999 based on
408 reports of some CAD packages using numbers this hig (even though it
409 clearly says 999 is the highest number in the RS274X spec). This will
410 increase memory usage somewhat, but hopefully should be acceptable.
412 2007-12-05 Julian Lamb
413 * src/drill.c: Fix parsing of drill files with commas in
414 place of decimals (bug #1844100).
416 2007-12-05 Julian Lamb
417 * src/draw.c,src/draw-gtk.c: Fix rendering of lines drawn with rectangular
418 aperatures (bug #1834944 and #1704942). Thanks to ineiev for the gdk
419 patch, which was reworked to apply to the cairo rendering too.
421 2007-12-04 Julian Lamb
422 * src/callbacks.[ch],src/interface.[ch]: Rename GTK widgets to more
423 recognizable names for better code legibility. Change sidebar to a
424 notebook view and add a messages tab. Organize statusbar layout. Add
425 "analyze" menu and move CAM related functions to it. Clean up toolbars
426 and combine into a single toolbar.
428 2007-11-30 Julian Lamb
429 * src/callbacks.[ch],src/interface.[ch],src/gerbv.c: Split out all gui
430 code out of gerbv.c and put it into the standard callbacks/interface
431 files. Started to overhaul gui during the process. Also, speed up the
432 feel of the cairo rendering by rendering layers to a cairo_pattern_t,
433 then compositing using these patterns. This allows the user to pan and
434 get much quicker response while the CPU renders the new view in the
437 2007-11-30 Stuart Brorson sdb (at) cloud9 (dot) net
438 * configure.in, src/exportimage.c, src/gerbv.c,
439 src/pick-and-place.c:
440 Modify build system so you must explicitly --enable-cairo to
441 build using cairo, otherwise build using GDK by default.
443 2007-11-29 Stuart Brorson sdb (at) cloud9 (dot) net
444 * src/gerb_file.c, src/gerber.c, src/gerbv.c, src/gerbv_screen.h,
445 src/project.c: Added "File -> Open Gerber(s)" dialog. Added
446 int screen.last_loaded which keeps track of where to insert the next
449 2007-11-26 Julian Lamb
451 * src/draw-gdk.[ch],src/gerber.c: Add gdk rendering code back in so it can
452 be compiled if cairo isn't available.
453 * src/gerber.c: Fix g_strconcat calls by adding NULL to end of arguments.
455 2007-11-20 Julian Lamb
457 * src/draw.c: Add rendering code for arcs. Also, fix the rendiring of oval
460 2007-11-19 Julian Lamb
462 * src/draw.[ch], examples/am-test/am-test.gbx: Complete the conversion to
463 the cairo rendering code. All aperature macros now render correctly, as
464 well as clear layer polarities. Note that several bugs were found in
465 the old aperature macro rendering functions (some rotations were not
466 done correctly, and the moire and thermal outer diameters weren't
467 correctly rendered) and those were fixed in the cairo conversion. The
468 am-test.gbx file was modified slightly to test these fixes.
469 * src/pick-and-place.c: Added an additional sanity check to make sure we
470 don't accidentally open some gerber files as PNP place files.
471 * configure.in: Add explicit cairo check.
473 2007-02-28 Julian Lamb
475 * src/draw.[ch], src/draw_amacro.[ch], src/gerbv.c: Start converting
476 rendering from gdk to cairo, in order to improve rendering capability,
477 and allow for future export to PDF/SVG/PNG/PS capability. The
478 draw_amacro files were combined into the draw files, since most of the
479 rendering functions were common between the two.
481 2007-02-21 Julian Lamb
483 * src/gerb_image.c, src/gerb_image.h: Added string label capability
484 to the gerb_image struct for future rendering of labels.
485 * src/pick-and-place.c: Updated parser to accept pick-and-place
486 files output from the PCB program. Performed more code cleanup
487 and implemented min/max screen calcs based on pick-and-place
489 * example/LED.xy: Added a sample pick-and-place file output
490 from PCB, based on the LED example in the PCB source code.
492 2007-02-17 Julian Lamb
494 * src/pick-and-place.c, src/pick-and-place.h, src/gerbv.c,
496 Get example/protel-pnp/Pick*.csv to load through the normal
497 file loading code, implementing some simple logic to try
498 and guess if a given file is pick and place data.
500 2007-02-16 Julian Lamb
502 * src/pick-and-place.c, src/pick-and-place.h, src/gerbv.c:
503 Continue cleaning up pick-and-place code into simple
506 2007-02-15 Julian Lamb
508 * src/search.c, src/search.h, src/search-gui.c,
509 src/search-gui.h, src/search-cb.c, src/search-cb.h,
510 src/search-file.c, src/search-file.h, src/search-mark.c,
511 src/search-mark.h, src/pick-and-place.c,
512 src/pick-and-place.h, src/Makefile.am: Remove all
513 search* files, and combine important functions into
515 * src/gerbv.c, src/project.c: Remove gui-related references
516 to pick and place functions in preparation for moving
517 pick-and-place functionality to a simple parser/renderer.
519 2006-07-26 Stefan Petersen <spe@localhost.localdomain>
521 * src/log.c: Rewritten by Dino to use GTK2. The
522 previous caused SEGVs, so it was time to get
525 2006-07-25 Stefan Petersen <spe@localhost.localdomain>
527 * loads of files: Added check of return value for
530 * configure.in, man/gerbv.1.in, src/Makefile.am:
531 Remade build system so it should be able to handle
532 autoconf 2.60 and automake 1.9. Thanks FSF for yet
533 again breaking a working API.
535 2006-07-24 Stefan Petersen <spe@localhost.localdomain>
537 * src/gerb_file.c: Fixed bug #1236047, so now gerbv handles
538 negative coordinates.
540 * src/gerb_file.c, src/gerbv.c: Hopefully reduce SEGVs
541 even more by better error checking of operations in
544 2006-07-23 Stefan Petersen <spe@localhost.localdomain>
546 * src/gerb_image.h, src/gerber.c, gerbv.c: Added patch from
547 extensive (Sourceforge alias) that according to him make
548 gerbv handles autoscaling of gerber files with mm better.
550 * src/drill.c, src/gerb_file.c: Fixed some possible memory
551 leaks and SIGSEGVs pointed out by Wolfgang Wieser
552 (hand patched from #1201900).
554 2006-05-07 Stefan Petersen <spe@localhost.localdomain>
556 * src/draw_amacro.c: Daniel Mack - zonque submitted
557 as a patch (1350283) (with no file attached though) that
558 renaming stack_t to macro_stack_t would make gerbv build
561 2005-09-28 Dan McMahill
563 * src/drill.c: Remove an lval typecast. Not only does this get
564 gerbv to compile with gcc4 and other non-gcc compilers, it
565 was no longer needed as the types involved were all doubles
568 2005-02-15 Stefan Petersen <spe@siouxsie.umunet.org>
570 * src/draw_amacro.c: Forgot to copy gc to local_gc
571 so drawing inherits gc from image wide setting.
572 Pointed out by Warren Young.
574 2005-02-08 Tomasz Motylewski <t.motylewski@bfad.de>
575 * src/gerbv.c: malloc strlen+2, not +1
576 * src/gerb_file.c: malloc len+1, not len
578 2005-01-06 Stefan Petersen <spe@siouxsie.umunet.org>
580 * src/Makefile.am: A clean make distcheck by adding some missing
581 .h-files in Makefile.am
583 * src/*.c: Removed portability to GTK+ 1.x by changing configure.in
584 and remove USE_GTK2 in many small places. Also made some reformat
585 of the code to fit into the rest of the gerbv codebase.
587 2004-12-28 Stefan Petersen <spe@siouxsie.umunet.org>
589 * src/draw.c: When drawing circles I ignored if circle
590 had inner diameter, which was pointed out by Harry Eaton.
591 Not anymore... Closes bug #1050340 in this branch.
593 * Updated to TinyScheme 1.35
595 2004-10-30 Stefan Petersen <spe@siouxsie.umunet.org>
597 * src/draw_amacro.c: Forgot to use local_gc when drawing some
598 of the primitive aperture macros. Closes bug #1051045.
600 2004-10-13 Juergen Haas <juergenhaas@gmx.net>
602 * right click on selected part (current active selection) now works
603 also on shapes with PIN1 Off centre axis
604 FIXME circular shapes are recognised at a fixed radius of 3mm
605 Only works with units of gerbv match units used in pick and place
608 2004-10-11 Juergen Haas <juergenhaas@gmx.net>
610 * a first draft of API documentation exists see doc/html/main.html
611 After adding further comments please use the following style:
612 /** brief description.
613 Now we can write details */
614 Afterwards use doc/Doxyfile.nopreprocessing to update documentation
617 2004-09-13 Stefan Petersen <spe@stacken.kth.se>
619 * src/gerbv.c: If you tried to invert color of an unloaded layer
620 you got a segmentation fault. I think it was discovered by Juergen.
622 2004-09-11 Juergen Haas <juergenhaas@gmx.net>
624 * right click in window with active selection now shows part
625 designator in statusline for easier identification in multiple
627 FIXME only works if pin1 is not on center axis of part
630 2004-09-09 Juergen Haas <juergenhaas@gmx.net>
632 * added footprint column shown in result search window
634 2004-09-05 Juergen Haas <juergenhaas@gmx.net>
636 * fixed right click shows designator in statusbar does not hang program
637 * MINGW issues with path separators
639 2004-09-04 Juergen Haas <juergenhaas@gmx.net>
641 * fixed graphical representation of parts
642 * added gerb_transf_rotate
643 * added gerb_transf_shift
644 * fixed segfault when searching in comments
645 * designator is also shown checked by default
647 2004-08-28 Juergen Haas <juergenhaas@gmx.net>
649 * fixed GTK1 compilation issues
652 2004-08-27 Juergen Haas <juergenhaas@gmx.net>
654 * fixed memory issues pnp_state
655 * fixed too many calls to screen_for_delimiter
656 * added #include "string.h" to gerb_transf.c
657 * introduced update_combo_box_model()
658 * removed unnecessary code
659 * "beautified" gerb_transf.[ch]
660 * introduced rectangular shape for marking rectangular parts
661 * introduced a LOG MEssage, when right click on any selected part
662 (must be in active selection)
664 2004-08-26 Juergen Haas <juergenhaas@gmx.net>
667 * added double click draws selected item on screen
669 2004-08-25 Tomasz Motylewski <t.motylewski@bfad.de>
671 * eliminated memory leak MINGW32 gerb_file.c fd->data
672 * forced LC_NUMERIC to "C" in parse_gerb(), fixing bug
673 resulting in very thin lines (aperture size = 0) under GTK2
675 2004-08-23 Tomasz Motylewski <t.motylewski@bfad.de>
677 * cleaned up memory allocation in gerb_image.c
678 * improved project loading (still broken, there is no clear
679 design which function should do what).
680 * fixed memory leak plist_top->filename
682 2004-08-23 Juergen Haas <juergenhaas@gmx.net>
684 is done in a more flexible way:
685 adds a similar line with "filename" replaced by "pick_and_place"
687 FIX ME: reading in a project file is still broken
689 upon pressing mark button in select parts dialog it always updates
692 2004-08-23 Tomasz Motylewski <t.motylewski@bfad.de>
694 * replaced scale with gerb_transf_t(.scale) - mirroring preparation
696 2004-08-22 Stefan Petersen <spe@stacken.kth.se>
698 * configure.in, src/Makefile.am: Use libpng-config to find out
699 parameters to use in CFLAGS and LIBS.
701 tag:SEARCH_SELECT_merged
703 2004-08-13 11:25 Search9-pre8 Juergen Haas <juergenhaas@gmx.net>
706 -if mark is pressed and there is no selection colour of layer
707 button does not change
708 -use of libmba's csv.[ch]
709 -automatic screening for delimiters
710 -if dialog is to be destroyed but it does not exist is caught
711 -upon loading a second gerberfile the first user dialog is
712 destroyed and parsed_PNP_data
714 -pressing mark actually also activates the new layer
715 -loading a gerberfile also activates layer
716 -tooltip to entry field now hints at usage of regexp
717 -arrow down acts like space
718 -colour change back to original colour fixed - new colour is
719 only allocated upon first draw on an empty layer
720 -dropdown list for available layers updates, whenever changes
722 -default layer now is actually also the one which is drawn ontoi
724 (shown was MAXFILES-1, but it was drawn onto 0!)
725 -if there was an error loading a pnpfile
726 (e.g. incompatible csv format) select parts window is destroyed
727 also parsed_PNP_data is freed!
728 -arrow up reverses arrow down/space
729 -right click now selects and draws the selection on screen
730 -shift_arrows will add items to selection (moving up and down!)
731 -focus was always going to log window, for MINGW therefore
732 logging in log window was disabled as a first measure
735 2004-08-12 09:51 Search9-pre7 Juergen Haas <juergenhaas@gmx.net>
736 program now works under MINGW
739 -crash on lowercase entries(linux)using REG_ICASE
740 -crash on entries non existing in the list (MINGW/LINUX)
741 use of parsed_PNP_data as a global storage place for pnp data after parsing, in case of reopen search window initiated.
744 2004-08-07 09:29 Search9-pre6
746 -introduced GtkEntryCompletion listing choices for entry
747 works for designators and comments
748 _fixed bug in select_by_regex where
749 if comment was NULL a segfault occurred
750 -automatic scrolling to first hit works with designators only
751 probably utf8 issue with comments
752 strncasecmp causes segfault
753 -alignment in assembly mode improved, the first 15 elements
755 -upon enter in entry field we scroll to first hit in selection
757 -----------------------------
758 2004-08-04 09:29 search9-pre5: Juergen Haas <juergenhaas@gmx.net>
759 TODO introduction of libmba csv functions sublicensed under MIT
760 csv.[ch] have been extracted and made independent from msgno.[ch] and text.[ch] the latter
762 -----------------------------
763 2004-08-03 09:30 Search9-pre4: Juergen Haas <juergenhaas@gmx.net>
765 -fixed error with default layer selection:now always last layer is default, based on
768 -----------------------------
769 Search9-pre3: Juergen Haas <juergenhaas@gmx.net>
770 TODO-towards project saving: added filename if pnp file is loaded
771 dont know how to handle loading of files because pnp file is not compatible to
773 ->maybe including check for pnpfile in gerb_fopen?
775 *implemented intelligent top/bottom selector
776 if sel exists, only non matching (either tpo or bottom parts) will be
778 if no sel exists, all top or bottom parts are selected
779 *implemented gtkcombobox for accessing layers, it will actually not allow overwriting
781 layers( gerberfile displays), if loaded last after all gerberfiles
782 dynamic update of list to be more flexible
783 ok - used gtkliststore and GtkCellLayout for labels in Gtk_Combo_Box dropdown
786 TODO-MINGW: fgets seems to report NULL ???!!
787 -implemented #ifdef __MINGW32__ , HAVE LIBGEN_H, HAVE MMAN_SYS_H and HAVE_REGEX_H for
788 portability issues under WIN32/mingw
789 -------------------------------------
790 tag:SEARCH_SELECT_start
792 2004-07-12 (summary) Juergen Haas/Tomasz Motylewski <juergenhaas@gmx.net>
794 [pleases direct any questions, comments or bug reports to me or Tomasz]
795 * added new functionality: search, select and mark parts in layers
796 16-19 by loading a "Pick and Place" file in CSV Format:
798 NO OTHER FORMAT IS RECOGNISED SO FAR!
800 storing pnp data in memory
804 how to read in and parse pnp file
806 create_marked_layer(layernumber); will draw the selected
807 parts as circles with a line going from centre to Pin1 on
808 the layer given as argument(at the moment layers 16-19 are
811 will load pick and place file and display the parts unique
812 designators, the Top/Bottom Flag and the corresponding
813 comment in a sortable list. Multiple selections can be made
814 by entering a regex search phrase or by simply clicking on
815 the desired items (for multiple selections by mouse click use
816 the well-known SHIFT-CTRL-click combinations)
818 * This version also includes first rough support for MINGW/WIN32
819 -not yet usable, route for reading in files is broken
821 2004-08-21 Stefan Petersen <spe@stacken.kth.se>
823 * src/gerbv.c: Made sure that only list of short options is
824 printed when only short options are compiled in.
826 2004-08-16 Stefan Petersen <spe@stacken.kth.se>
828 * doc/*, example/*: Makefiles.am removed Makefile.in wheh running
829 distclean. Not good. Spotted by Hamish Moffatt when packaging
832 2004-07-28 Stefan Petersen <spe@stacken.kth.se>
834 * src/draw.c: In gerbers the image can be negative or positive.
835 Then a part of the image called a layer can be clear or dark.
836 -"No more weed for you, Mr Gerber".
837 Richard Lightman found this and submitted both an example and
840 2004-07-11 Stefan Petersen <spe@stacken.kth.se>
842 * src/draw_amacro.c: When drawing thermals the cross ends in butt
843 instead of round which gives nicer look when thermal covers an
846 2004-06-27 Stefan Petersen <spe@stacken.kth.se>
848 * src/gerber.c: Improved comments on what is going and why. Also
849 improved a little in determining the size of the image. Now it
850 ignores points with no aperture defined, unless it is a polygon
853 2004-06-24 Stefan Petersen <spe@stacken.kth.se>
855 * src/gerber.c: Removed two potential segfaults when running old
858 * src/gerber.c, src/batch.c, src/gerb_image.[hc]: Actually removed
859 all traces of MQ_END and MQ_START. That means that empty nodes
860 with only this information isn't saved, since the only time we need
861 this information is when parsing arcs. When an arc is parsed
862 the information wheter that arc is multi or single quadrant is
863 saved there. Also closes bug #942590.
865 * src/gerbv.c, src/gerbv_screen.h, src/gerb_image.c, src/gerb_image.h:
866 Added possibility to dump a parsed image as text to be able to
869 2004-06-10 Stefan Petersen <spe@stacken.kth.se>
871 * src/draw_amacro.c: By mistake I assumed that all aperture
872 macros had exposure flags, but that was a mistake. Drew Moore
873 pointed it out to me. Thanks.
875 2004-06-05 Stefan Petersen <spe@stacken.kth.se>
877 * */.cvsignore, man/gerbv.1.in, src/gerbv.c: Minor updates and
878 cleanups from Dimitri. --help added for instance.
882 2004-05-25 Stefan Petersen <spe@stacken.kth.se>
884 * src/draw_amacro.c: Now aperture macros handles exposures properly,
885 so some thermals can be drawn properly. Inspired by discussion with
889 2004-05-19 Stefan Petersen <spe@stacken.kth.se>
891 * man/gerbv.1.in, src/Makefile.am, src/drill.c, src/gerbv.c,
892 src/tooltable.c, src/tooltable.h: Patch from Dimitri
893 (lastname unknown) to read tool files from for instance Eagle CAD.
895 2004-04-27 Stefan Petersen <spe@stacken.kth.se>
897 * configure.in, src/drill.c: Patch from Tomasz Motylewski as a start
898 remove dependencies on mmap et al (sys/mman.h) for targets lacking
899 these operations (mingw).
901 2004-04-21 Stefan Petersen <spe@stacken.kth.se>
903 * src/gerbv.c: Added keys f for fit, z for zoom in and Z for zoom out
904 after request from Stefan Thiede.
906 2004-04-04 Stefan Petersen <spe@stacken.kth.se>
908 * src/gerb_file.[hc], src/drill.c, src/amacro.c, gerber.c:
909 Changed gerb_fgetint() so it can return number of parsed characters.
910 This is useful when parsing coordinates in omit trailing zeros mode.
911 Omit trailing zeros is also handled properly now. Reported by Joachim
912 Jansen and filed as bug #918344.
914 2004-02-24 Stefan Petersen <spe@stacken.kth.se>
916 * src/gerbv.c: Apperently under GTK2 both delete_event and destroy
917 signals is emitted when you press the little cross in the
918 decoration bar. When both signals were emitted gerbv tried to free
919 the same memory twice.
921 2004-02-14 Stefan Petersen <spe@stacken.kth.se>
923 * src/Makefile.am: Making sure init.scm is copied to the right
926 2004-02-13 Stefan Petersen <spe@stacken.kth.se>
928 * src/gerber.c: The good old circles revisited. This time Dan
929 noticed that circles with the same start and end point did not
930 draw properly ie as circles. It became points.
932 2004-02-08 Stefan Petersen <spe@stacken.kth.se>
934 * configure.in: Apperently auto* doesn't define $prefix if you
935 don't set it in your script. The autotools has become more and
936 more of a moving target...
938 * man/gerbv.1.in: A bunch of updates, mainly reflecting the new
941 2004-02-07 Stefan Petersen <spe@stacken.kth.se>
943 * src/gerbv.c: Save screen.path even when we load a project file.
945 * src/gerbv.c: Fixed a segmentation fault when I tried to free
946 an optarg:ed variable.
948 2004-02-05 Stefan Petersen <spe@stacken.kth.se>
950 * src/gerbv.c: Dan strikes again. Option -p (with appropriate
951 error message) added as an alternative to --project.
953 2004-02-01 Stefan Petersen <spe@stacken.kth.se>
955 * src/gerbv.c: Patch from Dan causes the "save as..." dialog box
956 to come up if you try to do a "save" with no current project
958 * src/gerbv.c: Yet another patch from Dan to put project filename
961 2003-12-14 Stefan Petersen <spe@stacken.kth.se>
963 * configure.in, src/gerbv.c, src/log.c, src/setup.h: It is now
964 possible to compile gerbv with GTK+ 2.*, at least tested with
965 2.2.4. There are still some problems, particulary in log.c.
966 GtkText is deprecated, but I have enabled GTK_ENABLE_BROKEN.
967 This needs a more permanent solution. This closes Feature
968 Request #771480, but probably opens up some new ones.
970 2003-12-10 Stefan Petersen <spe@stacken.kth.se>
972 * src/gerbv.c: Projects saves and restores background color.
974 * src/gerbv.c, src/gerbv_screen.h: Added Save Project and handles
975 if a filename was given, either when loading or a previous save.
977 2003-12-09 Stefan Petersen <spe@stacken.kth.se>
979 * configure.in, */Makefile.am: Added a recursive chain of Makefile.am
980 to be able to run make dist and make distcheck. Proposed by Dan
983 2003-12-07 Stefan Petersen <spe@stacken.kth.se>
985 * src/gerbv.c, src/project.[hc]: Project now saves ev. inversion of
986 layer, all layers accept all parameters and commandline switch
987 --project=<project file> also works.
989 * src/gerbv.c, src/gerbv_screen.h: Added invert layer functionality.
990 Closes feature request 777547.
992 2003-12-06 Stefan Petersen <spe@stacken.kth.se>
994 * src/gerb_file.[hc]: Added function gerb_find_file.
995 * src/draw_amacro.c: Forgot to make some internal functions static.
996 * src/*: Scheme interpreter added to be used by project files as a
997 start. Also project file handling added. A short description of
998 the format used in project files also added. A massive commit.
1000 2003-11-22 Stefan Petersen <spe@stacken.kth.se>
1002 * configure.in, acconfig.h: acconfig.h removed and more information
1003 added to configure.in after information in warning messages from
1006 2003-11-13 Stefan Petersen <spe@stacken.kth.se>
1008 * src/export_image.c: Changes pixbuf_to_file_as_png simplify operation
1009 No major speedup since that is not the time hog.
1013 2003-10-06 Stefan Petersen <spe@stacken.kth.se>
1015 * src/draw_amacro.c: Drawing of aperture macro primitive 7 was
1016 severly broken. Revealed by Drew Moore who sent an example
1017 along. Thanks Drew! Closes bug #818307.
1019 2003-09-28 Stefan Petersen <spe@stacken.kth.se>
1021 * src/gerber.c: Patch from Peter Brueckner. Some Gerbers don't
1022 have G04 but just G4. Peters patch fixes that for G- and M-codes.
1024 2003-09-08 Stefan Petersen <spe@stacken.kth.se>
1026 * src/gerber.c: Patch from Simon Munton to fix a problem with polygons
1027 sometimes not being filled properly. Closes bug #800928 (which
1028 he promptly had submitted).
1030 * src/gerber.c: Another patch from Simon. This time it fixes
1031 circular polygon outlines by with a number of short segments.
1032 Closes bug #603183, which was almost a year old. Thanks Simon!
1036 2003-05-31 Stefan Petersen <spe@stacken.kth.se>
1038 * configure.in, src/amacro.c: Removed the last remaining malloc.h
1039 after tips from Charles Lepple on the geda mailinglist.
1041 2003-04-18 Stefan Petersen <spe@stacken.kth.se>
1043 * src/draw_amacro.c: Larry Doolittle had a problem when drawing
1044 one of his files, a circle seemed to explode. I couldn't
1045 reproduce it, but after his tests I added this patch. Thanks Larry!
1047 2003-04-07 Stefan Petersen <spe@stacken.kth.se>
1049 * src/gerber.c: RS274D caused segfaults again. Reported by Skurk.
1053 2003-03-16 Stefan Petersen <spe@stacken.kth.se>
1055 * src/draw.c, src/gerb_image.h, src/gerber.c: Angles are now
1056 calculated as doubles instead of ints. For instance, the cslk
1057 example now draws properly at the same time as Dans ridicously
1058 small arcs also works.
1060 * src/gerber.c: Better sanity checks for angles of arcs, so
1061 cw are drawn cw and ccw are drawn ccw. Closes bug #703265
1062 which was reported by Mark Whitis. Thanks!
1064 2003-03-10 Stefan Petersen <spe@stacken.kth.se>
1066 * src/gerber.c: Doesn't warn anymore if a gerber file requests an
1067 image rotate on zero degrees. Reported by Balaji V.
1069 2003-03-02 Stefan Petersen <spe@stacken.kth.se>
1071 * src/draw_amacro.c: Aperture macro primitive 1 is a filled circle.
1072 * Makefile.am, configure.in, src/gerbv.c, src/Makefile.am,
1073 src/gerbv.1.in: Removed all traces of Guile. batch.c is left, but
1076 2003-03-01 Stefan Petersen <spe@stacken.kth.se>
1078 * src/gerb_image.[hc], gerber.c: Redesigned step-and-repeat
1079 parser. And when I was at it I also cleaned up new_gerb_image()
1082 2003-02-24 Stefan Petersen <spe@stacken.kth.se>
1084 * src/Makefile.am,src/gerbv.c,src/gerbv_screen.h,src/log.c,
1085 src/setup.[hc]: Added setup to handle all things that can
1086 be setup by commandline or (future) rc files. We have the
1087 screen variable, but some didn't think it was appropriate
1088 to add setup things to.
1090 2003-02-22 Stefan Petersen <spe@stacken.kth.se>
1092 * src/gerber.c: Changed comparision if two angles are equal
1093 to double since Dan McMahill discovered a case where the difference
1094 between the angles were actually less than 0.5 degrees.
1097 * src/gerbv.c: I you tried to swap layer with an unused layer
1098 gerbv segfaulted. Also discovered by Dan McMahill. Cudos to him
1099 as usual... Closes bug #689667.
1101 2003-02-12 Stefan Petersen <spe@stacken.kth.se>
1103 * src/gerber.c: A patch from Peter Monta for incremental
1104 coordinates. He also discovered that I had made a mistake
1105 when parsing incremental/absolute coordinates.
1109 2003-02-06 Stefan Petersen <spe@stacken.kth.se>
1111 * src/drill.c; Exchanged the last fprintf(stderr, with
1114 * src/gerbv.c: Added swap of tooltips information too.
1116 2003-02-02 Stefan Petersen <spe@stacken.kth.se>
1118 * src/drill.c: Added patch from Dan McMahill since + sign
1119 before coordinates seemed to confuse the drill parser.
1122 * src/gerbv.c: Now you can move around layers in the right
1123 sidebar so you can select in which order the layers should
1126 * src/draw.c, src/drill.c, src/gerb_image.[hc], src/gerber.c:
1127 A new system to keep track of mm and inches. Everything is
1128 still drawn based on inches and min/max is also stored as
1129 inches. But now every aperture and every coordinate has a
1130 unit attached to it that is used when drawing. I hope I
1131 haven't breaked anything, patricular in drill.c. And I have
1132 very few (one) reference examples in millimeters.
1134 2003-01-26 Stefan Petersen <spe@stacken.kth.se>
1136 * src/log.[hc], src/gerbv.c: Made sure error messages are
1137 directed to the right place (shell and popup) at the
1138 right moment and that the error messages look nicer.
1140 * .cvsignore, man/.cvsignore, scheme/.cvsignore, src/.cvsignore:
1141 Added these files submitted by Holger Waechtler. Thanks!
1143 2003-01-25 Stefan Petersen <spe@stacken.kth.se>
1145 * src/gerber.c, src/gerb_image.[hc]: Added a patch from
1146 Holger Waechtler regarding G70/G71 which opened up a whole
1147 can of worms. After thinking and hacking the following works:
1148 * all in inches (as always).
1149 * apertures in inches and vectors in millimeters.
1150 The reason for not fixing apertures in millimeter are because
1151 the calculation must happen in the drawing engine, since we
1152 don't know until the moment of drawing if the paramters defines
1153 a length or an angle. It's probably just a matter of fixing the
1154 scaling when drawing, but I fix that later on.
1156 2003-01-19 Stefan Petersen <spe@stacken.kth.se>
1158 * src/gerber.c: Fixed bug in arc/circle drawing that caused
1159 some odd cases (not noticed so far elsewhere) that made
1160 ccw arcs to be drawn cw. Discovered by Jukka Marin. Thanks.
1162 2003-01-16 Stefan Petersen <spe@stacken.kth.se>
1164 * man/gerbv.1, src/gerbv.c : Updated documentation to reflect
1165 the new log commandline switch.
1166 * files2tag, TODO: Minor documentation updates to reflect
1169 2003-01-15 Stefan Petersen <spe@stacken.kth.se>
1171 * src/Makefile.am, src/color.c, src/draw.c, src/drill.c,
1172 src/gerber.c, src/gerbv.c, src/gerbv_screen.h. Added are
1173 src/log.[hc], src/gerb_error.h: Finally have managed to
1174 change all error reporting routines so it works with
1175 Dinos log system. Now should all errors and warnings pop up
1176 in an explicit window so it behaves like a proper
1177 X-application. Thanks to Dino I got this fixed. Maybe
1178 all code is not what Dino expected, but anyhow I owe him
1179 a great THANKS. Maybe all compilation errors should have
1180 "return;" after them?
1182 2003-01-14 Stefan Petersen <spe@stacken.kth.se>
1184 * src/gerbv.c: A fix for the previous fix. The previous fix
1185 was not good and had to be redone. now. We check the
1186 parsed image before we put it in use so we don't have to
1187 save alot of thing to be able to back off if error.
1189 2003-01-13 Stefan Petersen <spe@stacken.kth.se>
1191 * src/gerbv.c: When gerbv discovered RS274D and terminated
1192 it tried to free memory to hadn't been allocated due to
1193 it had discovered error in the gerber file. This caused
1194 windows to never close and segfaults when terminating.
1196 2002-12-25 Stefan Petersen <spe@stacken.kth.se>
1198 * src/gerbv_screen.h, src/gerbv.c: Changed how the
1199 different windows are stored in the screen struct.
1200 * src/amacro.h: Forgot to include stdlib.h which was needed
1201 to remove warnings regarding free missing.
1202 * src/gerbv.c: Minor beautification cleanups.
1204 2002-12-11 Stefan Petersen <spe@stacken.kth.se>
1206 * src/gerbv.c: Fixed 64-bit compilation warning by casting
1207 gpointer to long int. Closes bug #642703.
1209 2002-12-09 Stefan Petersen <spe@stacken.kth.se>
1211 * src/gerber.c: Fixed some kind of bug causing some filled
1212 polygons not to get displayed. Reported by Chris Ellec.
1215 2002-12-02 Anders Eriksson <anders@umunet.org>
1217 * configure.in, src/amacro.c: Applied patch from
1218 Charles Lepple to fix bug #646268 (building on MacOS X).
1220 2002-11-26 Anders Eriksson <anders@umunet.org>
1222 * src/gerbv.c: Fixes bug #643799 (zoom out_line stopped
1225 2002-11-26 Stefan Petersen <spe@stacken.kth.se>
1227 * src/gerbv.c: Added idea and (hacked up by me) patch for
1228 turning all layers on and off from Martin Sigrand. It should
1229 really need an overhaul regarding non freed memory.
1231 2002-11-24 Stefan Petersen <spe@stacken.kth.se>
1233 * doc/eagle/*: Added information for Eagle CAD users from
1234 Daniel Dorau. It also made the webpage. Thanks Daniel!
1236 * src/gerber.c: Yet another G-code (55) discovered in an
1237 example in the "standard" by our russian friend Yuri.
1239 2002-11-23 Stefan Petersen <spe@stacken.kth.se>
1241 * src/amacro.c, src/draw.c, src/draw_amacro.c, src/gerber.c:
1242 More files with the same mistake in as below. I cleaned up
1243 my own mess this time.
1245 2002-11-23 Anders Eriksson <anders@umunet.org>
1247 * src/gerbv.c: Fixed bug 642600, Don't use default labels without
1248 any statement after. Also use comments for label after #endif.
1252 2002-11-19 Stefan Petersen <spe@stacken.kth.se>
1254 * src/gerbv.c: Anders optimized drawing optimized away setting
1255 of superimpose function. Not any longer. Daniel Dorau pointed
1256 out this and the one below.
1258 * src/draw.c: Hopefully fixed the one pixel gap between lines
1259 when it should be a filled area.
1261 2002-11-17 Stefan Petersen <spe@stacken.kth.se>
1263 * src/exportimage.c: Background color was ignored. Noticed by Dino.
1265 2002-11-16 Stefan Petersen <spe@stacken.kth.se>
1267 * src/gerbv.c: Made sure all cancels and destroy_event from
1268 different popup windows are handled and destroyed properly.
1269 Also made some minor fixes in new "set explicit scale" functions.
1270 * src/gerbv.c: Made explicit set scale also center image properly.
1272 2002-11-15 Stefan Petersen <spe@stacken.kth.se>
1274 * src/gerbv.c: Robustified if someone tries to parse RS274D.
1275 Happend to fix bug #639127.
1276 * doc/PNG-print/*: Added doc on how to print PNGs generated by gerbv.
1277 * src/gerbv.c: Added explicit setting of scale. Good when generating
1278 PNGs for printing. Both patch and above doc is thanks to
1281 2002-11-15 Andreas Andersson <e92_aan@e.kth.se>
1283 * src/drill.c: Slight change to allow broken drill files from
1284 Orcad386. Not pretty. But then again, neither is Orcad.
1286 2002-11-07 Anders Eriksson <anders@umunet.org>
1288 * src/gerbv.c: Minor cleanups, prepare idle_redraw to
1289 be reentrant to allow calling it more than once (i.e.
1290 for png export as well as for screen redraw).
1292 2002-11-06 Anders Eriksson <anders@umunet.org>
1294 * src/gerbv.c: Re-read some gtk-docs, we weree mistreating
1295 the gtk_idle-functions. This patch fixes this and closes
1296 pixmap leakage caused by complete redraw when we had a
1298 Oops, you need to start the idle function at least once.
1300 2002-11-05 Anders Eriksson <anders@umunet.org>
1302 * src/gerbv.c, src/gerbv_screen.h: Removed clipping/no
1303 clipping kludge since export_png now behaves as Dino
1304 expects. We should make a function of common code in
1305 export_png and redraw_pixmap to make it more maintainable.
1306 * src/gerbv.c (redraw_pixmap): Don't try to sneak out doing
1307 events from redraw_pixmap, check for them and preempt if
1308 there are events on queue. This closes the everythinh-is-
1309 not-redrawn-sometimes bug (I hope).
1311 2002-11-04 Stefan Petersen <spe@stacken.kth.se>
1313 * src/exportimage.c, gerbv.c: export_png now export whole image
1314 despite whats displayed (still depending on zoom/scale thou).
1315 If export_png receives an imagetosave, that will be the image
1316 that will be saved, so it's more general now. Must hack some
1317 more to be able to utilize both ways. Anders can happily remove
1318 all what he calls kludges.
1320 2002-10-31 Stefan Petersen <spe@stacken.kth.se>
1322 * src/gerber.c: Yet another commando that doesn't complain if
1323 default values are given. AS is the lucky one this time.
1324 * src/gerber.c, src/draw.c: By considering an undefined aperture
1325 despite we didn't draw caused strange lines around the first line
1328 2002-10-31 Anders Eriksson <anders@umunet.org>
1330 * src/gerbv.c: Replace incremental redraw with clipping
1331 option. It is now possible to turn clipping off, this
1332 might be useful for export png (sorry for breaking this,
1335 2002-10-30 Stefan Petersen <spe@stacken.kth.se>
1337 * src/gerb_image.h, src/gerber.c: Implemented %SF% and %SR% in
1338 parser, but ignored the draw engine. If any of these parameters
1339 not are default a warning is issued. Closed a feature request.
1341 2002-10-30 Anders Eriksson <anders@umunet.org>
1343 * src/gerbv.c, src/gerbv_screen.h: Added restartable
1344 redraw by keeping redraw state between calls to
1345 redraw_pixmap(). Also added drawing status on statusbar.
1347 2002-10-29 Stefan Petersen <spe@stacken.kth.se>
1349 * src/draw_amacro.c: Fixed a bug when drawing primitive 20
1350 discovered by jj. Caused slanted (by coordinates) primitives
1351 to "slant" in the wrong direction.
1353 2002-10-29 Anders Eriksson <anders@umunet.org>
1355 * src/gerbv.c (redraw_pixmap): Free pixmaps also when
1356 preempted, we used to leek pixmaps (bad!).
1358 2002-10-28 Anders Eriksson <anders@umunet.org>
1360 * src/gerbv.c (autoscale): Wrong sign on clip_bbox.x1 from
1361 trans_x. Now even nollezappare is centered correctly.
1363 2002-10-27 Stefan Petersen <spe@>
1365 * src/draw_amacro.c: Reset the stack pointer after each primitive
1366 operation. It's not completly right to do it this way, but since
1367 I built the compiler I know how the code generated looks like ;-).
1370 2002-10-26 Stefan Petersen <spe@stacken.kth.se>
1372 * src/gerber.c: Removed some nested use of strncmp with simple
1373 switch/case instead in parse_G_code.
1374 * src/gerber.c: Added an extra check so RS274D doesn't casue
1375 segfault. Discovered by Jukka Marin. Thanks.
1377 2002-10-24 Anders Eriksson <anders@umunet.org>
1379 * src/gerbv.c, src/gerbv_screen.h: Played with clipping. Allocated
1380 pixmap is now same size as window. GTK does all clipping (we
1381 could optimize this somewhat with "object" bounding boxes). This
1382 makes it possible to zoom where no gerbv has zoomed before.
1383 Some interesting effects can be found by zooming in a lot.
1385 -- Release 0.0.10 debian release 2 --
1387 2002-10-18 Stefan Petersen <spe@stacken.kth.se>
1389 * src/drill.c, src/gerb_file.[hc], src/gerber.c, src/gerbv.c:
1390 Alot of abuse using EOF(-1) when char actually is unsigned
1391 caused a lot of warnings when Debian build system tried to
1392 build it for a couple of platforms.
1394 2002-10-14 Anders Eriksson <anders@umunet.org>
1396 * src/gerbv.c: Activate millimeters in unit menu if this
1397 is the default unit.
1398 (update_statusbar()): Check that statusbar has been
1399 created before trying to set text to it. This eliminates
1400 an annoying GTK assertion.
1402 -- Release 0.0.10 --
1404 2002-10-13 Stefan Petersen <spe@stacken.kth.se>
1406 * configure.in: Updated version to 0.0.10
1408 2002-10-11 Anders Eriksson <anders@umunet.org>
1410 * configure.in, acconfig.h, src/gerbv.c: Added configure-option
1411 to change default unit for status bar to millimeters instead
1412 of the built-in default of mils.
1414 2002-10-09 Stefan Petersen <spe@stacken.kth.se>
1416 * src/gerber.c: The undefined aperture fix below is, in princip,
1417 only valid if aperture type != from aperture macro.
1419 2002-10-07 Stefan Petersen <spe@stacken.kth.se>
1421 * src/gerber.c: If aperture was undefined (as in polygon outline)
1422 it caused a segfault in min-max routine. Closes bug #619652.
1424 * man/gerbv.1.in: Added blurb about the new command line
1425 switches. Also added some text on backends.
1427 * src/gerbv.c: Added some GDK/GTK specific command line
1428 parameters. Also added the parameter --geometry.
1429 Currently ignoring placement parameters, though I parse them
1431 2002-10-06 Anders Eriksson <anders@umunet.org>
1433 * src/gerbv_screen.h, src/gerbv.c: Added menu selection for
1434 units. Decreased width of status bar. This closes the too
1435 wide window problem in bug #615475. The default minimum
1436 height is still too high to fit in an 800x600 display.
1437 By limiting the number of files to 17 or so this problem
1440 2002-09-29 Anders Eriksson <anders@umunet.org>
1442 * src/gerber.c, src/gerbv.c, src/gerbv_screen.h: Removed last
1443 traces of IMG_EXTRA hack. Now using proper aperture width to
1444 increase width of bounding box. This may give slightly too
1445 big bbox, but it is better than before. I consider this to
1448 2002-09-17 Stefan Petersen <spe@stacken.kth.se>
1450 * configure.in: exportpng is configured in default and removed
1451 if asked (--disable-exportpng).
1452 * configure.in, acconfig.h, src/gerbv_screen.h: Setting of MAX_FILES
1456 2002-09-09 Stefan Petersen <spe@stacken.kth.se>
1458 * src/gerbv.c: Added version number in main windows title.
1461 2002-09-07 Stefan Petersen <spe@stacken.kth.se>
1463 * src/batch.c, src/draw.c, src/gerb_image.h, src/gerber.c,
1464 src/gerber.h: Changed how multiquadrant circles are supported.
1465 Now it's more of a state, before it was considered an interpolation.
1466 Therefore not all multiquadrant circles were detected as such and
1467 got defined wrong. Some parts of the EAGLECAD_KLUDGE was removed,
1468 though EagleCad had some other surprises in store.
1469 * src/amacro.[hc], draw.c, draw_amacro.[hc]: Dynamic allocation
1470 of stack when drawing aperture macros. Closes the evil bug 603147.
1473 2002-09-02 Stefan Petersen <spe@stacken.kth.se>
1475 * src/batch.c, src/draw.c, src/gerb_image.h, src/gerber.c:
1476 Polygon drawing got it's own gc (pgc) since we must have
1477 our own outline pen size. Now we don't have to have an aperture
1478 defined to be able to draw polygon areas. Closes bug 602965.
1479 * Removed PAREA_FILL as an interpolation. Has only PAREA_START
1480 and PAREA_END left so the application has to keep track if it's
1481 in polygon area fill or not by itself. PAREA_FILL was not a
1482 proper "interpolation", it is instead any of the other
1483 interpolations. Closes bug 603146.
1486 2002-09-01 Stefan Petersen <spe@stacken.kth.se>
1488 * src/draw.c: Polygon Area Fill could never have worked at
1489 all since number of points reported to gdk_draw_polygon
1492 2002-08-31 Anders Eriksson <anders@umunet.org>
1494 * src/gerbv.c (redraw_pixmap): Removed redundant bounding
1497 2002-08-27 Anders Eriksson <anders@umunet.org>
1499 * src/gerbv.c, src/gerbv_screen.h, src/gerbv_icon.h: Calculate
1500 proper initial translation when doing autoscale. Center image.
1501 Added #define for extra 0.1 inches in autoscale. New icon image.
1502 Also added outline debugging code (within #ifdef's).
1504 2002-08-27 Andreas Andersson <e92_aan@e.kth.se>
1506 * src/drill.c: Minor change to the drill file format guessing
1507 logic to allow for yet another special case.
1509 2002-08-27 Stefan Petersen <spe@stacken.kth.se>
1511 * src/gerbv.c: Fixed a couple of minor memoryleaks in color
1512 allocation with valgrind after a tips from Anthony J Bybell.
1514 2002-08-10 Stefan Petersen <spe@stacken.kth.se>
1516 * src/gerbv.c, src/Makefile.am, files2tag.txt modified,
1517 src/scm_gerber.[hc] removed, src/batch.[hc] added:
1518 All batch functionality broken out to one place, ie batch.[hc].
1520 2002-08-09 Stefan Petersen <spe@stacken.kth.se>
1522 * src/gerbv.c: Removed two lines causing zoom to stop work
1523 when a non-loaded layer recently had been selected or deselected.
1524 I didn't find a reason for these two lines to be there. Maybe
1525 there was... Closes bug 593109.
1526 * src/gerbv.c, src/gerbv_screen.h, man/gerbv.1.in: Added
1527 activation/deactivation via the keyboard. Closes feature request
1528 593104. Also updated the man page with this info and fixed other
1531 2002-08-04 Stefan Petersen <spe@stacken.kth.se>
1533 * src/gerbv.c, src/gerbv_screen.h: Added superimposing selectable
1534 function to be used when you put "layer upon layer". I call it
1535 superimposing functions. Hope it's correct english.
1536 * man/gerbv.1.in: Minor layout changes and added part on superimposing
1538 * src/gerbv.c: Fixed GTK asserts popping up when starting gerbv
1539 without any files loaded.
1541 2002-08-01 Stefan Petersen <spe@stacken.kth.se>
1543 * src/draw.[hc], src/gerbv.c: Changed how layers are created and
1544 stored to be able to be displayed on top of each other. This
1545 is based on a grand idea from Dino Ghilardi.
1547 2002-07-24 Andreas Andersson (e92_aan@e.kth.se)
1549 * src/drill.c: Changed the parser to catch undefined tools
1550 and insert default values. It warns the user, though.
1551 Fixed a slight bug in min/max coordinate finding.
1553 2002-07-16 Stefan Petersen <spe@stacken.kth.se>
1555 * src/gerbv.c: Fixed bug 573016, some gerbers not drawn.
1556 always do fabs on floats not abs.
1557 * src/gerb_image.[hc], gerber.c: Parses and stores %IN%
1560 2002-07-15 Anders Eriksson <anders@umunet.org>
1562 * src/gerbv.c, src/gerbv_icon.h: Added application icon.
1564 2002-07-13 Stefan Petersen <spe@stacken.kth.se>
1566 * configure.in: Added --with-gtk-config to fit FreeBSD
1567 after patch from Bruno Schwander <bruno@tinkerbox.org>.
1568 * example/ekf/README: Fixed bug 578583 basically saying that
1569 this example shouldn't work.
1573 2002-07-06 Stefan Petersen <spe@stacken.kth.se>
1575 * configure.in: Updated version to 0.0.9.
1576 * man/gerbv.1.in: Updated man page with new features.
1578 2002-07-05 Anders Eriksson <anders@umunet.org>
1580 * src/gerbv.c: Save a widget by adding a leading space in
1583 2002-07-04 Anders Eriksson <anders@umunet.org>
1585 * src/gerbv.c: Statusbar => Label to allow setting a fixed
1586 width font and thus avoid getting the coordinates to move
1587 as the number of digits change. Moved font names to header
1588 file. We should consider using a rc-file for font names and
1590 Made status bar not expandable.
1592 2002-07-02 Anders Eriksson <anders@umunet.org>
1594 * src/gerbv.c, src/gerbv_screen.h: Macrofied coordinate unit
1595 conversions to have the constants in one place. Converted
1596 sprintf()s to safer snprintf()s.
1598 2002-07-01 Anders Eriksson <anders@umunet.org>
1600 * src/gerbv_screen.h: Bounding box needs to be doubles, not
1602 * src/gerbv.c (motion_notify_event): Finally it seems I got
1603 the absolute coordinates right. Partly closes feature
1604 request 567965 (still need to add error messages and fix
1606 * Fixed some of the layout issues. Now uses only one statusbar
1607 widget instead of three. The message is composed from three
1608 strings. Still no error messages.
1610 2002-06-20 Anders Eriksson <anders@umunet.org>
1612 * src/gerbv.c: Mils are 0.001 inch and not 0.01, thanks Dan!
1613 This closes bug #571097.
1615 2002-06-19 Anders Eriksson <anders@umunet.org>
1617 * src/gerbv.c (motion_notify_event): py, not px!
1618 * src/gerbv.c, src/gerbv_screen.h, src/draw.c: Added bounding
1619 box translations to get correct gerber coordinates (second
1620 try, did I make it?).
1622 2002-06-18 Stefan Petersen <spe@stacken.kth.se>
1624 * src/gerbv.c: Added background color selection. Closes feature
1627 2002-06-17 Anders Eriksson <anders@umunet.org>
1629 * src/gerbv_screen.h: added msgid for stausbar.
1630 * src/gerbv.c: Changed coordinate output both in statusbar and
1631 in measure mode. Now using mils and mms as units. Coordinates
1632 are now correct in respect to the gerber coordinate system
1633 (at least that's what I think). Too much information is shown
1634 in the statusbar, we will have to add unit selection (either
1635 mils or mms). Minor layout change for statusbar (I need to
1636 learn gtk layout better!).
1638 2002-06-17 Stefan Petersen <spe@stacken.kth.se>
1640 * src/draw.c: Ignored if lines were using rectangular apertures
1641 to draw. Closes bug 567128.
1643 2002-06-13 Anders Eriksson <anders@umunet.org>
1645 * src/gerbv.c, src/gerbv_screeen.h: Added statusbar, prints cursor
1646 position as well as distance when measuring.
1648 2002-06-12 Stefan Petersen <spe@stacken.kth.se>
1650 * src/gerbv.c: Fixed autoscale() not to translate image out of
1651 window. Happened after fix for negative coordinates. Should
1652 translate image to center of window.
1653 * src/draw.c: Moved setting off err_gc outside loop so it's always
1654 done, even if you don't need it.
1656 2002-06-12 Anders Eriksson <anders@umunet.org>
1658 * src/gerbv.c (draw_zoom_outline): Fix division by zero when
1659 drawing a zoom box with no delta y. Closes bug 567166.
1661 2002-06-11 Stefan Petersen <spe@stacken.kth.se>
1663 * src/gerb_file.c: Changed ENODATA to EIO, which is more portable.
1665 * src/gerbv.c: It is now possible to draw images with negative
1666 coordinates. Closes bug 548094.
1667 * src/draw.[hc],src/draw-amacro.[hc], src/Makefile.am: Split out
1668 aperture macro stuff from draw.c to a separate file, draw_amacro.c.
1669 * src/draw_amacro.c: Fixed bug when drawing primitive 4 causing
1670 rotation to be wrong. Thanks to Jonas (you know who you are) for
1671 the excellent files.
1672 * src/draw_amacro.c: Changed interpretation of "closed shape" in
1673 primitive 4. If first point is the same as the last point it's
1674 a closed shape, ie filled according to my interpretation. Don't
1675 know if it's a correct interpretation.
1677 2002-06-10 Anders Eriksson <anders@umunet.org>
1679 * src/gerbv.c: Centered outline zoom uses shift instead of control,
1680 use shift before clicking with button three to initiate centered
1681 outline zoom (rm:ed switching between centered and plain outline).
1682 Changed distance output format to add more digits.
1684 2002-06-09 Anders Eriksson <anders@umunet.org>
1686 * src/gerbv.c: Fix actual zoomed area for centered outline zooming.
1688 2002-06-09 Anders Eriksson <anders@umunet.org>
1690 * src/gerbv.c: Set cross hair cursor as soon as shift key is
1691 pressed (in normal mode, i.e. not zoom outline). Added centered
1692 zoom outline mode (closes Feature Request 553452).
1694 2002-06-09 Anders Eriksson <anders@umunet.org>
1696 * src/gerbv.c: Added measure distance color. Added actual zoom
1697 box for zoom outline mode (this shows the area that will
1698 be included when zooming, displayed as dashed lines). Use
1699 cross-hair cursor when measuring distance.
1701 2002-06-08 Anders Eriksson <anders@umunet.org>
1703 * src/gerbv.c (motion_notify_event, expose_event): Don't
1704 redraw entire image when drawing zoom outline and measured
1705 distance. This makes the outline follow much more smoothly.
1706 The side effect in measure mode is that several measures
1707 may be visible simultaneously. I am not sure if this is
1708 a bug or a feature. :)
1710 2002-06-08 Stefan Petersen <spe@stacken.kth.se>
1712 * src/gerbv.c: Setting up a watch while running export_image.
1713 * configure.in: Adding a check for libpng when export_png enabled.
1715 2002-06-07 Anders Eriksson <anders@umunet.org>
1717 * src/gerbv.c (expose_event): Center distance strings properly,
1718 get string height to properly space the two lines independant
1719 of the resolution (dpi). Minor cleanups.
1721 2002-06-07 Stefan Petersen <spe@stacken.kth.se>
1723 * src/draw.c, src/gerb_image.h, src/gerber.c: Now handles
1724 negative layer polarity (%LP%)! After fixing bug 557368
1725 this was simple to add. Tested with files from PCB.
1727 2002-06-06 Stefan Petersen <spe@stacken.kth.se>
1729 * src/gerbv.c, src/gerbv_screen.h: Added "reload files", gerbv
1730 rereads all loaded files and display them. Usefull if you have
1731 an external gerber manipulation tool.
1733 2002-06-06 Anders Eriksson <anders@umunet.org>
1735 * src/gerbv.c, src/gerbv_screen.h: Added a crude measurement tool,
1736 renamed screen.zstart_[xy] since they are now used for measure-
1737 ment also. To use this tool hold down <SHIFT> while pressing
1738 button 1 (the leftmost). This functionality still needs some work.
1740 2002-06-06 Stefan Petersen <spe@stacken.kth.se>
1742 * src/draw.c, src/gerb_image.h, src/gerber.c: Added counting and
1743 storing of number of corners in polygons, so drawing of polygons
1744 can use dynamically allocated memory. Hard coded array size gave
1745 horrible result with submitted file from David Cussans with a lot
1746 of corners in the polygons.
1749 2002-06-05 Stefan Petersen <spe@stacken.kth.se>
1751 * src/gerbv.c: Added check to autoscale so scale don't screw up
1755 2002-06-02 Stefan Petersen <spe@stacken.kth.se>
1757 * src/gerb_image.h, src/gerber.c: Thanks to Stephen Adam I now know
1758 what %IC??*% means (Input Code) and have added it to the parser.
1761 2002-05-18 Stefan Petersen <spe@stacken.kth.se>
1763 * configure.in, acconfig.h, src/Makefile.am, src/gerbv.c,
1764 src/gerbv_screen.h, src/exportimage.[hc], CONTRIBUTORS:
1765 Added "export image to PNG" contributed by Dino Ghilardi.
1766 Thanks! Currently not default, use --enable-exportpng when
1770 2002-05-17 Stefan Petersen <spe@stacken.kth.se>
1772 * src/gerbv.c, src/gerbv_screen.h: Split out the global
1773 screen variable and it's struct to simplify future
1776 * acconfig.h, configure.in, src/gerbv.c, scm_gerber.c:
1777 Prepared phase out of Guile by changing default to exclude
1778 Guile inclusion.Change flag disable-batch to enable-batch
1779 during configure and changing the variable NO_GUILE to
1783 2002-05-10 Stefan Petersen <spe@stacken.kth.se>
1785 * src/gerb_image.*, src/gerber.*, src/gerbv.c: Moved verify_gerb
1786 to gerb_image and renamed it to gerb_image_verify so drill file
1787 parsing and gerber file parsing could split them. Done after
1788 receiveing Excellon file without drillfile sizes (Innoveda/PADS
1789 Power PCB) from Dino Ghilardi.
1790 * src/gerb_file.c: Improved error reporting.
1793 2002-05-08 Anders Eriksson <anders@umunet.org>
1795 * src/gerbv.c (zoom_outline): Prevent division by zero by
1796 disallowing too small zoom areas in outline mode. Allocate a
1797 separate outline zoom color. Center outline zoom area instead
1798 of using upper left corner as translation points.
1800 2002-05-08 Stefan Petersen <spe@stacken.kth.se>
1802 * INSTALL: Changed gschem->gerbv
1803 * src/gerbv.c: Remember where we loaded file from last time and
1804 start file selection from there.
1807 2002-05-07 Anders Eriksson <anders@umunet.org>
1809 * src/gerbv.c (zoom_outline): Added zoom outline support and
1810 scaled zoom step (zoom 10% of current scale instead of a fixed
1811 number of 10). Some comments in old code. The outline drawing could
1812 probably be optimized quite a bit (it currently piggybacks on the
1813 expose event). With this functionality it is easier to note the
1814 excessive memory usage when zooming in too far.
1819 2002-05-05 Stefan Petersen <spe@stacken.kth.se>
1821 * configure.in: Updated VERSION.
1822 * src/gerbv.c: If gerbv was started without any files loaded,
1823 the watch mouse pointer was running all the time.
1826 2002-05-03 Anders Eriksson <anders@umunet.org>
1828 * AUTHORS: Corrected my e-mail address
1830 2002-05-02 Anders Eriksson <anders@umunet.org>
1832 * src/gerbv.c: Made redraw_pixmap() and image2pixmap()
1833 interruptible by calling g_main_pending() at regular intervals and
1834 registering an idle function to redraw the pixmap at a later time
1835 if there are pending events to process. This partly fixes 550319.
1836 Also added the event to the data sent to the zoom function since
1837 this allows us to read the mouse position at the event generation
1838 and not at processing time which we used to do (giving a very
1839 confusing behaviour if we can't keep up with events).
1841 2002-05-02 Stefan Petersen <spe@stacken.kth.se>
1843 * src/draw.c: Now ovals are ovals and not ellypses.
1845 * HACKING, AUTHORS, CONTRIBUTORS: Updated with more authors
1846 and contributors. Also extended HACKING to include ChangeLog
1848 * src/gerbv.c: Autoscale is more correct, though not completely
1849 perfect. Closes bug 550795.
1851 2002-04-29 Anders Eriksson <anders@umunet.org>
1853 * src/gerbv.c: Improved zoom. Now zooming around image center when
1854 zooming from menu and around mouse pointer when zooming using the
1855 mouse. There seems to be some (small) rounding error in the
1856 centering code, but it is very small. Closes 548128.
1858 2002-04-27 Stefan Petersen (spe@stacken.kth.se)
1860 * src/gerbv.c: Number constants replaced with an enumeration
1861 type. Also error in zooming comments fixed.
1862 * man/gerbv.1.in: Added blurb about zooming.
1863 * src/gerber.c: Bug 549602 fixed so format statements are
1867 2002-04-27 Stefan Petersen (spe@stacken.kth.se)
1869 * src/gerbv.c: Changed name for all *open* functions to
1870 *load*. Implemented "unload file" in right-click popup,
1871 which closes feature req. 548124.
1874 2002-04-24 Stefan Petersen (spe@stacken.kth.se)
1876 * src/gerb_file.c: Fixed bug causing segfault when opening
1877 empty file (bug 548578).
1880 2002-04-24 Stefan Petersen (spe@stacken.kth.se)
1882 * man/gerbv.1: Removed.
1883 * man/gerbv.1.in: Created, so configure can add version of
1884 gerbv automagically. Also added blurb about right-click thing.
1885 * configure.in: man/gerbv.1 is created from man/gerbv.1.in.
1888 2002-04-24 Stefan Petersen (spe@stacken.kth.se)
1890 * example/orcad/*: Added after submission from and with
1891 permission from Dino Ghilardi.
1894 2002-04-10 Stefan Petersen (spe@stacken.kth.se)
1896 * src/gerber.c: Fixed mq arcs so circles are circles and
1897 and width/height are correctly calculated. Closes bug
1901 2002-04-09 Stefan Petersen (spe@stacken.kth.se)
1903 * src/gerber.c: Fixed draw direction of arcs reported in
1904 bug #541089. Not drawn D3 and VR1, and wrong size on some
1905 transistors, still open.
1908 2002-04-03 Stefan Petersen (spe@stacken.kth.se)
1910 * src/gerber.c, src/gerber.h: Fixed some numerical
1911 constants in verify code.
1914 2002-04-03 Stefan Petersen (spe@stacken.kth.se)
1916 * src/gerbv.c: Added color selection on layers.
1917 * TODO: Added zooming and gerber layers.
1920 2002-02-10 Stefan Petersen (spe@stacken.kth.se)
1922 * src/draw.c: Added inclusion of string.h as pointed out by
1929 2002-02-03 Stefan Petersen (spe@stacken.kth.se)
1931 * src/draw.c: Fixed bugs in drawing primitive 6 and 7 after
1932 verification. The last primitives...
1933 * example/am-test/am-test.gbx: The verification suite for
1937 2002-01-06 Stefan Petersen (spe@stacken.kth.se)
1939 * src/amacro.c: Parser handles negative immediate values.
1940 * src/draw.c: Load of minor bugfixes after verification like
1941 rotate points in the other direction, line wiidths constant,
1943 * src/gerber.c: Rewrote parse_aperture_defintion to handle
1944 aperture defintions without parameters.
1947 2002-01-06 Stefan Petersen (spe@stacken.kth.se)
1949 * src/draw.c: All primitive macros are implemented (though not
1950 completely) and passed the MS-test; they compile. Now it's
1951 verify, verify and verify.
1954 2001-12-31 Stefan Petersen (spe@stacken.kth.se)
1956 * src/draw.c: Started to add functions to be able to draw
1957 aperture macros too. Some aperture macro primitives are
1958 half way implemented, so the examples in the distribution
1959 should work. Though not 100% properly.
1962 2001-12-30 Stefan Petersen (spe@stacken.kth.se)
1964 * src/amacro.[hc]: Added, even though I haven't executed
1965 an aperture macro program yet. But parsing seems stable.
1966 * src/gerb_image.[hc], gerber.c, src/Makefile.am: Calls
1967 and keeps track of parsing of aperture macros.
1968 * doc/aperturemacro.txt: simple text on the "program code"
1969 generated when parsing aperture macros.
1972 2001-12-29 Andreas Andersson (e92_aan@e.kth.se)
1975 Fixed gerb_fgetstring() to not write after the end of the
1978 Removed small memory leak in parse_aperture_definition()
1981 2001-12-29 Andreas Andersson (e92_aan@e.kth.se)
1984 Autodetection routine changed back to original style to allow
1985 special cases needed with output from some CAD systems.
1987 Error check for mmap() added to stop gerbv from segdumping
1988 when trying to open a directory instead of a file.
1991 2001-12-29 Stefan Petersen (spe@stacken.kth.se)
1993 * src/gerb_file.[hc], src/gerber.c: Added function
1994 gerb_fgetstring and used it.
2000 2001-12-14 Stefan Petersen (spe@stacken.kth.se)
2002 * src/draw.c : Removed gdk_gc_set_line_attribute when drawing
2004 * src/gerbv.c: Added autoscaling and autocentering, both as
2005 a menu option (Zoom/Fit) and when loading a file.
2008 2001-12-11 Stefan Petersen (spe@stacken.kth.se)
2010 * src/gerbv.c : Removed prelighting on buttons and changed
2011 the "random function" creating colors. Also fixed "clear
2012 all" remaining after the pan speedup rewrite.
2015 2001-12-10 Stefan Petersen (spe@stacken.kth.se)
2017 * src/gerbv.c : Forgot to check if we had any pixmap to draw.
2020 2001-12-09 Stefan Petersen (spe@stacken.kth.se)
2022 * src/gerber.c: Fixed small bug in min/max calculation
2023 which caused big problems.
2024 * src/gerbv.c: Major rewrite of panning code giving major
2025 improvements in screen update speed.
2028 2001-12-07 Stefan Petersen (spe@stacken.kth.se)
2030 * src/draw.[hc], src/gerbv.c : Pseudo optimized drawing.
2031 * src/gerb_file.c, src/gerbv.c: Fixed bug causing segfault
2032 when file didn't exist (oops) and pushed error messages
2033 out of gerb_file.c. And if a file (of many) given at
2034 commandline doesn't exist, the next file is tried instead
2038 2001-12-06 Stefan Petersen (spe@stacken.kth.se)
2040 * src/drill.c, src/gerb_image.c, src/gerber.c, src/gerbv.c:
2041 Exchanged bzero with memset for further portability.
2042 * scheme/Makefile.am: gerb-debug.scm gets installed too.
2045 2001-12-06 Andreas Andersson (e92_aan@e.kth.se)
2048 Very minor change to allow tool number 0.
2051 2001-12-03 Stefan Petersen (spe@stacken.kth.se)
2053 * src/Makefile.am, src/color.c, src/gerber.c, src/scm_gerber.c:
2054 Turned on -Wall and cleaned up after it.
2057 2001-12-03 Stefan Petersen (spe@stacken.kth.se)
2059 * src/drill.h, src/gerber.h, src/gerbv.c:
2060 Fixed bug caused by last minute namechange of
2062 * src/gerb_file.[hc]: Added functions gerb_fgetint and
2064 * src/drill.c, src/gerber.c: Utilize the new file read
2068 2001-12-02 Stefan Petersen (spe@stacken.kth.se)
2070 * src/gerb_file.[hc], src/drill.[hc], src/gerber.[hc], gerbv.c:
2071 Changed method of file IO from fgetc to mmap. Speed increase
2072 up to 3 times noted (loading all of jj's file at ones).
2075 2001-12-02 Stefan Petersen (spe@stacken.kth.se)
2077 * src/drill.c: drill_file_p recoded so it seems to work better.
2078 * src/gerbv.c: Removed and cleaned up "open file" code.
2079 * src/gerbv.c, src/color.c, src/color.h: Fixed the whole mess
2080 with colors. Now colors doesn't set any limits on how many files
2081 you can load. It also checks that you don't give too many files
2085 2001-12-02 Andreas Andersson (e92_aan@e.kth.se)
2088 Changed radiobuttons to togglebuttons, redraw_pixmap() now shows
2089 all switched on images. Slight changes to the zoom/translate code
2090 (it still doesn't work as intended, though). Added mouse commmands
2091 for zooming without scrollwheel. screen.scale no longer goes down
2092 to 0 when zooming out.
2093 * src/draw.h, src/draw.c:
2094 Floating point calculations that are converted to ints for
2095 display are now rounded to the nearest int rather than always
2096 truncated down (or was it up?) Macro round(x) added to make that
2097 prettier. Removed minor stuff that caused warnings with -Wall
2101 2001-11-27 Andreas Andersson (e92_aan@e.kth.se)
2104 Added autodetection of file type.
2106 Corrected stupid bug in autodetection.
2109 2001-11-27 Andreas Andersson (e92_aan@e.kth.se)
2111 * src/drill.h, src/drill.c:
2112 Added drill_file_p(); which checks whether a file could
2113 be a drill file or not.
2116 2001-11-26 Stefan Petersen (spe@stacken.kth.se)
2118 * configure.in: Now --data works when running ./configure.
2119 A patch from Wojciech Kazubski <wk@ire.pw.edu.pl>
2122 2001-11-26 Andreas Andersson (e92_aan@e.kth.se)
2125 Coordinate parsing now works on coordinates with decimal points.
2126 More M codes and some G codes recognized. Most importantly
2127 absolute/incremental mode and zero setting could work, though
2128 it hasn't been properly tested yet.
2131 2001-11-23 Stefan Petersen (spe@stacken.kth.se)
2133 * src/gerb_image.h, src/draw.c, src/gerber.c, src/scm_gerber.c:
2134 Are now able to parse and display polyogon area fill codes.
2137 2001-11-21 Andreas Andersson (e92_aan@e.kth.se)
2140 The format guessing code now guesses right for
2142 More M codes recognized (and later ignored).
2145 2001-11-20 Stefan Petersen (spe@stacken.kth.se)
2147 * src/scm_gerber.c: Backend didn't receive the last
2148 entry in the netlist due to bad loop constraint.
2149 * src/gerber.c: Made sure angles always are positive when
2150 calculating multi quadrant ones.
2151 * src/gerber.c: Improved error detection by checking that
2152 all part of an image is there.
2153 * src/gerber.c: Fix for EagleCad caused other Gerber files
2154 to fail. Only D-code 1-3 on a line should also be considered
2158 2001-11-15 Stefan Petersen (spe@stacken.kth.se)
2160 * src/gerbv.c: Tooltips over radio buttons with name
2167 2001-11-14 Stefan Petersen (spe@stacken.kth.se)
2169 * src/gerbv.c: Changed speed key for zooming in to
2171 * configure.in: Changed version number for release.
2174 2001-11-09 Stefan Petersen (spe@stacken.kth.se)
2176 * src/gerb_image.[hc]: Added.
2177 * src/drill.[hc], src/gerber.[hc], src/scm_gerber.[hc]:
2178 Changed to utilize the new "class", gerb_image.
2181 2001-11-07 Stefan Petersen (spe@stacken.kth.se)
2183 * src/draw.c, src/gerber.c: Implemented multi quadrant arcs.
2184 Calculated with a separate function; should be able to be
2185 combined with single quadrant calculations. Not properly
2186 tested since I need better examples.
2189 2001-11-06 Andreas Andersson (e92_aan@e.kth.se)
2191 * src/drill.h, src/drill.c:
2192 parse_drillfile() now ignores unstandard text in headers.
2193 Also, it now returns the actual unit used (it used to return
2194 the unit of the input file).
2195 Minor fixes, mostly moved stuff around.
2197 2001-11-03 Stefan Petersen (spe@stacken.kth.se)
2199 * src/drill.c, src/scm_gerber.c: Fixed bug causing backend
2200 first not to generate aperture list and then barfing when
2204 2001-11-03 Stefan Petersen (spe@stacken.kth.se)
2206 * src/gerbv.c: Added command line -d|--drill support
2207 for drill files both in graphical mode and batch mode.
2208 Though are drill file tool/apertures not properly handled
2209 by ->scheme converter.
2210 * man/gerbv.1: Changed man page to reflect the new switches.
2212 2001-11-03 Stefan Petersen (spe@stacken.kth.se)
2214 * src/gerber.[hc]: Cleaned up code after latest hack.
2215 * src/scm_gerber.c: Changed format of list delivered to
2216 the backend; no delta center points. Now it's all calculated
2217 center points and angles.
2218 * scheme/gerb-ps.scm: Accept the new list, but doesn't do anything
2222 2001-11-03 Stefan Petersen (spe@stacken.kth.se)
2224 * src/gerber.c: Inserted check for undefined apertures that
2225 was earlier removed.
2228 2001-11-02 Stefan Petersen (spe@stacken.kth.se)
2230 * src/gerber.h, src/gerber.c, src/draw.c: Now almost
2231 all calculation for circles is done when parsing and
2232 not when (re)drawing.
2233 * src/gerbv.c: Removed two unnecessary defines.
2236 2001-10-31 Stefan Petersen (spe@stacken.kth.se)
2238 * src/gerbv.c: Added zooming with scroll wheel on mouse.
2239 * README: Added info on how to configure XFree86 for scroll mouse.
2242 2001-10-28 Stefan Petersen (spe@stacken.kth.se)
2244 * src/gerber.[hc]: Fixed bug causing parser to reports
2245 points with wrong aperture. Pointed out by Dan Christian.
2248 2001-10-30 Andreas Andersson (e92_aan@e.kth.se)
2250 * src/drill.c, src/gerber.h, src/gerber.c
2251 Moved new_image() to the correct place
2254 2001-10-28 Andreas Andersson (e92_aan@e.kth.se)
2257 Added drill.c to SOURCES since it seems to work well enough
2260 Added an input file format guessing function.
2261 Some kludges to get around scaling problems.
2263 Separated File/Open command into File/Open Gerber... and
2264 File/Open Drill... Added functions to open drill files.
2266 A few speling errors fixed.
2269 2001-10-28 Stefan Petersen (spe@stacken.kth.se)
2271 * src/draw.c, src/gerber.h, src/gerber.c, src/scm_gerber.c:
2272 aperture array is now full size and array index is very
2276 2001-10-27 Stefan Petersen (spe@stacken.kth.se)
2278 * src/*.[ch]: typedef:ed all internal structs to *_t
2283 2001-10-27 Stefan Petersen (spe@stacken.kth.se)
2285 * src/gerber.[hc]: EagleCad generates broken Gerber.
2286 I kindly detect and then tries to run as nothing
2287 happened. Disable kludge with commenting out
2288 EAGLECAD_KLUDGE in src/gerber.h.
2289 This was pointed out to me by Dan Christian and
2290 later confirmed by Fredrik Jonsson sent me some
2291 examples. Thanks guys!
2292 * AUTHORS/CONTRIBUTORS: Added latest bunch of contributing
2294 * configure.in: Updated version to 0.0.4 before release.
2297 2001-10-24 Stefan Petersen (spe@stacken.kth.se)
2299 * src/draw.[hc]: Added. Extracted drawing functions from
2301 * src/gerbv.c: Removed add drawing functions into draw.c.
2302 Also minor clean ups. Fixed #def's of Guile support.
2303 * src/Makefile.am: Added draw.c as src file.
2306 2001-10-22 Stefan Petersen (spe@stacken.kth.se)
2308 * example/*: Cleaned out numpres.pcb.* to a separate dir
2309 and added a example received from Joachim Jansen on
2310 separate aperture files.
2313 2001-10-21 Stefan Petersen (spe@stacken.kth.se)
2315 * gerbv.c: Changed how cw and ccw is handled when drawing
2316 arcs to avoid swapping of start and stop points.
2317 * gerbv.c: Red dots at "aperture macros wanna-be's" scale
2318 with ordinary scale, so they don't disappear when scaling
2322 2001-10-09 Stefan Petersen (spe@stacken.kth.se)
2324 * gerber.h, gerber.c: Added 'D' as possible Format
2325 Statement after patches from Uwe Bonnes
2326 <bon@elektron.ikp.physik.tu-darmstadt.de>. Thanks!
2327 * scm_gerber.c: Broke out omit_zeros_t to scm type
2328 conversion and added 'explicit to this type.
2331 2001-09-03 Stefan Petersen (spe@stacken.kth.se)
2333 * configure.in: fixed bug when testing for opt_backend_dir
2334 causing configure to fail at least on Solaris.
2335 * INSTALL: updated with info now that automake's in use.
2338 2001-09-02 Stefan Petersen (spe@stacken.kth.se)
2340 * build-release, rebuild-conf: missing files when running
2341 automake are now copied instead of linked. Thanks
2342 Dan <mcmahill@mtl.mit.edu> for reporting this.
2345 2001-08-31 Stefan Petersen (spe@stacken.kth.se)
2347 * Splitted AUTHORS to AUTHORS and CONTRIBUTORS
2348 * src/gerb-ps.scm: removed
2349 * build_release uses anonymous cvs from sourceforge
2350 to build the release.
2351 * src/scm_gerber.c, src/gerbv.c:
2352 Now the scheme backend receives the name of the parsed file
2353 * scheme/gerb-ps.scm: Utilizes the above feature by creating output
2354 filename by prepending input filename with ".ps"