def drawStyle(self, painter, x, y, width, height, radius):
        """
        Draws the style for the given coordinates for this node.
        
        :param      x      | <int>
                    y      | <int>
                    width  | <int>
                    height | <int>
                    radius | <int>
        """
        if self.style() == XNode.NodeStyle.Rectangle:
            # no pinch, draw regular
            if sum(self.pinch()) == 0:
                painter.drawRoundedRect(x, y, width, height, radius, radius)
            
            # create a path to draw
            else:
                tl, tr, bl, br = self.pinch()
                path = QPainterPath()
                path.moveTo(x + tl, y)
                path.lineTo(x + width - tr, y)
                path.lineTo(x + width, y + tr)
                path.lineTo(x + width, y + height - br)
                path.lineTo(x + width - br, y + height)
                path.lineTo(x + bl, y + height)
                path.lineTo(x, y + height - bl)
                path.lineTo(x, y + tl)
                path.lineTo(x + tl, y)
                painter.drawPath(path)
        
        # draw the ellipse style
        elif self.style() == XNode.NodeStyle.Ellipse:
            painter.drawEllipse(x, y, width, height)
        
        # draw a pixmap style
        elif self.style() == XNode.NodeStyle.Pixmap:
            pmap = self.pixmap().scaled(width,
                                        height,
                                        Qt.KeepAspectRatio,
                                        Qt.SmoothTransformation)
            painter.drawPixmap(x, y, pmap)