29 : QWidget(parent), d(new
Private)
33 d->scratchpad->setMinimumSize(50, 50);
35 QVBoxLayout *layout =
new QVBoxLayout(
this);
36 layout->addWidget(
d->scratchpad);
54 d->scratchpad->setModeManually(
value);
59 d->scratchpad->setModeType(modeType);
64 qWarning(
"[DEPRECATED] Use Scratchpad.setCanvasZoomLink() instead of Scratchpad.linkCanvasZoom()");
65 d->scratchpad->setCanvasZoomLink(
value);
70 d->scratchpad->setCanvasZoomLink(
value);
75 return d->scratchpad->canvasZoomLink();
81 return d->scratchpad->scaleX();
86 if (
d->scratchpad->canvasZoomLink()) {
95 if (
d->scratchpad->canvasZoomLink()) {
99 d->scratchpad->scaleToFit();
104 if (
d->scratchpad->canvasZoomLink()) {
108 d->scratchpad->scaleReset();
113 d->scratchpad->panTo(x, y);
118 d->scratchpad->panCenter();
123 d->scratchpad->loadScratchpadImage(image);
128 return d->scratchpad->copyScratchpadImageData();
134 d->scratchpad->fillDefault();
139 d->scratchpad->setFillColor(color);
144 d->scratchpad->fillDefault();
149 d->scratchpad->fillTransparent();
154 d->scratchpad->fillBackground();
159 d->scratchpad->fillForeground();
163 const QPoint &gradientVectorEnd,
164 const QString &gradientShape,
165 const QString &gradientRepeat,
166 bool reverseGradient,
172 if (gradientShape !=
"linear") {
173 if (gradientShape ==
"bilinear") {
175 }
else if ( gradientShape ==
"radial") {
177 }
else if ( gradientShape ==
"square") {
179 }
else if ( gradientShape ==
"conical") {
181 }
else if ( gradientShape ==
"conicalSymmetric") {
183 }
else if ( gradientShape ==
"spiral") {
185 }
else if ( gradientShape ==
"reverseSpiral") {
187 }
else if ( gradientShape ==
"polygonal") {
192 if (gradientRepeat !=
"none") {
193 if (gradientRepeat ==
"alternate") {
195 }
else if (gradientRepeat ==
"forwards") {
199 d->scratchpad->fillGradient(gradientVectorStart, gradientVectorEnd, gradientShapeValue, gradientRepeatValue, reverseGradient, dither);
204 d->scratchpad->fillLayer(fullContent);
209 d->scratchpad->fillDocument(fullContent);
214 d->scratchpad->fillPattern(transform);
219 return d->scratchpad->imageBounds();
224 return d->scratchpad->contentBounds();
float value(const T *src, size_t ch)
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisCanvasResourceProvider * resourceProvider() const
void contentChanged()
signal is emitted when scratchpad content is changed (stroke or fill)
void fillBackground()
Fill the entire scratchpad with current background color.
void scaleChanged(qreal scale)
signal is emitted when scratchpad scale is changed (from zoom canvas or manually)
void fillLayer(bool fullContent=true)
Fill the entire scratchpad with current layer content.
void viewportChanged(const QRect rect)
signal is emitted when scratchpad viewport has been modified (pan, zoom)
QRect contentBounds() const
The content of scratchpad can be bigger or smaller than scratchpad dimension. The bounds return the a...
void fillPattern(QTransform transform=QTransform())
Fill the entire scratchpad with current pattern.
void fillTransparent()
Fill the entire scratchpad with a transparent color.
void panCenter()
pan scratchpad content to center content in viewport
QImage copyScratchpadImageData()
Take what is on the scratchpad area and grab image.
void scaleReset()
reset scale and pan to origin Note: call method is ignored if canvasZoomLink() is True
void setModeManually(bool value)
Switches between a GUI controlling the current mode and when mouse clicks control mode.
qreal scale()
return current zoom level applied on scratchpad (whatever the zoom source is: view zoom level or set ...
void fillDefault()
Fill the entire scratchpad with default color.
void linkCanvasZoom(bool value)
DEPRECATED – USE setCanvasZoomLink() instead Makes a connection between the zoom of the canvas and sc...
void setFillColor(QColor color)
Define default fill color for scratchpad.
void scaleToFit()
calculate scale automatically to fit scratchpad content in scratchpad viewport Note: call method is i...
void fillGradient(const QPoint &gradientVectorStart=QPoint(), const QPoint &gradientVectorEnd=QPoint(), const QString &gradientShape="linear", const QString &gradientRepeat="none", bool reverseGradient=false, bool dither=false)
Fill the entire scratchpad with current gradient.
void setCanvasZoomLink(bool value)
Makes a connection between the zoom of the canvas and scratchpad area so they zoom in sync.
void panTo(qint32 x, qint32 y)
pan scratchpad content to top-left position of scratchpad viewport Provided value are absolute
QRect viewportBounds() const
The viewport indicates which part of scratchpad content is visible. It takes in account the current t...
void fillDocument(bool fullContent=true)
Fill the entire scratchpad with current document projection content.
void fillForeground()
Fill the entire scratchpad with current foreground color.
void setMode(QString modeName)
Manually set what mode scratchpad is in. Ignored if "setModeManually is set to false.
Scratchpad(View *view, const QColor &defaultColor, QWidget *parent=0)
const QScopedPointer< Private > d
void clear()
Clears out scratchpad with color specified set during setup.
bool canvasZoomLink()
return if scratchpad zoom level is linked with current view zoom level
bool setScale(qreal scale) const
allow to manually set scratchpad zoom level Note: call method is ignored if canvasZoomLink() is True,
void loadScratchpadImage(QImage image)
Load image data to the scratchpad.
@ GradientShapeReverseSpiral
@ GradientShapeConicalSymetric
@ GradientRepeatAlternate
KisScratchPad * scratchpad