From 517b1ac4cbfb8537eac50506ddf7734f4ba78516 Mon Sep 17 00:00:00 2001 From: phytolithDui Date: Mon, 14 Jun 2021 23:53:29 +0900 Subject: [PATCH] Fixes Font Size and Precision settings issue for Measure tool (#2420)(cherry-pick !3338) Fixes Font Size and Precision settings issue for Measure tool [#2420](https://gitlab.com/inkscape/inkscape/-/issues/2420) . The Font Size setting wasn't functional because it wasn't reflected on the Inkscape::CanvasItemBuffer object's context(buf->cr) where actual rendering is done. The Precision was fixed to 2. --- src/display/control/canvas-item-text.cpp | 1 + src/ui/tools/measure-tool.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/display/control/canvas-item-text.cpp b/src/display/control/canvas-item-text.cpp index f2d1220b03..5536950a29 100644 --- a/src/display/control/canvas-item-text.cpp +++ b/src/display/control/canvas-item-text.cpp @@ -190,6 +190,7 @@ void CanvasItemText::render(Inkscape::CanvasItemBuffer *buf) // Text buf->cr->move_to(p.x(), p.y()); + buf->cr->set_font_size(_fontsize); buf->cr->text_path(_text); buf->cr->set_source_rgba(SP_RGBA32_R_F(_fill), SP_RGBA32_G_F(_fill), SP_RGBA32_B_F(_fill), SP_RGBA32_A_F(_fill)); diff --git a/src/ui/tools/measure-tool.cpp b/src/ui/tools/measure-tool.cpp index b2be47b27b..c6eebb65e2 100644 --- a/src/ui/tools/measure-tool.cpp +++ b/src/ui/tools/measure-tool.cpp @@ -1053,7 +1053,7 @@ void MeasureTool::setMeasureCanvasText(bool is_angle, double precision, double a { SPDesktop *desktop = SP_ACTIVE_DESKTOP; - Glib::ustring measure = Glib::ustring::format(std::setprecision(2), std::fixed, amount); + Glib::ustring measure = Glib::ustring::format(std::setprecision(precision), std::fixed, amount); measure += " "; measure += (is_angle ? "°" : unit_name); auto canvas_tooltip = new Inkscape::CanvasItemText(desktop->getCanvasTemp(), position, measure); -- GitLab