8#include <QScopedPointer>
11#include <KoAbstractGradient.h>
12#include <kis_paintop_preset.h>
14#include <KisViewManager.h>
15#include <kis_node_manager.h>
16#include <kis_selection_manager.h>
17#include <kis_canvas_resource_provider.h>
18#include <kis_exposure_gamma_correction_interface.h>
19#include <kis_paintop_box.h>
20#include <KisMainWindow.h>
21#include <KoCanvasBase.h>
22#include <kis_canvas2.h>
23#include <KisResourceTypes.h>
24#include <KisDocument.h>
29#include "ManagedColor.h"
31#include "LibKisUtils.h"
39View::View(KisView* view,
QObject *parent)
51bool View::operator==(
const View &other)
const
53 return (d->view ==
other.d->view);
56bool View::operator!=(
const View &other)
const
58 return !(operator==(
other));
63 if (!d->view)
return 0;
72 if (!d->view)
return 0;
80 d->view = d->view->replaceBy(
document->document());
85 if (!d->view)
return false;
86 return d->view->isVisible();
93 mainwin->setActiveView(d->view);
99 if (!d->view)
return 0;
111 if (!d->view)
return;
112 if (!resource)
return;
119 d->view->canvasBase()->resourceManager()->setResource(KoCanvasResource::CurrentPattern, value);
122 d->view->canvasBase()->resourceManager()->setResource(KoCanvasResource::CurrentGradient, value);
124 d->view->viewManager()->paintOpBox()->resourceSelected(preset);
131 if (!d->view)
return 0;
132 return new ManagedColor(d->view->resourceProvider()->fgColor());
137 if (!d->view)
return;
138 d->view->resourceProvider()->setFGColor(color->color());
143 if (!d->view)
return 0;
144 return new ManagedColor(d->view->resourceProvider()->bgColor());
149 if (!d->view)
return;
150 d->view->resourceProvider()->setBGColor(color->color());
153Resource *View::currentBrushPreset()
const
155 if (!d->view)
return 0;
156 return new Resource(d->view->resourceProvider()->currentPreset(), ResourceType::PaintOpPresets);
159void View::setCurrentBrushPreset(
Resource *resource)
164Resource *View::currentPattern()
const
166 if (!d->view)
return 0;
167 return new Resource(d->view->resourceProvider()->currentPattern(), ResourceType::Patterns);
170void View::setCurrentPattern(
Resource *resource)
175Resource *View::currentGradient()
const
177 if (!d->view)
return 0;
178 return new Resource(d->view->resourceProvider()->currentGradient(), ResourceType::Gradients);
181void View::setCurrentGradient(
Resource *resource)
186QString View::currentBlendingMode()
const
188 if (!d->view)
return "";
189 return d->view->resourceProvider()->currentCompositeOp();
192void View::setCurrentBlendingMode(
const QString &blendingMode)
194 if (!d->view)
return;
195 d->view->resourceProvider()->setCurrentCompositeOp(blendingMode);
198float View::HDRExposure()
const
200 if (!d->view)
return 0.0;
202 return iface->currentExposure();
205void View::setHDRExposure(
float exposure)
207 if (!d->view)
return;
209 iface->setCurrentExposure(exposure);
212float View::HDRGamma()
const
214 if (!d->view)
return 0.0;
216 return iface->currentGamma();
219void View::setHDRGamma(
float gamma)
221 if (!d->view)
return;
223 return iface->setCurrentGamma(gamma);
226qreal View::paintingOpacity()
const
228 if (!d->view)
return 0.0;
229 return d->view->resourceProvider()->opacity();
232void View::setPaintingOpacity(qreal opacity)
234 if (!d->view)
return;
235 d->view->resourceProvider()->setOpacity(opacity);
238qreal View::brushSize()
const
240 if (!d->view)
return 0.0;
241 return d->view->resourceProvider()->size();
244void View::setBrushSize(qreal brushSize)
246 if (!d->view)
return;
247 d->view->resourceProvider()->setSize(brushSize);
250qreal View::brushRotation()
const
252 if (!d->view)
return 0.0;
253 return d->view->resourceProvider()->brushRotation();
256void View::setBrushRotation(qreal brushRotation)
258 if (!d->view)
return;
259 d->view->resourceProvider()->setBrushRotation(brushRotation);
262qreal View::paintingFlow()
const
264 if (!d->view)
return 0.0;
265 return d->view->resourceProvider()->flow();
268void View::setPaintingFlow(qreal flow)
270 if (!d->view)
return;
271 d->view->resourceProvider()->setFlow(flow);
278 if (!d->view->viewManager()->nodeManager())
return QList<Node *>();
281 return LibKisUtils::createNodeList(
selectedNodes, d->view->image());
286 if (!d->view)
return;
288 KisFloatingMessage::Priority p;
289 p =
static_cast<KisFloatingMessage::Priority
>(priority);
291 d->view->showFloatingMessage(message, icon, timeout, p);
296 if (!d->view->document())
return QTransform();
297 return d->view->canvasBase()->coordinatesConverter()->documentToFlakeTransform().inverted();
302 if (!d->view->document())
return QTransform();
303 return d->view->canvasBase()->coordinatesConverter()->flakeToWidgetTransform();
308 if (!d->view->document())
return QTransform();
Canvas wraps the canvas inside a view on an image/document.
The Document class encapsulates a Krita Document/Image.
The ManagedColor class is a class to handle colors that are color managed.
A Resource represents a gradient, pattern, brush tip, brush preset, palette or workspace definition.
View represents one view on a document.
void setDocument(Document *document)
Reset the view to show document.
ManagedColor * foregroundColor() const
QTransform flakeToCanvasTransform() const
flakeToCanvasTransform The transformation of the canvas relative to the view without rotation and mir...
void showFloatingMessage(const QString &message, const QIcon &icon, int timeout, int priority)
showFloatingMessage displays a floating message box on the top-left corner of the canvas
QTransform flakeToImageTransform() const
flakeToImageTransform The transformation of the image relative to the view without rotation and mirro...
void activateResource(Resource *resource)
activateResource activates the given resource.
QList< Node * > selectedNodes() const
QTransform flakeToDocumentTransform() const
flakeToDocumentTransform The transformation of the document relative to the view without rotation and...
void setVisible()
Make the current view visible.
Document * document() const
Window represents one Krita mainwindow.
T qobject_cast(QObject *object)
QVariant fromValue(T &&value)