@@ -10,11 +10,9 @@ EVAS_GL_GLOBAL_GLES3_DEFINE();
1010
1111#include " flutter/shell/platform/tizen/tizen_log.h"
1212
13- TizenRendererEvasGL::TizenRendererEvasGL (TizenRenderer::Delegate& delegate,
14- int32_t x, int32_t y, int32_t w,
15- int32_t h)
13+ TizenRendererEvasGL::TizenRendererEvasGL (TizenRenderer::Delegate& delegate)
1614 : TizenRenderer(delegate) {
17- InitializeRenderer (x, y, w, h );
15+ InitializeRenderer ();
1816
1917 // Clear once to remove noise.
2018 OnMakeCurrent ();
@@ -549,16 +547,23 @@ TizenRenderer::TizenWindowGeometry TizenRendererEvasGL::GetGeometry() {
549547 return result;
550548}
551549
550+ int32_t TizenRendererEvasGL::GetDpi () {
551+ auto * ecore_evas =
552+ ecore_evas_ecore_evas_get (evas_object_evas_get (evas_window_));
553+ int32_t xdpi, ydpi;
554+ ecore_evas_screen_dpi_get (ecore_evas, &xdpi, &ydpi);
555+ return xdpi;
556+ }
557+
552558uintptr_t TizenRendererEvasGL::GetWindowId () {
553559 return ecore_evas_window_get (
554560 ecore_evas_ecore_evas_get (evas_object_evas_get (evas_window_)));
555561}
556562
557563void * TizenRendererEvasGL::GetImageHandle () { return (void *)graphics_adapter_; }
558564
559- bool TizenRendererEvasGL::InitializeRenderer (int32_t x, int32_t y, int32_t w,
560- int32_t h) {
561- if (!SetupEvasGL (x, y, w, h)) {
565+ bool TizenRendererEvasGL::InitializeRenderer () {
566+ if (!SetupEvasGL ()) {
562567 FT_LOGE (" SetupEvasGL fail" );
563568 return false ;
564569 }
@@ -577,10 +582,10 @@ void TizenRendererEvasGL::DestroyRenderer() {
577582 DestroyEvasWindow ();
578583}
579584
580- bool TizenRendererEvasGL::SetupEvasGL (int32_t x, int32_t y, int32_t w,
581- int32_t h) {
585+ bool TizenRendererEvasGL::SetupEvasGL () {
586+ int32_t width, height;
582587 evas_gl_ = evas_gl_new (
583- evas_object_evas_get ((Evas_Object*)SetupEvasWindow (x, y, w, h )));
588+ evas_object_evas_get ((Evas_Object*)SetupEvasWindow (width, height )));
584589 if (!evas_gl_) {
585590 FT_LOGE (" SetupEvasWindow fail" );
586591 return false ;
@@ -612,10 +617,10 @@ bool TizenRendererEvasGL::SetupEvasGL(int32_t x, int32_t y, int32_t w,
612617 }
613618
614619 EVAS_GL_GLOBAL_GLES3_USE (g_evas_gl, gl_context_);
615- gl_surface_ = evas_gl_surface_create (evas_gl_, gl_config_, w, h );
620+ gl_surface_ = evas_gl_surface_create (evas_gl_, gl_config_, width, height );
616621
617622 gl_resource_surface_ =
618- evas_gl_pbuffer_surface_create (evas_gl_, gl_config_, w, h , NULL );
623+ evas_gl_pbuffer_surface_create (evas_gl_, gl_config_, width, height , NULL );
619624
620625 Evas_Native_Surface ns;
621626 evas_gl_native_surface_get (evas_gl_, gl_surface_, &ns);
@@ -624,18 +629,22 @@ bool TizenRendererEvasGL::SetupEvasGL(int32_t x, int32_t y, int32_t w,
624629 return true ;
625630}
626631
627- void * TizenRendererEvasGL::SetupEvasWindow (int32_t x, int32_t y, int32_t w,
628- int32_t h) {
629- if (w == 0 || h == 0 ) {
630- FT_LOGE (" Failed to create because of the wrong size" );
631- return nullptr ;
632- }
632+ void * TizenRendererEvasGL::SetupEvasWindow (int32_t & width, int32_t & height) {
633633 elm_config_accel_preference_set (" hw:opengl" );
634634
635635 evas_window_ = elm_win_add (NULL , NULL , ELM_WIN_BASIC);
636+ auto * ecore_evas =
637+ ecore_evas_ecore_evas_get (evas_object_evas_get (evas_window_));
638+ int32_t x, y;
639+ ecore_evas_screen_geometry_get (ecore_evas, &x, &y, &width, &height);
640+ if (width == 0 || height == 0 ) {
641+ FT_LOGE (" Invalid screen size: %d x %d" , width, height);
642+ return nullptr ;
643+ }
644+
636645 elm_win_alpha_set (evas_window_, EINA_FALSE);
637- evas_object_move (evas_window_, x, y );
638- evas_object_resize (evas_window_, w, h );
646+ evas_object_move (evas_window_, 0 , 0 );
647+ evas_object_resize (evas_window_, width, height );
639648 evas_object_raise (evas_window_);
640649
641650 Evas_Object* bg = elm_bg_add (evas_window_);
@@ -646,9 +655,9 @@ void* TizenRendererEvasGL::SetupEvasWindow(int32_t x, int32_t y, int32_t w,
646655
647656 graphics_adapter_ =
648657 evas_object_image_filled_add (evas_object_evas_get (evas_window_));
649- evas_object_resize (graphics_adapter_, w, h );
650- evas_object_move (graphics_adapter_, x, y );
651- evas_object_image_size_set (graphics_adapter_, w, h );
658+ evas_object_resize (graphics_adapter_, width, height );
659+ evas_object_move (graphics_adapter_, 0 , 0 );
660+ evas_object_image_size_set (graphics_adapter_, width, height );
652661 evas_object_image_alpha_set (graphics_adapter_, EINA_TRUE);
653662 elm_win_resize_object_add (evas_window_, graphics_adapter_);
654663
0 commit comments