tizen beta release
[framework/web/webkit-efl.git] / debian / libwebkit-engine-dev / usr / include / ewebkit-0 / WebKitDOM_Range.h
1 /*
2     Copyright (C) 2011 Samsung Electronics
3
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.
8
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.
13
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
17 */
18
19 #ifndef WebKitDOM_Range_h
20 #define WebKitDOM_Range_h
21
22 #include <WebKitDOM_Defines.h>
23 #include <WebKitDOM_Object.h>
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29
30 #define WEBKITDOM_RANGE_INIT(objPtr) \
31     (((WebKitDOM_Object*)(objPtr))->p_coreObject) = 0; \
32     (((WebKitDOM_Object*)(objPtr))->deinit) = ewk_webkitdom_range_deinit
33
34 struct _WebKitDOM_Range {
35     WebKitDOM_Object parent_object;
36 };
37
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
46
47 EAPI void ewk_webkitdom_range_get_start_container(WebKitDOM_Range* self, WebKitDOM_Node* ret);
48
49 EAPI int ewk_webkitdom_range_get_start_offset(WebKitDOM_Range* self);
50
51 EAPI void ewk_webkitdom_range_get_end_container(WebKitDOM_Range* self, WebKitDOM_Node* ret);
52
53 EAPI int ewk_webkitdom_range_get_end_offset(WebKitDOM_Range* self);
54
55 EAPI Eina_Bool ewk_webkitdom_range_get_collapsed(WebKitDOM_Range* self);
56
57 EAPI void ewk_webkitdom_range_get_common_ancestor_container(WebKitDOM_Range* self, WebKitDOM_Node* ret);
58
59 EAPI void ewk_webkitdom_range_get_text(WebKitDOM_Range* self, WebKitDOM_String* ret);
60
61
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);
86
87 EAPI void ewk_webkitdom_range_deinit(const WebKitDOM_Object*);
88 EAPI void _copy_webkit_range(WebKitDOM_Range* kitObjSrc, WebKitDOM_Range* ret);
89
90 #ifdef __cplusplus
91 }
92 #endif
93
94 #endif
95