? src/dialogs/input.cpp ? src/dialogs/input.h Index: share/icons/icons.svg =================================================================== RCS file: /cvsroot/inkscape/inkscape/share/icons/icons.svg,v retrieving revision 1.74 diff -u -p -r1.74 icons.svg --- share/icons/icons.svg 26 Jul 2005 04:24:12 -0000 1.74 +++ share/icons/icons.svg 6 Aug 2005 16:04:44 -0000 @@ -14,9 +14,23 @@ height="256.00000pt" sodipodi:docname="icons.svg" inkscape:version="0.42+devel" - sodipodi:docbase="/Users/mjwybrow/ws-ink/inkscape/share/icons"> + sodipodi:docbase="/home/nili/cvs/inkscape/share/icons"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: src/desktop.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/desktop.cpp,v retrieving revision 1.172 diff -u -p -r1.172 desktop.cpp --- src/desktop.cpp 3 Aug 2005 06:59:48 -0000 1.172 +++ src/desktop.cpp 6 Aug 2005 16:04:44 -0000 @@ -1001,6 +1001,7 @@ sp_desktop_widget_init (SPDesktopWidget style = gtk_style_copy (GTK_WIDGET (dtw->canvas)->style); style->bg[GTK_STATE_NORMAL] = style->white; gtk_widget_set_style (GTK_WIDGET (dtw->canvas), style); + gtk_widget_set_extension_events(GTK_WIDGET (dtw->canvas) , GDK_EXTENSION_EVENTS_ALL); g_signal_connect (G_OBJECT (dtw->canvas), "event", G_CALLBACK (sp_desktop_widget_event), dtw); gtk_container_add (GTK_CONTAINER (w), GTK_WIDGET (dtw->canvas)); Index: src/dyna-draw-context.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/dyna-draw-context.cpp,v retrieving revision 1.53 diff -u -p -r1.53 dyna-draw-context.cpp --- src/dyna-draw-context.cpp 9 May 2005 04:44:53 -0000 1.53 +++ src/dyna-draw-context.cpp 6 Aug 2005 16:04:45 -0000 @@ -228,6 +228,8 @@ sp_dyna_draw_context_setup(SPEventContex sp_event_context_read(ec, "width"); sp_event_context_read(ec, "thinning"); sp_event_context_read(ec, "flatness"); + sp_event_context_read(ec, "usepressure"); + sp_event_context_read(ec, "usetilt"); ddc->is_drawing = false; @@ -257,6 +259,10 @@ sp_dyna_draw_context_set(SPEventContext } else if (!strcmp(key, "flatness")) { double const dval = ( val ? g_ascii_strtod (val, NULL) : 1.0 ); ddc->flatness = CLAMP(dval, 0, 1.0); + } else if (!strcmp(key, "usepressure")) { + ddc->usepressure = (val && strcmp(val, "0")); + } else if (!strcmp(key, "usetilt")) { + ddc->usetilt = (val && strcmp(val, "0")); } //g_print("DDC: %g %g %g %g\n", ddc->mass, ddc->drag, ddc->angle, ddc->width); @@ -307,6 +313,26 @@ sp_dyna_draw_reset(SPDynaDrawContext *dc dc->del = NR::Point(0,0); } +static void +sp_dyna_draw_extinput(SPDynaDrawContext *dc, GdkEvent *event) +{ + if (gdk_event_get_axis (event, GDK_AXIS_PRESSURE, &dc->pressure)) + dc->pressure = CLAMP (dc->pressure, DDC_MIN_PRESSURE, DDC_MAX_PRESSURE); + else + dc->pressure = DDC_DEFAULT_PRESSURE; + + if (gdk_event_get_axis (event, GDK_AXIS_XTILT, &dc->xtilt)) + dc->xtilt = CLAMP (dc->xtilt, DDC_MIN_TILT, DDC_MAX_TILT); + else + dc->xtilt = DDC_DEFAULT_TILT; + + if (gdk_event_get_axis (event, GDK_AXIS_YTILT, &dc->ytilt)) + dc->ytilt = CLAMP (dc->ytilt, DDC_MIN_TILT, DDC_MAX_TILT); + else + dc->ytilt = DDC_DEFAULT_TILT; +} + + static gboolean sp_dyna_draw_apply(SPDynaDrawContext *dc, NR::Point p) { @@ -329,9 +355,24 @@ sp_dyna_draw_apply(SPDynaDrawContext *dc /* Calculate angle of drawing tool */ - // 1. fixed dc->angle (absolutely flat nib): - double const radians = ( (dc->angle - 90) / 180.0 ) * M_PI; - NR::Point ang1 = NR::Point(-sin(radians), cos(radians)); + double a1; + if (dc->usetilt) { + // 1a. calculate nib angle from input device tilt: + gdouble length = std::sqrt(dc->xtilt*dc->xtilt + dc->ytilt*dc->ytilt);; + + if (length > 0) { + NR::Point ang1 = NR::Point(dc->ytilt/length, dc->xtilt/length); + a1 = atan2(ang1); + } + else + a1 = 0.0; + } + else { + // 1b. fixed dc->angle (absolutely flat nib): + double const radians = ( (dc->angle - 90) / 180.0 ) * M_PI; + NR::Point ang1 = NR::Point(-sin(radians), cos(radians)); + a1 = atan2(ang1); + } // 2. perpendicular to dc->vel (absolutely non-flat nib): gdouble const mag_vel = NR::L2(dc->vel); @@ -342,7 +383,6 @@ sp_dyna_draw_apply(SPDynaDrawContext *dc // 3. Average them using flatness parameter: // calculate angles - double a1 = atan2(ang1); double a2 = atan2(ang2); // flip a2 to force it to be in the same half-circle as a1 bool flipped = false; @@ -382,7 +422,10 @@ sp_dyna_draw_brush(SPDynaDrawContext *dc // How much velocity thins strokestyle double vel_thin = flerp (0, 160, dc->vel_thin); - double width = ( 1 - vel_thin * NR::L2(dc->vel) ) * dc->width; + // Influence of pressure on thickness + double pressure_thick = (dc->usepressure ? dc->pressure : 1.0); + + double width = ( pressure_thick - vel_thin * NR::L2(dc->vel) ) * dc->width; if ( width < 0.02 * dc->width ) { width = 0.02 * dc->width; } @@ -467,6 +510,7 @@ sp_dyna_draw_context_root_handler(SPEven event->button.y); NR::Point const button_dt(sp_desktop_w2d_xy_point(desktop, button_w)); sp_dyna_draw_reset(dc, button_dt); + sp_dyna_draw_extinput(dc, event); sp_dyna_draw_apply(dc, button_dt); NR::Point p = sp_dyna_draw_get_curr_vpoint(dc); namedview_free_snap(desktop->namedview, Snapper::SNAP_POINT, p); @@ -509,6 +553,7 @@ sp_dyna_draw_context_root_handler(SPEven event->motion.y); NR::Point const motion_dt(sp_desktop_w2d_xy_point(desktop, motion_w)); + sp_dyna_draw_extinput(dc, event); if (!sp_dyna_draw_apply(dc, motion_dt)) { ret = TRUE; break; Index: src/dyna-draw-context.h =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/dyna-draw-context.h,v retrieving revision 1.12 diff -u -p -r1.12 dyna-draw-context.h --- src/dyna-draw-context.h 20 Feb 2005 01:43:57 -0000 1.12 +++ src/dyna-draw-context.h 6 Aug 2005 16:04:45 -0000 @@ -34,6 +34,14 @@ class SPDynaDrawContextClass; #define SAMPLING_SIZE 16 /* fixme: ?? */ +#define DDC_MIN_PRESSURE 0.0 +#define DDC_MAX_PRESSURE 1.0 +#define DDC_DEFAULT_PRESSURE 1.0 + +#define DDC_MIN_TILT -1.0 +#define DDC_MAX_TILT 1.0 +#define DDC_DEFAULT_TILT 0.0 + struct SPDynaDrawContext { SPEventContext event_context; @@ -63,6 +71,10 @@ struct SPDynaDrawContext NR::Point ang; NR::Point last; NR::Point del; + /* extended input data */ + gdouble pressure; + gdouble xtilt; + gdouble ytilt; /* attributes */ /* fixme: shuld be merge dragging and dynahand ?? */ guint dragging : 1; /* mouse state: mouse is dragging */ @@ -72,6 +84,8 @@ struct SPDynaDrawContext double mass, drag; double angle; double width; + guint usepressure : 1; + guint usetilt : 1; double vel_thin; double flatness; Index: src/inkscape.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/inkscape.cpp,v retrieving revision 1.96 diff -u -p -r1.96 inkscape.cpp --- src/inkscape.cpp 30 Jul 2005 09:27:13 -0000 1.96 +++ src/inkscape.cpp 6 Aug 2005 16:04:45 -0000 @@ -59,6 +59,7 @@ using Inkscape::Extension::Internal::Pri #include #include "helper/sp-marshal.h" #include "dialogs/debugdialog.h" +#include "dialogs/input.h" #include "shortcuts.h" @@ -713,16 +714,21 @@ inkscape_load_config (const gchar *filen gboolean inkscape_load_preferences (Inkscape::Application *inkscape) { - return inkscape_load_config (PREFERENCES_FILE, - inkscape->preferences, - preferences_skeleton, - PREFERENCES_SKELETON_SIZE, - _("%s is not a regular file.\n%s"), - _("%s not a valid XML file, or\n" - "you don't have read permissions on it.\n%s"), - _("%s is not a valid preferences file.\n%s"), - _("Inkscape will run with default settings.\n" - "New settings will not be saved.")); + if (inkscape_load_config (PREFERENCES_FILE, + inkscape->preferences, + preferences_skeleton, + PREFERENCES_SKELETON_SIZE, + _("%s is not a regular file.\n%s"), + _("%s not a valid XML file, or\n" + "you don't have read permissions on it.\n%s"), + _("%s is not a valid preferences file.\n%s"), + _("Inkscape will run with default settings.\n" + "New settings will not be saved."))) + { + sp_input_load_from_preferences(); + return TRUE; + } else + return FALSE; } Index: src/menus-skeleton.h =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/menus-skeleton.h,v retrieving revision 1.5 diff -u -p -r1.5 menus-skeleton.h --- src/menus-skeleton.h 3 Aug 2005 06:15:00 -0000 1.5 +++ src/menus-skeleton.h 6 Aug 2005 16:04:45 -0000 @@ -30,6 +30,7 @@ static char const menus_skeleton[] = " \n" " \n" " \n" +" \n" " \n" " \n" " \n" Index: src/preferences-skeleton.h =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/preferences-skeleton.h,v retrieving revision 1.99 diff -u -p -r1.99 preferences-skeleton.h --- src/preferences-skeleton.h 16 Jun 2005 22:48:24 -0000 1.99 +++ src/preferences-skeleton.h 6 Aug 2005 16:04:45 -0000 @@ -57,7 +57,8 @@ static char const preferences_skeleton[] " \n" " \n" " \n" +" mass=\"0.02\" drag=\"1\" angle=\"30\" width=\"0.15\" thinning=\"0.1\" flatness=\"0.9\" usecurrent=\"0\"\n" +" usepressure=\"0\" usetilt=\"0\"/>\n" " \n" " \n" @@ -140,6 +141,7 @@ static char const preferences_skeleton[] " \n" " \n" " \n" +" \n" " \n" " \n" " \n" @@ -183,6 +185,9 @@ static char const preferences_skeleton[] " style=\"\">\n" " \n" "\n" +" \n" +" \n" +"\n" "\n"; #define PREFERENCES_SKELETON_SIZE (sizeof(preferences_skeleton) - 1) Index: src/toolbox.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/toolbox.cpp,v retrieving revision 1.127 diff -u -p -r1.127 toolbox.cpp --- src/toolbox.cpp 6 Aug 2005 04:44:26 -0000 1.127 +++ src/toolbox.cpp 6 Aug 2005 16:04:45 -0000 @@ -1819,6 +1819,20 @@ sp_ddc_flatness_value_changed(GtkAdjustm spinbutton_defocus(GTK_OBJECT(tbl)); } +static void +sp_ddc_pressure_state_changed(GtkWidget *button, gpointer data) +{ + prefs_set_int_attribute ("tools.calligraphic", "usepressure", gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)) ? 1 : 0); +} + +static void +sp_ddc_tilt_state_changed(GtkWidget *button, GtkWidget *calligraphy_angle) +{ + prefs_set_int_attribute ("tools.calligraphic", "usetilt", gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)) ? 1 : 0); + + gtk_widget_set_sensitive(GTK_WIDGET(calligraphy_angle), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))); +} + static void sp_ddc_defaults(GtkWidget *, GtkWidget *tbl) { // FIXME: make defaults settable via Inkscape Options @@ -1851,6 +1865,7 @@ sp_calligraphy_toolbox_new(SPDesktop *de gtk_object_set_data(GTK_OBJECT(tbl), "desktop", desktop); GtkTooltips *tt = gtk_tooltips_new(); + GtkWidget *calligraphy_angle; // interval gtk_box_pack_start(GTK_BOX(tbl), gtk_hbox_new(FALSE, 0), FALSE, FALSE, AUX_BETWEEN_BUTTON_GROUPS); @@ -1880,12 +1895,12 @@ sp_calligraphy_toolbox_new(SPDesktop *de /* Angle */ { - GtkWidget *hb = sp_tb_spinbutton(_("Angle:"), _("The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if fixation = 0)"), - "tools.calligraphic", "angle", 30, - NULL, tbl, TRUE, "calligraphy-angle", - -90.0, 90.0, 1.0, 10.0, - sp_ddc_angle_value_changed, 1, 0); - gtk_box_pack_start(GTK_BOX(tbl), hb, FALSE, FALSE, AUX_SPACING); + calligraphy_angle = sp_tb_spinbutton(_("Angle:"), _("The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if fixation = 0)"), + "tools.calligraphic", "angle", 30, + NULL, tbl, TRUE, "calligraphy-angle", + -90.0, 90.0, 1.0, 10.0, + sp_ddc_angle_value_changed, 1, 0); + gtk_box_pack_start(GTK_BOX(tbl), calligraphy_angle, FALSE, FALSE, AUX_SPACING); } /* Fixation */ @@ -1925,6 +1940,39 @@ sp_calligraphy_toolbox_new(SPDesktop *de // interval gtk_box_pack_start(GTK_BOX(tbl), gtk_hbox_new(FALSE, 0), FALSE, FALSE, AUX_BETWEEN_BUTTON_GROUPS); + GtkWidget *cvbox = gtk_vbox_new (FALSE, 0); + GtkWidget *cbox = gtk_hbox_new (FALSE, 0); + + /* Use Pressure button */ + { + GtkWidget *button = sp_button_new_from_data( GTK_ICON_SIZE_SMALL_TOOLBAR, + SP_BUTTON_TYPE_TOGGLE, + NULL, + "use_pressure", + _("Use the pressure of the input device to alter the width of the pen"), + tt); + g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (sp_ddc_pressure_state_changed), NULL); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), prefs_get_int_attribute ("tools.calligraphic", "usepressure", 1)); + gtk_box_pack_start(GTK_BOX(cbox), button, FALSE, FALSE, 0); + } + + /* Use Tilt button */ + { + GtkWidget *button = sp_button_new_from_data( GTK_ICON_SIZE_SMALL_TOOLBAR, + SP_BUTTON_TYPE_TOGGLE, + NULL, + "use_tilt", + _("Use the tilt of the input device to alter the angle of the pen's nib"), + tt); + g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (sp_ddc_tilt_state_changed), calligraphy_angle); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), prefs_get_int_attribute ("tools.calligraphic", "usetilt", 1)); + gtk_widget_set_sensitive(GTK_WIDGET(calligraphy_angle), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))); + gtk_box_pack_start(GTK_BOX(cbox), button, FALSE, FALSE, 0); + } + + gtk_box_pack_start(GTK_BOX(cvbox), cbox, TRUE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(tbl), cvbox, FALSE, FALSE, 0); + /* Reset */ { GtkWidget *hb = gtk_hbox_new(FALSE, 1); Index: src/verbs.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/verbs.cpp,v retrieving revision 1.223 diff -u -p -r1.223 verbs.cpp --- src/verbs.cpp 6 Aug 2005 13:52:48 -0000 1.223 +++ src/verbs.cpp 6 Aug 2005 16:04:45 -0000 @@ -54,6 +54,7 @@ #include "dialogs/iconpreview.h" #include "dialogs/extensions.h" #include "dialogs/swatches.h" +#include "dialogs/input.h" #ifdef WITH_INKBOARD #include "ui/dialog/whiteboard-connect.h" @@ -1570,6 +1571,9 @@ DialogVerb::perform (SPAction *action, v #endif break; } + case SP_VERB_DIALOG_INPUT: + sp_input_dialog (); + break; default: break; } @@ -2138,6 +2142,8 @@ Verb * Verb::_base_verbs[] = { N_("_Open session file..."), N_("Open and browse through records of past whiteboard sessions"), NULL), new DialogVerb(SP_VERB_DIALOG_WHITEBOARD_SESSIONPLAYBACK, "DialogWhiteboardSessionPlayback", N_("Session file playback"), "", NULL), + new DialogVerb(SP_VERB_DIALOG_INPUT, "DialogInput", N_("_Input Devices..."), + N_("Configure extended input devices"), NULL), /* Help */ new HelpVerb(SP_VERB_HELP_KEYS, "HelpKeys", N_("_Keys and Mouse"), Index: src/verbs.h =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/verbs.h,v retrieving revision 1.84 diff -u -p -r1.84 verbs.h --- src/verbs.h 6 Aug 2005 13:52:48 -0000 1.84 +++ src/verbs.h 6 Aug 2005 16:04:45 -0000 @@ -186,6 +186,7 @@ enum { SP_VERB_DIALOG_WHITEBOARD_DUMPXMLTRACKER, SP_VERB_DIALOG_WHITEBOARD_OPENSESSIONFILE, SP_VERB_DIALOG_WHITEBOARD_SESSIONPLAYBACK, + SP_VERB_DIALOG_INPUT, /* Help */ SP_VERB_HELP_KEYS, SP_VERB_HELP_ABOUT_EXTENSIONS, Index: src/dialogs/Makefile_insert =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/dialogs/Makefile_insert,v retrieving revision 1.23 diff -u -p -r1.23 Makefile_insert --- src/dialogs/Makefile_insert 3 Aug 2005 04:37:17 -0000 1.23 +++ src/dialogs/Makefile_insert 6 Aug 2005 16:04:45 -0000 @@ -50,6 +50,8 @@ dialogs_libspdialogs_a_SOURCES = \ dialogs/fill-style.h \ dialogs/in-dt-coordsys.cpp \ dialogs/in-dt-coordsys.h \ + dialogs/input.cpp \ + dialogs/input.h \ dialogs/item-properties.cpp \ dialogs/item-properties.h \ dialogs/layer-properties.cpp \ Index: src/display/sp-canvas.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/display/sp-canvas.cpp,v retrieving revision 1.13 diff -u -p -r1.13 sp-canvas.cpp --- src/display/sp-canvas.cpp 25 Jul 2005 10:50:05 -0000 1.13 +++ src/display/sp-canvas.cpp 6 Aug 2005 16:04:46 -0000 @@ -1036,8 +1036,6 @@ sp_canvas_realize (GtkWidget *widget) { SPCanvas *canvas = SP_CANVAS (widget); - GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); - GdkWindowAttr attributes; attributes.window_type = GDK_WINDOW_CHILD; attributes.x = widget->allocation.x; @@ -1052,6 +1050,8 @@ sp_canvas_realize (GtkWidget *widget) GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | + GDK_PROXIMITY_IN_MASK | + GDK_PROXIMITY_OUT_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | @@ -1061,6 +1061,9 @@ sp_canvas_realize (GtkWidget *widget) widget->window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (widget->window, widget); + gtk_widget_set_events(widget, attributes.event_mask); + + GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); canvas->pixmap_gc = gdk_gc_new (SP_CANVAS_WINDOW (canvas)); } Index: src/ui/icons.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/ui/icons.cpp,v retrieving revision 1.5 diff -u -p -r1.5 icons.cpp --- src/ui/icons.cpp 1 Aug 2005 23:44:29 -0000 1.5 +++ src/ui/icons.cpp 6 Aug 2005 16:04:46 -0000 @@ -613,6 +613,20 @@ init() _transform_pattern.add_source(small); icons->add(Stock::TRANSFORM_PATTERN, _transform_pattern); + // Calligraphy Tool controls + // Use Pressure + Gtk::IconSet _use_pressure; + small.set_icon_name("UsePressure"); + small.set_filename(get_icon_path("use-pressure.svg")); + _use_pressure.add_source(small); + icons->add(Stock::USE_PRESSURE, _use_pressure); + // Use Tilt + Gtk::IconSet _use_tilt; + small.set_icon_name("UseTilt"); + small.set_filename(get_icon_path("use-tilt.svg")); + _use_tilt.add_source(small); + icons->add(Stock::USE_TILT, _use_tilt); + // Session playback dialog // Rewind Gtk::IconSet _session_rewind; Index: src/ui/stock-items.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/ui/stock-items.cpp,v retrieving revision 1.3 diff -u -p -r1.3 stock-items.cpp --- src/ui/stock-items.cpp 1 Aug 2005 23:44:29 -0000 1.3 +++ src/ui/stock-items.cpp 6 Aug 2005 16:04:46 -0000 @@ -190,6 +190,10 @@ init() add(Gtk::StockItem(NODE_LINE, _("PLACEHOLDER, do not translate"))); add(Gtk::StockItem(NODE_CURVE, _("PLACEHOLDER, do not translate"))); + // Calligraphy Tool controls + add(Gtk::StockItem(USE_PRESSURE, _("PLACEHOLDER, do not translate"))); + add(Gtk::StockItem(USE_TILT, _("PLACEHOLDER, do not translate"))); + // Session playback controls add(Gtk::StockItem(SESSION_PLAYBACK_REW, _("PLACEHOLDER, do not translate"))); add(Gtk::StockItem(SESSION_PLAYBACK_STEPBACK, _("PLACEHOLDER, do not translate"))); Index: src/ui/stock.cpp =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/ui/stock.cpp,v retrieving revision 1.2 diff -u -p -r1.2 stock.cpp --- src/ui/stock.cpp 1 Aug 2005 23:44:29 -0000 1.2 +++ src/ui/stock.cpp 6 Aug 2005 16:04:46 -0000 @@ -161,6 +161,9 @@ Gtk::StockID const NODE_SMOOTH("node-smo Gtk::StockID const NODE_SYMMETRIC("node-symmetric"); Gtk::StockID const NODE_LINE("node-line"); Gtk::StockID const NODE_CURVE("node-curve"); +// Calligraphy Tool controls +Gtk::StockID const USE_PRESSURE("use-pressure"); +Gtk::StockID const USE_TILT("use-tilt"); Gtk::StockID const SESSION_PLAYBACK_REW("session-rewind"); Gtk::StockID const SESSION_PLAYBACK_STEPBACK("session-stepback"); Index: src/ui/stock.h =================================================================== RCS file: /cvsroot/inkscape/inkscape/src/ui/stock.h,v retrieving revision 1.2 diff -u -p -r1.2 stock.h --- src/ui/stock.h 1 Aug 2005 23:44:29 -0000 1.2 +++ src/ui/stock.h 6 Aug 2005 16:04:46 -0000 @@ -164,6 +164,9 @@ extern Gtk::StockID const NODE_SMOOTH; extern Gtk::StockID const NODE_SYMMETRIC; extern Gtk::StockID const NODE_LINE; extern Gtk::StockID const NODE_CURVE; +// Calligraphy Tool controls +extern Gtk::StockID const USE_PRESSURE; +extern Gtk::StockID const USE_TILT; // Session playback dialog controls extern Gtk::StockID const SESSION_PLAYBACK_REW; extern Gtk::StockID const SESSION_PLAYBACK_STEPBACK;