@@ -50,8 +50,7 @@ FlutterTizenView::FlutterTizenView(std::unique_ptr<TizenViewBase> tizen_view)
5050 : tizen_view_(std::move(tizen_view)) {
5151 tizen_view_->SetView (this );
5252
53- if (tizen_view_->GetType () == TizenViewType::kWindow ) {
54- auto * window = reinterpret_cast <TizenWindow*>(tizen_view_.get ());
53+ if (auto * window = dynamic_cast <TizenWindow*>(tizen_view_.get ())) {
5554 window->BindKeys (kBindableSystemKeys );
5655 }
5756}
@@ -73,12 +72,9 @@ void FlutterTizenView::SetEngine(std::unique_ptr<FlutterTizenEngine> engine) {
7372 // Set up window dependent channels.
7473 BinaryMessenger* messenger = internal_plugin_registrar_->messenger ();
7574
76- if (tizen_view_->GetType () == TizenViewType::kWindow ) {
77- auto * window = reinterpret_cast <TizenWindow*>(tizen_view_.get ());
78- window_channel_ = std::make_unique<WindowChannel>(messenger, window);
79- } else {
80- window_channel_ = std::make_unique<WindowChannel>(messenger, nullptr );
81- }
75+ auto * window = dynamic_cast <TizenWindow*>(tizen_view_.get ());
76+ window_channel_ = std::make_unique<WindowChannel>(messenger, window);
77+
8278 platform_channel_ =
8379 std::make_unique<PlatformChannel>(messenger, tizen_view_.get ());
8480 text_input_channel_ = std::make_unique<TextInputChannel>(
@@ -94,13 +90,13 @@ void FlutterTizenView::CreateRenderSurface(
9490
9591 if (engine_ && engine_->renderer ()) {
9692 TizenGeometry geometry = tizen_view_->GetGeometry ();
97- if (tizen_view_-> GetType () == TizenViewType:: kWindow ) {
98- auto * window = reinterpret_cast <TizenWindow*>(tizen_view_.get ());
93+ if (dynamic_cast <TizenWindow*>(tizen_view_. get ()) ) {
94+ auto * window = dynamic_cast <TizenWindow*>(tizen_view_.get ());
9995 engine_->renderer ()->CreateSurface (window->GetRenderTarget (),
10096 window->GetRenderTargetDisplay (),
10197 geometry.width , geometry.height );
10298 } else {
103- auto * tizen_view = reinterpret_cast <TizenView*>(tizen_view_.get ());
99+ auto * tizen_view = dynamic_cast <TizenView*>(tizen_view_.get ());
104100 engine_->renderer ()->CreateSurface (tizen_view->GetRenderTarget (), nullptr ,
105101 geometry.width , geometry.height );
106102 }
@@ -135,10 +131,10 @@ bool FlutterTizenView::OnMakeResourceCurrent() {
135131bool FlutterTizenView::OnPresent () {
136132 bool result = engine_->renderer ()->OnPresent ();
137133#ifdef NUI_SUPPORT
138- if (tizen_view_-> GetType () == flutter::TizenViewType:: kView &&
139- engine_->renderer ()->type () == FlutterDesktopRendererType::kEGL ) {
140- auto * view = reinterpret_cast <TizenViewNui*>(tizen_view_. get () );
141- view-> RequestRendering ();
134+ if (auto * view = dynamic_cast <TizenViewNui*>(tizen_view_. get ())) {
135+ if ( engine_->renderer ()->type () == FlutterDesktopRendererType::kEGL ) {
136+ view-> RequestRendering ( );
137+ }
142138 }
143139#endif
144140 return result;
@@ -309,8 +305,7 @@ void FlutterTizenView::OnCommit(const std::string& str) {
309305}
310306
311307void FlutterTizenView::SendInitialGeometry () {
312- if (tizen_view_->GetType () == TizenViewType::kWindow ) {
313- auto * window = reinterpret_cast <TizenWindow*>(tizen_view_.get ());
308+ if (auto * window = dynamic_cast <TizenWindow*>(tizen_view_.get ())) {
314309 OnRotate (window->GetRotation ());
315310 } else {
316311 TizenGeometry geometry = tizen_view_->GetGeometry ();
0 commit comments