summaryrefslogtreecommitdiff
path: root/gerber/render/theme.py
diff options
context:
space:
mode:
authorHamilton Kibbe <hamilton.kibbe@gmail.com>2015-12-19 21:54:29 -0500
committerHamilton Kibbe <hamilton.kibbe@gmail.com>2015-12-19 21:54:29 -0500
commit1cb269131bc52f0b1a1e69cef0466f2d994d52a8 (patch)
tree25555820946f2d7a7eac9b242bb160a883e8b0ad /gerber/render/theme.py
parent2e2b4e49c3182cc7385f12d760222ecb57cc1356 (diff)
downloadgerbonara-1cb269131bc52f0b1a1e69cef0466f2d994d52a8.tar.gz
gerbonara-1cb269131bc52f0b1a1e69cef0466f2d994d52a8.tar.bz2
gerbonara-1cb269131bc52f0b1a1e69cef0466f2d994d52a8.zip
Allow negative render of soldermask per #50
Update example code and rendering to show change
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)
+
+