billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=4e38d0d2c77cbb781f5cc9fbfcdaf5ddad19adb8

commit 4e38d0d2c77cbb781f5cc9fbfcdaf5ddad19adb8
Author: Boris Faure <[email protected]>
Date:   Mon Feb 4 23:10:51 2019 +0100

    termio: simplify code by passing sd instead of obj
    
    Stub function to get Termio from Evas_Object
---
 src/bin/termio.c          | 27 ++++++++++++++++-----------
 src/bin/termio.h          |  1 +
 src/bin/termiointernals.c | 13 +++++--------
 src/bin/tyfuzz.c          |  6 ++++++
 4 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/src/bin/termio.c b/src/bin/termio.c
index 6f5f8dc..004962b 100644
--- a/src/bin/termio.c
+++ b/src/bin/termio.c
@@ -39,6 +39,12 @@ static Eina_Bool _mouse_in_selection(Termio *sd, int cx, int 
cy);
 
 /* {{{ Helpers */
 
+Termio *
+termio_get_from_obj(Evas_Object *obj)
+{
+   return evas_object_smart_data_get(obj);
+}
+
 void
 termio_object_geometry_get(Termio *sd,
                            Evas_Coord *x, Evas_Coord *y,
@@ -1441,7 +1447,7 @@ _hyperlink_end(Termio *sd,
 }
 
 static void
-_hyperlink_mouseover(Evas_Object *obj, Termio *sd,
+_hyperlink_mouseover(Termio *sd,
                      uint16_t link_id)
 {
    Evas_Coord ox, oy, ow, oh;
@@ -1467,7 +1473,7 @@ _hyperlink_mouseover(Evas_Object *obj, Termio *sd,
      return;
 
    /* Scan the whole screen and display links as needed */
-   evas_object_geometry_get(obj, &ox, &oy, &ow, &oh);
+   termio_object_geometry_get(sd, &ox, &oy, &ow, &oh);
    termpty_backlog_lock();
    termpty_backscroll_adjust(sd->pty, &sd->scroll);
    for (y = 0; y < sd->grid.h; y++)
@@ -1489,7 +1495,7 @@ _hyperlink_mouseover(Evas_Object *obj, Termio *sd,
                   if (!o)
                     {
                        o = elm_layout_add(sd->win);
-                       evas_object_smart_member_add(o, obj);
+                       evas_object_smart_member_add(o, sd->self);
                        theme_apply(elm_layout_edje_get(o), sd->config,
                                    "terminology/link");
                        evas_object_move(o,
@@ -2277,12 +2283,11 @@ termio_focus_out(Evas_Object *termio)
 }
 
 static void
-_smart_mouseover_apply(Evas_Object *obj)
+_smart_mouseover_apply(Termio *sd)
 {
    char *s;
    int x1 = 0, y1 = 0, x2 = 0, y2 = 0;
    Eina_Bool same_geom = EINA_FALSE;
-   Termio *sd = evas_object_smart_data_get(obj);
    Config *config;
    Termcell *cell = NULL;
 
@@ -2290,7 +2295,7 @@ _smart_mouseover_apply(Evas_Object *obj)
    config = sd->config;
 
    if ((sd->mouse.cx < 0) || (sd->mouse.cy < 0) ||
-       (sd->link.suspend) || (!evas_object_focus_get(obj)))
+       (sd->link.suspend) || (!evas_object_focus_get(sd->self)))
      {
         _remove_links(sd);
         return;
@@ -2305,11 +2310,11 @@ _smart_mouseover_apply(Evas_Object *obj)
    if (cell->att.link_id)
      {
         if (config->active_links_escape)
-          _hyperlink_mouseover(obj, sd, cell->att.link_id);
+          _hyperlink_mouseover(sd, cell->att.link_id);
         return;
      }
 
-   s = termio_link_find(obj, sd->mouse.cx, sd->mouse.cy,
+   s = termio_link_find(sd->self, sd->mouse.cx, sd->mouse.cy,
                         &x1, &y1, &x2, &y2);
    if (!s)
      {
@@ -2362,11 +2367,11 @@ _smart_mouseover_apply(Evas_Object *obj)
 static Eina_Bool
 _smart_mouseover_delay(void *data)
 {
-   Termio *sd = evas_object_smart_data_get(data);
+   Termio *sd = data;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EINA_FALSE);
    sd->mouseover_delay = NULL;
-   _smart_mouseover_apply(data);
+   _smart_mouseover_apply(sd);
    return EINA_FALSE;
 }
 
@@ -2381,7 +2386,7 @@ termio_smart_cb_mouse_move_job(void *data)
    if (sd->mouseover_delay)
      ecore_timer_reset(sd->mouseover_delay);
    else
-     sd->mouseover_delay = ecore_timer_add(0.05, _smart_mouseover_delay, data);
+     sd->mouseover_delay = ecore_timer_add(0.05, _smart_mouseover_delay, sd);
 }
 
 
diff --git a/src/bin/termio.h b/src/bin/termio.h
index b2261e6..fac37ab 100644
--- a/src/bin/termio.h
+++ b/src/bin/termio.h
@@ -13,6 +13,7 @@
 Evas_Object *termio_add(Evas_Object *parent, Config *config, const char *cmd,
                         Eina_Bool login_shell, const char *cd, int w, int h,
                         Term *term, const char *title);
+Termio *termio_get_from_obj(Evas_Object *obj);
 void         termio_win_set(Evas_Object *obj, Evas_Object *win);
 void         termio_theme_set(Evas_Object *obj, Evas_Object *theme);
 Eina_Bool    termio_selection_exists(const Evas_Object *obj);
diff --git a/src/bin/termiointernals.c b/src/bin/termiointernals.c
index 6f4a3db..270faa5 100644
--- a/src/bin/termiointernals.c
+++ b/src/bin/termiointernals.c
@@ -317,7 +317,7 @@ _sel_fill_in_codepoints_array(Termio *sd)
 Eina_Bool
 termio_take_selection(Evas_Object *obj, Elm_Sel_Type type)
 {
-   Termio *sd = evas_object_smart_data_get(obj);
+   Termio *sd = termio_get_from_obj(obj);
    int start_x = 0, start_y = 0, end_x = 0, end_y = 0;
    const char *s = NULL;
    size_t len = 0;
@@ -1237,14 +1237,11 @@ _sel_to(Termio *sd, int cx, int cy, Eina_Bool extend)
 }
 
 static void
-_selection_newline_extend_fix(Evas_Object *obj)
+_selection_newline_extend_fix(Termio *sd)
 {
    int start_x, start_y, end_x, end_y;
-   Termio *sd;
    ssize_t w;
 
-   sd = evas_object_smart_data_get(obj);
-
    if ((sd->top_left) || (sd->bottom_right) || (sd->pty->selection.is_box))
      return;
 
@@ -1918,7 +1915,7 @@ termio_internal_mouse_up(Termio *sd,
                     }
                }
              termio_selection_dbl_fix(sd);
-             _selection_newline_extend_fix(sd->self);
+             _selection_newline_extend_fix(sd);
              termio_smart_update_queue(sd);
              termio_take_selection(sd->self, ELM_SEL_TYPE_PRIMARY);
              _sel_fill_in_codepoints_array(sd);
@@ -2068,7 +2065,7 @@ termio_internal_mouse_move(Termio *sd,
 
         termio_selection_dbl_fix(sd);
         if (!sd->pty->selection.is_box)
-          _selection_newline_extend_fix(sd->self);
+          _selection_newline_extend_fix(sd);
         termio_smart_update_queue(sd);
         sd->moved = EINA_TRUE;
      }
@@ -2168,7 +2165,7 @@ void
 termio_scroll(Evas_Object *obj, int direction,
               int start_y, int end_y)
 {
-   Termio *sd = evas_object_smart_data_get(obj);
+   Termio *sd = termio_get_from_obj(obj);
    Termpty *ty;
 
    EINA_SAFETY_ON_NULL_RETURN(sd);
diff --git a/src/bin/tyfuzz.c b/src/bin/tyfuzz.c
index 8f7636d..14df928 100644
--- a/src/bin/tyfuzz.c
+++ b/src/bin/tyfuzz.c
@@ -62,6 +62,12 @@ main_config_sync(const Config *config EINA_UNUSED)
 }
 
 
+Termio *
+termio_get_from_obj(Evas_Object *obj)
+{
+   return &_sd;
+}
+
 Config *
 termio_config_get(const Evas_Object *obj EINA_UNUSED)
 {

-- 


Reply via email to