Canvas image: add Efl.Canvas.Text.Factory + use in Ui.Text
authorDaniel Hirt <hirt.danny@gmail.com>
Thu, 9 Nov 2017 15:53:20 +0000 (17:53 +0200)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 3 Apr 2018 04:28:27 +0000 (13:28 +0900)
commit6ce086402e1eff9c1d12bdfb297878a6bc011659
tree878a6963dc20e2bce5efff84db8969c1cd16839c
parentfa5df5011847c79efc655786445bf30227d84ebe
Canvas image: add Efl.Canvas.Text.Factory + use in Ui.Text

This interface has a simple 'create' method to create Efl.Canvas.Object
given a key.
This is used higher-up in Ui.Text in the next commit.

Ui text: add ability to set item factories

Added API to set an item factory object.
This is similar to the previous item providers (that worked with
callbacks).

You instantiate a factory object and set it on the Ui.Text object.
Each factory implements the "create" method from
Efl.Canvas.Text.Item_Factory.

This also includes 3 public factories (Image, Emoticon and Fallback):
  - Image factory: creates images from added entries (key strings)
  - Emoticon factory: creates emoticons by querying the theme
  - Fallback: creates image, then falls back to emoticon

If no factory is set, then the fallback (internal) factory is used.

See the added "Ui.text Item Factory" test in elementary_test for an
example of usage.

@feature
21 files changed:
data/elementary/images/Makefile.am
data/elementary/images/image_items.eet [new file with mode: 0644]
src/Makefile_Elementary.am
src/Makefile_Evas.am
src/bin/elementary/test.c
src/bin/elementary/test_efl_ui_text.c
src/lib/efl/interfaces/efl_text_annotate.eo
src/lib/elementary/Elementary.h
src/lib/elementary/efl_ui_text.c
src/lib/elementary/efl_ui_text.eo
src/lib/elementary/efl_ui_text_factory_emoticons.c [new file with mode: 0644]
src/lib/elementary/efl_ui_text_factory_emoticons.eo [new file with mode: 0644]
src/lib/elementary/efl_ui_text_factory_fallback.c [new file with mode: 0644]
src/lib/elementary/efl_ui_text_factory_fallback.eo [new file with mode: 0644]
src/lib/elementary/efl_ui_text_factory_images.c [new file with mode: 0644]
src/lib/elementary/efl_ui_text_factory_images.eo [new file with mode: 0644]
src/lib/evas/Evas_Eo.h
src/lib/evas/canvas/efl_canvas_text.eo
src/lib/evas/canvas/efl_canvas_text_factory.eo [new file with mode: 0644]
src/lib/evas/canvas/evas_object_textblock.c
src/tests/evas/evas_test_textblock.c