summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/canvas/prefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/widget/canvas/prefs.h')
-rw-r--r--src/ui/widget/canvas/prefs.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/src/ui/widget/canvas/prefs.h b/src/ui/widget/canvas/prefs.h
new file mode 100644
index 0000000..363fb6d
--- /dev/null
+++ b/src/ui/widget/canvas/prefs.h
@@ -0,0 +1,102 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#ifndef INKSCAPE_UI_WIDGET_CANVAS_PREFS_H
+#define INKSCAPE_UI_WIDGET_CANVAS_PREFS_H
+
+#include "preferences.h"
+
+namespace Inkscape::UI::Widget {
+
+class Prefs
+{
+public:
+ Prefs()
+ {
+ devmode.action = [this] { set_devmode(devmode); };
+ devmode.action();
+ }
+
+ // Main preferences
+ Pref<int> xray_radius = { "/options/rendering/xray-radius", 100, 1, 1500 };
+ Pref<int> outline_overlay_opacity = { "/options/rendering/outline-overlay-opacity", 50, 0, 100 };
+ Pref<int> update_strategy = { "/options/rendering/update_strategy", 3, 1, 3 };
+ Pref<bool> request_opengl = { "/options/rendering/request_opengl" };
+ Pref<int> grabsize = { "/options/grabsize/value", 3, 1, 15 };
+ Pref<int> numthreads = { "/options/threading/numthreads", 0, 1, 256 };
+
+ // Colour management
+ Pref<bool> from_display = { "/options/displayprofile/from_display" };
+ Pref<void> displayprofile = { "/options/displayprofile" };
+ Pref<void> softproof = { "/options/softproof" };
+
+ // Auto-scrolling
+ Pref<int> autoscrolldistance = { "/options/autoscrolldistance/value", 0, -1000, 10000 };
+ Pref<double> autoscrollspeed = { "/options/autoscrollspeed/value", 1.0, 0.0, 10.0 };
+
+ // Devmode preferences
+ Pref<int> tile_size = { "/options/rendering/tile_size", 300, 1, 10000 };
+ Pref<int> render_time_limit = { "/options/rendering/render_time_limit", 80, 1, 5000 };
+ Pref<bool> block_updates = { "/options/rendering/block_updates", true };
+ Pref<int> pixelstreamer_method = { "/options/rendering/pixelstreamer_method", 1, 1, 4 };
+ Pref<int> padding = { "/options/rendering/padding", 350, 0, 1000 };
+ Pref<int> prerender = { "/options/rendering/prerender", 100, 0, 1000 };
+ Pref<int> preempt = { "/options/rendering/preempt", 250, 0, 1000 };
+ Pref<int> coarsener_min_size = { "/options/rendering/coarsener_min_size", 200, 0, 1000 };
+ Pref<int> coarsener_glue_size = { "/options/rendering/coarsener_glue_size", 80, 0, 1000 };
+ Pref<double> coarsener_min_fullness = { "/options/rendering/coarsener_min_fullness", 0.3, 0.0, 1.0 };
+
+ // Debug switches
+ Pref<bool> debug_framecheck = { "/options/rendering/debug_framecheck" };
+ Pref<bool> debug_logging = { "/options/rendering/debug_logging" };
+ Pref<bool> debug_delay_redraw = { "/options/rendering/debug_delay_redraw" };
+ Pref<int> debug_delay_redraw_time = { "/options/rendering/debug_delay_redraw_time", 50, 0, 1000000 };
+ Pref<bool> debug_show_redraw = { "/options/rendering/debug_show_redraw" };
+ Pref<bool> debug_show_unclean = { "/options/rendering/debug_show_unclean" }; // no longer implemented
+ Pref<bool> debug_show_snapshot = { "/options/rendering/debug_show_snapshot" };
+ Pref<bool> debug_show_clean = { "/options/rendering/debug_show_clean" }; // no longer implemented
+ Pref<bool> debug_disable_redraw = { "/options/rendering/debug_disable_redraw" };
+ Pref<bool> debug_sticky_decoupled = { "/options/rendering/debug_sticky_decoupled" };
+ Pref<bool> debug_animate = { "/options/rendering/debug_animate" };
+
+private:
+ // Developer mode
+ Pref<bool> devmode = { "/options/rendering/devmode" };
+
+ void set_devmode(bool on)
+ {
+ tile_size.set_enabled(on);
+ render_time_limit.set_enabled(on);
+ pixelstreamer_method.set_enabled(on);
+ padding.set_enabled(on);
+ prerender.set_enabled(on);
+ preempt.set_enabled(on);
+ coarsener_min_size.set_enabled(on);
+ coarsener_glue_size.set_enabled(on);
+ coarsener_min_fullness.set_enabled(on);
+ debug_framecheck.set_enabled(on);
+ debug_logging.set_enabled(on);
+ debug_delay_redraw.set_enabled(on);
+ debug_delay_redraw_time.set_enabled(on);
+ debug_show_redraw.set_enabled(on);
+ debug_show_unclean.set_enabled(on);
+ debug_show_snapshot.set_enabled(on);
+ debug_show_clean.set_enabled(on);
+ debug_disable_redraw.set_enabled(on);
+ debug_sticky_decoupled.set_enabled(on);
+ debug_animate.set_enabled(on);
+ }
+};
+
+} // namespace Inkscape::UI::Widget
+
+#endif // INKSCAPE_UI_WIDGET_CANVAS_PREFS_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 :