Enlightenment CVS committal
Author : horms
Project : e17
Module : apps/entice
Dir : e17/apps/entice/src/bin
Modified Files:
buttons.c buttons.h event.c fade.c globals.h handler.c image.c
image.h main.c misc.c
Log Message:
Added delete button.
Added rotate functionality ('r' and 'l')
Thumbnails don't seem to work for me, but I'm not sure why.
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/buttons.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- buttons.c 5 Feb 2003 05:45:45 -0000 1.2
+++ buttons.c 14 Feb 2003 09:55:29 -0000 1.3
@@ -55,6 +55,19 @@
}
void
+bt_delete_down(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ evas_object_image_file_set(obj, IM "bt_delete_2.png", NULL);
+}
+
+void
+bt_delete_up(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ evas_object_image_file_set(obj, IM "bt_delete_1.png", NULL);
+ e_delete_current_image();
+}
+
+void
bt_expand_down(void *data, Evas * e, Evas_Object * obj, void *event_info)
{
evas_object_image_file_set(obj, IM "bt_expand_2.png", NULL);
@@ -104,11 +117,8 @@
evas_object_image_file_set(obj, IM "bt_next_1.png", NULL);
if (!current_image)
current_image = images;
- else
- {
- if (current_image->next)
- current_image = current_image->next;
- }
+ else if (current_image->next)
+ current_image = current_image->next;
e_display_current_image();
}
@@ -124,7 +134,7 @@
evas_object_image_file_set(obj, IM "bt_prev_1.png", NULL);
if (!current_image)
current_image = images;
- else
+ else if (current_image->prev)
current_image = current_image->prev;
e_display_current_image();
}
@@ -188,7 +198,7 @@
start = get_time();
val = (get_time() - start) / duration;
- px = win_w - 256 - ((256 * sin(val * 0.5 * 3.141592654)) - 256);
+ px = win_w - 288 - ((288 * sin(val * 0.5 * 3.141592654)) - 288);
evas_object_move(o_bt_prev, px + 0, 0);
evas_object_move(o_bt_next, px + 32, 0);
@@ -197,7 +207,8 @@
evas_object_move(o_bt_zoom_out, px + 128, 0);
evas_object_move(o_bt_expand, px + 160, 0);
evas_object_move(o_bt_full, px + 192, 0);
- evas_object_move(o_bt_close, px + 224, 0);
+ evas_object_move(o_bt_delete, px + 224, 0);
+ evas_object_move(o_bt_close, px + 256, 0);
if (val < 1.0)
ecore_add_event_timer("e_slide_buttons()", 0.05, e_slide_buttons_in,
@@ -217,7 +228,7 @@
start = get_time();
val = (get_time() - start) / duration;
- px = win_w - 256 - ((256 * sin((1.0 - val) * 0.5 * 3.141592654)) - 256);
+ px = win_w - 288 - ((288 * sin((1.0 - val) * 0.5 * 3.141592654)) - 288);
evas_object_move(o_bt_prev, px + 0, 0);
evas_object_move(o_bt_next, px + 32, 0);
@@ -226,7 +237,8 @@
evas_object_move(o_bt_zoom_out, px + 128, 0);
evas_object_move(o_bt_expand, px + 160, 0);
evas_object_move(o_bt_full, px + 192, 0);
- evas_object_move(o_bt_close, px + 224, 0);
+ evas_object_move(o_bt_delete, px + 224, 0);
+ evas_object_move(o_bt_close, px + 256, 0);
if (val < 1.0)
ecore_add_event_timer("e_slide_buttons()", 0.05, e_slide_buttons_out,
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/buttons.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- buttons.h 5 Feb 2003 05:45:45 -0000 1.2
+++ buttons.h 14 Feb 2003 09:55:29 -0000 1.3
@@ -11,6 +11,11 @@
void bt_close_up(void *data, Evas * e, Evas_Object * obj,
void *event_info);
+void bt_delete_down(void *data, Evas * e, Evas_Object * obj,
+ void *event_info);
+void bt_delete_up(void *data, Evas * e, Evas_Object * obj,
+ void *event_info);
+
void bt_expand_down(void *data, Evas * e, Evas_Object * obj,
void *event_info);
void bt_expand_up(void *data, Evas * e, Evas_Object * obj,
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/event.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- event.c 5 Feb 2003 05:45:45 -0000 1.4
+++ event.c 14 Feb 2003 09:55:29 -0000 1.5
@@ -26,7 +26,6 @@
if ((im->subst) && (im->thumb))
{
int w, h;
- int err;
evas_object_del(im->o_thumb);
im->o_thumb = evas_object_image_add(evas);
@@ -207,6 +206,14 @@
{
exit(0);
}
+ else if (!strcmp(e->key, "r"))
+ {
+ e_rotate_r_current_image();
+ }
+ else if (!strcmp(e->key, "l"))
+ {
+ e_rotate_l_current_image();
+ }
else if (!strcmp(e->key, "p"))
{
if (panel_active)
@@ -236,18 +243,15 @@
{
if (!current_image)
current_image = images;
- else
- {
- if (current_image->next)
- current_image = current_image->next;
- }
+ else if (current_image->next)
+ current_image = current_image->next;
e_display_current_image();
}
else if (!strcmp(e->key, "BackSpace"))
{
if (!current_image)
current_image = images;
- else
+ else if (current_image->prev)
current_image = current_image->prev;
e_display_current_image();
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/fade.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- fade.c 5 Feb 2003 05:45:45 -0000 1.3
+++ fade.c 14 Feb 2003 09:55:29 -0000 1.4
@@ -110,7 +110,8 @@
if (val > 1.0)
val = 1.0;
- evas_object_color_set(o_mini_image, 255, 255, 255, (val * 255));
+ if (o_mini_image)
+ evas_object_color_set(o_mini_image, 255, 255, 255, (val * 255));
evas_object_color_set(o_mini_select, 255, 255, 255, (val * 255));
if (val < 1.0)
@@ -177,7 +178,8 @@
if (val > 1.0)
val = 1.0;
val = 1.0 - val;
- evas_object_color_set(o_mini_image, 255, 255, 255, (val * 255));
+ if (o_mini_image)
+ evas_object_color_set(o_mini_image, 255, 255, 255, (val * 255));
evas_object_color_set(o_mini_select, 255, 255, 255, (val * 255));
if (val < 1.0)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/globals.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- globals.h 5 Feb 2003 05:45:45 -0000 1.4
+++ globals.h 14 Feb 2003 09:55:29 -0000 1.5
@@ -19,6 +19,7 @@
extern Evas_Object *o_panel_arrow_u;
extern Evas_Object *o_panel_arrow_d;
extern Evas_Object *o_bt_close;
+extern Evas_Object *o_bt_delete;
extern Evas_Object *o_bt_expand;
extern Evas_Object *o_bt_full;
extern Evas_Object *o_bt_next;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/handler.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- handler.c 5 Feb 2003 05:45:45 -0000 1.4
+++ handler.c 14 Feb 2003 09:55:29 -0000 1.5
@@ -66,7 +66,7 @@
double px = 0;
if (buttons_active)
- px = win_w - 256;
+ px = win_w - 288;
else
px = win_w;
evas_object_move(o_bt_prev, px + 0, 0);
@@ -76,12 +76,14 @@
evas_object_move(o_bt_zoom_out, px + 128, 0);
evas_object_move(o_bt_expand, px + 160, 0);
evas_object_move(o_bt_full, px + 192, 0);
- evas_object_move(o_bt_close, px + 224, 0);
+ evas_object_move(o_bt_delete, px + 224, 0);
+ evas_object_move(o_bt_close, px + 256, 0);
}
evas_object_move(o_showbuttons, win_w - 256, 0);
evas_object_resize(o_showbuttons, 256, 32);
evas_object_layer_set(o_showbuttons, 1100);
evas_object_layer_set(o_bt_close, 1300);
+ evas_object_layer_set(o_bt_delete, 1300);
evas_object_layer_set(o_bt_expand, 1300);
evas_object_layer_set(o_bt_full, 1300);
evas_object_layer_set(o_bt_next, 1300);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/image.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- image.c 5 Feb 2003 05:45:45 -0000 1.5
+++ image.c 14 Feb 2003 09:55:29 -0000 1.6
@@ -6,7 +6,6 @@
DIR *d;
struct dirent *dent;
Image *im;
- Evas_List *l;
char buf[4096];
if (e_file_is_dir(item))
@@ -85,7 +84,6 @@
DIR *d;
struct dirent *dent;
Image *im;
- Evas_List *l;
d = opendir(dir);
@@ -224,6 +222,78 @@
}
}
+static void
+e_rotate_object(Evas_Object *obj, int rotation)
+{
+ int w;
+ int h;
+ DATA32 *image_data;
+ Imlib_Image image;
+
+ if (!obj)
+ return;
+
+ /* Get image data from Evas */
+ evas_object_image_size_get(obj, &w, &h);
+ image_data = evas_object_image_data_get(obj, 0);
+
+ /* Set up imlib image */
+ image = imlib_create_image_using_copied_data(w, h, image_data);
+ evas_object_image_data_set(obj, image_data);
+ imlib_context_set_image(image);
+
+ /* Rotate image */
+ imlib_image_orientate(rotation);
+ w = imlib_image_get_width();
+ h = imlib_image_get_height();
+
+ /* Get image data from Imblib */
+ image_data = imlib_image_get_data_for_reading_only();
+
+ /* Set Evas Image Data */
+ evas_object_image_size_set(obj, w, h);
+ evas_object_image_data_copy_set(obj, image_data);
+
+ /* Free Imlib image */
+ imlib_image_put_back_data(image_data);
+ imlib_free_image();
+}
+
+static void
+e_rotate_current_image(int rotation)
+{
+ Image *im;
+
+ if (!current_image || !current_image->data)
+ return;
+
+ im = (Image *) (current_image->data);
+
+ /* Rotate image */
+ e_rotate_object(o_image, rotation);
+ e_rotate_object(o_mini_image, rotation);
+ e_rotate_object(im->o_thumb, rotation);
+
+ /* Update Display */
+ e_handle_resize();
+ e_fix_icons();
+ e_scroll_list(0, NULL);
+ e_fade_scroller_in(0, (void *)1);
+
+}
+
+void
+e_rotate_r_current_image(void)
+{
+ e_rotate_current_image(1);
+}
+
+void
+e_rotate_l_current_image(void)
+{
+ e_rotate_current_image(3);
+}
+
void
e_delete_current_image(void)
{
@@ -231,34 +301,30 @@
Image *im;
- if (current_image && current_image->data)
- {
- im = (Image *) (current_image->data);
+ if (!current_image || !current_image->data)
+ return;
- if (im->file)
- unlink(im->file);
- if (im->thumb)
- unlink(im->thumb);
- if (current_image->next)
- l = current_image->next;
- else if (current_image->prev)
- l = current_image->prev;
- else
- l = NULL;
+ im = (Image *) (current_image->data);
- if (l != NULL)
- {
- if (im->o_thumb)
- evas_object_del(im->o_thumb);
- e_image_free((Image *) current_image->data);
- images = evas_list_remove(images, current_image->data);
- }
+ if (im->file)
+ unlink(im->file);
+ if (im->thumb)
+ unlink(im->thumb);
+ if (current_image->next)
+ l = current_image->next;
+ else if (current_image->prev)
+ l = current_image->prev;
+ else
+ l = NULL;
- if (l != NULL)
- current_image = l;
+ if (im->o_thumb)
+ evas_object_del(im->o_thumb);
+ e_image_free((Image *) current_image->data);
+ images = evas_list_remove(images, current_image->data);
- e_display_current_image();
- }
+ current_image = l;
+
+ e_display_current_image();
}
void
@@ -298,7 +364,7 @@
{
sprintf(txt_info[0], "Error LoadingFile: %s",
((Image *) (current_image->data))->file);
- sprintf(txt_info[1], "");
+ *txt_info[1] = '\0';
sprintf(title, "Entice (Error Loading): %s",
((Image *) (current_image->data))->file);
ecore_window_set_title(main_win, title);
@@ -323,8 +389,10 @@
else
{
ecore_window_set_title(main_win, "Entice (No Image)");
- evas_object_del(o_image);
- o_image = NULL;
+ {
+ evas_object_del(o_image);
+ o_image = NULL;
+ }
}
if ((o_image) && (current_image))
{
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/image.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- image.h 5 Feb 2003 05:45:45 -0000 1.5
+++ image.h 14 Feb 2003 09:55:29 -0000 1.6
@@ -13,6 +13,9 @@
void e_image_free(Image * im);
void image_delete(Image * im);
+void e_rotate_r_current_image(void);
+void e_rotate_l_current_image(void);
+
void e_delete_current_image(void);
void e_display_current_image(void);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/main.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- main.c 5 Feb 2003 05:45:45 -0000 1.4
+++ main.c 14 Feb 2003 09:55:29 -0000 1.5
@@ -17,6 +17,7 @@
Evas_Object *o_list_select;
Evas_Object *o_panel_arrow_u;
Evas_Object *o_panel_arrow_d;
+Evas_Object *o_bt_delete;
Evas_Object *o_bt_close;
Evas_Object *o_bt_expand;
Evas_Object *o_bt_full;
@@ -129,7 +130,7 @@
Image *im;
im = l->data;
- size += strlen(im->file) + 1;
+ size += strlen(im->file) + 2;
}
files = malloc(size);
files[0] = 0;
@@ -239,4 +240,6 @@
e_fade_scroller_in(0, (void *)1);
/* and now loop forever handling events */
ecore_event_loop();
+
+ return(0);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/misc.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- misc.c 5 Feb 2003 05:45:45 -0000 1.5
+++ misc.c 14 Feb 2003 09:55:29 -0000 1.6
@@ -112,6 +112,7 @@
o_panel_arrow_u = e_newim(evas, IM "list_arrow_u_1.png");
o_panel_arrow_d = e_newim(evas, IM "list_arrow_d_1.png");
o_bt_close = e_newim(evas, IM "bt_close_1.png");
+ o_bt_delete = e_newim(evas, IM "bt_delete_1.png");
o_bt_expand = e_newim(evas, IM "bt_expand_1.png");
o_bt_full = e_newim(evas, IM "bt_full_1.png");
o_bt_next = e_newim(evas, IM "bt_next_1.png");
@@ -159,6 +160,7 @@
evas_object_show(o_panel_arrow_d);
evas_object_show(o_bt_close);
+ evas_object_show(o_bt_delete);
evas_object_show(o_bt_expand);
evas_object_show(o_bt_full);
evas_object_show(o_bt_next);
@@ -214,6 +216,14 @@
bt_tip_start, "Exit [ Key: Q ]");
evas_object_event_callback_add(o_bt_close, EVAS_CALLBACK_MOUSE_OUT,
bt_tip_stop, NULL);
+ evas_object_event_callback_add(o_bt_delete, EVAS_CALLBACK_MOUSE_DOWN,
+ bt_delete_down, NULL);
+ evas_object_event_callback_add(o_bt_delete, EVAS_CALLBACK_MOUSE_UP,
+ bt_delete_up, NULL);
+ evas_object_event_callback_add(o_bt_delete, EVAS_CALLBACK_MOUSE_IN,
+ bt_tip_start, "Delete [ Key: D ]");
+ evas_object_event_callback_add(o_bt_delete, EVAS_CALLBACK_MOUSE_OUT,
+ bt_tip_stop, NULL);
evas_object_event_callback_add(o_bt_expand, EVAS_CALLBACK_MOUSE_DOWN,
bt_expand_down, NULL);
evas_object_event_callback_add(o_bt_expand, EVAS_CALLBACK_MOUSE_UP,
@@ -448,7 +458,6 @@
e_dnd_drop_request(Ecore_Event * ev)
{
Ecore_Event_Dnd_Drop_Request *dnd;
- DIR *d;
Window dnd_win;
int i;
-------------------------------------------------------
This SF.NET email is sponsored by: FREE SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs