2 Copyright (C) 2011 Samsung Electronics
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public
15 License along with this library; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 #ifndef WebKitDOM_Range_h
20 #define WebKitDOM_Range_h
22 #include <WebKitDOM_Defines.h>
23 #include <WebKitDOM_Object.h>
30 #define WEBKITDOM_RANGE_INIT(objPtr) \
31 (((WebKitDOM_Object*)(objPtr))->p_coreObject) = 0; \
32 (((WebKitDOM_Object*)(objPtr))->deinit) = ewk_webkitdom_range_deinit
34 struct _WebKitDOM_Range {
35 WebKitDOM_Object parent_object;
38 #define WEBKITDOM_START_TO_START 0
39 #define WEBKITDOM_START_TO_END 1
40 #define WEBKITDOM_END_TO_END 2
41 #define WEBKITDOM_END_TO_START 3
42 #define WEBKITDOM_NODE_BEFORE 0
43 #define WEBKITDOM_NODE_AFTER 1
44 #define WEBKITDOM_NODE_BEFORE_AND_AFTER 2
45 #define WEBKITDOM_NODE_INSIDE 3
47 EAPI void ewk_webkitdom_range_get_start_container(WebKitDOM_Range* self, WebKitDOM_Node* ret);
49 EAPI int ewk_webkitdom_range_get_start_offset(WebKitDOM_Range* self);
51 EAPI void ewk_webkitdom_range_get_end_container(WebKitDOM_Range* self, WebKitDOM_Node* ret);
53 EAPI int ewk_webkitdom_range_get_end_offset(WebKitDOM_Range* self);
55 EAPI Eina_Bool ewk_webkitdom_range_get_collapsed(WebKitDOM_Range* self);
57 EAPI void ewk_webkitdom_range_get_common_ancestor_container(WebKitDOM_Range* self, WebKitDOM_Node* ret);
59 EAPI void ewk_webkitdom_range_get_text(WebKitDOM_Range* self, WebKitDOM_String* ret);
62 EAPI void ewk_webkitdom_range_set_start(WebKitDOM_Range* self, WebKitDOM_Node* refNode, int offset);
63 EAPI void ewk_webkitdom_range_set_end(WebKitDOM_Range* self, WebKitDOM_Node* refNode, int offset);
64 EAPI void ewk_webkitdom_range_set_start_before(WebKitDOM_Range* self, WebKitDOM_Node* refNode);
65 EAPI void ewk_webkitdom_range_set_start_after(WebKitDOM_Range* self, WebKitDOM_Node* refNode);
66 EAPI void ewk_webkitdom_range_set_end_before(WebKitDOM_Range* self, WebKitDOM_Node* refNode);
67 EAPI void ewk_webkitdom_range_set_end_after(WebKitDOM_Range* self, WebKitDOM_Node* refNode);
68 EAPI void ewk_webkitdom_range_collapse(WebKitDOM_Range* self, Eina_Bool toStart);
69 EAPI void ewk_webkitdom_range_select_node(WebKitDOM_Range* self, WebKitDOM_Node* refNode);
70 EAPI void ewk_webkitdom_range_select_node_contents(WebKitDOM_Range* self, WebKitDOM_Node* refNode);
71 EAPI short ewk_webkitdom_range_compare_boundary_points(WebKitDOM_Range* self, unsigned short how, WebKitDOM_Range* sourceRange);
72 EAPI void ewk_webkitdom_range_delete_contents(WebKitDOM_Range* self);
73 EAPI void ewk_webkitdom_range_extract_contents(WebKitDOM_Range* self, WebKitDOM_DocumentFragment* ret);
74 EAPI void ewk_webkitdom_range_clone_contents(WebKitDOM_Range* self, WebKitDOM_DocumentFragment* ret);
75 EAPI void ewk_webkitdom_range_insert_node(WebKitDOM_Range* self, WebKitDOM_Node* newNode);
76 EAPI void ewk_webkitdom_range_surround_contents(WebKitDOM_Range* self, WebKitDOM_Node* newParent);
77 EAPI void ewk_webkitdom_range_clone_range(WebKitDOM_Range* self, WebKitDOM_Range* ret);
78 EAPI void ewk_webkitdom_range_to_string(WebKitDOM_Range* self, WebKitDOM_String* ret);
79 EAPI void ewk_webkitdom_range_detach(WebKitDOM_Range* self);
80 EAPI void ewk_webkitdom_range_create_contextual_fragment(WebKitDOM_Range* self, WebKitDOM_String* html, WebKitDOM_DocumentFragment* ret);
81 EAPI Eina_Bool ewk_webkitdom_range_intersects_node(WebKitDOM_Range* self, WebKitDOM_Node* refNode);
82 EAPI short ewk_webkitdom_range_compare_node(WebKitDOM_Range* self, WebKitDOM_Node* refNode);
83 EAPI short ewk_webkitdom_range_compare_point(WebKitDOM_Range* self, WebKitDOM_Node* refNode, int offset);
84 EAPI Eina_Bool ewk_webkitdom_range_is_point_in_range(WebKitDOM_Range* self, WebKitDOM_Node* refNode, int offset);
85 EAPI void ewk_webkitdom_range_expand(WebKitDOM_Range* self, WebKitDOM_String* unit);
87 EAPI void ewk_webkitdom_range_deinit(const WebKitDOM_Object*);
88 EAPI void _copy_webkit_range(WebKitDOM_Range* kitObjSrc, WebKitDOM_Range* ret);