From 4edebba7fcf2ab4305e8fa00f59b359c89ddb000 Mon Sep 17 00:00:00 2001 From: Tal Leming Date: Wed, 28 Dec 2011 04:20:47 +0000 Subject: [PATCH] Fixes for layer info. git-svn-id: http://svn.robofab.com/branches/ufo3k@535 b5fa9d6c-a76f-4ffd-b3cb-f825fc41095c --- Lib/robofab/objects/objectsBase.py | 2 +- Lib/robofab/objects/objectsDefcon.py | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Lib/robofab/objects/objectsBase.py b/Lib/robofab/objects/objectsBase.py index 10ca1e497..7df4e4659 100755 --- a/Lib/robofab/objects/objectsBase.py +++ b/Lib/robofab/objects/objectsBase.py @@ -20,7 +20,7 @@ from robofab import RoboFabError from robofab.misc.arrayTools import updateBounds, pointInRect, unionRect, sectRect from fontTools.pens.basePen import AbstractPen -from defcon.objects.color as DefconColor +from defcon.objects.color import Color as DefconColor # ---- # Base diff --git a/Lib/robofab/objects/objectsDefcon.py b/Lib/robofab/objects/objectsDefcon.py index 7b64b4217..c26f46dcd 100755 --- a/Lib/robofab/objects/objectsDefcon.py +++ b/Lib/robofab/objects/objectsDefcon.py @@ -664,10 +664,14 @@ class RLayer(RBaseObject): def __init__(self, layer): super(RLayer, self).__init__() self._object = layer + self._lib = None def glyphClass(self): return RGlyph + def libClass(self): + return RLib + # XXX def __repr__(self): # layer info @@ -680,7 +684,10 @@ class RLayer(RBaseObject): lib = property(_get_lib) def _get_color(self): - return BaseColor(self._object.color) + color = self._object.color + if color is not None: + color = BaseColor(color) + return color def _set_color(self, value): self._object.color = value @@ -1572,6 +1579,9 @@ if __name__ == "__main__": print print "lib:", font.lib print - print "layer:", font.layers[None], [layer for layer in font.layers] + print "layer:", font.layers[None] + font.layers[None].color = ".5, 1, 0, .2" + print "layer.color:", font.layers[None].color + print "layer.lib:", font.layers[None].lib print