1. e17's init icons get put into an e_box for arrangement nad the init splash

determines the location...

2. .002 snap


SVN revision: 13533
This commit is contained in:
Carsten Haitzler 2005-02-28 05:35:02 +00:00
parent 49a69ea6b8
commit 0493ba4e33
3 changed files with 61 additions and 19 deletions

View File

@ -8,7 +8,7 @@ AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
AC_ISC_POSIX
AM_INIT_AUTOMAKE(enlightenment, 0.16.999.001)
AM_INIT_AUTOMAKE(enlightenment, 0.16.999.002)
AM_CONFIG_HEADER(config.h)
AC_C_BIGENDIAN

View File

@ -611,6 +611,27 @@ collections {
}
}
}
part {
name: "icons";
type: SWALLOW;
description {
state: "default" 0.0;
align: 0.5 0.0;
min: 128 32;
max: 1280 32;
rel1 {
to_y: "status";
relative: 0.0 1.0;
offset: 16 8;
}
rel2 {
to_y: "status";
relative: 1.0 1.0;
offset: -17 8;
}
color: 0 0 0 0;
}
}
part {
name: "logo_point";
type: RECT;

View File

@ -10,10 +10,10 @@ static Ecore_X_Window _e_init_win = 0;
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 @@ e_init_init(void)
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_init_icons_app_add(E_App *app)
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 @@ _e_init_icons_del(void)
{
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;
}