[E-devel] [Patch][elm_map] Fix related zoom
Hello, This is patch for zoom behavior in elm_map. 1) wd-zoom_max is defined by user. wd-src_tile-zoom_max is defined by source map provider. Therefore, I decide to do not touch those things. Just check these while zooming ( zoom_do() ) 2) When pan being re-sized, I changed from zoom with animation to zoom with NO animation because too many animation is occurred while window size is changing. 3) When argument is invalid for elm_map_zoom_min_get/elm_map_zoom_max_get, those return -1. Please review this patch Thanks. -- BRs, Kim. Index: src/lib/elm_map.c === --- src/lib/elm_map.c (리비전 69583) +++ src/lib/elm_map.c (작업 사본) @@ -1151,6 +1151,8 @@ static void zoom_do(Widget_Data *wd, double zoom) { EINA_SAFETY_ON_NULL_RETURN(wd); + if (zoom wd-src_tile-zoom_max) zoom = wd-src_tile-zoom_max; + else if (zoom wd-src_tile-zoom_min) zoom = wd-src_tile-zoom_min; if (zoom wd-zoom_max) zoom = wd-zoom_max; else if (zoom wd-zoom_min) zoom = wd-zoom_min; @@ -2506,7 +2508,7 @@ _overlays_show(void *data) EINA_SAFETY_ON_NULL_RETURN(data); Delayed_Data *dd = data; - int zoom; + int zoom, zoom_max; double max_lon, min_lon, max_lat, min_lat; Evas_Coord vw, vh; @@ -2516,7 +2518,10 @@ _overlays_show(void *data) zoom = dd-wd-src_tile-zoom_min; _viewport_coord_get(dd-wd, NULL, NULL, vw, vh); - while (zoom = dd-wd-src_tile-zoom_max) + if (dd-wd-src_tile-zoom_max dd-wd-zoom_max) + zoom_max = dd-wd-src_tile-zoom_max; + else zoom_max = dd-wd-zoom_max; + while (zoom = zoom_max) { Evas_Coord size, max_x, max_y, min_x, min_y; size = pow(2.0, zoom) * dd-wd-tsize; @@ -3528,7 +3533,7 @@ _zoom_mode_set(void *data) } } } - zoom_with_animation(dd-wd, zoom, 10); +zoom_do(dd-wd, zoom); } } @@ -3987,9 +3992,6 @@ elm_map_zoom_set(Evas_Object *obj, int z if (wd-mode != ELM_MAP_ZOOM_MODE_MANUAL) return; if (zoom 0) zoom = 0; if (wd-zoom == zoom) return; - if (zoom wd-src_tile-zoom_max) zoom = wd-src_tile-zoom_max; - if (zoom wd-src_tile-zoom_min) zoom = wd-src_tile-zoom_min; - Delayed_Data *data = ELM_NEW(Delayed_Data); data-func = _zoom_set; data-wd = wd; @@ -4063,8 +4065,6 @@ elm_map_zoom_max_set(Evas_Object *obj, i EINA_SAFETY_ON_NULL_RETURN(wd); EINA_SAFETY_ON_NULL_RETURN(wd-src_tile); - if ((zoom wd-src_tile-zoom_max) || (zoom wd-src_tile-zoom_min)) - return; wd-zoom_max = zoom; #else (void) obj; @@ -4076,7 +4076,7 @@ EAPI int elm_map_zoom_max_get(const Evas_Object *obj) { #ifdef HAVE_ELEMENTARY_ECORE_CON - ELM_CHECK_WIDTYPE(obj, widtype) 18; + ELM_CHECK_WIDTYPE(obj, widtype) -1; Widget_Data *wd = elm_widget_data_get(obj); EINA_SAFETY_ON_NULL_RETURN_VAL(wd, -1); EINA_SAFETY_ON_NULL_RETURN_VAL(wd-src_tile, -1); @@ -4084,7 +4084,7 @@ elm_map_zoom_max_get(const Evas_Object * return wd-zoom_max; #else (void) obj; - return 18; + return -1; #endif } @@ -4097,8 +4097,6 @@ elm_map_zoom_min_set(Evas_Object *obj, i EINA_SAFETY_ON_NULL_RETURN(wd); EINA_SAFETY_ON_NULL_RETURN(wd-src_tile); - if ((zoom wd-src_tile-zoom_max) || (zoom wd-src_tile-zoom_min)) - return; wd-zoom_min = zoom; #else (void) obj; @@ -4110,7 +4108,7 @@ EAPI int elm_map_zoom_min_get(const Evas_Object *obj) { #ifdef HAVE_ELEMENTARY_ECORE_CON - ELM_CHECK_WIDTYPE(obj, widtype) 0; + ELM_CHECK_WIDTYPE(obj, widtype) -1; Widget_Data *wd = elm_widget_data_get(obj); EINA_SAFETY_ON_NULL_RETURN_VAL(wd, -1); EINA_SAFETY_ON_NULL_RETURN_VAL(wd-src_tile, -1); @@ -4118,11 +4116,10 @@ elm_map_zoom_min_get(const Evas_Object * return wd-zoom_min; #else (void) obj; - return 0; + return -1; #endif } - EAPI void elm_map_region_bring_in(Evas_Object *obj, double lon, double lat) { -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch][elm_map] Fix related zoom
Why is zoom with animation changed to zoom_do ? On Fri, Mar 23, 2012 at 7:36 PM, Bluezery ohpo...@gmail.com wrote: Hello, This is patch for zoom behavior in elm_map. 1) wd-zoom_max is defined by user. wd-src_tile-zoom_max is defined by source map provider. Therefore, I decide to do not touch those things. Just check these while zooming ( zoom_do() ) 2) When pan being re-sized, I changed from zoom with animation to zoom with NO animation because too many animation is occurred while window size is changing. 3) When argument is invalid for elm_map_zoom_min_get/elm_map_zoom_max_get, those return -1. Please review this patch Thanks. -- BRs, Kim. -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch][elm_map] Fix related zoom
2012/3/23 Sanjeev BA eflel...@gmail.com: Why is zoom with animation changed to zoom_do ? Because too many animations occurred while window size is changing. :) Zoom with animation can be used by elm_map_zoom_set(). On Fri, Mar 23, 2012 at 7:36 PM, Bluezery ohpo...@gmail.com wrote: Hello, This is patch for zoom behavior in elm_map. 1) wd-zoom_max is defined by user. wd-src_tile-zoom_max is defined by source map provider. Therefore, I decide to do not touch those things. Just check these while zooming ( zoom_do() ) 2) When pan being re-sized, I changed from zoom with animation to zoom with NO animation because too many animation is occurred while window size is changing. 3) When argument is invalid for elm_map_zoom_min_get/elm_map_zoom_max_get, those return -1. Please review this patch Thanks. -- BRs, Kim. -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- BRs, Kim. -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch][elm_map] Fix related zoom
ok. In SVN : r69590. On Fri, Mar 23, 2012 at 8:13 PM, Bluezery ohpo...@gmail.com wrote: 2012/3/23 Sanjeev BA eflel...@gmail.com: Why is zoom with animation changed to zoom_do ? Because too many animations occurred while window size is changing. :) Zoom with animation can be used by elm_map_zoom_set(). On Fri, Mar 23, 2012 at 7:36 PM, Bluezery ohpo...@gmail.com wrote: Hello, This is patch for zoom behavior in elm_map. 1) wd-zoom_max is defined by user. wd-src_tile-zoom_max is defined by source map provider. Therefore, I decide to do not touch those things. Just check these while zooming ( zoom_do() ) 2) When pan being re-sized, I changed from zoom with animation to zoom with NO animation because too many animation is occurred while window size is changing. 3) When argument is invalid for elm_map_zoom_min_get/elm_map_zoom_max_get, those return -1. Please review this patch Thanks. -- BRs, Kim. -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- BRs, Kim. -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel