summaryrefslogtreecommitdiff
path: root/gerbonara/gerber/render/rs274x_backend.py
diff options
context:
space:
mode:
authorjaseg <git@jaseg.net>2019-02-03 13:42:44 +0900
committerjaseg <git@jaseg.net>2019-02-03 14:37:26 +0900
commita7a5981e0eb2b112a57c6ea1151eb2b88f798857 (patch)
treefa8684dfc88166285495a4c52b948f45981328d0 /gerbonara/gerber/render/rs274x_backend.py
parentf59d78b7fe92fffcc0afc56c5bec1dd211cc30c6 (diff)
downloadgerbonara-a7a5981e0eb2b112a57c6ea1151eb2b88f798857.tar.gz
gerbonara-a7a5981e0eb2b112a57c6ea1151eb2b88f798857.tar.bz2
gerbonara-a7a5981e0eb2b112a57c6ea1151eb2b88f798857.zip
Make primitives with unset level polarity inherit from region
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.
Diffstat (limited to 'gerbonara/gerber/render/rs274x_backend.py')
0 files changed, 0 insertions, 0 deletions