control-point.h revision 0d68d82e47abab250c99dd534da2e2d26b697b2d
2521N/A * Desktop-bound visual control object 2521N/A * Krzysztof KosiĆski <tweenk.pl@gmail.com> 2521N/A * Copyright (C) 2009 Authors 2521N/A * Released under GNU GPL, read the file 'COPYING' for more information 2521N/A// most of the documentation is in the .cpp file 3998N/A // these have to be public, because GCC doesn't allow protected types in constructors, 3998N/A // even if the constructors are protected themselves. 2892N/A /// @name Adjust the position of the control point 5403N/A /** Current position of the control point. */ 5403N/A /// @name Toggle the point's visibility 5403N/A /// @name Transfer grab from another event handler 2521N/A /// @name Receive notifications about control point events 5403N/A /*sigc::signal<void, Geom::Point const &, Geom::Point &, GdkEventMotion*> signal_dragged; 5403N/A sigc::signal<bool, GdkEventButton*>::accumulated<RInt> signal_clicked; 5403N/A sigc::signal<bool, GdkEventButton*>::accumulated<RInt> signal_doubleclicked; 5403N/A sigc::signal<bool, GdkEventMotion*>::accumulated<Int> signal_grabbed; 2521N/A sigc::signal<void, GdkEventButton*> signal_ungrabbed;*/ 2521N/A /// @name Inspect the state of the control point 5403N/A // temporarily public, until snap delay is refactored a little 5403N/A /// @name Handle control point events in subclasses 5403N/A * Called when the user moves the point beyond the drag tolerance with the first button held 5403N/A * down. Return true if you called transferGrab() during this method. 5403N/A * @param event Motion event when drag tolerance was exceeded */ 2521N/A * Called while dragging, but before moving the knot to new position. 2521N/A * @param pos Old position, always equal to position() 2521N/A * @param new_pos New position (after drag). This is passed as a non-const reference, 2521N/A * so you can change it from the handler - that's how constrained dragging is implemented. 2521N/A * @param event Motion event */ 2521N/A * @var ControlPoint::signal_ungrabbed 2521N/A * Emitted when the control point finishes a drag. 2521N/A * @param event Button release event 5403N/A * Called when the control point is clicked, at mouse button release. Your override should 5403N/A * return true if the click had some effect. If it did nothing, return false. Improperly 5403N/A * implementing this method can cause the default context menu not to appear when a control 5403N/A * @param event Button release event */ 5403N/A * Called when the control point is doubleclicked, at mouse button release. 5403N/A * @param event Button release event */ 5403N/A /// @name Manipulate the control point's appearance in subclasses 4538N/A c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) 4538N/A// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :