forked from enlightenment/efl
evas: Make evas object loop users
This makes efl_loop_get() work on evas objects, returning the main loop as expected. Also make the loop a property of the Loop_User class (shouldn't it be called Efl.Loop.User instead?)
This commit is contained in:
parent
fdcd926960
commit
bcb251e6ab
|
@ -5,9 +5,14 @@ class Efl.Loop_User (Efl.Object)
|
||||||
only allowing parent that provide such interface or NULL.]]
|
only allowing parent that provide such interface or NULL.]]
|
||||||
eo_prefix: efl_loop;
|
eo_prefix: efl_loop;
|
||||||
methods {
|
methods {
|
||||||
loop_get {
|
@property loop {
|
||||||
[[Get loop]]
|
[[The loop to which this object belongs to.]]
|
||||||
return: Efl.Loop; [[Efl loop]]
|
get {
|
||||||
|
[[Get a handle to the loop.]]
|
||||||
|
}
|
||||||
|
values {
|
||||||
|
loop: Efl.Loop; [[Efl loop]]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
implements {
|
implements {
|
||||||
|
|
|
@ -3,7 +3,7 @@ import efl_text_types;
|
||||||
|
|
||||||
abstract Efl.Canvas.Object (Efl.Object, Efl.Gfx, Efl.Gfx.Stack, Efl.Animator,
|
abstract Efl.Canvas.Object (Efl.Object, Efl.Gfx, Efl.Gfx.Stack, Efl.Animator,
|
||||||
Efl.Input.Interface, Efl.Gfx.Size.Hint,
|
Efl.Input.Interface, Efl.Gfx.Size.Hint,
|
||||||
Efl.Gfx.Map)
|
Efl.Gfx.Map, Efl.Loop_User)
|
||||||
{
|
{
|
||||||
[[Efl canvas object abstract class]]
|
[[Efl canvas object abstract class]]
|
||||||
legacy_prefix: evas_object;
|
legacy_prefix: evas_object;
|
||||||
|
@ -670,5 +670,6 @@ abstract Efl.Canvas.Object (Efl.Object, Efl.Gfx, Efl.Gfx.Stack, Efl.Animator,
|
||||||
Efl.Gfx.Map.map_enable.get;
|
Efl.Gfx.Map.map_enable.get;
|
||||||
Efl.Input.Interface.seat_event_filter.set;
|
Efl.Input.Interface.seat_event_filter.set;
|
||||||
Efl.Input.Interface.seat_event_filter.get;
|
Efl.Input.Interface.seat_event_filter.get;
|
||||||
|
Efl.Loop_User.loop.get;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import evas_types;
|
import evas_types;
|
||||||
import efl_input_types;
|
import efl_input_types;
|
||||||
|
|
||||||
class Evas.Canvas (Efl.Object, Efl.Canvas, Efl.Animator, Efl.Input.Interface)
|
class Evas.Canvas (Efl.Object, Efl.Canvas, Efl.Animator, Efl.Input.Interface,
|
||||||
|
Efl.Loop_User)
|
||||||
{
|
{
|
||||||
[[Evas canvas class]]
|
[[Evas canvas class]]
|
||||||
legacy_prefix: evas;
|
legacy_prefix: evas;
|
||||||
|
@ -1317,6 +1318,7 @@ class Evas.Canvas (Efl.Object, Efl.Canvas, Efl.Animator, Efl.Input.Interface)
|
||||||
Efl.Object.event_thaw;
|
Efl.Object.event_thaw;
|
||||||
Efl.Object.event_freeze;
|
Efl.Object.event_freeze;
|
||||||
Efl.Object.provider_find;
|
Efl.Object.provider_find;
|
||||||
|
Efl.Loop_User.loop.get;
|
||||||
}
|
}
|
||||||
events {
|
events {
|
||||||
render,flush,pre @beta; [[Called on render flush pre phase]]
|
render,flush,pre @beta; [[Called on render flush pre phase]]
|
||||||
|
|
|
@ -811,6 +811,12 @@ _evas_canvas_efl_object_provider_find(Eo *eo_e, Evas_Public_Data *e EINA_UNUSED,
|
||||||
return efl_provider_find(efl_super(eo_e, MY_CLASS), klass);
|
return efl_provider_find(efl_super(eo_e, MY_CLASS), klass);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EOLIAN static Efl_Loop *
|
||||||
|
_evas_canvas_efl_loop_user_loop_get(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e EINA_UNUSED)
|
||||||
|
{
|
||||||
|
return ecore_main_loop_get();
|
||||||
|
}
|
||||||
|
|
||||||
Ector_Surface *
|
Ector_Surface *
|
||||||
evas_ector_get(Evas_Public_Data *e)
|
evas_ector_get(Evas_Public_Data *e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#include "evas_common_private.h"
|
#include "evas_common_private.h"
|
||||||
#include "evas_private.h"
|
#include "evas_private.h"
|
||||||
|
#include <Ecore.h>
|
||||||
|
|
||||||
EVAS_MEMPOOL(_mp_sh);
|
EVAS_MEMPOOL(_mp_sh);
|
||||||
|
|
||||||
|
@ -2118,9 +2119,17 @@ _efl_canvas_object_efl_object_provider_find(Eo *eo_obj EINA_UNUSED, Evas_Object_
|
||||||
if ((obj->delete_me) || (!obj->layer)) return NULL;
|
if ((obj->delete_me) || (!obj->layer)) return NULL;
|
||||||
return obj->layer->evas->evas;
|
return obj->layer->evas->evas;
|
||||||
}
|
}
|
||||||
|
else if (klass == EFL_LOOP_CLASS)
|
||||||
|
return ecore_main_loop_get();
|
||||||
return efl_provider_find(efl_super(eo_obj, MY_CLASS), klass);
|
return efl_provider_find(efl_super(eo_obj, MY_CLASS), klass);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EOLIAN static Efl_Loop *
|
||||||
|
_efl_canvas_object_efl_loop_user_loop_get(Eo *eo_obj EINA_UNUSED, Evas_Object_Protected_Data *obj EINA_UNUSED)
|
||||||
|
{
|
||||||
|
return ecore_main_loop_get();
|
||||||
|
}
|
||||||
|
|
||||||
EOLIAN Evas_Object*
|
EOLIAN Evas_Object*
|
||||||
_evas_canvas_object_top_at_xy_get(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
|
_evas_canvas_object_top_at_xy_get(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue