Enlightenment CVS committal

Author  : monkeyiq
Project : misc
Module  : gevas2

Dir     : misc/gevas2/src


Modified Files:
        gevas.c gevas.h gevasimage.c 


Log Message:
After some light playing gevas-resize and evas-resize benchmark
are now similar in speed.

===================================================================
RCS file: /cvsroot/enlightenment/misc/gevas2/src/gevas.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- gevas.c     29 Apr 2005 07:11:04 -0000      1.14
+++ gevas.c     4 May 2005 02:28:44 -0000       1.15
@@ -212,8 +212,7 @@
 /* internal functions */
 void _show_evas_checked_bg(GtkWidget * widget, GtkgEvas * ev)
 {
-
-       if (!ev->show_checked_bg)
+    if (!ev->show_checked_bg)
                return;
 
        if (GTK_WIDGET_REALIZED(widget)
@@ -561,6 +560,8 @@
        GTK_WIDGET_SET_FLAGS(GTK_WIDGET(ev), GTK_CAN_FOCUS);
 /*     printf("gevas_init() 1\n"); */
 
+       ev->current_idle = 0;
+    ev->evas_render_call_count = 0;
     ev->ecore_timer_id  = 0;
     ev->scrolledwindow  = 0;
        ev->evas            = evas_new();
@@ -918,7 +919,7 @@
        /* Set realized flag */
        GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED);
 
-#if 0
+#if 1
        Visual *vis;
        Colormap cmap;
        GdkVisual *gdk_vis;
@@ -934,11 +935,14 @@
        cmap = GDK_COLORMAP_XCOLORMAP(gtk_widget_get_colormap(widget));
 /*     evas_get_optimal_colormap(ev->evas, */
 /*                                                               
GDK_WINDOW_XDISPLAY(GDK_ROOT_PARENT())); */
-       gdk_vis = gdkx_visual_get(XVisualIDFromVisual(vis));
+       gdk_vis  = gdkx_visual_get(XVisualIDFromVisual(vis));
        gdk_cmap = gdkx_colormap_get(cmap);
 
-    attributes.visual = gdk_vis;       /*gtk_widget_get_visual (widget); */
+    attributes.visual   = gdk_vis;     /*gtk_widget_get_visual (widget); */
        attributes.colormap = gdk_cmap; /*gtk_widget_get_colormap (widget); */
+#else
+    attributes.visual      = gtk_widget_get_visual (widget);
+    attributes.colormap    = gtk_widget_get_colormap (widget);
 #endif
   
        /* Evas window */
@@ -949,8 +953,6 @@
        attributes.width       = widget->allocation.width;
        attributes.height      = widget->allocation.height;
        attributes.wclass      = GDK_INPUT_OUTPUT;
-    attributes.visual      = gtk_widget_get_visual (widget);
-    attributes.colormap    = gtk_widget_get_colormap (widget);
        attributes.event_mask  = gtk_widget_get_events(widget) | 
GDK_EXPOSURE_MASK;
        attributes.event_mask |= GDK_EXPOSURE_MASK
         | GDK_BUTTON_PRESS_MASK
@@ -975,17 +977,7 @@
 
        widget->style = gtk_style_attach(widget->style, widget->window);
        gtk_style_set_background(widget->style, widget->window, 
GTK_STATE_NORMAL);
-
-       gdk_window_set_back_pixmap(widget->window, NULL, FALSE);
-/*     evas_set_output(ev->evas, */
-/*                                     GDK_WINDOW_XDISPLAY(widget->window), */
-/*                                     GDK_WINDOW_XWINDOW(widget->window), */
-/*                                     
GDK_VISUAL_XVISUAL(gtk_widget_get_visual(widget)), */
-/*                                     
GDK_COLORMAP_XCOLORMAP(gtk_widget_get_colormap(widget))); */
-/*     evas_output_size_set(ev->evas, widget->allocation.width, */
-/*                                              widget->allocation.height); */
-/*     evas_output_viewport_set(ev->evas, 0, 0, widget->allocation.width, */
-/*                                                      
widget->allocation.height); */
+    gdk_window_set_back_pixmap(widget->window, NULL, FALSE);
 
     evas_output_method_set(evas, evas_render_method_lookup("software_x11"));
     evas_output_size_set(evas,
@@ -1015,13 +1007,11 @@
     }
     
 
-
        /* only shows if the user has requested it */
        _show_evas_checked_bg(widget, ev);
 
     // FIXME: Maybe we can do something better than single buffering?
-    gtk_widget_set_double_buffered( widget, 0);
-    
+    gtk_widget_set_double_buffered( widget, 0 );
 
     
 //    printf("gevas_realize() end\n");
@@ -1283,6 +1273,7 @@
 
 
 
+    ev->evas_render_call_count++;
     evas_render(ev->evas);
 
 
@@ -1322,6 +1313,12 @@
 }
 
 
+long
+gevas_get_evas_render_call_count( GtkgEvas * ev )
+{
+    return ev->evas_render_call_count;
+}
+
 static gint gevas_view_redraw_cb(gpointer data)
 {
     GtkgEvas*    gevas = GTK_GEVAS( data );
@@ -1332,9 +1329,11 @@
     /* prevent evas from breaking if window isn't mapped */
     if(!GTK_WIDGET_MAPPED(ev))  
         return FALSE;
+
     
 //    fprintf(stderr,"gevas_view_redraw_cb! gevas:%p\n", gevas);
 
+    ev->evas_render_call_count++;
     evas_obscured_clear(ev->evas);
     evas_render(ev->evas);
 
@@ -1554,6 +1553,8 @@
                                gboolean oldv = ev->show_checked_bg;
                                ev->show_checked_bg = GTK_VALUE_BOOL(*arg);
 
+//                printf("gevas_checked_bg old:%d new:%d\n", oldv, 
ev->show_checked_bg );
+                
                                if (oldv) {
                                        evas_object_hide( ev->checked_bg );
                                } else {
===================================================================
RCS file: /cvsroot/enlightenment/misc/gevas2/src/gevas.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- gevas.h     29 Apr 2005 05:19:15 -0000      1.2
+++ gevas.h     4 May 2005 02:28:44 -0000       1.3
@@ -152,7 +152,10 @@
 
     // for using edjies
     guint ecore_timer_id;
-       };
+
+    // how many evas_render()s were called
+    long evas_render_call_count;
+};
 
 struct _GtkgEvasClass {
 
@@ -191,6 +194,7 @@
     void gevas_add_image_prefix( GtkgEvas * ev, const char* p );
     void gevas_remove_image_prefix ( GtkgEvas * ev, const char* p );
 
+    long gevas_get_evas_render_call_count( GtkgEvas * ev );
 
 /** protected **/
 
===================================================================
RCS file: /cvsroot/enlightenment/misc/gevas2/src/gevasimage.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- gevasimage.c        15 Nov 2004 16:41:22 -0000      1.11
+++ gevasimage.c        4 May 2005 02:28:44 -0000       1.12
@@ -166,6 +166,18 @@
 }
 
 
+void
+gevasimage_set_smooth_scale( GtkgEvasObj* object, int v )
+{
+    evas_object_image_smooth_scale_set(EVASO(object), v);
+}
+
+int
+gevasimage_get_smooth_scale( GtkgEvasObj* object )
+{
+    return evas_object_image_smooth_scale_get(EVASO(object));
+}
+
 
 void
 gevasimage_get_image_border(GtkgEvasObj * object, int *l, int *r, int *t,




-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to