diff --git a/src/desktop.h b/src/desktop.h
index 4c9d1ece8cfcaed5ebdd4d0987ddce8f642ef4c4..adb6cb98b1f67089c9877d5801ce7846be458912 100644 (file)
--- a/src/desktop.h
+++ b/src/desktop.h
#include "ui/view/view.h"
#include "ui/view/edit-widget-interface.h"
+#include "display/rendermode.h"
+#include "display/snap-indicator.h"
+
class NRRect;
class SPCSSAttr;
struct _GtkWidget;
struct SPCanvas;
struct SPCanvasItem;
struct SPCanvasGroup;
-struct SPDesktopWidget;
struct SPEventContext;
struct SPItem;
struct SPNamedView;
struct SPObject;
struct SPStyle;
-struct SPViewWidget;
namespace Gtk
{
namespace Whiteboard {
class SessionManager;
}
+ namespace Display {
+ class TemporaryItemList;
+ class TemporaryItem;
+ //class SnapIndicator;
+ }
}
/**
Inkscape::LayerManager *layer_manager;
Inkscape::EventLog *event_log;
+ Inkscape::Display::TemporaryItemList *temporary_item_list;
+ Inkscape::Display::SnapIndicator *snapindicator;
+
SPCanvasItem *acetate;
SPCanvasGroup *main;
SPCanvasGroup *gridgroup;
SPCanvasItem *drawing;
SPCanvasGroup *sketch;
SPCanvasGroup *controls;
+ SPCanvasGroup *tempgroup; ///< contains temporary canvas items
SPCanvasItem *table; ///< outside-of-page background
SPCanvasItem *page; ///< page background
SPCanvasItem *page_border; ///< page border
return _guides_message_context;
}
- void setDisplayModeNormal();
- void setDisplayModeOutline();
+ Inkscape::Display::TemporaryItem * add_temporary_canvasitem (SPCanvasItem *item, guint lifetime, bool move_to_bottom = true);
+ void remove_temporary_canvasitem (Inkscape::Display::TemporaryItem * tempitem);
+
+ void _setDisplayMode(Inkscape::RenderMode mode);
+ void setDisplayModeNormal() {
+ _setDisplayMode(Inkscape::RENDERMODE_NORMAL);
+ }
+ void setDisplayModeNoFilters() {
+ _setDisplayMode(Inkscape::RENDERMODE_NO_FILTERS);
+ }
+ void setDisplayModeOutline() {
+ _setDisplayMode(Inkscape::RENDERMODE_OUTLINE);
+ }
void displayModeToggle();
- int displayMode;
- int getMode() const { return displayMode; }
+ Inkscape::RenderMode _display_mode;
+ Inkscape::RenderMode _saved_display_mode;
+ Inkscape::RenderMode getMode() const { return _display_mode; }
Inkscape::UI::Widget::Dock* getDock() { return _widget->getDock(); }
SPObject *currentRoot() const;
SPObject *currentLayer() const;
void setCurrentLayer(SPObject *object);
+ void toggleLayerSolo(SPObject *object);
SPObject *layerForObject(SPObject *object);
bool isLayer(SPObject *object) const;
bool isWithinViewport(SPItem *item) const;
void zoom_drawing();
void zoom_selection();
void zoom_grab_focus();
- double current_zoom() const { return _d2w.expansion(); }
+ double current_zoom() const { return NR::expansion(_d2w); }
void prev_zoom();
void next_zoom();
using NR::Y;
scroll_world(scroll[X], scroll[Y], is_scrolling);
}
+ void scroll_world_in_svg_coords (double dx, double dy, bool is_scrolling = false);
void getWindowGeometry (gint &x, gint &y, gint &w, gint &h);
void setWindowPosition (NR::Point p);
void toggleColorProfAdjust();
void toggleGrids();
+ void toggleSnapping();
bool gridsEnabled() { return grids_visible; }
void showGrids(bool show, bool dirty_document = true);