1dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block/* 2dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Copyright (C) 2009-2010 ProFUSION embedded systems 3dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Copyright (C) 2009-2010 Samsung Electronics 4dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 5dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block This library is free software; you can redistribute it and/or 6dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block modify it under the terms of the GNU Library General Public 7dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block License as published by the Free Software Foundation; either 8dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block version 2 of the License, or (at your option) any later version. 9dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 10dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block This library is distributed in the hope that it will be useful, 11dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block but WITHOUT ANY WARRANTY; without even the implied warranty of 12dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Library General Public License for more details. 14dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 15dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block You should have received a copy of the GNU Library General Public License 16dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block along with this library; see the file COPYING.LIB. If not, write to 17dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Boston, MA 02110-1301, USA. 19dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block*/ 20dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 21dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#ifndef ewk_frame_h 22dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#define ewk_frame_h 23dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 24dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include "ewk_eapi.h" 25dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include <Evas.h> 26dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 27dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#ifdef __cplusplus 28dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockextern "C" { 29dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif 30dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 31dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block/** 32dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * @file 33dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * 34dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * WebKit frame smart object. 35dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * 36dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * This object is the low level access to WebKit-EFL browser 37dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * component. It represents both the main and internal frames that 38dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * HTML pages contain. 39dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * 40dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * Every ewk_view has at least one frame, called "main frame" and 41dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * retrieved with ewk_view_frame_main_get(). One can retrieve frame's 42dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * owner view with ewk_frame_view_get(). Parent frame can be retrieved 43dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * with standard smart object's evas_object_smart_parent_get(). 44dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * Children can be accessed with ewk_frame_children_iterator_new() or 45dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * ewk_frame_child_find(). 46dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * 47dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * The following signals (see evas_object_smart_callback_add()) are emitted: 48dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * 49dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * - "title,changed", const char*: title of the main frame changed. 50dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * - "uri,changed", const char*: uri of the main frame changed. 51e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * - "load,document,finished", void: loading of a document has 52e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * finished on this frame. 53e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * - "load,nonemptylayout,finished", void: frame finished first 54e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * non-empty layout. 55dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * - "load,started", void: frame started loading. 56dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * - "load,progress", double*: load progress changed (overall value 57dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * from 0.0 to 1.0, connect to individual frames for fine grained). 58dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * - "load,finished", const Ewk_Frame_Load_Error*: reports load 59dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * finished and as argument @c NULL if successfully or pointer to 60dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * structure defining the error. 61e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * - "load,provisional", void: frame started provisional load. 62e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * - "load,firstlayout,finished", void: frame finished first layout. 63dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * - "load,error", const Ewk_Frame_Load_Error*: reports load failed 64dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * and as argument a pointer to structure defining the error. 65dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * - "contents,size,changed", Evas_Coord[2]: reports contents size 66dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * changed due new layout, script actions or any other events. 67e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * - "navigation,first", void: first navigation occurred. 68e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * - "resource,request,new", Ewk_Frame_Resource_Request*: reports that 69e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * there's a new resource request. 70e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * - "resource,request,willsend", Ewk_Frame_Resource_Request*: a resource will 71e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * be requested. 72e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * - "state,save", void: frame's state will be saved as a history item. 73dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block */ 74dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 75dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 76dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block/** 77dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * Structure used to report load errors. 78dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * 79dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * Load errors are reported as signal by ewk_view. All the strings are 80dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * temporary references and should @b not be used after the signal 81dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * callback returns. If required, make copies with strdup() or 82dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * eina_stringshare_add() (they are not even guaranteed to be 83dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * stringshared, so must use eina_stringshare_add() and not 84dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * eina_stringshare_ref()). 85dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block */ 86dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blocktypedef struct _Ewk_Frame_Load_Error Ewk_Frame_Load_Error; 87dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockstruct _Ewk_Frame_Load_Error { 88dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block int code; /**< numeric error code */ 89dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Eina_Bool is_cancellation; /**< if load failed because it was canceled */ 90dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block const char *domain; /**< error domain name */ 91dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block const char *description; /**< error description already localized */ 92dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block const char *failing_url; /**< the url that failed to load */ 93dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Evas_Object *frame; /**< frame where the failure happened */ 94dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}; 95dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 96dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block/** 97e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * Structure used to report resource requests 98e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * 99e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * Details given before a resource is loaded on a given frame. It's used by 100e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * ewk_frame_request_will_send() to inform the details of a to-be-loaded 101e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * resource, allowing them to be overridden. 102e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke */ 103e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarketypedef struct _Ewk_Frame_Resource_Request Ewk_Frame_Resource_Request; 104e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkestruct _Ewk_Frame_Resource_Request { 105e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke const char *url; /**< url of this resource */ 106e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke const unsigned long identifier; /**< resource's identifier. Can not be changed */ 107e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke}; 108e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke 109e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke/** 110dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * Structure used to report hit test results. 111dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block */ 112dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blocktypedef struct _Ewk_Hit_Test Ewk_Hit_Test; 113dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockstruct _Ewk_Hit_Test { 114dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block int x, y; 115dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block struct { 116dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block int x, y, w, h; 117dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block } bounding_box; 118dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block const char *title; 119dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block const char *alternate_text; /**< for image, area, input and applet */ 120dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Evas_Object *frame; 121dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block struct { 122dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block const char *text; 123dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block const char *url; 124dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block const char *title; 125dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Evas_Object *target_frame; 126dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block } link; 127dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block struct { 128dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Eina_Bool editable:1; 129dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Eina_Bool selected:1; 130dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block } flags; 131dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}; 132dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 133cad810f21b803229eb11403f9209855525a25d57Steve Blocktypedef enum { 134cad810f21b803229eb11403f9209855525a25d57Steve Block EWK_TOUCH_START, 135cad810f21b803229eb11403f9209855525a25d57Steve Block EWK_TOUCH_END, 136cad810f21b803229eb11403f9209855525a25d57Steve Block EWK_TOUCH_MOVE, 137cad810f21b803229eb11403f9209855525a25d57Steve Block EWK_TOUCH_CANCEL 138cad810f21b803229eb11403f9209855525a25d57Steve Block} Ewk_Touch_Event_Type; 139cad810f21b803229eb11403f9209855525a25d57Steve Block 140cad810f21b803229eb11403f9209855525a25d57Steve Blocktypedef enum { 141cad810f21b803229eb11403f9209855525a25d57Steve Block EWK_TOUCH_POINT_PRESSED, 142cad810f21b803229eb11403f9209855525a25d57Steve Block EWK_TOUCH_POINT_RELEASED, 143cad810f21b803229eb11403f9209855525a25d57Steve Block EWK_TOUCH_POINT_MOVED, 144cad810f21b803229eb11403f9209855525a25d57Steve Block EWK_TOUCH_POINT_CANCELLED 145cad810f21b803229eb11403f9209855525a25d57Steve Block} Ewk_Touch_Point_Type; 146cad810f21b803229eb11403f9209855525a25d57Steve Block 147cad810f21b803229eb11403f9209855525a25d57Steve Blocktypedef struct _Ewk_Touch_Point Ewk_Touch_Point; 148cad810f21b803229eb11403f9209855525a25d57Steve Blockstruct _Ewk_Touch_Point { 149cad810f21b803229eb11403f9209855525a25d57Steve Block unsigned int id; 150cad810f21b803229eb11403f9209855525a25d57Steve Block int x, y; 151cad810f21b803229eb11403f9209855525a25d57Steve Block Ewk_Touch_Point_Type state; 152cad810f21b803229eb11403f9209855525a25d57Steve Block}; 153dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 154dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Evas_Object *ewk_frame_view_get(const Evas_Object *o); 155dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI void ewk_frame_theme_set(Evas_Object *o, const char *path); 156dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI const char *ewk_frame_theme_get(Evas_Object *o); 157dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 158dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Iterator *ewk_frame_children_iterator_new(Evas_Object *o); 159dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Evas_Object *ewk_frame_child_find(Evas_Object *o, const char *name); 160dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 161dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_uri_set(Evas_Object *o, const char *uri); 162dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI const char *ewk_frame_uri_get(const Evas_Object *o); 163dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI const char *ewk_frame_title_get(const Evas_Object *o); 164dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI const char *ewk_frame_name_get(const Evas_Object *o); 165dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_contents_size_get(const Evas_Object *o, Evas_Coord *w, Evas_Coord *h); 166dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 167dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_contents_set(Evas_Object *o, const char *contents, size_t contents_size, const char *mime_type, const char *encoding, const char *base_uri); 168dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_contents_alternate_set(Evas_Object *o, const char *contents, size_t contents_size, const char *mime_type, const char *encoding, const char *base_uri, const char *unreachable_uri); 169dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 170dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_script_execute(Evas_Object *o, const char *script); 171dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 172dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_editable_get(const Evas_Object *o); 173dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_editable_set(Evas_Object *o, Eina_Bool editable); 174dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 175dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI char *ewk_frame_selection_get(const Evas_Object *o); 176dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 177dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_text_search(const Evas_Object *o, const char *string, Eina_Bool case_sensitive, Eina_Bool forward, Eina_Bool wrap); 178dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 179dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI unsigned int ewk_frame_text_matches_mark(Evas_Object *o, const char *string, Eina_Bool case_sensitive, Eina_Bool highlight, unsigned int limit); 180dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_text_matches_unmark_all(Evas_Object *o); 181dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_text_matches_highlight_set(Evas_Object *o, Eina_Bool highlight); 182dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_text_matches_highlight_get(const Evas_Object *o); 183bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenEAPI Eina_Bool ewk_frame_text_matches_nth_pos_get(Evas_Object *o, size_t n, int *x, int *y); 184dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 185dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_stop(Evas_Object *o); 186dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_reload(Evas_Object *o); 187dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_reload_full(Evas_Object *o); 188dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 189dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_back(Evas_Object *o); 190dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_forward(Evas_Object *o); 191dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_navigate(Evas_Object *o, int steps); 192dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 193dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_back_possible(Evas_Object *o); 194dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_forward_possible(Evas_Object *o); 195dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_navigate_possible(Evas_Object *o, int steps); 196dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 197dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI float ewk_frame_zoom_get(const Evas_Object *o); 198dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_zoom_set(Evas_Object *o, float zoom); 199dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_zoom_text_only_get(const Evas_Object *o); 200dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_zoom_text_only_set(Evas_Object *o, Eina_Bool setting); 201dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 202dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI void ewk_frame_hit_test_free(Ewk_Hit_Test *hit_test); 203dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Ewk_Hit_Test *ewk_frame_hit_test_new(const Evas_Object *o, int x, int y); 204dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 205dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_scroll_add(Evas_Object *o, int dx, int dy); 206dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_scroll_set(Evas_Object *o, int x, int y); 207dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 208dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_scroll_size_get(const Evas_Object *o, int *w, int *h); 209dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_scroll_pos_get(const Evas_Object *o, int *x, int *y); 210dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 211dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_visible_content_geometry_get(const Evas_Object *o, Eina_Bool include_scrollbars, int *x, int *y, int *w, int *h); 212dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 213dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_paint_full_get(const Evas_Object *o); 214dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI void ewk_frame_paint_full_set(Evas_Object *o, Eina_Bool flag); 215dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 216dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_feed_focus_in(Evas_Object *o); 217dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_feed_focus_out(Evas_Object *o); 218dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 219dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_feed_mouse_wheel(Evas_Object *o, const Evas_Event_Mouse_Wheel *ev); 220dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_feed_mouse_down(Evas_Object *o, const Evas_Event_Mouse_Down *ev); 221dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_feed_mouse_up(Evas_Object *o, const Evas_Event_Mouse_Up *ev); 222dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_feed_mouse_move(Evas_Object *o, const Evas_Event_Mouse_Move *ev); 223cad810f21b803229eb11403f9209855525a25d57Steve BlockEAPI Eina_Bool ewk_frame_feed_touch_event(Evas_Object* o, Ewk_Touch_Event_Type action, Eina_List* points, int metaState); 224dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_feed_key_down(Evas_Object *o, const Evas_Event_Key_Down *ev); 225dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockEAPI Eina_Bool ewk_frame_feed_key_up(Evas_Object *o, const Evas_Event_Key_Up *ev); 226dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 227dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 228dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#ifdef __cplusplus 229dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block} 230dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif 231dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif // ewk_frame_h 232