forked from enlightenment/efl
efl: Hold event (EO API) should implement instance_get
This fixes the following ERR: ERR<23969>:eo /home/jpeg/e/core/efl/src/lib/eo/eo.c:462 _eo_call_resolve() in ../src/lib/efl/interfaces/efl_event.eo.c:5: func 'efl_event_instance_get' (1479) could not be resolved for class 'Efl_Event_Hold'.
This commit is contained in:
parent
ac10a00acc
commit
0e6b6c4828
|
@ -2,6 +2,8 @@
|
||||||
# include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define EFL_EVENT_PROTECTED
|
||||||
|
|
||||||
#include <Evas.h>
|
#include <Evas.h>
|
||||||
|
|
||||||
#define EFL_INTERNAL_UNSTABLE
|
#define EFL_INTERNAL_UNSTABLE
|
||||||
|
@ -53,4 +55,35 @@ _efl_event_hold_eo_base_constructor(Eo *obj, Efl_Event_Hold_Data *pd)
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EOLIAN static Efl_Event *
|
||||||
|
_efl_event_hold_efl_event_instance_get(Eo *klass EINA_UNUSED, void *_pd EINA_UNUSED,
|
||||||
|
Eo_Base *owner, void **priv)
|
||||||
|
{
|
||||||
|
// TODO: Implement a cache. Depends only on how many hold events we trigger.
|
||||||
|
Efl_Event *evt = eo_add(MY_CLASS, owner);
|
||||||
|
if (priv) *priv = eo_data_scope_get(evt, MY_CLASS);
|
||||||
|
return evt;
|
||||||
|
}
|
||||||
|
|
||||||
|
EOLIAN static void
|
||||||
|
_efl_event_hold_efl_event_reset(Eo *obj, Efl_Event_Hold_Data *pd)
|
||||||
|
{
|
||||||
|
memset(pd, 0, sizeof(*pd));
|
||||||
|
pd->eo = obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
EOLIAN static Efl_Event *
|
||||||
|
_efl_event_hold_efl_event_dup(Eo *obj, Efl_Event_Hold_Data *pd)
|
||||||
|
{
|
||||||
|
Efl_Event_Hold_Data *ev;
|
||||||
|
Efl_Event *evt = eo_add(EFL_EVENT_HOLD_CLASS, eo_parent_get(obj));
|
||||||
|
ev = eo_data_scope_get(evt, MY_CLASS);
|
||||||
|
if (ev)
|
||||||
|
{
|
||||||
|
memcpy(ev, pd, sizeof(*ev));
|
||||||
|
ev->eo = evt;
|
||||||
|
}
|
||||||
|
return evt;
|
||||||
|
}
|
||||||
|
|
||||||
#include "efl_event_hold.eo.c"
|
#include "efl_event_hold.eo.c"
|
||||||
|
|
|
@ -18,6 +18,9 @@ class Efl.Event.Hold (Eo.Base, Efl.Event.Input)
|
||||||
}
|
}
|
||||||
implements {
|
implements {
|
||||||
Eo.Base.constructor;
|
Eo.Base.constructor;
|
||||||
|
Efl.Event.instance_get;
|
||||||
|
Efl.Event.reset;
|
||||||
|
Efl.Event.dup;
|
||||||
Efl.Event.timestamp.get;
|
Efl.Event.timestamp.get;
|
||||||
Efl.Event.timestamp.set;
|
Efl.Event.timestamp.set;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue