From 67f86603a54e70f37b3e4a8a6f447043c98abec0 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sun, 30 Jul 2000 22:50:53 +0000 Subject: [PATCH] more meat SVN revision: 2945 --- legacy/evas/src/Evas.h | 12 +++++++++--- legacy/evas/src/evas_main.c | 23 +++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/legacy/evas/src/Evas.h b/legacy/evas/src/Evas.h index 133138eb21..3026f7022d 100644 --- a/legacy/evas/src/Evas.h +++ b/legacy/evas/src/Evas.h @@ -38,6 +38,14 @@ typedef struct _Evas_Object_Evas * Evas_Object_Evas; #define IMAGE_FORMAT_RGB 2 #define IMAGE_FORMAT_GRAY 3 +#define OBJECT_IMAGE 0 +#define OBJECT_TEXT 1 +#define OBJECT_RECTANGLE 2 +#define OBJECT_LINE 3 +#define OBJECT_GRADIENT_BOX 4 +#define OBJECT_BITS 5 +#define OBJECT_EVAS 6 + struct _Evas { struct { @@ -54,15 +62,13 @@ struct _Evas double x, y, w, h; } viewport; - Evas_List layers; - int render_method; void *renderer_data; } current, previous; - /* externally provided updates for drawable relative rects */ + Evas_List layers; Evas_List updates; }; diff --git a/legacy/evas/src/evas_main.c b/legacy/evas/src/evas_main.c index 389a74d146..a2feac03c7 100644 --- a/legacy/evas/src/evas_main.c +++ b/legacy/evas/src/evas_main.c @@ -2,16 +2,39 @@ #include #include #include +#include /* create and destroy */ Evas evas_new(void) { + Evas e; + + e = malloc(sizeof(struct _Evas)); + memset(e, 0, sizeof(struct _Evas)); + e->current.viewport.x = 0.0; + e->current.viewport.y = 0.0; + e->current.viewport.w = 0.0; + e->current.viewport.h = 0.0; + e->current.output.x = 0; + e->current.output.y = 0; + e->current.output.w = 0; + e->current.output.h = 0; + e->current.render_method = RENDER_METHOD_BASIC_HARDWARE; + return e; } void evas_free(Evas e) { + Evas_List l; + + for (l = e->layers; l; l = l->next) + { + /* free layer */ + } + if (e->layers) evas_list_free(e->layers); + free(e); } /* for exposes or forced redraws (relative to output drawable) */