diff --git a/share/extensions b/share/extensions index 0cd6825e7dc0fb607b1f50efddc5fcc148c24ec0..ef8f034234bcd036b91b8eb6b9d754d21656dc4e 160000 --- a/share/extensions +++ b/share/extensions @@ -1 +1 @@ -Subproject commit 0cd6825e7dc0fb607b1f50efddc5fcc148c24ec0 +Subproject commit ef8f034234bcd036b91b8eb6b9d754d21656dc4e diff --git a/src/include/macros.h b/src/include/macros.h index 21ddaff9eeea2312e58a4203eb8b3c5515689d75..dca5d0a0369f1048d99aac35417798dbd68157fe 100644 --- a/src/include/macros.h +++ b/src/include/macros.h @@ -15,12 +15,10 @@ // I'm of the opinion that this file should be removed, so I will in the future take the necessary steps to wipe it out. // Macros are not in general bad, but these particular ones are rather ugly. Especially that sp_round one. --Liam +// Note: sp_round was converted to an inline function --Shlomif #define sp_signal_disconnect_by_data(o,d) g_signal_handlers_disconnect_matched(o, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, d) -#define sp_round(v,m) (((v) < 0.0) ? ((ceil((v) / (m) - 0.5)) * (m)) : ((floor((v) / (m) + 0.5)) * (m))) - - // keyboard modifiers in an event #define MOD__SHIFT(event) ((event)->key.state & GDK_SHIFT_MASK) #define MOD__CTRL(event) ((event)->key.state & GDK_CONTROL_MASK) diff --git a/src/include/sp-round.h b/src/include/sp-round.h new file mode 100644 index 0000000000000000000000000000000000000000..27bda609fe465d11ea84585af4bce304733dd4ca --- /dev/null +++ b/src/include/sp-round.h @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +#ifndef SEEN_SP_ROUND_H +#define SEEN_SP_ROUND_H + +/** + * sp_round inline function + * + * Author: + * Lauris Kaplinski + * + * Copyright (C) 2002 Lauris Kaplinski + * + * Released under GNU GPL v2+, read the file 'COPYING' for more information. + */ + +#include + +static inline double sp_round(const double v, const double m) { + return ((v < 0.0) ? ((ceil(v / m - 0.5)) * m) : ((floor(v / m + 0.5)) * m)); +} + +#endif // SEEN_SP_ROUND_H + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8 : diff --git a/src/knot-holder-entity.cpp b/src/knot-holder-entity.cpp index 75f36089c93c7eaed1acec286b101cf4b2e36728..703b874d675d411eb8a1e9cd6f351c50d305e051 100644 --- a/src/knot-holder-entity.cpp +++ b/src/knot-holder-entity.cpp @@ -30,6 +30,8 @@ #include "object/sp-namedview.h" #include "object/sp-pattern.h" +#include "include/sp-round.h" + int KnotHolderEntity::counter = 0; void KnotHolderEntity::create(SPDesktop *desktop, SPItem *item, KnotHolder *parent, Inkscape::ControlType type, diff --git a/src/ui/shape-editor-knotholders.cpp b/src/ui/shape-editor-knotholders.cpp index 11f32644db87f099d674ad09824c68b7133b3658..6b759ce23fe35052e67d6b7da8ee7d73c4c20a07 100644 --- a/src/ui/shape-editor-knotholders.cpp +++ b/src/ui/shape-editor-knotholders.cpp @@ -33,6 +33,7 @@ #include "object/sp-star.h" #include "object/sp-text.h" #include "style.h" +#include "include/sp-round.h" #include "include/macros.h" diff --git a/src/ui/tools/spiral-tool.cpp b/src/ui/tools/spiral-tool.cpp index dd4a839e4d5311b00c296cbaac7713c9c85bbf8a..e4d94340b4b28c3420eb872ba122396ba0e78ab2 100644 --- a/src/ui/tools/spiral-tool.cpp +++ b/src/ui/tools/spiral-tool.cpp @@ -30,6 +30,7 @@ #include "message-context.h" #include "ui/pixmaps/cursor-spiral.xpm" #include "selection.h" +#include "include/sp-round.h" #include "verbs.h" #include "display/sp-canvas-item.h" diff --git a/src/ui/tools/star-tool.cpp b/src/ui/tools/star-tool.cpp index a6a143ec0c57435a3284c1d572d4a83b8aa3d125..390fda23a957804ec408325a69716e89baeceec2 100644 --- a/src/ui/tools/star-tool.cpp +++ b/src/ui/tools/star-tool.cpp @@ -29,6 +29,7 @@ #include "include/macros.h" #include "message-context.h" #include "selection.h" +#include "include/sp-round.h" #include "verbs.h" #include "display/sp-canvas.h"