diff --git a/projectlayer.py b/projectlayer.py new file mode 100644 index 0000000..e93bbe8 --- /dev/null +++ b/projectlayer.py @@ -0,0 +1,130 @@ +import xml.etree.ElementTree +import wx +import time + +def parsesvg(name): + et= xml.etree.ElementTree.ElementTree(file=name) + zlast=0 + zdiff=0 + ol=[] + for i in et.findall("{http://www.w3.org/2000/svg}g")[0].findall("{http://www.w3.org/2000/svg}g"): + z=float(i.get('id').split("z:")[-1]) + zdiff=z-zlast + zlast=z + path=i.find('{http://www.w3.org/2000/svg}path') + ol+=[(path.get("d").split("z"))[:-1]] + return ol,zdiff + + +class dispframe(wx.Frame): + def __init__(self, parent, title, res=(1600,1200),printer=None): + wx.Frame.__init__(self, parent=parent, title=title) + self.p=printer + self.pic=wx.StaticBitmap(self) + self.bitmap=wx.EmptyBitmap(*res) + self.SetBackgroundColour("black") + self.pic.Hide() + self.pen=wx.Pen("white") + self.brush=wx.Brush("white") + self.SetDoubleBuffered(True) + self.Show() + def drawlayer(self,svg): + try: + dc=wx.MemoryDC() + dc.SelectObject(self.bitmap) + dc.SetBackground(wx.Brush("black")) + dc.Clear() + dc.SetPen(self.pen) + dc.SetBrush(self.brush) + for i in svg: + #print i + points=[wx.Point(*map(lambda x:int(round(float(x)*self.scale)),j.strip().split())) for j in i.strip().split("M")[1].split("L")] + dc.DrawPolygon(points,60,60) + + + dc.SelectObject(wx.NullBitmap) + self.pic.SetBitmap(self.bitmap) + self.pic.Show() + self.Refresh() + except: + pass + + def nextimg(self,event): + if self.index