root / core / app / canvas / layermanager.py @ 42

View | Annotate | Download (2.5 KB)

1
from __future__ import with_statement
2
from pymt import *
3
from pyglet.gl import *
4
from layer import *
5
6
class LayerManager(MTScatterWidget):
7
    def __init__(self, **kwargs):
8
        kwargs.setdefault('do_scale', False)
9
        kwargs.setdefault('do_rotation', False)
10
        kwargs.setdefault('do_translation', False)
11
        super(LayerManager, self).__init__(**kwargs)
12
        self.mode = "zoom"
13
        self.canvas = kwargs.get('canvas')
14
        #self.size = self.canvas.size
15
        self.layer_list = []
16
        self.brush_color = (0,0,0,1)
17
        self.brush_sprite = "brushes/brush_particle.png"
18
        self.brush_size = 25
19
        self.background = NormalLayer(size=self.size,color=(1,1,1,1),moveable=False,layer_manager=self)
20
        self.add_widget(self.background)
21
22
23
        
24
    def set_mode(self,value):
25
        self.mode = value
26
        
27
    def set_brush_color(self,color):
28
        self.brush_color = color
29
    
30
    def set_brush(self,sprite,size):
31
        self.brush_sprite = sprite
32
        self.brush_size = size
33
        
34
    def move_layer_up(self,layer_id):  #double tapp on the layer to move up one layer at a time
35
        if layer_id < len(self.layer_list)-1:
36
            a = self.layer_list[layer_id]
37
            b = self.layer_list[layer_id+1]
38
            a.id = layer_id+1
39
            b.id = layer_id
40
            
41
            self.layer_list[layer_id] = b
42
            self.layer_list[layer_id+1] = a
43
            
44
            for layer in self.layer_list:
45
                self.remove_widget(layer)
46
                
47
            for layer in self.layer_list:
48
                self.add_widget(layer)
49
50
    def move_layer_down(self,layer_id): #hold one finger down and double tapp with another on the layer to move down one layer at a time
51
        if layer_id > 0:
52
            a = self.layer_list[layer_id]
53
            b = self.layer_list[layer_id-1]
54
            a.id = layer_id-1
55
            b.id = layer_id
56
            
57
            self.layer_list[layer_id] = b
58
            self.layer_list[layer_id-1] = a
59
            
60
            for layer in self.layer_list:
61
                self.remove_widget(layer)
62
                
63
            for layer in self.layer_list:
64
                self.add_widget(layer) 
65
        
66
        
67
    def create_layer(self,pos=(0,0),size=(200,200),color=(0,0,0,0.5)):
68
        layer = NormalLayer(id=len(self.layer_list),pos=pos,size=size,color=color,layer_manager=self)
69
        self.add_widget(layer)
70
        self.layer_list.append(layer)
71
    
72
    
73
    
74
        
75
76
        
77
    
78
        
79