Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_evas
Modified Files:
Tag: SPLIT
Ecore_Evas.h ecore_evas.c
Log Message:
more work on ecore
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Attic/Ecore_Evas.h,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -u -3 -r1.1.2.6 -r1.1.2.7
--- Ecore_Evas.h 8 Feb 2003 05:05:03 -0000 1.1.2.6
+++ Ecore_Evas.h 8 Feb 2003 07:03:41 -0000 1.1.2.7
@@ -48,24 +48,24 @@
const char *ecore_evas_title_get(Ecore_Evas *ee);
void ecore_evas_name_class_set(Ecore_Evas *ee, const char *n, const char
*c);
void ecore_evas_name_class_get(Ecore_Evas *ee, const char **n, const char
**c);
- void ecore_evas_size_min_set(Ecore_Evas *ee, int w, int h);
- void ecore_evas_size_min_get(Ecore_Evas *ee, int *w, int *h);
- void ecore_evas_size_max_set(Ecore_Evas *ee, int w, int h);
- void ecore_evas_size_max_get(Ecore_Evas *ee, int *w, int *h);
- void ecore_evas_size_base_set(Ecore_Evas *ee, int w, int h);
- void ecore_evas_size_base_get(Ecore_Evas *ee, int *w, int *h);
- void ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h);
- void ecore_evas_size_step_get(Ecore_Evas *ee, int *w, int *h);
- void ecore_evas_cursor_set(Ecore_Evas *ee, const char *file, int layer, int hot_x,
int hot_y);
- void ecore_evas_cursor_get(Ecore_Evas *ee, char **file, int *layer, int *hot_x,
int *hot_y);
- void ecore_evas_layer_set(Ecore_Evas *ee, int layer);
- int ecore_evas_layer_get(Ecore_Evas *ee);
+ void ecore_evas_size_min_set(Ecore_Evas *ee, int w, int h);
+ void ecore_evas_size_min_get(Ecore_Evas *ee, int *w, int *h);
+ void ecore_evas_size_max_set(Ecore_Evas *ee, int w, int h);
+ void ecore_evas_size_max_get(Ecore_Evas *ee, int *w, int *h);
+ void ecore_evas_size_base_set(Ecore_Evas *ee, int w, int h);
+ void ecore_evas_size_base_get(Ecore_Evas *ee, int *w, int *h);
+ void ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h);
+ void ecore_evas_size_step_get(Ecore_Evas *ee, int *w, int *h);
+ void ecore_evas_cursor_set(Ecore_Evas *ee, const char *file, int layer, int
+hot_x, int hot_y);
+ void ecore_evas_cursor_get(Ecore_Evas *ee, char **file, int *layer, int
+*hot_x, int *hot_y);
+ void ecore_evas_layer_set(Ecore_Evas *ee, int layer);
+ int ecore_evas_layer_get(Ecore_Evas *ee);
void ecore_evas_focus_set(Ecore_Evas *ee, int on);
int ecore_evas_focus_get(Ecore_Evas *ee);
void ecore_evas_iconified_set(Ecore_Evas *ee, int on);
int ecore_evas_iconified_get(Ecore_Evas *ee);
- void ecore_evas_borderless_set(Ecore_Evas *ee, int on);
- int ecore_evas_borderless_get(Ecore_Evas *ee);
+ void ecore_evas_borderless_set(Ecore_Evas *ee, int on);
+ int ecore_evas_borderless_get(Ecore_Evas *ee);
void ecore_evas_override_set(Ecore_Evas *ee, int on);
int ecore_evas_override_get(Ecore_Evas *ee);
void ecore_evas_maximized_set(Ecore_Evas *ee, int on);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Attic/ecore_evas.c,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -u -3 -r1.1.2.6 -r1.1.2.7
--- ecore_evas.c 8 Feb 2003 05:05:04 -0000 1.1.2.6
+++ ecore_evas.c 8 Feb 2003 07:03:41 -0000 1.1.2.7
@@ -416,6 +416,10 @@
ee->driver = strdup("software_x11");
if (disp_name) ee->name = strdup(disp_name);
+ ee->prop.max.w = 32767;
+ ee->prop.max.h = 32767;
+ ee->prop.layer = 4;
+
/* init evas here */
ee->evas = evas_new();
evas_output_method_set(ee->evas, rmethod);
@@ -571,6 +575,7 @@
int
ecore_evas_rotation_get(Ecore_Evas *ee)
{
+ return ee->rotation;
}
void
@@ -581,6 +586,7 @@
int
ecore_evas_shaped_get(Ecore_Evas *ee)
{
+ return ee->shaped;
}
void
@@ -650,61 +656,135 @@
void
ecore_evas_size_min_set(Ecore_Evas *ee, int w, int h)
{
+ if (w < 0) w = 0;
+ if (h < 0) h = 0;
+ if ((ee->prop.min.w == w) && (ee->prop.min.h == h)) return;
+ ee->prop.min.w = w;
+ ee->prop.min.h = h;
+ ecore_x_window_prop_min_size_set(ee->x11.win_container, ee->prop.min.w,
+ee->prop.min.h);
}
void
ecore_evas_size_min_get(Ecore_Evas *ee, int *w, int *h)
{
+ if (w) *w = ee->prop.min.w;
+ if (h) *h = ee->prop.min.h;
}
void
ecore_evas_size_max_set(Ecore_Evas *ee, int w, int h)
{
+ if (w < 0) w = 0;
+ if (h < 0) h = 0;
+ if ((ee->prop.max.w == w) && (ee->prop.max.h == h)) return;
+ ee->prop.max.w = w;
+ ee->prop.max.h = h;
+ ecore_x_window_prop_max_size_set(ee->x11.win_container, ee->prop.max.w,
+ee->prop.max.h);
}
void
ecore_evas_size_max_get(Ecore_Evas *ee, int *w, int *h)
{
+ if (w) *w = ee->prop.max.w;
+ if (h) *h = ee->prop.max.h;
}
void
ecore_evas_size_base_set(Ecore_Evas *ee, int w, int h)
{
+ if (w < 0) w = 0;
+ if (h < 0) h = 0;
+ if ((ee->prop.base.w == w) && (ee->prop.base.h == h)) return;
+ ee->prop.base.w = w;
+ ee->prop.base.h = h;
+ ecore_x_window_prop_base_size_set(ee->x11.win_container, ee->prop.base.w,
+ee->prop.base.h);
}
void
ecore_evas_size_base_get(Ecore_Evas *ee, int *w, int *h)
{
+ if (w) *w = ee->prop.base.w;
+ if (h) *h = ee->prop.base.h;
}
void
ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h)
{
+ if (w < 1) w = 1;
+ if (h < 1) h = 1;
+ if ((ee->prop.step.w == w) && (ee->prop.step.h == h)) return;
+ ee->prop.step.w = w;
+ ee->prop.step.h = h;
+ ecore_x_window_prop_step_size_set(ee->x11.win_container, ee->prop.step.w,
+ee->prop.step.h);
}
void
ecore_evas_size_step_get(Ecore_Evas *ee, int *w, int *h)
{
+ if (w) *w = ee->prop.step.w;
+ if (h) *h = ee->prop.step.h;
}
void
ecore_evas_cursor_set(Ecore_Evas *ee, const char *file, int layer, int hot_x, int
hot_y)
{
+ int x, y;
+
+ if (!file)
+ {
+ if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object);
+ if (ee->prop.cursor.file) free(ee->prop.cursor.file);
+ ee->prop.cursor.object = NULL;
+ ee->prop.cursor.file = NULL;
+ ee->prop.cursor.layer = 0;
+ ee->prop.cursor.hot.x = 0;
+ ee->prop.cursor.hot.y = 0;
+ ecore_x_window_cursor_show(ee->x11.win, 1);
+ return;
+ }
+ ecore_x_window_cursor_show(ee->x11.win, 0);
+ if (!ee->prop.cursor.object) ee->prop.cursor.object =
+evas_object_image_add(ee->evas);
+ if (ee->prop.cursor.file) free(ee->prop.cursor.file);
+ ee->prop.cursor.file = strdup(file);
+ ee->prop.cursor.layer = layer;
+ ee->prop.cursor.hot.x = hot_x;
+ ee->prop.cursor.hot.y = hot_y;
+ evas_pointer_output_xy_get(ee->evas, &x, &y);
+ evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
+ evas_object_color_set(ee->prop.cursor.object, 255, 255, 255, 255);
+ evas_object_move(ee->prop.cursor.object,
+ x - ee->prop.cursor.hot.x,
+ y - ee->prop.cursor.hot.y);
+ evas_object_image_file_set(ee->prop.cursor.object, ee->prop.cursor.file, NULL);
+ evas_object_image_size_get(ee->prop.cursor.object, &x, &y);
+ evas_object_resize(ee->prop.cursor.object, x, y);
+ evas_object_image_fill_set(ee->prop.cursor.object, 0, 0, x, y);
+ evas_object_pass_events_set(ee->prop.cursor.object, 1);
+ if (evas_pointer_inside_get(ee->evas))
+ evas_object_show(ee->prop.cursor.object);
}
void
ecore_evas_cursor_get(Ecore_Evas *ee, char **file, int *layer, int *hot_x, int *hot_y)
{
+ if (file) *file = ee->prop.cursor.file;
+ if (layer) *layer = ee->prop.cursor.layer;
+ if (hot_x) *hot_x = ee->prop.cursor.hot.x;
+ if (hot_y) *hot_y = ee->prop.cursor.hot.y;
}
void
ecore_evas_layer_set(Ecore_Evas *ee, int layer)
{
+ if (ee->prop.layer == layer) return;
+ ee->prop.layer = layer;
+ ecore_x_window_prop_layer_set(ee->x11.win_container, ee->prop.layer);
}
int
ecore_evas_layer_get(Ecore_Evas *ee)
{
+ return ee->prop.layer;
}
void
@@ -722,21 +802,28 @@
void
ecore_evas_iconified_set(Ecore_Evas *ee, int on)
{
+ printf("ecore_evas_iconified_set() does not do anything yet.\n");
}
int
ecore_evas_iconified_get(Ecore_Evas *ee)
{
+ return ee->prop.iconified;
}
void
ecore_evas_borderless_set(Ecore_Evas *ee, int on)
{
+ if (((ee->prop.borderless) && (on)) ||
+ ((!ee->prop.borderless) && (!on))) return;
+ ee->prop.borderless = on;
+ ecore_x_window_prop_borderless_set(ee->x11.win_container, ee->prop.borderless);
}
int
ecore_evas_borderless_get(Ecore_Evas *ee)
{
+ return ee->prop.borderless;
}
void
@@ -756,6 +843,12 @@
ecore_x_window_prop_name_class_set(ee->x11.win_container, ee->prop.name,
ee->prop.clas);
if (ee->func.fn_delete_request)
ecore_x_window_prop_delete_request_set(ee->x11.win_container, 1);
+ ecore_x_window_prop_min_size_set(ee->x11.win_container, ee->prop.min.w,
+ee->prop.min.h);
+ ecore_x_window_prop_max_size_set(ee->x11.win_container, ee->prop.max.w,
+ee->prop.max.h);
+ ecore_x_window_prop_base_size_set(ee->x11.win_container, ee->prop.base.w,
+ee->prop.base.h);
+ ecore_x_window_prop_step_size_set(ee->x11.win_container, ee->prop.step.w,
+ee->prop.step.h);
+ ecore_x_window_prop_borderless_set(ee->x11.win_container, ee->prop.borderless);
+ ecore_x_window_prop_layer_set(ee->x11.win_container, ee->prop.layer);
}
ecore_x_window_reparent(ee->x11.win, ee->x11.win_container, 0, 0);
ecore_x_window_show(ee->x11.win);
@@ -820,9 +913,30 @@
void
ecore_evas_avoid_damage_set(Ecore_Evas *ee, int on)
{
+ Evas_Engine_Info_Software_X11 *einfo;
+
+ ee->prop.avoid_damage = on;
+ einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
+ if (ee->prop.avoid_damage)
+ {
+ einfo->info.drawable = ee->x11.pmap;
+ einfo->info.drawable = ee->x11.mask;
+ evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ }
+ else
+ {
+ einfo->info.drawable = ee->x11.win;
+ einfo->info.drawable = ee->x11.mask;
+ evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
+ }
+ }
}
int
ecore_evas_avoid_damage_get(Ecore_Evas *ee)
{
+ return ee->prop.avoid_damage;
}
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs