Taehwan Kim <ohpowel@gmail.com>
On Tue, Feb 21, 2012 at 8:02 PM, Bluezery <ohpowel@gmail.com> wrote:
> Hello,
>
> Previous my giant patches made build errors when EMAP is enabled. This
> patch fixed this.
> 'ox' & 'oy' is almost useless values (-1 or 0 value). I will fix and
> upgrade all things related EMAP later.
> Please review this patch
SVN revision: 68214
Subject: [E-devel] [Patch][elm_map] Refactoring Elementary Map
I have done refactoring & code clean-up in elm_map. Event if this
patch have much changes, refactoring & code clean-up jobs almost
always do.
Anyway, code is shortened and optimized I think.
I have done following jobs in my patch.
(1) Always change child size
Scroller Child size is changed when integer zoom level is changed
before. This makes bugs which mouse pointer is not correct on the map
when map is dragging.
Now, scroller child size is always changed when double zoom level is
changed.
(2) Evas map
Evas map is used for rotation & zooming before. But now it is used for
only rotation. evas_object_resize() can do zooming because (1) makes
child size always changed.
(3) Grid & Marker & Route, etc.
Because of (1), all coordinate calculations are all changed. So grid &
marker & route should be changed.
When I have fixed these, I have these split into small function
(create, free, update, place, etc.)
So these can be easily reused for other purpose ( I will add overlay
later.)
Also marker size is not changed and is not rotated anymore because
marker's coordinate is just rotated and evas_map is not used for
marker.
And grouping algorithm is somewhat changed. Each marker can be group
leader and if other markers (followers) are closed to leader, markers
are grouped.
Actually _marker_place() function do almost everything. (place marker,
bubble, group & make group, etc.)
Bubbles go along with parent object. (show, hide, move) and this is
created when marker & group are opened.
At now, bubble display bugs are all fixed.
As before, grid is created when elm_map_add() or tile source is
changed. And I add _grid_item_* functions for each 256x256 tile
management. So grid_place() function can be simple now.
(4) Download idler
Before download is not a job or idler and is integrated with grid
calculation.
I have separated this into independent idler. So now, download idler
do download jobs when idler time.
(5) Zoom
I have made one zoom_do() function. This does all zoom jobs. At now,
pinch_zoom & wheel_zoom & animated zoom do not much jobs. just call
zoom_do().
(6) Delayed jobs
As I know, evas is based on a retained mode and calculation can be do
later. So sometimes elm_map APIs can not do the jobs correctly.
For example, elm_map_marker_list_show() or elm_map_zoom_set() can not
be used right after elm_map_add() because window size and pan size
can be 0. (refer map_example_02.c)
So when APIs related such calculation are called. These are deferred
and calculated later when _pan_calculate() is called.
5) Code clean-up
I have removed unused variables & functions. and rearranged struct &
functions & declaration & static variables, etc.
Instead of "if (!wd) return; ", I changed this by macro,
"EINA_SAFETY_ON_NULL_RETURN(wd);". This is better for function
entrance check. Also ELM_NEW is used instead of calloc or malloc.
Aboves are all related each other. So it can be hard to split this
file. If these should be splitted, I'm going to freak ;D.
This patch does no harm!!!! :D.
After this patch, I will add overlay APIs based on this patch. I
doubt whether I will add this before elementary 1.0 release. :(
SVN revision: 68207
<kimcinoo@gmail.com>
On Thu, Feb 16, 2012 at 10:20 AM, cnook <kimcinoo@gmail.com> wrote:
> Dear All, Hello~
>
> As you guess, the patch is for the elementary_test.
> Please review the patch and give any feedbacks.
>
> The test_actionslider patch is mainly for elm_actionslider_xxx_get()
APIs.
> It would not be a good idea to add test code for such APIs.
> So I have planed to add test code except elm_xxx_get() APIs
>
> Sincerely,
> Shinwoo Kim.
SVN revision: 68205
Subject: [E-devel] [Patch][elm_win] elm_win_title_set(); can make a
crash with NULL
Have ever try to call elm_win_title_set(win, NULL)? Then try... :-] It
makes "Segmentation Fault".
Yeah, we can add patch in the Ecore side, but we can prevent the
segmentation fault before go inside.
Please check the patch and give any feedbacks. Thanks a lot.
SVN revision: 68154
Subject: [E-devel] [Patch][elementary_test] test_cnp
The attachment is a patch to enhance the test_cnp in elementary_test.
You can check how to use elm_cnp_selection_clear() through the patch.
SVN revision: 68153
To: EFL <enlightenment-devel@lists.sourceforge.net>
I have attached patch for elementary_test as following.
- test_check: using elm_check_state_pointer_set();
- test_clock: using elm_clock_interval_set();
Please review this. Thanks always.
SVN revision: 68151
Subject: [E-devel] [patch] elm_genlist - add item_class management
functions
I make controversial apis for item class management.
As raster and other guys suggest, I simplify APIs and its behaviors.
First, Two public apis and two internal apis are introduced
+EAPI Elm_Genlist_Item_Class *
+elm_genlist_item_class_new(void)
+EAPI void
+elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc)
+void
+_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc)
+void
+_elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc)
genlist item class is maintained by genlist in automatic manner.
And three fields are introduced in genlist item class.
+ int version;
+ unsigned int refcount;
+ Eina_Bool delete_me;
Normally a user add a elm_genlist_item_class by
elm_genlist_item_class_new().
Then its reference counter is automatic maintained.
If the user wanna to remove the elm_genlist_item_class, then call
elm_genlist_item_class_free()
After refcount reaches to 0, it will be removed.
SVN revision: 68147