def ButtonDown(self, p, button, state): self.drag_state = state self.trafo = Identity self.trafo_desc = (0, 0) SelectAndDrag.DragStart(self, p) sel = self.selection if sel == self.selCenter: self.drag_cur = self.drag_start = self.center return p - self.center ds_x = ds_y = 0 if sel in self.selLeft: ds_x = self.start.x if sel in self.selTop: ds_y = self.start.y if sel in self.selRight: ds_x = self.end.x if sel in self.selBottom: ds_y = self.end.y self.drag_cur = self.drag_start = ds = Point(ds_x, ds_y) if sel in self.selTurn: vec = ds - self.center self.start_angle = math.atan2(vec.y, vec.x) else: if sel == 2: self.reference = self.end.y elif sel == 4: self.reference = self.start.x elif sel == 6: self.reference = self.start.y elif sel == 8: self.reference = self.end.x return p - ds
def ButtonUp(self, p, button, state): p = self.apply_constraint(p, state) SelectAndDrag.DragStop(self, p) cur = self.drag_cur oldstart = self.start oldend = self.end start, end = self.compute_endpoints() self.start = start self.end = end result = self.ComputeTrafo(oldstart, oldend, start, end) self.Normalize() return result
def ButtonUp(self, p, button, state): if self.selection == self.selCenter: p = self.constrain_center(p, state) SelectAndDrag.DragStop(self, p) sel = self.selection if sel == self.selCenter: self.center = self.drag_cur return '', None else: self.compute_trafo(state) trafo = self.trafo if self.selection in self.selShear: text = _("Shear Objects") else: text = _("Rotate Objects") return text, trafo
def ButtonDown(self, p, button, state): SelectAndDrag.DragStart(self, p) sel = self.selection if sel == -1: if self.anchor: #XXX shouldn't this be 'if self.anchor is not None' start = self.anchor else: start = self.start self.drag_start = self.drag_cur = start return (p - start, self.coord_rect.translated(-start)) ds_x, ds_y = (self.start + self.end) / 2 if sel in self.selLeft: ds_x = self.start.x if sel in self.selTop: ds_y = self.start.y if sel in self.selRight: ds_x = self.end.x if sel in self.selBottom: ds_y = self.end.y self.drag_cur = self.drag_start = ds = Point(ds_x, ds_y) self.init_constraint() return p - ds
def __init__(self): SelectAndDrag.__init__(self) self.outline_object = None
def MouseMove(self, p, state): self.drag_state = state if self.selection == self.selCenter: p = self.constrain_center(p, state) SelectAndDrag.MouseMove(self, p, state) self.compute_trafo(state)
def MouseMove(self, p, state): p = self.apply_constraint(p, state) SelectAndDrag.MouseMove(self, p, state) start, end = self.compute_endpoints() text, self.trafo = self.ComputeTrafo(self.start, self.end, start, end)
def MouseMove(self, p, state): p = self.apply_constraint(p, state) SelectAndDrag.MouseMove(self, p, state)