2 * Copyright (c) 2015 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.
18 #include <Elementary.h>
19 #include <app_debug.h>
21 #include "util/util.h"
23 void util_set_alpha_color(Evas_Object *obj, int alpha)
27 evas_object_color_get(obj, &r, &g, &b, &a);
29 /* evas should use premultiplied alpha */
34 evas_object_color_set(obj, r, g, b, alpha);
37 Evas_Object *util_add_box(Evas_Object *base)
44 box = elm_box_add(base);
46 _ERR("failed to create box object");
50 evas_object_size_hint_align_set(box, 0.0, EVAS_HINT_FILL);
51 evas_object_size_hint_weight_set(box, 0.0, EVAS_HINT_EXPAND);
52 elm_box_horizontal_set(box, EINA_TRUE);
57 Evas_Object *util_add_gengrid(Evas_Object *base,
58 int item_size_x, int item_size_y)
65 grid = elm_gengrid_add(base);
67 _ERR("failed to create gengrid object");
71 evas_object_size_hint_weight_set(grid,
72 EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
73 evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL);
75 elm_gengrid_select_mode_set(grid, ELM_OBJECT_SELECT_MODE_ALWAYS);
76 elm_gengrid_multi_select_set(grid, EINA_FALSE);
78 elm_gengrid_horizontal_set(grid, EINA_TRUE);
80 elm_gengrid_align_set(grid, 0.0, 0.0);
82 elm_gengrid_item_size_set(grid,
83 elm_config_scale_get() * item_size_x,
84 elm_config_scale_get() * item_size_y);
86 elm_scroller_policy_set(grid, ELM_SCROLLER_POLICY_OFF,
87 ELM_SCROLLER_POLICY_OFF);
92 Evas_Object *util_add_genlist(Evas_Object *base)
96 list = elm_genlist_add(base);
98 _ERR("failed to adding genlist");
102 evas_object_size_hint_weight_set(list,
103 EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
105 elm_genlist_homogeneous_set(list, EINA_TRUE);
106 elm_genlist_select_mode_set(list, ELM_OBJECT_SELECT_MODE_ALWAYS);
107 elm_genlist_multi_select_set(list, EINA_FALSE);
112 Evas_Object *util_add_image(Evas_Object *base, const char *file)
119 image = elm_image_add(base);
121 _ERR("failed to create image object");
125 elm_image_file_set(image, file, NULL);
126 elm_image_aspect_fixed_set(image, EINA_FALSE);
131 Evas_Object *util_add_scroller(Evas_Object *base)
138 scr = elm_scroller_add(base);
140 _ERR("failed to create scroller object");
144 elm_scroller_policy_set(scr, ELM_SCROLLER_POLICY_OFF,
145 ELM_SCROLLER_POLICY_OFF);
150 void util_time_string(char *str, int size, unsigned int ms, bool full)
158 m = (sec % 3600) / 60;
162 snprintf(str, size, "%02d:%02d:%02d", h, m, s);
165 snprintf(str, size, "%d:%02d:%02d", h, m, s);
167 snprintf(str, size, "%d:%02d", m, s);
171 void util_up_string(char *str)
174 *str = toupper(*str);
179 int util_get_media_index(Eina_List *list, void *data)
186 EINA_LIST_FOREACH(list, l, obj) {
196 app_media *util_find_media_info(Eina_List *list, const char *id)
200 app_media_info *info;
202 EINA_LIST_FOREACH(list, l, am) {
203 info = app_media_get_info(am);
207 if (!strcmp(info->media_id, id))