bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2df6e1103de30fa5c3a4e2ed7ebbc0f5bd5fbf77

commit 2df6e1103de30fa5c3a4e2ed7ebbc0f5bd5fbf77
Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Feb 14 14:32:52 2019 -0500

    efl.canvas.scene: add 'seat_default' property
    
    there seems to be no other way to directly return the default seat object?
    
    ref T7584
    
    Reviewed-by: Cedric BAIL <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D7956
---
 src/lib/efl/interfaces/efl_canvas_scene.eo | 15 +++++++++++++++
 src/lib/elementary/efl_ui_win.c            |  6 ++++++
 src/lib/elementary/efl_ui_win.eo           |  1 +
 src/lib/evas/canvas/evas_canvas.eo         |  1 +
 src/lib/evas/canvas/evas_device.c          |  6 ++++++
 5 files changed, 29 insertions(+)

diff --git a/src/lib/efl/interfaces/efl_canvas_scene.eo 
b/src/lib/efl/interfaces/efl_canvas_scene.eo
index c98e28f0ab..77818f011a 100644
--- a/src/lib/efl/interfaces/efl_canvas_scene.eo
+++ b/src/lib/efl/interfaces/efl_canvas_scene.eo
@@ -191,6 +191,21 @@ interface @beta Efl.Canvas.Scene
             seat: Efl.Input.Device; [[The seat or $null if not found.]]
          }
       }
+      @property seat_default {
+         [[Get the default seat attached to this canvas.
+
+           A canvas may have exactly one default seat.
+
+           See also @.device to find a seat by name.
+           See also @.seat to find a seat by id.
+         ]]
+         get {
+            [[Get the default seat.]]
+         }
+         values {
+            seat: Efl.Input.Device; [[The default seat or $null if one does 
not exist.]]
+         }
+      }
       @property pointer_position {
          get {
             [[This function returns the current known pointer coordinates
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index e6f1741dfe..186c22a752 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -2616,6 +2616,12 @@ _efl_ui_win_efl_canvas_scene_device_get(const Eo *obj 
EINA_UNUSED, Efl_Ui_Win_Da
    return efl_canvas_scene_device_get(sd->evas, name);
 }
 
+EOLIAN static Efl_Input_Device *
+_efl_ui_win_efl_canvas_scene_seat_default_get(const Eo *obj EINA_UNUSED, 
Efl_Ui_Win_Data *sd)
+{
+   return efl_canvas_scene_seat_default_get(sd->evas);
+}
+
 EOLIAN static Efl_Input_Device *
 _efl_ui_win_efl_canvas_scene_seat_get(const Eo *obj EINA_UNUSED, 
Efl_Ui_Win_Data *sd, int id)
 {
diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo
index bb493f7285..9cf9c7b185 100644
--- a/src/lib/elementary/efl_ui_win.eo
+++ b/src/lib/elementary/efl_ui_win.eo
@@ -880,6 +880,7 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
       Efl.Gfx.Hint.hint_weight { set; }
       Efl.Gfx.Hint.hint_size_max { set; }
       Efl.Text.text { get; set; }
+      Efl.Canvas.Scene.seat_default { get; }
       Efl.Canvas.Scene.pointer_position { get; }
       Efl.Canvas.Pointer.pointer_inside { get; }
       Efl.Canvas.Scene.image_max_size { get; }
diff --git a/src/lib/evas/canvas/evas_canvas.eo 
b/src/lib/evas/canvas/evas_canvas.eo
index 32e7347504..2ce9c47361 100644
--- a/src/lib/evas/canvas/evas_canvas.eo
+++ b/src/lib/evas/canvas/evas_canvas.eo
@@ -965,6 +965,7 @@ class Evas.Canvas extends Efl.Loop_Consumer implements 
Efl.Canvas.Scene, Efl.Ani
       Efl.Canvas.Pointer.pointer_inside { get; }
       Efl.Canvas.Scene.device { get; }
       Efl.Canvas.Scene.seat { get; }
+      Efl.Canvas.Scene.seat_default { get; }
       Efl.Canvas.Scene.image_max_size { get; }
       Efl.Canvas.Scene.objects_at_xy_get;
       Efl.Canvas.Scene.object_top_at_xy_get;
diff --git a/src/lib/evas/canvas/evas_device.c 
b/src/lib/evas/canvas/evas_device.c
index 3f52d59635..a5a28fa27b 100644
--- a/src/lib/evas/canvas/evas_device.c
+++ b/src/lib/evas/canvas/evas_device.c
@@ -144,6 +144,12 @@ evas_device_get(Evas *eo_e, const char *name)
    return efl_canvas_scene_device_get(eo_e, name);
 }
 
+EOLIAN Efl_Input_Device *
+_evas_canvas_efl_canvas_scene_seat_default_get(Evas *eo_e EINA_UNUSED, 
Evas_Public_Data *e)
+{
+   return e->default_seat;
+}
+
 EOLIAN Efl_Input_Device *
 _evas_canvas_efl_canvas_scene_seat_get(Evas *eo_e EINA_UNUSED, 
Evas_Public_Data *e, unsigned int id)
 {

-- 


Reply via email to