summaryrefslogtreecommitdiff
path: root/gerber/render/theme.py
diff options
context:
space:
mode:
authorPaulo Henrique Silva <ph.silva@gmail.com>2015-12-20 22:15:44 -0200
committerPaulo Henrique Silva <ph.silva@gmail.com>2015-12-20 22:15:44 -0200
commitd1598b46c91ee36719460d49d7ba2ed5ecd0ef45 (patch)
tree7e107cc196fade05719f0cc6a659f6f17f6a3b3b /gerber/render/theme.py
parent2e2b4e49c3182cc7385f12d760222ecb57cc1356 (diff)
parent163a0cd531c667ec666108562eb2dbec28ce6125 (diff)
downloadgerbonara-d1598b46c91ee36719460d49d7ba2ed5ecd0ef45.tar.gz
gerbonara-d1598b46c91ee36719460d49d7ba2ed5ecd0ef45.tar.bz2
gerbonara-d1598b46c91ee36719460d49d7ba2ed5ecd0ef45.zip
Merge pull request #52 from curtacircuitos/negative_soldermask
Allow negative solder mask rendering per #50.
Diffstat (limited to 'gerber/render/theme.py')
-rw-r--r--gerber/render/theme.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/gerber/render/theme.py b/gerber/render/theme.py
new file mode 100644
index 0000000..5d39bb6
--- /dev/null
+++ b/gerber/render/theme.py
@@ -0,0 +1,50 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Copyright 2013-2014 Paulo Henrique Silva <ph.silva@gmail.com>
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+
+# http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+COLORS = {
+ 'black': (0.0, 0.0, 0.0),
+ 'white': (1.0, 1.0, 1.0),
+ 'fr-4': (0.702, 0.655, 0.192),
+ 'green soldermask': (0.0, 0.612, 0.396),
+ 'blue soldermask': (0.059, 0.478, 0.651),
+ 'red soldermask': (0.968, 0.169, 0.165),
+ 'black soldermask': (0.298, 0.275, 0.282),
+ 'enig copper': (0.780, 0.588, 0.286),
+ 'hasl copper': (0.871, 0.851, 0.839)
+}
+
+
+class RenderSettings(object):
+ def __init__(self, color, alpha=1.0, invert=False):
+ self.color = color
+ self.alpha = alpha
+ self.invert = False
+
+
+class Theme(object):
+ def __init__(self, **kwargs):
+ self.background = kwargs.get('background', RenderSettings(COLORS['black'], 0.0))
+ self.topsilk = kwargs.get('topsilk', RenderSettings(COLORS['white']))
+ self.topsilk = kwargs.get('bottomsilk', RenderSettings(COLORS['white']))
+ self.topmask = kwargs.get('topmask', RenderSettings(COLORS['green soldermask'], 0.8, True))
+ self.topmask = kwargs.get('topmask', RenderSettings(COLORS['green soldermask'], 0.8, True))
+ self.top = kwargs.get('top', RenderSettings(COLORS['hasl copper']))
+ self.bottom = kwargs.get('top', RenderSettings(COLORS['hasl copper']))
+ self.drill = kwargs.get('drill', self.background)
+
+