コード例 #1
0
ファイル: Polygon.py プロジェクト: irskep/splatterboard
 def select(self):
     self.canvas_pre = graphics.get_canvas()
     self.bg = tool.generate_line_selector()
     
     self.button_group = gui.ButtonGroup()
     buttons = []
     
     def generate_side_function(n):
         def temporary_function():
             self.sides = n
         return temporary_function
     
     def generate_poly_button(x, y, w, h, n):
         def poly_func():
             theta = 0
             y_offset = 0
             if n == 3: y_offset = -5
             if n % 2 == 1: theta = -math.pi/n/2
             poly = draw._concat(draw._iter_ngon(x+w/2,y+h/2+y_offset,(w-10)/2,n,theta))
             graphics.set_color(1,1,1,1)
             draw.polygon(poly)
             graphics.set_color(0,0,0,1)
             graphics.set_line_width(1)
             draw.line_loop(poly)
         return poly_func
     
     w, h = resources.SquareButton.width, resources.SquareButton.height
     for i in xrange(0,self.num_buttons):
         temporary_button = gui.Button(resources.SquareButton, generate_side_function(i+3),
                                         i*w+5, h+5, "", parent_group=self.button_group,
                                         more_draw = generate_poly_button(i*w+5, h+5, w, h, i+3))
         buttons.append(temporary_button)
         tool.controlspace.add(temporary_button)
         buttons[0].select()
         buttons[0].action()
コード例 #2
0
ファイル: PaintBucket.py プロジェクト: irskep/splatterboard
 def select(self):
     self.painter_normal = NormalPainter()
     self.painter_noisy = NoisyPainter()
     self.painter_checker = CheckerPainter()
     self.painter_target = TargetPainter()
     self.painter_dot = DotPainter()
     self.painter = self.painter_normal
     
     self.bg = tool.generate_line_selector()
     
     self.button_group = gui.ButtonGroup()
 
     def painter_switch_function(painter):
         def temp_func():
             self.painter.stop()
             self.painter = painter
             painter.__init__()
             painter.init()
         return temp_func
     
     images = [
         resources.PaintBucket, resources.PaintBucket_noise, resources.PaintBucket_checker, 
         resources.PaintBucket_target, resources.PaintBucket_dot
     ]
     painters = [
         self.painter_normal, self.painter_noisy, self.painter_checker, 
         self.painter_target, self.painter_dot
     ]
     buttons = []
     
     for i in xrange(len(painters)):
         temp_button = gui.ImageButton(
             resources.SquareButton, painter_switch_function(painters[i]),
             5+i*50, 55, image_2 = images[i], parent_group = self.button_group
         )
         buttons.append(temp_button)
         tool.controlspace.add(temp_button)
         if painters[i] == self.painter: buttons[i].select()
     self.painter.init()
コード例 #3
0
ファイル: Line.py プロジェクト: irskep/splatterboard
 def select(self):
     self.canvas_pre = graphics.get_canvas()
     self.bg = tool.generate_line_selector()