diff --git a/lightningbeam.py b/lightningbeam.py index 6c41eaa..dffd7c3 100755 --- a/lightningbeam.py +++ b/lightningbeam.py @@ -164,10 +164,14 @@ def onMouseDragObj(self, x, y): self.y = y-self.inity elif svlgui.MODE=="s": if svlgui.SCALING: - self.xscale = ((self.maxx/2.0+self.minx)-x)/(self.maxx/2.0) - self.yscale = ((self.maxy/2.0+self.miny)-y)/(self.maxy/2.0) - # self.x = (self.x+self.maxx/2)-((self.maxx/2)*self.xscale) - # self.yscale = y/100.0 + # self.xscale = ((self.maxx/2.0+self.minx)-x)/(self.maxx/2.0) + # self.yscale = ((self.maxy/2.0+self.miny)-y)/(self.maxy/2.0) + + print self.initx + + self.xscale = ((self.maxx/2.0+self.minx)-x)/((self.maxx/2.0+self.minx)-self.initx) + self.yscale = ((self.maxy/2.0+self.miny)-y)/((self.maxy/2.0+self.miny)-self.inity) + def onMouseDragText(self, x, y): self.x = x-self.initx self.y = y-self.inity diff --git a/svlgui.py b/svlgui.py index 159042b..4b16763 100644 --- a/svlgui.py +++ b/svlgui.py @@ -2035,20 +2035,21 @@ class frame: if self==self.parent.frames[0]: for i in self.objs: if i.obj.iname: - retval = retval+".put "+i.obj.iname+"="+i.name+" x="+str(i.x)+" y="+str(i.y)+"\n" + retval = retval+".put "+i.obj.iname+"="+i.name+" x="+str(i.x)+" y="+str(i.y)+" scalex="+str(i.xscale*100)+" scaley="+str(i.yscale*100)+"\n" else: - retval = retval+".put "+i.name+" x="+str(i.x)+" y="+str(i.y)+"\n" + retval = retval+".put "+i.name+" x="+str(i.x)+" y="+str(i.y)+" scalex="+str(i.xscale*100)+" scaley="+str(i.yscale*100)+"\n" else: for i in self.objs: if not i.obj in [j.obj for j in misc_funcs.lastval(self.parent.frames,self.parent.frames.index(self)).objs]: if not hasattr(i.obj, "iname"): i.obj.iname = None if i.obj.iname: - retval = retval+".put "+i.obj.iname+"="+i.name+" x="+str(i.x)+" y="+str(i.y)+"\n" + retval = retval+".put "+i.obj.iname+"="+i.name+" x="+str(i.x)+" y="+str(i.y)+" scalex="+str(i.xscale*100)+" scaley="+str(i.yscale*100)+"\n" else: - retval = retval+".put "+i.name+" x="+str(i.x)+" y="+str(i.y)+"\n" + retval = retval+".put "+i.name+" x="+str(i.x)+" y="+str(i.y)+"scalex="+str(i.xscale*100)+" scaley="+str(i.yscale*100)+"\n" else: retval = retval+".move "+i.name+" x="+str(i.x)+" y="+str(i.y)+"\n" + retval = retval+".change "+i.name+" scalex="+str(i.xscale*100)+" scaley="+str(i.yscale*100)+"\n" if not self.actions.strip()=='': retval = retval + ".action:\n"+self.actions+"\n.end\n" return retval @@ -2379,6 +2380,7 @@ class Group (object): (self.activelayer.currentselect.minx+self.activelayer.currentselect.maxx-5