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 |
