[gtk+/gestures] texthandle: Make a bigger hit area around texthandles
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gestures] texthandle: Make a bigger hit area around texthandles
- Date: Fri, 16 May 2014 18:01:17 +0000 (UTC)
commit 3d98b5063db018987611a75b5f2acba8178d9e81
Author: Carlos Garnacho <carlosg gnome org>
Date: Fri May 16 19:59:31 2014 +0200
texthandle: Make a bigger hit area around texthandles
The hit area now extends to all sides around the handle, instead
of just towards where the text is. This makes it easier to grab
handles once shown.
gtk/gtktexthandle.c | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtktexthandle.c b/gtk/gtktexthandle.c
index 0634749..2261987 100644
--- a/gtk/gtktexthandle.c
+++ b/gtk/gtktexthandle.c
@@ -102,11 +102,14 @@ _gtk_text_handle_draw (GtkTextHandle *handle,
priv = handle->priv;
context = gtk_widget_get_style_context (priv->parent);
+ _gtk_text_handle_get_size (handle, &width, &height);
cairo_save (cr);
if (pos == GTK_TEXT_HANDLE_POSITION_SELECTION_END)
- cairo_translate (cr, 0, priv->windows[pos].pointing_to.height);
+ cairo_translate (cr, width, priv->windows[pos].pointing_to.height);
+ else
+ cairo_translate (cr, width, height);
gtk_style_context_save (context);
gtk_style_context_add_class (context,
@@ -125,7 +128,6 @@ _gtk_text_handle_draw (GtkTextHandle *handle,
gtk_style_context_add_class (context,
GTK_STYLE_CLASS_TOP);
- _gtk_text_handle_get_size (handle, &width, &height);
gtk_render_background (context, cr, 0, 0, width, height);
gtk_style_context_restore (context);
@@ -313,6 +315,13 @@ _gtk_text_handle_update (GtkTextHandle *handle,
rect.width = width;
rect.height = 0;
+ /* Make the window 3 times as wide, and 2 times as high (plus
+ * handle_window->pointing_to.height), the handle will be rendered
+ * in the center. Making the rest an invisible input area.
+ */
+ width *= 3;
+ height *= 2;
+
_handle_update_child_visible (handle, pos);
window = gtk_widget_get_parent (handle_window->widget);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]