Changeset 622
- Timestamp:
- 07/14/03 17:01:29 (5 years ago)
- Files:
-
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems (added)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/Common.py (added)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/Groups.py (added)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/PathBuilder.py (added)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/Shapes.py (added)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/Styled.py (added)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/RenderItems/__init__.py (added)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/SVGPathBuilder.py (deleted)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/SVGRendering.py (deleted)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/SVGShapeSkinObject.py (deleted)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/SVGSkinObject.py (modified) (5 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/circle.py (modified) (3 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/desc.py (modified) (2 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/ellipse.py (modified) (3 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/g.py (modified) (2 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/image.py (modified) (3 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/line.py (modified) (3 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/path.py (modified) (3 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/polygon.py (modified) (3 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/polyline.py (modified) (2 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/rect.py (modified) (6 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/svg.py (modified) (2 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/symbol.py (modified) (2 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/text.py (modified) (2 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/title.py (modified) (2 diffs)
- trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/use.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/SVGSkinObject.py
r615 r622 26 26 import logging 27 27 from RBSkinning.SkinObject import SkinObject 28 from SVGRendering import SVGRenderContext28 from RenderItems import Common 29 29 30 30 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 37 37 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38 38 39 log = logging.getLogger('SVG.SVGSkin.SVGSkinObject') 40 RenderContextFactory = SVGRenderContext 39 log = logging.getLogger('SVG.SVGSkin') 40 RenderContextFactory = Common.RenderContext 41 RenderItemFactory = lambda self: None#Common.RenderItemBase 41 42 42 43 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 48 49 SkinObject.__init__(self, builder, parent, node, settings, namespacemap) 49 50 51 def SkinInitialize(self): 52 SkinObject.SkinInitialize(self) 53 54 self.object = self.RenderItemFactory() 55 56 if self.object is not None: 57 self.object.InterpretSettings(self.settings) 58 59 try: 60 idname = self.settings['id'] 61 idmapping = self.context.idmapping 62 except (KeyError, AttributeError), e: 63 pass # ignore 64 else: 65 idmapping[idname] = self.object 66 50 67 def SkinFinalize(self): 51 68 SkinObject.SkinFinalize(self) … … 53 70 self.object.AddChildRenderItems(self.Elements()) 54 71 55 def SkinComplete(self):56 SkinObject.SkinComplete(self)57 58 try: idname = self.settings['id']59 except KeyError: pass60 else: self.context.idmapping[idname] = self.object61 62 72 def DisplayOn(self, renderer, rendercontext=None): 63 73 if self.object is None: 64 self.log.warning(" SVGRenderItem is not set for element %r", self.node[1])74 self.log.warning("RenderItem is not set for element %r", self.node[1]) 65 75 else: 66 76 if rendercontext is None: … … 68 78 self.object.DisplayOn(renderer, rendercontext) 69 79 80 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 81 82 class SVGSkinContentObject(SVGSkinObject): 83 def SkinFinalize(self): 84 SVGSkinObject.SkinFinalize(self) 85 if self.object is not None: 86 content = self.Content() 87 if content: 88 content = type(content[0])().join(content) 89 self.object.AddContent(content) 90 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/circle.py
r615 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 from SVGShapeSkinObject import SVGShapeSkinObject, SVGShapeRenderItem 26 from SVGSkinObject import SVGSkinObject 27 from RenderItems.Shapes import ShapeRenderItem 27 28 28 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 30 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 32 32 class CircleRenderItem(S VGShapeRenderItem):33 class CircleRenderItem(ShapeRenderItem): 33 34 def DisplayOn(self, renderer, rendercontext): 34 35 renderer.DisplayCircle(self, rendercontext) 36 37 def InterpretSettings(self, settings): 38 ShapeRenderItem.InterpretSettings(self, settings) 39 self.cx = settings.get('cx', 0.) 40 self.cy = settings.get('cy', 0.) 41 self.r = settings.get('r', 0.) 42 43 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 35 44 36 45 def GetCX(self): … … 57 66 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58 67 59 class circle(SVGShapeSkinObject): 60 def SkinInitialize(self): 61 self.object = CircleRenderItem() 62 SVGShapeSkinObject.SkinInitialize(self) 63 self.object.cx = self.settings.get('cx', 0.) 64 self.object.cy = self.settings.get('cy', 0.) 65 self.object.r = self.settings.get('r', 0.) 68 class circle(SVGSkinObject): 69 RenderItemFactory = CircleRenderItem 66 70 67 self.SetStyleSettings()68 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/desc.py
r620 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 from SVGSkinObject import SVGSkinObject27 from SVG Rendering import SVGRenderItemBase26 from RenderItems.Common import RenderItemBase 27 from SVGSkinObject import SVGSkinContentObject 28 28 29 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 31 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 32 33 class DescriptionRenderItem( SVGRenderItemBase):33 class DescriptionRenderItem(RenderItemBase): 34 34 def DisplayOn(self, renderer, rendercontext): 35 35 renderer.DisplayDescription(self, rendercontext) 36 36 37 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38 39 def AddContent(self, content): 40 self.content += content 41 42 def GetContent(self): 43 try: 44 return self._content 45 except AttributeError: 46 self._content = '' 47 return self._content 48 def SetContent(self, content): 49 self._content = content or '' 50 content = property(GetContent, SetContent) 51 37 52 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38 53 39 class desc(SVGSkinObject): 40 def SkinInitialize(self): 41 self.object = DescriptionRenderItem() 42 SVGSkinObject.SkinInitialize(self) 54 class desc(SVGSkinContentObject): 55 RenderItemFactory = DescriptionRenderItem 43 56 44 def SkinFinalize(self):45 SVGSkinObject.SkinFinalize(self)46 content = self.Content()47 if content:48 content = type(content[0])().join(content)49 self.object.value = content50 else:51 self.object.value = None52 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/ellipse.py
r615 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 from SVGShapeSkinObject import SVGShapeSkinObject, SVGShapeRenderItem 26 from SVGSkinObject import SVGSkinObject 27 from RenderItems.Shapes import ShapeRenderItem 27 28 28 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 30 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 32 32 class EllipseRenderItem(S VGShapeRenderItem):33 class EllipseRenderItem(ShapeRenderItem): 33 34 def DisplayOn(self, renderer, rendercontext): 34 35 renderer.DisplayEllipse(self, rendercontext) 36 37 def InterpretSettings(self, settings): 38 ShapeRenderItem.InterpretSettings(self, settings) 39 self.cx = settings.get('cx', 0.) 40 self.cy = settings.get('cy', 0.) 41 self.rx = settings.get('rx', 0.) 42 self.ry = settings.get('ry', 0.) 43 44 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 35 45 36 46 def GetCX(self): … … 81 91 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 82 92 83 class ellipse(SVGShapeSkinObject): 84 def SkinInitialize(self): 85 self.object = EllipseRenderItem() 86 SVGShapeSkinObject.SkinInitialize(self) 87 self.object.cx = self.settings.get('cx', 0.) 88 self.object.cy = self.settings.get('cy', 0.) 89 self.object.rx = self.settings.get('rx', 0.) 90 self.object.ry = self.settings.get('ry', 0.) 93 class ellipse(SVGSkinObject): 94 RenderItemFactory = EllipseRenderItem 91 95 92 self.SetStyleSettings()93 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/g.py
r615 r622 25 25 26 26 from SVGSkinObject import SVGSkinObject 27 from SVGRendering import SVGContainerRenderItem27 from RenderItems import Groups 28 28 29 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 31 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 32 33 class GroupRenderItem( SVGContainerRenderItem):33 class GroupRenderItem(Groups.GroupRenderItem): 34 34 def DisplayOn(self, renderer, rendercontext): 35 35 renderer.DisplayGroup(self, rendercontext) 36 SVGContainerRenderItem.DisplayOn(self, renderer, rendercontext)36 Groups.GroupRenderItem.DisplayOn(self, renderer, rendercontext) 37 37 38 38 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 39 39 40 40 class g(SVGSkinObject): 41 def SkinInitialize(self): 42 self.object = GroupRenderItem() 43 SVGSkinObject.SkinInitialize(self) 41 RenderItemFactory = GroupRenderItem 44 42 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/image.py
r616 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 import warnings27 26 from SVGSkinObject import SVGSkinObject 28 from SVGRendering import SVGTransformableRenderItem27 from RenderItems.Common import TransformableRenderItem 29 28 30 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 32 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33 32 34 class ImageRenderItem( SVGTransformableRenderItem):33 class ImageRenderItem(TransformableRenderItem): 35 34 def DisplayOn(self, renderer, rendercontext): 36 35 renderer.DisplayImage(self, rendercontext) 36 37 def InterpretSettings(self, settings): 38 TransformableRenderItem.InterpretSettings(self, settings) 39 40 self.width = settings.get('width', '100%') 41 self.height = settings.get('height', '100%') 42 43 xlink = settings[('http://www.w3.org/1999/xlink', 'href')] 44 self.imagereference = xlink 45 46 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 37 47 38 48 def GetWidth(self): … … 54 64 height = property(GetHeight, SetHeight) 55 65 56 57 66 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58 67 59 68 class image(SVGSkinObject): 60 def SkinInitialize(self): 61 SVGSkinObject.SkinInitialize(self) 62 self.object = ImageRenderItem() 63 self.object.x = self.settings.get('x', 0.) 64 self.object.y = self.settings.get('y', 0.) 65 self.object.width = self.settings.get('width', '100%') 66 self.object.height = self.settings.get('height', '100%') 69 RenderItemFactory = ImageRenderItem 67 70 68 def SkinFinalize(self):69 SVGSkinObject.SkinFinalize(self)70 71 xlink = self.settings[('http://www.w3.org/1999/xlink', 'href')]72 self.object.imagereference = xlink73 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/line.py
r615 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 from SVGShapeSkinObject import SVGShapeSkinObject, SVGShapeRenderItem 26 from SVGSkinObject import SVGSkinObject 27 from RenderItems.Shapes import ShapeRenderItem 27 28 28 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 30 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 32 32 class LineRenderItem(S VGShapeRenderItem):33 class LineRenderItem(ShapeRenderItem): 33 34 def DisplayOn(self, renderer, rendercontext): 34 35 renderer.DisplayLine(self, rendercontext) 36 37 def InterpretSettings(self, settings): 38 ShapeRenderItem.InterpretSettings(self, settings) 39 self.x1 = settings['x1'] 40 self.y1 = settings['y1'] 41 self.x2 = settings['x2'] 42 self.y2 = settings['y2'] 43 44 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 35 45 36 46 def GetX1(self): … … 60 70 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61 71 62 class line(SVGShapeSkinObject): 63 def SkinInitialize(self): 64 self.object = LineRenderItem() 65 SVGShapeSkinObject.SkinInitialize(self) 66 self.object.x1 = self.settings['x1'] 67 self.object.y1 = self.settings['y1'] 68 self.object.x2 = self.settings['x2'] 69 self.object.y2 = self.settings['y2'] 72 class line(SVGSkinObject): 73 RenderItemFactory = LineRenderItem 70 74 71 self.SetStyleSettings()72 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/path.py
r617 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 import warnings 27 from SVGShapeSkinObject import SVGShapeSkinObject, SVGShapeRenderItem28 from SVG PathBuilder import *26 from RenderItems import PathBuilder 27 from RenderItems.Shapes import ShapeRenderItem 28 from SVGSkinObject import SVGSkinObject 29 29 30 30 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 32 32 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33 33 34 class PathFactory(PathFactoryAbstract): 35 def BeginPath(self, pathstr): 36 warnings.warn("TODO: implement path command 'BeginPath'") 37 def EndPath(self, pathstr): 38 warnings.warn("TODO: implement path command 'EndPath'") 39 def MoveTo(self, relative, x, y): 40 warnings.warn("TODO: implement path command 'MoveTo'") 41 def ClosePath(self, relative): 42 warnings.warn("TODO: implement path command 'ClosePath'") 43 def LineTo(self, relative, x, y): 44 warnings.warn("TODO: implement path command 'LineTo'") 45 def HLineTo(self, relative, x): 46 warnings.warn("TODO: implement path command 'HLineTo'") 47 def VLineTo(self, relative, y): 48 warnings.warn("TODO: implement path command 'VLineTo'") 49 def CubicBezierTo(self, relative, x1, y1, x2, y2, x, y): 50 warnings.warn("TODO: implement path command 'CubicBezierTo'") 51 def SmoothCurveTo(self, relative, x2, y2, x, y): 52 warnings.warn("TODO: implement path command 'SmoothCurveTo'") 53 def QuadraticBezierTo(self, relative, x1, y1, x, y): 54 warnings.warn("TODO: implement path command 'QuadraticBezierTo'") 55 def SmoothQuadraticBezierTo(self, relative, x, y): 56 warnings.warn("TODO: implement path command 'SmoothQuadraticBezierTo'") 57 def EllipticArcTo(self, relative, rx, ry, xrotation, largeArcFlag, sweepFlag, x, y): 58 warnings.warn("TODO: implement path command 'EllipticArcTo'") 59 60 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61 62 class PathRenderItem(SVGShapeRenderItem): 63 pathbuilder = PathCommandBuilder() 34 class PathRenderItem(ShapeRenderItem): 35 pathbuilder = PathBuilder.PathCommandBuilder() 36 pathfactoryfactory = PathBuilder.SavePathFactory 64 37 65 38 def DisplayOn(self, renderer, rendercontext): 66 39 renderer.DisplayPath(self, rendercontext) 40 41 def InterpretSettings(self, settings): 42 ShapeRenderItem.InterpretSettings(self, settings) 43 self.d = settings['d'] 44 45 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67 46 68 47 def GetPath(self): … … 70 49 def SetPath(self, value): 71 50 self._path = self._asPath(value) 72 p= property(GetPath, SetPath)51 d = path = property(GetPath, SetPath) 73 52 74 53 def _asPath(self, path): 75 return self.pathbuilder.Build(path, PathFactory()) 54 if isinstance(path, (str, unicode)): 55 return self.pathbuilder.Build(path, self.pathfactoryfactory()) 56 else: 57 return path 76 58 77 59 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78 60 79 class path(SVGShapeSkinObject): 80 def SkinInitialize(self): 81 self.object = PathRenderItem() 82 SVGShapeSkinObject.SkinInitialize(self) 83 self.object.p = self.settings['d'] 61 class path(SVGSkinObject): 62 RenderItemFactory = PathRenderItem 84 63 85 self.SetStyleSettings()86 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/polygon.py
r615 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 from polyline import PolylineRenderItem27 from SVGS hapeSkinObject import SVGShapeSkinObject26 from RenderItems.Shapes import PolyShapeRenderItem 27 from SVGSkinObject import SVGSkinObject 28 28 29 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 31 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 32 33 class PolygonRenderItem(Poly lineRenderItem):33 class PolygonRenderItem(PolyShapeRenderItem): 34 34 def DisplayOn(self, renderer, rendercontext): 35 35 renderer.DisplayPolygon(self, rendercontext) … … 37 37 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38 38 39 class polygon(SVGShapeSkinObject): 40 def SkinInitialize(self): 41 self.object = PolygonRenderItem() 42 SVGShapeSkinObject.SkinInitialize(self) 43 self.object.points = self.settings['points'] 39 class polygon(SVGSkinObject): 40 RenderItemFactory = PolygonRenderItem 44 41 45 self.SetStyleSettings()46 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/polyline.py
r615 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 from SVGShapeSkinObject import SVGShapeSkinObject, SVGShapeRenderItem 26 from RenderItems.Shapes import PolyShapeRenderItem 27 from SVGSkinObject import SVGSkinObject 27 28 28 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 30 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 32 32 class PolylineRenderItem( SVGShapeRenderItem):33 class PolylineRenderItem(PolyShapeRenderItem): 33 34 def DisplayOn(self, renderer, rendercontext): 34 35 renderer.DisplayPolyline(self, rendercontext) 35 36 36 def GetPoints(self):37 return self._points38 def SetPoints(self, value):39 self._points = self._asPointList(value)40 points = property(GetPoints, SetPoints)41 42 def _asPointList(self, pointlist):43 if not isinstance(pointlist, list):44 pointlist = pointlist.replace(',', ' ')45 pointlist = pointlist.split()46 else:47 pointlist = list(pointlist)48 49 if not isinstance(pointlist[0], tuple):50 # so much easier in python2.351 ##pointlist = zip(pointlist[0::2], pointlist[1::2])52 # but alas, we're still developing for python 2.2.353 pointlist = [self._asCoordTuple(pointlist[i:i+2]) for i in xrange(0, len(pointlist), 2)]54 else:55 pointlist = [self._asCoordTuple(entry) for entry in pointlist]56 57 return pointlist58 59 37 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60 38 61 class polyline(SVGShapeSkinObject): 62 def SkinInitialize(self): 63 self.object = PolylineRenderItem() 64 SVGShapeSkinObject.SkinInitialize(self) 65 self.object.points = self.settings['points'] 66 67 self.SetStyleSettings() 39 class polyline(SVGSkinObject): 40 RenderItemFactory = PolylineRenderItem 68 41 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/rect.py
r615 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 from SVGShapeSkinObject import SVGShapeSkinObject, SVGShapeRenderItem 26 from RenderItems.Shapes import ShapeRenderItem 27 from SVGSkinObject import SVGSkinObject 27 28 28 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 30 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 32 32 class RectRenderItem(S VGShapeRenderItem):33 class RectRenderItem(ShapeRenderItem): 33 34 def DisplayOn(self, renderer, rendercontext): 34 35 renderer.DisplayRect(self, rendercontext) 35 36 37 def InterpretSettings(self, settings): 38 ShapeRenderItem.InterpretSettings(self, settings) 39 self.width = settings('width', 1.0) 40 self.height = settings.get('height', 1.0) 41 self.rx = settings.get('rx', 0.) 42 self.ry = settings.get('ry', 0.) 43 36 44 #~ rect attributes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 37 45 38 def GetX(self):39 return self._x40 def SetX(self, value):41 self._x = self._asCoord(value)42 x = property(GetX, SetX)43 44 def GetY(self):45 return self._y46 def SetY(self, value):47 self._y = self._asCoord(value)48 y = property(GetY, SetY)49 50 46 def GetWidth(self): 51 return self._width 47 try: 48 return self._width 49 except AttributeError: 50 return 1.0 52 51 def SetWidth(self, value): 53 52 width = self._asCoord(value) … … 58 57 59 58 def GetHeight(self): 60 return self._height 59 try: 60 return self._height 61 except AttributeError: 62 return 1.0 61 63 def SetHeight(self, value): 62 64 height = self._asCoord(value) … … 70 72 def GetRX(self, useRYifempty=True): 71 73 try: 72 return min(self._rx, self.height /2)74 return min(self._rx, self.height*0.5) 73 75 except AttributeError: 74 76 if useRYifempty: … … 83 85 def GetRY(self, useRXifempty=True): 84 86 try: 85 return min(self._ry, self.height /2)87 return min(self._ry, self.height*0.5) 86 88 except AttributeError: 87 89 if useRXifempty: … … 96 98 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 97 99 98 class rect(SVGShapeSkinObject): 99 def SkinInitialize(self): 100 self.object = RectRenderItem() 101 SVGShapeSkinObject.SkinInitialize(self) 102 self.object.x = self.settings.get('x', 0.) 103 self.object.y = self.settings.get('y', 0.) 104 self.object.width = self.settings['width'] 105 self.object.height = self.settings['height'] 100 class rect(SVGSkinObject): 101 RenderItemFactory = RectRenderItem 106 102 107 try: rx = self.settings['rx']108 except LookupError: pass109 else: self.object.rx = rx110 111 try: ry = self.settings['ry']112 except LookupError: pass113 else: self.object.ry = ry114 115 self.SetStyleSettings()116 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/svg.py
r621 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 import warnings27 26 from SVGSkinObject import SVGSkinObject 28 from SVGRendering import SVGContainerRenderItem27 from RenderItems.Groups import ContainerRenderItem 29 28 30 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 32 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33 32 34 class SVGRenderItem( SVGContainerRenderItem):33 class SVGRenderItem(ContainerRenderItem): 35 34 def __init__(self): 36 SVGContainerRenderItem.__init__(self)35 ContainerRenderItem.__init__(self) 37 36 self.renderingOptions = {} 37 self.idmapping = {} 38 38 39 39 def DisplayOn(self, renderer, rendercontext): 40 40 renderer.DisplaySVG(self, rendercontext) 41 SVGContainerRenderItem.DisplayOn(self, renderer, rendercontext) 41 ContainerRenderItem.DisplayOn(self, renderer, rendercontext) 42 43 def InterpretSettings(self, settings): 44 ContainerRenderItem.InterpretSettings(self, settings) 45 46 self.renderingOptions['text'] = settings.get('text-rendering') 47 self.renderingOptions['shape'] = settings.get('shape-rendering') 48 self.renderingOptions['image'] = settings.get('image-rendering') 42 49 43 50 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 44 51 45 52 class svg(SVGSkinObject): 53 RenderItemFactory = SVGRenderItem 54 46 55 def SkinInitialize(self): 47 self.object = SVGRenderItem()48 56 SVGSkinObject.SkinInitialize(self) 49 self. object.x = self.settings.get('x', 0.)50 self. object.y = self.settings.get('y', 0.)57 self.PushContext() 58 self.context.idmapping = self.object.idmapping 51 59 52 try: width = self.settings['width']53 except LookupError: pass54 else: self.object.width = width55 56 try: height = self.settings['height']57 except LookupError: pass58 else: self.object.height = height59 60 try: viewBox = self.settings['viewBox']61 except LookupError: pass62 else: self.object.viewBox = viewBox63 64 try: preserveAspectRatio = self.settings['preserveAspectRatio']65 except LookupError: pass66 else: self.object.preserveAspectRatio = preserveAspectRatio67 68 self.object.renderingOptions['text'] = self.settings.get('text-rendering')69 self.object.renderingOptions['shape'] = self.settings.get('shape-rendering')70 self.object.renderingOptions['image'] = self.settings.get('image-rendering')71 72 self.PushContext()73 self.context.idmapping = self.object.idmapping = {}74 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/symbol.py
r615 r622 25 25 26 26 from SVGSkinObject import SVGSkinObject 27 from SVGRendering import SVGContainerRenderItem27 from RenderItems.Groups import ContainerRenderItem 28 28 29 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 31 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 32 33 class SymbolRenderItem( SVGContainerRenderItem):33 class SymbolRenderItem(ContainerRenderItem): 34 34 def DisplayOn(self, renderer, rendercontext): 35 35 renderer.DisplaySymbol(self, rendercontext) 36 SVGContainerRenderItem.DisplayOn(self, renderer, rendercontext)36 ContainerRenderItem.DisplayOn(self, renderer, rendercontext) 37 37 38 38 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 39 39 40 40 class symbol(SVGSkinObject): 41 def SkinInitialize(self): 42 self.object = SymbolRenderItem() 43 SVGSkinObject.SkinInitialize(self) 41 RenderItemFactory = SymbolRenderItem 44 42 45 try: viewBox = self.settings['viewBox']46 except LookupError: pass47 else: self.object.viewBox = viewBox48 49 try: preserveAspectRatio = self.settings['preserveAspectRatio']50 except LookupError: pass51 else: self.object.preserveAspectRatio = preserveAspectRatio52 53 def DisplayOn(self, renderer, context):54 pass # symbols are not displayed55 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/text.py
r615 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 import warnings 27 from SVGS hapeSkinObject import SVGShapeSkinObject, SVGShapeRenderItem26 from RenderItems.Styled import StyledRenderItem 27 from SVGSkinObject import SVGSkinContentObject 28 28 29 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 31 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 32 33 class TextRenderItem(S VGShapeRenderItem):33 class TextRenderItem(StyledRenderItem): 34 34 def DisplayOn(self, renderer, rendercontext): 35 35 renderer.DisplayText(self, rendercontext) 36 36 37 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38 39 def AddContent(self, content): 40 self.content += content 41 42 def GetContent(self): 43 try: 44 return self._content 45 except AttributeError: 46 self._content = '' 47 return self._content 48 def SetContent(self, content): 49 self._content = content or '' 50 content = property(GetContent, SetContent) 51 37 52 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38 53 39 class text(SVGShapeSkinObject): 40 def SkinInitialize(self): 41 self.object = TextRenderItem() 42 SVGShapeSkinObject.SkinInitialize(self) 54 class text(SVGSkinContentObject): 55 RenderItemFactory = TextRenderItem 43 56 44 self.SetStyleSettings()45 46 def SkinFinalize(self):47 SVGShapeSkinObject.SkinFinalize(self)48 content = self.Content()49 if content:50 content = type(content[0])().join(content)51 self.object.value = content52 else:53 self.object.value = None54 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/title.py
r620 r622 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 from SVGSkinObject import SVGSkin Object27 from SVGRendering import SVGRenderItemBase26 from SVGSkinObject import SVGSkinContentObject 27 from RenderItems.Common import RenderItemBase 28 28 29 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 31 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 32 33 class TitleRenderItem( SVGRenderItemBase):33 class TitleRenderItem(RenderItemBase): 34 34 def DisplayOn(self, renderer, rendercontext): 35 35 renderer.DisplayTitle(self, rendercontext) 36 36 37 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38 39 def AddContent(self, content): 40 self.content += content 41 42 def GetContent(self): 43 try: 44 return self._content 45 except AttributeError: 46 self._content = '' 47 return self._content 48 def SetContent(self, content): 49 self._content = content or '' 50 content = property(GetContent, SetContent) 51 37 52 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 38 53 39 class title(SVGSkinObject): 40 def SkinInitialize(self): 41 self.object = TitleRenderItem() 42 SVGSkinObject.SkinInitialize(self) 54 class title(SVGSkinContentObject): 55 RenderItemFactory = TitleRenderItem 43 56 44 def SkinFinalize(self):45 SVGSkinObject.SkinFinalize(self)46 content = self.Content()47 if content:48 content = type(content[0])().join(content)49 self.object.value = content50 else:51 self.object.value = None52 trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/use.py
r615 r622 26 26 import warnings 27 27 from SVGSkinObject import SVGSkinObject 28 from SVGRendering import SVGTransformableRenderItem28 from RenderItems.Common import TransformableRenderItem 29 29 30 30 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 32 32 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33 33 34 class UseRenderItem( SVGTransformableRenderItem):34 class UseRenderItem(TransformableRenderItem): 35 35 def DisplayOn(self, renderer, rendercontext): 36 rendercontext.push(self) 36 item = rendercontext.resolve(self.usereference) 37 if item is not None: 38 rendercontext.push(self) 39 try: 40 item.DisplayOn(renderer, rendercontext) 41 finally: 42 rendercontext.pop(self) 43 44 def InterpretSettings(self, settings): 45 TransformableRenderItem.InterpretSettings(self, settings) 46 47 xlink = settings[('http://www.w3.org/1999/xlink', 'href')] 37 48 try: 38 self.usereference.DisplayOn(renderer, rendercontext) 39 finally: 40 rendercontext.pop(self) 49 xlinkbase, xlinktag = xlink.split('#', 1) 50 except ValueError: 51 xlinkbase, xlinktag = xlink, None 52 53 if xlinkbase or not xlinktag: 54 warnings.warn('All xlinks must be document relative for now, but xlink contained %r' % xlink) 55 self.usereference = xlinktag 41 56 42 57 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 43 58 44 59 class use(SVGSkinObject): 45 def SkinInitialize(self): 46 SVGSkinObject.SkinInitialize(self) 47 self.object = UseRenderItem() 60 RenderItemFactory = UseRenderItem 48 61 49 def SkinFinalize(self):50 SVGSkinObject.SkinFinalize(self)51 52 xlink = self.settings[('http://www.w3.org/1999/xlink', 'href')]53 xlinkbase, xlinktag = xlink.split('#', 1)54 assert not xlinkbase, 'All xlinks must be document relative for now'55 self.object.usereference = self.context.idmapping[xlinktag]56
