Enlightenment CVS committal

Author  : titan
Project : e17
Module  : proto

Dir     : e17/proto/ephoto/src


Modified Files:
        ephoto_viewer.c 


Log Message:
Zooms work now! Zoom in, Zoom out, and Zoom original currently.

===================================================================
RCS file: /cvs/e/e17/proto/ephoto/src/ephoto_viewer.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- ephoto_viewer.c     30 Sep 2006 21:26:29 -0000      1.8
+++ ephoto_viewer.c     1 Oct 2006 00:05:41 -0000       1.9
@@ -1,5 +1,7 @@
 #include "ephoto.h"
 Ewl_Widget *vwin;
+Ewl_Widget *vbox;
+Ewl_Widget *ibox;
 Ewl_Widget *image_view;
 
 void destroy_vwin(Ewl_Widget *w, void *event, void *data)
@@ -12,9 +14,101 @@
  char *path;
 
  path = data;
+
+ ewl_widget_destroy(ibox);
+ ewl_widget_destroy(image_view);
+ 
+ ibox = ewl_scrollpane_new();
+ ewl_object_fill_policy_set(EWL_OBJECT(ibox), EWL_FLAG_FILL_ALL);
+ ewl_object_alignment_set(EWL_OBJECT(ibox), EWL_FLAG_ALIGN_CENTER);
+ ewl_container_child_append(EWL_CONTAINER(vbox), ibox);
+ ewl_widget_show(ibox);
+
+ image_view = ewl_image_new();
+ ewl_image_file_set(EWL_IMAGE(image_view), path, NULL);
+ ewl_container_child_append(EWL_CONTAINER(ibox), image_view);
+ ewl_image_proportional_set(EWL_IMAGE(image_view), TRUE);
+ ewl_object_fill_policy_set(EWL_OBJECT(image_view), EWL_FLAG_FILL_SHRINK);
+ ewl_object_alignment_set(EWL_OBJECT(image_view), EWL_FLAG_ALIGN_LEFT);
+ ewl_widget_show(image_view); 
+}
+
+void zoom_in(Ewl_Widget *w, void *event, void *data)
+{
+ const char *path;
+ int ow, oh;
  
- ewl_container_reset(EWL_CONTAINER(image_view));
- ewl_image_file_set(EWL_IMAGE(image_view), path, NULL);          
+ path = ewl_image_file_path_get(EWL_IMAGE(image_view));
+ ewl_object_current_size_get(EWL_OBJECT(image_view), &ow, &oh);
+ 
+ ewl_widget_destroy(ibox);
+ ewl_widget_destroy(image_view); 
+
+ ibox = ewl_scrollpane_new();
+ ewl_object_fill_policy_set(EWL_OBJECT(ibox), EWL_FLAG_FILL_ALL);
+ ewl_object_alignment_set(EWL_OBJECT(ibox), EWL_FLAG_ALIGN_CENTER);
+ ewl_container_child_append(EWL_CONTAINER(vbox), ibox);
+ ewl_widget_show(ibox);
+
+ image_view = ewl_image_new();
+ ewl_image_file_set(EWL_IMAGE(image_view), path, NULL);
+ ewl_container_child_append(EWL_CONTAINER(ibox), image_view);
+ ewl_image_proportional_set(EWL_IMAGE(image_view), TRUE);
+ ewl_image_size_set(EWL_IMAGE(image_view), ow*1.5, oh*1.5);
+ ewl_object_fill_policy_set(EWL_OBJECT(image_view), EWL_FLAG_FILL_SHRINK);
+ ewl_object_alignment_set(EWL_OBJECT(image_view), EWL_FLAG_ALIGN_LEFT);
+ ewl_widget_show(image_view); 
+}
+
+void zoom_out(Ewl_Widget *w, void *event, void *data)
+{
+ const char *path;
+ int ow, oh;
+ 
+ path = ewl_image_file_path_get(EWL_IMAGE(image_view));
+ ewl_object_current_size_get(EWL_OBJECT(image_view), &ow, &oh);
+ 
+ ewl_widget_destroy(ibox);
+ ewl_widget_destroy(image_view);
+ 
+ ibox = ewl_scrollpane_new();
+ ewl_object_fill_policy_set(EWL_OBJECT(ibox), EWL_FLAG_FILL_ALL);
+ ewl_object_alignment_set(EWL_OBJECT(ibox), EWL_FLAG_ALIGN_CENTER);
+ ewl_container_child_append(EWL_CONTAINER(vbox), ibox);
+ ewl_widget_show(ibox);
+
+ image_view = ewl_image_new();
+ ewl_image_file_set(EWL_IMAGE(image_view), path, NULL);
+ ewl_container_child_append(EWL_CONTAINER(ibox), image_view);
+ ewl_image_proportional_set(EWL_IMAGE(image_view), TRUE);
+ ewl_image_size_set(EWL_IMAGE(image_view), ow/1.5, oh/1.5);
+ ewl_object_fill_policy_set(EWL_OBJECT(image_view), EWL_FLAG_FILL_SHRINK);
+ ewl_object_alignment_set(EWL_OBJECT(image_view), EWL_FLAG_ALIGN_LEFT);
+ ewl_widget_show(image_view); 
+}
+
+void original_size(Ewl_Widget *w, void *event, void *data)
+{
+ const char *path;
+
+ path = ewl_image_file_path_get(EWL_IMAGE(image_view));
+
+ ewl_widget_destroy(ibox);
+ ewl_widget_destroy(image_view);
+ 
+ ibox = ewl_scrollpane_new();
+ ewl_object_fill_policy_set(EWL_OBJECT(ibox), EWL_FLAG_FILL_ALL);
+ ewl_object_alignment_set(EWL_OBJECT(ibox), EWL_FLAG_ALIGN_CENTER);
+ ewl_container_child_append(EWL_CONTAINER(vbox), ibox);
+ ewl_widget_show(ibox);
+
+ image_view = ewl_image_new();
+ ewl_image_file_set(EWL_IMAGE(image_view), path, NULL);
+ ewl_container_child_append(EWL_CONTAINER(ibox), image_view);
+ ewl_image_proportional_set(EWL_IMAGE(image_view), TRUE);
+ ewl_object_fill_policy_set(EWL_OBJECT(image_view), EWL_FLAG_FILL_SHRINK);
+ ewl_object_alignment_set(EWL_OBJECT(image_view), EWL_FLAG_ALIGN_LEFT);
+ ewl_widget_show(image_view); 
 }
 
 void view_images(Ewl_Widget *w, void *event, void *data)
