Make calculate for visibility of client based on geometry of E_Desk. 69/90469/1
authorSeunghun Lee <shiin.lee@samsung.com>
Fri, 30 Sep 2016 07:44:43 +0000 (16:44 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Fri, 30 Sep 2016 07:49:50 +0000 (16:49 +0900)
This patch depends on following patch of enlightenment.

commit 2b4ac34d416bcdb465244e6ba8a4e351ad582b19
Author: Seunghun Lee <shiin.lee@samsung.com>
Date:   Thu Sep 29 11:47:21 2016 +0900

e_desk: Make E_Desk has geometry, and clients can be membered to E_Desk's smart object.

By this patch, we can change the geometry of E_Desk, and the geometry of clients
can be also changed by the E_Desk, not E_Zone.

Added New APIs :
   E_API void e_desk_client_add(E_Desk *desk, E_Client *ec);
   E_API void e_desk_client_del(E_Desk *desk, E_Client *ec);
   E_API void e_desk_geometry_set(E_Desk *desk, int x, int y, int w, int h);

Usage in console :
   $ enlightenment_info -desktop_geometry_set [X] [Y] [W] [H]

Change-Id: I3a075b9dd2325bc0985b7591ace90133e58db283

src/e_mod_effect.c

index f54d6ab..ac40d13 100644 (file)
@@ -318,9 +318,9 @@ _eff_visibility_stack_check(E_Client *ec, Eina_List *stack)
 
    if (!stack) return EINA_FALSE;
 
-   tiler = eina_tiler_new(ec->zone->w, ec->zone->h);
+   tiler = eina_tiler_new(ec->desk->geom.w, ec->desk->geom.h);
    eina_tiler_tile_size_set(tiler, 1, 1);
-   EINA_RECTANGLE_SET(&r, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h);
+   EINA_RECTANGLE_SET(&r, ec->desk->geom.x, ec->desk->geom.y, ec->desk->geom.w, ec->desk->geom.h);
    eina_tiler_rect_add(tiler, &r);
 
    EINA_LIST_FOREACH(stack, l, _ec)