Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_ipc_handlers.h e_pointer.c e_pointer.h 


Log Message:
Update cursor size.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers.h,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -3 -r1.67 -r1.68
--- e_ipc_handlers.h    2 Sep 2005 08:17:29 -0000       1.67
+++ e_ipc_handlers.h    2 Sep 2005 08:28:12 -0000       1.68
@@ -4591,8 +4591,8 @@
 #elif (TYPE == E_WM_IN)
    START_INT(val, HDL);
    e_config->cursor_size = val;
-   /* TODO: Update cursor size on screen! */
    E_CONFIG_LIMIT(e_config->cursor_size, 0, 1024);
+   e_pointers_size_set(e_config->cursor_size);
    SAVE;
    END_INT;
 #elif (TYPE == E_REMOTE_IN)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_pointer.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- e_pointer.c 24 Aug 2005 04:22:52 -0000      1.8
+++ e_pointer.c 2 Sep 2005 08:28:12 -0000       1.9
@@ -34,7 +34,7 @@
    evas_output_size_set(p->evas, p->w, p->h);
    evas_output_viewport_set(p->evas, 0, 0, p->w, p->h);
    
-   p->pixels = calloc(p->w * p->h, sizeof(int));
+   p->pixels = malloc(p->w * p->h * sizeof(int));
    
    einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(p->evas);
    if (einfo)
@@ -89,6 +89,37 @@
 }
 
 void
+e_pointers_size_set(int size)
+{
+   Evas_List *l;
+
+   for (l = _e_pointers; l; l = l->next)
+     {
+       E_Pointer *p;
+       Evas_Engine_Info_Buffer *einfo;
+
+       p = l->data;
+
+       p->w = p->h = size;
+       evas_output_size_set(p->evas, p->w, p->h);
+       evas_output_viewport_set(p->evas, 0, 0, p->w, p->h);
+
+       p->pixels = realloc(p->pixels, p->w * p->h * sizeof(int));
+
+       einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(p->evas);
+       if (einfo)
+         {
+            einfo->info.dest_buffer = p->pixels;
+            einfo->info.dest_buffer_row_bytes = p->w * sizeof(int);
+            evas_engine_info_set(p->evas, (Evas_Engine_Info *)einfo);
+         }
+
+       evas_object_move(p->pointer_object, 0, 0);
+       evas_object_resize(p->pointer_object, p->w, p->h);
+     }
+}
+
+void
 e_pointer_idler_before(void)
 {
    Evas_List *l;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_pointer.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- e_pointer.h 24 Aug 2005 04:22:52 -0000      1.7
+++ e_pointer.h 2 Sep 2005 08:28:12 -0000       1.8
@@ -28,6 +28,7 @@
 };
 
 EAPI E_Pointer *e_pointer_window_set(Ecore_X_Window win);
+EAPI void       e_pointers_size_set(int size);
 EAPI void       e_pointer_idler_before(void);
 
 #endif




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to