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

Reply via email to