diff --git a/src/desktop.h b/src/desktop.h
index e499358c7d4ab23e77297403b8960e30677774a3..4c255ecbbb140f9c935c43ec9afe5e423e7534ff 100644 (file)
--- a/src/desktop.h
+++ b/src/desktop.h
* Frank Felfe <innerspace@iname.com>
* 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;
class Selection;
class ObjectHierarchy;
class LayerManager;
+ class EventLog;
namespace UI {
namespace Dialog {
class DialogManager;
Inkscape::Selection *selection;
SPEventContext *event_context;
Inkscape::LayerManager *layer_manager;
+ Inkscape::EventLog *event_log;
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 setDisplayModeNormal();
void setDisplayModeOutline();
+ void displayModeToggle();
+ int displayMode;
+ int getMode() const { return displayMode; }
void set_active (bool new_active);
SPObject *currentRoot() const;
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 setToolboxAdjustmentValue (gchar const* id, double val);
bool isToolboxButtonActive (gchar const *id);
void updateNow();
+ void updateCanvasNow();
+
+ 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;