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

Revision 631, 1.8 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 import warnings
27 from SVGSkinObject import SVGSkinObject
28 from RenderItems.Styled import StyledRenderItem
29
30 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 #~ Definitions
32 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33
34 class UseRenderItem(StyledRenderItem):
35     def DisplayOn(self, renderer):
36         renderer.DisplayUse(self)
37
38     def InterpretSettings(self, settings):
39         StyledRenderItem.InterpretSettings(self, settings)
40
41         xlink = settings[('http://www.w3.org/1999/xlink', 'href')]
42         try:
43             xlinkbase, xlinktag = xlink.split('#', 1)
44         except ValueError:
45             xlinkbase, xlinktag = xlink, None
46
47         if xlinkbase or not xlinktag:
48             warnings.warn('All xlinks must be document relative for now, but xlink contained %r' % xlink)
49         self.usereference = (xlinkbase or '', xlinktag)
50
51 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52
53 class use(SVGSkinObject):
54     RenderItemFactory = UseRenderItem
55
Note: See TracBrowser for help on using the browser.