X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fpen-context.h;h=c214da30ddd7b6d69479cd0b686733c3f6df7b41;hb=5192adf272fe17670fa94f6aa15f348b132f98e3;hp=68a2665e0dd21d1f1aa619a19a1f41247e058f62;hpb=4169df812df87579f62b824300ba37e4b1312e4b;p=inkscape.git diff --git a/src/pen-context.h b/src/pen-context.h index 68a2665e0..c214da30d 100644 --- a/src/pen-context.h +++ b/src/pen-context.h @@ -30,15 +30,18 @@ enum { * SPPenContext: a context for pen tool events. */ struct SPPenContext : public SPDrawContext { - NR::Point p[5]; + Geom::Point p[5]; /** \invar npoints in {0, 2, 5}. */ + // npoints somehow determines the type of the node (what does it mean, exactly? the number of Bezier handles?) gint npoints; unsigned int mode : 1; unsigned int state : 2; bool polylines_only; + bool polylines_paraxial; + int num_clicks; unsigned int expecting_clicks_for_LPE; // if positive, finish the path after this many clicks Inkscape::LivePathEffect::Effect *waiting_LPE; // if NULL, waiting_LPE_type in SPDrawContext is taken into account @@ -60,6 +63,12 @@ inline bool sp_pen_context_has_waiting_LPE(SPPenContext *pc) { pc->waiting_LPE_type != Inkscape::LivePathEffect::INVALID_LPE); } +void sp_pen_context_set_polyline_mode(SPPenContext *const pc); +void sp_pen_context_wait_for_LPE_mouse_clicks(SPPenContext *pc, Inkscape::LivePathEffect::EffectType effect_type, + unsigned int num_clicks, bool use_polylines = true); +void sp_pen_context_cancel_waiting_for_LPE(SPPenContext *pc); +void sp_pen_context_put_into_waiting_mode(SPDesktop *desktop, Inkscape::LivePathEffect::EffectType effect_type, + unsigned int num_clicks, bool use_polylines = true); #endif /* !SEEN_PEN_CONTEXT_H */