summaryrefslogtreecommitdiff
path: root/gerber/render
AgeCommit message (Collapse)AuthorFilesLines
2019-02-03Make primitives with unset level polarity inherit from regionjaseg1-10/+13
This fixes region rendering with programatically generated primitives such that clear level polarity works in an intuitive way. This is useful for e.g. cutouts in regions. Before, the renderer would set level polarity twice, both when starting the region and then again once for each region primitive (line or arc). The problem was that the primitives in a region with "clear" polarity would when constructed with unset polarity default to "dark". Thus the renderer would emit something like LPC (clear polarity) -> G36 (start region) -> LPD (dark polarity) -> {lines...} instead of LPC -> G36 -> {lines...}. After this commit, Line and Arc will retain None as level polarity when created with unset level polarity, and region rendering will override None with the region's polarity. Outside regions, the old dark default remains unchanged. Note on verification: Somehow, gEDA gerbv would still render the broken regions the way one would have intended, but other viewers (KiCAD gerbview, the online EasyEDA one and whatever JLC uses to make their silkscreens) would not.
2019-01-26Merge pull request #92 from curtacircuitos/subclass-bugfixHamilton Kibbe5-64/+79
Fix hard requirement of cairo per #83, and add stubs for required sub…
2018-07-06Fix cairo matrix clone op to not use copy.copyjaseg1-1/+1
For some reason, copy.copy would barf saying it can't deepcopy cairo matrices.
2018-06-05Fix hard requirement of cairo per #83, and add stubs for required subclass ↵Hamilton Kibbe5-64/+79
methods to GerberContext per #84
2017-11-25Use positional arguments for cairo.Context.arcjaseg1-21/+5
cairocffi 0.6 does not support keyword args.
2017-07-04Remove rest of mixed unpack/kwarg syntax to fix #72Hamilton Kibbe1-9/+9
2017-06-12Merge pull request #71 from tomacorp/layer_bounds_argHamilton Kibbe1-2/+5
Added bounds argument to render_layer()
2017-06-12Merge pull request #68 from jmargeta/cairo_python_3_fixHamilton Kibbe1-1/+1
Fix Cairo backend for svg saving and Python 3
2017-06-12Fix error when unpacking colors in cairo backendHamilton Kibbe1-2/+2
2017-05-24Added bounds argument to render_layer()Tom Anderson1-2/+5
2017-04-15Fix Cairo backend for svg saving and Python 3Jan Margeta1-1/+1
2016-12-13Add max_width and max_height arguments toHamilton Kibbe1-2/+22
2016-12-13Clip context to axis- and pixel- aligned bounds before rendering primitives. ↵Hamilton Kibbe1-563/+610
Significantly speeds up render
2016-11-18Fix rs274x output bugsHamilton Kibbe1-19/+32
2016-11-18Fix a bunch of bugs in rendering that showed up when rendering the gerbv ↵Hamilton Kibbe1-183/+305
test suite
2016-11-07Merge upstream changeHamilton Kibbe1-6/+3
2016-11-07cairo_backend.py: use BytesIO instead of StringIOGirts Folkmanis1-6/+3
This fixes a crash in cairocffi on Python3, and should be compatible with both python2 and python3. In python2, byte strings are just strings. In python3, when getting binary data, the user probably wants a byte string instead of a regular string.
2016-11-06Fix tests on python3Hamilton Kibbe1-2/+1
2016-11-06Remove debug print"Hamilton Kibbe1-1/+0
2016-11-06Merge upstream changesHamilton Kibbe5-279/+289
2016-11-05Finish Merge, most tests passingHamilton Kibbe1-124/+43
2016-09-29Add more layer hints as seen in the wildHamilton Kibbe1-1/+1
2016-09-24Commit partial merge so I can work on the planeHamilton Kibbe2-3/+90
2016-08-06Fix multiple problems with the merge. There are still errors, but I will ↵Garret Fick2-1/+9
intentionally leave them because future merges might resolve them
2016-08-06Manually mere rendering changesHamilton Kibbe3-193/+214
2016-07-24Add more tests for rendering to PNG. Start adding tests for rendering to ↵Garret Fick1-1/+18
Gerber format. Changed definition of no hole to use None instead of 0 so we can differentiate when writing to Gerber format. Makde polygon use hole diameter instead of hole radius to match other primitives
2016-07-24Add many render tests based on the Umaco gerger specification. Fix multiple ↵Garret Fick2-27/+90
rendering bugs, especially related to holes in flashed apertures
2016-07-20Merge in 6a005436b475e3517fd6a583473b60e601bcc661Garret Fick3-57/+65
2016-07-20Manually merge change 5430fa6738b74f324c47c947477dd5b779db5d1cGarret Fick1-3/+4
2016-07-20Manually merge change 6f876edd09d9b81649691e529f85653f14b8fd1cGarret Fick3-42/+76
2016-07-17Manually merge af5541ac93b222c05229ee05c9def8dbae5f6e25Garret Fick2-10/+32
2016-07-17Create first test that renders and validates the the rendered PNG is correct.Garret Fick1-3/+2
2016-07-17Merge in negative soldermask. Still required further changes to support ↵Garret Fick3-67/+184
negatives for shapes that dont exist in the merge source
2016-07-10Fix issue with chaning region mode via flash. Add options for controlling ↵Garret Fick2-3/+45
output from rendered gerber
2016-06-25Add support for polygon aperturesGarret Fick2-4/+37
2016-06-25Render aperture macros with clear regionsGarret Fick1-0/+3
2016-05-28Fix issue with switching between ROUT and normal drill modesGarret Fick2-7/+16
2016-05-28Use the known macro statement to render. Fix thermal not setting rotationGarret Fick1-22/+32
2016-05-28Fix units statement. Keep track of original macro statement in the AMGroupGarret Fick1-1/+1
2016-05-19Merge pull request #3 from qaulau/patch-2Garret Fick1-2/+5
Update cairo_backend.py
2016-05-19Fix issue where did not always switch into the G01 mode after G03 when the ↵Garret Fick1-0/+2
point was unchanged
2016-05-08Don't render null itemsGarret Fick1-0/+2
2016-04-08Update cairo_backend.pyQau Lau1-2/+5
If cairo module import error use cairocffi
2016-04-05Fix converting values for excellon files. Give error for incremental modeGarret Fick1-0/+5
2016-03-27Actually fix the rout rendering to be correctGarret Fick1-9/+89
2016-03-26Support for the G85 slot statementGarret Fick3-4/+48
2016-03-24Basic rendering of excellon works, but still has issuesGarret Fick1-7/+10
2016-03-05More robust writing, even for bad files. Remove accidentally added importsGarret Fick1-0/+3
2016-03-05Remove some testing code from gerber writer. More implementation for ↵Garret Fick2-28/+80
excellon writer - not working yet
2016-03-05Make rendering more robust for bad gerber filesGarret Fick1-2/+14