Enlightenment CVS committal
Author : tsauerbeck
Project : e17
Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_evas
Modified Files:
Ecore_Evas.h.in ecore_evas.c ecore_evas_private.h
Log Message:
implemented ecore_evas_data_get/set
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Ecore_Evas.h.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- Ecore_Evas.h.in 27 Aug 2004 10:02:45 -0000 1.4
+++ Ecore_Evas.h.in 2 Sep 2004 16:50:18 -0000 1.5
@@ -10,7 +10,6 @@
* to do soon:
* - iconfication api needs to work
* - maximization api nees to work
- * - attach keyed data to an ecore_evas canvas
* - document all calls
*
* later:
@@ -59,6 +58,8 @@
/* generic manipulation calls */
void ecore_evas_free(Ecore_Evas *ee);
+void *ecore_evas_data_get(Ecore_Evas *ee, const char *key);
+void ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data);
void ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas
*ee));
void ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas
*ee));
void ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas
*ee));
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/ecore_evas.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- ecore_evas.c 8 Jul 2004 14:42:12 -0000 1.14
+++ ecore_evas.c 2 Sep 2004 16:50:18 -0000 1.15
@@ -62,6 +62,7 @@
return;
}
ECORE_MAGIC_SET(ee, ECORE_MAGIC_NONE);
+ if (ee->data) evas_hash_free(ee->data);
if (ee->driver) free(ee->driver);
if (ee->name) free(ee->name);
if (ee->prop.title) free(ee->prop.title);
@@ -70,6 +71,7 @@
if (ee->prop.cursor.file) free(ee->prop.cursor.file);
if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object);
if (ee->evas) evas_free(ee->evas);
+ ee->data = NULL;
ee->driver = NULL;
ee->name = NULL;
ee->prop.title = NULL;
@@ -82,6 +84,37 @@
free(ee);
}
+void *
+ecore_evas_data_get(Ecore_Evas *ee, const char *key)
+{
+ if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
+ {
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_data_get");
+ return NULL;
+ }
+
+ if (!key) return NULL;
+
+ return evas_hash_find(ee->data, key);
+}
+
+void
+ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data)
+{
+ if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
+ {
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_data_set");
+ return;
+ }
+
+ if (!key) return;
+
+ ee->data = evas_hash_del(ee->data, key, NULL);
+ ee->data = evas_hash_add(ee->data, key, data);
+}
+
#define IFC(_ee, _fn) if (_ee->engine.func->_fn) {_ee->engine.func->_fn
#define IFE return;}
===================================================================
RCS file:
/cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_private.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- ecore_evas_private.h 17 Mar 2004 05:14:13 -0000 1.5
+++ ecore_evas_private.h 2 Sep 2004 16:50:18 -0000 1.6
@@ -104,7 +104,9 @@
char shaped : 1;
char visible : 1;
char should_be_visible : 1;
-
+
+ Evas_Hash *data;
+
struct {
int x, y;
} mouse;
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs