flutter-tizen / engine

The Flutter engine
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
6 stars 19 forks source link

Enable Evas GL renderer for all profile #301

Closed bbrto21 closed 2 years ago

bbrto21 commented 2 years ago

To provide more options of flutter-tizen's user, I want to open the Evas GL render to all profiles. I expect that this provides advanced users with the option of selecting a window type for flutter-tizen, or enables using the view of FlutterTizen.

I think the following things are needed.

bbrto21 commented 2 years ago

ex) FlutterDesktopViewCreateFromNewElmWindow and FlutterDesktopViewCreateFromNewEcoreWl2Window

Alternatively, it would be good to receive the view type as an argument and unify it into one API.

FlutterDesktopViewRef FlutterDesktopViewCreateFrom(FlutterDektopViewType type /*,may be additional args*/ );
JSUYA commented 2 years ago

ex) FlutterDesktopViewCreateFromNewElmWindow and FlutterDesktopViewCreateFromNewEcoreWl2Window

Alternatively, it would be good to receive the view type as an argument and unify it into one API.

FlutterDesktopViewRef FlutterDesktopViewCreateFrom(FlutterDektopViewType type /*,may be additional args*/ );

I have a question. Which window should FlutterApp choose in a situation where it is a profile other than wearable (both evasgl and ecorewl2 windows are supported)? Do we also leave this up to the user?

bbrto21 commented 2 years ago

I recommend using ecorewl2 as before. from a refactoring point of view, I think it would be better to keep the behavior of a FlutterApp&Service while handle this issue. To achieve this, I think the tool should provide a define to represent a profile when building the app. @swift-kim Is profile macro already provided while building an app?

swift-kim commented 2 years ago

@bbrto21 Currently you can specify a device profile but not a renderer type.

flutter-tizen build tpk -p wearable  # The wearable embedder implicitly uses the Evas GL renderer.
flutter-tizen build tpk -p common    # The IoT embedder implicitly uses the Ecore Wl2 renderer.