evas: New Evas Callback added when viewport is resized. 56/40956/2 submit/tizen/20150610.123915
authorAmitesh Singh <amitesh.sh@samsung.com>
Mon, 18 May 2015 11:10:21 +0000 (20:10 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Wed, 10 Jun 2015 10:53:42 +0000 (03:53 -0700)
Summary: @feature

Reviewers: seoz, Hermet, cedric, raster

Subscribers: seoz, cedric, sachin.dev

Differential Revision: https://phab.enlightenment.org/D2526

Change-Id: Id10a11f4bb1f12983dc896705bed34a937f70a04
origin: upstream

src/lib/evas/Evas_Common.h
src/lib/evas/Evas_Eo.h
src/lib/evas/canvas/evas_callbacks.c
src/lib/evas/canvas/evas_main.c

index e53a122386710d658288b790c5dc3b451cfeb317..35a155be1ebdf346e8a3cda6e20d43995451582a 100644 (file)
@@ -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():
index 088f15fb6bf5dfd29aaafb83768a86aa8a8d56d3..d8ae8261ab7dede396c10b76c350425ee2933839 100644 (file)
@@ -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"
index 52bd0148953c0f8eb95e84b8916c1782d46c9882..8df6f01c4717532cc18b4bf5a0e62073e190ac20 100644 (file)
@@ -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,
index 00d1f24639fd6382ceef804027ee8bc452697c50..362d8e0d03b2db32decb5160357eca50b39a9138 100644 (file)
@@ -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