Support Tizen 3.0
[profile/ivi/ico-uxf-weston-plugin.git] / src / ico_ivi_shell.h
1 /*
2  * Copyright © 2010-2011 Intel Corporation
3  * Copyright © 2008-2011 Kristian Høgsberg
4  * Copyright © 2013 TOYOTA MOTOR CORPORATION.
5  *
6  * Permission to use, copy, modify, distribute, and sell this software and
7  * its documentation for any purpose is hereby granted without fee, provided
8  * that the above copyright notice appear in all copies and that both that
9  * copyright notice and this permission notice appear in supporting
10  * documentation, and that the name of the copyright holders not be used in
11  * advertising or publicity pertaining to distribution of the software
12  * without specific, written prior permission.  The copyright holders make
13  * no representations about the suitability of this software for any
14  * purpose.  It is provided "as is" without express or implied warranty.
15  *
16  * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
17  * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
18  * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
19  * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
20  * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
21  * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
22  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
23  */
24 /**
25  * @brief   Public functions in ico_ivi_shell Weston plugin
26  *
27  * @date    Jul-26-2013
28  */
29
30 #ifndef _ICO_IVI_SHELL_H_
31 #define _ICO_IVI_SHELL_H_
32
33 struct shell_surface;
34
35 /* Prototype for get/set function       */
36 struct weston_layer *ico_ivi_shell_current_layer(void);
37 void ico_ivi_shell_set_toplevel(struct shell_surface *shsurf);
38 void ico_ivi_shell_set_surface_type(struct shell_surface *shsurf);
39 void ico_ivi_shell_send_configure(struct weston_surface *surface,
40                                   const uint32_t edges, const int width, const int height);
41 void ico_ivi_shell_startup(void *shell);
42
43 /* Prototypr for hook routine           */
44 void ico_ivi_shell_hook_bind(void (*hook_bind)(struct wl_client *client, void *shell));
45 void ico_ivi_shell_hook_unbind(void (*hook_unbind)(struct wl_client *client));
46 void ico_ivi_shell_hook_create(void (*hook_create)(struct wl_client *client,
47                             struct wl_resource *resource, struct weston_surface *surface,
48                             struct shell_surface *shsurf));
49 void ico_ivi_shell_hook_destroy(void (*hook_destroy)(struct weston_surface *surface));
50 void ico_ivi_shell_hook_map(void (*hook_map)(struct weston_surface *surface,
51                             int32_t *width, int32_t *height, int32_t *sx, int32_t *sy));
52 void ico_ivi_shell_hook_change(void (*hook_change)(struct weston_surface *surface,
53                             const int to, const int manager));
54 void ico_ivi_shell_hook_select(void (*hook_select)(struct weston_surface *surface));
55 void ico_ivi_shell_hook_title(void (*hook_title)(struct weston_surface *surface,
56                             const char *title));
57 void ico_ivi_shell_hook_move(void (*hook_move)(struct weston_surface *surface,
58                             int *dx, int *dy));
59
60 #endif  /*_ICO_IVI_SHELL_H_*/
61