810 dc.DrawRectangle(self.Pos.x - 2, self.Pos.y - 2, self.Size.width + 5, self.Size.height + 5) |
810 dc.DrawRectangle(self.Pos.x - 2, self.Pos.y - 2, self.Size.width + 5, self.Size.height + 5) |
811 dc.SetLogicalFunction(wx.COPY) |
811 dc.SetLogicalFunction(wx.COPY) |
812 |
812 |
813 # Draws the handles of this element if it is selected |
813 # Draws the handles of this element if it is selected |
814 def Draw(self, dc): |
814 def Draw(self, dc): |
815 if self.Highlighted: |
815 if not getattr(dc, "printing", False): |
816 self.DrawHighlightment(dc) |
816 if self.Highlighted: |
817 if self.Selected: |
817 self.DrawHighlightment(dc) |
818 dc.SetPen(wx.BLACK_PEN) |
818 if self.Selected: |
819 dc.SetBrush(wx.BLACK_BRUSH) |
819 dc.SetPen(wx.BLACK_PEN) |
820 dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE) |
820 dc.SetBrush(wx.BLACK_BRUSH) |
821 dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2, |
821 dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE) |
822 self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE) |
822 dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2, |
823 dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, |
823 self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE) |
824 self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE) |
824 dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, |
825 dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, |
825 self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE) |
826 self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE) |
826 dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, |
827 dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, |
827 self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE) |
828 self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE) |
828 dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, |
829 dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2, |
829 self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE) |
830 self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE) |
830 dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2, |
831 dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE) |
831 self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE) |
832 dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE) |
832 dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE) |
|
833 dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE) |
833 |
834 |
834 |
835 |
835 #------------------------------------------------------------------------------- |
836 #------------------------------------------------------------------------------- |
836 # Group of graphic elements |
837 # Group of graphic elements |
837 #------------------------------------------------------------------------------- |
838 #------------------------------------------------------------------------------- |
2608 dc.DrawCircle(self.Points[-1].x, self.Points[-1].y, POINT_RADIUS) |
2609 dc.DrawCircle(self.Points[-1].x, self.Points[-1].y, POINT_RADIUS) |
2609 # Draw the wire lines and the last point (it seems that DrawLines stop before the last point) |
2610 # Draw the wire lines and the last point (it seems that DrawLines stop before the last point) |
2610 dc.DrawLines(self.Points) |
2611 dc.DrawLines(self.Points) |
2611 dc.DrawPoint(self.Points[-1].x, self.Points[-1].y) |
2612 dc.DrawPoint(self.Points[-1].x, self.Points[-1].y) |
2612 # Draw the segment selected in red |
2613 # Draw the segment selected in red |
2613 if self.SelectedSegment is not None: |
2614 if not getattr(dc, "printing", False) and self.SelectedSegment is not None: |
2614 dc.SetPen(wx.RED_PEN) |
2615 dc.SetPen(wx.RED_PEN) |
2615 dc.DrawLine(self.Points[self.SelectedSegment].x, self.Points[self.SelectedSegment].y, |
2616 dc.DrawLine(self.Points[self.SelectedSegment].x, self.Points[self.SelectedSegment].y, |
2616 self.Points[self.SelectedSegment + 1].x, self.Points[self.SelectedSegment + 1].y) |
2617 self.Points[self.SelectedSegment + 1].x, self.Points[self.SelectedSegment + 1].y) |
2617 if self.SelectedSegment == len(self.Segments) - 1: |
2618 if self.SelectedSegment == len(self.Segments) - 1: |
2618 dc.DrawPoint(self.Points[-1].x, self.Points[-1].y) |
2619 dc.DrawPoint(self.Points[-1].x, self.Points[-1].y) |