So... finally, I pushed the efl_gfx_path yesterday.

Now I'd like to propose a new widget - efl_ui_path

Conceptually, this widget is similiar with the efl_ui_flip.
It setups an arbitrary path mesh using the evas_map,  maps a user's content and 
displays it.

It helps users in drawing any kind of content on the arbitrary curving path.
Specifically, it would be useful to draw a curved text, many ui systems have 
provided that feature.

Basically, users can set up the path object with a main content and vector path 
information.

You can see my prototype screenshots below.

https://phab.enlightenment.org/F48119
https://phab.enlightenment.org/F48120
https://phab.enlightenment.org/F48121
https://phab.enlightenment.org/F48122

And here is a basic usage example for the path object.

//Initialize a Path object.
Efl_Ui_Path *path = efl_add(EFL_UI_PATH_CLASS, parent);
efl_gfx_position_set(path, 100, 100);
efl_gfx_size_set(path, 300, 300);   
efl_gfx_visible_set(path, true);

//Set a path content. (ex, label, text, image etc.)
efl_content_set(efl_part(path, "content"), content);

//Set a path information.
efl_gfx_path_append_circle(path, x, y, radius);
//or maybe
efl_gfx_path_append_rect(path, x, y, w, h, rx);
//or maybe line_to, move_to...

Also, using our align interfaces, it'll be possible to align/fill the content 
in the path area.
efl_gfx_size_hint_align_set(content, EFL_GFX_SIZE_HINT_FILL, 
EFL_GFX_SIZE_HINT_FILL);

Probably, there could be some optional interfaces like this.
efl_ui_path_slice_set() // map polygon count ?

but options are not at the stake now.

Please give your opinions if you have. 

Thank you.


------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to