index 8109ef5f5ddcf62cca8dcebc8a9a0f2197b142e1..27c991446b7239718462e3dabc3700416bbee22d 100644 (file)
--- a/src/ui/widget/ruler.cpp
+++ b/src/ui/widget/ruler.cpp
* Released under GNU GPL, read the file 'COPYING' for more information
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <glibmm/i18n.h>
#include <gtkmm/ruler.h>
#include "desktop-handles.h"
#include "document.h"
#include "sp-namedview.h"
+#include "verbs.h"
namespace Inkscape {
namespace UI {
_dragging = true;
sp_repr_set_boolean(repr, "showguides", TRUE);
sp_repr_set_boolean(repr, "inkscape:guide-bbox", TRUE);
- double const guide_pos_dt = event_dt[ _horiz_f ? NR::Y : NR::X ];
- _guide = sp_guideline_new(_dt->guides, guide_pos_dt, !_horiz_f);
+ _guide = sp_guideline_new(_dt->guides, event_dt.to_2geom(), _horiz_f ? Geom::Point(0.,1.) : Geom::Point(1.,0.));
sp_guideline_set_color(SP_GUIDELINE(_guide), _dt->namedview->guidehicolor);
(void) get_window()->pointer_grab(false,
Gdk::BUTTON_RELEASE_MASK |
NR::Point const &event_dt = get_event_dt();
if (_dragging) {
- double const guide_pos_dt = event_dt[ _horiz_f ? NR::Y : NR::X ];
- sp_guideline_set_position(SP_GUIDELINE(_guide), guide_pos_dt);
+ sp_guideline_set_position(SP_GUIDELINE(_guide), event_dt.to_2geom());
_dt->set_coordinate_status(event_dt);
_dt->setPosition(event_dt);
}
_dragging = false;
if ( (_horiz_f ? wy : wx ) >= 0 ) {
- Inkscape::XML::Node *repr = sp_repr_new("sodipodi:guide");
+ Inkscape::XML::Document *xml_doc = sp_document_repr_doc(_dt->doc());
+ Inkscape::XML::Node *repr = xml_doc->createElement("sodipodi:guide");
repr->setAttribute("orientation", _horiz_f ? "horizontal" : "vertical");
double const guide_pos_dt = event_dt[ _horiz_f ? NR::Y : NR::X ];
sp_repr_set_svg_double(repr, "position", guide_pos_dt);
SP_OBJECT_REPR(_dt->namedview)->appendChild(repr);
Inkscape::GC::release(repr);
- sp_document_done(sp_desktop_document(_dt));
+ sp_document_done(sp_desktop_document(_dt), SP_VERB_NONE,
+ /* TODO: annotate */ "ruler.cpp:157");
}
_dt->set_coordinate_status(event_dt);
}