1. fix abort in tiff loader

2. slidesel theme garbage trailing. nuke
3. icon obj can have pre-scale set not. default is as before.
4. printf-- in slidesel


SVN revision: 33677
This commit is contained in:
Carsten Haitzler 2008-02-05 12:00:19 +00:00
parent 05fc729bf8
commit 5c2641e5dd
5 changed files with 43 additions and 277 deletions

View File

@ -118,270 +118,3 @@ group {
}
}
}
group {
name: "e/widgets/radio_icon";
parts {
part {
name: "outline";
mouse_events: 0;
description {
state: "default" 0.0;
min: 16 16;
max: 16 16;
align: 0.0 0.5;
fixed: 1 1;
rel1 {
relative: 0.0 0.0;
offset: 2 2;
}
rel2 {
relative: 0.0 1.0;
offset: 2 -3;
}
image {
normal: "e17_menu_radio1.png";
}
}
description {
state: "disabled" 0.0;
inherit: "default" 0.0;
image {
normal: "e17_menu_radio0.png";
}
}
}
part {
name: "item1";
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
rel1 {
to: "outline";
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
to: "outline";
relative: 1.0 1.0;
offset: -1 -1;
}
image {
normal: "e17_menu_radio2.png";
}
}
description {
state: "active" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "e.swallow.icon";
type: SWALLOW;
clip_to: "icon_clip";
description {
state: "default" 0.0;
min: 16 16;
rel1 {
to_x: "outline";
relative: 1.0 0.0;
offset: 2 2;
}
rel2 {
relative: 1.0 1.0;
offset: -2 -2;
}
}
description {
state: "label_visible" 0.0;
min: 16 16;
rel1 {
to_x: "outline";
relative: 1.0 0.0;
offset: 2 2;
}
rel2 {
to_y: "e.text.label";
relative: 1.0 0.0;
offset: -2 -2;
}
}
}
part {
name: "icon_clip";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
min: 16 16;
rel1 {
to: "e.swallow.icon";
}
rel2 {
to: "e.swallow.icon";
}
color: 255 255 255 255;
}
description {
state: "disabled" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
}
}
part {
name: "label_clip";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
}
description {
state: "label_visible" 0.0;
visible: 1;
}
}
part {
name: "e.text.label";
type: TEXT;
effect: SHADOW;
mouse_events: 0;
clip_to: "label_clip";
description {
state: "default" 0.0;
min: 16 16;
rel1 {
to_x: "outline";
relative: 1.0 1.0;
offset: 2 -2;
}
rel2 {
relative: 1.0 1.0;
offset: -2 -2;
}
color: 0 0 0 255;
color3: 255 255 255 128;
color_class: "radio_text";
text {
text: "";
font: "Edje-Vera";
size: 10;
min: 1 1;
align: 0.5 0.5;
text_class: "radio_button";
}
}
description {
state: "disabled" 0.0;
inherit: "default" 0.0;
color: 0 0 0 128;
color3: 255 255 255 64;
color_class: "radio_text_disabled";
}
}
part {
name: "event";
type: RECT;
description {
state: "default" 0.0;
color: 0 0 0 0;
}
description {
state: "disabled" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part {
name: "focus";
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
color: 255 255 255 0;
image {
normal: "focus.png";
border: 7 7 7 7;
middle: 0;
}
fill {
smooth: 0;
}
}
description {
state: "focused" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
}
programs {
program {
name: "label_on";
signal: "e,state,labeled";
source: "e";
action: STATE_SET "label_visible" 0.0;
target: "e.swallow.icon";
target: "label_clip";
}
program {
name: "turn_on1";
signal: "e,state,on";
source: "e";
action: STATE_SET "active" 0.0;
target: "item1";
}
program {
name: "turn_off1";
signal: "e,state,off";
source: "e";
action: STATE_SET "default" 0.0;
target: "item1";
}
program {
name: "click";
signal: "mouse,down,1";
source: "event";
action: SIGNAL_EMIT "e,action,toggle" "";
}
program {
name: "focus_in";
signal: "e,state,focused";
source: "e";
action: STATE_SET "focused" 0.0;
transition: DECELERATE 0.2;
target: "focus";
}
program {
name: "focus_out";
signal: "e,state,unfocused";
source: "e";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.5;
target: "focus";
}
program {
name: "disable";
signal: "e,state,disabled";
source: "e";
action: STATE_SET "disabled" 0.0;
target: "outline";
target: "event";
target: "e.text.label";
target: "icon_clip";
}
program {
name: "enable";
signal: "e,state,enabled";
source: "e";
action: STATE_SET "default" 0.0;
target: "outline";
target: "event";
target: "e.text.label";
target: "icon_clip";
}
}
}

View File

@ -9,6 +9,7 @@ struct _E_Smart_Data
{
Evas_Coord x, y, w, h;
Evas_Object *obj;
int size;
char fill_inside : 1;
};
@ -44,7 +45,9 @@ e_icon_file_set(Evas_Object *obj, const char *file)
sd = evas_object_smart_data_get(obj);
if (!sd) return;
/* smart code here */
evas_object_image_load_size_set(sd->obj, 64, 64);
/* FIXME: 64x64 - unhappy about this. use icon size */
if (sd->size != 0)
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
evas_object_image_file_set(sd->obj, file, NULL);
_e_icon_smart_reconfigure(sd);
}
@ -57,7 +60,8 @@ e_icon_file_key_set(Evas_Object *obj, const char *file, const char *key)
sd = evas_object_smart_data_get(obj);
if (!sd) return;
/* smart code here */
evas_object_image_load_size_set(sd->obj, 64, 64);
if (sd->size != 0)
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
evas_object_image_file_set(sd->obj, file, key);
_e_icon_smart_reconfigure(sd);
}
@ -215,6 +219,29 @@ e_icon_data_get(Evas_Object *obj, int *w, int *h)
return evas_object_image_data_get(sd->obj, 0);
}
EAPI void
e_icon_scale_size_set(Evas_Object *obj, int size)
{
E_Smart_Data *sd;
sd = evas_object_smart_data_get(obj);
if (!sd) return NULL;
sd->size = size;
if (!strcmp(evas_object_type_get(sd->obj), "edje"))
return;
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
}
EAPI int
e_icon_scale_size_get(Evas_Object *obj)
{
E_Smart_Data *sd;
sd = evas_object_smart_data_get(obj);
if (!sd) return NULL;
return sd->size;
}
/* local subsystem globals */
static void
_e_icon_smart_reconfigure(E_Smart_Data *sd)
@ -305,6 +332,7 @@ _e_icon_smart_add(Evas_Object *obj)
sd->w = 0;
sd->h = 0;
sd->fill_inside = 1;
sd->size = 64;
evas_object_smart_member_add(sd->obj, obj);
evas_object_smart_data_set(obj, sd);
}

