|
From: <enl...@li...> - 2005-02-28 05:35:36
|
Enlightenment CVS committal
Author : raster
Project : e17
Module : apps/e
Dir : e17/apps/e/src/bin
Modified Files:
e_init.c
Log Message:
1. e17's init icons get put into an e_box for arrangement nad the init splash
determines the location...
2. .002 snap
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_init.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- e_init.c 13 Feb 2005 11:56:46 -0000 1.7
+++ e_init.c 28 Feb 2005 05:34:58 -0000 1.8
@@ -10,10 +10,10 @@
static Ecore_Evas *_e_init_ecore_evas = NULL;
static Evas *_e_init_evas = NULL;
static Evas_Object *_e_init_object = NULL;
+static Evas_Object *_e_init_icon_box = NULL;
/* startup icons */
-static Evas_Coord _e_init_icon_x, _e_init_icon_y;
-static int _e_init_icon_size, _e_init_icon_wrap;
+static Evas_Coord _e_init_icon_size;
static Evas_List *_e_init_icon_list;
/* externally accessible functions */
@@ -50,11 +50,6 @@
ecore_evas_raise(_e_init_ecore_evas);
ecore_evas_show(_e_init_ecore_evas);
- _e_init_icon_size = 64;
- _e_init_icon_wrap = w;
- _e_init_icon_x = 0;
- _e_init_icon_y = h - _e_init_icon_size;
-
n = ecore_x_xinerama_screen_count_get();
if (n == 0)
{
@@ -186,20 +181,44 @@
E_OBJECT_CHECK(app);
E_OBJECT_TYPE_CHECK(app, E_APP_TYPE);
-
+
+ if (!_e_init_evas) return;
+
+ if (!_e_init_icon_box)
+ {
+ Evas_Coord w, h;
+
+ o = e_box_add(_e_init_evas);
+ _e_init_icon_box = o;
+ e_box_homogenous_set(o, 1);
+ e_box_align_set(o, 0.5, 0.5);
+ edje_object_part_swallow(_e_init_object, "icons", o);
+ evas_object_geometry_get(o, NULL, NULL, &w, &h);
+ if (w > h)
+ {
+ _e_init_icon_size = h;
+ e_box_orientation_set(o, 1);
+ }
+ else
+ {
+ _e_init_icon_size = w;
+ e_box_orientation_set(o, 0);
+ }
+ evas_object_show(o);
+ }
+
o = edje_object_add(_e_init_evas);
edje_object_file_set(o,app->path, "icon");
evas_object_resize(o, _e_init_icon_size, _e_init_icon_size);
- evas_object_move(o, _e_init_icon_x, _e_init_icon_y);
+ e_box_pack_end(_e_init_icon_box, o);
+ e_box_pack_options_set(o,
+ 0, 0,
+ 0, 0,
+ 0.5, 0.5,
+ _e_init_icon_size, _e_init_icon_size,
+ _e_init_icon_size, _e_init_icon_size);
evas_object_show(o);
_e_init_icon_list = evas_list_append(_e_init_icon_list, o);
-
- _e_init_icon_x += _e_init_icon_size;
- if (_e_init_icon_x + _e_init_icon_size > _e_init_icon_wrap)
- {
- _e_init_icon_x = 0;
- _e_init_icon_y -= _e_init_icon_size;
- }
}
void
@@ -207,11 +226,13 @@
{
Evas_Object *next;
- while(_e_init_icon_list)
+ while (_e_init_icon_list)
{
next = _e_init_icon_list->data;
evas_object_del(next);
_e_init_icon_list = evas_list_remove(_e_init_icon_list, next);
}
-
+ if (_e_init_icon_box)
+ evas_object_del(_e_init_icon_box);
+ _e_init_icon_box = NULL;
}
|