def openFile(self, widget=None, filename=None): if filename is None: native = Fl.Native_File_Chooser() native.title("Select SVG file") native.filter('SVG\t*.svg') ret = native.show() if ret == -1 or ret == 1: return filename = native.filename() xmltree = readFile(filename) self.renderer = Renderer(xmltree, imageprovider=image_cb) if isinstance(filename, basestring): name = os.path.split(filename)[-1] else: name = 'unamed.svg' self.updateScale() self.redraw()
<!-- Show outline of canvas using 'rect' element --> <rect x="1" y="1" width="1198" height="398" fill="none" stroke="blue" stroke-width="2"/> <rect x="100" y="100" width="400" height="200" rx="50" fill="green" /> <g transform="translate(700 210) rotate(-30)"> <rect x="0" y="0" width="400" height="200" rx="50" fill="none" stroke="purple" stroke-width="30" /> </g> </svg> """) renderer = Renderer(xmltree) import svgplotlib.FLTK as Fl WIDTH, HEIGHT = 600, 700 window = Fl.Window(WIDTH, HEIGHT) width, height = renderer.width, renderer.height widget = Fl.Button(10, 10, width, height) pixels = vg.PixelBuffer(width, height) ctx = vg.CreateOffScreenSH() vg.StartOffScreenSH(ctx, width, height) vg.Setfv(vg.CLEAR_COLOR, 4, [1., 1., 1., 1.])