move Square_element.size to painter, and allow for squares to determine their own size

This commit is contained in:
2022-09-23 19:33:05 -04:00
parent fba87c564a
commit b9be36b4e0
2 changed files with 58 additions and 56 deletions

View File

@ -43,6 +43,9 @@ class Painter(Widget):
# modifiers
self.modifiers=[]
# base size for all particles
self.base_size=50
# init Widget
super(Painter,self).__init__(**kwargs)
@ -75,13 +78,13 @@ class Painter(Widget):
# convert logical coordinates (normalized and centered) to the ones that are plotted
def pos_tocoord_x(self,x):
return self.width/2+x*Square_element.size
return self.width/2+x*self.base_size
def pos_tocoord_y(self,y):
return self.height/2+y*Square_element.size
return self.height/2+y*self.base_size
def coord_topos_x(self,x):
return (x-self.width/2)/Square_element.size
return (x-self.width/2)/self.base_size
def coord_topos_y(self,y):
return (y-self.height/2)/Square_element.size
return (y-self.height/2)/self.base_size
@ -176,10 +179,10 @@ class Painter(Widget):
# zoom
elif text=="+":
# increment by 10%
self.set_zoom(Square_element.size/50*1.1)
self.set_zoom(self.base_size/50*1.1)
elif text=="-":
# decrease by 10%
self.set_zoom(Square_element.size/50*0.9)
self.set_zoom(self.base_size/50*0.9)
elif text=="=":
# reset
self.set_zoom(1)
@ -557,7 +560,7 @@ class Painter(Widget):
# set zoom level
def set_zoom(self,level):
Square_element.size=level*50
self.base_size=level*50
self.draw()