Code

Export. add emf text rotation (Bug 681262)
[inkscape.git] / src / sp-namedview.h
index f96207794ea7215ebb43afa025af7b0efa9f3d27..86b16a5577e2bb63b6e2775340d56a25498a0fca 100644 (file)
@@ -6,7 +6,9 @@
  *
  * Authors:
  *   Lauris Kaplinski <lauris@kaplinski.com>
+ *   Abhishek Sharma
  *
+ * Copyright (C) 2006 Johan Engelen <johan@shouraizou.nl>
  * Copyright (C) Lauris Kaplinski 2000-2002
  *
  * Released under GNU GPL, read the file 'COPYING' for more information
 
 #include "helper/helper-forward.h"
 #include "sp-object-group.h"
-#include "libnr/nr-point.h"
 #include "sp-metric.h"
-#include "grid-snapper.h"
-#include "guide-snapper.h"
-#include "object-snapper.h"
+#include "snap.h"
+#include "display/canvas-grid.h"
+#include "document.h"
 
+namespace Inkscape {
+class CanvasGrid;
+}
 
 enum {
     SP_BORDER_LAYER_BOTTOM,
@@ -34,21 +38,11 @@ enum {
 
 struct SPNamedView : public SPObjectGroup {
     unsigned int editable : 1;
-    unsigned int showgrid : 1;
     unsigned int showguides : 1;
     unsigned int showborder : 1;
     unsigned int showpageshadow : 1;
     unsigned int borderlayer : 2;
 
-    int snap_grid_bbox;
-    int snap_grid_point;
-    int snap_guide_bbox;
-    int snap_guide_point;
-    int snap_object_bbox;
-    int snap_object_point;
-    int snap_object_paths;
-    int snap_object_nodes;
-
     double zoom;
     double cx;
     double cy;
@@ -56,34 +50,19 @@ struct SPNamedView : public SPObjectGroup {
     gint window_height;
     gint window_x;
     gint window_y;
+    gint window_maximized;
 
-    Inkscape::GridSnapper grid_snapper;
-    Inkscape::GuideSnapper guide_snapper;
-    Inkscape::ObjectSnapper object_snapper;
-
-    SPUnit const *gridunit;
-    /* Grid data is in points regardless of unit */
-    NR::Point gridorigin;
-    gdouble gridspacing[2];
-    gint gridempspacing;
+    SnapManager snap_manager;
+    GSList * grids;
+    bool grids_visible;
 
     SPUnit const *doc_units;
-
-    SPUnit const *gridtoleranceunit;
-    gdouble gridtolerance;
-
-    SPUnit const *guidetoleranceunit;
-    gdouble guidetolerance;
-
-    SPUnit const *objecttoleranceunit;
-    gdouble objecttolerance;
-
-    bool has_abs_tolerance;
+    SPUnit const *units;
     
     GQuark default_layer_id;
 
-    guint32 gridcolor;
-    guint32 gridempcolor;
+    double connector_spacing;
+
     guint32 guidecolor;
     guint32 guidehicolor;
     guint32 bordercolor;
@@ -92,7 +71,7 @@ struct SPNamedView : public SPObjectGroup {
 
     GSList *guides;
     GSList *views;
-    GSList *gridviews;
+
     gint viewcount;
 
     void show(SPDesktop *desktop);
@@ -103,8 +82,16 @@ struct SPNamedView : public SPObjectGroup {
     GSList const *getViewList() const;
     SPMetric getDefaultMetric() const;
 
-    typedef std::list<const Inkscape::Snapper *> SnapperList;
-    SnapperList getSnappers() const;
+    void translateGuides(Geom::Translate const &translation);
+    void scrollAllDesktops(double dx, double dy, bool is_scrolling);
+    void writeNewGrid(SPDocument *document,int gridtype);
+    bool getSnapGlobal() const;
+    void setSnapGlobal(bool v);
+    void setGuides(bool v);
+
+private:
+    double getMarginLength(gchar const * const key,SPUnit const * const margin_units,SPUnit const * const return_units,double const width,double const height,bool const use_width);
+    friend class SPDocument;
 };
 
 struct SPNamedViewClass {
@@ -117,9 +104,11 @@ SPNamedView *sp_document_namedview(SPDocument *document, gchar const *name);
 
 void sp_namedview_window_from_document(SPDesktop *desktop);
 void sp_namedview_document_from_window(SPDesktop *desktop);
+void sp_namedview_update_layers_from_document (SPDesktop *desktop);
 
 void sp_namedview_toggle_guides(SPDocument *doc, Inkscape::XML::Node *repr);
-void sp_namedview_toggle_grid(SPDocument *doc, Inkscape::XML::Node *repr);
+void sp_namedview_show_grids(SPNamedView *namedview, bool show, bool dirty_document);
+Inkscape::CanvasGrid * sp_namedview_get_first_enabled_grid(SPNamedView *namedview);
 
 #endif /* !INKSCAPE_SP_NAMEDVIEW_H */
 
@@ -133,4 +122,4 @@ void sp_namedview_toggle_grid(SPDocument *doc, Inkscape::XML::Node *repr);
   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 :