Enlightenment CVS committal Author : titan Project : e17 Module : proto
Dir : e17/proto/ephoto/src Modified Files: ephoto_viewer.c Log Message: Much better zooming. Much less buggy. =================================================================== RCS file: /cvs/e/e17/proto/ephoto/src/ephoto_viewer.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- ephoto_viewer.c 1 Oct 2006 00:05:41 -0000 1.9 +++ ephoto_viewer.c 1 Oct 2006 00:26:15 -0000 1.10 @@ -1,6 +1,5 @@ #include "ephoto.h" Ewl_Widget *vwin; -Ewl_Widget *vbox; Ewl_Widget *ibox; Ewl_Widget *image_view; @@ -15,76 +14,35 @@ 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); + ewl_widget_show(image_view); } void zoom_in(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); + ewl_widget_reparent(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); + ewl_widget_reparent(image_view); } void original_size(Ewl_Widget *w, void *event, void *data) @@ -93,28 +51,22 @@ 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); + ewl_widget_show(image_view); } void view_images(Ewl_Widget *w, void *event, void *data) { char *current_image; Ewl_Widget *button; + Ewl_Widget *vbox; Ewl_Widget *scrollpane; Ewl_Widget *freebox; Ewl_Widget *icon; ------------------------------------------------------------------------- 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