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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs