diff --git a/src/sp-guide.cpp b/src/sp-guide.cpp
index e43c3056d4ad635b5f2566b8e4e93ec5d65fd9b5..f92d791162e5267677eb10804185d5c4280771a0 100644 (file)
--- a/src/sp-guide.cpp
+++ b/src/sp-guide.cpp
-#define __SP_GUIDE_C__
-
/*
* Inkscape guideline implementation
*
* Lauris Kaplinski <lauris@kaplinski.com>
* Peter Moulder <pmoulder@mail.csse.monash.edu.au>
* Johan Engelen
+ * Jon A. Cruz <jon@joncruz.org>
+ * Abhishek Sharma
*
* Copyright (C) 2000-2002 authors
* Copyright (C) 2004 Monash University
#include <2geom/angle.h>
#include "document.h"
+using Inkscape::DocumentUndo;
using std::vector;
enum {
sizeof(SPGuide),
16,
(GInstanceInitFunc) sp_guide_init,
- NULL, /* value_table */
+ NULL, /* value_table */
};
guide_type = g_type_register_static(SP_TYPE_OBJECT, "SPGuide", &guide_info, (GTypeFlags) 0);
}
@@ -158,8 +159,8 @@ static void sp_guide_build(SPObject *object, SPDocument *document, Inkscape::XML
(* ((SPObjectClass *) (parent_class))->build)(object, document, repr);
}
- object->readAttr( "orientation");
- object->readAttr( "position");
+ object->readAttr( "orientation" );
+ object->readAttr( "position" );
}
static void sp_guide_release(SPObject *object)
@@ -241,10 +242,10 @@ static void sp_guide_set(SPObject *object, unsigned int key, const gchar *value)
}
}
-SPGuide *
-sp_guide_create(SPDesktop *desktop, Geom::Point const &pt1, Geom::Point const &pt2) {
- SPDocument *doc=sp_desktop_document(desktop);
- Inkscape::XML::Document *xml_doc = sp_document_repr_doc(doc);
+SPGuide *SPGuide::createSPGuide(SPDesktop *desktop, Geom::Point const &pt1, Geom::Point const &pt2)
+{
+ SPDocument *doc = sp_desktop_document(desktop);
+ Inkscape::XML::Document *xml_doc = doc->getReprDoc();
Inkscape::XML::Node *repr = xml_doc->createElement("sodipodi:guide");
@@ -253,7 +254,7 @@ sp_guide_create(SPDesktop *desktop, Geom::Point const &pt1, Geom::Point const &p
sp_repr_set_point(repr, "position", pt1);
sp_repr_set_point(repr, "orientation", n);
- SP_OBJECT_REPR(desktop->namedview)->appendChild(repr);
+ desktop->namedview->appendChild(repr);
Inkscape::GC::release(repr);
SPGuide *guide= SP_GUIDE(doc->getObjectByRepr(repr));
@@ -263,7 +264,7 @@ sp_guide_create(SPDesktop *desktop, Geom::Point const &pt1, Geom::Point const &p
void
sp_guide_pt_pairs_to_guides(SPDesktop *dt, std::list<std::pair<Geom::Point, Geom::Point> > &pts) {
for (std::list<std::pair<Geom::Point, Geom::Point> >::iterator i = pts.begin(); i != pts.end(); ++i) {
- sp_guide_create(dt, (*i).first, (*i).second);
+ SPGuide::createSPGuide(dt, (*i).first, (*i).second);
}
}
sp_guide_pt_pairs_to_guides(dt, pts);
- SPDocumentUndo::done (doc, SP_VERB_NONE, _("Guides Around Page"));
+ DocumentUndo::done(doc, SP_VERB_NONE, _("Guides Around Page"));
}
-void sp_guide_show(SPGuide *guide, SPCanvasGroup *group, GCallback handler)
+void SPGuide::showSPGuide(SPCanvasGroup *group, GCallback handler)
{
- SPCanvasItem *item = sp_guideline_new(group, guide->point_on_line, guide->normal_to_line);
- sp_guideline_set_color(SP_GUIDELINE(item), guide->color);
+ SPCanvasItem *item = sp_guideline_new(group, point_on_line, normal_to_line);
+ sp_guideline_set_color(SP_GUIDELINE(item), color);
- g_signal_connect(G_OBJECT(item), "event", G_CALLBACK(handler), guide);
+ g_signal_connect(G_OBJECT(item), "event", G_CALLBACK(handler), this);
- guide->views = g_slist_prepend(guide->views, item);
+ views = g_slist_prepend(views, item);
}
-void sp_guide_hide(SPGuide *guide, SPCanvas *canvas)
+void SPGuide::hideSPGuide(SPCanvas *canvas)
{
- g_assert(guide != NULL);
- g_assert(SP_IS_GUIDE(guide));
g_assert(canvas != NULL);
g_assert(SP_IS_CANVAS(canvas));
- for (GSList *l = guide->views; l != NULL; l = l->next) {
+ for (GSList *l = views; l != NULL; l = l->next) {
if (canvas == SP_CANVAS_ITEM(l->data)->canvas) {
sp_guideline_delete(SP_GUIDELINE(l->data));
- guide->views = g_slist_remove(guide->views, l->data);
+ views = g_slist_remove(views, l->data);
return;
}
}
g_assert_not_reached();
}
-void sp_guide_sensitize(SPGuide *guide, SPCanvas *canvas, gboolean sensitive)
+void SPGuide::sensitize(SPCanvas *canvas, gboolean sensitive)
{
- g_assert(guide != NULL);
- g_assert(SP_IS_GUIDE(guide));
g_assert(canvas != NULL);
g_assert(SP_IS_CANVAS(canvas));
- for (GSList *l = guide->views; l != NULL; l = l->next) {
+ for (GSList *l = views; l != NULL; l = l->next) {
if (canvas == SP_CANVAS_ITEM(l->data)->canvas) {
sp_guideline_set_sensitive(SP_GUIDELINE(l->data), sensitive);
return;
g_assert_not_reached();
}
-Geom::Point sp_guide_position_from_pt(SPGuide const *guide, Geom::Point const &pt)
+Geom::Point SPGuide::getPositionFrom(Geom::Point const &pt) const
{
- return -(pt - guide->point_on_line);
+ return -(pt - point_on_line);
}
-double sp_guide_distance_from_pt(SPGuide const *guide, Geom::Point const &pt)
+double SPGuide::getDistanceFrom(Geom::Point const &pt) const
{
- return Geom::dot(pt - guide->point_on_line, guide->normal_to_line);
+ return Geom::dot(pt - point_on_line, normal_to_line);
}
/**
@@ -358,7 +355,7 @@ void sp_guide_moveto(SPGuide const &guide, Geom::Point const point_on_line, bool
/* Calling sp_repr_set_point must precede calling sp_item_notify_moveto in the commit
case, so that the guide's new position is available for sp_item_rm_unsatisfied_cns. */
if (commit) {
- //XML Tree being used here directly while it shouldn't be.
+ //XML Tree being used here directly while it shouldn't be.
sp_repr_set_point(SP_OBJECT(&guide)->getRepr(), "position", point_on_line);
}
@@ -389,7 +386,7 @@ void sp_guide_set_normal(SPGuide const &guide, Geom::Point const normal_to_line,
/* Calling sp_repr_set_svg_point must precede calling sp_item_notify_moveto in the commit
case, so that the guide's new position is available for sp_item_rm_unsatisfied_cns. */
if (commit) {
- //XML Tree being used directly while it shouldn't be
+ //XML Tree being used directly while it shouldn't be
sp_repr_set_point(SP_OBJECT(&guide)->getRepr(), "orientation", normal_to_line);
}
remove_last(att.item->constraints, SPGuideConstraint(guide, att.snappoint_ix));
}
guide->attached_items.clear();
-
- //XML Tree being used directly while it shouldn't be.
+
+ //XML Tree being used directly while it shouldn't be.
sp_repr_unparent(SP_OBJECT(guide)->getRepr());
}