//
#include "ITs-screen-mirroring-common.h"
+#define PACKAGE "screen_mirroring_sink_test"
+
/** @addtogroup itc-screen-mirroring
* @ingroup itc
* @{
scmirroring_sink_h g_hScMirroringSink = NULL;
+static Evas_Object* g_evas;
+static Evas_Object* _create_win(const char *name);
+static void create_win();
+static void _win_del(void *data, Evas_Object *obj, void *event);
+static void create_render_rect_and_bg(Evas_Object *win);
+
+static void create_win()
+{
+ Evas_Object *win = NULL;
+ /* create window */
+ win = _create_win(PACKAGE);
+ g_evas = win;
+ create_render_rect_and_bg(g_evas);
+
+ elm_win_activate(win);
+ evas_object_show(win);
+}
+
+void create_render_rect_and_bg(Evas_Object *win)
+{
+ if (!win) {
+ g_print("no win");
+ return;
+ }
+ Evas_Object *bg, *rect;
+
+ bg = elm_bg_add(win);
+ elm_win_resize_object_add(win, bg);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(bg);
+
+ rect = evas_object_rectangle_add(evas_object_evas_get(win));
+ if (!rect) {
+ g_print("no rect");
+ return;
+ }
+ evas_object_color_set(rect, 0, 0, 0, 0);
+ evas_object_render_op_set(rect, EVAS_RENDER_COPY);
+
+ elm_win_resize_object_add(win, rect);
+ evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(rect);
+ evas_object_show(win);
+}
+
+static Evas_Object* _create_win(const char *name)
+{
+ Evas_Object *eo = NULL;
+ int w = 0;
+ int h = 0;
+
+ eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+ if (eo) {
+ elm_win_title_set(eo, name);
+ elm_win_borderless_set(eo, EINA_TRUE);
+ evas_object_smart_callback_add(eo, "delete,request", _win_del, NULL);
+ elm_win_autodel_set(eo, EINA_TRUE);
+ elm_win_screen_size_get(eo, NULL, NULL, &w, &h);
+ elm_win_alpha_set(eo, EINA_TRUE);
+ }
+ return eo;
+}
+
+static void _win_del(void *data, Evas_Object *obj, void *event)
+{
+ elm_exit();
+}
/**
* @function scmirroring_state_sink_callback
* @description Callback function to indicate sink state
nRet = scmirroring_sink_create(&hSkMirroring);
PRINT_RESULT(SCMIRRORING_ERROR_NONE, nRet, "scmirroring_sink_create", ScreenMirroringInfoGetError(nRet));
CHECK_HANDLE(hSkMirroring, "scmirroring_sink_create");
-
- nRet = scmirroring_sink_set_display(hSkMirroring, setDisp[enum_counter], "display_sureface");
+ create_win();
+ evas_object_show(g_evas);
+
+ nRet = scmirroring_sink_set_display(hSkMirroring, setDisp[enum_counter], (void *)g_evas);
if ( nRet != SCMIRRORING_ERROR_NONE )
{
FPRINTF("[Line : %d][%s] scmirroring_sink_set_display failed for Display Type = %s, error returned = %s [%d]\\n", __LINE__, API_NAMESPACE, ScreenMirroringInfoDisplayType(setDisp[enum_counter]), ScreenMirroringInfoGetError(nRet), nRet);
#include <media/scmirroring_sink.h>
#include <media/scmirroring_type.h>
#include <glib.h>
+#include <Elementary.h>
//& set: ScreenMirroringSink
+#define PACKAGE "screen_mirroring_tc"
#define WFD_SINK_TEST_PORT "1122"
#define WFD_SINK_TEST_IP "192.168.0.1"
static bool _is_pass = false;
static int _start_ret;
static GMainLoop *g_mainloop = NULL;
+static Evas_Object* g_evas;
+
+static Evas_Object* _create_win(const char *name);
+static void create_win();
+static void _win_del(void *data, Evas_Object *obj, void *event);
+static void create_render_rect_and_bg(Evas_Object *win);
static gboolean timeout_func(gpointer data)
{
_is_pass = true;
}
+static void create_win()
+{
+ Evas_Object *win = NULL;
+ /* create window */
+ win = _create_win(PACKAGE);
+ g_evas = win;
+ create_render_rect_and_bg(g_evas);
+
+ elm_win_activate(win);
+ evas_object_show(win);
+}
+void create_render_rect_and_bg(Evas_Object *win)
+{
+ if (!win) {
+ g_print("no win");
+ return;
+ }
+ Evas_Object *bg, *rect;
+
+ bg = elm_bg_add(win);
+ elm_win_resize_object_add(win, bg);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(bg);
+
+ rect = evas_object_rectangle_add(evas_object_evas_get(win));
+ if (!rect) {
+ g_print("no rect");
+ return;
+ }
+ evas_object_color_set(rect, 0, 0, 0, 0);
+ evas_object_render_op_set(rect, EVAS_RENDER_COPY);
+
+ elm_win_resize_object_add(win, rect);
+ evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(rect);
+ evas_object_show(win);
+}
+
+static Evas_Object* _create_win(const char *name)
+{
+ Evas_Object *eo = NULL;
+ int w = 0;
+ int h = 0;
+
+ eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+ if (eo) {
+ elm_win_title_set(eo, name);
+ elm_win_borderless_set(eo, EINA_TRUE);
+ evas_object_smart_callback_add(eo, "delete,request", _win_del, NULL);
+ elm_win_autodel_set(eo, EINA_TRUE);
+ elm_win_screen_size_get(eo, NULL, NULL, &w, &h);
+ elm_win_alpha_set(eo, EINA_TRUE);
+ }
+ return eo;
+}
+
+static void _win_del(void *data, Evas_Object *obj, void *event)
+{
+ elm_exit();
+}
/**
* @function utc_media_screen_mirroring_sink_startup
* @description Called before each test
}
assert(!_is_broken);
int ret;
- int test_display=0;
+ ret = create_win();
+ assert_eq(ret, SCMIRRORING_ERROR_NONE);
+ evas_object_show(g_evas);
- ret = scmirroring_sink_set_display(scmirroring_sink, SCMIRRORING_DISPLAY_TYPE_OVERLAY, &test_display);
+ ret = scmirroring_sink_set_display(scmirroring_sink, SCMIRRORING_DISPLAY_TYPE_OVERLAY, (void *)g_evas);
assert_eq(ret, SCMIRRORING_ERROR_NONE);
return 0;
}
assert(!_is_broken);
int ret;
- int test_display=0;
+ ret = create_win();
+ assert_eq(ret, SCMIRRORING_ERROR_NONE);
+ evas_object_show(g_evas);
- ret = scmirroring_sink_set_display(scmirroring_sink, SCMIRRORING_DISPLAY_TYPE_EVAS, &test_display);
+ ret = scmirroring_sink_set_display(scmirroring_sink, SCMIRRORING_DISPLAY_TYPE_EVAS, (void *)g_evas);
assert_eq(ret, SCMIRRORING_ERROR_NONE);
return 0;