@@ -10,11 +10,9 @@ EVAS_GL_GLOBAL_GLES3_DEFINE();
10
10
11
11
#include " flutter/shell/platform/tizen/tizen_log.h"
12
12
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)
16
14
: TizenRenderer(delegate) {
17
- InitializeRenderer (x, y, w, h );
15
+ InitializeRenderer ();
18
16
19
17
// Clear once to remove noise.
20
18
OnMakeCurrent ();
@@ -549,16 +547,23 @@ TizenRenderer::TizenWindowGeometry TizenRendererEvasGL::GetGeometry() {
549
547
return result;
550
548
}
551
549
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
+
552
558
uintptr_t TizenRendererEvasGL::GetWindowId () {
553
559
return ecore_evas_window_get (
554
560
ecore_evas_ecore_evas_get (evas_object_evas_get (evas_window_)));
555
561
}
556
562
557
563
void * TizenRendererEvasGL::GetImageHandle () { return (void *)graphics_adapter_; }
558
564
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 ()) {
562
567
FT_LOGE (" SetupEvasGL fail" );
563
568
return false ;
564
569
}
@@ -577,10 +582,10 @@ void TizenRendererEvasGL::DestroyRenderer() {
577
582
DestroyEvasWindow ();
578
583
}
579
584
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;
582
587
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 )));
584
589
if (!evas_gl_) {
585
590
FT_LOGE (" SetupEvasWindow fail" );
586
591
return false ;
@@ -612,10 +617,10 @@ bool TizenRendererEvasGL::SetupEvasGL(int32_t x, int32_t y, int32_t w,
612
617
}
613
618
614
619
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 );
616
621
617
622
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 );
619
624
620
625
Evas_Native_Surface ns;
621
626
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,
624
629
return true ;
625
630
}
626
631
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) {
633
633
elm_config_accel_preference_set (" hw:opengl" );
634
634
635
635
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
+
636
645
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 );
639
648
evas_object_raise (evas_window_);
640
649
641
650
Evas_Object* bg = elm_bg_add (evas_window_);
@@ -646,9 +655,9 @@ void* TizenRendererEvasGL::SetupEvasWindow(int32_t x, int32_t y, int32_t w,
646
655
647
656
graphics_adapter_ =
648
657
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 );
652
661
evas_object_image_alpha_set (graphics_adapter_, EINA_TRUE);
653
662
elm_win_resize_object_add (evas_window_, graphics_adapter_);
654
663
0 commit comments