View File

@ -21,6 +21,8 @@ EAPI int e_icon_fill_inside_get (Evas_Object *obj);
EAPI void e_icon_fill_inside_set (Evas_Object *obj, int fill_inside);
EAPI void e_icon_data_set (Evas_Object *obj, void *data, int w, int h);
EAPI void *e_icon_data_get (Evas_Object *obj, int *w, int *h);
EAPI void e_icon_scale_size_set (Evas_Object *obj, int size);
EAPI int e_icon_scale_size_get (Evas_Object *obj);
#endif
#endif

View File

@ -145,7 +145,6 @@ _e_smart_reconfigure(E_Smart_Data *sd)
dp = pos - (p1 * sd->dist);
at = (dp * 255) / (sd->dist - 1);
printf("? %i %i | %i : %i # %i\n", p1, p2, dp, at, pos);
while ((p1 < 0) || (p2 < 0))
{
p1 += n;
@ -153,7 +152,6 @@ _e_smart_reconfigure(E_Smart_Data *sd)
at += 255;
dp += sd->dist;
}
printf("??? %i %i | %i : %i # %i\n", p1, p2, dp, at, pos);
if ((sd->p1 != p1) || (sd->p2 != p2) || (sd->pn != n))
{
E_Smart_Item *it1, *it2;
@ -170,15 +168,15 @@ _e_smart_reconfigure(E_Smart_Data *sd)
sd->o2 = NULL;
pl1 = sd->p1 % n;
pl2 = sd->p2 % n;
printf("## %i -> %i | %i -> %i ||| %i\n", p1, pl1, p2, pl2, dp);
it1 = evas_list_nth(sd->items, pl1);
it2 = evas_list_nth(sd->items, pl2);
if (it1 && it2)
{
sd->o1 = e_util_icon_theme_icon_add(it1->icon, "480x480",
sd->o1 = e_util_icon_theme_icon_add(it1->icon, "512x512",
evas_object_evas_get(sd->smart_obj));
if (sd->o1)
{
e_icon_scale_size_set(sd->o1, 0);
evas_object_stack_below(sd->o1, sd->event_obj);
evas_object_pass_events_set(sd->o1, 1);
evas_object_smart_member_add(sd->o1, sd->smart_obj);
@ -186,10 +184,11 @@ _e_smart_reconfigure(E_Smart_Data *sd)
evas_object_clip_set(sd->o1, evas_object_clip_get(sd->smart_obj));
evas_object_show(sd->o1);
}
sd->o2 = e_util_icon_theme_icon_add(it2->icon, "480x480",
sd->o2 = e_util_icon_theme_icon_add(it2->icon, "512x512",
evas_object_evas_get(sd->smart_obj));
if (sd->o2)
{
e_icon_scale_size_set(sd->o2, 0);
evas_object_stack_below(sd->o2, sd->event_obj);
evas_object_pass_events_set(sd->o2, 1);
evas_object_smart_member_add(sd->o2, sd->smart_obj);

View File

@ -19,6 +19,7 @@ struct _E_Smart_Data
Evas_Object *slide_obj;
Evas_List *items;
Evas_Coord down_x, down_y;
E_Smart_Item *cur;
unsigned char down : 1;
};
@ -59,6 +60,7 @@ _e_smart_label_change(void *data)
it = data;
edje_object_part_text_set(it->sd->edje_obj, "e.text.label", it->label);
it->sd->cur = it;
}
/* externally accessible functions */
@ -146,8 +148,10 @@ _e_smart_event_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
{
printf("RUN!!!!\n");
/* FIXME: call current item callback */
if (sd->cur)
{
if (sd->cur->func) sd->cur->func(sd->cur->data);
}
}
}
sd->down = 0;