2 * Copyright © 2010-2011 Intel Corporation
3 * Copyright © 2008-2011 Kristian Høgsberg
4 * Copyright © 2013 TOYOTA MOTOR CORPORATION.
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.
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.
25 * @brief Public functions in ico_ivi_shell Weston plugin
30 #ifndef _ICO_IVI_SHELL_H_
31 #define _ICO_IVI_SHELL_H_
36 #define ICO_WINDOW_ANIMATION_LEN 20 /* length of window animation name */
38 #define ICO_OPTION_FLAG_UNVISIBLE 0x00000001 /* unvisible control */
39 /* client attribute */
40 #define ICO_CLEINT_ATTR_NOCONFIGURE 0 /* client no need configure event */
42 /* Prototype for get/set function */
43 void ivi_shell_set_layer(struct shell_surface *shsurf, const int layer);
44 bool ivi_shell_is_visible(struct shell_surface *shsurf);
45 void ivi_shell_set_visible(struct shell_surface *shsurf, const int visible);
46 void ivi_shell_set_raise(struct shell_surface *shsurf, const int raise);
47 void ivi_shell_set_toplevel(struct shell_surface *shsurf);
48 void ivi_shell_set_surface_type(struct shell_surface *shsurf);
49 void ivi_shell_send_configure(struct shell_surface *shsurf, const int id,
50 const int edges, const int width, const int height);
51 void ivi_shell_set_positionsize(struct shell_surface *shsurf, const int x,
52 const int y, const int width, const int height);
53 void ivi_shell_set_layer_visible(const int layer, const int visible);
54 void ivi_shell_surface_configure(struct shell_surface *shsurf, const int x,
55 const int y, const int width, const int height);
56 void ivi_shell_set_active(struct shell_surface *shsurf, const int target);
57 void ivi_shell_set_client_attr(struct wl_client *client, const int attr, const int value);
58 void ivi_shell_restrain_configure(struct shell_surface *shsurf, const int restrain);
59 const char *ivi_shell_default_animation(int *msec, int *fps);
61 /* Prototypr for hook routine */
62 void ivi_shell_hook_bind(void (*hook_bind)(struct wl_client *client));
63 void ivi_shell_hook_unbind(void (*hook_unbind)(struct wl_client *client));
64 void ivi_shell_hook_create(void (*hook_create)(struct wl_client *client,
65 struct wl_resource *resource, struct weston_surface *surface,
66 struct shell_surface *shsurf));
67 void ivi_shell_hook_destroy(void (*hook_destroy)(struct weston_surface *surface));
68 void ivi_shell_hook_map(void (*hook_map)(struct weston_surface *surface,
69 int32_t *width, int32_t *height, int32_t *sx, int32_t *sy));
70 void ivi_shell_hook_change(void (*hook_change)(struct weston_surface *surface,
71 const int to, const int manager));
72 void ivi_shell_hook_select(void (*hook_select)(struct weston_surface *surface));
74 /* Prototype for hook of Multi Input Manager */
75 void ico_win_mgr_hook_set_user(void (*hook_set_user)(struct wl_client *client,
77 void ico_win_mgr_hook_create(void (*hook_create)(struct wl_client *client,
78 struct weston_surface *surface,
81 void ico_win_mgr_hook_destroy(void (*hook_destroy)(struct weston_surface *surface));
83 #endif /*_ICO_IVI_SHELL_H_*/