diff --git a/src/persp3d.cpp b/src/persp3d.cpp
index 4b2e55b9d250fc9f7562490a5085fa583dc5503b..74208444b04418be0e1b862fffad32cb71c8f6d0 100644 (file)
--- a/src/persp3d.cpp
+++ b/src/persp3d.cpp
-#define __PERSP3D_C__
-
/*
* Class modelling a 3D perspective as an SPObject
*
* Authors:
* Maximilian Albert <Anhalter42@gmx.de>
+ * Jon A. Cruz <jon@joncruz.org>
+ * Abhishek Sharma
*
* Copyright (C) 2007 authors
*
#include "desktop-handles.h"
#include <glibmm/i18n.h>
+using Inkscape::DocumentUndo;
+
static void persp3d_class_init(Persp3DClass *klass);
static void persp3d_init(Persp3D *persp);
@@ -116,10 +118,10 @@ static void persp3d_build(SPObject *object, SPDocument *document, Inkscape::XML:
/* calls sp_object_set for the respective attributes */
// The transformation matrix is updated according to the values we read for the VPs
- sp_object_read_attr(object, "inkscape:vp_x");
- sp_object_read_attr(object, "inkscape:vp_y");
- sp_object_read_attr(object, "inkscape:vp_z");
- sp_object_read_attr(object, "inkscape:persp3d-origin");
+ object->readAttr( "inkscape:vp_x" );
+ object->readAttr( "inkscape:vp_y" );
+ object->readAttr( "inkscape:vp_z" );
+ object->readAttr( "inkscape:persp3d-origin" );
if (repr) {
repr->addListener (&persp3d_repr_events, object);
((SPObjectClass *) persp3d_parent_class)->update(object, ctx, flags);
}
-Persp3D *
-persp3d_create_xml_element (SPDocument *document, Persp3DImpl *dup) {// if dup is given, copy the attributes over
+Persp3D *persp3d_create_xml_element(SPDocument *document, Persp3DImpl *dup) {// if dup is given, copy the attributes over
SPDefs *defs = (SPDefs *) SP_DOCUMENT_DEFS(document);
- Inkscape::XML::Document *xml_doc = sp_document_repr_doc(document);
+ Inkscape::XML::Document *xml_doc = document->getReprDoc();
Inkscape::XML::Node *repr;
/* if no perspective is given, create a default one */
@@ -249,17 +250,15 @@ persp3d_create_xml_element (SPDocument *document, Persp3DImpl *dup) {// if dup i
return (Persp3D *) SP_OBJECT(defs)->get_child_by_repr (repr);
}
-Persp3D *
-persp3d_document_first_persp (SPDocument *document) {
- SPDefs *defs = (SPDefs *) SP_DOCUMENT_DEFS(document);
- Inkscape::XML::Node *repr;
- for (SPObject *child = defs->first_child(); child != NULL; child = SP_OBJECT_NEXT(child) ) {
- repr = SP_OBJECT_REPR(child);
+Persp3D *persp3d_document_first_persp(SPDocument *document)
+{
+ Persp3D *first = 0;
+ for ( SPObject *child = SP_DOCUMENT_DEFS(document)->firstChild(); child && !first; child = child->getNext() ) {
if (SP_IS_PERSP3D(child)) {
- return SP_PERSP3D(child);
+ first = SP_PERSP3D(child);
}
}
- return NULL;
+ return first;
}
/**
persp3d_update_box_reprs (persp);
SP_OBJECT(persp)->updateRepr(SP_OBJECT_WRITE_EXT);
if (set_undo) {
- SPDocumentUndo::done(sp_desktop_document(inkscape_active_desktop()), SP_VERB_CONTEXT_3DBOX,
- _("Toggle vanishing point"));
+ DocumentUndo::done(sp_desktop_document(inkscape_active_desktop()), SP_VERB_CONTEXT_3DBOX,
+ _("Toggle vanishing point"));
}
}
for (std::list<Persp3D *>::iterator i = p.begin(); i != p.end(); ++i) {
persp3d_toggle_VP((*i), axis, false);
}
- SPDocumentUndo::done(sp_desktop_document(inkscape_active_desktop()), SP_VERB_CONTEXT_3DBOX,
- _("Toggle multiple vanishing points"));
+ DocumentUndo::done(sp_desktop_document(inkscape_active_desktop()), SP_VERB_CONTEXT_3DBOX,
+ _("Toggle multiple vanishing points"));
}
void
g_print ("========================\n");
}
-void
-persp3d_print_debugging_info_all(SPDocument *document) {
- SPDefs *defs = (SPDefs *) SP_DOCUMENT_DEFS(document);
- Inkscape::XML::Node *repr;
- for (SPObject *child = defs->first_child(); child != NULL; child = SP_OBJECT_NEXT(child) ) {
- repr = SP_OBJECT_REPR(child);
+void persp3d_print_debugging_info_all(SPDocument *document)
+{
+ for ( SPObject *child = SP_DOCUMENT_DEFS(document)->firstChild(); child; child = child->getNext() ) {
if (SP_IS_PERSP3D(child)) {
persp3d_print_debugging_info(SP_PERSP3D(child));
}
fill-column:99
End:
*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :