forked from gerbv/gerbv
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog_pre20080201
2355 lines (1703 loc) · 87.9 KB
/
ChangeLog_pre20080201
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2008-01-29 23:30 thepurlieu
* src/gerbv.c: cleanup help printout and change the format to
better follow most other programs.
2008-01-24 11:12 thepurlieu
* src/draw.c: speed up cairo rendering of macros by checking each
macro for any clear draws, then only using push/pop group if we
need to.
2008-01-23 22:23 thepurlieu
* src/draw-gdk.c, src/draw-gdk.h, src/draw.c, src/export-rs274x.c,
src/gerb_image.h, src/gerber.c, test/golden/example_jj_l1-2.png,
test/golden/example_jj_l1-3.png,
test/golden/example_jj_l1-orig.png,
test/golden/test-polygon-fill-1.png: change polygon structure
slightly and move "arc chopper" logic into the GDK draw
functions, and store only the arc info in the gerb_image struct.
This allows exporting with 100% accuracy, speeds up the cairo
rendering, and reduces the size of the gerb_image. Update 4
golden files as a result of this change, since the cairo renderer
now renders with the default resolution instead of the mandated
1 degree resolution with the previous method. Add more
functionality to the export code, including info headers,
polarity changes, and finishing the polygon stuff. The only
major code that still needs to be added is macro exporting.
This may wait until (or if) we re-arrange the macro storage
method. Change GDK renderer to use a double for the scale
factor instead of an int. The int was causing noticable error
during rendering of large boards in comparison to the cairo
version (which was correct).
2008-01-23 19:49 thepurlieu
* src/gerber.c: Fix bug 1878509 by adding a hack to assume linear
interpolation is desired if no I or J parameter is given. All
other programs seem to assume this, so it should be safe.
Also, the testsuite still passes after this change, so it
shouldn't break anything.
2008-01-21 23:29 thepurlieu
* src/export-rs274x.c: round values before writing to file in order
to make sure no truncation errors are included.
2008-01-21 22:38 thepurlieu
* src/: Makefile.am, export-rs274x.c, export-rs274x.h, gerbv.c:
*export-rs274x.[ch]: start coding the library to export a
gerb_image to a Gerber file. Currently it supports basic
aperture drawing and polygon fills without circular paths
inside them. This should support most all files exported from
PCB, though. For now, only the command line option is hooked
into this new library for testing (--export-rs274x).
2008-01-13 17:18 thepurlieu
* src/: draw-gdk.h, interface.c: fix bug #1870444 (and a
similar report about problems on MAC compiling)
by allowing both draw.h and draw-gdk.h to be included.
2008-01-13 16:11 thepurlieu
* test/golden/test-circular-interpolation-1.png: Update
golden circular interpolation file to reflect updated test file.
2008-01-13 16:09 thepurlieu
* ChangeLog, src/gerbv.c, src/interface.c, src/render.c,
test/inputs/test-circular-interpolation-1.gbx:
Get short options working for export from commandline options
Get exporting from command line working
without the need for a display (cairo only). This was a regression
after the late on-the-fly GDK code. Get background color to show up
correctly on loaded projects.
---- Release 2.0.0 on 1.13.2008 ----
2008-01-12 Julian Lamb
* draw.c: Fix a few minor cairo rendering issues: 1) fix rendering of
circular interpolation within a polygon fill. 2) Fix rendering of
flashed polygon apertures with holes in them.
* tests: Add 8 new test files to test out aperture drawing, and 1 to test
polygon fills.
* tests/golden/*: Update all golden files in preparation for 2.0 release.
20 tests were failing for a variety of reasons. Most were due to the
recent disabling of anti-aliasing on polygon fills, which caused very
small changes to the rendering of the polygon borders. The remainder
of the failings were due to spurious lines previously being drawn on
flashed apertures with holes (noticed by Stefan), which has now been
fixed.
* draw.c: Fix small error in cairo rendering of elliptical circular
interpolation paths.
* test/input/test-circular-interpolation.gbx: added another test file.
2008-01-10 Julian Lamb
* interface.c: Try and fix bug where tooltips weren't showing up for some
users.
* many files: Implement on-the-fly switching between GDK and cairo
rendering, and set default setting on cairo builds to "Fast" (GDK).
* draw.c: Fix spurious line rendering noticed by Stefan on BGA pads.
* draw.c: Turn off anti-aliasing just on all polygon draws, since they were
showing seams on ground planes.
* draw.c: Fix clearing of BGA pin holes bug noticed by Stefan.
* draw.c: Add "exposure off" logic, allowing macros with the exposure=off
parameter to erase.
---- Release 2.0.0-beta ----
2008-01-09 Julian Lamb
* gerbv.c: Make sure we increase max_files by 2, since we may need to
open up two files for PNP layers (top + bottom). This fixes a segfault
after adding a PNP file to the project and then clicking "New".
2008-01-08 Julian Lamb
* callbacks.c: Change color dialog to "blocking", which prevents user
from modifying layer orders while it is running and preventing
possible problems with the layer tree code.
2008-01-07 Julian Lamb
* interface.c, callbacks.c: Add in warning dialogs if user starts a new
project or opens a project with existing layers to make sure they
don't accidentally close all layers.
* callbacks.c: Add in some logic to switch to inches in the rulers if the
scale gets too small in mils. Change the default unit back to mils.
* interface.c: Recognize the default unit and start the unit combo box
to the right one.
* render.c: Change the default screen size scale factor to where mils
can reasonably show up on the rulers.
* draw.c: Revert back to old oval rendering for the time being, since the
new one seems to be having issues...
* gerbv.c, others: Add a dialog to confirm the user wants to open a file
with invalid ASCII characters.
* pick-and-place.c: Make sure we check cir_seg height and width are > 0,
otherwise it can cause cairo rendering problems.
* draw.c: Reduce label text font size, since the protel-pnp example file
reveals problems fitting the text on the image.
2008-01-06 Julian Lamb
* pick-and-place.c, gerbv.c: Render top and bottom layers in separate
layers (if they exist). Rotate parts correctly and fix min/max
calculations so autoscaling works correctly. Also, add "top" and
"bottom" labels to layer names.
* draw.c, draw-gdk.c, gerb_aperture.h: Add rendering code in preparation
for aperture macro reordering.
* render.c, callbacks.c: Add in watch cursor during rendering to provide
feedback to user.
* callbacks.c: Tweak the color dialog checks to make sure it works after
destroying the dialog via the window manager. For cairo, speedup
rendering during layer actions by simply recompositing the final image
instead of redrawing everything. On layer deletion, reselect the first
row to always make sure a line is active.
* render.c: Reorder rendering so top layer is displayed on top.
* callbacks.c, render.c: Get unit changing combobox to work more elegantly
by updating all relevent fields immediately after changing units. Re-
enable mils on the rulers, since inches were just too large to be
usable for most boards.
* interface.c: Get gui to gracefully shrink to a small size to support
small screen resolutions. Prevent the sidebar from shrinking smaller
than looks respectable. Change analysis tools to refer to "visible"
layers rather than "active" layers to prevent confusion with the
highlighted row in the layer tree. Add a frame around the statusbar to
make it more visually appealing. Remove the "online manual" menu item
since we don't actually have one yet.
* draw.c: Change oval rendering to oblong, since that's probably what is
actually intended (GDK rendering already did this).
2008-01-05 Julian Lamb
* interface.c: Remove a billion glade-generated gtk_widget_show function
calls, since they aren't needed with gtk_widget_show_all.
* interface.c: Add tooltips for all menus and buttons.
* interface.c: Update menus for new pointer tool and remove reference
to control gerber option, since it's out for 2.0.
* callbacks.c: Make middle mouse button the default pan tool, and update
the mouse cursor is the user is panning or zooming with middle/right
mouse buttons.
* interface.c,callback.c: Add right click menu to the layer tree and add
column to indicate any modifications to the layer (for now, we just
show "I" for an inverted layer). Add back in support for individually
inverted layers. Also, fix XOR and OR rendering modes for GDK.
* render.c: Fix bug in alpha usage, which wasn't allowing transparency
on exported images.
* tests/golden/*: Update all golden files, since the png export wasn't
using alpha correctly, so all test files now render with a slightly
different color (since the black can bleed through the blue color
a tiny bit).
* gerber.c: Add support for include files (%IF) in the parser, which
hopefully completes 100% implementation of the RS-274X spec (yay!).
2008-1-4 Stuart Brorson (sdb@cloud9.net)
* src/callbacks.c, src/gerbv_screen.h, src/icons.h,
src/interface.c: Added pointer button to toggletools on task
bar.
2008-01-04 Stefan Petersen <spe>
* src/interface.c: Changed menu entries where another window is popped
up so text ends in three dots. "Save as" and "Print" uses built in
GTK operations, so the hack there got not so nice. Is there other
ways, like predefined with the three dots?
* src/draw-gdk.c: Fixed aperture macro drawing in GDK target as well.
2008-01-03 Julian Lamb
* draw.c: Fix some amacro rendering problems that Stefan uncovered.
* draw.c: Change the thermal rendering logic to do rendering without
push/pop operations, so that vector output will work (previously, the
cairo export defaulted to an image export for thermal rendering).
* render.c: Fix autoscaling for new amacro test (although the hack will be
unnecessary after we reorder the amacro rendering process to correctly
calculate the extents of each flashed macro aperture).
2008-1-2 Stuart Brorson (sdb@cloud9.net)
* src/Makefile.am, src/icons.h, src/interface.c:
Added icons for toggletool buttons: move, zoom, and measure.
2007-12-31 Julian Lamb
* gerbv.c: Rework project filename saving to save all layers with relative
pathnames, relative to the project file location. This allows projects
to be relocated, and fixes the second half of bug# 1443885.
* gerbv.c: More work on command line parsing.
* interface.c, render.c, callbacks.c: Reimplement different rendering modes
into the sidepane combobox for GDK. For cairo, allow the user to change the
quality vs speed.
* pick-and-place.c, draw.c: Correct pick and place parsing to use inches
for the basic unit. Render names of pick-and-place components to help
check placement.
2007-12-31 Stuart Brorson (sdb@cloud9.net)
* src/drill.[hc], gerber.[hc], gerbv.c, pick-and-place.[hc]:
Overhauled checks for file type. Now all file types (Gerber,
drill, pick-place) are FALSE by default, and only are TRUE
when positive of file type indications are found. Also added
specific check for RS-284-D, and throw error if -D is found.
2007-12-30 Julian Lamb
* callbacks.[ch], interface.c, others: Implement three "tools", namely
the pointer, zoom, and measure tool and hookup to the existing gui
stubs. Also, display an informative message in the message bar explaining
how to use the active tool (similar to Inkscape). Do some miscellaneous
cleanups in the gui code and rendering.
* callbacks.c, render.[ch]: Get basic printing support working.
2007-12-28 Stefan Petersen <spe@spe-laptop>
* src/draw.c, src/amacro.[hc]: gerbv can handle comments
and calculations in aperture macros. Unfortunate this
uncovered some errors in how aperture macros are drawn.
That will be next issue.
2007-12-28 Julian Lamb
* gerber.c, many files: Finish implementing all remaining Gerber functions
(offsets, mirrors, rotations, knockout, axis select, scale factors,
and justify). Rework the min/max calculation routines for much more
accurate autoscaling. Also, much updating was needed to allow the new
Gerber functions to autoscale correctly (e.g. scaling needs multiply all
the min/max values by the image scale factor, etc).
* tests/inputs/test-...: Add test files for all Gerber functions.
* tests/golden/*: Update all the golden files, since the autoscaling
rework made all the old golden files fail, since the scale factor is now
slightly off from the previous ones, making them fail.
2007-12-28 Stuart Brorson (sdb@cloud9.net)
* src/callbacks.c, src/drill.c, src/gerb_stats.[hc], src/gerber.c
src/gerbv_screen.h, src/interface.c, src/pick-and-place.c:
Added more checks for file type. This should fix problem
of segfaults when reading RS-274D. Make messages text window
(in sidepane) pop up if an error or warning is written to it so
user can immediately see problems. Robustified a few areas
of stats gathering code.
2007-12-25 Stuart Brorson (sdb@cloud9.net)
* src/gerber.c, src/callbacks.c, src/gerb_stats.[hc]:
Added reporting of all D codes used to Gerber reports window.
2007-12-23 Julian Lamb
* gerber.c, many files: Start reorganization of some gerb_image
parameters in preparation for adding final Gerber commands
like rotation, mirroring, and knockout. Also, normalize all
dimensions to inches in the image in order to simplify
rendering.
* tests/inputs/test-...: Add first three testsuite files to test
new commands.
2007-12-20 Stuart Brorson (sdb@cloud9.net)
* callbacks.c: Add scrollbars to Gerber aperture report window
since the report can grow to be very long.
2007-12-20 Julian Lamb
* render.c,callbacks.c,interface.c: Connect rulers and scrollbars and start
getting them functional.
2007-12-19 Stuart Brorson (sdb@cloud9.net)
* src/gerber.c, src/gerb_stats.[hc], src/gerb_image.h,
src/gerb_error.h, src/callbacks.c: Implemented reporting
of apertures found in Gerber files. Added to Gerber
reports window.
2007-12-17 Julian Lamb
* render,callbacks,interface: Restructure the whole rendering process by
separating out all zoom and pan information from the global variable
"screen". This was necessary to allow rendering without having a gtk
window open, allowing for export from command line and many others.
Also, the translation and zoom code is much more readable due to the
elimination of many variables. Also, the GDK color allocations were
eliminated to allow rendering without existing GDK colormaps in place.
* gerbv.c: Create the basic framework for exporting from the command line.
2007-12-16 Stuart Brorson (sdb@cloud9.net)
* src/callbacks.c, src/render.c, src/gerber.c,
src/gerb_error.h, src/gerb_stats.[hc]: Implemented reporting
of parse errors (with error level) found dring parsing of the
Gerber files.
2007-12-16 Stuart Brorson (sdb@cloud9.net)
* src/callbacks.c, src/render.c, src/gerb_error.h,
src/drill.c, src/drill_stats.[hc]: Implemented reporting
of all parse errors (with error level) found during
parsing of the drill file.
2007-12-16 Stuart Brorson (sdb@cloud9.net)
* src/drill.[hc], src/drill_stats.[hc]:
Fixed bug noticed by Joerg involving display of statistics
in drill file with M71 calling out metric units.
2007-12-14 Stuart Brorson (sdb@cloud9.net)
* src/callbacks.c, src/render.c: Added "General" tab to reports
windows for both Gerbers and Drills.
* src/Makefile.am, src/drill.c, src/gerb_image.h,
src/gerb_stats.[hc], src/drill_stats.[hc]: Refactor drill_stats
stuff to its own files in accordance with our function naming
scheme.
2007-12-14 Stuart Brorson (sdb@cloud9.net)
* Too many files to mention: Start adding list of drills found
to drill statistics reported. Now "analyze->active drill layers"
reports each drill defined, and the number of times it is used.
2007-12-14 Julian Lamb
* render,callbacks: Fully separate GDK and cairo rendering code to help
speed analization. Change from storing intermediate cairo patterns to
xlib surfaces for speed improvement. Eliminate image compositing on
each expose_event in order to make panning feel much quicker.
Temporarily disable idle function to fix GDK memory leaks and crashes.
2007-12-12 Julian Lamb
* src/gerbv.c: Fix half of bug #1443885 by eliminating segfault when
project file has layer files that won't load.
* src/callbacks.[ch],src/interface.c,src/render.[ch]: Big
cleanup of callbacks.c and start moving zoom code to render.c in
preparation for separating out zoom info from screen struct (allowing
for exporting to file and improving code readability). Add in scrollbars
and start hooking up rulers and scrollbar to panning.
2007-12-11 Julian Lamb
* src/callbacks.c,src/interface,src/render.c: Get drag and drop working
for layer sidebar. Fix memory leak for cairo rendering.
2007-12-10 Julian Lamb
* src/gerbv.c,src/callbacks.c,others: Get basic layer management gui up
and running. This includes visibility toggling, color picking, and basic
row management using the buttons at the bottom. A popup menu will also
be added when the user right clicks.
* src/gerber.c: Fix polygon rendering bug (bug #1190809). This was due
to the gerber parser not storing the correct polarity when closing
a polygon.
2007-12-09 Stuart Brorson (sdb@cloud9.net)
* src/callbacks.c, src/drill.c, src/render.[hc],
src/gerb_image.[hc], src/gerb_stats.[hc]: Added
beginnings of statistics report for drill files.
2007-12-09 Julian Lamb
* src/gerbv.c,src/callbacks.c: Reattach project open/save stuff in gui
and separate out some of the code back to gerbv.c.
* gerbv.c,callbacks.c,interface.c,others: Implement export-to-file for
PNG, PDF, SVG, and PS. Start implementing print functionality. More
cleanup of old gui code. Move log handler over to new message textview
in the sidebar.
2007-12-08 Julian Lamb
* src/render.c,src/callbacks.c: Fix translation code for cairo renderer
so things are correctly centered on the screen after a zoom-to-fit. Fix
scaling code for MM unit drawings.
* src/amacro.c,src/gerber.c: Fix error messages in amacro parsing (bug
#1845782) on FreeBSD systems (thanks to Joerg for the patch). Also, fix
possible hangs during amacro parsing (e.g. the file "%AM" would hang
gerbv, since it didn't correctly check for EOF).
2007-12-07 SDB
* render.c, render.h, Many other files: Started to refactor
gerbv. Also start to incorporate statistics gathering stuff
into gerber.[hc].
2007-12-07 Julian Lamb
* src/drill.c: Fix warning messages on some drill files (bug #1316247).
The drill parser did not zero out new gerbv_aperture_t structures, which
sometimes allowed junk in the param[x] portions, which confused the
parser and gave warnings and potentially incorrectly rendered drill
holes.
2007-12-07 Julian Lamb
* src/draw.c: Fix thermal rendering bug (bug #1024000) in the cairo
rendering code (this bug is not easily fixable in the GDK code, but
it is being obsoleted soon).
2007-12-06 Julian Lamb
* src/callbacks.c,src/gerbv.c: Add private implementation of
gdk_cairo_create to allow compilation with gtk < 2.8. Fixed bug in gerbv
which was causing gdk rendering to skip frames sometimes.
2007-12-05 Julian Lamb
* src/gerber.c,src/drill.h,src/gerb_image.h: Fix memory corruption issue
with G54 codes not checking if aperture numbers were within bounds (bug
#1843983). Also, bumped up max aperture number from 999 to 9999 based on
reports of some CAD packages using numbers this hig (even though it
clearly says 999 is the highest number in the RS274X spec). This will
increase memory usage somewhat, but hopefully should be acceptable.
2007-12-05 Julian Lamb
* src/drill.c: Fix parsing of drill files with commas in
place of decimals (bug #1844100).
2007-12-05 Julian Lamb
* src/draw.c,src/draw-gtk.c: Fix rendering of lines drawn with rectangular
aperatures (bug #1834944 and #1704942). Thanks to ineiev for the gdk
patch, which was reworked to apply to the cairo rendering too.
2007-12-04 Julian Lamb
* src/callbacks.[ch],src/interface.[ch]: Rename GTK widgets to more
recognizable names for better code legibility. Change sidebar to a
notebook view and add a messages tab. Organize statusbar layout. Add
"analyze" menu and move CAM related functions to it. Clean up toolbars
and combine into a single toolbar.
2007-11-30 Julian Lamb
* src/callbacks.[ch],src/interface.[ch],src/gerbv.c: Split out all gui
code out of gerbv.c and put it into the standard callbacks/interface
files. Started to overhaul gui during the process. Also, speed up the
feel of the cairo rendering by rendering layers to a cairo_pattern_t,
then compositing using these patterns. This allows the user to pan and
get much quicker response while the CPU renders the new view in the
background.
2007-11-30 Stuart Brorson sdb (at) cloud9 (dot) net
* configure.in, src/exportimage.c, src/gerbv.c,
src/pick-and-place.c:
Modify build system so you must explicitly --enable-cairo to
build using cairo, otherwise build using GDK by default.
2007-11-29 Stuart Brorson sdb (at) cloud9 (dot) net
* src/gerb_file.c, src/gerber.c, src/gerbv.c, src/gerbv_screen.h,
src/project.c: Added "File -> Open Gerber(s)" dialog. Added
int screen.last_loaded which keeps track of where to insert the next
Gerber to be loaded.
2007-11-26 Julian Lamb
* src/draw-gdk.[ch],src/gerber.c: Add gdk rendering code back in so it can
be compiled if cairo isn't available.
* src/gerber.c: Fix g_strconcat calls by adding NULL to end of arguments.
2007-11-20 Julian Lamb
* src/draw.c: Add rendering code for arcs. Also, fix the rendiring of oval
aperatures.
2007-11-19 Julian Lamb
* src/draw.[ch], examples/am-test/am-test.gbx: Complete the conversion to
the cairo rendering code. All aperature macros now render correctly, as
well as clear layer polarities. Note that several bugs were found in
the old aperature macro rendering functions (some rotations were not
done correctly, and the moire and thermal outer diameters weren't
correctly rendered) and those were fixed in the cairo conversion. The
am-test.gbx file was modified slightly to test these fixes.
* src/pick-and-place.c: Added an additional sanity check to make sure we
don't accidentally open some gerber files as PNP place files.
* configure.in: Add explicit cairo check.
2007-02-28 Julian Lamb
* src/draw.[ch], src/draw_amacro.[ch], src/gerbv.c: Start converting
rendering from gdk to cairo, in order to improve rendering capability,
and allow for future export to PDF/SVG/PNG/PS capability. The
draw_amacro files were combined into the draw files, since most of the
rendering functions were common between the two.
2007-02-21 Julian Lamb
* src/gerb_image.c, src/gerb_image.h: Added string label capability
to the gerb_image struct for future rendering of labels.
* src/pick-and-place.c: Updated parser to accept pick-and-place
files output from the PCB program. Performed more code cleanup
and implemented min/max screen calcs based on pick-and-place
files.
* example/LED.xy: Added a sample pick-and-place file output
from PCB, based on the LED example in the PCB source code.
2007-02-17 Julian Lamb
* src/pick-and-place.c, src/pick-and-place.h, src/gerbv.c,
src/csv.c:
Get example/protel-pnp/Pick*.csv to load through the normal
file loading code, implementing some simple logic to try
and guess if a given file is pick and place data.
2007-02-16 Julian Lamb
* src/pick-and-place.c, src/pick-and-place.h, src/gerbv.c:
Continue cleaning up pick-and-place code into simple
parser/renderer.
2007-02-15 Julian Lamb
* src/search.c, src/search.h, src/search-gui.c,
src/search-gui.h, src/search-cb.c, src/search-cb.h,
src/search-file.c, src/search-file.h, src/search-mark.c,
src/search-mark.h, src/pick-and-place.c,
src/pick-and-place.h, src/Makefile.am: Remove all
search* files, and combine important functions into
pick-and-place.[ch].
* src/gerbv.c, src/project.c: Remove gui-related references
to pick and place functions in preparation for moving
pick-and-place functionality to a simple parser/renderer.
2006-07-26 Stefan Petersen <spe@localhost.localdomain>
* src/log.c: Rewritten by Dino to use GTK2. The
previous caused SEGVs, so it was time to get
it exchanged.
2006-07-25 Stefan Petersen <spe@localhost.localdomain>
* loads of files: Added check of return value for
error checking.
* configure.in, man/gerbv.1.in, src/Makefile.am:
Remade build system so it should be able to handle
autoconf 2.60 and automake 1.9. Thanks FSF for yet
again breaking a working API.
2006-07-24 Stefan Petersen <spe@localhost.localdomain>
* src/gerb_file.c: Fixed bug #1236047, so now gerbv handles
negative coordinates.
* src/gerb_file.c, src/gerbv.c: Hopefully reduce SEGVs
even more by better error checking of operations in
gerb_fclose.
2006-07-23 Stefan Petersen <spe@localhost.localdomain>
* src/gerb_image.h, src/gerber.c, gerbv.c: Added patch from
extensive (Sourceforge alias) that according to him make
gerbv handles autoscaling of gerber files with mm better.
* src/drill.c, src/gerb_file.c: Fixed some possible memory
leaks and SIGSEGVs pointed out by Wolfgang Wieser
(hand patched from #1201900).
2006-05-07 Stefan Petersen <spe@localhost.localdomain>
* src/draw_amacro.c: Daniel Mack - zonque submitted
as a patch (1350283) (with no file attached though) that
renaming stack_t to macro_stack_t would make gerbv build
on darwin.
2005-09-28 Dan McMahill
* src/drill.c: Remove an lval typecast. Not only does this get
gerbv to compile with gcc4 and other non-gcc compilers, it
was no longer needed as the types involved were all doubles
anyway.
2005-02-15 Stefan Petersen <spe@siouxsie.umunet.org>
* src/draw_amacro.c: Forgot to copy gc to local_gc
so drawing inherits gc from image wide setting.
Pointed out by Warren Young.
2005-02-08 Tomasz Motylewski <t.motylewski@bfad.de>
* src/gerbv.c: malloc strlen+2, not +1
* src/gerb_file.c: malloc len+1, not len
2005-01-06 Stefan Petersen <spe@siouxsie.umunet.org>
* src/Makefile.am: A clean make distcheck by adding some missing
.h-files in Makefile.am
* src/*.c: Removed portability to GTK+ 1.x by changing configure.in
and remove USE_GTK2 in many small places. Also made some reformat
of the code to fit into the rest of the gerbv codebase.
2004-12-28 Stefan Petersen <spe@siouxsie.umunet.org>
* src/draw.c: When drawing circles I ignored if circle
had inner diameter, which was pointed out by Harry Eaton.
Not anymore... Closes bug #1050340 in this branch.
* Updated to TinyScheme 1.35
2004-10-30 Stefan Petersen <spe@siouxsie.umunet.org>
* src/draw_amacro.c: Forgot to use local_gc when drawing some
of the primitive aperture macros. Closes bug #1051045.
2004-10-13 Juergen Haas <juergenhaas@gmx.net>
* right click on selected part (current active selection) now works
also on shapes with PIN1 Off centre axis
FIXME circular shapes are recognised at a fixed radius of 3mm
Only works with units of gerbv match units used in pick and place
file!
2004-10-11 Juergen Haas <juergenhaas@gmx.net>
* a first draft of API documentation exists see doc/html/main.html
After adding further comments please use the following style:
/** brief description.
Now we can write details */
Afterwards use doc/Doxyfile.nopreprocessing to update documentation
with doxygen
2004-09-13 Stefan Petersen <spe@stacken.kth.se>
* src/gerbv.c: If you tried to invert color of an unloaded layer
you got a segmentation fault. I think it was discovered by Juergen.
2004-09-11 Juergen Haas <juergenhaas@gmx.net>
* right click in window with active selection now shows part
designator in statusline for easier identification in multiple
selections
FIXME only works if pin1 is not on center axis of part
2004-09-09 Juergen Haas <juergenhaas@gmx.net>
* added footprint column shown in result search window
2004-09-05 Juergen Haas <juergenhaas@gmx.net>
* fixed right click shows designator in statusbar does not hang program
* MINGW issues with path separators
2004-09-04 Juergen Haas <juergenhaas@gmx.net>
* fixed graphical representation of parts
* added gerb_transf_rotate
* added gerb_transf_shift
* fixed segfault when searching in comments
* designator is also shown checked by default
2004-08-28 Juergen Haas <juergenhaas@gmx.net>
* fixed GTK1 compilation issues
2004-08-27 Juergen Haas <juergenhaas@gmx.net>
* fixed memory issues pnp_state
* fixed too many calls to screen_for_delimiter
* added #include "string.h" to gerb_transf.c
* introduced update_combo_box_model()
* removed unnecessary code
* "beautified" gerb_transf.[ch]
* introduced rectangular shape for marking rectangular parts
* introduced a LOG MEssage, when right click on any selected part
(must be in active selection)
2004-08-26 Juergen Haas <juergenhaas@gmx.net>
* small bugfixes
* added double click draws selected item on screen
2004-08-25 Tomasz Motylewski <t.motylewski@bfad.de>
* eliminated memory leak MINGW32 gerb_file.c fd->data
* forced LC_NUMERIC to "C" in parse_gerb(), fixing bug
resulting in very thin lines (aperture size = 0) under GTK2
2004-08-23 Tomasz Motylewski <t.motylewski@bfad.de>
* cleaned up memory allocation in gerb_image.c
* improved project loading (still broken, there is no clear
design which function should do what).
* fixed memory leak plist_top->filename
2004-08-23 Juergen Haas <juergenhaas@gmx.net>
-saving projects:
is done in a more flexible way:
adds a similar line with "filename" replaced by "pick_and_place"
to project file
FIX ME: reading in a project file is still broken
-several bugfixes:
upon pressing mark button in select parts dialog it always updates
screen
2004-08-23 Tomasz Motylewski <t.motylewski@bfad.de>
* replaced scale with gerb_transf_t(.scale) - mirroring preparation
2004-08-22 Stefan Petersen <spe@stacken.kth.se>
* configure.in, src/Makefile.am: Use libpng-config to find out
parameters to use in CFLAGS and LIBS.
tag:SEARCH_SELECT_merged
2004-08-13 11:25 Search9-pre8 Juergen Haas <juergenhaas@gmx.net>
todo saving projects
Bugs fixed:
-if mark is pressed and there is no selection colour of layer
button does not change
-use of libmba's csv.[ch]
-automatic screening for delimiters
-if dialog is to be destroyed but it does not exist is caught
-upon loading a second gerberfile the first user dialog is
destroyed and parsed_PNP_data
-compiles under GTK1
-pressing mark actually also activates the new layer
-loading a gerberfile also activates layer
-tooltip to entry field now hints at usage of regexp
-arrow down acts like space
-colour change back to original colour fixed - new colour is
only allocated upon first draw on an empty layer
-dropdown list for available layers updates, whenever changes
to layer occur
-default layer now is actually also the one which is drawn ontoi
by default
(shown was MAXFILES-1, but it was drawn onto 0!)
-if there was an error loading a pnpfile
(e.g. incompatible csv format) select parts window is destroyed
also parsed_PNP_data is freed!
-arrow up reverses arrow down/space
-right click now selects and draws the selection on screen
-shift_arrows will add items to selection (moving up and down!)
-focus was always going to log window, for MINGW therefore
logging in log window was disabled as a first measure
2004-08-12 09:51 Search9-pre7 Juergen Haas <juergenhaas@gmx.net>
program now works under MINGW
code cleanup
BUG fixes:
-crash on lowercase entries(linux)using REG_ICASE
-crash on entries non existing in the list (MINGW/LINUX)
use of parsed_PNP_data as a global storage place for pnp data after parsing, in case of reopen search window initiated.
2004-08-07 09:29 Search9-pre6
search_gui.c:
-introduced GtkEntryCompletion listing choices for entry
works for designators and comments
_fixed bug in select_by_regex where
if comment was NULL a segfault occurred
-automatic scrolling to first hit works with designators only
probably utf8 issue with comments
strncasecmp causes segfault
-alignment in assembly mode improved, the first 15 elements
are also visible now
-upon enter in entry field we scroll to first hit in selection
-----------------------------
2004-08-04 09:29 search9-pre5: Juergen Haas <juergenhaas@gmx.net>
TODO introduction of libmba csv functions sublicensed under MIT
csv.[ch] have been extracted and made independent from msgno.[ch] and text.[ch] the latter
two wont be included
-----------------------------
2004-08-03 09:30 Search9-pre4: Juergen Haas <juergenhaas@gmx.net>
search_gui.c:
-fixed error with default layer selection:now always last layer is default, based on
MAX_FILES
cleaned up code
-----------------------------
Search9-pre3: Juergen Haas <juergenhaas@gmx.net>
TODO-towards project saving: added filename if pnp file is loaded
dont know how to handle loading of files because pnp file is not compatible to
gerberfile
->maybe including check for pnpfile in gerb_fopen?
-search-gui.c:
*implemented intelligent top/bottom selector
if sel exists, only non matching (either tpo or bottom parts) will be
unselected
if no sel exists, all top or bottom parts are selected
*implemented gtkcombobox for accessing layers, it will actually not allow overwriting
existing
layers( gerberfile displays), if loaded last after all gerberfiles
dynamic update of list to be more flexible
ok - used gtkliststore and GtkCellLayout for labels in Gtk_Combo_Box dropdown
list
TODO-MINGW: fgets seems to report NULL ???!!
-implemented #ifdef __MINGW32__ , HAVE LIBGEN_H, HAVE MMAN_SYS_H and HAVE_REGEX_H for
portability issues under WIN32/mingw
-------------------------------------
tag:SEARCH_SELECT_start
2004-07-12 (summary) Juergen Haas/Tomasz Motylewski <juergenhaas@gmx.net>
[pleases direct any questions, comments or bug reports to me or Tomasz]
* added new functionality: search, select and mark parts in layers
16-19 by loading a "Pick and Place" file in CSV Format:
entry1,entry2,..
NO OTHER FORMAT IS RECOGNISED SO FAR!
- src/search.c:
storing pnp data in memory
- src/search_cb.c:
callbacks
- src/search_file.c:
how to read in and parse pnp file
- src/search_mark.c:
create_marked_layer(layernumber); will draw the selected
parts as circles with a line going from centre to Pin1 on
the layer given as argument(at the moment layers 16-19 are
selectable)
- src/search_gui.c:
will load pick and place file and display the parts unique
designators, the Top/Bottom Flag and the corresponding
comment in a sortable list. Multiple selections can be made
by entering a regex search phrase or by simply clicking on
the desired items (for multiple selections by mouse click use
the well-known SHIFT-CTRL-click combinations)
* This version also includes first rough support for MINGW/WIN32
-not yet usable, route for reading in files is broken
2004-08-21 Stefan Petersen <spe@stacken.kth.se>
* src/gerbv.c: Made sure that only list of short options is
printed when only short options are compiled in.
2004-08-16 Stefan Petersen <spe@stacken.kth.se>
* doc/*, example/*: Makefiles.am removed Makefile.in wheh running
distclean. Not good. Spotted by Hamish Moffatt when packaging
for Debian.
2004-07-28 Stefan Petersen <spe@stacken.kth.se>
* src/draw.c: In gerbers the image can be negative or positive.
Then a part of the image called a layer can be clear or dark.
-"No more weed for you, Mr Gerber".
Richard Lightman found this and submitted both an example and
a patch. Thanks!
2004-07-11 Stefan Petersen <spe@stacken.kth.se>
* src/draw_amacro.c: When drawing thermals the cross ends in butt
instead of round which gives nicer look when thermal covers an
other via.
2004-06-27 Stefan Petersen <spe@stacken.kth.se>
* src/gerber.c: Improved comments on what is going and why. Also
improved a little in determining the size of the image. Now it
ignores points with no aperture defined, unless it is a polygon
area.
2004-06-24 Stefan Petersen <spe@stacken.kth.se>
* src/gerber.c: Removed two potential segfaults when running old
RS-274D format.
* src/gerber.c, src/batch.c, src/gerb_image.[hc]: Actually removed
all traces of MQ_END and MQ_START. That means that empty nodes
with only this information isn't saved, since the only time we need
this information is when parsing arcs. When an arc is parsed
the information wheter that arc is multi or single quadrant is
saved there. Also closes bug #942590.
* src/gerbv.c, src/gerbv_screen.h, src/gerb_image.c, src/gerb_image.h:
Added possibility to dump a parsed image as text to be able to
debug the parser.
2004-06-10 Stefan Petersen <spe@stacken.kth.se>
* src/draw_amacro.c: By mistake I assumed that all aperture
macros had exposure flags, but that was a mistake. Drew Moore
pointed it out to me. Thanks.
2004-06-05 Stefan Petersen <spe@stacken.kth.se>
* */.cvsignore, man/gerbv.1.in, src/gerbv.c: Minor updates and
cleanups from Dimitri. --help added for instance.
-- Release 0.16 --
2004-05-25 Stefan Petersen <spe@stacken.kth.se>
* src/draw_amacro.c: Now aperture macros handles exposures properly,
so some thermals can be drawn properly. Inspired by discussion with
Dimitri.
2004-05-19 Stefan Petersen <spe@stacken.kth.se>
* man/gerbv.1.in, src/Makefile.am, src/drill.c, src/gerbv.c,
src/tooltable.c, src/tooltable.h: Patch from Dimitri
(lastname unknown) to read tool files from for instance Eagle CAD.
2004-04-27 Stefan Petersen <spe@stacken.kth.se>
* configure.in, src/drill.c: Patch from Tomasz Motylewski as a start
remove dependencies on mmap et al (sys/mman.h) for targets lacking
these operations (mingw).
2004-04-21 Stefan Petersen <spe@stacken.kth.se>
* src/gerbv.c: Added keys f for fit, z for zoom in and Z for zoom out
after request from Stefan Thiede.
2004-04-04 Stefan Petersen <spe@stacken.kth.se>
* src/gerb_file.[hc], src/drill.c, src/amacro.c, gerber.c:
Changed gerb_fgetint() so it can return number of parsed characters.
This is useful when parsing coordinates in omit trailing zeros mode.
Omit trailing zeros is also handled properly now. Reported by Joachim
Jansen and filed as bug #918344.
2004-02-24 Stefan Petersen <spe@stacken.kth.se>
* src/gerbv.c: Apperently under GTK2 both delete_event and destroy
signals is emitted when you press the little cross in the
decoration bar. When both signals were emitted gerbv tried to free
the same memory twice.
2004-02-14 Stefan Petersen <spe@stacken.kth.se>
* src/Makefile.am: Making sure init.scm is copied to the right
place at install.
2004-02-13 Stefan Petersen <spe@stacken.kth.se>
* src/gerber.c: The good old circles revisited. This time Dan
noticed that circles with the same start and end point did not
draw properly ie as circles. It became points.
2004-02-08 Stefan Petersen <spe@stacken.kth.se>
* configure.in: Apperently auto* doesn't define $prefix if you
don't set it in your script. The autotools has become more and
more of a moving target...
* man/gerbv.1.in: A bunch of updates, mainly reflecting the new
features.
2004-02-07 Stefan Petersen <spe@stacken.kth.se>
* src/gerbv.c: Save screen.path even when we load a project file.
* src/gerbv.c: Fixed a segmentation fault when I tried to free
an optarg:ed variable.
2004-02-05 Stefan Petersen <spe@stacken.kth.se>
* src/gerbv.c: Dan strikes again. Option -p (with appropriate
error message) added as an alternative to --project.
2004-02-01 Stefan Petersen <spe@stacken.kth.se>
* src/gerbv.c: Patch from Dan causes the "save as..." dialog box
to come up if you try to do a "save" with no current project
file name.
* src/gerbv.c: Yet another patch from Dan to put project filename
in title of window.
2003-12-14 Stefan Petersen <spe@stacken.kth.se>
* configure.in, src/gerbv.c, src/log.c, src/setup.h: It is now
possible to compile gerbv with GTK+ 2.*, at least tested with
2.2.4. There are still some problems, particulary in log.c.
GtkText is deprecated, but I have enabled GTK_ENABLE_BROKEN.
This needs a more permanent solution. This closes Feature
Request #771480, but probably opens up some new ones.
2003-12-10 Stefan Petersen <spe@stacken.kth.se>
* src/gerbv.c: Projects saves and restores background color.
* src/gerbv.c, src/gerbv_screen.h: Added Save Project and handles
if a filename was given, either when loading or a previous save.
2003-12-09 Stefan Petersen <spe@stacken.kth.se>
* configure.in, */Makefile.am: Added a recursive chain of Makefile.am
to be able to run make dist and make distcheck. Proposed by Dan
McMahill. Thanks!
2003-12-07 Stefan Petersen <spe@stacken.kth.se>
* src/gerbv.c, src/project.[hc]: Project now saves ev. inversion of
layer, all layers accept all parameters and commandline switch
--project=<project file> also works.
* src/gerbv.c, src/gerbv_screen.h: Added invert layer functionality.
Closes feature request 777547.
2003-12-06 Stefan Petersen <spe@stacken.kth.se>
* src/gerb_file.[hc]: Added function gerb_find_file.
* src/draw_amacro.c: Forgot to make some internal functions static.
* src/*: Scheme interpreter added to be used by project files as a
start. Also project file handling added. A short description of
the format used in project files also added. A massive commit.
2003-11-22 Stefan Petersen <spe@stacken.kth.se>