def __init__(self): RectangleShape.__init__(self, 100.0, 100.0) self._oldX = self.x self._oldY = self.y self._constraints = [] self._divisions = [] # In case it's a container
def OnDrawOutline(self, x, y, w, h): if self._metafiles[self._currentAngle].GetOutlineOp() != -1: op = self._metafiles[self._currentAngle].GetOps()[self._metafiles[ self._currentAngle].GetOutlineOp()] if op.OnDrawOutline(x, y, w, h, self.w, self.h): return # Default... just use a rectangle RectangleShape.OnDrawOutline(self, x, y, w, h)
def GetPerimeterPoint(self, x1, y1, x2, y2): if self._metafiles[self._currentAngle].GetOutlineOp() != -1: op = self._metafiles[self._currentAngle].GetOps()[self._metafiles[ self._currentAngle].GetOutlineOp()] p = op.GetPerimeterPoint(x1, y1, x2, y2, self.x, self.y, self.GetAttachmentMode()) if p: return p return RectangleShape.GetPerimeterPoint(self, x1, y1, x2, y2)
def Delete(self): """ Fully disconnect this shape from parents, children, the canvas, etc. """ for child in self.GetChildren(): self.RemoveChild(child) child.Delete() RectangleShape.Delete(self) self._constraints = [] self._divisions = []
def OnErase(self, dc): RectangleShape.OnErase(self, dc) for object in self._children: object.Erase(dc)
def SetSize(self, w, h, recursive=True): self.w = w self.h = h RectangleShape.SetSize(self, w, h, recursive)
def __init__(self): RectangleShape.__init__(self, 100, 50) self._filename = ""
def OnRightClick(self, x, y, keys=0, attachment=0): if keys & KEY_CTRL: self.EditRegions() else: RectangleShape.OnRightClick(self, x, y, keys, attachment)
def ResetControlPoints(self): # May only have the region handles, (n - 1) of them if len(self._controlPoints) > len(self.GetRegions()) - 1: RectangleShape.ResetControlPoints(self) self.ResetMandatoryControlPoints()
def MakeControlPoints(self): RectangleShape.MakeControlPoints(self) self.MakeMandatoryControlPoints()
def OnDraw(self, dc): RectangleShape.OnDraw(self, dc)
def __init__(self, w, h): RectangleShape.__init__(self, w, h) self.ClearRegions()