Thomas Kalka
fd48e57f33
Implement new backend without cairo
...
by providing SVGSurface, PSSurface and Context classes
Disable post processing as we want to create proper files right away
2020-05-18 22:30:28 +02:00
Thomas Kalka
da0e390789
do not start holes with the corner
2020-05-18 22:30:28 +02:00
Florian Festi
6091cf955f
Comsole2: Move to Box group in the UI
2020-05-10 16:13:54 +02:00
Florian Festi
27264f8c08
New fingerHoleRectangle() function
2020-05-10 16:12:27 +02:00
Florian Festi
949c8d8324
Fix polygonWalls() for uneven number of walls and symetrical==True
...
For an uneven number of walls one needs to have two different edges
to be able to close the loop.
2020-05-02 00:43:33 +02:00
Florian Festi
966a6c77cf
Add "rotated" to possible move terms
2020-05-01 23:35:55 +02:00
Florian Festi
c4ca1b4dfa
Also translate Edge descriptions in ArgparseEdgeType
2020-04-13 18:45:17 +02:00
Florian Festi
0178a853c3
Add Inkscape style meta data to SVG output
2020-03-01 16:53:41 +01:00
Florian Festi
22450a6fe7
roundedPlate: Fix placement
2020-02-28 17:52:49 +01:00
Florian Festi
6476a51fc4
roundedPlate: Fix callback positioning
2020-02-28 17:52:49 +01:00
Florian Festi
223ac26122
roundedPlate: new extend_corners param
2020-02-28 17:52:18 +01:00
Florian Festi
26b33d62ff
roundedPlate: Properly lookup edge
2020-02-28 17:46:44 +01:00
Florian Festi
7c004e2d2c
New primitive: Boxes.step()
...
Outset a line by a given margin - negative values for insetting
2020-02-28 17:46:44 +01:00
Florian Festi
0394d418c1
dHole: Prevent division by zero
2020-02-01 15:30:18 +01:00
Florian Festi
7943fa2390
flex2D: Fix division by zero for too small patterns
2020-02-01 15:22:35 +01:00
Florian Festi
95f2fbeb82
corner(): Make more robust against division by zero
2020-02-01 15:03:49 +01:00
Florian Festi
f8401aac75
rectangularRectangle: Make angle calculation more robust
2020-02-01 14:43:45 +01:00
Florian Festi
10e2085eef
Remove Python 2 compat foo
2019-12-21 17:47:54 +01:00
Florian Festi
4d53bd17cc
partsMatrix: support width=0 for all parts in one row
2019-12-16 20:07:30 +01:00
Florian Festi
182d222f01
Prevent not having any sections at all for argparseSections
2019-11-24 19:10:35 +01:00
Florian Festi
d2d97b01c9
grip(): Prevent division by zero
2019-11-24 16:42:47 +01:00
Florian Festi
b0b35d6084
Mention BurnTest in docs and in the burn parameter description
2019-10-19 12:29:56 +02:00
Florian Festi
52484b0d55
adjustSize(): add support for edge chars
2019-09-08 23:26:23 +02:00
Marko Luther
ca1a3575d0
forward holesSettings to hexHolesRectangle from within rectangularWall
2019-07-21 01:21:55 +02:00
Florian Festi
fff74cf382
Add metadata as a xml comment
...
Resolves #66
2019-07-07 13:43:04 +02:00
Florian Festi
6c85ae7ea2
Add trapezoidSideWall() that supports radius param for additional strength
2019-06-21 23:16:59 +02:00
Florian Festi
6a809e17e7
Move trapezoidWall() from UnevenHeightBox to Boxes class
2019-06-21 21:37:57 +02:00
Florian Festi
01ca56fdce
Support all different section syntaxes (sx, sy, ...) side by side
2019-06-21 21:37:57 +02:00
Germain Lemasson
e8e248994b
Add a StorageSelf generator. This is a shelf for storing TypeTray boxes.
...
It is based on TypeTray generator. The sh parameter replace the sx parameter.
It is not a subclasse of TypeTray in order to have the top and bottom at
the right place.
2019-06-01 12:52:34 +02:00
Florian Festi
46157b2030
Add .mirrorX() and .mirrorY() wrappers
...
These are especially useful for warpping callbacks.
2019-05-11 17:17:11 +02:00
Florian Festi
f22be6f6d5
Fix polygonWalls for inner corners
2019-04-14 18:17:09 +02:00
Florian Festi
0b781ce7ef
Add turtle param to polygonWall
...
to allow using it as turtle graphic command instead of a part
2019-04-14 18:17:09 +02:00
Florian Festi
dc11929258
Fix _polygonWallExtend for corners with negative angles
2019-04-14 18:17:09 +02:00
chrysn
95dba0dee7
box: raise NotImplementedError
...
NotImplemented is a sentinel for comparisons; encountering this as an
exception would result in a meta-error.
2019-04-10 17:56:12 +02:00
Florian Festi
7aec26e893
New .polygonWall() part
...
Similar to .polyline() but with (f) edges on the outside
.polygonWalls draws the surrounding walls
2019-03-24 21:50:36 +01:00
Florian Festi
4f4d947253
.corner(): Fix tabs for small arcs
2019-03-24 21:50:11 +01:00
Florian Festi
f178215f20
.corner(): Also accept (angle, radius) tuples
2019-03-24 21:50:11 +01:00
Martin Müller
fb4791f803
Fix typo in help text for tabs
2019-02-26 00:02:30 +01:00
Florian Festi
8640514daf
Omit reference for svg_Ponoko format
2019-02-14 21:36:54 +01:00
Florian Festi
81708bbbca
.polyline: mention tabs feature in doc string
2019-02-14 17:32:59 +01:00
Florian Festi
3a0e34eed8
Fix NutHole which broke after switching over to saved_context
2019-02-14 17:31:56 +01:00
Florian Festi
679234afd3
Fix docstrings of .open() and .close() to match new use pattern
2019-02-13 09:04:57 +01:00
Florian Festi
9b1ce265bf
Make docstrings ready for autodoc
2019-02-13 09:01:20 +01:00
Florian Festi
0d07f48b7f
Remove .open() call from the .render() method
...
Having this call there was necessary in the past as the open() method would
need the canvas size as a parameter. This is now determined automatically
after rendering.
Still calling open() is deprecated but won't result in an error.
2019-02-08 17:43:15 +01:00
Florian Festi
861c8451e2
Remove call to .close() from .render() method
...
There is really no need for all the generator to care
Still calling it is deprecated but won't result in an error
2019-02-08 17:32:04 +01:00
Florian Festi
ded5addbe9
Remove no longer needed calls to ctx.stroke()
...
Boxes.move() take care of that nowadays
2019-02-07 22:43:04 +01:00
Florian Festi
80ab24dceb
Fix format of doc strings
2019-02-07 17:42:41 +01:00
Wayne Wylupski
c5d434105b
Add svg_Ponoko output format
...
This is just regular SVG with Ponoko-specific line properties
Yes, the lines are too thin to be seen in a regular web browser.
Resolves : #112
2019-02-03 16:30:28 +01:00
Wayne Wylupski
abacdd486e
Implement proper color handling
...
Avoid accessing Boxes.ctx (the cairo context) all over the code.
Have named colors
2019-02-03 16:28:02 +01:00
Wayne Wylupski
c573914bcd
Add Boxes.saved_context() context manager
...
Avoid directly accessing Boxes.ctx (the cairo context) all over the place.
Also have a more modern API for returning to a previous spot.
2019-02-03 16:25:31 +01:00