aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/ecore_evas
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/ecore_evas')
-rw-r--r--src/lib/ecore_evas/Ecore_Evas.h9
-rw-r--r--src/lib/ecore_evas/ecore_evas.c24
-rw-r--r--src/lib/ecore_evas/ecore_evas_private.h4
3 files changed, 37 insertions, 0 deletions
diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
index 3ffdab69d0..45dd047ca3 100644
--- a/src/lib/ecore_evas/Ecore_Evas.h
+++ b/src/lib/ecore_evas/Ecore_Evas.h
@@ -2308,6 +2308,15 @@ EAPI void ecore_evas_draw_frame_set(Ecore_Evas *ee, Eina_Bool draw_frame)
EAPI Eina_Bool ecore_evas_draw_frame_get(const Ecore_Evas *ee) EINA_DEPRECATED;
/**
+ * @brief Set shadow geometry for client-side decorations
+ *
+ * Note that the framespace contains both a shadow or glow around the window,
+ * and the window borders (title bar, etc...).
+ */
+EAPI void ecore_evas_shadow_geometry_set(Ecore_Evas *ee, int x, int y, int w, int h);
+EAPI void ecore_evas_shadow_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h);
+
+/**
* @brief Associate the given object to this ecore evas.
*
* @param ee The Ecore_Evas to associate to @a obj
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index d3187ad3aa..440088345d 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -2236,6 +2236,30 @@ ecore_evas_draw_frame_get(const Ecore_Evas *ee EINA_UNUSED)
return EINA_FALSE;
}
+EAPI void
+ecore_evas_shadow_geometry_set(Ecore_Evas *ee, int l, int r, int t, int b)
+{
+ ECORE_EVAS_CHECK(ee);
+ ee->shadow.l = l;
+ ee->shadow.r = r;
+ ee->shadow.t = t;
+ ee->shadow.b = b;
+}
+
+EAPI void
+ecore_evas_shadow_geometry_get(const Ecore_Evas *ee, int *l, int *r, int *t, int *b)
+{
+ if (l) *l = 0;
+ if (r) *r = 0;
+ if (t) *t = 0;
+ if (b) *b = 0;
+ ECORE_EVAS_CHECK(ee);
+ if (l) *l = ee->shadow.l;
+ if (r) *r = ee->shadow.r;
+ if (t) *t = ee->shadow.t;
+ if (b) *b = ee->shadow.b;
+}
+
EAPI void
ecore_evas_pointer_xy_get(const Ecore_Evas *ee, Evas_Coord *x, Evas_Coord *y)
{
diff --git a/src/lib/ecore_evas/ecore_evas_private.h b/src/lib/ecore_evas/ecore_evas_private.h
index e4642c7c2d..c1ea4c0ecc 100644
--- a/src/lib/ecore_evas/ecore_evas_private.h
+++ b/src/lib/ecore_evas/ecore_evas_private.h
@@ -206,6 +206,10 @@ struct _Ecore_Evas
} req;
struct {
+ int l, r, t, b;
+ } shadow;
+
+ struct {
int x, y;
} mouse;