[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [Calligra] 45cf86d: KisRulerAssistantTool: track perspective grids in
From: Geoffry Song <goffrie () gmail ! com>
Date: 2010-12-31 23:27:35
Message-ID: 20101231232735.17FE9A60B4 () git ! kde ! org
[Download RAW message or body]
commit 45cf86d07f90f2901315355d5ec678db395c000f
branch master
Author: Geoffry Song <goffrie@gmail.com>
Date: Fri Dec 31 12:23:02 2010 -0500
KisRulerAssistantTool: track perspective grids in KisCanvasResourceProvider
diff --git a/krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.cc \
b/krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.cc index \
23b15a9..fb48961 100644
--- a/krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.cc
+++ b/krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.cc
@@ -33,10 +33,12 @@
#include <KoPointerEvent.h>
#include <canvas/kis_canvas2.h>
+#include <kis_canvas_resource_provider.h>
#include <kis_cursor.h>
#include <kis_image.h>
#include <kis_view2.h>
+#include <kis_abstract_perspective_grid.h>
#include <kis_painting_assistants_manager.h>
KisRulerAssistantTool::KisRulerAssistantTool(KoCanvasBase * canvas)
@@ -89,9 +91,7 @@ void KisRulerAssistantTool::mousePressEvent(KoPointerEvent *event)
if (m_newAssistant) {
*m_newAssistant->handles().back() = event->point;
if (m_newAssistant->handles().size() == m_newAssistant->numHandles()) {
- m_canvas->view()->paintingAssistantManager()->addAssistant(m_newAssistant);
- m_handles = m_canvas->view()->paintingAssistantManager()->handles();
- m_newAssistant = 0;
+ addAssistant();
} else {
m_newAssistant->addHandle(new \
KisPaintingAssistantHandle(event->point)); }
@@ -131,8 +131,7 @@ void KisRulerAssistantTool::mousePressEvent(KoPointerEvent \
*event) return;
}
if (deleteRect.contains(mousePos)) {
- m_canvas->view()->paintingAssistantManager()->removeAssistant(assistant);
- m_handles = m_canvas->view()->paintingAssistantManager()->handles();
+ removeAssistant(assistant);
m_canvas->updateCanvas();
return;
}
@@ -145,8 +144,7 @@ void KisRulerAssistantTool::mousePressEvent(KoPointerEvent \
*event)
m_newAssistant = \
KisPaintingAssistantFactoryRegistry::instance()->get(key)->paintingAssistant(imageArea);
m_newAssistant->addHandle(new KisPaintingAssistantHandle(event->point));
if (m_newAssistant->numHandles() <= 1) {
- m_canvas->view()->paintingAssistantManager()->addAssistant(m_newAssistant);
- m_handles = m_canvas->view()->paintingAssistantManager()->handles();
+ addAssistant();
} else {
m_newAssistant->addHandle(new KisPaintingAssistantHandle(event->point));
}
@@ -157,6 +155,29 @@ void KisRulerAssistantTool::mousePressEvent(KoPointerEvent \
*event) }
+void KisRulerAssistantTool::addAssistant()
+{
+ m_canvas->view()->paintingAssistantManager()->addAssistant(m_newAssistant);
+ m_handles = m_canvas->view()->paintingAssistantManager()->handles();
+ KisAbstractPerspectiveGrid* grid = \
dynamic_cast<KisAbstractPerspectiveGrid*>(m_newAssistant); + if (grid) {
+ m_canvas->view()->resourceProvider()->addPerspectiveGrid(grid);
+ }
+ m_newAssistant = 0;
+}
+
+
+void KisRulerAssistantTool::removeAssistant(KisPaintingAssistant* assistant)
+{
+ KisAbstractPerspectiveGrid* grid = \
dynamic_cast<KisAbstractPerspectiveGrid*>(assistant); + if (grid) {
+ m_canvas->view()->resourceProvider()->removePerspectiveGrid(grid);
+ }
+ m_canvas->view()->paintingAssistantManager()->removeAssistant(assistant);
+ m_handles = m_canvas->view()->paintingAssistantManager()->handles();
+}
+
+
void KisRulerAssistantTool::mouseMoveEvent(KoPointerEvent *event)
{
if (m_newAssistant) {
diff --git a/krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.h \
b/krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.h index \
84e5cca..12f0335 100644
--- a/krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.h
+++ b/krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.h
@@ -43,6 +43,9 @@ public:
virtual void mouseReleaseEvent(KoPointerEvent *event);
virtual QWidget *createOptionWidget();
+private:
+ void addAssistant();
+ void removeAssistant(KisPaintingAssistant *assistant);
public slots:
virtual void activate(ToolActivation toolActivation, const QSet<KoShape*> \
&shapes); void deactivate();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic