rendered paste bodyIndex: src/bin/eve_scrolled_webview.c
===================================================================
--- src/bin/eve_scrolled_webview.c (revision 39112)
+++ src/bin/eve_scrolled_webview.c (working copy)
@@ -49,16 +49,6 @@
Evas_Object *mainframe;
const char *file;
const char *group;
- struct
- {
- Evas_Coord x, y;
- Ecore_Animator *anim;
- } mouse_move;
- struct
- {
- Evas_Coord dx, dy;
- Ecore_Animator *anim;
- } scroll_delayed;
};
static Evas_Smart_Class _parent_sc = {NULL};
@@ -76,207 +66,10 @@
}
static void
-_eve_scrolled_webview_scroll_by(Eve_Scrolled_Webview_Data *priv, int dx, int dy)
-{
- EWebKit_Hit_Test_Contents contents;
- Evas_Object *webframe = ewk_webpage_object_mainframe_get(priv->page);
- ewk_webframe_object_hit_test(webframe, &contents, priv->mouse_move.x, priv->mouse_move.y);
- ewk_webframe_object_scroll(contents.frame, dx, dy);
-}
-
-static int
-_eve_scrolled_webview_scroll_by_delayed_do(void *data)
-{
- Eve_Scrolled_Webview_Data *priv = data;
-
- if ((priv->scroll_delayed.dx == 0) && (priv->scroll_delayed.dy == 0))
- {
- priv->scroll_delayed.anim = NULL;
- return 0;
- }
-
- _eve_scrolled_webview_scroll_by
- (priv, priv->scroll_delayed.dx, priv->scroll_delayed.dy);
- priv->scroll_delayed.dx = 0;
- priv->scroll_delayed.dy = 0;
- return 1;
-}
-
-static void
-_eve_scrolled_webview_scroll_by_delayed(Eve_Scrolled_Webview_Data *priv, Evas_Coord dx, Evas_Coord dy)
-{
- if ((dx == 0) && (dy == 0))
- return;
-
- priv->scroll_delayed.dx += dx;
- priv->scroll_delayed.dy += dy;
-
- if (priv->scroll_delayed.anim)
- return;
- priv->scroll_delayed.anim = ecore_animator_add
- (_eve_scrolled_webview_scroll_by_delayed_do, priv);
-}
-
-static void
-_eve_scrolled_webview_on_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Eve_Scrolled_Webview_Data *priv = data;
- Evas_Event_Key_Down *ev = event_info;
- char *value;
-
- value = ev->keyname;
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- {
- fprintf(stderr, "DBG: key down event '%s' is on hold, ignored.\n",
- value);
- return;
- }
-
- if (!ewk_event_feed_key_press(priv->webview, ev))
- return;
-
- ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-
- if (strcmp(value,"Left") == 0)
- _eve_scrolled_webview_scroll_by_delayed(priv, -10, 0);
- else if (strcmp(value,"Right") == 0)
- _eve_scrolled_webview_scroll_by_delayed(priv, 10, 0);
- else if (strcmp(value,"Up") == 0)
- _eve_scrolled_webview_scroll_by_delayed(priv, 0, -10);
- else if (strcmp(value, "Down") == 0)
- _eve_scrolled_webview_scroll_by_delayed(priv, 0, 10);
- else if (strcmp(value, "Prior") == 0)
- {
- int offset;
- edje_object_part_geometry_get
- (priv->edje, EDJE_PART_CONTENT, NULL, NULL, NULL, &offset);
- offset = (offset * 9) / 10;
- _eve_scrolled_webview_scroll_by_delayed(priv, 0, -offset);
- }
- else if (strcmp(value, "Next") == 0)
- {
- int offset;
- edje_object_part_geometry_get
- (priv->edje, EDJE_PART_CONTENT, NULL, NULL, NULL, &offset);
- offset = (offset * 9) / 10;
- _eve_scrolled_webview_scroll_by_delayed(priv, 0, offset);
- }
- else if (strcmp(value, "Home") == 0)
- printf("Command:home\n");
- else if (strcmp(value, "End") == 0)
- printf("Command:end\n");
- else
- ev->event_flags &= ~EVAS_EVENT_FLAG_ON_HOLD; /* unset on_hold */
-}
-
-static int
-_eve_scrolled_webview_pan_anim(void *data)
-{
- Eve_Scrolled_Webview_Data *priv = data;
- Evas_Coord x, y, dx, dy;
-
- evas_pointer_output_xy_get(priv->base.evas, &x, &y);
- dx = priv->mouse_move.x - x ;
- dy = priv->mouse_move.y - y;
-
- if ((dx == 0) && (dy == 0))
- return 1;
-
- _eve_scrolled_webview_scroll_by(priv, dx, dy);
-
- priv->mouse_move.x = x;
- priv->mouse_move.y = y;
-
- return 1;
-}
-
-static void
-_eve_scrolled_webview_on_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Eve_Scrolled_Webview_Data *priv = data;
- Evas_Event_Mouse_Move *ev = event_info;
- ewk_event_feed_mouse_move(priv->webview, ev);
-}
-
-static void
-_eve_scrolled_webview_pan_anim_start(Eve_Scrolled_Webview_Data *priv)
-{
- if (priv->mouse_move.anim)
- return;
- priv->mouse_move.anim = ecore_animator_add
- (_eve_scrolled_webview_pan_anim, priv);
-
- evas_object_event_callback_del
- (priv->webview, EVAS_CALLBACK_MOUSE_MOVE,
- _eve_scrolled_webview_on_mouse_move);
-}
-
-static void
-_eve_scrolled_webview_pan_anim_stop(Eve_Scrolled_Webview_Data *priv)
-{
- if (!priv->mouse_move.anim)
- return;
- ecore_animator_del(priv->mouse_move.anim);
- priv->mouse_move.anim = NULL;
-
- /* make sure it's not there already */
- evas_object_event_callback_del
- (priv->webview, EVAS_CALLBACK_MOUSE_MOVE,
- _eve_scrolled_webview_on_mouse_move);
-
- evas_object_event_callback_add
- (priv->webview, EVAS_CALLBACK_MOUSE_MOVE,
- _eve_scrolled_webview_on_mouse_move, priv);
-}
-
-static void
-_eve_scrolled_webview_on_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Eve_Scrolled_Webview_Data *priv = data;
- Evas_Event_Mouse_Down *ev = event_info;
- bool accepted;
-
- evas_object_focus_set(priv->webview, 1);
-
- ewk_event_feed_mouse_down(priv->webview, ev);
-
- _eve_scrolled_webview_pan_anim_stop(priv);
-}
-
-static void
-_eve_scrolled_webview_on_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Eve_Scrolled_Webview_Data *priv = data;
- Evas_Event_Mouse_Up *ev = event_info;
-
- ewk_event_feed_mouse_up(obj, ev);
-}
-
-static void
-_eve_scrolled_webview_on_mouse_wheel(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Eve_Scrolled_Webview_Data *priv = data;
- Evas_Event_Mouse_Wheel *ev = event_info;
- int offset = ev->z * 20;
-
- if (offset == 0)
- return;
-
- if (ev->direction == 0)
- _eve_scrolled_webview_scroll_by_delayed(priv, 0, offset);
- else if (ev->direction == 1)
- _eve_scrolled_webview_scroll_by_delayed(priv, offset, 0);
-}
-
-static void
_eve_scrolled_webview_smart_del(Evas_Object *o)
{
EVE_SCROLLED_WEBVIEW_DATA_GET(o, priv);
- if (priv->scroll_delayed.anim)
- ecore_animator_del(priv->scroll_delayed.anim);
- _eve_scrolled_webview_pan_anim_stop(priv);
-
evas_object_del(priv->webview); /* edje does not delete its children */
eina_stringshare_del(priv->file);
@@ -344,21 +137,6 @@
priv->mainframe = ewk_webpage_object_mainframe_get(priv->page);
_eve_scrolled_webview_edje_reset(priv);
-
- const struct event_map
- {
- int event;
- void (*cb)(void *, Evas *, Evas_Object *, void *);
- } *itr, map[] = {
- {EVAS_CALLBACK_KEY_DOWN, _eve_scrolled_webview_on_key_down},
- {EVAS_CALLBACK_MOUSE_MOVE, _eve_scrolled_webview_on_mouse_move},
- {EVAS_CALLBACK_MOUSE_DOWN, _eve_scrolled_webview_on_mouse_down},
- {EVAS_CALLBACK_MOUSE_UP, _eve_scrolled_webview_on_mouse_up},
- {EVAS_CALLBACK_MOUSE_WHEEL, _eve_scrolled_webview_on_mouse_wheel},
- {-1, NULL}
- };
- for (itr = map; itr->cb != NULL; itr++)
- evas_object_event_callback_add(priv->webview, itr->event, itr->cb, priv);
}
Index: src/bin/eve_navigator.c
===================================================================
--- src/bin/eve_navigator.c (revision 39112)
+++ src/bin/eve_navigator.c (working copy)
@@ -170,16 +170,6 @@
}
static void
-_eve_navigator_on_scroll_requested(void *data, Evas_Object *obj, void *event_info)
-{
- EWebKit_Event_Scroll_Requested *ev = event_info;
-
- printf("TODO: scroll requested: %dx%d %d,%d+%dx%d\n",
- ev->width, ev->height,
- ev->view.x, ev->view.y, ev->view.w, ev->view.h);
-}
-
-static void
_eve_navigator_back(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Eve_Navigator_Data *priv = data;
@@ -360,8 +350,6 @@
(priv->webview, _eve_navigator_on_title_changed, priv);
ewk_callback_url_changed_add
(priv->webview, _eve_navigator_on_url_changed, priv);
- ewk_callback_scroll_requested_add
- (priv->webview, _eve_navigator_on_scroll_requested, priv);
evas_object_event_callback_add
(o, EVAS_CALLBACK_KEY_DOWN, _eve_navigator_on_key_down, priv);