root / core / app / canvas / canvas_new.py @ 39

View | Annotate | Download (1.4 KB)

1
from __future__ import with_statement
2
from pymt import *
3
from pyglet.gl import *
4
from layermanager import *
5
6
class Canvas(MTScatterWidget):
7
    def __init__(self, **kwargs):
8
        super(Canvas, self).__init__(**kwargs)
9
        self.canvas_area = CanvasArea(pos=(10,10),size=(500,400))
10
        self.add_widget(self.canvas_area)
11
		
12
    def draw(self):
13
        with gx_matrix:
14
            glColor4f(0,0,0,1)
15
            drawRectangle((0,0),(self.width,self.height))
16
    
17
    def set_mode(self,mode):
18
        self.canvas_area.layer_manager.set_mode(mode)
19
20
class CanvasArea(MTStencilContainer):
21
    def __init__(self, **kwargs):
22
        super(CanvasArea, self).__init__(**kwargs)
23
        self.layer_manager = LayerManager(pos=(10,10),canvas=self)
24
        self.add_widget(self.layer_manager)
25
        
26
    #def draw(self):
27
    #    pass
28
        #self.draw() 
29
		
30
		
31
		
32
if __name__ == '__main__':
33
    w = MTWindow()
34
    canvas = Canvas(size=(520,420),pos=(w.width/2-260,w.height/2-120))
35
    w.add_widget(canvas)
36
    draw_but = MTButton(label="Painting")
37
    w.add_widget(draw_but)
38
    @draw_but.event    
39
    def on_press(touchID, x, y):
40
        canvas.set_mode(mode='draw')
41
    zoom_but = MTButton(label="Layering",pos=(draw_but.width+5,0))
42
    @zoom_but.event    
43
    def on_press(touchID, x, y):
44
        canvas.set_mode(mode='zoom')
45
    w.add_widget(zoom_but)
46
    runTouchApp()
47
    		
48
		
49