forked from enlightenment/enlightenment
parent
ffd353ac39
commit
cbe9342be3
|
@ -12,6 +12,7 @@ struct _E_Smart_Data
|
||||||
int size;
|
int size;
|
||||||
unsigned char fill_inside : 1;
|
unsigned char fill_inside : 1;
|
||||||
unsigned char scale_up : 1;
|
unsigned char scale_up : 1;
|
||||||
|
unsigned char preload : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
|
@ -50,6 +51,7 @@ e_icon_file_set(Evas_Object *obj, const char *file)
|
||||||
if (sd->size != 0)
|
if (sd->size != 0)
|
||||||
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
|
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
|
||||||
evas_object_image_file_set(sd->obj, file, NULL);
|
evas_object_image_file_set(sd->obj, file, NULL);
|
||||||
|
if (sd->preload) evas_object_image_preload(sd->obj, 0);
|
||||||
_e_icon_smart_reconfigure(sd);
|
_e_icon_smart_reconfigure(sd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,6 +66,7 @@ e_icon_file_key_set(Evas_Object *obj, const char *file, const char *key)
|
||||||
if (sd->size != 0)
|
if (sd->size != 0)
|
||||||
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
|
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
|
||||||
evas_object_image_file_set(sd->obj, file, key);
|
evas_object_image_file_set(sd->obj, file, key);
|
||||||
|
if (sd->preload) evas_object_image_preload(sd->obj, 0);
|
||||||
_e_icon_smart_reconfigure(sd);
|
_e_icon_smart_reconfigure(sd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -161,6 +164,26 @@ e_icon_alpha_get(Evas_Object *obj)
|
||||||
return evas_object_image_alpha_get(sd->obj);
|
return evas_object_image_alpha_get(sd->obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
e_icon_preload_set(Evas_Object *obj, int preload)
|
||||||
|
{
|
||||||
|
E_Smart_Data *sd;
|
||||||
|
|
||||||
|
sd = evas_object_smart_data_get(obj);
|
||||||
|
if (!sd) return;
|
||||||
|
sd->preload = preload;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
e_icon_preload_get(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
E_Smart_Data *sd;
|
||||||
|
|
||||||
|
sd = evas_object_smart_data_get(obj);
|
||||||
|
if (!sd) return 0;
|
||||||
|
return sd->preload;
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_icon_size_get(Evas_Object *obj, int *w, int *h)
|
e_icon_size_get(Evas_Object *obj, int *w, int *h)
|
||||||
{
|
{
|
||||||
|
@ -354,6 +377,12 @@ _e_icon_smart_init(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_icon_preloaded(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
evas_object_smart_callback_call(data, "preloaded", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_icon_smart_add(Evas_Object *obj)
|
_e_icon_smart_add(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
@ -362,6 +391,8 @@ _e_icon_smart_add(Evas_Object *obj)
|
||||||
sd = calloc(1, sizeof(E_Smart_Data));
|
sd = calloc(1, sizeof(E_Smart_Data));
|
||||||
if (!sd) return;
|
if (!sd) return;
|
||||||
sd->obj = evas_object_image_add(evas_object_evas_get(obj));
|
sd->obj = evas_object_image_add(evas_object_evas_get(obj));
|
||||||
|
evas_object_event_callback_add(sd->obj, EVAS_CALLBACK_IMAGE_PRELOADED,
|
||||||
|
_e_icon_preloaded, obj);
|
||||||
sd->x = 0;
|
sd->x = 0;
|
||||||
sd->y = 0;
|
sd->y = 0;
|
||||||
sd->w = 0;
|
sd->w = 0;
|
||||||
|
|
|
@ -16,6 +16,8 @@ EAPI void e_icon_smooth_scale_set (Evas_Object *obj, int smooth);
|
||||||
EAPI int e_icon_smooth_scale_get (Evas_Object *obj);
|
EAPI int e_icon_smooth_scale_get (Evas_Object *obj);
|
||||||
EAPI void e_icon_alpha_set (Evas_Object *obj, int smooth);
|
EAPI void e_icon_alpha_set (Evas_Object *obj, int smooth);
|
||||||
EAPI int e_icon_alpha_get (Evas_Object *obj);
|
EAPI int e_icon_alpha_get (Evas_Object *obj);
|
||||||
|
EAPI void e_icon_preload_set (Evas_Object *obj, int preload);
|
||||||
|
EAPI int e_icon_preload_get (Evas_Object *obj);
|
||||||
EAPI void e_icon_size_get (Evas_Object *obj, int *w, int *h);
|
EAPI void e_icon_size_get (Evas_Object *obj, int *w, int *h);
|
||||||
EAPI int e_icon_fill_inside_get (Evas_Object *obj);
|
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_fill_inside_set (Evas_Object *obj, int fill_inside);
|
||||||
|
|
|
@ -71,6 +71,12 @@ e_thumb_shutdown(void)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_thumb_preloaded(void *data, Evas_Object *obj, void *event)
|
||||||
|
{
|
||||||
|
evas_object_smart_callback_call(data, "e_thumb_gen", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
EAPI Evas_Object *
|
EAPI Evas_Object *
|
||||||
e_thumb_icon_add(Evas *evas)
|
e_thumb_icon_add(Evas *evas)
|
||||||
{
|
{
|
||||||
|
@ -78,6 +84,7 @@ e_thumb_icon_add(Evas *evas)
|
||||||
E_Thumb *eth;
|
E_Thumb *eth;
|
||||||
|
|
||||||
obj = e_icon_add(evas);
|
obj = e_icon_add(evas);
|
||||||
|
evas_object_smart_callback_add(obj, "preloaded", _thumb_preloaded, obj);
|
||||||
_objid++;
|
_objid++;
|
||||||
eth = E_NEW(E_Thumb, 1);
|
eth = E_NEW(E_Thumb, 1);
|
||||||
eth->objid = _objid;
|
eth->objid = _objid;
|
||||||
|
@ -221,8 +228,9 @@ e_thumb_client_data(Ecore_Ipc_Event_Client_Data *e)
|
||||||
_pending--;
|
_pending--;
|
||||||
eth->done = 1;
|
eth->done = 1;
|
||||||
if (_pending == 0) _e_thumb_thumbnailers_kill();
|
if (_pending == 0) _e_thumb_thumbnailers_kill();
|
||||||
|
e_icon_preload_set(obj, 1);
|
||||||
e_icon_file_key_set(obj, icon, "/thumbnail/data");
|
e_icon_file_key_set(obj, icon, "/thumbnail/data");
|
||||||
evas_object_smart_callback_call(obj, "e_thumb_gen", NULL);
|
//x// evas_object_smart_callback_call(obj, "e_thumb_gen", NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue