@@ -636,21 +636,25 @@ bool TizenRendererEvasGL::SetupEvasGL() {
636
636
void * TizenRendererEvasGL::SetupEvasWindow (int32_t & width, int32_t & height) {
637
637
elm_config_accel_preference_set (" hw:opengl" );
638
638
639
- evas_window_ = elm_win_add (NULL , NULL , ELM_WIN_BASIC);
640
- auto * ecore_evas =
641
- ecore_evas_ecore_evas_get (evas_object_evas_get (evas_window_));
642
- int32_t x, y;
643
- ecore_evas_screen_geometry_get (ecore_evas, &x, &y, &width, &height);
644
- if (width == 0 || height == 0 ) {
645
- FT_LOGE (" Invalid screen size: %d x %d" , width, height);
646
- return nullptr ;
639
+ if (delegate_.hasCustomWindow ()) {
640
+ evas_window_ = reinterpret_cast <Evas_Object*>(delegate_.CustomWindow ());
641
+ } else {
642
+ evas_window_ = elm_win_add (NULL , NULL , ELM_WIN_BASIC);
643
+ auto * ecore_evas =
644
+ ecore_evas_ecore_evas_get (evas_object_evas_get (evas_window_));
645
+ int32_t x, y;
646
+ ecore_evas_screen_geometry_get (ecore_evas, &x, &y, &width, &height);
647
+ if (width == 0 || height == 0 ) {
648
+ FT_LOGE (" Invalid screen size: %d x %d" , width, height);
649
+ return nullptr ;
650
+ }
651
+
652
+ elm_win_alpha_set (evas_window_, EINA_FALSE);
653
+ evas_object_move (evas_window_, 0 , 0 );
654
+ evas_object_resize (evas_window_, width, height);
655
+ evas_object_raise (evas_window_);
647
656
}
648
657
649
- elm_win_alpha_set (evas_window_, EINA_FALSE);
650
- evas_object_move (evas_window_, 0 , 0 );
651
- evas_object_resize (evas_window_, width, height);
652
- evas_object_raise (evas_window_);
653
-
654
658
Evas_Object* bg = elm_bg_add (evas_window_);
655
659
evas_object_color_set (bg, 0x00 , 0x00 , 0x00 , 0x00 );
656
660
0 commit comments