root/trunk/RBRapier/RBRapier/Formats/Attic/SVG.old/SVGSkin/path.py

Revision 656, 2.0 kB (checked in by sholloway, 5 years ago)

*** empty log message ***

Line 
1 #!/usr/bin/env python
2 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 ##~ License
4 ##~
5 ##- The RuneBlade Foundation library is intended to ease some
6 ##- aspects of writing intricate Jabber, XML, and User Interface (wxPython, etc.)
7 ##- applications, while providing the flexibility to modularly change the
8 ##- architecture. Enjoy.
9 ##~
10 ##~ Copyright (C) 2002  TechGame Networks, LLC.
11 ##~
12 ##~ This library is free software; you can redistribute it and/or
13 ##~ modify it under the terms of the BSD style License as found in the
14 ##~ LICENSE file included with this distribution.
15 ##~
16 ##~ TechGame Networks, LLC can be reached at:
17 ##~ 3578 E. Hartsel Drive #211
18 ##~ Colorado Springs, Colorado, USA, 80920
19 ##~
20 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23 #~ Imports
24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25
26 from RenderItems import PathBuilder
27 from RenderItems.Shapes import ShapeRenderItem
28 from SVGSkinObject import SVGSkinObject
29
30 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 #~ Definitions
32 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33
34 class PathRenderItem(ShapeRenderItem):
35     pathbuilder = PathBuilder.PathCommandBuilder()
36     pathfactoryfactory = PathBuilder.SavePathFactory
37
38     def DisplayOn(self, renderer):
39         renderer.DisplayPath(self)
40
41     def InterpretSettings(self, settings):
42         ShapeRenderItem.InterpretSettings(self, settings)
43         self.SetPath(settings['d'])
44
45     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46
47     def GetPath(self):
48         return self._path
49     def SetPath(self, value):
50         self._path = self._asPath(value)
51     d = path = property(GetPath, SetPath)
52
53     def _asPath(self, path):
54         if isinstance(path, (str, unicode)):
55             return self.pathbuilder.Build(path, self.pathfactoryfactory())
56         else:
57             return path
58
59 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60
61 class path(SVGSkinObject):
62     RenderItemFactory = PathRenderItem
63
Note: See TracBrowser for help on using the browser.