summaryrefslogtreecommitdiff
path: root/gfx
AgeCommit message (Collapse)AuthorFilesLines
2016-08-27non-interactive diff now exits with 0 if no differences, 1 if differencesWerner Almesberger1-4/+9
2016-08-27gfx/gfx.c (gfx_end): let "end" function return an integerWerner Almesberger4-7/+16
2016-08-27gfx/cro.c (setup_pango): rename to setup_fontWerner Almesberger1-6/+6
... since we also use it for Cairo.
2016-08-27gfx/cro.c (cr_png_init): don't forget to setup fontWerner Almesberger1-0/+1
2016-08-27gfx/cro.c (cro_img_write): check cairo_surface_write_to_png return valueWerner Almesberger1-2/+7
2016-08-27gfx/diff.c: combine processing for GUI and non-interactive modeWerner Almesberger3-55/+87
This also removes the restriction that, in non-interactive mode, both sheets had to have exactly the same size.
2016-08-26gfx/cro.c: support text stylesWerner Almesberger1-1/+34
2016-08-26gfx/fig.c (fig_text): support text stylesWerner Almesberger2-1/+21
2016-08-26pass text style to gfx_text{,_width} and related functionsWerner Almesberger8-27/+49
2016-08-26gfx/text.c (text_fig): rename to text_showWerner Almesberger2-2/+2
The days of only doing FIG are long gone ...
2016-08-26fully decode text attributes in sch-parse.c and lib-parse.cWerner Almesberger1-2/+8
2016-08-25gfx/cro.c (cro_img, cro_img_surface): call cro_ctx variable "cc", not "ctx"Werner Almesberger2-16/+16
All the rest of cro.c uses "cc".
2016-08-25option -L to suppress page layout; non-interactive diff always implies -LWerner Almesberger1-0/+3
This means that we can now do things like eeshow 6a9f71:neo900.pro neo900_SS_5.sch -- \ diff -s 2 -o diff.png neo900.pro neo900_SS_5.sch
2016-08-25Makefile, gfx/cro.c: fix typo; remove blank lineWerner Almesberger1-1/+0
Keeping future commits free from unrelated trivia ...
2016-08-25gfx/diff.c (diff_args): use file_namesWerner Almesberger1-5/+31
2016-08-25undocumented option -O to disable overline drawing (in case it crashes)Werner Almesberger2-1/+3
2016-08-25gfx/cro.c: use_pango switches between Cairo and Pango, without further ↵Werner Almesberger1-5/+5
conditions Since, ironically, Cairo was first to get overline support, the strchr(..., '~') condition no longer makes sense, and thus, since only one context will be used, neither does setting up both.
2016-08-25kicad/lib-render.c (draw_pin_line): mark NC pins with a little XWerner Almesberger1-0/+1
2016-08-25gfx/cro.c (cr_text_cairo): experimental support for overliningWerner Almesberger1-1/+92
2016-08-24gfx/cro.c: only use Pango if there's a ~ in the stringWerner Almesberger1-5/+4
Since the main reason for switching to Pango is that we'll need its layout analysis capabilities to draw overlines, how about just not using Pango for strings that don't have such complications ? Time to first index is now 487 ms, almost as good as with Pango disabled. Note: a further optimization would be to check strings for special issues at the source, and avoid all the strchr-ing.
2016-08-24gfx/cro.c (cr_text_pango): don't call pango_cairo_update_layoutWerner Almesberger1-1/+1
Seems that we don't need it. Down another 10% from 3.36 to 3.03 s.
2016-08-24gfx/cro.c: don't set layout if we already have the right sizeWerner Almesberger1-4/+12
This removes about 88% of the calls to pango_font_description_set_absolute_size and pango_layout_set_font_description, and seems to reduce run time by some 5%, from 3.55 s to 3.36 s for an initial index on neo900.pro. For comparison, using Cairo's "toy" text interface we're done in about 330 ms.
2016-08-24gfx/cro.c (cr_text_pango): minor cleanupWerner Almesberger1-2/+1
2016-08-24gfx/cro.c (cr_text): experimental Pango support; option -P to enableWerner Almesberger2-10/+89
2016-08-24gfx/gfx.c (gfx_args): don't need to reset "optind" all over the placeWerner Almesberger2-2/+2
2016-08-24separate argument list from gfx_init; related API changesWerner Almesberger7-59/+109
2016-08-24remove global gfx state (pass context as argument)Werner Almesberger5-88/+120
2016-08-24gfx/cro.c (cro_img_surface): access the surface created by cro_imgWerner Almesberger2-0/+9
2016-08-23gfx/cro.c: go back to integers, but scale PDF coordinates by 16Werner Almesberger1-2/+8
Floating-point produced small pixel variations that confused diff mode. We fix the PDF rounding problem by scaling the coordinate system by 16.
2016-08-23gfx/cro.c: use "double" for coordinate conversionsWerner Almesberger1-6/+5
This has a number of amazing effects: - font over-sizing issues almost completely disappear (they can still get a bit too small( - PDFs no longer show rounding effects at default scale Drawback: - there is now more anti-aliasing, making things look slightly blurred
2016-08-23support showing pin types also in diff mode (hackishly, but works)Werner Almesberger4-6/+14
2016-08-23gfx/cro.c (cro_get_size, cro_img_write): make returning the size optionalWerner Almesberger1-6/+11
2016-08-23kicad/lib-render.c (lib_render_extra): render pin typeWerner Almesberger2-0/+7
2016-08-23misc/diag.h (BUG): more useful diagnostics; replace all "abort" with itWerner Almesberger4-6/+8
2016-08-23kicad/lib-render.c, gfx/style.h: render pin shapesWerner Almesberger1-0/+3
2016-08-22eeshow/gfx/pdftoc.c (line): don't be fooled by "/Type /Pages"Werner Almesberger1-1/+2
We really ought to test properly for end-of-word, not rely on prefixes.
2016-08-22eeshow/gfx/pdftoc.c (write_trailer): walking pointer is a bad idea if we reallocWerner Almesberger1-7/+9
2016-08-22eeshow/gfx/pdftoc.c: use strbegins instead of local "begins"Werner Almesberger1-11/+5
2016-08-22eeshow/misc/util.h (realloc_size, realloc_type_n): get rid of bare "realloc"Werner Almesberger3-6/+3
Finally ! Shoulds have done this a long time ago.
2016-08-22eeshow/gui/diff.c: improve sectioningWerner Almesberger1-25/+31
2016-08-21eeshow/gfx/cro.c: support PDF TOC addition; option -T to suppress itWerner Almesberger1-2/+41
2016-08-21eeshow/gfx/pdftoc.c: edit Cairo-generated PDF to insert TOCWerner Almesberger2-0/+373
Based on schtoc.pl
2016-08-21eeshow/gfx/gfx.c (gfx_sheet_name): pass sheet name (title) to driverWerner Almesberger2-0/+9
2016-08-20eeshow/gfx/diff.c (complement_box): determine limits outside the loopsWerner Almesberger1-5/+12
2016-08-20eeshow/gfx/: don't overthink coordinate transformsWerner Almesberger3-22/+2
The xe/ye element was completely unnecessary because we never have an offset at the pixel level. Furthermore, it was used incorrectly, causing a shift between old and new when xmin/ymin differed.
2016-08-20eeshow/gfx/cro.c (cr_text_width): use cd/dc, not cx/xcWerner Almesberger1-6/+6
We don't want to risk getting sheet offsets mixed into our text sizes.
2016-08-20eeshow/gfx/cro.c (xc): mixed up offset calculationWerner Almesberger1-1/+1
Apparently, this had no major effect.
2016-08-20eeshow/gfx/diff.c: export area creation and freeingWerner Almesberger2-25/+42
2016-08-19eeshow/gfx/diff.c (diff_to_canvas): draw caller-supplied areasWerner Almesberger2-11/+20
These are for future highlighting. WIP.
2016-08-19eeshow/gfx/diff.c (merge_coord): typo caused offset troublesWerner Almesberger1-1/+1