Ubuntu Platform API  2.8.1
A library helping with tight integration into the Ubuntu platform
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>
30 
31 #include <EGL/egl.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37  typedef void UAUiWindow;
38  typedef int32_t UAUiWindowId;
39 
40  /*
41  Ownership of properties is given to the returned UAUiWindow
42  */
43  UBUNTU_DLL_PUBLIC UAUiWindow*
45  UApplicationInstance *instance,
46  UAUiWindowProperties *properties);
47 
50  UAUiWindow *window);
51 
52  UBUNTU_DLL_PUBLIC UAUiWindowId
54  UAUiWindow *window);
55 
58  UAUiWindow *window,
59  uint32_t *width,
60  uint32_t *height);
61 
64  UAUiWindow *window,
65  uint32_t new_x,
66  uint32_t new_y);
67 
70  UAUiWindow *window,
71  uint32_t new_width,
72  uint32_t new_height);
73 
76  UAUiWindow *window);
77 
80  UAUiWindow *window);
81 
82  // Deprecated. Prefer ua_ui_window_request_state.
85  UAUiWindow *window);
86 
87  UBUNTU_DLL_PUBLIC EGLNativeWindowType
89  UAUiWindow *window);
90 
93  UAUiWindow *window);
94 
97  UAUiWindow *window, UApplicationUiWindowState state);
98 
101  UAUiWindow *window);
102 
103 #ifdef __cplusplus
104 }
105 #endif
106 
107 #endif /* UBUNTU_APPLICATION_UI_WINDOW_H_ */
void UAUiWindow
Definition: window.h:37
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)
UApplicationUiWindowState
Definition: window_state.h:22
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_state(UAUiWindow *window, UApplicationUiWindowState state)
UBUNTU_DLL_PUBLIC void ua_ui_window_request_fullscreen(UAUiWindow *window)
int32_t UAUiWindowId
Definition: window.h:38
UBUNTU_DLL_PUBLIC UStatus ua_ui_window_hide(UAUiWindow *window)