Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_evas
Modified Files:
Ecore_Evas.h ecore_evas.c ecore_evas_fb.c ecore_evas_private.h
ecore_evas_x.c
Log Message:
till's stick patch
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/Ecore_Evas.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- Ecore_Evas.h 23 Sep 2003 08:09:30 -0000 1.2
+++ Ecore_Evas.h 16 Nov 2003 02:29:10 -0000 1.3
@@ -99,6 +99,8 @@
int ecore_evas_avoid_damage_get(Ecore_Evas *ee);
void ecore_evas_withdrawn_set(Ecore_Evas *ee, int withdrawn);
int ecore_evas_withdrawn_get(Ecore_Evas *ee);
+void ecore_evas_sticky_set(Ecore_Evas *ee, int sticky);
+int ecore_evas_sticky_get(Ecore_Evas *ee);
#ifdef __cplusplus
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/ecore_evas.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- ecore_evas.c 23 Sep 2003 08:09:30 -0000 1.2
+++ ecore_evas.c 16 Nov 2003 02:29:10 -0000 1.3
@@ -1449,9 +1449,50 @@
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_withdrawn_set");
+ "ecore_evas_withdrawn_get");
return 0;
} else
return ee->prop.withdrawn;
}
+/**
+ * Set the sticky state of an Ecore_Evas window.
+ *
+ * @param ee The Ecore_Evas whose window's sticky state is set.
+ * @param sticky The Ecore_Evas window's new sticky state.
+ *
+ * <hr><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+ */
+void
+ecore_evas_sticky_set(Ecore_Evas *ee, int sticky)
+{
+ if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
+ {
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_sticky_set");
+ return;
+ }
+
+ IFC(ee, fn_sticky_set) (ee, sticky);
+ IFE;
+}
+
+/**
+ * Returns the sticky state of an Ecore_Evas' window.
+ *
+ * @param ee The Ecore_Evas whose window's sticky state is returned.
+ * @return The Ecore_Evas window's sticky state.
+ *
+ * <hr><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+ */
+int
+ecore_evas_sticky_get(Ecore_Evas *ee)
+{
+ if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
+ {
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_sticky_get");
+ return 0;
+ } else
+ return ee->prop.sticky;
+}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_fb.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- ecore_evas_fb.c 23 Sep 2003 08:09:31 -0000 1.2
+++ ecore_evas_fb.c 16 Nov 2003 02:29:10 -0000 1.3
@@ -420,6 +420,8 @@
NULL,
_ecore_evas_fullscreen_set,
NULL,
+ NULL,
+ NULL,
NULL
};
#endif
@@ -471,6 +473,7 @@
ee->prop.maximized = 1;
ee->prop.fullscreen = 0;
ee->prop.withdrawn = 0;
+ ee->prop.sticky = 0;
/* init evas here */
ee->evas = evas_new();
===================================================================
RCS file:
/cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_private.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- ecore_evas_private.h 23 Sep 2003 08:09:31 -0000 1.2
+++ ecore_evas_private.h 16 Nov 2003 02:29:10 -0000 1.3
@@ -62,6 +62,7 @@
void (*fn_fullscreen_set) (Ecore_Evas *ee, int on);
void (*fn_avoid_damage_set) (Ecore_Evas *ee, int on);
void (*fn_withdrawn_set) (Ecore_Evas *ee, int withdrawn);
+ void (*fn_sticky_set) (Ecore_Evas *ee, int sticky);
};
struct _Ecore_Evas_Engine
@@ -134,6 +135,7 @@
char fullscreen : 1;
char avoid_damage : 1;
char withdrawn : 1;
+ char sticky : 1;
} prop;
struct {
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_x.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ecore_evas_x.c 12 Oct 2003 02:49:52 -0000 1.4
+++ ecore_evas_x.c 16 Nov 2003 02:29:10 -0000 1.5
@@ -872,6 +872,17 @@
}
static void
+_ecore_evas_sticky_set(Ecore_Evas *ee, int sticky)
+{
+ if ((ee->prop.sticky && sticky) ||
+ (!ee->prop.sticky && !sticky)) return;
+
+ ee->prop.sticky = sticky;
+ ecore_x_window_prop_sticky_set(ee->engine.x.win_container,
+ ee->prop.sticky);
+}
+
+static void
_ecore_evas_override_set(Ecore_Evas *ee, int on)
{
if (((ee->prop.override) && (on)) ||
@@ -895,6 +906,8 @@
ecore_x_window_prop_borderless_set(ee->engine.x.win_container,
ee->prop.borderless);
ecore_x_window_prop_layer_set(ee->engine.x.win_container, ee->prop.layer);
ecore_x_window_prop_withdrawn_set(ee->engine.x.win_container,
ee->prop.withdrawn);
+ ecore_x_window_prop_sticky_set(ee->engine.x.win_container,
+ ee->prop.sticky);
}
ecore_x_window_reparent(ee->engine.x.win, ee->engine.x.win_container, 0, 0);
ecore_x_window_show(ee->engine.x.win);
@@ -927,6 +940,8 @@
}
ee->x = 0;
ee->y = 0;
+ ee->w = rw;
+ ee->h = rh;
}
else
{
@@ -937,8 +952,41 @@
ecore_x_window_resize(ee->engine.x.win, pw, ph);
ecore_x_window_shape_mask_set(ee->engine.x.win, 0);
if (ee->should_be_visible) ecore_x_window_show(ee->engine.x.win_container);
+ ee->w = pw;
+ ee->h = ph;
+ }
+ ecore_x_window_resize(ee->engine.x.win, ee->w, ee->h);
+ if ((ee->rotation == 90) || (ee->rotation == 270))
+ {
+ evas_output_size_set(ee->evas, ee->h, ee->w);
+ evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
+ }
+ else
+ {
+ evas_output_size_set(ee->evas, ee->w, ee->h);
+ evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
+ }
+ if (ee->prop.avoid_damage)
+ {
+ ecore_evas_avoid_damage_set(ee, 0);
+ ecore_evas_avoid_damage_set(ee, 1);
+ }
+ if (ee->shaped)
+ {
+ ecore_evas_shaped_set(ee, 0);
+ ecore_evas_shaped_set(ee, 1);
+ }
+ if ((ee->expecting_resize.w > 0) &&
+ (ee->expecting_resize.h > 0))
+ {
+ if ((ee->expecting_resize.w == ee->w) &&
+ (ee->expecting_resize.h == ee->h))
+ _ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y);
+ ee->expecting_resize.w = 0;
+ ee->expecting_resize.h = 0;
}
ee->prop.fullscreen = on;
+ if (ee->func.fn_resize) ee->func.fn_resize(ee);
}
static void
@@ -1034,7 +1082,8 @@
NULL,
_ecore_evas_fullscreen_set,
_ecore_evas_avoid_damage_set,
- _ecore_evas_withdrawn_set
+ _ecore_evas_withdrawn_set,
+ _ecore_evas_sticky_set
};
#endif
-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs