From 200726cb2182405508b47855ac25e8c2dc937781 Mon Sep 17 00:00:00 2001 From: Luca Errani Date: Sun, 17 Feb 2019 17:49:57 +0100 Subject: [PATCH] Update eraser's cursor's size on zoom change --- src/.vscode/c_cpp_properties.json | 3 ++- src/gui/Cursor.cpp | 2 +- src/gui/XournalView.cpp | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/.vscode/c_cpp_properties.json b/src/.vscode/c_cpp_properties.json index 98bc8a12..52c52872 100644 --- a/src/.vscode/c_cpp_properties.json +++ b/src/.vscode/c_cpp_properties.json @@ -6,7 +6,8 @@ "${workspaceFolder}/**", "/usr/include/libglade-2.0", "/usr/include/glib-2.0", - "/usr/include/gtk-2.0" + "/usr/include/gtk-2.0", + "/usr/include/gtk-3.0" ], "defines": [], "compilerPath": "/usr/bin/gcc", diff --git a/src/gui/Cursor.cpp b/src/gui/Cursor.cpp index 0271d17d..97d1b7a5 100644 --- a/src/gui/Cursor.cpp +++ b/src/gui/Cursor.cpp @@ -269,7 +269,7 @@ void Cursor::updateCursor() GdkCursor* Cursor::getEraserCursor() { // Eraser's size follow a quadratic increment, so the cursor will do the same - double cursorSize = control->getToolHandler()->getThickness() * 7; + double cursorSize = control->getToolHandler()->getThickness() * 2 * control->getZoomControl()->getZoom(); cairo_surface_t* surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, cursorSize, diff --git a/src/gui/XournalView.cpp b/src/gui/XournalView.cpp index 4e9cbc1a..ab610f5d 100644 --- a/src/gui/XournalView.cpp +++ b/src/gui/XournalView.cpp @@ -638,6 +638,9 @@ void XournalView::zoomChanged() control->getMetadataManager()->storeMetadata(file.str(), getCurrentPage(), getZoom()); + // Updates the Eraser's cursor icon in order to make it as big as the erasing area + control->getCursor()->updateCursor(); + this->control->getScheduler()->blockRerenderZoom(); }