MiRCARTToolLine.py: honour brush size.

This commit is contained in:
Lucio Andrés Illanes Albornoz 2018-01-10 04:44:13 +01:00
parent e157f479ce
commit 3fa377791a

View File

@ -39,8 +39,8 @@ class MiRCARTToolLine(MiRCARTTool):
def _pointSwap(self, a, b): def _pointSwap(self, a, b):
return [b, a] return [b, a]
# }}} # }}}
# {{{ _getLine(self, brushColours, eventDc, isCursor, originPoint, targetPoint, dispatchFn): XXX # {{{ _getLine(self, brushColours, brushSize, eventDc, isCursor, originPoint, targetPoint, dispatchFn): XXX
def _getLine(self, brushColours, eventDc, isCursor, originPoint, targetPoint, dispatchFn): def _getLine(self, brushColours, brushSize, eventDc, isCursor, originPoint, targetPoint, dispatchFn):
originPoint = originPoint.copy(); targetPoint = targetPoint.copy(); originPoint = originPoint.copy(); targetPoint = targetPoint.copy();
pointDelta = self._pointDelta(originPoint, targetPoint) pointDelta = self._pointDelta(originPoint, targetPoint)
lineXSign = 1 if pointDelta[0] > 0 else -1; lineXSign = 1 if pointDelta[0] > 0 else -1;
@ -53,8 +53,9 @@ class MiRCARTToolLine(MiRCARTTool):
lineXX, lineXY, lineYX, lineYY = 0, lineYSign, lineXSign, 0 lineXX, lineXY, lineYX, lineYY = 0, lineYSign, lineXSign, 0
lineD = 2 * pointDelta[1] - pointDelta[0]; lineY = 0; lineD = 2 * pointDelta[1] - pointDelta[0]; lineY = 0;
for lineX in range(pointDelta[0] + 1): for lineX in range(pointDelta[0] + 1):
for brushStep in range(brushSize[0]):
patch = [[ \ patch = [[ \
originPoint[0] + lineX*lineXX + lineY*lineYX, \ originPoint[0] + lineX*lineXX + lineY*lineYX + brushStep, \
originPoint[1] + lineX*lineXY + lineY*lineYY], \ originPoint[1] + lineX*lineXY + lineY*lineYY], \
brushColours, 0, " "] brushColours, 0, " "]
if isCursor: if isCursor:
@ -84,8 +85,8 @@ class MiRCARTToolLine(MiRCARTTool):
elif self.toolState == self.TS_ORIGIN: elif self.toolState == self.TS_ORIGIN:
targetPoint = list(atPoint) targetPoint = list(atPoint)
originPoint = self.toolOriginPoint originPoint = self.toolOriginPoint
self._getLine(brushColours, eventDc, \ self._getLine(brushColours, brushSize, \
isLeftDown or isRightDown, \ eventDc, isLeftDown or isRightDown, \
originPoint, targetPoint, dispatchFn) originPoint, targetPoint, dispatchFn)
if isLeftDown or isRightDown: if isLeftDown or isRightDown:
self.toolState = self.TS_NONE self.toolState = self.TS_NONE