Code

Filter effects dialog:
[inkscape.git] / src / desktop.h
index 1770af9f5d7b45aa84d27f4629e037fdc01d01e8..4c255ecbbb140f9c935c43ec9afe5e423e7534ff 100644 (file)
@@ -35,6 +35,8 @@
 
 class NRRect;
 class SPCSSAttr;
+struct _GtkWidget;
+typedef struct _GtkWidget GtkWidget;
 struct SPCanvas;
 struct SPCanvasItem;
 struct SPCanvasGroup;
@@ -83,7 +85,7 @@ struct SPDesktop : public Inkscape::UI::View::View
 
     SPCanvasItem  *acetate;
     SPCanvasGroup *main;
-    SPCanvasGroup *grid;
+    SPCanvasGroup *gridgroup;
     SPCanvasGroup *guides;
     SPCanvasItem  *drawing;
     SPCanvasGroup *sketch;
@@ -97,7 +99,7 @@ struct SPDesktop : public Inkscape::UI::View::View
     GList *zooms_future;
     unsigned int dkey;
     unsigned int number;
-    bool is_fullscreen;
+    guint window_state;
     unsigned int interaction_disabled_counter;
     bool waiting_cursor;
 
@@ -227,6 +229,7 @@ struct SPDesktop : public Inkscape::UI::View::View
     void setWindowPosition (NR::Point p);
     void setWindowSize (gint w, gint h);
     void setWindowTransient (void* p, int transient_policy=1);
+    void getToplevel( GtkWidget*& toplevel );
     void presentWindow();
     bool warnDialog (gchar *text);
     void toggleRulers();
@@ -246,13 +249,20 @@ struct SPDesktop : public Inkscape::UI::View::View
     void clearWaitingCursor();
     
     void toggleGrid();
+    bool gridsEnabled() { return grids_visible; }
     
+    bool is_iconified();
+    bool is_maximized();
+    bool is_fullscreen();
+
+    void iconify();
+    void maximize();
     void fullscreen();
 
     void registerEditWidget (Inkscape::UI::View::EditWidgetInterface *widget)
     { _widget = widget; }
 
-    NR::Matrix w2d() const;
+    NR::Matrix w2d() const; //transformation from window to desktop coordinates (used for zooming)
     NR::Point w2d(NR::Point const &p) const;
     NR::Point d2w(NR::Point const &p) const;
     NR::Matrix doc2dt() const;
@@ -273,6 +283,8 @@ private:
     NR::Matrix _d2w;
     NR::Matrix _doc2dt;
     
+    bool grids_visible;
+    
     void push_current_zoom (GList**);
 
     sigc::signal<void,SPDesktop*,SPDocument*>     _document_replaced_signal;