From 60a5e47fb861d8b52021526b5097d199b91ffc16 Mon Sep 17 00:00:00 2001 From: Andreas Butti Date: Sun, 23 Dec 2018 19:34:22 +0100 Subject: [PATCH 1/2] Remove global var --- src/control/Control.cpp | 4 ---- src/control/jobs/RenderJob.cpp | 5 ++++- src/gui/Cursor.cpp | 3 --- src/view/DocumentView.cpp | 16 +++++++++++++--- src/view/DocumentView.h | 6 ++++++ 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/control/Control.cpp b/src/control/Control.cpp index 4191de36..1c7edffa 100644 --- a/src/control/Control.cpp +++ b/src/control/Control.cpp @@ -6,9 +6,6 @@ #include "gui/Cursor.h" -// TODO Remove -extern int currentToolType; - #include "gui/dialog/AboutDialog.h" #include "gui/dialog/GotoDialog.h" #include "gui/dialog/FormatDialog.h" @@ -1635,7 +1632,6 @@ void Control::selectTool(ToolType type) { XOJ_CHECK_TYPE(Control); - currentToolType = type; toolHandler->selectTool(type); if (win) diff --git a/src/control/jobs/RenderJob.cpp b/src/control/jobs/RenderJob.cpp index c2a44367..8964cc24 100644 --- a/src/control/jobs/RenderJob.cpp +++ b/src/control/jobs/RenderJob.cpp @@ -1,6 +1,7 @@ #include "RenderJob.h" -#include "RenderJob.h" +#include "control/Control.h" +#include "control/ToolHandler.h" #include "gui/PageView.h" #include "gui/XournalView.h" #include "model/Document.h" @@ -58,6 +59,8 @@ void RenderJob::rerenderRectangle(Rectangle* rect) cairo_scale(crRect, zoom, zoom); DocumentView v; + Control* control = view->getXournal()->getControl(); + v.setMarkAudioStroke(control->getToolHandler()->getToolType() == TOOL_PLAY_OBJECT); v.limitArea(rect->x, rect->y, rect->width, rect->height); if (view->page->getBackgroundType().isPdfPage()) diff --git a/src/gui/Cursor.cpp b/src/gui/Cursor.cpp index 602f06d1..02e03a62 100644 --- a/src/gui/Cursor.cpp +++ b/src/gui/Cursor.cpp @@ -5,8 +5,6 @@ #include #include -int currentToolType; - #include Cursor::Cursor(Control* control) @@ -150,7 +148,6 @@ void Cursor::updateCursor() { ToolHandler* handler = control->getToolHandler(); ToolType type = handler->getToolType(); - currentToolType = type; if (type == TOOL_HAND) { diff --git a/src/view/DocumentView.cpp b/src/view/DocumentView.cpp index 6c810629..66e0990e 100644 --- a/src/view/DocumentView.cpp +++ b/src/view/DocumentView.cpp @@ -3,8 +3,6 @@ #include "TextView.h" #include "gui/Cursor.h" -extern int currentToolType; - #include "background/MainBackgroundPainter.h" #include "control/tools/EditSelection.h" #include "control/tools/Selection.h" @@ -40,6 +38,8 @@ DocumentView::DocumentView() this->dontRenderEditingStroke = 0; this->backgroundPainter = new MainBackgroundPainter(); + + this->markAudioStroke = false; } DocumentView::~DocumentView() @@ -50,6 +50,16 @@ DocumentView::~DocumentView() XOJ_RELEASE_TYPE(DocumentView); } +/** + * Mark stroke with Audio + */ +void DocumentView::setMarkAudioStroke(bool markAudioStroke) +{ + XOJ_CHECK_TYPE(DocumentView); + + this->markAudioStroke = markAudioStroke; +} + void DocumentView::applyColor(cairo_t* cr, Stroke* s) { if (s->getToolType() == STROKE_TOOL_HIGHLIGHTER) @@ -101,7 +111,7 @@ void DocumentView::drawStroke(cairo_t* cr, Stroke* s, int startPoint, double sca if (changeSource) { if (s->getToolType() == STROKE_TOOL_HIGHLIGHTER || - (s->getAudioFilename().length() == 0 && currentToolType == TOOL_PLAY_OBJECT)) + (s->getAudioFilename().length() == 0 && this->markAudioStroke)) { cairo_set_operator(cr, CAIRO_OPERATOR_OVER); // Set the color diff --git a/src/view/DocumentView.h b/src/view/DocumentView.h index 93e81c1e..ebed2177 100644 --- a/src/view/DocumentView.h +++ b/src/view/DocumentView.h @@ -57,6 +57,11 @@ public: void drawSelection(cairo_t* cr, ElementContainer* container); + /** + * Mark stroke with Audio + */ + void setMarkAudioStroke(bool markAudioStroke); + // API for special drawing, usually you won't call this methods public: /** @@ -101,6 +106,7 @@ private: double width; double height; bool dontRenderEditingStroke; + bool markAudioStroke; double lX; double lY; From 4310485483eee9f5d4ef15ad897a232c6c9d3871 Mon Sep 17 00:00:00 2001 From: Andreas Butti Date: Sun, 23 Dec 2018 19:55:27 +0100 Subject: [PATCH 2/2] Fixed global var --- src/control/jobs/RenderJob.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/control/jobs/RenderJob.cpp b/src/control/jobs/RenderJob.cpp index 8964cc24..53ddb2b8 100644 --- a/src/control/jobs/RenderJob.cpp +++ b/src/control/jobs/RenderJob.cpp @@ -130,7 +130,9 @@ void RenderJob::run() popplerPage = doc->getPdfPage(pgNo); } + Control* control = view->getXournal()->getControl(); DocumentView view; + view.setMarkAudioStroke(control->getToolHandler()->getToolType() == TOOL_PLAY_OBJECT); int width = this->view->page->getWidth(); int height = this->view->page->getHeight();