On Fri, 22 Nov 2013 14:08:41 +0900 (KST) ChunEon Park <her...@naver.com> said:

> My fault. sorry for your inconvenience.
> 
> I fixed it again.
> http://git.enlightenment.org/core/efl.git/commit/?id=58368ea63699291c535c78c9fcc6269c478ca511

good man! fixed it is!

> ------------------------------------
> -Regards, Hermet-
> 
> -----Original Message-----
> From: "Carsten Haitzler"<ras...@rasterman.com> 
> To: "Enlightenment developer
> list"<enlightenment-devel@lists.sourceforge.net>; Cc: "ChunEon
> Park"<her...@hermet.pe.kr>; Sent: 2013-11-22 (금) 11:59:24
> Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: edje - Fix to update
> map enabled part when edje object is moved.
> 
> On Wed, 20 Nov 2013 20:27:16 -0800 ChunEon Park <hermet>@hermet.pe.kr> said:
> 
> this (plus eea338764abcf38c8be404be7e3c540cfedc002b which depends on the below
> commit) cause cpufreq arrows to be wrong in their initial state (if they don't
> move up and down). try set your governor to performance and see cpufreq. :)
> 
> see attached image.
> 
> you can reproduce this by having cpufreq come up always at max, THEN use ibar
> THEN run some app that is not in your ibar so the ibar "extra apps" expands.
> make sure cpufreq is to the right of ibar... so the gadget has to move to the
> right to make space for ibar content.
> 
> the cpufreq dial/needle doesnt move along with the rest of the object.
> 
> > hermet pushed a commit to branch master.
> > 
> > http://git.enlightenment.org/core/efl.git/commit/?id=12aba0db5a0949488d37b69b8696ed424666dca8
> > 
> > commit 12aba0db5a0949488d37b69b8696ed424666dca8
> > Author: ChunEon Park <hermet>@hermet.pe.kr>
> > Date:   Thu Nov 21 13:26:37 2013 +0900
> > 
> >     edje - Fix to update map enabled part when edje object is moved.
> > ---
> >  ChangeLog                     4 +++
> >  NEWS                          1 +
> >  src/lib/edje/edje_calc.c      6 ++++-
> >  src/lib/edje/edje_private.h   1 +
> >  src/lib/edje/edje_smart.c    59 +++++++++++++++++++++
> > +----------------------- 5 files changed, 40 insertions(+), 31 deletions(-)
> > 
> > diff --git a/ChangeLog b/ChangeLog
> > index b9c4c28..de43e9e 100644
> > --- a/ChangeLog
> > +++ b/ChangeLog
> > @@ -1,3 +1,7 @@
> > +2013-11-21  ChunEon Park (Hermet)
> > +
> > +* Edje: Fix to update map-enabled part when the edje object is moved.
> > +
> >  2013-11-20  Cedric Bail
> >  
> >  * Eina: Fix a possible race condition during eina_file_close.
> > diff --git a/NEWS b/NEWS
> > index 01803f8..cdb7d7d 100644
> > --- a/NEWS
> > +++ b/NEWS
> > @@ -437,6 +437,7 @@ Fixes:
> >       - Fixed memory leak in the edje map color transition.
> >       - Add null checking for name of anchor and item in geometry get
> > functions.
> >       - Fix use of eina_hash_pointer to actually look at the pointer value.
> > +     - Fix to update map-enabled part when the edje object is moved.
> >  
> >      * Efreet:
> >       - Fix desktop command parsing of https.
> > diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
> > index b6816ee..6f98455 100644
> > --- a/src/lib/edje/edje_calc.c
> > +++ b/src/lib/edje/edje_calc.c
> > @@ -650,7 +650,6 @@ _edje_recalc_do(Edje *ed)
> >     need_calc = evas_object_smart_need_recalculate_get(ed->obj);
> >     evas_object_smart_need_recalculate_set(ed->obj, 0);
> >     if (!ed->dirty) return;
> > -   ed->have_mapped_part = EINA_FALSE;
> >     ed->dirty = EINA_FALSE;
> >     ed->state++;
> >     for (i = 0; i < ed->table_parts_size; i++)
> > @@ -3353,6 +3352,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int
> > flags, Edje_Calc_Params *sta (statep1 >= ep->param1.state) 
> >              proxy_invalidate 
> >              state 
> > +            (ep->map_on && ed->have_mapped_part) 
> >              ((ep->part->type == EDJE_PART_TYPE_TEXT 
> >                ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) &&
> >               ed->text_part_change))
> > @@ -3421,6 +3421,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int
> > flags, Edje_Calc_Params *sta (statep2 >= ep->param2->state) 
> >              proxy_invalidate 
> >              state 
> > +            (ep->map_on && ed->have_mapped_part) 
> >              ((ep->part->type == EDJE_PART_TYPE_TEXT 
> >                ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) &&
> >               ed->text_part_change))
> > @@ -3894,6 +3895,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int
> > flags, Edje_Calc_Params *sta static Evas_Map *map = NULL;
> >  
> >               ed->have_mapped_part = EINA_TRUE;
> > +             ep->map_on = EINA_TRUE;
> >               // create map and populate with part geometry
> >               if (!map) map = evas_map_new(4);
> >  
> > @@ -3915,6 +3917,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int
> > flags, Edje_Calc_Params *sta }
> >          else
> >            {
> > +             ep->map_on = EINA_FALSE;
> > +
> >               if (ep->nested_smart)
> >                 {  /* Cancel map of smart obj holding nested parts */
> >                    eo_do(ep->nested_smart,
> > diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
> > index b6e0db9..bfcc9b7 100644
> > --- a/src/lib/edje/edje_private.h
> > +++ b/src/lib/edje/edje_private.h
> > @@ -1594,6 +1594,7 @@ struct _Edje_Real_Part
> >  #ifdef EDJE_CALC_CACHE
> >     Eina_Bool                 invalidate : 1; // 0
> >  #endif
> > +   Eina_Bool                 map_on : 1; // 0
> >  }; // 128
> >  // WITH EDJE_CALC_CACHE: 407
> >  
> > diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
> > index d4c095e..7fb79a8 100644
> > --- a/src/lib/edje/edje_smart.c
> > +++ b/src/lib/edje/edje_smart.c
> > @@ -151,6 +151,7 @@ _edje_smart_move(Eo *obj EINA_UNUSED, void *_pd, va_list
> > *list) Evas_Coord x = va_arg(*list, Evas_Coord);
> >     Evas_Coord y = va_arg(*list, Evas_Coord);
> >     Edje *ed = _pd;
> > +   unsigned int i;
> >  
> >     if ((ed->x == x) && (ed->y == y)) return;
> >     ed->x = x;
> > @@ -168,43 +169,41 @@ _edje_smart_move(Eo *obj EINA_UNUSED, void *_pd,
> > va_list *list) return;
> >       }
> >  
> > -   if (ed->have_mapped_part)
> > +   for (i = 0; i < ed->table_parts_size; i++)
> >       {
> > -        ed->dirty = EINA_TRUE;
> > -        _edje_recalc_do(ed);
> > -     }
> > -   else
> > -     {
> > -        unsigned int i;
> > +        Edje_Real_Part *ep;
> >  
> > -        for (i = 0; i < ed->table_parts_size; i++)
> > +        ep = ed->table_parts[i];
> > +        if ((ep->type == EDJE_RP_TYPE_TEXT) && (ep->typedata.text))
> >            {
> > -             Edje_Real_Part *ep;
> > -
> > -             ep = ed->table_parts[i];
> > -             if ((ep->type == EDJE_RP_TYPE_TEXT) && (ep->typedata.text))
> > -               {
> > -                  evas_object_move(ep->object,
> > -                                   ed->x + ep->x +
> > ep->typedata.text->offset.x,
> > -                                   ed->y + ep->y +
> > ep->typedata.text->offset.y);
> > -               }
> > -             else
> > +             evas_object_move(ep->object,
> > +                              ed->x + ep->x + ep->typedata.text->offset.x,
> > +                              ed->y + ep->y + ep->typedata.text->offset.y);
> > +          }
> > +        else
> > +          {
> > +             evas_object_move(ep->object, ed->x + ep->x, ed->y + ep->y);
> > +             if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
> > +                 (ep->typedata.swallow))
> >                 {
> > -                  evas_object_move(ep->object, ed->x + ep->x, ed->y +
> > ep->y);
> > -                  if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
> > -                      (ep->typedata.swallow))
> > -                    {
> > -                       if (ep->typedata.swallow->swallowed_object)
> > -                         evas_object_move
> > -                            (ep->typedata.swallow->swallowed_object,
> > -                             ed->x + ep->x,
> > -                             ed->y + ep->y);
> > -                    }
> > +                  if (ep->typedata.swallow->swallowed_object)
> > +                    evas_object_move
> > +                       (ep->typedata.swallow->swallowed_object,
> > +                        ed->x + ep->x,
> > +                        ed->y + ep->y);
> >                 }
> > -             if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
> > -               _edje_entry_real_part_configure(ed, ep);
> >            }
> > +        if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
> > +          _edje_entry_real_part_configure(ed, ep);
> >       }
> > +
> > +   if (ed->have_mapped_part)
> > +     {
> > +        ed->dirty = EINA_TRUE;
> > +        _edje_recalc_do(ed);
> > +        ed->have_mapped_part = EINA_FALSE;
> > +     }
> > +
> >  //   _edje_emit(ed, "move", NULL);
> >  }
> >  
> > 
> > -- 
> > 
> > 
> 
> 
> -- 
> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> The Rasterman (Carsten Haitzler)    ras...@rasterman.com
> 
> 
> ------------------------------------------------------------------------------
> Shape the Mobile Experience: Free Subscription
> Software experts and developers: Be at the forefront of tech innovation.
> Intel(R) Software Adrenaline delivers strategic insight and game-changing 
> conversations that shape the rapidly evolving mobile landscape. Sign up now. 
> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> ------------------------------------------------------------------------------
> Shape the Mobile Experience: Free Subscription
> Software experts and developers: Be at the forefront of tech innovation.
> Intel(R) Software Adrenaline delivers strategic insight and game-changing 
> conversations that shape the rapidly evolving mobile landscape. Sign up now. 
> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&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