diff options
author | Amitesh Singh <amitesh.sh@samsung.com> | 2015-05-18 20:10:21 +0900 |
---|---|---|
committer | Jaehwan Kim <jae.hwan.kim@samsung.com> | 2015-06-10 03:53:42 -0700 |
commit | 441137c31c33fdb720877da9f58ed18d37c7f616 (patch) | |
tree | c2637512be2c5fcce2ce286f1d81ee6de91f1aa4 | |
parent | a66569f09de2abaff538ce42b6842ce78de24318 (diff) | |
download | efl-441137c31c33fdb720877da9f58ed18d37c7f616.tar.gz |
evas: New Evas Callback added when viewport is resized.
Summary: @feature
Reviewers: seoz, Hermet, cedric, raster
Subscribers: seoz, cedric, sachin.dev
Differential Revision: https://phab.enlightenment.org/D2526
Change-Id: Id10a11f4bb1f12983dc896705bed34a937f70a04
origin: upstream
-rw-r--r-- | src/lib/evas/Evas_Common.h | 1 | ||||
-rw-r--r-- | src/lib/evas/Evas_Eo.h | 2 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_callbacks.c | 4 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_main.c | 1 |
4 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/evas/Evas_Common.h b/src/lib/evas/Evas_Common.h index e53a122386..35a155be1e 100644 --- a/src/lib/evas/Evas_Common.h +++ b/src/lib/evas/Evas_Common.h @@ -118,6 +118,7 @@ typedef enum _Evas_Callback_Type EVAS_CALLBACK_RENDER_FLUSH_POST, /**< Called just after rendering is updated on the canvas target */ EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, /**< Canvas object got focus */ EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, /**< Canvas object lost focus */ + EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE, /**< Canvas viewport resized @since 1.15 */ /* * More Evas object event types - see evas_object_event_callback_add(): diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h index 088f15fb6b..d8ae8261ab 100644 --- a/src/lib/evas/Evas_Eo.h +++ b/src/lib/evas/Evas_Eo.h @@ -12,6 +12,7 @@ EAPI extern const Eo_Event_Description _EVAS_CANVAS_EVENT_RENDER_PRE; EAPI extern const Eo_Event_Description _EVAS_CANVAS_EVENT_RENDER_POST; EAPI extern const Eo_Event_Description _EVAS_CANVAS_EVENT_DEVICE_CHANGED; EAPI extern const Eo_Event_Description _EVAS_CANVAS_EVENT_AXIS_UPDATE; +EAPI extern const Eo_Event_Description _EVAS_CANVAS_EVENT_VIEWPORT_RESIZE; // Callbacks events for use with Evas canvases #define EVAS_CANVAS_EVENT_FOCUS_IN (&(_EVAS_CANVAS_EVENT_FOCUS_IN)) @@ -24,6 +25,7 @@ EAPI extern const Eo_Event_Description _EVAS_CANVAS_EVENT_AXIS_UPDATE; #define EVAS_CANVAS_EVENT_RENDER_POST (&(_EVAS_CANVAS_EVENT_RENDER_POST)) #define EVAS_CANVAS_EVENT_DEVICE_CHANGED (&(_EVAS_CANVAS_EVENT_DEVICE_CHANGED)) #define EVAS_CANVAS_EVENT_AXIS_UPDATE (&(_EVAS_CANVAS_EVENT_AXIS_UPDATE)) +#define EVAS_CANVAS_EVENT_VIEWPORT_RESIZE (&(_EVAS_CANVAS_EVENT_VIEWPORT_RESIZE)) #include "canvas/evas_signal_interface.eo.h" #include "canvas/evas_draggable_interface.eo.h" diff --git a/src/lib/evas/canvas/evas_callbacks.c b/src/lib/evas/canvas/evas_callbacks.c index 52bd014895..8df6f01c47 100644 --- a/src/lib/evas/canvas/evas_callbacks.c +++ b/src/lib/evas/canvas/evas_callbacks.c @@ -31,6 +31,9 @@ EAPI const Eo_Event_Description _EVAS_CANVAS_EVENT_OBJECT_FOCUS_OUT = EAPI const Eo_Event_Description _EVAS_CANVAS_EVENT_DEVICE_CHANGED = EO_HOT_EVENT_DESCRIPTION("Device changed", "Devices added, removed or changed to the canvas"); +EAPI const Eo_Event_Description _EVAS_CANVAS_EVENT_VIEWPORT_RESIZE = + EO_HOT_EVENT_DESCRIPTION("Canvas viewport resize", + "Canvas viewport is resized"); /** * Evas events descriptions for Eo. */ @@ -65,6 +68,7 @@ static const Eo_Event_Description *_legacy_evas_callback_table[EVAS_CALLBACK_LAS EVAS_CANVAS_EVENT_RENDER_FLUSH_POST, EVAS_CANVAS_EVENT_OBJECT_FOCUS_IN, EVAS_CANVAS_EVENT_OBJECT_FOCUS_OUT, + EVAS_CANVAS_EVENT_VIEWPORT_RESIZE, EVAS_OBJECT_EVENT_IMAGE_UNLOADED, EVAS_CANVAS_EVENT_RENDER_PRE, EVAS_CANVAS_EVENT_RENDER_POST, diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c index 00d1f24639..362d8e0d03 100644 --- a/src/lib/evas/canvas/evas_main.c +++ b/src/lib/evas/canvas/evas_main.c @@ -401,6 +401,7 @@ _evas_canvas_output_viewport_set(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, Evas e->viewport.changed = 1; e->output_validity++; e->changed = 1; + evas_event_callback_call(e->evas, EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE, NULL); } EOLIAN static void |