@@ -25,8 +119,6 @@
  Ewl_Widget *freebox;
  Ewl_Widget *icon;
  Ewl_Widget *image;
- Ewl_Widget *vbox;
- Ewl_Widget *ibox;
  Ewl_Widget *hbox;
  Ewl_Widget *cell;
  Ecore_List *view_thumbs;
@@ -66,19 +158,17 @@
  ewl_object_maximum_size_set(EWL_OBJECT(freebox), 99999, 75);
  ewl_widget_show(freebox);
  
- ibox = ewl_cell_new();
+ ibox = ewl_scrollpane_new();
  ewl_object_fill_policy_set(EWL_OBJECT(ibox), EWL_FLAG_FILL_ALL);
  ewl_object_alignment_set(EWL_OBJECT(ibox), EWL_FLAG_ALIGN_CENTER);
  ewl_container_child_append(EWL_CONTAINER(vbox), ibox);
  ewl_widget_show(ibox);
  
  image_view = ewl_image_new();
- ewl_theme_data_str_set(image_view, "/image/group", 
-                       ewl_theme_data_str_get(m->entry, "group"));
  ewl_container_child_append(EWL_CONTAINER(ibox), image_view);
  ewl_image_proportional_set(EWL_IMAGE(image_view), TRUE);
  ewl_object_fill_policy_set(EWL_OBJECT(image_view), EWL_FLAG_FILL_SHRINK);
- ewl_object_alignment_set(EWL_OBJECT(image_view), EWL_FLAG_ALIGN_CENTER);
+ ewl_object_alignment_set(EWL_OBJECT(image_view), EWL_FLAG_ALIGN_LEFT);
  ewl_widget_show(image_view);
 
  hbox = ewl_hbox_new();
@@ -94,6 +184,7 @@
  ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_SHRINK);
  ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_CENTER);
  ewl_container_child_append(EWL_CONTAINER(hbox), button);
+ ewl_callback_append(button, EWL_CALLBACK_CLICKED, zoom_in, image_view);
  ewl_widget_show(button);
  
  button = ewl_button_new();
@@ -103,6 +194,7 @@
  ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_SHRINK);
  ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_CENTER);
  ewl_container_child_append(EWL_CONTAINER(hbox), button);
+ ewl_callback_append(button, EWL_CALLBACK_CLICKED, zoom_out, image_view);
  ewl_widget_show(button);
 
  button = ewl_button_new();
@@ -112,6 +204,7 @@
  ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_SHRINK);
  ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_CENTER);
  ewl_container_child_append(EWL_CONTAINER(hbox), button);
+ ewl_callback_append(button, EWL_CALLBACK_CLICKED, original_size, image_view);
  ewl_widget_show(button);
 
  button = ewl_button_new();



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to