Ubuntu Platform API  2.3.0
A library helping with tight integration into the Ubuntu platform
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
window.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2013 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License version 3 as
6  * published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authored by: Ricardo Mendoza <ricardo.mendoza@canonical.com>
17  * Thomas Voß <thomas.voss@canonical.com>
18  */
19 
20 #ifndef UBUNTU_APPLICATION_UI_WINDOW_H_
21 #define UBUNTU_APPLICATION_UI_WINDOW_H_
22 
23 #include <ubuntu/visibility.h>
24 
25 #include <ubuntu/status.h>
29 
30 #include <EGL/egl.h>
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36  typedef void UAUiWindow;
37  typedef int32_t UAUiWindowId;
38 
39  /*
40  Ownership of properties is given to the returned UAUiWindow
41  */
42  UBUNTU_DLL_PUBLIC UAUiWindow*
44  UApplicationInstance *instance,
45  UAUiWindowProperties *properties);
46 
49  UAUiWindow *window);
50 
51  UBUNTU_DLL_PUBLIC UAUiWindowId
53  UAUiWindow *window);
54 
57  UAUiWindow *window,
58  uint32_t *width,
59  uint32_t *height);
60 
63  UAUiWindow *window,
64  uint32_t new_x,
65  uint32_t new_y);
66 
69  UAUiWindow *window,
70  uint32_t new_width,
71  uint32_t new_height);
72 
75  UAUiWindow *window);
76 
79  UAUiWindow *window);
80 
83  UAUiWindow *window);
84 
85  UBUNTU_DLL_PUBLIC EGLNativeWindowType
87  UAUiWindow *window);
88 
91  UAUiWindow *window);
92 
95  UAUiWindow *window);
96 
97 #ifdef __cplusplus
98 }
99 #endif
100 
101 #endif /* UBUNTU_APPLICATION_UI_WINDOW_H_ */
void UAUiWindow
Definition: window.h:36
UBUNTU_DLL_PUBLIC EGLNativeWindowType ua_ui_window_get_native_type(UAUiWindow *window)
UbuntuStatus
Indicates the status of an operation.
Definition: status.h:26
UBUNTU_DLL_PUBLIC UAUiWindow * ua_ui_window_new_for_application_with_properties(UApplicationInstance *instance, UAUiWindowProperties *properties)
UBUNTU_DLL_PUBLIC void ua_ui_window_destroy(UAUiWindow *window)
void UAUiWindowProperties
UBUNTU_DLL_PUBLIC UStatus ua_ui_window_show(UAUiWindow *window)
UBUNTU_DLL_PUBLIC void ua_ui_window_get_size(UAUiWindow *window, uint32_t *width, uint32_t *height)
void UApplicationInstance
Opaque type describing an application instance.An application instance encapsulates the event loop of...
Definition: instance.h:39
UBUNTU_DLL_PUBLIC UAUiWindowId ua_ui_window_get_id(UAUiWindow *window)
UApplicationUiWindowOrientation
UBUNTU_DLL_PUBLIC UApplicationUiWindowOrientation ua_ui_window_get_orientation(UAUiWindow *window)
UBUNTU_DLL_PUBLIC int ua_ui_window_is_focused(UAUiWindow *window)
UBUNTU_DLL_PUBLIC UStatus ua_ui_window_move(UAUiWindow *window, uint32_t new_x, uint32_t new_y)
#define UBUNTU_DLL_PUBLIC
Definition: visibility.h:26
UBUNTU_DLL_PUBLIC UStatus ua_ui_window_resize(UAUiWindow *window, uint32_t new_width, uint32_t new_height)
UBUNTU_DLL_PUBLIC void ua_ui_window_request_fullscreen(UAUiWindow *window)
int32_t UAUiWindowId
Definition: window.h:37
UBUNTU_DLL_PUBLIC UStatus ua_ui_window_hide(UAUiWindow *window)