[M67 Dev][API] Switch ewk_export.h with tizen.h
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / efl_integration / public / ewk_window_features_internal.h
1 /*
2  * Copyright (C) 2014 Samsung Electronics. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 /**
27  * @file    ewk_window_features_internal.h
28  * @brief   Access to the features of window.
29  */
30
31 #ifndef ewk_window_features_internal_h
32 #define ewk_window_features_internal_h
33
34
35 #include <Eina.h>
36 #include <Evas.h>
37 #include <tizen.h>
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43 /**
44  * Declare Ewk_Window_Features as Ewk_Object.
45  *
46  * @see Ewk_Object
47  */
48  //EwkObject is removed or deprecated
49 //typedef struct EwkObject Ewk_Window_Features;
50
51 typedef struct _Ewk_Window_Features Ewk_Window_Features;
52
53 /**
54 * Queries the toolbar visibility of the window feature.
55 *
56 * @param window_features the object to get properties
57 *
58 * @return @c EINA_TRUE is the toolbar should be visible, @c EINA_FALSE otherwise
59 */
60 EXPORT_API Eina_Bool ewk_window_features_toolbar_visible_get(const Ewk_Window_Features *window_features);
61
62 /**
63 * Queries the statusbar visibility of the window feature.
64 *
65 * @param window_features the object to get properties
66 *
67 * @return @c EINA_TRUE is the statusbar should be visible, @c EINA_FALSE otherwise
68 */
69 EXPORT_API Eina_Bool ewk_window_features_statusbar_visible_get(const Ewk_Window_Features *window_features);
70
71 /**
72 * Queries the scrollbar visibility of the window feature.
73 *
74 * @param window_features the object to get properties
75 *
76 * @return @c EINA_TRUE is the scrollbars should be visible, @c EINA_FALSE otherwise
77 */
78 EXPORT_API Eina_Bool ewk_window_features_scrollbars_visible_get(const Ewk_Window_Features *window_features);
79
80 /**
81 * Queries the menubar visibility of the window feature.
82 *
83 * @param window_features the object to get properties
84 *
85 * @return @c EINA_TRUE is the menubar should be visible, @c EINA_FALSE otherwise
86 */
87 EXPORT_API Eina_Bool ewk_window_features_menubar_visible_get(const Ewk_Window_Features *window_features);
88
89 /**
90 * Queries the locationbar visibility of the window feature.
91 *
92 * @param window_features the object to get properties
93 *
94 * @return @c EINA_TRUE is the locationbar should be visible, @c EINA_FALSE otherwise
95 */
96 EXPORT_API Eina_Bool ewk_window_features_locationbar_visible_get(const Ewk_Window_Features *window_features);
97
98 /**
99 * Queries if the window is resizable.
100 *
101 * @param window_features the object to get properties
102 *
103 * @return @c EINA_TRUE is the window should be resizable, @c EINA_FALSE otherwise
104 */
105 EXPORT_API Eina_Bool ewk_window_features_resizable_get(const Ewk_Window_Features *window_features);
106
107 /**
108 * Queries the the window is fullscreen
109 *
110 * @param window_features the object to get properties
111 *
112 * @return @c EINA_TRUE is the window should be fullscreen, @c EINA_FALSE otherwise
113 */
114 EXPORT_API Eina_Bool ewk_window_features_fullscreen_get(const Ewk_Window_Features *window_features);
115
116 /**
117 * Gets geometry properties of an Ewk_Window_Features.
118 *
119 * Properties are returned in the respective pointers. Passing @c NULL to any of
120 * these pointers will cause that property to not be returned.
121 *
122 * @param window_features the window's features
123 * @param x the pointer to store x position
124 * @param y the pointer to store y position
125 * @param w the pointer to store width
126 * @param h the pointer to store height
127 */
128 EXPORT_API void ewk_window_features_geometry_get(const Ewk_Window_Features *window_features, float *x, float *y, float *w, float *h);
129
130 #ifdef __cplusplus
131 }
132 #endif
133
134 #endif // ewk_window_features_internal_h