29 if (prefs->getBool(
"/tools/zoom/selcue")) {
33 if (prefs->getBool(
"/tools/zoom/gradientdrag")) {
47 tolerance = prefs->getIntLimited(
"/options/dragtolerance/value", 0, 0, 100);
48 double const zoom_inc = prefs->getDoubleLimited(
"/options/zoomincrement/value", M_SQRT2, 1.01, 10);
54 if (event.num_press != 1) {
58 auto const button_w = event.pos;
61 if (event.button == 1) {
64 rubberband->start(
_desktop, button_dt);
67 }
else if (event.button == 3) {
68 double const zoom_rel = (
event.modifiers & GDK_SHIFT_MASK)
83 if (!(event.
modifiers & GDK_BUTTON1_MASK)) {
101 if (event.button == 1) {
107 double const zoom_rel = (
event.modifiers & GDK_SHIFT_MASK)
142 case GDK_KEY_KP_Down:
149 case GDK_KEY_Shift_L:
150 case GDK_KEY_Shift_R:
155 case GDK_KEY_KP_Delete:
156 case GDK_KEY_BackSpace:
167 case GDK_KEY_Shift_L:
168 case GDK_KEY_Shift_R:
static Preferences * get()
Access the singleton Preferences object.
static Rubberband * get(SPDesktop *desktop)
void move(Geom::Point const &p)
Geom::OptRect getRectangle() const
To do: update description of desktop.
void set_display_area(bool log=true)
Does all the dirty work in setting the display area.
void zoom_relative(Geom::Point const &c, double zoom, bool keep_point=true)
Zoom in or out relatively to the current zoom.
Geom::Affine const & w2d() const
Transformation from window to desktop coordinates (zoom/rotate).
Editable view implementation.
void selectNone(SPDesktop *desktop)
void inspect_event(E &&event, Fs... funcs)
Perform pattern-matching on a CanvasEvent.
bool mod_ctrl_only(unsigned modifiers)
Abstract base class for events.
unsigned modifiers
The modifiers mask immediately before the event.
Movement of the mouse pointer.