index 96882f3f3e24c05cb2181b61778d8be994ce357c..02ca80b202c9da06a7c0eb2fb6993df81808114c 100644 (file)
#include "sp-item.h"
#define DDC_RED_RGBA 0xff0000ff
-#define DDC_GREEN_RGBA 0x000000ff
#define SAMPLE_TIMEOUT 10
#define TOLERANCE_LINE 1.0
ddc->use_timeout = FALSE;
ddc->timer_id = 0;
ddc->dragging = FALSE;
- ddc->dynahand = FALSE;
ddc->mass = 0.3;
ddc->drag = DRAG_DEFAULT;
SPCanvas *canvas = SP_CANVAS(SP_DT_CANVAS(desktop));
dc->dragging = TRUE;
- dc->dynahand = TRUE;
int x, y;
gtk_widget_get_pointer(GTK_WIDGET(canvas), &x, &y);
case GDK_MOTION_NOTIFY:
if ( dc->is_drawing && !dc->use_timeout && ( event->motion.state & GDK_BUTTON1_MASK ) ) {
dc->dragging = TRUE;
- dc->dynahand = TRUE;
NR::Point const motion_w(event->motion.x,
event->motion.y);
if ( dc->dragging && event->button.button == 1 ) {
dc->dragging = FALSE;
- /* release */
- if (dc->dynahand) {
- dc->dynahand = FALSE;
- /* Remove all temporary line segments */
- while (dc->segments) {
- gtk_object_destroy(GTK_OBJECT(dc->segments->data));
- dc->segments = g_slist_remove(dc->segments, dc->segments->data);
- }
- /* Create object */
- fit_and_split(dc, TRUE);
- accumulate_calligraphic(dc);
- set_to_accumulated(dc); /* temporal implementation */
- /* reset accumulated curve */
- sp_curve_reset(dc->accumulated);
- clear_current(dc);
- if (dc->repr) {
- dc->repr = NULL;
- }
+ /* Remove all temporary line segments */
+ while (dc->segments) {
+ gtk_object_destroy(GTK_OBJECT(dc->segments->data));
+ dc->segments = g_slist_remove(dc->segments, dc->segments->data);
+ }
+ /* Create object */
+ fit_and_split(dc, TRUE);
+ accumulate_calligraphic(dc);
+ set_to_accumulated(dc); /* temporal implementation */
+ /* reset accumulated curve */
+ sp_curve_reset(dc->accumulated);
+ clear_current(dc);
+ if (dc->repr) {
+ dc->repr = NULL;
}
ret = TRUE;
}