diff --git a/src/desktop.h b/src/desktop.h
index 2a811a72383e4e1edc3367891495d70d1f77327f..adb6cb98b1f67089c9877d5801ce7846be458912 100644 (file)
--- a/src/desktop.h
+++ b/src/desktop.h
-#ifndef __SP_DESKTOP_H__
-#define __SP_DESKTOP_H__
+#ifndef SEEN_SP_DESKTOP_H
+#define SEEN_SP_DESKTOP_H
/** \file
* SPDesktop: an editable view.
/** \file
* SPDesktop: an editable view.
#include "ui/view/view.h"
#include "ui/view/edit-widget-interface.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;
class NRRect;
class SPCSSAttr;
struct _GtkWidget;
struct SPCanvas;
struct SPCanvasItem;
struct SPCanvasGroup;
struct SPCanvas;
struct SPCanvasItem;
struct SPCanvasGroup;
-struct SPDesktopWidget;
struct SPEventContext;
struct SPItem;
struct SPNamedView;
struct SPObject;
struct SPStyle;
struct SPEventContext;
struct SPItem;
struct SPNamedView;
struct SPObject;
struct SPStyle;
-struct SPViewWidget;
namespace Gtk
{
namespace Gtk
{
-namespace Inkscape {
+namespace Inkscape {
class Application;
class MessageContext;
class Application;
class MessageContext;
- class Selection;
+ class Selection;
class ObjectHierarchy;
class LayerManager;
class EventLog;
class ObjectHierarchy;
class LayerManager;
class EventLog;
- namespace UI {
- namespace Dialog {
- class DialogManager;
+ namespace UI {
+ namespace Dialog {
+ class DialogManager;
}
}
namespace Whiteboard {
class SessionManager;
}
}
}
namespace Whiteboard {
class SessionManager;
}
+ namespace Display {
+ class TemporaryItemList;
+ class TemporaryItem;
+ //class SnapIndicator;
+ }
}
/**
}
/**
Inkscape::LayerManager *layer_manager;
Inkscape::EventLog *event_log;
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 *acetate;
SPCanvasGroup *main;
SPCanvasGroup *gridgroup;
SPCanvasItem *drawing;
SPCanvasGroup *sketch;
SPCanvasGroup *controls;
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
SPCanvasItem *table; ///< outside-of-page background
SPCanvasItem *page; ///< page background
SPCanvasItem *page_border; ///< page border
/// \todo fixme: This has to be implemented in different way */
guint guides_active : 1;
/// \todo fixme: This has to be implemented in different way */
guint guides_active : 1;
- // storage for selected dragger used by GrDrag as it's
+ // storage for selected dragger used by GrDrag as it's
// created and deleted by tools
SPItem *gr_item;
guint gr_point_type;
guint gr_point_i;
// created and deleted by tools
SPItem *gr_item;
guint gr_point_type;
guint gr_point_i;
- bool gr_fill_or_stroke;
-
+ bool gr_fill_or_stroke;
+
Inkscape::ObjectHierarchy *_layer_hierarchy;
gchar * _reconstruction_old_layer_id;
Inkscape::ObjectHierarchy *_layer_hierarchy;
gchar * _reconstruction_old_layer_id;
{
return _document_replaced_signal.connect (slot);
}
{
return _document_replaced_signal.connect (slot);
}
-
- sigc::connection connectEventContextChanged (const sigc::slot<void,SPDesktop*,SPEventContext*> & slot)
+
+ sigc::connection connectEventContextChanged (const sigc::slot<void,SPDesktop*,SPEventContext*> & slot)
{
return _event_context_changed_signal.connect (slot);
}
{
return _event_context_changed_signal.connect (slot);
}
- sigc::connection connectSetStyle (const sigc::slot<bool, const SPCSSAttr *> & slot)
+ sigc::connection connectSetStyle (const sigc::slot<bool, const SPCSSAttr *> & slot)
{
{
- return _set_style_signal.connect (slot);
+ return _set_style_signal.connect (slot);
}
}
- sigc::connection connectQueryStyle (const sigc::slot<int, SPStyle *, int> & slot)
+ sigc::connection connectQueryStyle (const sigc::slot<int, SPStyle *, int> & slot)
{
{
- return _query_style_signal.connect (slot);
+ return _query_style_signal.connect (slot);
}
// subselection is some sort of selection which is specific to the tool, such as a handle in gradient tool, or a text selection
sigc::connection connectToolSubselectionChanged(const sigc::slot<void, gpointer> & slot) {
}
// subselection is some sort of selection which is specific to the tool, such as a handle in gradient tool, or a text selection
sigc::connection connectToolSubselectionChanged(const sigc::slot<void, gpointer> & slot) {
- return _tool_subselection_changed.connect(slot);
+ return _tool_subselection_changed.connect(slot);
}
}
- void emitToolSubselectionChanged(gpointer data);
+ void emitToolSubselectionChanged(gpointer data);
sigc::connection connectCurrentLayerChanged(const sigc::slot<void, SPObject *> & slot) {
sigc::connection connectCurrentLayerChanged(const sigc::slot<void, SPObject *> & slot) {
- return _layer_changed_signal.connect(slot);
+ return _layer_changed_signal.connect(slot);
}
}
-
- // Whiteboard changes
+
+ // Whiteboard changes
#ifdef WITH_INKBOARD
#ifdef WITH_INKBOARD
- Inkscape::Whiteboard::SessionManager* whiteboard_session_manager() {
- return _whiteboard_session_manager;
- }
+ Inkscape::Whiteboard::SessionManager* whiteboard_session_manager() {
+ return _whiteboard_session_manager;
+ }
- Inkscape::Whiteboard::SessionManager* _whiteboard_session_manager;
+ Inkscape::Whiteboard::SessionManager* _whiteboard_session_manager;
#endif
#endif
-
+
SPDesktop();
void init (SPNamedView* nv, SPCanvas* canvas);
SPDesktop();
void init (SPNamedView* nv, SPCanvas* canvas);
- ~SPDesktop();
+ virtual ~SPDesktop();
void destroy();
Inkscape::MessageContext *guidesMessageContext() const {
void destroy();
Inkscape::MessageContext *guidesMessageContext() const {
- return _guides_message_context;
+ 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();
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(); }
Inkscape::UI::Widget::Dock* getDock() { return _widget->getDock(); }
SPObject *currentRoot() const;
SPObject *currentLayer() const;
void setCurrentLayer(SPObject *object);
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;
bool itemIsHidden(SPItem const *item) const;
SPObject *layerForObject(SPObject *object);
bool isLayer(SPObject *object) const;
bool isWithinViewport(SPItem *item) const;
bool itemIsHidden(SPItem const *item) const;
-
+
void activate_guides (bool activate);
void change_document (SPDocument *document);
void activate_guides (bool activate);
void change_document (SPDocument *document);
void zoom_drawing();
void zoom_selection();
void zoom_grab_focus();
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();
void prev_zoom();
void next_zoom();
using NR::Y;
scroll_world(scroll[X], scroll[Y], is_scrolling);
}
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 getWindowGeometry (gint &x, gint &y, gint &w, gint &h);
void setWindowPosition (NR::Point p);
bool isToolboxButtonActive (gchar const *id);
void updateNow();
void updateCanvasNow();
bool isToolboxButtonActive (gchar const *id);
void updateNow();
void updateCanvasNow();
-
+
void enableInteraction();
void disableInteraction();
void setWaitingCursor();
void clearWaitingCursor();
void enableInteraction();
void disableInteraction();
void setWaitingCursor();
void clearWaitingCursor();
-
+
+ void toggleColorProfAdjust();
+
void toggleGrids();
void toggleGrids();
+ void toggleSnapping();
bool gridsEnabled() { return grids_visible; }
bool gridsEnabled() { return grids_visible; }
- void showGrids(bool show);
+ void showGrids(bool show, bool dirty_document = true);
bool is_iconified();
bool is_maximized();
bool is_iconified();
bool is_maximized();
static void _onSelectionModified (Inkscape::Selection *selection, guint flags, SPDesktop *dt);
};
static void _onSelectionModified (Inkscape::Selection *selection, guint flags, SPDesktop *dt);
};
-#endif
+#endif // SEEN_SP_DESKTOP_H
/*
Local Variables:
/*
Local Variables: