diff --git a/src/desktop.h b/src/desktop.h
index e9e2f638e764d5388ba433ea12bf6fdae8a55e29..4c255ecbbb140f9c935c43ec9afe5e423e7534ff 100644 (file)
--- a/src/desktop.h
+++ b/src/desktop.h
* bulia byak <buliabyak@users.sf.net>
* Ralf Stephan <ralf@ark.in-berlin.de>
* John Bintz <jcoswell@coswellproductions.org>
+ * Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
*
+ * Copyright (C) 2007 Johan Engelen
* Copyright (C) 2006 John Bintz
* Copyright (C) 1999-2005 authors
* Copyright (C) 2000-2001 Ximian, Inc.
class NRRect;
class SPCSSAttr;
+struct _GtkWidget;
+typedef struct _GtkWidget GtkWidget;
struct SPCanvas;
struct SPCanvasItem;
struct SPCanvasGroup;
SPCanvasItem *acetate;
SPCanvasGroup *main;
- SPCanvasGroup *grid;
+ SPCanvasGroup *gridgroup;
SPCanvasGroup *guides;
SPCanvasItem *drawing;
SPCanvasGroup *sketch;
GList *zooms_future;
unsigned int dkey;
unsigned int number;
- bool is_fullscreen;
+ guint window_state;
unsigned int interaction_disabled_counter;
+ bool waiting_cursor;
/// \todo fixme: This has to be implemented in different way */
guint guides_active : 1;
// storage for selected dragger used by GrDrag as it's
// created and deleted by tools
SPItem *gr_item;
- guint gr_point_num;
+ guint gr_point_type;
+ guint gr_point_i;
bool gr_fill_or_stroke;
+
Inkscape::ObjectHierarchy *_layer_hierarchy;
gchar * _reconstruction_old_layer_id;
void next_zoom();
bool scroll_to_point (NR::Point const *s_dt, gdouble autoscrollspeed = 0);
- void scroll_world (double dx, double dy);
- void scroll_world (NR::Point const scroll)
+ void scroll_world (double dx, double dy, bool is_scrolling = false);
+ void scroll_world (NR::Point const scroll, bool is_scrolling = false)
{
using NR::X;
- using NR::Y;
- scroll_world(scroll[X], scroll[Y]);
+ using NR::Y;
+ scroll_world(scroll[X], scroll[Y], is_scrolling);
}
void getWindowGeometry (gint &x, gint &y, gint &w, gint &h);
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();
void enableInteraction();
void disableInteraction();
+
+ void setWaitingCursor();
+ 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;
NR::Matrix _d2w;
NR::Matrix _doc2dt;
+ bool grids_visible;
+
void push_current_zoom (GList**);
sigc::signal<void,SPDesktop*,SPDocument*> _document_replaced_signal;