add back comp object eo/eolian usage

This commit is contained in:
Mike Blumenkrantz 2014-06-19 10:40:03 -04:00
parent c69889279a
commit 0abeaa4038
10 changed files with 472 additions and 353 deletions

View File

@ -9,6 +9,7 @@ SUBDIRS += po
endif endif
SUFFIXES =
CLEANFILES = CLEANFILES =
DISTCLEANFILES = DISTCLEANFILES =
INSTALL_DATA_HOOKS = INSTALL_DATA_HOOKS =
@ -90,3 +91,18 @@ clean-local: doc-clean
rm -f data/themes/*.edj rm -f data/themes/*.edj
install-data-hook: $(INSTALL_DATA_HOOKS) install-data-hook: $(INSTALL_DATA_HOOKS)
AM_V_EOL = $(am__v_EOL_@AM_V@)
am__v_EOL_ = $(am__v_EOL_@AM_DEFAULT_V@)
am__v_EOL_0 = @echo " EOLIAN " $@;
SUFFIXES += .eo .eo.c .eo.h .eo.legacy.h
%.eo.c: %.eo @eolian_gen@
$(AM_V_EOL)@eolian_gen@ --eo --legacy $(EOLIAN_FLAGS) --gc -o $@ $<
%.eo.h: %.eo @eolian_gen@
$(AM_V_EOL)@eolian_gen@ --eo $(EOLIAN_FLAGS) --gh -o $@ $<
%.eo.legacy.h: %.eo @eolian_gen@
$(AM_V_EOL)@eolian_gen@ --legacy $(EOLIAN_FLAGS) --gh -o $@ $<

View File

@ -6,7 +6,7 @@ configfilesdir = $(datadir)/enlightenment/data/config
configfiles_DATA = config/profile.cfg configfiles_DATA = config/profile.cfg
SUFFIXES = .cfg SUFFIXES += .cfg
.src.cfg: .src.cfg:
$(MKDIR_P) $(@D) $(MKDIR_P) $(@D)

View File

@ -602,6 +602,12 @@ AC_SUBST([e_cflags])
AC_SUBST([e_configflags]) AC_SUBST([e_configflags])
AC_SUBST([requirements_e]) AC_SUBST([requirements_e])
EFL_WITH_BIN([eolian], [eolian-gen], [eolian_gen])
# Force the helper to try external eolian-gen
AM_CONDITIONAL(HAVE_EOLIAN_GEN, [true])
EOLIAN_FLAGS=`pkg-config --variable=eolian_flags eo evas edje`
AC_SUBST(EOLIAN_FLAGS)
PKG_CHECK_EXISTS([xkeyboard-config],[ PKG_CHECK_EXISTS([xkeyboard-config],[
xkb_base=`$PKG_CONFIG --variable=xkb_base xkeyboard-config 2>/dev/null` xkb_base=`$PKG_CONFIG --variable=xkb_base xkeyboard-config 2>/dev/null`
AC_DEFINE_UNQUOTED([XKB_BASE],["$xkb_base"],[Define to the base directory for X keyboard configuration data]) AC_DEFINE_UNQUOTED([XKB_BASE],["$xkb_base"],[Define to the base directory for X keyboard configuration data])

View File

@ -1,4 +1,17 @@
DISTCLEANFILES += src/bin/e_fm_shared_types.h E_EOLIANFILES = \
src/bin/e_comp_object.eo.c \
src/bin/e_comp_object.eo.h \
src/bin/e_comp_object.eo.legacy.h
MAINTAINERCLEANFILES += \
$(E_EOLIANFILES)
DISTCLEANFILES += \
src/bin/e_fm_shared_types.h
EXTRA_DIST += \
$(E_EOLIANFILES) \
src/bin/e_comp_object.eo
E_CPPFLAGS = \ E_CPPFLAGS = \
-I$(top_builddir) \ -I$(top_builddir) \
@ -58,6 +71,7 @@ src/bin/e_comp.h \
src/bin/e_comp_canvas.h \ src/bin/e_comp_canvas.h \
src/bin/e_comp_cfdata.h \ src/bin/e_comp_cfdata.h \
src/bin/e_comp_object.h \ src/bin/e_comp_object.h \
src/bin/e_comp_object.eo.h \
src/bin/e_comp_x.h \ src/bin/e_comp_x.h \
src/bin/e_config_data.h \ src/bin/e_config_data.h \
src/bin/e_config_dialog.h \ src/bin/e_config_dialog.h \
@ -381,6 +395,8 @@ src/bin/e_uuid_store.c \
src/bin/e_comp_wl.c src/bin/e_comp_wl.c
endif endif
src/bin/e_comp_object.c: $(E_EOLIANFILES)
src_bin_enlightenment_CPPFLAGS = $(E_CPPFLAGS) -DEFL_BETA_API_SUPPORT -DEFL_EO_API_SUPPORT -DE_LOGGING=1 @WAYLAND_CFLAGS@ @WAYLAND_EGL_CFLAGS@ @ECORE_X_CFLAGS@ -DNEED_X=1 src_bin_enlightenment_CPPFLAGS = $(E_CPPFLAGS) -DEFL_BETA_API_SUPPORT -DEFL_EO_API_SUPPORT -DE_LOGGING=1 @WAYLAND_CFLAGS@ @WAYLAND_EGL_CFLAGS@ @ECORE_X_CFLAGS@ -DNEED_X=1
src_bin_enlightenment_SOURCES = \ src_bin_enlightenment_SOURCES = \
src/bin/e_main.c \ src/bin/e_main.c \

View File

@ -3324,7 +3324,7 @@ e_client_focused_set(E_Client *ec)
E_FREE_FUNC(ec_unfocus->raise_timer, ecore_timer_del); E_FREE_FUNC(ec_unfocus->raise_timer, ecore_timer_del);
e_comp_object_signal_emit(ec_unfocus->frame, "e,state,unfocused", "e"); edje_object_signal_emit(ec_unfocus->frame, "e,state,unfocused", "e");
/* if there unfocus client is fullscreen and visible */ /* if there unfocus client is fullscreen and visible */
if ((!e_config->allow_above_fullscreen) && if ((!e_config->allow_above_fullscreen) &&
@ -3873,12 +3873,12 @@ e_client_urgent_set(E_Client *ec, Eina_Bool urgent)
_e_client_event_property(ec, E_CLIENT_PROPERTY_URGENCY); _e_client_event_property(ec, E_CLIENT_PROPERTY_URGENCY);
if (urgent && (!ec->focused) && (!ec->want_focus)) if (urgent && (!ec->focused) && (!ec->want_focus))
{ {
e_comp_object_signal_emit(ec->frame, "e,state,urgent", "e"); edje_object_signal_emit(ec->frame, "e,state,urgent", "e");
ec->urgent = urgent; ec->urgent = urgent;
} }
else else
{ {
e_comp_object_signal_emit(ec->frame, "e,state,not_urgent", "e"); edje_object_signal_emit(ec->frame, "e,state,not_urgent", "e");
ec->urgent = 0; ec->urgent = 0;
} }
if (urgent && e_screensaver_on_get() && e_config->screensaver_wake_on_urgent) if (urgent && e_screensaver_on_get() && e_config->screensaver_wake_on_urgent)

File diff suppressed because it is too large Load Diff

173
src/bin/e_comp_object.eo Normal file
View File

@ -0,0 +1,173 @@
class E_Comp_Object (Edje)
{
legacy_prefix: e_comp_object;
eo_prefix: e_comp_obj;
data: E_Comp_Object;
constructors {
constructor {
params {
@in E_Client *ec;
}
}
}
properties {
effect {
set {}
values {
const char *effect;
}
}
frame_geometry {
get {}
values {
int l;
int r;
int t;
int b;
}
}
frame_extends {
get {}
values {
int x;
int y;
int w;
int h;
}
}
frame_icon_geometry {
get {}
values {
int x;
int y;
int w;
int h;
}
}
input_area {
set {}
values {
int x;
int y;
int w;
int h;
}
}
native_surface {
set {}
values {
Eina_Bool set;
}
}
redirected {
set {}
values {
Eina_Bool set;
}
}
}
methods {
damage {
params {
@in int x;
@in int y;
@in int w;
@in int h;
}
}
damage_exists {
return Eina_Bool;
}
dirty {}
effect_clip {}
effect_unclip {}
effect_params_set {
params {
@in int id;
@in int *params;
@in unsigned int count;
}
}
effect_start {
params {
@in Edje_Signal_Cb end_cb;
@in const void *end_data;
}
}
effect_stop {
params {
@in Edje_Signal_Cb end_cb;
}
}
frame_xy_adjust {
params {
@in int x;
@in int y;
@out int ax;
@out int ay;
}
}
frame_xy_unadjust {
params {
@in int x;
@in int y;
@out int ax;
@out int ay;
}
}
frame_wh_adjust {
params {
@in int w;
@in int h;
@out int aw;
@out int ah;
}
}
frame_wh_unadjust {
params {
@in int w;
@in int h;
@out int aw;
@out int ah;
}
}
frame_exists {
return Eina_Bool;
}
frame_icon_update {};
frame_theme_set {
return Eina_Bool;
params {
@in const char *name;
}
}
frame_title_set {
return Eina_Bool;
params {
@in const char *name;
}
}
render {
return Eina_Bool;
}
render_update_add {}
render_update_del {}
shape_apply {}
}
implements {
class::constructor;
Eo_Base::constructor;
Evas_Object_Smart::hide;
Evas_Object_Smart::show;
Evas_Object_Smart::move;
Evas_Object_Smart::add;
Evas_Object_Smart::del;
Evas_Object_Smart::resize;
Evas_Object_Smart::clip::set;
Evas_Object_Smart::clip_unset;
Evas_Object_Smart::color::set;
Edje::signal_callback_add;
Edje::signal_callback_del;
Edje::signal_emit;
}
}

View File

@ -39,11 +39,6 @@ EAPI void e_comp_object_zoomap_set(Evas_Object *obj, Eina_Bool enabled);
EAPI Evas_Object *e_comp_object_client_add(E_Client *ec); EAPI Evas_Object *e_comp_object_client_add(E_Client *ec);
EAPI Evas_Object *e_comp_object_util_mirror_add(Evas_Object *obj); EAPI Evas_Object *e_comp_object_util_mirror_add(Evas_Object *obj);
EAPI Evas_Object *e_comp_object_util_add(Evas_Object *obj, E_Comp_Object_Type type); EAPI Evas_Object *e_comp_object_util_add(Evas_Object *obj, E_Comp_Object_Type type);
EAPI void e_comp_object_frame_xy_adjust(Evas_Object *obj, int x, int y, int *ax, int *ay);
EAPI void e_comp_object_frame_xy_unadjust(Evas_Object *obj, int x, int y, int *ax, int *ay);
EAPI void e_comp_object_frame_wh_adjust(Evas_Object *obj, int w, int h, int *aw, int *ah);
EAPI void e_comp_object_frame_wh_unadjust(Evas_Object *obj, int w, int h, int *aw, int *ah);
EAPI void e_comp_object_frame_extends_get(Evas_Object *obj, int *x, int *y, int *w, int *h);
EAPI E_Client *e_comp_object_client_get(Evas_Object *obj); EAPI E_Client *e_comp_object_client_get(Evas_Object *obj);
EAPI E_Zone *e_comp_object_util_zone_get(Evas_Object *obj); EAPI E_Zone *e_comp_object_util_zone_get(Evas_Object *obj);
EAPI void e_comp_object_util_del_list_append(Evas_Object *obj, Evas_Object *to_del); EAPI void e_comp_object_util_del_list_append(Evas_Object *obj, Evas_Object *to_del);
@ -53,35 +48,10 @@ EAPI void e_comp_object_util_center(Evas_Object *obj);
EAPI void e_comp_object_util_center_on(Evas_Object *obj, Evas_Object *on); EAPI void e_comp_object_util_center_on(Evas_Object *obj, Evas_Object *on);
EAPI void e_comp_object_util_center_pos_get(Evas_Object *obj, int *x, int *y); EAPI void e_comp_object_util_center_pos_get(Evas_Object *obj, int *x, int *y);
EAPI void e_comp_object_util_fullscreen(Evas_Object *obj); EAPI void e_comp_object_util_fullscreen(Evas_Object *obj);
EAPI void e_comp_object_frame_geometry_get(Evas_Object *obj, int *l, int *r, int *t, int *b);
EAPI void e_comp_object_frame_icon_geometry_get(Evas_Object *obj, int *x, int *y, int *w, int *h);
EAPI Eina_Bool e_comp_object_frame_title_set(Evas_Object *obj, const char *name);
EAPI Eina_Bool e_comp_object_frame_exists(Evas_Object *obj);
EAPI void e_comp_object_frame_icon_update(Evas_Object *obj);
EAPI Eina_Bool e_comp_object_frame_theme_set(Evas_Object *obj, const char *name);
EAPI void e_comp_object_signal_emit(Evas_Object *obj, const char *sig, const char *src);
EAPI void e_comp_object_signal_callback_add(Evas_Object *obj, const char *sig, const char *src, Edje_Signal_Cb cb, const void *data);
EAPI void e_comp_object_signal_callback_del(Evas_Object *obj, const char *sig, const char *src, Edje_Signal_Cb cb);
EAPI void e_comp_object_signal_callback_del_full(Evas_Object *obj, const char *sig, const char *src, Edje_Signal_Cb cb, const void *data);
EAPI void e_comp_object_input_area_set(Evas_Object *obj, int x, int y, int w, int h);
EAPI void e_comp_object_damage(Evas_Object *obj, int x, int y, int w, int h);
EAPI Eina_Bool e_comp_object_damage_exists(Evas_Object *obj);
EAPI void e_comp_object_render_update_add(Evas_Object *obj);
EAPI void e_comp_object_render_update_del(Evas_Object *obj);
EAPI void e_comp_object_shape_apply(Evas_Object *obj);
EAPI void e_comp_object_redirected_set(Evas_Object *obj, Eina_Bool set);
EAPI void e_comp_object_native_surface_set(Evas_Object *obj, Eina_Bool set);
EAPI void e_comp_object_dirty(Evas_Object *obj);
EAPI Eina_Bool e_comp_object_render(Evas_Object *obj);
EAPI void e_comp_object_effect_set(Evas_Object *obj, const char *effect);
EAPI void e_comp_object_effect_params_set(Evas_Object *obj, int id, int *params, unsigned int count);
EAPI void e_comp_object_effect_clip(Evas_Object *obj);
EAPI void e_comp_object_effect_unclip(Evas_Object *obj);
EAPI void e_comp_object_effect_start(Evas_Object *obj, Edje_Signal_Cb end_cb, const void *end_data);
EAPI void e_comp_object_effect_stop(Evas_Object *obj, Edje_Signal_Cb end_cb);
EAPI E_Comp_Object_Mover *e_comp_object_effect_mover_add(int pri, const char *sig, E_Comp_Object_Mover_Cb provider, const void *data); EAPI E_Comp_Object_Mover *e_comp_object_effect_mover_add(int pri, const char *sig, E_Comp_Object_Mover_Cb provider, const void *data);
EAPI void e_comp_object_effect_mover_del(E_Comp_Object_Mover *prov); EAPI void e_comp_object_effect_mover_del(E_Comp_Object_Mover *prov);
#include "e_comp_object.eo.legacy.h"
#endif #endif
#endif #endif

View File

@ -319,7 +319,7 @@ _mirror_client_smart_del(Evas_Object *obj)
Mirror_Border *mb = evas_object_smart_data_get(obj); Mirror_Border *mb = evas_object_smart_data_get(obj);
if (mb->m->comp_object && mb->m->ec) if (mb->m->comp_object && mb->m->ec)
{ {
e_comp_object_signal_callback_del_full(mb->m->ec->frame, "*", "*", _mirror_client_signal_cb, mb->frame); edje_object_signal_callback_del_full(mb->m->ec->frame, "*", "*", _mirror_client_signal_cb, mb->frame);
evas_object_smart_callback_del_full(mb->m->ec->frame, "shadow_change", _mirror_client_shadow_change, mb->frame); evas_object_smart_callback_del_full(mb->m->ec->frame, "shadow_change", _mirror_client_shadow_change, mb->frame);
} }
evas_object_del(mb->frame); evas_object_del(mb->frame);
@ -482,7 +482,7 @@ _mirror_client_new(Mirror *m)
_mirror_client_theme_setup(mb); _mirror_client_theme_setup(mb);
if (m->comp_object) if (m->comp_object)
{ {
e_comp_object_signal_callback_add(mb->m->comp_object, "*", "*", _mirror_client_signal_cb, mb->frame); edje_object_signal_callback_add(mb->m->comp_object, "*", "*", _mirror_client_signal_cb, mb->frame);
evas_object_smart_callback_add(mb->m->comp_object, "shadow_change", _mirror_client_shadow_change, mb->frame); evas_object_smart_callback_add(mb->m->comp_object, "shadow_change", _mirror_client_shadow_change, mb->frame);
evas_object_event_callback_add(m->comp_object, EVAS_CALLBACK_DEL, _e_deskmirror_mirror_del_cb, m); evas_object_event_callback_add(m->comp_object, EVAS_CALLBACK_DEL, _e_deskmirror_mirror_del_cb, m);
} }
@ -778,7 +778,7 @@ e_deskmirror_mirror_list(Evas_Object *deskmirror)
static void static void
_mirror_copy_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) _mirror_copy_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
{ {
e_comp_object_signal_callback_del_full(data, "*", "*", _mirror_client_signal_cb, obj); edje_object_signal_callback_del_full(data, "*", "*", _mirror_client_signal_cb, obj);
evas_object_smart_callback_del_full(data, "shadow_change", _mirror_client_shadow_change, obj); evas_object_smart_callback_del_full(data, "shadow_change", _mirror_client_shadow_change, obj);
} }
@ -804,7 +804,7 @@ e_deskmirror_mirror_copy(Evas_Object *obj)
edje_object_signal_emit(o, "e,state,shadow,off", "e"); edje_object_signal_emit(o, "e,state,shadow,off", "e");
if (mb->m->comp_object) if (mb->m->comp_object)
{ {
e_comp_object_signal_callback_add(mb->m->comp_object, "*", "*", _mirror_client_signal_cb, o); edje_object_signal_callback_add(mb->m->comp_object, "*", "*", _mirror_client_signal_cb, o);
evas_object_smart_callback_add(mb->m->comp_object, "shadow_change", _mirror_client_shadow_change, o); evas_object_smart_callback_add(mb->m->comp_object, "shadow_change", _mirror_client_shadow_change, o);
evas_object_event_callback_add(o, EVAS_CALLBACK_DEL, _mirror_copy_del, mb->m->comp_object); evas_object_event_callback_add(o, EVAS_CALLBACK_DEL, _mirror_copy_del, mb->m->comp_object);
} }

View File

@ -1240,7 +1240,7 @@ _ibar_cb_icon_menu_img_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, vo
ec = evas_object_data_get(obj, "E_Client"); ec = evas_object_data_get(obj, "E_Client");
if (ec) if (ec)
{ {
e_comp_object_signal_callback_del_full(ec->frame, "e,state,*focused", "e", _ibar_cb_icon_menu_focus_change, data); edje_object_signal_callback_del_full(ec->frame, "e,state,*focused", "e", _ibar_cb_icon_menu_focus_change, data);
evas_object_smart_callback_del_full(ec->frame, "desk_change", _ibar_cb_icon_menu_desk_change, data); evas_object_smart_callback_del_full(ec->frame, "desk_change", _ibar_cb_icon_menu_desk_change, data);
} }
evas_object_del(data); evas_object_del(data);
@ -1308,7 +1308,7 @@ _ibar_icon_menu_client_add(IBar_Icon *ic, E_Client *ec)
e_theme_edje_object_set(it, "base/theme/modules/ibar", e_theme_edje_object_set(it, "base/theme/modules/ibar",
"e/modules/ibar/menu/item"); "e/modules/ibar/menu/item");
img = e_comp_object_util_mirror_add(ec->frame); img = e_comp_object_util_mirror_add(ec->frame);
e_comp_object_signal_callback_add(ec->frame, "e,state,*focused", "e", _ibar_cb_icon_menu_focus_change, it); edje_object_signal_callback_add(ec->frame, "e,state,*focused", "e", _ibar_cb_icon_menu_focus_change, it);
evas_object_smart_callback_add(ec->frame, "desk_change", _ibar_cb_icon_menu_desk_change, it); evas_object_smart_callback_add(ec->frame, "desk_change", _ibar_cb_icon_menu_desk_change, it);
evas_object_event_callback_add(img, EVAS_CALLBACK_DEL, evas_object_event_callback_add(img, EVAS_CALLBACK_DEL,
_ibar_cb_icon_menu_img_del, it); _ibar_cb_icon_menu_img_del, it);