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