summaryrefslogtreecommitdiff
path: root/gerber/render/cairo_backend.py
AgeCommit message (Collapse)AuthorFilesLines
2018-06-05Fix hard requirement of cairo per #83, and add stubs for required subclass ↵Hamilton Kibbe1-7/+6
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 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 Kibbe1-140/+139
2016-11-05Finish Merge, most tests passingHamilton Kibbe1-124/+43
2016-09-24Commit partial merge so I can work on the planeHamilton Kibbe1-3/+89
2016-08-06Fix multiple problems with the merge. There are still errors, but I will ↵Garret Fick1-1/+1
intentionally leave them because future merges might resolve them
2016-08-06Manually mere rendering changesHamilton Kibbe1-188/+207
2016-07-24Add many render tests based on the Umaco gerger specification. Fix multiple ↵Garret Fick1-21/+84
rendering bugs, especially related to holes in flashed apertures
2016-07-20Merge in 6a005436b475e3517fd6a583473b60e601bcc661Garret Fick1-44/+51
2016-07-20Manually merge change 5430fa6738b74f324c47c947477dd5b779db5d1cGarret Fick1-3/+4
2016-07-20Manually merge change 6f876edd09d9b81649691e529f85653f14b8fd1cGarret Fick1-17/+48
2016-07-17Manually merge af5541ac93b222c05229ee05c9def8dbae5f6e25Garret Fick1-6/+19
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 Fick1-64/+116
negatives for shapes that dont exist in the merge source
2016-06-25Add support for polygon aperturesGarret Fick1-0/+15
2016-06-25Render aperture macros with clear regionsGarret Fick1-0/+3
2016-04-08Update cairo_backend.pyQau Lau1-2/+5
If cairo module import error use cairocffi
2016-03-26Support for the G85 slot statementGarret Fick1-0/+14
2016-01-31Keep track of quadrant mode so we can draw full circlesGarret Fick1-0/+3
2016-01-28Cleanup, rendering fixes.Hamilton Kibbe1-82/+90
fixed rendering of tented vias fixed rendering of semi-transparent layers fixed file type detection issues added some examples
2016-01-21Add support for mirrored renderingHamilton Kibbe1-7/+12
- The default theme now renders the bottom layers mirrored. - see https://github.com/curtacircuitos/pcb-tools/blob/master/examples/pcb_bottom.png for an example.
2016-01-21Fix a bunch of rendering bugs.Hamilton Kibbe1-114/+141
- 'clear' polarity primitives no longer erase background - Added aperture macro support for polygons - Added aperture macro rendring support - Renderer now creates a new surface for each layer and merges them instead of working directly on a single surface - Updated examples accordingly
2016-01-08More stability fixes for poorly constructed filesGarret Fick1-2/+4
2016-01-01Refactor a littleHamilton Kibbe1-45/+51
pulled all rendering stuff out of the pcb/layer objects
2015-12-30Render polygon flashesGarret Fick1-0/+16
2015-12-30First time any macro rendersGarret Fick1-0/+20
2015-12-22Python3 fixHamilton Kibbe1-2/+2
2015-12-22Add PCB interfaceHamilton Kibbe1-15/+47
this incorporates some of @chintal's layers.py changes PCB.from_directory() simplifies loading of multiple gerbers the PCB() class should be pretty helpful going forward... the context classes could use some cleaning up, although I'd like to wait until the freecad stuff gets merged, that way we can try to refactor the context base to support more use cases
2015-12-20Allow renderer to write to memory per #38Hamilton Kibbe1-3/+16
Some updates to rendering colors/themes
2015-12-20Clean up negative render codeHamilton Kibbe1-76/+69
2015-12-19Allow negative render of soldermask per #50Hamilton Kibbe1-37/+84
Update example code and rendering to show change
2015-12-16Fix drawing arcs. Dont crash for arcs with rectangular apertures. Fix crash ↵Garret Fick1-0/+1
with board size of zero for only one drill
2015-12-02Make the hit accessible from the drawable Hit, fix crash with cario drawing rectGarret Fick1-1/+1
2015-11-23More fixes to work with cairoGarret Fick1-9/+8
2015-11-23Render with cairo instead of cairocffi - I would like to make it use either, ↵Garret Fick1-7/+8
but for now, using the one that works with wxpython
2015-10-10Allow files to be read from strings per #37Hamilton Kibbe1-0/+6
Adds a loads() method to the top level module which generates a GerberFile or ExcellonFile from a string
2015-08-09Add support for arcs in regions.Hamilton Kibbe1-5/+17
This fixes the circular cutout issue described in #32. Regions were previously stored as a collection of points, now they are stored as a collection of line and arc primitives.