initial import
[vuplus_webkit] / Source / WebKit / efl / ewk / ewk_window_features.h
1 /*
2     Copyright (C) 2010 ProFUSION embedded systems
3     Copyright (C) 2010 Samsung Electronics
4
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 of the License, or (at your option) any later version.
9
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13     Library General Public License for more details.
14
15     You should have received a copy of the GNU Library General Public License
16     along with this library; see the file COPYING.LIB.  If not, write to
17     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18     Boston, MA 02110-1301, USA.
19 */
20
21 /**
22  * @file    ewk_window_features.h
23  * @brief   Access to the features of window.
24  */
25
26 #ifndef ewk_window_features_h
27 #define ewk_window_features_h
28
29 #include <Eina.h>
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 /** Creates a type name for _Ewk_Window_Features. */
36 typedef struct _Ewk_Window_Features Ewk_Window_Features;
37
38 /**
39  * Decreases the referece count of an Ewk_Window_Features, possibly freeing it.
40  *
41  * When the reference count of the object reaches 0, the one is freed.
42  *
43  * @param window_features the object to decrease reference count
44  */
45 EAPI void         ewk_window_features_unref(Ewk_Window_Features *window_features);
46
47 /**
48  * Increases the reference count of an Ewk_Window_Features.
49  *
50  * @param window_features the object to increase reference count
51  */
52 EAPI void         ewk_window_features_ref(Ewk_Window_Features *window_features);
53
54 /**
55  * Gets boolean properties of an Ewk_Window_Features.
56  *
57  * Properties are returned in the respective pointers. Passing @c 0 to any of
58  * these pointers will make that property to not be returned.
59  *
60  * @param window_features the object to get boolean properties
61  * @param toolbar_visible the pointer to store if toolbar is visible
62  * @param statusbar_visible the pointer to store if statusbar is visible
63  * @param scrollbars_visible the pointer to store if scrollbars is visible
64  * @param menubar_visible the pointer to store if menubar is visible
65  * @param locationbar_visible the pointer to store if locationbar is visible
66  * @param fullscreen the pointer to store if fullscreen is enabled
67  *
68  * @see ewk_window_features_int_property_get
69  */
70 EAPI void         ewk_window_features_bool_property_get(const Ewk_Window_Features *window_features, Eina_Bool *toolbar_visible, Eina_Bool *statusbar_visible, Eina_Bool *scrollbars_visible, Eina_Bool *menubar_visible, Eina_Bool *locationbar_visible, Eina_Bool *fullscreen);
71
72 /**
73  * Gets int properties of an Ewk_Window_Features.
74  *
75  * Properties are returned in the respective pointers. Passing @c 0 to any of
76  * these pointers will make that property to not be returned.
77  *
78  * Make sure to check if the value returned is less than 0 before using it, since in
79  * that case it means that property was not set in winwdow_features object.
80  *
81  * @param window_features the window's features
82  * @param x the pointer to store x position
83  * @param y the pointer to store y position
84  * @param w the pointer to store width
85  * @param h the pointer to store height
86  *
87  * @see ewk_window_features_bool_property_get
88  */
89 EAPI void         ewk_window_features_int_property_get(const Ewk_Window_Features *window_features, int *x, int *y, int *w, int *h);
90
91 #ifdef __cplusplus
92 }
93 #endif
94 #endif // ewk_window_features_h