diff options
author | Vincent Sanders <vince@kyllikki.org> | 2019-08-02 22:07:59 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2019-08-03 14:29:05 +0100 |
commit | 0a8ed41a1ad470bb62c908d0dc6272c1c541a1f2 (patch) | |
tree | 149a44db1bbea14e8fb4577ad53b01cfc472e527 /frontends/gtk/window.c | |
parent | 182c4ddefe6c1cd050361febb344ccd8cd5d1c96 (diff) | |
download | netsurf-0a8ed41a1ad470bb62c908d0dc6272c1c541a1f2.tar.gz netsurf-0a8ed41a1ad470bb62c908d0dc6272c1c541a1f2.tar.bz2 |
change browser_window_mouse_click to use unscaled coordinates
this means frontends no longer need to scale mouse click events thus
simplifying their implementation.
Diffstat (limited to 'frontends/gtk/window.c')
-rw-r--r-- | frontends/gtk/window.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/frontends/gtk/window.c b/frontends/gtk/window.c index aab4597dc..341eb5db8 100644 --- a/frontends/gtk/window.c +++ b/frontends/gtk/window.c @@ -332,8 +332,13 @@ static gboolean nsgtk_window_motion_notify_event(GtkWidget *widget, return TRUE; } -static gboolean nsgtk_window_button_press_event(GtkWidget *widget, - GdkEventButton *event, gpointer data) +/** + * GTK signal handler for button-press-event on layout + */ +static gboolean +nsgtk_window_button_press_event(GtkWidget *widget, + GdkEventButton *event, + gpointer data) { struct gui_window *g = data; @@ -341,8 +346,8 @@ static gboolean nsgtk_window_button_press_event(GtkWidget *widget, gtk_widget_grab_focus(GTK_WIDGET(g->layout)); nsgtk_local_history_hide(); - g->mouse.pressed_x = event->x / browser_window_get_scale(g->bw); - g->mouse.pressed_y = event->y / browser_window_get_scale(g->bw); + g->mouse.pressed_x = event->x; + g->mouse.pressed_y = event->y; switch (event->button) { case 1: /* Left button, usually. Pass to core as BUTTON 1. */ @@ -382,8 +387,10 @@ static gboolean nsgtk_window_button_press_event(GtkWidget *widget, g->last_x = event->x; g->last_y = event->y; - browser_window_mouse_click(g->bw, g->mouse.state, g->mouse.pressed_x, - g->mouse.pressed_y); + browser_window_mouse_click(g->bw, + g->mouse.state, + g->mouse.pressed_x, + g->mouse.pressed_y); return TRUE; } @@ -410,8 +417,8 @@ static gboolean nsgtk_window_button_release_event(GtkWidget *widget, if (g->mouse.state & (BROWSER_MOUSE_CLICK_1 | BROWSER_MOUSE_CLICK_2)) { browser_window_mouse_click(g->bw, g->mouse.state, - event->x / browser_window_get_scale(g->bw), - event->y / browser_window_get_scale(g->bw)); + event->x, + event->y); } else { browser_window_mouse_track(g->bw, 0, event->x / browser_window_get_scale(g->bw), |