diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2018-11-29 12:35:01 +0000 |
|---|---|---|
| committer | Tavmjong Bah <tavmjong@free.fr> | 2018-11-29 12:35:01 +0000 |
| commit | 04bb2839ce56feefb18fa5b2eb053501ef8f6edf (patch) | |
| tree | a36e53c9bb58111475687c80b2e45ff45f6147db /src/ui/view/svg-view.cpp | |
| parent | Update/correct README. (diff) | |
| download | inkscape-04bb2839ce56feefb18fa5b2eb053501ef8f6edf.tar.gz inkscape-04bb2839ce56feefb18fa5b2eb053501ef8f6edf.zip | |
Start of making View independent of GUI.
Diffstat (limited to 'src/ui/view/svg-view.cpp')
| -rw-r--r-- | src/ui/view/svg-view.cpp | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/src/ui/view/svg-view.cpp b/src/ui/view/svg-view.cpp index 6db3fa2a4..e86228322 100644 --- a/src/ui/view/svg-view.cpp +++ b/src/ui/view/svg-view.cpp @@ -130,11 +130,12 @@ void SVGView::mouseout() gdk_window_set_cursor(window, nullptr); } + //---------------------------------------------------------------- /** * Callback connected with arena_event. */ -/// \todo fixme. +/// \todo fixme. This hasn't worked since at least 0.48. It should result in a cursor change over <a></a> links. static gint arena_handler(SPCanvasArena */*arena*/, Inkscape::DrawingItem *ai, GdkEvent *event, SVGView *svgview) { static gdouble x, y; @@ -144,46 +145,46 @@ static gint arena_handler(SPCanvasArena */*arena*/, Inkscape::DrawingItem *ai, G SPItem *spitem = (ai) ? (static_cast<SPItem*>(ai->data())) : nullptr; switch (event->type) { - case GDK_BUTTON_PRESS: - if (event->button.button == 1) { - active = TRUE; - x = event->button.x; - y = event->button.y; - } - break; - case GDK_BUTTON_RELEASE: - if (event->button.button == 1) { - if (active && (event->button.x == x) && - (event->button.y == y)) { - spev.type = SP_EVENT_ACTIVATE; - if ( spitem != nullptr ) - { - spitem->emitEvent (spev); - } - } + case GDK_BUTTON_PRESS: + if (event->button.button == 1) { + active = TRUE; + x = event->button.x; + y = event->button.y; + } + break; + case GDK_BUTTON_RELEASE: + if (event->button.button == 1) { + if (active && (event->button.x == x) && + (event->button.y == y)) { + spev.type = SPEvent::ACTIVATE; + if ( spitem != nullptr ) + { + spitem->emitEvent (spev); + } + } } active = FALSE; break; - case GDK_MOTION_NOTIFY: + case GDK_MOTION_NOTIFY: active = FALSE; break; - case GDK_ENTER_NOTIFY: - spev.type = SP_EVENT_MOUSEOVER; - spev.data = svgview; + case GDK_ENTER_NOTIFY: + spev.type = SPEvent::MOUSEOVER; + spev.view = svgview; if ( spitem != nullptr ) { - spitem->emitEvent (spev); + spitem->emitEvent (spev); } break; - case GDK_LEAVE_NOTIFY: - spev.type = SP_EVENT_MOUSEOUT; - spev.data = svgview; + case GDK_LEAVE_NOTIFY: + spev.type = SPEvent::MOUSEOUT; + spev.view = svgview; if ( spitem != nullptr ) { - spitem->emitEvent (spev); + spitem->emitEvent (spev); } break; - default: + default: break; } |
