root/trunk/RBRapier/RBRapier/Formats/SVG/SVGSkin/ellipse.py

Revision 657, 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 SVGSkinObject import SVGSkinObject
27 from SVGItems.Shapes import ShapeSVGItem
28
29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30 #~ Definitions
31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32
33 class ellipse(ShapeSVGItem, SVGSkinObject):
34     def InterpretSettings(self, settings):
35         ShapeSVGItem.InterpretSettings(self, settings)
36
37         centerx = self._asCoord(settings.get('cx', 0.))
38         centery = self._asCoord(settings.get('cy', 0.))
39         self.object.SetCenter((centerx, centery))
40
41         radiusx = settings.get('rx', None)
42         radiusy = settings.get('ry', None)
43         if radiusx is None:
44             if radiusy is None:
45                 radiusx = radiusy = 0.
46             else:
47                 radiusx = radiusy
48         elif radiusy is None:
49             radiusy = radiusx
50
51         radiusx = self._asCoord(radiusx)
52         if radiusx < 0:
53             raise ValueError, '"rx" radius attribute can not be negative"'
54
55         radiusy = self._asCoord(radiusy)
56         if radiusy < 0:
57             raise ValueError, '"ry" radius attribute can not be negative"'
58
59         self.object.SetRadi(radiusx, radiusy)
60
Note: See TracBrowser for help on using the browser.