X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fpersp3d.h;h=c0fabc0921f0abb079a0ef2dc2e4645a2036b7c1;hb=9dbb73d5add1539a4a032b311ffe044c6e3ed067;hp=0ab04fe3920180bc19a92274f179aa31de29c24c;hpb=3ca2560f1103677939f8b6e8de30865c3aef7fe0;p=inkscape.git diff --git a/src/persp3d.h b/src/persp3d.h index 0ab04fe39..c0fabc092 100644 --- a/src/persp3d.h +++ b/src/persp3d.h @@ -18,7 +18,7 @@ #define SP_IS_PERSP3D(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_PERSP3D)) #define SP_IS_PERSP3D_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_PERSP3D)) -#include +#include #include #include #include "sp-item.h" @@ -34,7 +34,7 @@ struct Persp3D : public SPObject { // Also write the list of boxes into the xml repr and vice versa link boxes to their persp3d? std::vector boxes; - std::map boxes_transformed; // TODO: eventually we should merge this with 'boxes' + std::map* boxes_transformed; // TODO: eventually we should merge this with 'boxes' SPDocument *document; // should this rather be the SPDesktop? // for debugging only @@ -62,7 +62,7 @@ NR::Point persp3d_get_infinite_dir (Persp3D *persp, Proj::Axis axis); double persp3d_get_infinite_angle (Persp3D *persp, Proj::Axis axis); bool persp3d_VP_is_finite (Persp3D *persp, Proj::Axis axis); void persp3d_toggle_VP (Persp3D *persp, Proj::Axis axis, bool set_undo = true); -void persp3d_toggle_VPs (std::set, Proj::Axis axis); +void persp3d_toggle_VPs (std::list, Proj::Axis axis); void persp3d_set_VP_state (Persp3D *persp, Proj::Axis axis, Proj::VPState state); void persp3d_rotate_VP (Persp3D *persp, Proj::Axis axis, double angle, bool alt_pressed); // angle is in degrees void persp3d_update_with_point (Persp3D *persp, Proj::Axis const axis, Proj::Pt2 const &new_image); @@ -90,10 +90,11 @@ bool persp3d_perspectives_coincide(const Persp3D *lhs, const Persp3D *rhs); void persp3d_absorb(Persp3D *persp1, Persp3D *persp2); Persp3D * persp3d_create_xml_element (SPDocument *document, Persp3D *dup = NULL); +Persp3D * persp3d_document_first_persp (SPDocument *document); -std::set persp3d_currently_selected_persps (SPEventContext *ec); bool persp3d_has_all_boxes_in_selection (Persp3D *persp); -std::list persp3d_selected_boxes (Persp3D *persp); +std::map > persp3d_unselected_boxes(Inkscape::Selection *selection); +void persp3d_split_perspectives_according_to_selection(Inkscape::Selection *selection); void persp3d_print_debugging_info (Persp3D *persp); void persp3d_print_debugging_info_all(SPDocument *doc);