def __init__(self, text = '', pos=None, size=None, font_size=40, start_pos=None): self.size = MovingValue(Point((20,20)), get_default(size, Point((20,20)))) pos = get_default(pos, Point((0,0))) start_pos = get_default(start_pos, Point((0,0))) self.pos = MovingValue(start_pos, pos, step=0.3) self.widgets = [] # sub-widgets self.focused_widgets = [] self.hovered_widget = None self.trigger_lists = {'pre' : TriggerList(), 'post' : TriggerList(),} self.text = text self._font_size = font_size self.reset() self._init_params() self._init_event_triggers() self.max_undo = 25 # TODO kick this outta here #from Ellipse import Ellipse from Shapes.Rectangle import Rectangle self.shape = Rectangle(pygame.Rect(self.get_current_rect()))
def save_snapshot_image(self, event, filename, width=None, height=None, callback_when_done=None, **kw): if width and not height: height = self.size.current.y/(self.size.current.x/float(width)) elif height and not width: width = self.size.current.x/(self.size.current.y/float(height)) width = get_default(width, self.size.current.x) height = get_default(height, self.size.current.y) rect = pygame.Rect(event.parent_offset.x, event.parent_offset.y, self.size.current.x, self.size.current.y) rect = rect.clip(event.surface.get_rect()) subsurface = event.surface.subsurface(rect) pygame.image.save(pygame.transform.scale(subsurface, (width,height)), filename) if callback_when_done: callback_when_done(filename, width, height)
def __init__(self, node=None, out_edges=None, *args, **kw): super(NodeWidget, self).__init__(*args, **kw) self.out_edges = get_default(out_edges, {}) if node: self.set_node(node) from Shapes.Ellipse import Ellipse self.shape = Ellipse(pygame.Rect(self.get_current_rect())) self.params.add_allowed_name('show_group_name') self.params.show_group_name = True self.shape_image = load_image("images/circle_purple_gray.png") self.focused_shape_image = load_image("images/circle.png") self.hovered_shape_image = load_image("images/circle_purple.png")
def __init__(self, name, group_name = None, start_pos=None): self.name = name self.group_name = group_name self.start_pos = get_default(start_pos, Point((0,0)))