7#include <KoCanvasBase.h>
8#include <kis_canvas2.h>
10#include <KoCanvasController.h>
11#include <kis_canvas_controller.h>
12#include <kis_zoom_manager.h>
15struct Canvas::Private {
17 KisCanvas2 *canvas {0};
20Canvas::Canvas(KoCanvasBase *canvas,
QObject *parent)
24 d->canvas =
static_cast<KisCanvas2*
>(canvas);
33bool Canvas::operator==(
const Canvas &other)
const
35 return (d->canvas == other.d->canvas);
38bool Canvas::operator!=(
const Canvas &other)
const
40 return !(operator==(other));
46 if (!d->canvas)
return 1.0;
47 return d->canvas->imageView()->zoomManager()->zoom();
52 if (!d->canvas)
return;
53 d->canvas->imageView()->zoomController()->setZoom(KoZoomMode::ZOOM_CONSTANT, value);
58 if (!d->canvas)
return;
60 const KisCoordinatesConverter *coordConv = d->canvas->coordinatesConverter();
62 QPointF documentPos = coordConv->imageToDocument(imagePos);
63 QPointF flakePos = coordConv->documentToFlake(documentPos);
65 d->canvas->imageView()->canvasController()->setPreferredCenter(flakePos);
70 if (!d->canvas)
return QPointF();
72 QPointF flakePos = d->canvas->imageView()->canvasController()->preferredCenter();
74 const KisCoordinatesConverter *coordConv = d->canvas->coordinatesConverter();
75 QPointF docPos = coordConv->flakeToDocument(flakePos);
76 QPointF imagePos = coordConv->documentToImage(docPos);
83 d->canvas->imageView()->canvasController()->pan(offset);
88 if (!d->canvas)
return;
89 d->canvas->imageView()->zoomManager()->zoomTo100();
95 if (!d->canvas)
return;
96 d->canvas->imageView()->canvasController()->resetCanvasRotation();
101 if (!d->canvas)
return 0;
102 return d->canvas->imageView()->canvasController()->rotation();
107 if (!d->canvas)
return;
108 d->canvas->imageView()->canvasController()->rotateCanvas(angle -
rotation());
114 if (!d->canvas)
return false;
115 return d->canvas->imageView()->canvasIsMirrored();
120 if (!d->canvas)
return;
121 d->canvas->imageView()->canvasController()->mirrorCanvas(value);
126 if (!d->canvas)
return 0;
131KisDisplayColorConverter *Canvas::displayColorConverter()
const
133 if (!d->canvas)
return 0;
134 return d->canvas->displayColorConverter();
139 if (!d->canvas)
return false;
140 return d->canvas->imageView()->canvasController()->wrapAroundMode();
145 if (!d->canvas)
return;
146 d->canvas->imageView()->canvasController()->slotToggleWrapAroundMode(enable);
151 if (!d->canvas)
return false;
152 return d->canvas->imageView()->canvasController()->levelOfDetailMode();
157 if (!d->canvas)
return;
158 return d->canvas->imageView()->canvasController()->slotToggleLevelOfDetailMode(enable);
161#include "moc_Canvas.cpp"
Canvas wraps the canvas inside a view on an image/document.
void setMirror(bool value)
setMirror turn the canvas mirroring on or off depending on
void setRotation(qreal angle)
setRotation set the rotation of the canvas to the given
QPointF preferredCenter() const
void setWrapAroundMode(bool enable)
setWrapAroundMode set wraparound mode to
bool levelOfDetailMode() const
void setLevelOfDetailMode(bool enable)
setLevelOfDetailMode sets Instant Preview to
void resetRotation()
resetRotation reset the canvas rotation.
bool wrapAroundMode() const
void setZoomLevel(qreal value)
setZoomLevel set the zoomlevel to the given value.
void setPreferredCenter(const QPointF &imagePos)
setPan Centers the image pixel at imagePos in the current view
void pan(const QPoint &offset)
pan the current view in pixels.
void resetZoom()
resetZoom set the zoomlevel to 100%
View represents one view on a document.