On Thu, 7 Aug 2014 17:29:03 +0200 Stefan Schmidt <ste...@datenfreihafen.org>
said:

> Hello.
> 
> On Thu, 2014-08-07 at 23:58, Carsten Haitzler wrote:
> > On Thu, 7 Aug 2014 16:33:54 +0200 Stefan Schmidt <ste...@datenfreihafen.org>
> > said:
> > 
> > > Hello.
> > > 
> > > Looking through ABI/API changes between and 1.11.
> > > 
> > > On Wed, 2014-05-28 at 01:10, bluezery wrote:
> > > > raster pushed a commit to branch master.
> > > > 
> > > > http://git.enlightenment.org/core/elementary.git/commit/?id=84c2351bc339eca22acb79c86acbee7a1322f8c0
> > > > 
> > > > commit 84c2351bc339eca22acb79c86acbee7a1322f8c0
> > > > Author: bluezery <ohpo...@gmail.com>
> > > > Date:   Wed May 28 17:08:00 2014 +0900
> > > > 
> > > >     elm_map: Add new elm_map_region_zoom_bring_in() API
> > > >     
> > > >     Summary:
> > > >     By using this API, we  can do region show & bring in concurrently.
> > > >     This needs some tuning more because some main layouting logic in map
> > > >     needs to be modified to support more smooth animation.
> > > >     I will spare my time to do that later.
> > > >     @feature
> > > >     
> > > >     Reviewers: Hermet, raster, stefan_schmidt
> > > >     
> > > >     Reviewed By: raster
> > > >     
> > > >     CC: Jaehyun
> > > >     
> > > >     Differential Revision: https://phab.enlightenment.org/D887
> > > > ---
> > > >  src/bin/test_map.c       |  7 ++++
> > > >  src/lib/elm_map.c        | 88 +++++++++++++++++++++++++++++++++++++++++
> > > > +++ +--- src/lib/elm_map.eo       | 20 +++++++++++
> > > >  src/lib/elm_widget_map.h |  7 ++--
> > > >  4 files changed, 115 insertions(+), 7 deletions(-)
> > > 
> > > [SNIP]
> > > 
> > > > --- a/src/lib/elm_widget_map.h
> > > > +++ b/src/lib/elm_widget_map.h
> > > > @@ -432,8 +432,11 @@ struct _Elm_Map_Data
> > > >     struct
> > > >     {
> > > >        double zoom;
> > > > -      double diff;
> > > > -      int    cnt;
> > > > +      double zoom_diff;
> > > > +      double lon, lat;
> > > > +      double lon_diff, lat_diff;
> > > > +      int    zoom_cnt;
> > > > +      int    region_cnt;
> > > >     } ani;
> > > 
> > > Did you intend here to rename diff to zoom_diff and cnt to region_cnt?
> > > 
> > > In any case it is bad to remove already exported symbols from this
> > > public struct. Even if you handle the change internally you never know
> > > what people in the outside are doing with it and if they get a new elm
> > > version and their code starts to crash because a symbol is no longer
> > > there thats really bad.
> > > 
> > > I see two options out of this.
> > > 
> > > a) Mark the old struct entries as deprecated in the header and report
> > > a deprecating warning on usage.
> > > 
> > > or
> > > 
> > > b) just keep the old names even if they are not good.
> > 
> > elm widget api's... from elm_widget.h:
> 
> But this is from elm_widget_map.h
> 
> > 
> > /* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR
> >  * CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT
> >  * FINAL. CALL elm_widget_api_check(ELM_INTERNAL_API_VERSION) TO CHECK
> >  * IT AT RUNTIME.
> > 
> > :) mall widget api's - the structs for their internals, elm_widget etc. are
> > not api/bi stable and are commented explicitly as such like above. :)
> 
> The header file above does not have this warning and happily sits in
> my /us/local/include/elementary/ to be used by everyone.
> 
> So none of this is part of our stable API?

correct. just look at the structs

typedef struct _Path                   Path;
typedef struct _Color                  Color;
typedef struct _Region                 Region;

etc. ... isn't that enough of a hint? that's internal stuff - not public api.
it's elm_widget*.h. no elm namspacing there at all! it's all part of the elm
widget api - the one that is as above commented/marked as "don't use this
unless you want stuff to break". it's internal object data thus we can change
this at will - i never wanted to expose such internal data and we do it nowhere
else in efl precisely because of it exposing internal widget data
- it too easily allows people to mess with it in a way they shouldn't or stops
us from changing the internals.

so you can ignore everything elm_widget*.h based. :)

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


------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&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