raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=86751fdbaf28796736876e23b86f26480e22de52
commit 86751fdbaf28796736876e23b86f26480e22de52 Author: Amitesh Singh <amitesh...@samsung.com> Date: Mon May 18 20:10:21 2015 +0900 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 --- src/lib/evas/Evas_Common.h | 1 + src/lib/evas/Evas_Eo.h | 2 ++ src/lib/evas/canvas/evas_callbacks.c | 4 ++++ src/lib/evas/canvas/evas_main.c | 1 + 4 files changed, 8 insertions(+) diff --git a/src/lib/evas/Evas_Common.h b/src/lib/evas/Evas_Common.h index 7a6bbff..bc2e184 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 8850a45..c81ce46 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 e7526ba..59850f6 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 7e281a4..b14194d 100644 --- a/src/lib/evas/canvas/evas_main.c +++ b/src/lib/evas/canvas/evas_main.c @@ -413,6 +413,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 --