Hi dh,

Is this done because of the "black spacer" that you mention in Ecore's
commit? If so, that's fixed there already, do we still need this fix
in elementary too?

BTW, look at the comment below...

On Wed, Sep 4, 2013 at 10:38 AM, Chris Michael - Enlightenment Git
<no-re...@enlightenment.org> wrote:
> devilhorns pushed a commit to branch master.
>
> commit 2644ba383e1ac4196f62af7ad9c6bb288fe3b587
> Author: Chris Michael <cp.mich...@samsung.com>
> Date:   Wed Sep 4 14:22:44 2013 +0100
>
>     Add a rectangle to trac frame "spacer" so we can set opaque_region
>     properly.
>
>     Signed-off-by: Chris Michael <cp.mich...@samsung.com>
> ---
>  src/lib/elm_win.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>
> diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
> index c601b2f..1a91f05 100644
> --- a/src/lib/elm_win.c
> +++ b/src/lib/elm_win.c
> @@ -64,6 +64,7 @@ struct _Elm_Win_Smart_Data
>     Evas_Object          *parent; /* parent *window* object*/
>     Evas_Object          *img_obj, *frame_obj;
>     Evas_Object          *client_obj; /* rect representing the client */
> +   Evas_Object          *spacer_obj;
>     Eo                   *layout;
>     Eo                   *box;
>     Evas_Object          *obj; /* The object itself */
> @@ -2209,6 +2210,7 @@ _elm_win_frame_obj_move(void *data,
>     Elm_Win_Smart_Data *sd;
>     int fx, fy, fw, fh;
>     int ox, oy, ow, oh;
> +   int sx, sy, sw, sh;
>     int x, y, w, h;
>
>     if (!(sd = data)) return;
> @@ -2216,6 +2218,7 @@ _elm_win_frame_obj_move(void *data,
>
>     evas_object_geometry_get(sd->frame_obj, &fx, &fy, &fw, &fh);
>     evas_object_geometry_get(sd->client_obj, &ox, &oy, &ow, &oh);
> +   evas_object_geometry_get(sd->spacer_obj, &sx, &sy, &sw, &sh);
>
>     evas_output_framespace_get(sd->evas, &x, &y, &w, &h);
>     if ((x != (ox - fx)) || (y != (oy - fy)) ||
> @@ -2224,6 +2227,10 @@ _elm_win_frame_obj_move(void *data,
>          evas_output_framespace_set(sd->evas, (ox - fx), (oy - fy),
>                                     (fw - ow), (fh - oh));
>       }
> +
> +#ifdef HAVE_ELEMENTARY_WAYLAND
> +   ecore_wl_window_opaque_region_set(sd->wl.win, -fx, -sy, sw, sh);
> +#endif

I think there's a mistake on the lines above, you are using -fx, -sy.
Shouldn't it be -sx, -sy?

>  static void
> @@ -2235,6 +2242,7 @@ _elm_win_frame_obj_resize(void *data,
>     Elm_Win_Smart_Data *sd;
>     int fx, fy, fw, fh;
>     int ox, oy, ow, oh;
> +   int sx, sy, sw, sh;
>     int x, y, w, h;
>
>     if (!(sd = data)) return;
> @@ -2242,6 +2250,7 @@ _elm_win_frame_obj_resize(void *data,
>
>     evas_object_geometry_get(sd->frame_obj, &fx, &fy, &fw, &fh);
>     evas_object_geometry_get(sd->client_obj, &ox, &oy, &ow, &oh);
> +   evas_object_geometry_get(sd->spacer_obj, &sx, &sy, &sw, &sh);
>
>     evas_output_framespace_get(sd->evas, &x, &y, &w, &h);
>     if ((x != (ox - fx)) || (y != (oy - fy)) ||
> @@ -2250,6 +2259,10 @@ _elm_win_frame_obj_resize(void *data,
>          evas_output_framespace_set(sd->evas, (ox - fx), (oy - fy),
>                                     (fw - ow), (fh - oh));
>       }
> +
> +#ifdef HAVE_ELEMENTARY_WAYLAND
> +   ecore_wl_window_opaque_region_set(sd->wl.win, -fx, -sy, sw, sh);

Same problem here.

> +#endif
>  }
>
>  static void
> @@ -2437,6 +2450,12 @@ _elm_win_frame_add(Elm_Win_Smart_Data *sd,
>          return;
>       }
>
> +   sd->spacer_obj = evas_object_rectangle_add(sd->evas);
> +   evas_object_color_set(sd->spacer_obj, 0, 0, 0, 0);
> +   evas_object_repeat_events_set(sd->spacer_obj, EINA_TRUE);
> +   edje_object_part_swallow(sd->frame_obj, "elm.swallow.frame_spacer",
> +                            sd->spacer_obj);
> +
>     sd->client_obj = evas_object_rectangle_add(sd->evas);
>     evas_object_color_set(sd->client_obj, 0, 0, 0, 0);
>     /* NB: Tried pass_events here, but that fails to send events */
>
> --
>
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk


-- 
Rafael Antognolli

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to