summaryrefslogtreecommitdiffstats
path: root/src/document.h
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2010-01-14 08:13:09 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2010-01-14 08:13:09 +0000
commit7f7da4643d6909af5cd58b2f24846774e3af509b (patch)
tree1fec13b3616ecc90fb251bb9e643aefc43c80c43 /src/document.h
parentSome additional docs (diff)
parentInitial cut of disabling floating windows on window managers with problems. (diff)
downloadinkscape-7f7da4643d6909af5cd58b2f24846774e3af509b.tar.gz
inkscape-7f7da4643d6909af5cd58b2f24846774e3af509b.zip
* Merge from trunk
* Update to new snapping API * Modify the join action slightly (bzr r8846.2.11)
Diffstat (limited to 'src/document.h')
-rw-r--r--src/document.h32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/document.h b/src/document.h
index 789e3e2ed..e70582006 100644
--- a/src/document.h
+++ b/src/document.h
@@ -55,6 +55,7 @@ namespace Inkscape {
class SP3DBox;
class Persp3D;
+class Persp3DImpl;
namespace Proj {
class TransfMat3x4;
@@ -98,23 +99,35 @@ struct SPDocument : public Inkscape::GC::Managed<>,
const gchar *actionkey;
/// Handler ID
guint modified_id;
+
+ /// Connector rerouting handler ID
+ guint rerouting_handler_id;
Inkscape::ProfileManager* profileManager;
// Instance of the connector router
Avoid::Router *router;
- GSList *perspectives;
-
- Persp3D *current_persp3d; // "currently active" perspective (e.g., newly created boxes are attached to this one)
-
GSList *_collection_queue;
bool oldSignalsConnected;
- void add_persp3d(Persp3D * const persp);
- void remove_persp3d(Persp3D * const persp);
- void initialize_current_persp3d();
+ void setCurrentPersp3D(Persp3D * const persp);
+ inline void setCurrentPersp3DImpl(Persp3DImpl * const persp_impl) { current_persp3d_impl = persp_impl; }
+ /*
+ * getCurrentPersp3D returns current_persp3d (if non-NULL) or the first
+ * perspective in the defs. If no perspective exists, returns NULL.
+ */
+ Persp3D * getCurrentPersp3D();
+ Persp3DImpl * getCurrentPersp3DImpl();
+ void getPerspectivesInDefs(std::vector<Persp3D*> &list);
+ unsigned int numPerspectivesInDefs() {
+ std::vector<Persp3D*> list;
+ getPerspectivesInDefs(list);
+ return list.size();
+ }
+
+ //void initialize_current_persp3d();
sigc::connection connectModified(ModifiedSignal::slot_type slot);
sigc::connection connectURISet(URISetSignal::slot_type slot);
@@ -152,6 +165,9 @@ private:
SPDocument(SPDocument const &); // no copy
void operator=(SPDocument const &); // no assign
+ Persp3D *current_persp3d; /**< Currently 'active' perspective (to which, e.g., newly created boxes are attached) */
+ Persp3DImpl *current_persp3d_impl;
+
public:
sigc::connection connectReconstructionStart(ReconstructionStart::slot_type slot);
sigc::connection connectReconstructionFinish(ReconstructionFinish::slot_type slot);
@@ -163,7 +179,7 @@ public:
sigc::connection _selection_changed_connection;
sigc::connection _desktop_activated_connection;
- void fitToRect(Geom::Rect const &rect);
+ void fitToRect(Geom::Rect const &rect, bool with_margins = false);
};
SPDocument *sp_document_new(const gchar *uri, unsigned int keepalive, bool make_new = false);