2 * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
37 * DONE event is done and will not be passed on
38 * PASS event will not be handled and just passed on
39 * MOVE caller should handle bar move event
40 * BACK caller should handle back key event
41 * ERROR error is occured, it will be passed on
56 * The homescreen is consist of bars.
57 * There's two main bars - home bar and custom bar
58 * and three sub bars - dynamic bar, user bar, delete bar.
60 * Here is hierarchy of bars.
62 * homescreen -> home bar -> dynamic bar
64 * -> custom bar -> dynamic bar -> delete bar
66 * Bars are operated by following functions.
68 * add_bar: create new bar
69 * update: update the bar
70 * get_object: get the base evas object of bar
71 * get_item: get the evas object of specific item
74 * move: move (the focus) to bar
75 * is_move: check that the bar can be moved
76 * key_down: event callback for key down
77 * key_up: event callback for key up
78 * release: release the bar
81 int (*add_bar)(struct bar_info *info, Evas_Object *base);
82 int (*update)(struct bar_info *info, void *eng, void *data);
83 Evas_Object *(*get_object)(struct bar_info *info);
84 Evas_Object *(*get_item)(struct bar_info *info);
85 void (*show)(struct bar_info *info);
86 void (*hide)(struct bar_info *info);
87 Eina_Bool (*move)(struct bar_info *info);
88 Eina_Bool (*is_move)(struct bar_info *info, int dir);
89 enum bar_event (*key_down)(struct bar_info *info, void *ei);
90 enum bar_event (*key_up)(struct bar_info *info, void *ei);
91 void (*release)(struct bar_info *info);
97 * func: function called by parent bar
98 * data: parameter for func
101 Eina_Bool (*func)(void *data, Evas_Object *foc);
111 /* bar initialize functions */
112 int init_home_bar(struct bar_info *info);
113 int init_user_bar(struct bar_info *info);
114 int init_dynamic_bar(struct bar_info *info);
115 int init_custom_bar(struct bar_info *info);
116 int init_delete_bar(struct bar_info *info);