示例#1
0
void ColorTableCreator::undo()
{
    if (brushStrokes.empty())
        return;

    BrushStroke reverseStroke = brushStrokes.back().invert();
    paintStroke(reverseStroke);
    brushStrokes.pop_back();
}
示例#2
0
void xsCanvasContext::stroke()
{
	xsGraphics *gc = xsGetSystemGc();
	paintStroke(gc);
	xsRect 	clientRect;
	if(xsGetClientRect(&clientRect))
	{
		xsFlushScreen(clientRect.left, clientRect.top, clientRect.right, clientRect.bottom);
	}
}
示例#3
0
void
EraserTool::mouseReleaseEvent(QMouseEvent *event, PaintCanvas *canvas) {
  if(!canvas->isPainting())
    return;
  if(event->button() == Qt::LeftButton) {
    mEndPoint = event->posF();
    strokeEnd();
    canvas->setEditImage(mImageCopy);
    QImage strokeImage = paintStroke(canvas);
    canvas->setIsPainting(false);
    canvas->setFrameImage(strokeImage);
  }
}
示例#4
0
void ColorTableCreator::canvasClicked(int x, int y, int brushSize, bool leftClick)
{
    BrushStroke brushStroke(x, y, (image::Color::ColorID) currentColor, brushSize, leftClick);
    brushStrokes.push_back(brushStroke);
    paintStroke(brushStroke);
}