// SPDX-License-Identifier: GPL-2.0-or-later #ifndef SEEN_CALLIGRAPHY_TOOLBAR_H #define SEEN_CALLIGRAPHY_TOOLBAR_H /** * @file * Calligraphy aux toolbar */ /* Authors: * MenTaLguY * Lauris Kaplinski * bulia byak * Frank Felfe * John Cliff * David Turner * Josh Andler * Jon A. Cruz * Maximilian Albert * Tavmjong Bah * Abhishek Sharma * Kris De Gussem * * Copyright (C) 2004 David Turner * Copyright (C) 2003 MenTaLguY * Copyright (C) 1999-2011 authors * Copyright (C) 2001-2002 Ximian, Inc. * * Released under GNU GPL v2+, read the file 'COPYING' for more information. */ #include "toolbar.h" #include class InkSelectOneAction; class SPDesktop; typedef struct _EgeAdjustmentAction EgeAdjustmentAction; typedef struct _GtkActionGroup GtkActionGroup; typedef struct _InkToggleAction InkToggleAction; namespace Inkscape { namespace UI { class PrefPusher; namespace Toolbar { class CalligraphyToolbar : public Toolbar { private: bool _presets_blocked; EgeAdjustmentAction *_angle_action; InkSelectOneAction *_profile_selector; std::map _widget_map; Glib::RefPtr _width_adj; Glib::RefPtr _mass_adj; Glib::RefPtr _wiggle_adj; Glib::RefPtr _angle_adj; Glib::RefPtr _thinning_adj; Glib::RefPtr _tremor_adj; Glib::RefPtr _fixation_adj; Glib::RefPtr _cap_rounding_adj; InkToggleAction *_usepressure; InkToggleAction *_tracebackground; InkToggleAction *_usetilt; std::unique_ptr _tracebackground_pusher; std::unique_ptr _usepressure_pusher; std::unique_ptr _usetilt_pusher; void width_value_changed(); void velthin_value_changed(); void angle_value_changed(); void flatness_value_changed(); void cap_rounding_value_changed(); void tremor_value_changed(); void wiggle_value_changed(); void mass_value_changed(); void build_presets_list(); void change_profile(int mode); void save_profile(GtkWidget *widget); static void edit_profile(GtkAction *act, gpointer data); static void update_presets_list(gpointer data); static void tilt_state_changed( GtkToggleAction *act, gpointer data ); protected: CalligraphyToolbar(SPDesktop *desktop); public: static GtkWidget * prep(SPDesktop *desktop, GtkActionGroup* mainActions); }; } } } #endif /* !SEEN_CALLIGRAPHY_TOOLBAR_H */