diff --git a/legacy/elementary/configure.ac b/legacy/elementary/configure.ac index dfcb99e0be..a92e419669 100644 --- a/legacy/elementary/configure.ac +++ b/legacy/elementary/configure.ac @@ -303,6 +303,7 @@ data/themes/Makefile data/images/Makefile data/objects/Makefile data/desktop/Makefile +data/edje_externals/Makefile config/Makefile config/default/Makefile config/standard/Makefile diff --git a/legacy/elementary/data/Makefile.am b/legacy/elementary/data/Makefile.am index 08d4f01c30..17807ed315 100644 --- a/legacy/elementary/data/Makefile.am +++ b/legacy/elementary/data/Makefile.am @@ -1,3 +1,3 @@ AUTOMAKE_OPTIONS = 1.4 foreign MAINTAINERCLEANFILES = Makefile.in -SUBDIRS = themes images objects desktop +SUBDIRS = themes images objects desktop edje_externals diff --git a/legacy/elementary/data/edje_externals/Makefile.am b/legacy/elementary/data/edje_externals/Makefile.am new file mode 100644 index 0000000000..3f05020596 --- /dev/null +++ b/legacy/elementary/data/edje_externals/Makefile.am @@ -0,0 +1,25 @@ +AUTOMAKE_OPTIONS = 1.4 foreign +MAINTAINERCLEANFILES = Makefile.in + +EDJE_CC = @edje_cc@ +EDJE_FLAGS = -v -id $(top_srcdir)/data/edje_externals -fd $(top_srcdir)/data/edje_externals + +filesdir = $(datadir)/elementary/edje_externals +files_DATA = icons.edj + +EXTRA_DIST = \ +icons.edc \ +ico_button.png \ +ico_check.png \ +ico_radio.png \ +ico_scrolled_entry.png \ +ico_slider.png \ +ico_toggle.png + +icons.edj: Makefile $(EXTRA_DIST) + $(EDJE_CC) $(EDJE_FLAGS) \ + $(top_srcdir)/data/edje_externals/icons.edc \ + $(top_builddir)/data/edje_externals/icons.edj + +clean-local: + rm -f *.edj diff --git a/legacy/elementary/data/edje_externals/ico_button.png b/legacy/elementary/data/edje_externals/ico_button.png new file mode 100644 index 0000000000..842a43283b Binary files /dev/null and b/legacy/elementary/data/edje_externals/ico_button.png differ diff --git a/legacy/elementary/data/edje_externals/ico_check.png b/legacy/elementary/data/edje_externals/ico_check.png new file mode 100644 index 0000000000..2d05343cbe Binary files /dev/null and b/legacy/elementary/data/edje_externals/ico_check.png differ diff --git a/legacy/elementary/data/edje_externals/ico_radio.png b/legacy/elementary/data/edje_externals/ico_radio.png new file mode 100644 index 0000000000..080f4b0a7b Binary files /dev/null and b/legacy/elementary/data/edje_externals/ico_radio.png differ diff --git a/legacy/elementary/data/edje_externals/ico_scrolled_entry.png b/legacy/elementary/data/edje_externals/ico_scrolled_entry.png new file mode 100644 index 0000000000..443e4c2cf9 Binary files /dev/null and b/legacy/elementary/data/edje_externals/ico_scrolled_entry.png differ diff --git a/legacy/elementary/data/edje_externals/ico_slider.png b/legacy/elementary/data/edje_externals/ico_slider.png new file mode 100644 index 0000000000..307f45cddb Binary files /dev/null and b/legacy/elementary/data/edje_externals/ico_slider.png differ diff --git a/legacy/elementary/data/edje_externals/ico_toggle.png b/legacy/elementary/data/edje_externals/ico_toggle.png new file mode 100644 index 0000000000..e22086a31e Binary files /dev/null and b/legacy/elementary/data/edje_externals/ico_toggle.png differ diff --git a/legacy/elementary/data/edje_externals/icons.edc b/legacy/elementary/data/edje_externals/icons.edc new file mode 100644 index 0000000000..0d9ba739e8 --- /dev/null +++ b/legacy/elementary/data/edje_externals/icons.edc @@ -0,0 +1,18 @@ +#define ICON(_name) \ +images { image: "ico_"_name".png" COMP; } \ +collections { group { name: "ico_"_name; \ + parts { part { name: "icon"; \ + type: IMAGE; mouse_events: 0; \ + description { state: "default" 0.0; \ + align: 0.5 0.5; \ + aspect: 1.0 1.0; \ + aspect_preference: VERTICAL; \ + image.normal: "ico_"_name".png"; \ +}}}}} + +ICON("button") +ICON("check") +ICON("radio") +ICON("scrolled_entry") +ICON("slider") +ICON("toggle") diff --git a/legacy/elementary/src/edje_externals/Makefile.am b/legacy/elementary/src/edje_externals/Makefile.am index cc11dd5ce5..d39f8576a0 100644 --- a/legacy/elementary/src/edje_externals/Makefile.am +++ b/legacy/elementary/src/edje_externals/Makefile.am @@ -1,4 +1,3 @@ - MAINTAINERCLEANFILES = Makefile.in AM_CPPFLAGS = \ diff --git a/legacy/elementary/src/edje_externals/elm_button.c b/legacy/elementary/src/edje_externals/elm_button.c index f6fd574b6e..ad3514f2e9 100644 --- a/legacy/elementary/src/edje_externals/elm_button.c +++ b/legacy/elementary/src/edje_externals/elm_button.c @@ -40,7 +40,7 @@ external_button_params_parse(void *data, Evas_Object *obj, const Eina_List *para return mem; } -static void + static void external_button_params_free(void *params) { Elm_Params_Button *mem = params; @@ -56,4 +56,5 @@ static Edje_External_Param_Info external_button_params[] = { EDJE_EXTERNAL_PARAM_INFO_SENTINEL }; +DEFINE_EXTERNAL_ICON_ADD(button, "button"); DEFINE_EXTERNAL_TYPE_SIMPLE(button, "Button"); diff --git a/legacy/elementary/src/edje_externals/elm_check.c b/legacy/elementary/src/edje_externals/elm_check.c index 1b7df1773e..b5def4e4bb 100644 --- a/legacy/elementary/src/edje_externals/elm_check.c +++ b/legacy/elementary/src/edje_externals/elm_check.c @@ -64,4 +64,5 @@ static Edje_External_Param_Info external_check_params[] = { EDJE_EXTERNAL_PARAM_INFO_SENTINEL }; +DEFINE_EXTERNAL_ICON_ADD(check, "check") DEFINE_EXTERNAL_TYPE_SIMPLE(check, "Check") diff --git a/legacy/elementary/src/edje_externals/elm_radio.c b/legacy/elementary/src/edje_externals/elm_radio.c index 7c3c068e58..e32a6f47fb 100644 --- a/legacy/elementary/src/edje_externals/elm_radio.c +++ b/legacy/elementary/src/edje_externals/elm_radio.c @@ -86,4 +86,5 @@ static Edje_External_Param_Info external_radio_params[] = { EDJE_EXTERNAL_PARAM_INFO_SENTINEL }; +DEFINE_EXTERNAL_ICON_ADD(radio, "radio") DEFINE_EXTERNAL_TYPE_SIMPLE(radio, "Radio") diff --git a/legacy/elementary/src/edje_externals/elm_scrolled_entry.c b/legacy/elementary/src/edje_externals/elm_scrolled_entry.c index 0aacc4da72..6827216d56 100644 --- a/legacy/elementary/src/edje_externals/elm_scrolled_entry.c +++ b/legacy/elementary/src/edje_externals/elm_scrolled_entry.c @@ -68,4 +68,5 @@ static Edje_External_Param_Info external_scrolled_entry_params[] = { EDJE_EXTERNAL_PARAM_INFO_SENTINEL }; +DEFINE_EXTERNAL_ICON_ADD(scrolled_entry, "scrolled_entry") DEFINE_EXTERNAL_TYPE_SIMPLE(scrolled_entry, "Entry"); diff --git a/legacy/elementary/src/edje_externals/elm_slider.c b/legacy/elementary/src/edje_externals/elm_slider.c index 92788e2471..5be1d9c270 100644 --- a/legacy/elementary/src/edje_externals/elm_slider.c +++ b/legacy/elementary/src/edje_externals/elm_slider.c @@ -106,4 +106,5 @@ static Edje_External_Param_Info external_slider_params[] = { EDJE_EXTERNAL_PARAM_INFO_SENTINEL }; +DEFINE_EXTERNAL_ICON_ADD(slider, "slider") DEFINE_EXTERNAL_TYPE_SIMPLE(slider, "Slider") diff --git a/legacy/elementary/src/edje_externals/elm_toggle.c b/legacy/elementary/src/edje_externals/elm_toggle.c index 61ae674175..182bbf2aa1 100644 --- a/legacy/elementary/src/edje_externals/elm_toggle.c +++ b/legacy/elementary/src/edje_externals/elm_toggle.c @@ -82,4 +82,5 @@ static Edje_External_Param_Info external_toggle_params[] = { EDJE_EXTERNAL_PARAM_INFO_SENTINEL }; +DEFINE_EXTERNAL_ICON_ADD(toggle, "toggle") DEFINE_EXTERNAL_TYPE_SIMPLE(toggle, "Toggle") diff --git a/legacy/elementary/src/edje_externals/private.h b/legacy/elementary/src/edje_externals/private.h index 2f440d9354..37622ca33f 100644 --- a/legacy/elementary/src/edje_externals/private.h +++ b/legacy/elementary/src/edje_externals/private.h @@ -54,7 +54,7 @@ const Edje_External_Type external_##type_name##_type = {\ .state_set = external_##type_name##_state_set, \ .params_parse = external_##type_name##_params_parse,\ .params_free = external_##type_name##_params_free, \ - .icon_add = NULL, \ + .icon_add = external_##type_name##_icon_add, \ .label_get = external_##type_name##_label_get, \ .parameters_info = external_##type_name##_params, \ .data = NULL \ @@ -69,6 +69,18 @@ external_##type_name##_add(void *data, Evas *evas, Evas_Object *parent, const Ei \ DEFINE_EXTERNAL_TYPE(type_name, name) +#define DEFINE_EXTERNAL_ICON_ADD(type_name, name) \ +Evas_Object * \ +external_##type_name##_icon_add(void *data, Evas *e) { \ + Evas_Object *ic; \ + int w = 20, h = 10; \ + \ + ic = edje_object_add(e); \ + edje_object_file_set(ic, PACKAGE_DATA_DIR"/edje_externals/icons.edj", "ico_"name);\ + evas_object_size_hint_min_set(ic, w, h); \ + \ + return ic; \ +} #define DEFINE_EXTERNAL_COMMON_PARAMS \ EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT("label", "label goes here")