Commit 4cdbc91b authored by eric@webkit.org's avatar eric@webkit.org
Browse files

2010-03-13 Leandro Pereira <leandro@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        Add EFL port files to efl/ewk.
        http://webkit.org/b/35924

        * efl/ewk/ewk_frame.cpp: Added.
        * efl/ewk/ewk_frame.h: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 2148e934
2010-03-13 Leandro Pereira <leandro@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
Add EFL port files to efl/ewk.
http://webkit.org/b/35924
* efl/ewk/ewk_frame.cpp: Added.
* efl/ewk/ewk_frame.h: Added.
2010-03-13 Leandro Pereira <leandro@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
......
This diff is collapsed.
/*
Copyright (C) 2009-2010 ProFUSION embedded systems
Copyright (C) 2009-2010 Samsung Electronics
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef ewk_frame_h
#define ewk_frame_h
#include "ewk_eapi.h"
#include <Evas.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @file
*
* WebKit frame smart object.
*
* This object is the low level access to WebKit-EFL browser
* component. It represents both the main and internal frames that
* HTML pages contain.
*
* Every ewk_view has at least one frame, called "main frame" and
* retrieved with ewk_view_frame_main_get(). One can retrieve frame's
* owner view with ewk_frame_view_get(). Parent frame can be retrieved
* with standard smart object's evas_object_smart_parent_get().
* Children can be accessed with ewk_frame_children_iterator_new() or
* ewk_frame_child_find().
*
* The following signals (see evas_object_smart_callback_add()) are emitted:
*
* - "title,changed", const char*: title of the main frame changed.
* - "uri,changed", const char*: uri of the main frame changed.
* - "load,started", void: frame started loading.
* - "load,progress", double*: load progress changed (overall value
* from 0.0 to 1.0, connect to individual frames for fine grained).
* - "load,finished", const Ewk_Frame_Load_Error*: reports load
* finished and as argument @c NULL if successfully or pointer to
* structure defining the error.
* - "load,error", const Ewk_Frame_Load_Error*: reports load failed
* and as argument a pointer to structure defining the error.
* - "contents,size,changed", Evas_Coord[2]: reports contents size
* changed due new layout, script actions or any other events.
*/
/**
* Structure used to report load errors.
*
* Load errors are reported as signal by ewk_view. All the strings are
* temporary references and should @b not be used after the signal
* callback returns. If required, make copies with strdup() or
* eina_stringshare_add() (they are not even guaranteed to be
* stringshared, so must use eina_stringshare_add() and not
* eina_stringshare_ref()).
*/
typedef struct _Ewk_Frame_Load_Error Ewk_Frame_Load_Error;
struct _Ewk_Frame_Load_Error {
int code; /**< numeric error code */
Eina_Bool is_cancellation; /**< if load failed because it was canceled */
const char *domain; /**< error domain name */
const char *description; /**< error description already localized */
const char *failing_url; /**< the url that failed to load */
Evas_Object *frame; /**< frame where the failure happened */
};
/**
* Structure used to report hit test results.
*/
typedef struct _Ewk_Hit_Test Ewk_Hit_Test;
struct _Ewk_Hit_Test {
int x, y;
struct {
int x, y, w, h;
} bounding_box;
const char *title;
const char *alternate_text; /**< for image, area, input and applet */
Evas_Object *frame;
struct {
const char *text;
const char *url;
const char *title;
Evas_Object *target_frame;
} link;
struct {
Eina_Bool editable:1;
Eina_Bool selected:1;
} flags;
};
EAPI Evas_Object *ewk_frame_view_get(const Evas_Object *o);
EAPI void ewk_frame_theme_set(Evas_Object *o, const char *path);
EAPI const char *ewk_frame_theme_get(Evas_Object *o);
EAPI Eina_Iterator *ewk_frame_children_iterator_new(Evas_Object *o);
EAPI Evas_Object *ewk_frame_child_find(Evas_Object *o, const char *name);
EAPI Eina_Bool ewk_frame_uri_set(Evas_Object *o, const char *uri);
EAPI const char *ewk_frame_uri_get(const Evas_Object *o);
EAPI const char *ewk_frame_title_get(const Evas_Object *o);
EAPI const char *ewk_frame_name_get(const Evas_Object *o);
EAPI Eina_Bool ewk_frame_contents_size_get(const Evas_Object *o, Evas_Coord *w, Evas_Coord *h);
EAPI 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);
EAPI 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);
EAPI Eina_Bool ewk_frame_script_execute(Evas_Object *o, const char *script);
EAPI Eina_Bool ewk_frame_editable_get(const Evas_Object *o);
EAPI Eina_Bool ewk_frame_editable_set(Evas_Object *o, Eina_Bool editable);
EAPI char *ewk_frame_selection_get(const Evas_Object *o);
EAPI Eina_Bool ewk_frame_text_search(const Evas_Object *o, const char *string, Eina_Bool case_sensitive, Eina_Bool forward, Eina_Bool wrap);
EAPI unsigned int ewk_frame_text_matches_mark(Evas_Object *o, const char *string, Eina_Bool case_sensitive, Eina_Bool highlight, unsigned int limit);
EAPI Eina_Bool ewk_frame_text_matches_unmark_all(Evas_Object *o);
EAPI Eina_Bool ewk_frame_text_matches_highlight_set(Evas_Object *o, Eina_Bool highlight);
EAPI Eina_Bool ewk_frame_text_matches_highlight_get(const Evas_Object *o);
EAPI Eina_Bool ewk_frame_stop(Evas_Object *o);
EAPI Eina_Bool ewk_frame_reload(Evas_Object *o);
EAPI Eina_Bool ewk_frame_reload_full(Evas_Object *o);
EAPI Eina_Bool ewk_frame_back(Evas_Object *o);
EAPI Eina_Bool ewk_frame_forward(Evas_Object *o);
EAPI Eina_Bool ewk_frame_navigate(Evas_Object *o, int steps);
EAPI Eina_Bool ewk_frame_back_possible(Evas_Object *o);
EAPI Eina_Bool ewk_frame_forward_possible(Evas_Object *o);
EAPI Eina_Bool ewk_frame_navigate_possible(Evas_Object *o, int steps);
EAPI float ewk_frame_zoom_get(const Evas_Object *o);
EAPI Eina_Bool ewk_frame_zoom_set(Evas_Object *o, float zoom);
EAPI Eina_Bool ewk_frame_zoom_text_only_get(const Evas_Object *o);
EAPI Eina_Bool ewk_frame_zoom_text_only_set(Evas_Object *o, Eina_Bool setting);
EAPI void ewk_frame_hit_test_free(Ewk_Hit_Test *hit_test);
EAPI Ewk_Hit_Test *ewk_frame_hit_test_new(const Evas_Object *o, int x, int y);
EAPI Eina_Bool ewk_frame_scroll_add(Evas_Object *o, int dx, int dy);
EAPI Eina_Bool ewk_frame_scroll_set(Evas_Object *o, int x, int y);
EAPI Eina_Bool ewk_frame_scroll_size_get(const Evas_Object *o, int *w, int *h);
EAPI Eina_Bool ewk_frame_scroll_pos_get(const Evas_Object *o, int *x, int *y);
EAPI Eina_Bool ewk_frame_visible_content_geometry_get(const Evas_Object *o, Eina_Bool include_scrollbars, int *x, int *y, int *w, int *h);
EAPI Eina_Bool ewk_frame_paint_full_get(const Evas_Object *o);
EAPI void ewk_frame_paint_full_set(Evas_Object *o, Eina_Bool flag);
EAPI Eina_Bool ewk_frame_feed_focus_in(Evas_Object *o);
EAPI Eina_Bool ewk_frame_feed_focus_out(Evas_Object *o);
EAPI Eina_Bool ewk_frame_feed_mouse_wheel(Evas_Object *o, const Evas_Event_Mouse_Wheel *ev);
EAPI Eina_Bool ewk_frame_feed_mouse_down(Evas_Object *o, const Evas_Event_Mouse_Down *ev);
EAPI Eina_Bool ewk_frame_feed_mouse_up(Evas_Object *o, const Evas_Event_Mouse_Up *ev);
EAPI Eina_Bool ewk_frame_feed_mouse_move(Evas_Object *o, const Evas_Event_Mouse_Move *ev);
EAPI Eina_Bool ewk_frame_feed_key_down(Evas_Object *o, const Evas_Event_Key_Down *ev);
EAPI Eina_Bool ewk_frame_feed_key_up(Evas_Object *o, const Evas_Event_Key_Up *ev);
#ifdef __cplusplus
}
#endif
#endif // ewk_frame_h
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment