2 * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
4 * This program is licensed under the terms and conditions of the
5 * Apache License, version 2.0. The full text of the Apache License is at
6 * http://www.apache.org/licenses/LICENSE-2.0
10 * @brief header file of user experience library for HomeScreen
15 #ifndef _ICO_UXF_PROTO_H_
16 #define _ICO_UXF_PROTO_H_
22 /* Initialize/terminate/MainLoop/Others */
24 int ico_uxf_init(const char *name);
25 /* Initialize(for general application) */
26 int ico_uxf_shutdown(void);
28 void ico_uxf_main_loop_iterate(void);
29 /* Iterate mainLoop */
30 int ico_uxf_callback_set(const unsigned int mask,
31 Ico_Uxf_Event_Cb func, const int arg);
32 /* Add event callback function */
33 int ico_uxf_callback_remove(const unsigned int mask,
34 Ico_Uxf_Event_Cb func, const int arg);
35 /* Remove event callback function */
36 void ico_uxf_timer_wake(const int msec);
40 int ico_uxf_window_event_mask(const int window, const unsigned int mask);
41 /* Set event to receive through the window*/
42 int ico_uxf_window_attribute_get(const int window, Ico_Uxf_WindowAttr *attr);
43 /* Get window attribute */
44 int ico_uxf_window_query_display(const int display, Ico_Uxf_DisplayAttr *attr);
45 /* Get display attribute */
46 int ico_uxf_window_query_displays(Ico_Uxf_DisplayAttr attr[], const int num);
47 /* Get all displays attribute */
48 int ico_uxf_window_query_layer(const int display, const int layer,
49 Ico_Uxf_LayerAttr *attr);
50 /* Get layer attribute */
51 int ico_uxf_window_query_layers(const int display,
52 Ico_Uxf_LayerAttr attr[], const int num);
53 /* Get all layers attribute */
54 int ico_uxf_window_query_windows(const int display,
55 Ico_Uxf_WindowAttr attr[], const int num);
56 /* Get all windows attribute */
57 void ico_uxf_window_screen_size_get(int *width, int *height);
58 /* Get display size */
59 int ico_uxf_window_layer(const int window, const int layer);
60 /* Set window layer */
61 int ico_uxf_layer_visible(const int display, const int layer, const int visible);
63 int ico_uxf_window_show(const int window);
65 int ico_uxf_window_hide(const int window);
67 int ico_uxf_window_visible_animation(const int window, const int show);
68 /* Show/Hide with animation */
69 int ico_uxf_window_visible_raise(const int window,
70 const int visible, const int raise);
71 /* Set window show/hide and raise/lower */
72 int ico_uxf_window_resize(const int window, const int w, const int h);
73 /* Resize window size */
74 int ico_uxf_window_move(const int window, const int x, const int y, const int anima);
76 int ico_uxf_window_raise(const int window);
78 int ico_uxf_window_lower(const int window);
80 int ico_uxf_window_active(const int window, const int target);
82 int ico_uxf_window_animation(const int window, const int type,
83 const char *animation, const int time);
84 /* Set window animation */
85 void ico_uxf_window_animation_control(const int control, const int animation);
86 /* Set animation control */
87 int ico_uxf_window_control(const char *appid, const int winidx,
88 const int control, const int onoff);
89 /* Window visible control from AppsController*/
90 void ico_uxf_window_hook(Ico_Uxf_Hook func);
91 /* Set window control hook */
93 Ico_Uxf_InputDev *ico_uxf_inputdev_attribute_get(const int devidx);
94 /* get input device attribute */
95 Ico_Uxf_InputSw *ico_uxf_inputsw_attribute_get(Ico_Uxf_InputDev *inputdev, const int swidx);
96 /* get input switch attribute */
97 int ico_uxf_input_control(const int add, const char *appid,
98 const char *device, const int input, const int keycode);
99 /* control input switch */
101 int ico_uxf_process_execute(const char *name);
102 /* Start application */
103 int ico_uxf_process_terminate(const char *process);
104 /* Stop application */
105 int ico_uxf_process_attribute_get(const char *process, Ico_Uxf_ProcessAttr *attr);
106 /* Get application status */
107 int ico_uxf_process_is_active(const char *process);
108 /* Get application activity */
109 void *ico_uxf_process_exttable_get(const char *process);
110 /* Get extended table address */
111 int ico_uxf_process_exttable_set(const char *process, void *table);
112 /* Set extended table address */
113 int ico_uxf_process_window_get(const char *process,
114 Ico_Uxf_ProcessWin *attr, const int num);
115 /* Get all windows of one application */
116 int ico_uxf_process_window_get_one(const char *process,
117 Ico_Uxf_ProcessWin *attr, const int winidx);
118 /* Get one windows of one application */
119 int ico_uxf_process_query_processes(Ico_Uxf_ProcessAttr attr[], const int num);
120 /* Get all aplications attribute */
121 void ico_uxf_set_lastapp(const char *appid);
122 /* Set/Reset last application */
123 char *ico_uxf_getchild_appid(const char *appid);
124 /* Get child applicationId */
126 /* Wayland depend function */
127 int ico_uxf_wl_display_fd(void);
128 /* Get wayland connect file descriptor */
129 struct wl_display *ico_uxf_wl_display(void);
130 /* Get wayland display */
131 struct wl_compositor *ico_uxf_wl_compositor(void);
132 /* Get wayland compositor */
133 struct wl_egl_window *ico_uxf_wl_egl_window(const int window);
134 /* Get EGL window(surface) */
135 struct wl_surface *ico_uxf_wayland_surface(const int window);
136 /* Get wayland surface */
137 int ico_uxf_wl_display_fd(void);
138 /* Get wayland connect file descriptor */
142 #endif /* _ICO_UXF_PROTO_H_ */