From aec29f869b1b07ad84b70cd57dcf1a22f917c1c2 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Wed, 17 May 2023 12:45:47 +1000 Subject: [PATCH] Next Gen UI demo (#1778) First pass at a Next Generation UI demo app. The UI needs work, feedback gratefully accepted. ## Pre-launch Checklist - [x] I read the [Flutter Style Guide] _recently_, and have followed its advice. - [x] I signed the [CLA]. - [x] I read the [Contributors Guide]. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-devrel channel on [Discord]. [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [CLA]: https://cla.developers.google.com/ [Discord]: https://github.com/flutter/flutter/wiki/Chat [Contributors Guide]: https://github.com/flutter/samples/blob/main/CONTRIBUTING.md --- next_gen_ui_demo/.gitignore | 44 + next_gen_ui_demo/analysis_options.yaml | 1 + next_gen_ui_demo/android/.gitignore | 13 + next_gen_ui_demo/android/app/build.gradle | 72 ++ .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 33 + .../example/next_gen_ui_demo/MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + next_gen_ui_demo/android/build.gradle | 31 + next_gen_ui_demo/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + next_gen_ui_demo/android/settings.gradle | 11 + next_gen_ui_demo/assets/fonts/Exo-Bold.ttf | Bin 0 -> 90812 bytes next_gen_ui_demo/assets/fonts/Exo-Medium.ttf | Bin 0 -> 91016 bytes next_gen_ui_demo/assets/fonts/OFL.txt | 93 ++ next_gen_ui_demo/assets/images/bg-base.jpg | Bin 0 -> 34877 bytes .../assets/images/bg-light-receive.png | Bin 0 -> 206001 bytes .../assets/images/button-start-hover.png | Bin 0 -> 13235 bytes .../assets/images/button-start.png | Bin 0 -> 4445 bytes next_gen_ui_demo/assets/images/fg-base.png | Bin 0 -> 38794 bytes .../assets/images/fg-light-emit.png | Bin 0 -> 85787 bytes .../assets/images/fg-light-receive.png | Bin 0 -> 48759 bytes next_gen_ui_demo/assets/images/mg-base.png | Bin 0 -> 246707 bytes .../assets/images/mg-light-emit.png | Bin 0 -> 45361 bytes .../assets/images/mg-light-receive.png | Bin 0 -> 63329 bytes .../assets/images/particle-wave.png | Bin 0 -> 17849 bytes .../assets/images/select-left.png | Bin 0 -> 1107 bytes .../assets/images/select-right.png | Bin 0 -> 1106 bytes .../assets/shaders/common/common.glsl | 16 + .../assets/shaders/orb_shader.frag | 332 ++++++++ .../assets/shaders/ui_glitch.frag | 68 ++ next_gen_ui_demo/ios/.gitignore | 34 + .../ios/Flutter/AppFrameworkInfo.plist | 26 + next_gen_ui_demo/ios/Flutter/Debug.xcconfig | 2 + next_gen_ui_demo/ios/Flutter/Release.xcconfig | 2 + next_gen_ui_demo/ios/Podfile | 44 + .../ios/Runner.xcodeproj/project.pbxproj | 613 ++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + next_gen_ui_demo/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 +++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + .../ios/Runner/Base.lproj/Main.storyboard | 26 + next_gen_ui_demo/ios/Runner/Info.plist | 53 ++ .../ios/Runner/Runner-Bridging-Header.h | 1 + .../ios/RunnerTests/RunnerTests.swift | 12 + next_gen_ui_demo/lib/assets.dart | 41 + .../lib/common/reactive_widget.dart | 37 + .../lib/common/shader_effect.dart | 359 ++++++++ .../lib/common/shader_painter.dart | 28 + .../lib/common/ticking_builder.dart | 40 + next_gen_ui_demo/lib/common/ui_scaler.dart | 31 + next_gen_ui_demo/lib/main.dart | 145 ++++ .../lib/orb_shader/orb_shader_config.dart | 131 +++ .../lib/orb_shader/orb_shader_painter.dart | 85 ++ .../lib/orb_shader/orb_shader_widget.dart | 123 +++ next_gen_ui_demo/lib/styles.dart | 35 + .../lib/title_screen/title_screen.dart | 8 + .../lib/title_screen_1a/title_screen.dart | 36 + .../lib/title_screen_1b/title_screen.dart | 45 + .../lib/title_screen_2a/title_screen.dart | 54 ++ .../lib/title_screen_2c/title_screen.dart | 106 +++ .../lib/title_screen_3a/title_screen.dart | 112 +++ .../lib/title_screen_3a/title_screen_ui.dart | 62 ++ .../lib/title_screen_3b/title_screen.dart | 139 +++ .../lib/title_screen_3b/title_screen_ui.dart | 187 +++++ .../lib/title_screen_3c/title_screen.dart | 139 +++ .../lib/title_screen_3c/title_screen_ui.dart | 250 ++++++ .../lib/title_screen_4a/title_screen.dart | 139 +++ .../lib/title_screen_4a/title_screen_ui.dart | 253 ++++++ .../lib/title_screen_4b/title_screen.dart | 139 +++ .../lib/title_screen_4b/title_screen_ui.dart | 262 ++++++ .../lib/title_screen_4c/title_screen.dart | 139 +++ .../lib/title_screen_4c/title_screen_ui.dart | 267 ++++++ .../lib/title_screen_4d/title_screen.dart | 139 +++ .../lib/title_screen_4d/title_screen_ui.dart | 273 ++++++ .../lib/title_screen_4e/title_screen.dart | 178 ++++ .../lib/title_screen_4e/title_screen_ui.dart | 273 ++++++ .../lib/title_screen_5a/title_screen.dart | 178 ++++ .../lib/title_screen_5a/title_screen_ui.dart | 299 +++++++ .../lib/title_screen_5b/title_screen.dart | 312 +++++++ .../lib/title_screen_5b/title_screen_ui.dart | 301 +++++++ .../lib/title_screen_6/particle_overlay.dart | 67 ++ .../lib/title_screen_6/title_screen.dart | 323 +++++++ .../lib/title_screen_6/title_screen_ui.dart | 301 +++++++ next_gen_ui_demo/linux/.gitignore | 1 + next_gen_ui_demo/linux/CMakeLists.txt | 139 +++ next_gen_ui_demo/linux/flutter/CMakeLists.txt | 88 ++ .../flutter/generated_plugin_registrant.cc | 15 + .../flutter/generated_plugin_registrant.h | 15 + .../linux/flutter/generated_plugins.cmake | 24 + next_gen_ui_demo/linux/main.cc | 6 + next_gen_ui_demo/linux/my_application.cc | 104 +++ next_gen_ui_demo/linux/my_application.h | 18 + next_gen_ui_demo/macos/.gitignore | 7 + .../macos/Flutter/Flutter-Debug.xcconfig | 2 + .../macos/Flutter/Flutter-Release.xcconfig | 2 + .../Flutter/GeneratedPluginRegistrant.swift | 12 + next_gen_ui_demo/macos/Podfile | 43 + .../macos/Runner.xcodeproj/project.pbxproj | 791 ++++++++++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 +++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../macos/Runner/AppDelegate.swift | 9 + .../AppIcon.appiconset/Contents.json | 68 ++ .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 ++++++++ .../macos/Runner/Configs/AppInfo.xcconfig | 14 + .../macos/Runner/Configs/Debug.xcconfig | 2 + .../macos/Runner/Configs/Release.xcconfig | 2 + .../macos/Runner/Configs/Warnings.xcconfig | 13 + .../macos/Runner/DebugProfile.entitlements | 12 + next_gen_ui_demo/macos/Runner/Info.plist | 32 + .../macos/Runner/MainFlutterWindow.swift | 15 + .../macos/Runner/Release.entitlements | 8 + .../macos/RunnerTests/RunnerTests.swift | 12 + next_gen_ui_demo/pubspec.yaml | 46 + next_gen_ui_demo/test/widget_test.dart | 24 + next_gen_ui_demo/web/favicon.png | Bin 0 -> 917 bytes next_gen_ui_demo/web/icons/Icon-192.png | Bin 0 -> 5292 bytes next_gen_ui_demo/web/icons/Icon-512.png | Bin 0 -> 8252 bytes .../web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes .../web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes next_gen_ui_demo/web/index.html | 61 ++ next_gen_ui_demo/web/manifest.json | 35 + next_gen_ui_demo/windows/.gitignore | 17 + next_gen_ui_demo/windows/CMakeLists.txt | 102 +++ .../windows/flutter/CMakeLists.txt | 104 +++ .../flutter/generated_plugin_registrant.cc | 14 + .../flutter/generated_plugin_registrant.h | 15 + .../windows/flutter/generated_plugins.cmake | 24 + .../windows/runner/CMakeLists.txt | 40 + next_gen_ui_demo/windows/runner/Runner.rc | 121 +++ .../windows/runner/flutter_window.cpp | 66 ++ .../windows/runner/flutter_window.h | 33 + next_gen_ui_demo/windows/runner/main.cpp | 43 + next_gen_ui_demo/windows/runner/resource.h | 16 + .../windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes .../windows/runner/runner.exe.manifest | 20 + next_gen_ui_demo/windows/runner/utils.cpp | 65 ++ next_gen_ui_demo/windows/runner/utils.h | 19 + .../windows/runner/win32_window.cpp | 288 +++++++ .../windows/runner/win32_window.h | 102 +++ tool/flutter_ci_script_beta.sh | 1 + tool/flutter_ci_script_master.sh | 1 + tool/flutter_ci_script_stable.sh | 1 + 187 files changed, 11174 insertions(+) create mode 100644 next_gen_ui_demo/.gitignore create mode 100644 next_gen_ui_demo/analysis_options.yaml create mode 100644 next_gen_ui_demo/android/.gitignore create mode 100644 next_gen_ui_demo/android/app/build.gradle create mode 100644 next_gen_ui_demo/android/app/src/debug/AndroidManifest.xml create mode 100644 next_gen_ui_demo/android/app/src/main/AndroidManifest.xml create mode 100644 next_gen_ui_demo/android/app/src/main/kotlin/com/example/next_gen_ui_demo/MainActivity.kt create mode 100644 next_gen_ui_demo/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 next_gen_ui_demo/android/app/src/main/res/drawable/launch_background.xml create mode 100644 next_gen_ui_demo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 next_gen_ui_demo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 next_gen_ui_demo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 next_gen_ui_demo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 next_gen_ui_demo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 next_gen_ui_demo/android/app/src/main/res/values-night/styles.xml create mode 100644 next_gen_ui_demo/android/app/src/main/res/values/styles.xml create mode 100644 next_gen_ui_demo/android/app/src/profile/AndroidManifest.xml create mode 100644 next_gen_ui_demo/android/build.gradle create mode 100644 next_gen_ui_demo/android/gradle.properties create mode 100644 next_gen_ui_demo/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 next_gen_ui_demo/android/settings.gradle create mode 100644 next_gen_ui_demo/assets/fonts/Exo-Bold.ttf create mode 100644 next_gen_ui_demo/assets/fonts/Exo-Medium.ttf create mode 100644 next_gen_ui_demo/assets/fonts/OFL.txt create mode 100644 next_gen_ui_demo/assets/images/bg-base.jpg create mode 100644 next_gen_ui_demo/assets/images/bg-light-receive.png create mode 100644 next_gen_ui_demo/assets/images/button-start-hover.png create mode 100644 next_gen_ui_demo/assets/images/button-start.png create mode 100644 next_gen_ui_demo/assets/images/fg-base.png create mode 100644 next_gen_ui_demo/assets/images/fg-light-emit.png create mode 100644 next_gen_ui_demo/assets/images/fg-light-receive.png create mode 100644 next_gen_ui_demo/assets/images/mg-base.png create mode 100644 next_gen_ui_demo/assets/images/mg-light-emit.png create mode 100644 next_gen_ui_demo/assets/images/mg-light-receive.png create mode 100644 next_gen_ui_demo/assets/images/particle-wave.png create mode 100644 next_gen_ui_demo/assets/images/select-left.png create mode 100644 next_gen_ui_demo/assets/images/select-right.png create mode 100644 next_gen_ui_demo/assets/shaders/common/common.glsl create mode 100644 next_gen_ui_demo/assets/shaders/orb_shader.frag create mode 100644 next_gen_ui_demo/assets/shaders/ui_glitch.frag create mode 100644 next_gen_ui_demo/ios/.gitignore create mode 100644 next_gen_ui_demo/ios/Flutter/AppFrameworkInfo.plist create mode 100644 next_gen_ui_demo/ios/Flutter/Debug.xcconfig create mode 100644 next_gen_ui_demo/ios/Flutter/Release.xcconfig create mode 100644 next_gen_ui_demo/ios/Podfile create mode 100644 next_gen_ui_demo/ios/Runner.xcodeproj/project.pbxproj create mode 100644 next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 next_gen_ui_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 next_gen_ui_demo/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 next_gen_ui_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 next_gen_ui_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 next_gen_ui_demo/ios/Runner/AppDelegate.swift create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 next_gen_ui_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 next_gen_ui_demo/ios/Runner/Base.lproj/Main.storyboard create mode 100644 next_gen_ui_demo/ios/Runner/Info.plist create mode 100644 next_gen_ui_demo/ios/Runner/Runner-Bridging-Header.h create mode 100644 next_gen_ui_demo/ios/RunnerTests/RunnerTests.swift create mode 100644 next_gen_ui_demo/lib/assets.dart create mode 100644 next_gen_ui_demo/lib/common/reactive_widget.dart create mode 100644 next_gen_ui_demo/lib/common/shader_effect.dart create mode 100644 next_gen_ui_demo/lib/common/shader_painter.dart create mode 100644 next_gen_ui_demo/lib/common/ticking_builder.dart create mode 100644 next_gen_ui_demo/lib/common/ui_scaler.dart create mode 100644 next_gen_ui_demo/lib/main.dart create mode 100644 next_gen_ui_demo/lib/orb_shader/orb_shader_config.dart create mode 100644 next_gen_ui_demo/lib/orb_shader/orb_shader_painter.dart create mode 100644 next_gen_ui_demo/lib/orb_shader/orb_shader_widget.dart create mode 100644 next_gen_ui_demo/lib/styles.dart create mode 100644 next_gen_ui_demo/lib/title_screen/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_1a/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_1b/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_2a/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_2c/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_3a/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_3a/title_screen_ui.dart create mode 100644 next_gen_ui_demo/lib/title_screen_3b/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_3b/title_screen_ui.dart create mode 100644 next_gen_ui_demo/lib/title_screen_3c/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_3c/title_screen_ui.dart create mode 100644 next_gen_ui_demo/lib/title_screen_4a/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_4a/title_screen_ui.dart create mode 100644 next_gen_ui_demo/lib/title_screen_4b/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_4b/title_screen_ui.dart create mode 100644 next_gen_ui_demo/lib/title_screen_4c/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_4c/title_screen_ui.dart create mode 100644 next_gen_ui_demo/lib/title_screen_4d/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_4d/title_screen_ui.dart create mode 100644 next_gen_ui_demo/lib/title_screen_4e/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_4e/title_screen_ui.dart create mode 100644 next_gen_ui_demo/lib/title_screen_5a/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_5a/title_screen_ui.dart create mode 100644 next_gen_ui_demo/lib/title_screen_5b/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_5b/title_screen_ui.dart create mode 100644 next_gen_ui_demo/lib/title_screen_6/particle_overlay.dart create mode 100644 next_gen_ui_demo/lib/title_screen_6/title_screen.dart create mode 100644 next_gen_ui_demo/lib/title_screen_6/title_screen_ui.dart create mode 100644 next_gen_ui_demo/linux/.gitignore create mode 100644 next_gen_ui_demo/linux/CMakeLists.txt create mode 100644 next_gen_ui_demo/linux/flutter/CMakeLists.txt create mode 100644 next_gen_ui_demo/linux/flutter/generated_plugin_registrant.cc create mode 100644 next_gen_ui_demo/linux/flutter/generated_plugin_registrant.h create mode 100644 next_gen_ui_demo/linux/flutter/generated_plugins.cmake create mode 100644 next_gen_ui_demo/linux/main.cc create mode 100644 next_gen_ui_demo/linux/my_application.cc create mode 100644 next_gen_ui_demo/linux/my_application.h create mode 100644 next_gen_ui_demo/macos/.gitignore create mode 100644 next_gen_ui_demo/macos/Flutter/Flutter-Debug.xcconfig create mode 100644 next_gen_ui_demo/macos/Flutter/Flutter-Release.xcconfig create mode 100644 next_gen_ui_demo/macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 next_gen_ui_demo/macos/Podfile create mode 100644 next_gen_ui_demo/macos/Runner.xcodeproj/project.pbxproj create mode 100644 next_gen_ui_demo/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 next_gen_ui_demo/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 next_gen_ui_demo/macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 next_gen_ui_demo/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 next_gen_ui_demo/macos/Runner/AppDelegate.swift create mode 100644 next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 next_gen_ui_demo/macos/Runner/Base.lproj/MainMenu.xib create mode 100644 next_gen_ui_demo/macos/Runner/Configs/AppInfo.xcconfig create mode 100644 next_gen_ui_demo/macos/Runner/Configs/Debug.xcconfig create mode 100644 next_gen_ui_demo/macos/Runner/Configs/Release.xcconfig create mode 100644 next_gen_ui_demo/macos/Runner/Configs/Warnings.xcconfig create mode 100644 next_gen_ui_demo/macos/Runner/DebugProfile.entitlements create mode 100644 next_gen_ui_demo/macos/Runner/Info.plist create mode 100644 next_gen_ui_demo/macos/Runner/MainFlutterWindow.swift create mode 100644 next_gen_ui_demo/macos/Runner/Release.entitlements create mode 100644 next_gen_ui_demo/macos/RunnerTests/RunnerTests.swift create mode 100644 next_gen_ui_demo/pubspec.yaml create mode 100644 next_gen_ui_demo/test/widget_test.dart create mode 100644 next_gen_ui_demo/web/favicon.png create mode 100644 next_gen_ui_demo/web/icons/Icon-192.png create mode 100644 next_gen_ui_demo/web/icons/Icon-512.png create mode 100644 next_gen_ui_demo/web/icons/Icon-maskable-192.png create mode 100644 next_gen_ui_demo/web/icons/Icon-maskable-512.png create mode 100644 next_gen_ui_demo/web/index.html create mode 100644 next_gen_ui_demo/web/manifest.json create mode 100644 next_gen_ui_demo/windows/.gitignore create mode 100644 next_gen_ui_demo/windows/CMakeLists.txt create mode 100644 next_gen_ui_demo/windows/flutter/CMakeLists.txt create mode 100644 next_gen_ui_demo/windows/flutter/generated_plugin_registrant.cc create mode 100644 next_gen_ui_demo/windows/flutter/generated_plugin_registrant.h create mode 100644 next_gen_ui_demo/windows/flutter/generated_plugins.cmake create mode 100644 next_gen_ui_demo/windows/runner/CMakeLists.txt create mode 100644 next_gen_ui_demo/windows/runner/Runner.rc create mode 100644 next_gen_ui_demo/windows/runner/flutter_window.cpp create mode 100644 next_gen_ui_demo/windows/runner/flutter_window.h create mode 100644 next_gen_ui_demo/windows/runner/main.cpp create mode 100644 next_gen_ui_demo/windows/runner/resource.h create mode 100644 next_gen_ui_demo/windows/runner/resources/app_icon.ico create mode 100644 next_gen_ui_demo/windows/runner/runner.exe.manifest create mode 100644 next_gen_ui_demo/windows/runner/utils.cpp create mode 100644 next_gen_ui_demo/windows/runner/utils.h create mode 100644 next_gen_ui_demo/windows/runner/win32_window.cpp create mode 100644 next_gen_ui_demo/windows/runner/win32_window.h diff --git a/next_gen_ui_demo/.gitignore b/next_gen_ui_demo/.gitignore new file mode 100644 index 000000000..24476c5d1 --- /dev/null +++ b/next_gen_ui_demo/.gitignore @@ -0,0 +1,44 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/next_gen_ui_demo/analysis_options.yaml b/next_gen_ui_demo/analysis_options.yaml new file mode 100644 index 000000000..13d6fe105 --- /dev/null +++ b/next_gen_ui_demo/analysis_options.yaml @@ -0,0 +1 @@ +include: package:analysis_defaults/flutter.yaml diff --git a/next_gen_ui_demo/android/.gitignore b/next_gen_ui_demo/android/.gitignore new file mode 100644 index 000000000..6f568019d --- /dev/null +++ b/next_gen_ui_demo/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/next_gen_ui_demo/android/app/build.gradle b/next_gen_ui_demo/android/app/build.gradle new file mode 100644 index 000000000..2cd6d6dfa --- /dev/null +++ b/next_gen_ui_demo/android/app/build.gradle @@ -0,0 +1,72 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + namespace "com.example.next_gen_ui_demo" + compileSdkVersion flutter.compileSdkVersion + ndkVersion flutter.ndkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.example.next_gen_ui_demo" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + minSdkVersion flutter.minSdkVersion + targetSdkVersion flutter.targetSdkVersion + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/next_gen_ui_demo/android/app/src/debug/AndroidManifest.xml b/next_gen_ui_demo/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 000000000..399f6981d --- /dev/null +++ b/next_gen_ui_demo/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/next_gen_ui_demo/android/app/src/main/AndroidManifest.xml b/next_gen_ui_demo/android/app/src/main/AndroidManifest.xml new file mode 100644 index 000000000..0ae34ee61 --- /dev/null +++ b/next_gen_ui_demo/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/next_gen_ui_demo/android/app/src/main/kotlin/com/example/next_gen_ui_demo/MainActivity.kt b/next_gen_ui_demo/android/app/src/main/kotlin/com/example/next_gen_ui_demo/MainActivity.kt new file mode 100644 index 000000000..92fc3978e --- /dev/null +++ b/next_gen_ui_demo/android/app/src/main/kotlin/com/example/next_gen_ui_demo/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.next_gen_ui_demo + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/next_gen_ui_demo/android/app/src/main/res/drawable-v21/launch_background.xml b/next_gen_ui_demo/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 000000000..f74085f3f --- /dev/null +++ b/next_gen_ui_demo/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/next_gen_ui_demo/android/app/src/main/res/drawable/launch_background.xml b/next_gen_ui_demo/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 000000000..304732f88 --- /dev/null +++ b/next_gen_ui_demo/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/next_gen_ui_demo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/next_gen_ui_demo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/next_gen_ui_demo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/next_gen_ui_demo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/next_gen_ui_demo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/android/app/src/main/res/values-night/styles.xml b/next_gen_ui_demo/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 000000000..06952be74 --- /dev/null +++ b/next_gen_ui_demo/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/next_gen_ui_demo/android/app/src/main/res/values/styles.xml b/next_gen_ui_demo/android/app/src/main/res/values/styles.xml new file mode 100644 index 000000000..cb1ef8805 --- /dev/null +++ b/next_gen_ui_demo/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/next_gen_ui_demo/android/app/src/profile/AndroidManifest.xml b/next_gen_ui_demo/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 000000000..399f6981d --- /dev/null +++ b/next_gen_ui_demo/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/next_gen_ui_demo/android/build.gradle b/next_gen_ui_demo/android/build.gradle new file mode 100644 index 000000000..f7eb7f63c --- /dev/null +++ b/next_gen_ui_demo/android/build.gradle @@ -0,0 +1,31 @@ +buildscript { + ext.kotlin_version = '1.7.10' + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:7.3.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/next_gen_ui_demo/android/gradle.properties b/next_gen_ui_demo/android/gradle.properties new file mode 100644 index 000000000..94adc3a3f --- /dev/null +++ b/next_gen_ui_demo/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/next_gen_ui_demo/android/gradle/wrapper/gradle-wrapper.properties b/next_gen_ui_demo/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..3c472b99c --- /dev/null +++ b/next_gen_ui_demo/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip diff --git a/next_gen_ui_demo/android/settings.gradle b/next_gen_ui_demo/android/settings.gradle new file mode 100644 index 000000000..44e62bcf0 --- /dev/null +++ b/next_gen_ui_demo/android/settings.gradle @@ -0,0 +1,11 @@ +include ':app' + +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() + +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next_gen_ui_demo/assets/fonts/Exo-Bold.ttf b/next_gen_ui_demo/assets/fonts/Exo-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6a01984dd34e78640bf6b4643a653f85b81f73e4 GIT binary patch literal 90812 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 W+TIc4oio|Mm;}G0BR#6cqW=Zp(|TS2 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/assets/fonts/Exo-Medium.ttf b/next_gen_ui_demo/assets/fonts/Exo-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0aecfc5fd67f16ff1ec7b7bf3637df085e87a436 GIT binary patch literal 91016 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

$`YBUMOoVPsB^js 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 BtaAVW literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/assets/fonts/OFL.txt b/next_gen_ui_demo/assets/fonts/OFL.txt new file mode 100644 index 000000000..5497537c1 --- /dev/null +++ b/next_gen_ui_demo/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2017 The Exo Project Authors (https://github.com/NDISCOVER/Exo-1.0) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/next_gen_ui_demo/assets/images/bg-base.jpg b/next_gen_ui_demo/assets/images/bg-base.jpg new file mode 100644 index 0000000000000000000000000000000000000000..248eaf33ba3dcf2128fc35ac21a9102a3716a3e0 GIT binary patch literal 34877 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�f! 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 L`_uNB|M&j^S<$DQ literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/assets/images/button-start.png b/next_gen_ui_demo/assets/images/button-start.png new file mode 100644 index 0000000000000000000000000000000000000000..7470032bf5f5c45795cbaf31be6a4d7e951f3984 GIT binary patch literal 4445 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 at6zKXlTXNJ&i(=wxO&=}Z|M@@Ic}!~n literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/assets/images/fg-base.png b/next_gen_ui_demo/assets/images/fg-base.png new file mode 100644 index 0000000000000000000000000000000000000000..40773f2cc92f86e2c76380f1dd04293e298b69ed GIT binary patch literal 38794 zcmeFY`9D?B_c(mJ_qz8O?~z%Cb0Z{kNHScP%A6?~5(-hq%tRfoP?-xUN(q&asbmNx ziZag?HrpgMaw5T1HwJ%(DdMO-Basyu;V*C>2xqQD7Q_!Pc7?S{y#= zZ3sb3cpMIo2R}FhfdKyFu~-HMJOds_V4y!TfOhbV!-9Lz3Anbw0S3eN1(3i++`gdg zi*fs6+P;{#FBX7BAh3b%w$X7!0)d^K9iU;cI4l+m9vK;#0RcO9U|Ct&0L+dZJHRiI zfle1Ak@yc0&;S|%q2MhW8yk2B9>Im%ZvXeo$Or-Y|J?&@A_I;@BK-pc?JO*;V3dE4 zSbAsMLu|MFw>Qwp#>xf;0aUQEvi<}9-@l-%|K0fC78Vv3h)4u~On@;aWT zb_s%C0RiwQM8Bv13h?pm;^gGw;Naxs4OqVtj6ALpKpOr3uMkY2k61W!-=1L%iNyX- zXh0ADE4}}HBP1jwER6hX2Za3>;6=|18hDuTGcz{FFj+aqXQaeN2KsrQJ9|=l$LQAo z_v*!Iv~10b7jJFNuy1S;=C?-PZ;5=HGapoWBm8)EW^4S|z?c26h93^HtxU=A-~BtO z*VXmn&&8#$9sA0*xHq?cerauAU)cKeefh_`iH*gftFK%u1sr?VsFV}CD9S8nyZH*glEw^lK>FK=Lif|mB+SuA! zUEkXJ1mNC`|M`Qq03huK$B3EWlRYp9<_IsWX|g#IhD|9kU)CGdYG@c(xS$Q?TH zxxBc)ylnV+XX(qA6%`e#?qO%zUEH3?y&5Qg_Dmgz>2ChmJ3n%&w@X6F;HiF9_oLY~ zHl}F1qeq)6Q+DK4mJSDx?G6l9GT()%TQ+L0H9+pLGBkK$vz0NUt3z*Ojhrfs-(?>sBq-D=J0^O%%r5>`1=`=mU}QEL}TuRy2P zsbMywJI*7HE@BH43cu!O?2n )J7fqZ@X;Dt{OD{5(du%&Yn5)*Ule7FxCaG}mE6 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 XgnH<$;j5#-00000NkvXXu0mjf$BaF7 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/assets/images/fg-light-emit.png b/next_gen_ui_demo/assets/images/fg-light-emit.png new file mode 100644 index 0000000000000000000000000000000000000000..e41a26b9bf580d047c72f44bd6ed686d9def012e GIT binary patch literal 85787 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

lH1xnuQ>bHj34gM$3M-<8;(Z?YYlo)6%W* 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

SIcc}iz;W1yi` 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 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/assets/images/mg-light-emit.png b/next_gen_ui_demo/assets/images/mg-light-emit.png new file mode 100644 index 0000000000000000000000000000000000000000..a3124bce8a716386c16c0f0f20e3c28fbb7592d9 GIT binary patch literal 45361 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 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/assets/images/select-left.png b/next_gen_ui_demo/assets/images/select-left.png new file mode 100644 index 0000000000000000000000000000000000000000..143863383c1ed2ba9cea3d80c2bfd12e6c0ba441 GIT binary patch literal 1107 zcmeAS@N?(olHy`uVBq!ia0vp^Squz}tQ>4W7WbE;H9(59z$3Dlfk8|agc&`9R6Z~; zu&{c%IEGZrd3)=8?_~!Dw~zUYMJ5QXV0hMq_AEW??A=ovOU;)~ z*{yQ^xY*0UNq6{j?lwL4K6m%bzVOG*Q?}`)v7+wzZRTChzIkIBT2zSIO0d?f)0|T;1@vn={$;)s@is8>Oz4SLUrb z##7sG6y_}V>rnO@x1OEGiEG$;_O_<1IdyL5_4GAe=k{u5ukq5`S)I3rOE31B!L_Nr zk^M&3M15l|Os-8mv+>Yw-%m!zqOQbvf4r@-K55O-Ge6H9xvsK)a?Sigzqfa$1ZBxL zyM549!5$}ALg|cb*5oH;&n%}_I_FNR@%of=%yO%7_zK@i=RM`lo6PS!BM6lD?%A?p zTV#4C^ z!6WpV_1PZZPkNr7m)^$l-~YZ>&oJ!w_vf>AM{8ZVtn!^by8O$}irGf{p4`!WW9`|s z+>YqDSu;5&ea7?ix9a}sDazOBF(?0i&iw0`Uv6#k|3~}0Cw<};x#D-Uebbg1z*2(2 M)78&qol`;+0L+J_I{*Lx literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/assets/images/select-right.png b/next_gen_ui_demo/assets/images/select-right.png new file mode 100644 index 0000000000000000000000000000000000000000..3c6ac628e57ed52b5f074efc9ca60b4186b4faa5 GIT binary patch literal 1106 zcmeAS@N?(olHy`uVBq!ia0vp^Squz}tQ>4W7WbE;H9(59z$3Dlfk8|agc&`9R6Z~; zu&{W#IEGZrd3*P6uCSwo+r#V9;!dm`Y!e(j3Y^&$oMbO>GC69OI5;s+Ibd5ft^3Bt z%^N3gO|O5Z@!UiCw)MB?8vT!Ae3t0k+U7gyXqD;Q+qKvGD*M*&ul;}JpH8`)iRU@1 z?E9wQf4?pN?zN!Kj8%Udr!d!~fC(*4Dk3Ti6*yTvH9VXgg|G=-dKXwT`-#?V<;P~% zCxm;3-IUWcXAdjSFaA@LvHpC|rJvnR-}PqxPua_s&3yHlRPxj(_b23k@c2FD$>#~o ze_u2cw17Bg&|Ov6#rTD<-YcDSU-;^s(#h^0!l9++9-aFaXT22*QVQw4>*&?8YVBT+ z&H&R=0ZqYG)84rP1s1YT6k7Ofop_Mal{sJCyjo_hUOWLP@FHW0%ZioOoSK4Jr~E*| ztCWBOn!9{H8L0 zh09iRc(2H`mh@in(wftIMWvOL_lloZTtL?AUezmqz8(@<)hBmEXw|%TM}=0c<4fWU zjj!I=vTCz+gwxgAx;nrBV#~ICe?8IGs{g+y!)0Uq2@0!|iAjmH*EsF + +#define RAY_STEPS 30 + +uniform vec2 uResolution; +uniform vec4 uPackedData; +float uTime = uPackedData[0]; +float uExposure = uPackedData[1]; +float uFov = uPackedData[2]; +float uRoughness = uPackedData[3]; +uniform float uMetalness; +uniform vec3 uLightDir; +uniform float uLightR; +uniform vec3 uLightLumP; +uniform vec3 uAlbedo; +uniform float uIor; +uniform float uLightQuadAtt; +uniform vec3 uAmbientLight; +uniform float uAmbientLightDepthFactor; +uniform float uEnergy; + +out vec4 oColor; + +float noise_2d(vec2 pos) { + vec2 g = floor(pos); + float a = hash_2d(g); + float b = hash_2d(g + vec2(1.0, 0.0)); + float c = hash_2d(g + vec2(0.0, 1.0)); + float d = hash_2d(g + vec2(1.0, 1.0)); + + vec2 fp = pos - g; + vec2 sfp = smoothstep(vec2(0.0), vec2(1.0), fp); + + return a + (b - a) * sfp.x + (c - a) * sfp.y + + (a - b - c + d) * sfp.x * sfp.y; +} + +vec3 closest_point_on_disc(vec3 center, vec3 normal, float radius, vec3 p) { + vec3 r = p - center; + vec3 pr = r - dot(r, normal) * normal; + return center + normalize(pr) * min(length(pr), radius); +} + +// Compute area light illuminance from: Moving Frostbite to Physically Based +// Rendering 3.0, Siggraph 2014 +float illuminanceSphereOrDisk(float cosTheta, float sinSigmaSqr) { + float cosThetaSqr = cosTheta * cosTheta; + float sinTheta = sqrt(1.0 - cosThetaSqr); + + float illuminance = 0.0; + if (cosThetaSqr > sinSigmaSqr) { + illuminance = M_PI * sinSigmaSqr * clamp(cosTheta, 0.0, 1.0); + } else { + float x = sqrt(1.0 / sinSigmaSqr - 1.0); + float y = -x * (cosTheta / sinTheta); + float sinThetaSqrtY = sinTheta * sqrt(1.0 - y * y); + illuminance = (cosTheta * acos(y) - x * sinThetaSqrtY) * sinSigmaSqr + + atan(sinThetaSqrtY / x); + } + + return max(illuminance, 0.0); +} + +float evalIlluminanceDisk(vec3 N, vec3 L, vec3 lightN, float lightRadius, + float lightDistSqr) { + float cosTheta = dot(N, L); + float lightRSqr = lightRadius * lightRadius; + + float sinSigmaSqr = lightRSqr / (lightRSqr + max(lightRSqr, lightDistSqr)); + + float illuminance = illuminanceSphereOrDisk(cosTheta, sinSigmaSqr) * + clamp(dot(lightN, -L), 0.0, 1.0); + + return illuminance; +} + +float distribution_ggx(vec3 N, vec3 H, float roughness) { + float a = roughness * roughness; + float a2 = a * a; + float NdotH = max(dot(N, H), 0.0); + float NdotH2 = NdotH * NdotH; + + float nom = a2; + float denom = (NdotH2 * (a2 - 1.0) + 1.0); + denom = M_PI * denom * denom; + + return nom / denom; +} + +float geometry_schlick_ggx(float NdotV, float roughness) { + float r = (roughness + 1.0); + float k = (r * r) / 8.0; + + float nom = NdotV; + float denom = NdotV * (1.0 - k) + k; + + return nom / denom; +} + +float geometry_smith(vec3 N, vec3 V, float cosTheta, float roughness) { + float NdotV = max(dot(N, V), 0.0); + + float ggx2 = geometry_schlick_ggx(NdotV, roughness); + float ggx1 = geometry_schlick_ggx(cosTheta, roughness); + + return ggx1 * ggx2; +} + +vec3 fresnel_schlick(float cosTheta, vec3 F0) { + return F0 + (1.0 - F0) * pow(1.0 - cosTheta, 5.0); +} + +vec3 brdf_eval(vec3 N, vec3 L, vec3 H, vec3 V, vec3 albedo, float roughness, + float metalness, vec3 Li) { + roughness = max(0.2, roughness); + + float cosTheta = max(dot(N, L), 0.0); + + // Diffuse color + vec3 F0 = vec3(0.04); + F0 = mix(F0, albedo, metalness); + + float NDF = distribution_ggx(N, H, roughness); + float G = geometry_smith(N, V, cosTheta, roughness); + vec3 F = fresnel_schlick(max(dot(H, V), 0.0), F0); + + vec3 num = NDF * G * F; + float denom = 4.0 * max(dot(N, V), 0.0) * cosTheta; + vec3 spec = num / max(denom, 0.001); + + vec3 kS = F; + vec3 kD = 1.0 - kS; + kD *= (1.0 - metalness); + + vec3 Lo = (kD * albedo / M_PI + spec) * Li * cosTheta; + + return Lo; +} + +vec3 btdf_eval(vec3 N, vec3 L, vec3 albedo, vec3 Li) { + vec3 Lo = albedo * Li * max(dot(N, L), 0.0); + return Lo; +} + +vec2 oct_encode(vec3 d) { + vec3 octant = sign(d); + + // Compute l1-norm version of the direction vector + float sum = dot(d, octant); + vec3 octahedron = d / sum; + + if (octahedron.z < 0.0) { + vec3 a = abs(octahedron); + octahedron.xy = octant.xy * (vec2(1.0) - a.yx); + } + + return octahedron.xy * 0.5 + 0.5; +} + +const mat2 octM0 = mat2(1.0, 0.0, 0.0, 1.0); +const mat2 octM1 = mat2(0.809017, 0.587785, -0.587785, 0.809017); +const mat2 octM2 = mat2(0.309017, 0.951057, -0.951057, 0.309017); +const mat2 octM3 = mat2(-0.309017, 0.951057, -0.951057, -0.309017); + +float fbm(vec2 pos) { + float sum = 0.0; + + sum += noise_2d(octM0 * pos); + sum += 0.5 * noise_2d(2.0 * octM1 * pos); + sum += 0.25 * noise_2d(4.0 * octM2 * pos); + sum += 0.125 * noise_2d(8.0 * octM3 * pos); + + return sum; +} + +vec2 fbm_sphere_sdf(vec3 center, float radius, vec3 pos) { + vec3 toP = pos - center; + radius = radius * mix(0.5, 1.0, uEnergy); + float d = length(toP); + vec2 uv = oct_encode(toP); + + float amp = mix(0.1, 0.6, uEnergy); + float dd = fbm(uv * 15.0 + uTime * vec2(1.0, -0.4)) * amp; + + return vec2(d + dd - radius, + mix(0.4, 1.0, float(d - (radius + 1.0 * amp) > 0.0))); +} + +vec2 sample_scene(vec3 pos) { + return fbm_sphere_sdf(vec3(0.0, 0.0, -10.0), 2.0, pos); +} + +const float sampleScale = 1.0 / sqrt(3.0) * 0.0005; + +vec3 sample_normal(vec3 pos) { + +#define NORMAL_SDF_SAMPLE_COUNT 4 + vec3 normalSampleOffsets[NORMAL_SDF_SAMPLE_COUNT]; + normalSampleOffsets[0] = vec3(1.0, -1.0, -1.0); + normalSampleOffsets[1] = vec3(-1.0, -1.0, 1.0); + normalSampleOffsets[2] = vec3(-1.0, 1.0, -1.0); + normalSampleOffsets[3] = vec3(1.0, 1.0, 1.0); + + vec3 result = vec3(0.0); + for (int i = 0; i < NORMAL_SDF_SAMPLE_COUNT; ++i) { + result += normalSampleOffsets[i] * sampleScale * + sample_scene(pos + normalSampleOffsets[i]).x; + } + + return normalize(result); +} + +float raymarch(vec3 start, vec3 dir) { + float tMin = 8.0; + float tMax = 15.0; + + float t = tMin; + + float result = -1.0; + + for (int i = 0; i < RAY_STEPS; ++i) { + if (t >= tMax) + break; + vec2 d = sample_scene(start + dir * t); + if (d.x < 0.0002) { + result = t; + break; + } + t += d.x * d.y; + } + + return result; +} + +void look_at(out mat3 cam, in vec3 eye, in vec3 center, in vec3 up) { + // Construct an ortho-normal basis for the camera + vec3 forward = normalize(center - eye); + vec3 right = cross(forward, up); + up = cross(right, forward); + + cam = mat3(right, up, forward); +} + +void sample_camera_ray(out vec3 origin, out vec3 direction, in mat3 cam, + vec3 eye, vec2 uv) { + + uv *= 2.0; + uv -= 1.0; + uv.y *= -1.0; + + float aspectRatio = uResolution.y / uResolution.x; + float vWidth = tan(uFov / 2.0); + float vHeight = vWidth * aspectRatio; + + vec3 forward = cam * vec3(0.0, 0.0, 1.0); + vec3 rayDir = cam * vec3(uv.x * vWidth, uv.y * vHeight, 1.0); + + origin = eye; + direction = normalize(rayDir); +} + +vec3 sample_disk_light(out vec3 L, vec3 P, vec3 N, vec3 lightP, vec3 lightN, + float lightR, vec3 lightAtt, vec3 lightLumP) { + vec3 toL = closest_point_on_disc(lightP, lightN, lightR, P) - P; + L = normalize(toL); + toL *= lightAtt.x; + float illuminance = evalIlluminanceDisk(N, L, lightN, lightR, dot(toL, toL)); + vec3 Li = lightLumP * illuminance; + return Li; +} + +vec4 pixel_color(vec3 o, vec3 d, vec3 lightP, vec3 lightN, float lightR, + vec3 lightAtt, vec3 lightLumP) { + float t = raymarch(o, d); + + vec4 result = vec4(0.0); + + if (t >= 0.0) { + vec3 P = o + d * t; + vec3 N = sample_normal(P); + vec3 V = -d; + vec3 R = refract(-V, N, uIor); + + float z = dot(vec3(0.0, 0.0, -1.0), P); + float zd = smoothstep(mix(0.0, 11.0, uAmbientLightDepthFactor), 14.0, z); + vec3 Lo = vec3(0.0); + vec3 L, Li; + + vec3 S = fresnel_schlick(max(dot(N, V), 0.0), vec3(0.02)); + + Li = + sample_disk_light(L, P, R, lightP, lightN, lightR, lightAtt, lightLumP); + Lo += (1.0 - S) * brdf_eval(-N, L, normalize(L + R), R, uAlbedo, uRoughness, + uMetalness, Li); + + Lo += zd * uAlbedo * uAmbientLight; + + result = vec4(Lo, 1.0); + } + + return result; +} + +void main() { + vec2 uv = vec2(FlutterFragCoord().xy) / uResolution; + + vec3 lightN = normalize(-uLightDir); + vec3 lightP = vec3(0.0, 0.0, -10.0) + uLightDir; + vec3 lightAtt = vec3(uLightQuadAtt, 0.0, 1.0); + + vec3 eye = vec3(0.0, 0.0, 1.0); + vec3 center = vec3(0.0, 0.0, 0.0); + vec3 up = vec3(0.0, 1.0, 0.0); + + mat3 cam; + look_at(cam, eye, center, up); + vec3 o, d; + + sample_camera_ray(o, d, cam, eye, uv); + vec4 hdrColor = + abs(pixel_color(o, d, lightP, lightN, uLightR, lightAtt, uLightLumP)); + + vec3 ldrColor = vec3(1.0) - exp(min(-(hdrColor.rgb) * uExposure, 0.0)); + oColor = vec4(ldrColor, hdrColor.a); +} diff --git a/next_gen_ui_demo/assets/shaders/ui_glitch.frag b/next_gen_ui_demo/assets/shaders/ui_glitch.frag new file mode 100644 index 000000000..55294e8a5 --- /dev/null +++ b/next_gen_ui_demo/assets/shaders/ui_glitch.frag @@ -0,0 +1,68 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#version 460 core + +#include "common/common.glsl" +#include + +uniform vec2 uResolution; +uniform float uTime; +uniform sampler2D uTex; + +out vec4 oColor; + +float cubicPulse(float c, float w, float x) { + x = abs(x - c); + if (x > w) + return 0.0; + x /= w; + return 1.0 - x*x*(3.0 - 2.0*x); +} + +float twoSin(float x) { + x = 6.49*x - 0.65; + float t = -0.7*sin(6.8*x) + 1.4*sin(2.9*x); + t = t/4.1 + 0.5; + return t; +} + + +void main() { + + vec2 uv = vec2(FlutterFragCoord().xy) / uResolution; + + float t_2 = cubicPulse(.5, .05, fract(uTime / 4.0)); + float t_1 = twoSin(fract(uTime / 5.0)); + float glitchScale = mix(0.0, 8.0, t_1 + t_2); + float aberrationSize = mix(0.0, 5.0, t_1 + t_2); + + float h = hash_1d(uv.y); + float hs = sign(h); + h = max(h, 0.0); + h = h * h; + h = round(h) * hs; + + uv += vec2(h * glitchScale, 0.0) / uResolution; + + vec2 redOffset = vec2(aberrationSize, 0.0) / uResolution; + vec2 greenOffset = vec2(0.0, 0.0) / uResolution; + vec2 blueOffset = vec2(-aberrationSize, 0.0) / uResolution; + + vec2 redUv = uv + redOffset; + vec2 greenUv = uv + greenOffset; + vec2 blueUv = uv + blueOffset; + + vec2 ra = texture(uTex, redUv).ra; + vec2 ga = texture(uTex, greenUv).ga; + vec2 ba = texture(uTex, blueUv).ba; + + // Convert from pre-multiplied alpha + ra.x /= ra.y; + ga.x /= ga.y; + ba.x /= ba.y; + + float alpha = max(ra.y, max(ga.y, ba.y)); + oColor = vec4(ra.x, ga.x, ba.x, 1.0) * alpha; +} diff --git a/next_gen_ui_demo/ios/.gitignore b/next_gen_ui_demo/ios/.gitignore new file mode 100644 index 000000000..7a7f9873a --- /dev/null +++ b/next_gen_ui_demo/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/next_gen_ui_demo/ios/Flutter/AppFrameworkInfo.plist b/next_gen_ui_demo/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 000000000..9625e105d --- /dev/null +++ b/next_gen_ui_demo/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 11.0 + + diff --git a/next_gen_ui_demo/ios/Flutter/Debug.xcconfig b/next_gen_ui_demo/ios/Flutter/Debug.xcconfig new file mode 100644 index 000000000..ec97fc6f3 --- /dev/null +++ b/next_gen_ui_demo/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/next_gen_ui_demo/ios/Flutter/Release.xcconfig b/next_gen_ui_demo/ios/Flutter/Release.xcconfig new file mode 100644 index 000000000..c4855bfe2 --- /dev/null +++ b/next_gen_ui_demo/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/next_gen_ui_demo/ios/Podfile b/next_gen_ui_demo/ios/Podfile new file mode 100644 index 000000000..fdcc671eb --- /dev/null +++ b/next_gen_ui_demo/ios/Podfile @@ -0,0 +1,44 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '11.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/next_gen_ui_demo/ios/Runner.xcodeproj/project.pbxproj b/next_gen_ui_demo/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 000000000..2db4bda70 --- /dev/null +++ b/next_gen_ui_demo/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,613 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807E294A63A400263BE5 /* Frameworks */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.nextGenUiDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AE0B7B92F70575B8D7E0D07E /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.nextGenUiDemo.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 89B67EB44CE7B6631473024E /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.nextGenUiDemo.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 640959BDD8F10B91D80A66BE /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.nextGenUiDemo.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.nextGenUiDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.nextGenUiDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..f9b0d7c5e --- /dev/null +++ b/next_gen_ui_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/next_gen_ui_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next_gen_ui_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 000000000..e42adcb34 --- /dev/null +++ b/next_gen_ui_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/next_gen_ui_demo/ios/Runner.xcworkspace/contents.xcworkspacedata b/next_gen_ui_demo/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..1d526a16e --- /dev/null +++ b/next_gen_ui_demo/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/next_gen_ui_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/next_gen_ui_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/next_gen_ui_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/next_gen_ui_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/next_gen_ui_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..f9b0d7c5e --- /dev/null +++ b/next_gen_ui_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/next_gen_ui_demo/ios/Runner/AppDelegate.swift b/next_gen_ui_demo/ios/Runner/AppDelegate.swift new file mode 100644 index 000000000..70693e4a8 --- /dev/null +++ b/next_gen_ui_demo/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..d36b1fab2 --- /dev/null +++ b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 000000000..0bedcf2fd --- /dev/null +++ b/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 000000000..89c2725b7 --- /dev/null +++ b/next_gen_ui_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/next_gen_ui_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard b/next_gen_ui_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 000000000..f2e259c7c --- /dev/null +++ b/next_gen_ui_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/next_gen_ui_demo/ios/Runner/Base.lproj/Main.storyboard b/next_gen_ui_demo/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 000000000..f3c28516f --- /dev/null +++ b/next_gen_ui_demo/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/next_gen_ui_demo/ios/Runner/Info.plist b/next_gen_ui_demo/ios/Runner/Info.plist new file mode 100644 index 000000000..287ca112e --- /dev/null +++ b/next_gen_ui_demo/ios/Runner/Info.plist @@ -0,0 +1,53 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Next Gen UI Demo + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + next_gen_ui_demo + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + FLTEnableImpeller + + + diff --git a/next_gen_ui_demo/ios/Runner/Runner-Bridging-Header.h b/next_gen_ui_demo/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 000000000..308a2a560 --- /dev/null +++ b/next_gen_ui_demo/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/next_gen_ui_demo/ios/RunnerTests/RunnerTests.swift b/next_gen_ui_demo/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 000000000..86a7c3b1b --- /dev/null +++ b/next_gen_ui_demo/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/next_gen_ui_demo/lib/assets.dart b/next_gen_ui_demo/lib/assets.dart new file mode 100644 index 000000000..6f1e29b0b --- /dev/null +++ b/next_gen_ui_demo/lib/assets.dart @@ -0,0 +1,41 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:ui'; + +class AssetPaths { + /// Images + static const String _images = 'assets/images'; + + static const String titleBgBase = '$_images/bg-base.jpg'; + static const String titleBgReceive = '$_images/bg-light-receive.png'; + static const String titleFgEmit = '$_images/fg-light-emit.png'; + static const String titleFgReceive = '$_images/fg-light-receive.png'; + static const String titleFgBase = '$_images/fg-base.png'; + static const String titleMgEmit = '$_images/mg-light-emit.png'; + static const String titleMgReceive = '$_images/mg-light-receive.png'; + static const String titleMgBase = '$_images/mg-base.png'; + static const String titleStartBtn = '$_images/button-start.png'; + static const String titleStartBtnHover = '$_images/button-start-hover.png'; + static const String titleStartArrow = '$_images/button-start-arrow.png'; + static const String titleSelectedLeft = '$_images/select-left.png'; + static const String titleSelectedRight = '$_images/select-right.png'; + static const String pulseParticle = '$_images/particle3.png'; + + /// Shaders + static const String _shaders = 'assets/shaders'; + static const String orbShader = '$_shaders/orb_shader.frag'; + static const String uiShader = '$_shaders/ui_glitch.frag'; +} + +typedef Shaders = ({FragmentShader orb, FragmentShader ui}); + +Future loadShaders() async => ( + orb: (await _loadShader(AssetPaths.orbShader)), + ui: (await _loadShader(AssetPaths.uiShader)), + ); + +Future _loadShader(String path) async { + return (await FragmentProgram.fromAsset(path)).fragmentShader(); +} diff --git a/next_gen_ui_demo/lib/common/reactive_widget.dart b/next_gen_ui_demo/lib/common/reactive_widget.dart new file mode 100644 index 000000000..69ad8a158 --- /dev/null +++ b/next_gen_ui_demo/lib/common/reactive_widget.dart @@ -0,0 +1,37 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import 'ticking_builder.dart'; + +typedef ReactiveWidgetBuilder = Widget Function( + BuildContext context, double time, Size bounds); + +/// ReactiveWidget forces repainting a subtree on +/// each frame for ambient animation. +class ReactiveWidget extends StatefulWidget { + const ReactiveWidget({ + super.key, + required this.builder, + }); + final ReactiveWidgetBuilder builder; + @override + State createState() => _ReactiveWidgetState(); +} + +class _ReactiveWidgetState extends State { + @override + Widget build(BuildContext context) { + return TickingBuilder( + builder: (_, time) { + return LayoutBuilder( + builder: (context, constraints) { + return widget.builder(context, time, constraints.biggest); + }, + ); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/common/shader_effect.dart b/next_gen_ui_demo/lib/common/shader_effect.dart new file mode 100644 index 000000000..69bd75f7d --- /dev/null +++ b/next_gen_ui_demo/lib/common/shader_effect.dart @@ -0,0 +1,359 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:ui' as ui; + +import 'package:flutter/rendering.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_animate/flutter_animate.dart'; + +/** + * This is an unfinished, pre-release effect for Flutter Animate: + * https://pub.dev/packages/flutter_animate + * + * It includes a copy of `AnimatedSampler` from Flutter Shaders: + * https://github.com/jonahwilliams/flutter_shaders + * + * Once `AnimatedSampler` (or equivalent) is stable, or included in the core + * SDK, this effect will be updated, tested, refined, and added to the + * effects.dart file. + */ + +// TODO: document. + +/// An effect that lets you apply an animated fragment shader to a target. +@immutable +class ShaderEffect extends Effect { + const ShaderEffect({ + super.delay, + super.duration, + super.curve, + this.shader, + this.update, + ShaderLayer? layer, + }) : layer = layer ?? ShaderLayer.replace, + super( + begin: 0, + end: 1, + ); + + final ui.FragmentShader? shader; + final ShaderUpdateCallback? update; + final ShaderLayer layer; + + @override + Widget build( + BuildContext context, + Widget child, + AnimationController controller, + EffectEntry entry, + ) { + double ratio = 1 / MediaQuery.of(context).devicePixelRatio; + Animation animation = buildAnimation(controller, entry); + return getOptimizedBuilder( + animation: animation, + builder: (_, __) { + return AnimatedSampler( + (image, size, canvas) { + EdgeInsets? insets; + if (update != null) { + insets = update!(shader!, animation.value, size, image); + } + Rect rect = Rect.fromLTWH(0, 0, size.width, size.height); + rect = insets?.inflateRect(rect) ?? rect; + + void drawImage() { + canvas.save(); + canvas.scale(ratio, ratio); + canvas.drawImage(image, Offset.zero, Paint()); + canvas.restore(); + } + + if (layer == ShaderLayer.foreground) drawImage(); + if (shader != null) canvas.drawRect(rect, Paint()..shader = shader); + if (layer == ShaderLayer.background) drawImage(); + }, + enabled: shader != null, + child: child, + ); + }, + ); + } +} + +extension ShaderEffectExtensions on AnimateManager { + /// Adds a [shader] extension to [AnimateManager] ([Animate] and [AnimateList]). + T shader({ + Duration? delay, + Duration? duration, + Curve? curve, + ui.FragmentShader? shader, + ShaderUpdateCallback? update, + ShaderLayer? layer, + }) => + addEffect(ShaderEffect( + delay: delay, + duration: duration, + curve: curve, + shader: shader, + update: update, + layer: layer, + )); +} + +enum ShaderLayer { foreground, background, replace } + +/// Function signature for [ShaderEffect] update handlers. +typedef ShaderUpdateCallback = EdgeInsets? Function( + ui.FragmentShader shader, double value, Size size, ui.Image image); + +/******************************************************************************/ +// TODO: add this as a dependency instead of copying it in once it is stable: +// https://github.com/jonahwilliams/flutter_shaders + +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +/// A callback for the [AnimatedSamplerBuilder] widget. +typedef AnimatedSamplerBuilder = void Function( + ui.Image image, + Size size, + ui.Canvas canvas, +); + +/// A widget that allows access to a snapshot of the child widgets for painting +/// with a sampler applied to a [FragmentProgram]. +/// +/// When [enabled] is true, the child widgets will be painted into a texture +/// exposed as a [ui.Image]. This can then be passed to a [FragmentShader] +/// instance via [FragmentShader.setSampler]. +/// +/// If [enabled] is false, then the child widgets are painted as normal. +/// +/// Caveats: +/// * Platform views cannot be captured in a texture. If any are present they +/// will be excluded from the texture. Texture-based platform views are OK. +/// +/// Example: +/// +/// Providing an image to a fragment shader using +/// [FragmentShader.setImageSampler]. +/// +/// ```dart +/// Widget build(BuildContext context) { +/// return AnimatedSampler( +/// (ui.Image image, Size size, Canvas canvas) { +/// shader +/// ..setFloat(0, size.width) +/// ..setFloat(1, size.height) +/// ..setImageSampler(0, image); +/// canvas.drawRect(Offset.zero & size, Paint()..shader = shader); +/// }, +/// child: widget.child, +/// ); +/// } +/// ``` +/// +/// See also: +/// * [SnapshotWidget], which provides a similar API for the purpose of +/// caching during expensive animations. +class AnimatedSampler extends StatelessWidget { + /// Create a new [AnimatedSampler]. + const AnimatedSampler( + this.builder, { + required this.child, + super.key, + this.enabled = true, + }); + + /// A callback used by this widget to provide the children captured in + /// a texture. + final AnimatedSamplerBuilder builder; + + /// Whether the children should be captured in a texture or displayed as + /// normal. + final bool enabled; + + /// The child widget. + final Widget child; + + @override + Widget build(BuildContext context) { + return _ShaderSamplerBuilder( + builder, + enabled: enabled, + child: child, + ); + } +} + +class _ShaderSamplerBuilder extends SingleChildRenderObjectWidget { + const _ShaderSamplerBuilder( + this.builder, { + super.child, + required this.enabled, + }); + + final AnimatedSamplerBuilder builder; + final bool enabled; + + @override + RenderObject createRenderObject(BuildContext context) { + return _RenderShaderSamplerBuilderWidget( + devicePixelRatio: MediaQuery.of(context).devicePixelRatio, + builder: builder, + enabled: enabled, + ); + } + + @override + void updateRenderObject( + BuildContext context, covariant RenderObject renderObject) { + (renderObject as _RenderShaderSamplerBuilderWidget) + ..devicePixelRatio = MediaQuery.of(context).devicePixelRatio + ..builder = builder + ..enabled = enabled; + } +} + +// A render object that conditionally converts its child into a [ui.Image] +// and then paints it in place of the child. +class _RenderShaderSamplerBuilderWidget extends RenderProxyBox { + // Create a new [_RenderSnapshotWidget]. + _RenderShaderSamplerBuilderWidget({ + required double devicePixelRatio, + required AnimatedSamplerBuilder builder, + required bool enabled, + }) : _devicePixelRatio = devicePixelRatio, + _builder = builder, + _enabled = enabled; + + @override + OffsetLayer updateCompositedLayer( + {required covariant _ShaderSamplerBuilderLayer? oldLayer}) { + final _ShaderSamplerBuilderLayer layer = + oldLayer ?? _ShaderSamplerBuilderLayer(builder); + layer + ..callback = builder + ..size = size + ..devicePixelRatio = devicePixelRatio; + return layer; + } + + /// The device pixel ratio used to create the child image. + double get devicePixelRatio => _devicePixelRatio; + double _devicePixelRatio; + set devicePixelRatio(double value) { + if (value == devicePixelRatio) { + return; + } + _devicePixelRatio = value; + markNeedsCompositedLayerUpdate(); + } + + /// The painter used to paint the child snapshot or child widgets. + AnimatedSamplerBuilder get builder => _builder; + AnimatedSamplerBuilder _builder; + set builder(AnimatedSamplerBuilder value) { + if (value == builder) { + return; + } + _builder = value; + markNeedsCompositedLayerUpdate(); + } + + bool get enabled => _enabled; + bool _enabled; + set enabled(bool value) { + if (value == enabled) { + return; + } + _enabled = value; + markNeedsPaint(); + markNeedsCompositingBitsUpdate(); + } + + @override + bool get isRepaintBoundary => alwaysNeedsCompositing; + + @override + bool get alwaysNeedsCompositing => enabled; + + @override + void paint(PaintingContext context, Offset offset) { + if (size.isEmpty || !_enabled) { + return; + } + assert(offset == Offset.zero); + return super.paint(context, offset); + } +} + +/// A [Layer] that uses an [AnimatedSamplerBuilder] to create a [ui.Picture] +/// every time it is added to a scene. +class _ShaderSamplerBuilderLayer extends OffsetLayer { + _ShaderSamplerBuilderLayer(this._callback); + + Size get size => _size; + Size _size = Size.zero; + set size(Size value) { + if (value == size) { + return; + } + _size = value; + markNeedsAddToScene(); + } + + double get devicePixelRatio => _devicePixelRatio; + double _devicePixelRatio = 1.0; + set devicePixelRatio(double value) { + if (value == devicePixelRatio) { + return; + } + _devicePixelRatio = value; + markNeedsAddToScene(); + } + + AnimatedSamplerBuilder get callback => _callback; + AnimatedSamplerBuilder _callback; + set callback(AnimatedSamplerBuilder value) { + if (value == callback) { + return; + } + _callback = value; + markNeedsAddToScene(); + } + + ui.Image _buildChildScene(Rect bounds, double pixelRatio) { + final ui.SceneBuilder builder = ui.SceneBuilder(); + final Matrix4 transform = + Matrix4.diagonal3Values(pixelRatio, pixelRatio, 1); + builder.pushTransform(transform.storage); + addChildrenToScene(builder); + builder.pop(); + return builder.build().toImageSync( + (pixelRatio * bounds.width).ceil(), + (pixelRatio * bounds.height).ceil(), + ); + } + + @override + void addToScene(ui.SceneBuilder builder) { + if (size.isEmpty) return; + final ui.Image image = _buildChildScene( + offset & size, + devicePixelRatio, + ); + final ui.PictureRecorder pictureRecorder = ui.PictureRecorder(); + final Canvas canvas = Canvas(pictureRecorder); + try { + callback(image, size, canvas); + } finally { + image.dispose(); + } + final ui.Picture picture = pictureRecorder.endRecording(); + builder.addPicture(offset, picture); + } +} diff --git a/next_gen_ui_demo/lib/common/shader_painter.dart b/next_gen_ui_demo/lib/common/shader_painter.dart new file mode 100644 index 000000000..d6a4a5925 --- /dev/null +++ b/next_gen_ui_demo/lib/common/shader_painter.dart @@ -0,0 +1,28 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:ui'; + +import 'package:flutter/material.dart'; + +class ShaderPainter extends CustomPainter { + ShaderPainter(this.shader, {this.update}); + + final FragmentShader shader; + final void Function(FragmentShader, Size)? update; + + @override + void paint(Canvas canvas, Size size) { + update?.call(shader, size); + canvas.drawRect( + Rect.fromLTWH(0, 0, size.width, size.height), + Paint()..shader = shader, + ); + } + + @override + bool shouldRepaint(covariant ShaderPainter oldDelegate) { + return oldDelegate.shader != shader || oldDelegate.update != update; + } +} diff --git a/next_gen_ui_demo/lib/common/ticking_builder.dart b/next_gen_ui_demo/lib/common/ticking_builder.dart new file mode 100644 index 000000000..a311b9227 --- /dev/null +++ b/next_gen_ui_demo/lib/common/ticking_builder.dart @@ -0,0 +1,40 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; + +/// TickingBuilder is for ambient animation to be run +/// on each frame. +class TickingBuilder extends StatefulWidget { + const TickingBuilder({super.key, required this.builder}); + final Widget Function(BuildContext context, double time) builder; + @override + State createState() => _TickingBuilderState(); +} + +class _TickingBuilderState extends State + with SingleTickerProviderStateMixin { + late final Ticker _ticker; + double _time = 0.0; + + @override + void initState() { + super.initState(); + _ticker = createTicker(_handleTick)..start(); + } + + @override + void dispose() { + _ticker.dispose(); + super.dispose(); + } + + void _handleTick(Duration elapsed) { + setState(() => _time = elapsed.inMilliseconds.toDouble() / 1000.0); + } + + @override + Widget build(BuildContext context) => widget.builder.call(context, _time); +} diff --git a/next_gen_ui_demo/lib/common/ui_scaler.dart b/next_gen_ui_demo/lib/common/ui_scaler.dart new file mode 100644 index 000000000..07c328765 --- /dev/null +++ b/next_gen_ui_demo/lib/common/ui_scaler.dart @@ -0,0 +1,31 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:math'; + +import 'package:flutter/material.dart'; + +class UiScaler extends StatelessWidget { + const UiScaler({ + super.key, + required this.child, + required this.alignment, + this.referenceHeight = 1080, + }); + + final int referenceHeight; + final Widget child; + final Alignment alignment; + + @override + Widget build(BuildContext context) { + final screenSize = MediaQuery.of(context).size; + final double scale = min(screenSize.height / referenceHeight, 1.0); + return Transform.scale( + scale: scale, + alignment: alignment, + child: child, + ); + } +} diff --git a/next_gen_ui_demo/lib/main.dart b/next_gen_ui_demo/lib/main.dart new file mode 100644 index 000000000..f34576ee1 --- /dev/null +++ b/next_gen_ui_demo/lib/main.dart @@ -0,0 +1,145 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:io'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:gap/gap.dart'; +import 'package:provider/provider.dart'; +import 'package:window_size/window_size.dart'; + +import 'assets.dart'; +import 'title_screen/title_screen.dart'; +import 'title_screen_1a/title_screen.dart' as title_screen_1a; +import 'title_screen_1b/title_screen.dart' as title_screen_1b; +import 'title_screen_2a/title_screen.dart' as title_screen_2a; +import 'title_screen_2c/title_screen.dart' as title_screen_2c; +import 'title_screen_3a/title_screen.dart' as title_screen_3a; +import 'title_screen_3b/title_screen.dart' as title_screen_3b; +import 'title_screen_3c/title_screen.dart' as title_screen_3c; +import 'title_screen_4a/title_screen.dart' as title_screen_4a; +import 'title_screen_4b/title_screen.dart' as title_screen_4b; +import 'title_screen_4c/title_screen.dart' as title_screen_4c; +import 'title_screen_4d/title_screen.dart' as title_screen_4d; +import 'title_screen_4e/title_screen.dart' as title_screen_4e; +import 'title_screen_5a/title_screen.dart' as title_screen_5a; +import 'title_screen_5b/title_screen.dart' as title_screen_5b; +import 'title_screen_6/title_screen.dart' as title_screen_6; + +void main() { + if (!kIsWeb && (Platform.isWindows || Platform.isLinux || Platform.isMacOS)) { + WidgetsFlutterBinding.ensureInitialized(); + setWindowMinSize(const Size(800, 500)); + } + Animate.restartOnHotReload = true; + runApp( + FutureProvider( + create: (context) => loadShaders(), + initialData: null, + child: const NextGenApp(), + ), + ); +} + +class NextGenApp extends StatefulWidget { + const NextGenApp({super.key}); + + @override + State createState() => _NextGenAppState(); +} + +List< + TitleScreenBase Function( + {required void Function(Color) callback, Key? key})> steps = [ + title_screen_1a.TitleScreen.new, + title_screen_1b.TitleScreen.new, + title_screen_2a.TitleScreen.new, + title_screen_2c.TitleScreen.new, + title_screen_3a.TitleScreen.new, + title_screen_3b.TitleScreen.new, + title_screen_3c.TitleScreen.new, + title_screen_4a.TitleScreen.new, + title_screen_4b.TitleScreen.new, + title_screen_4c.TitleScreen.new, + title_screen_4d.TitleScreen.new, + title_screen_4e.TitleScreen.new, + title_screen_5a.TitleScreen.new, + title_screen_5b.TitleScreen.new, + title_screen_6.TitleScreen.new, +]; + +typedef ColorCallback = void Function(Color colorSchemeSeed); + +class _NextGenAppState extends State { + int step = 0; + Color? colorSchemeSeed; + + @override + Widget build(BuildContext context) { + return MaterialApp( + themeMode: ThemeMode.dark, + darkTheme: ThemeData( + brightness: Brightness.dark, + useMaterial3: true, + colorSchemeSeed: colorSchemeSeed, + ), + home: Scaffold( + appBar: AppBar( + title: Text( + 'Step ${step + 1} of ${steps.length}', + style: Theme.of(context) + .textTheme + .titleMedium! + .copyWith(color: colorSchemeSeed), + ), + backgroundColor: Colors.black38, + ), + floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat, + floatingActionButton: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Visibility( + visible: step > 0, + child: FloatingActionButton( + child: const Icon(Icons.arrow_back), + onPressed: () { + setState(() { + if (step > 0) step--; + debugPrint('Step = $step'); + }); + }, + ), + ), + Visibility( + visible: step > 0 && step + 1 < steps.length, + child: const Gap(24), + ), + Visibility( + visible: step + 1 < steps.length, + child: FloatingActionButton( + child: const Icon(Icons.arrow_forward), + onPressed: () { + setState(() { + if (step + 1 < steps.length) step++; + debugPrint('Step = $step'); + }); + }, + ), + ), + ], + ), + backgroundColor: Colors.black, + body: steps[step]( + callback: (color) { + setState(() { + colorSchemeSeed = color; + }); + }, + ), + ), + ); + } +} diff --git a/next_gen_ui_demo/lib/orb_shader/orb_shader_config.dart b/next_gen_ui_demo/lib/orb_shader/orb_shader_config.dart new file mode 100644 index 000000000..ef975cccf --- /dev/null +++ b/next_gen_ui_demo/lib/orb_shader/orb_shader_config.dart @@ -0,0 +1,131 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +class OrbShaderConfig { + const OrbShaderConfig({ + this.zoom = 0.3, + this.exposure = 0.4, + this.roughness = 0.3, + this.metalness = 0.3, + this.materialColor = const Color.fromARGB(255, 242, 163, 138), + this.lightRadius = 0.75, + this.lightColor = const Color(0xFFFFFFFF), + this.lightBrightness = 15.00, + this.ior = 0.5, + this.lightAttenuation = 0.5, + this.ambientLightColor = const Color(0xFFFFFFFF), + this.ambientLightBrightness = 0.2, + this.ambientLightDepthFactor = 0.3, + this.lightOffsetX = 0, + this.lightOffsetY = 0.1, + this.lightOffsetZ = -0.66, + }) : assert(zoom >= 0 && zoom <= 1), + assert(exposure >= 0), + assert(metalness >= 0 && metalness <= 1), + assert(lightRadius >= 0), + assert(lightBrightness >= 1), + assert(ior >= 0 && ior <= 2), + assert(lightAttenuation >= 0 && lightAttenuation <= 1), + assert(ambientLightBrightness >= 0); + + final double zoom; + + /// Camera exposure value, higher is brighter, 0 is black + final double exposure; + + /// How rough the surface is, somewhat translates to the intensity/radius + /// of specular highlights + final double roughness; + + /// 0 for a dielectric material (plastic, wood, grass, water, etc...), + /// 1 for a metal (iron, copper, aluminum, gold, etc...), a value in between + /// blends the two materials (not really physically accurate, has minor + /// artistic value) + final double metalness; + + /// any color, alpha ignored, for metal materials doesn't correspond to + /// surface color but to a reflectivity index based off of a 0 degree viewing + /// angle (can look these values up online for various actual metals) + final Color materialColor; + + /// The following light properties model a disk shaped light pointing + /// at the sphere + final double lightRadius; + + /// alpha ignored + final Color lightColor; + + /// Light Brightness measured in luminous power (perceived total + /// brightness of light, the larger the radius the more diffused the light + /// power is for a given area) + final double lightBrightness; + + /// 0..2, Index of refraction, higher value = more refraction, + final double ior; + + /// Light attenuation factor, 0 for no attenuation, 1 is very fast attenuation + final double lightAttenuation; + + /// alpha ignored + final Color ambientLightColor; + + final double ambientLightBrightness; + + /// Modulates the ambient light brightness based off of the depth of the + /// pixel. 1 means the ambient brightness factor at the front of the orb is 0, + /// brightness factor at the back is 1. 0 means there's no change to the + /// brightness factor based on depth + final double ambientLightDepthFactor; + + /// Offset of the light relative to the center of the orb, +x is to the right + final double lightOffsetX; + + /// Offset of the light relative to the center of the orb, +y is up + final double lightOffsetY; + + /// Offset of the light relative to the center of the orb, +z is facing the camera + final double lightOffsetZ; + + OrbShaderConfig copyWith({ + double? zoom, + double? exposure, + double? roughness, + double? metalness, + Color? materialColor, + double? lightRadius, + Color? lightColor, + double? lightBrightness, + double? ior, + double? lightAttenuation, + Color? ambientLightColor, + double? ambientLightBrightness, + double? ambientLightDepthFactor, + double? lightOffsetX, + double? lightOffsetY, + double? lightOffsetZ, + }) { + return OrbShaderConfig( + zoom: zoom ?? this.zoom, + exposure: exposure ?? this.exposure, + roughness: roughness ?? this.roughness, + metalness: metalness ?? this.metalness, + materialColor: materialColor ?? this.materialColor, + lightRadius: lightRadius ?? this.lightRadius, + lightColor: lightColor ?? this.lightColor, + lightBrightness: lightBrightness ?? this.lightBrightness, + ior: ior ?? this.ior, + lightAttenuation: lightAttenuation ?? this.lightAttenuation, + ambientLightColor: ambientLightColor ?? this.ambientLightColor, + ambientLightBrightness: + ambientLightBrightness ?? this.ambientLightBrightness, + ambientLightDepthFactor: + ambientLightDepthFactor ?? this.ambientLightDepthFactor, + lightOffsetX: lightOffsetX ?? this.lightOffsetX, + lightOffsetY: lightOffsetY ?? this.lightOffsetY, + lightOffsetZ: lightOffsetZ ?? this.lightOffsetZ, + ); + } +} diff --git a/next_gen_ui_demo/lib/orb_shader/orb_shader_painter.dart b/next_gen_ui_demo/lib/orb_shader/orb_shader_painter.dart new file mode 100644 index 000000000..50213545d --- /dev/null +++ b/next_gen_ui_demo/lib/orb_shader/orb_shader_painter.dart @@ -0,0 +1,85 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:math'; +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:vector_math/vector_math_64.dart' as v64; + +import 'orb_shader_config.dart'; + +class OrbShaderPainter extends CustomPainter { + OrbShaderPainter( + this.shader, { + required this.config, + required this.time, + required this.mousePos, + required this.energy, + }); + final FragmentShader shader; + final OrbShaderConfig config; + final double time; + final Offset mousePos; + final double energy; + + @override + void paint(Canvas canvas, Size size) { + double fov = v64.mix(pi / 4.3, pi / 2.0, config.zoom.clamp(0.0, 1.0)); + + v64.Vector3 colorToVector3(Color c) => + v64.Vector3( + c.red.toDouble(), + c.green.toDouble(), + c.blue.toDouble(), + ) / + 255.0; + + v64.Vector3 lightLumP = colorToVector3(config.lightColor).normalized() * + max(0.0, config.lightBrightness); + v64.Vector3 albedo = colorToVector3(config.materialColor); + + v64.Vector3 ambientLight = colorToVector3(config.ambientLightColor) * + max(0.0, config.ambientLightBrightness); + + shader.setFloat(0, size.width); + shader.setFloat(1, size.height); + shader.setFloat(2, time); + shader.setFloat(3, max(0.0, config.exposure)); + shader.setFloat(4, fov); + shader.setFloat(5, config.roughness.clamp(0.0, 1.0)); + shader.setFloat(6, config.metalness.clamp(0.0, 1.0)); + shader.setFloat(7, config.lightOffsetX); + shader.setFloat(8, config.lightOffsetY); + shader.setFloat(9, config.lightOffsetZ); + shader.setFloat(10, config.lightRadius); + shader.setFloat(11, lightLumP.x); + shader.setFloat(12, lightLumP.y); + shader.setFloat(13, lightLumP.z); + shader.setFloat(14, albedo.x); + shader.setFloat(15, albedo.y); + shader.setFloat(16, albedo.z); + shader.setFloat(17, config.ior.clamp(0.0, 2.0)); + shader.setFloat(18, config.lightAttenuation.clamp(0.0, 1.0)); + shader.setFloat(19, ambientLight.x); + shader.setFloat(20, ambientLight.y); + shader.setFloat(21, ambientLight.z); + shader.setFloat(22, config.ambientLightDepthFactor.clamp(0.0, 1.0)); + shader.setFloat(23, energy); + + canvas.drawRect( + Rect.fromLTWH(0, 0, size.width, size.height), + Paint()..shader = shader, + ); + } + + @override + bool shouldRepaint(covariant OrbShaderPainter oldDelegate) { + return oldDelegate.shader != shader || + oldDelegate.config != config || + oldDelegate.time != time || + oldDelegate.mousePos != mousePos || + oldDelegate.energy != energy; + } +} diff --git a/next_gen_ui_demo/lib/orb_shader/orb_shader_widget.dart b/next_gen_ui_demo/lib/orb_shader/orb_shader_widget.dart new file mode 100644 index 000000000..31b6ede2e --- /dev/null +++ b/next_gen_ui_demo/lib/orb_shader/orb_shader_widget.dart @@ -0,0 +1,123 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:async'; +import 'dart:math'; +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:provider/provider.dart'; + +import '../assets.dart'; +import '../common/reactive_widget.dart'; +import 'orb_shader_config.dart'; +import 'orb_shader_painter.dart'; + +class OrbShaderWidget extends StatefulWidget { + const OrbShaderWidget({ + super.key, + required this.config, + this.onUpdate, + required this.mousePos, + required this.minEnergy, + }); + + final double minEnergy; + final OrbShaderConfig config; + final Offset mousePos; + final void Function(double energy)? onUpdate; + + @override + State createState() => OrbShaderWidgetState(); +} + +class OrbShaderWidgetState extends State + with SingleTickerProviderStateMixin { + final _heartbeatSequence = TweenSequence( + [ + TweenSequenceItem(tween: ConstantTween(0), weight: 40), + TweenSequenceItem( + tween: Tween(begin: 0.0, end: 1.0) + .chain(CurveTween(curve: Curves.easeInOutCubic)), + weight: 8), + TweenSequenceItem( + tween: Tween(begin: 1.0, end: 0.2) + .chain(CurveTween(curve: Curves.easeInOutCubic)), + weight: 12), + TweenSequenceItem( + tween: Tween(begin: 0.2, end: 0.8) + .chain(CurveTween(curve: Curves.easeInOutCubic)), + weight: 6), + TweenSequenceItem( + tween: Tween(begin: 0.8, end: 0.0) + .chain(CurveTween(curve: Curves.easeInOutCubic)), + weight: 10), + ], + ); + + late final AnimationController _heartbeatAnim; + + @override + void initState() { + super.initState(); + _heartbeatAnim = AnimationController(vsync: this, duration: 3000.ms) + ..repeat(); + } + + @override + void dispose() { + _heartbeatAnim.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) => Consumer( + builder: (context, shaders, _) { + if (shaders == null) return const SizedBox.expand(); + return ListenableBuilder( + listenable: _heartbeatAnim, + builder: (_, __) { + final heartbeatEnergy = + _heartbeatAnim.drive(_heartbeatSequence).value; + return TweenAnimationBuilder( + tween: Tween( + begin: widget.minEnergy, end: widget.minEnergy), + duration: 300.ms, + curve: Curves.easeOutCubic, + builder: (context, minEnergy, child) { + return ReactiveWidget( + builder: (context, time, size) { + double energyLevel = 0; + if (size.shortestSide != 0) { + final d = (Offset(size.width, size.height) / 2 - + widget.mousePos) + .distance; + final hitSize = size.shortestSide * .5; + energyLevel = 1 - min(1, (d / hitSize)); + scheduleMicrotask( + () => widget.onUpdate?.call(energyLevel)); + } + energyLevel += + (1.3 - energyLevel) * heartbeatEnergy * 0.1; + energyLevel = lerpDouble(minEnergy, 1, energyLevel)!; + return CustomPaint( + size: size, + painter: OrbShaderPainter( + shaders.orb, + config: widget.config, + time: time, + mousePos: widget.mousePos, + energy: energyLevel, + ), + ); + }, + ); + }, + ); + }, + ); + }, + ); +} diff --git a/next_gen_ui_demo/lib/styles.dart b/next_gen_ui_demo/lib/styles.dart new file mode 100644 index 000000000..1e449fff3 --- /dev/null +++ b/next_gen_ui_demo/lib/styles.dart @@ -0,0 +1,35 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +class TextStyles { + static const _font1 = TextStyle(fontFamily: 'Exo', color: Colors.white); + + static TextStyle get h1 => _font1.copyWith( + fontSize: 75, letterSpacing: 35, fontWeight: FontWeight.w700); + static TextStyle get h2 => h1.copyWith(fontSize: 40, letterSpacing: 0); + static TextStyle get h3 => + h1.copyWith(fontSize: 24, letterSpacing: 20, fontWeight: FontWeight.w400); + static TextStyle get body => _font1.copyWith(fontSize: 16); + static TextStyle get btn => _font1.copyWith( + fontSize: 16, + fontWeight: FontWeight.bold, + letterSpacing: 10, + ); +} + +abstract class AppColors { + static const orbColors = [ + Color(0xFF71FDBF), + Color(0xFFCE33FF), + Color(0xFFFF5033), + ]; + + static const emitColors = [ + Color(0xFF96FF33), + Color(0xFF00FFFF), + Color(0xFFFF993E), + ]; +} diff --git a/next_gen_ui_demo/lib/title_screen/title_screen.dart b/next_gen_ui_demo/lib/title_screen/title_screen.dart new file mode 100644 index 000000000..762f824cf --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen/title_screen.dart @@ -0,0 +1,8 @@ +import 'package:flutter/material.dart'; + +import '../main.dart'; + +abstract class TitleScreenBase extends StatefulWidget { + const TitleScreenBase({super.key, required this.callback}); + final ColorCallback callback; +} diff --git a/next_gen_ui_demo/lib/title_screen_1a/title_screen.dart b/next_gen_ui_demo/lib/title_screen_1a/title_screen.dart new file mode 100644 index 000000000..c633084c4 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_1a/title_screen.dart @@ -0,0 +1,36 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + @override + Widget build(BuildContext context) { + WidgetsBinding.instance.addPostFrameCallback( + (duration) => widget.callback(AppColors.orbColors[0])); + + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + Image.asset(AssetPaths.titleBgReceive), + ], + ), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_1b/title_screen.dart b/next_gen_ui_demo/lib/title_screen_1b/title_screen.dart new file mode 100644 index 000000000..c9cc1e3ea --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_1b/title_screen.dart @@ -0,0 +1,45 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + @override + Widget build(BuildContext context) { + WidgetsBinding.instance.addPostFrameCallback( + (duration) => widget.callback(AppColors.orbColors[0])); + + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + Image.asset(AssetPaths.titleBgReceive), + + /// Mg-Base + Image.asset(AssetPaths.titleMgBase), + + /// Mg-Receive + Image.asset(AssetPaths.titleMgReceive), + + /// Mg-Emit + Image.asset(AssetPaths.titleMgEmit), + ], + ), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_2a/title_screen.dart b/next_gen_ui_demo/lib/title_screen_2a/title_screen.dart new file mode 100644 index 000000000..8997812fe --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_2a/title_screen.dart @@ -0,0 +1,54 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + @override + Widget build(BuildContext context) { + WidgetsBinding.instance.addPostFrameCallback( + (duration) => widget.callback(AppColors.orbColors[0])); + + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + Image.asset(AssetPaths.titleBgReceive), + + /// Mg-Base + Image.asset(AssetPaths.titleMgBase), + + /// Mg-Receive + Image.asset(AssetPaths.titleMgReceive), + + /// Mg-Emit + Image.asset(AssetPaths.titleMgEmit), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + Image.asset(AssetPaths.titleFgReceive), + + /// Fg-Emit + Image.asset(AssetPaths.titleFgEmit), + ], + ), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_2c/title_screen.dart b/next_gen_ui_demo/lib/title_screen_2c/title_screen.dart new file mode 100644 index 000000000..0b0aea074 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_2c/title_screen.dart @@ -0,0 +1,106 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + final _finalReceiveLightAmt = 0.7; + final _finalEmitLightAmt = 0.5; + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + @override + Widget build(BuildContext context) { + final orbColor = AppColors.orbColors[0]; + final emitColor = AppColors.emitColors[0]; + WidgetsBinding.instance + .addPostFrameCallback((duration) => widget.callback(orbColor)); + + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: orbColor, + imgSrc: AssetPaths.titleBgReceive, + lightAmt: widget._finalReceiveLightAmt, + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: orbColor, + lightAmt: widget._finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: orbColor, + lightAmt: widget._finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: emitColor, + lightAmt: widget._finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: orbColor, + lightAmt: widget._finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: emitColor, + lightAmt: widget._finalEmitLightAmt, + ), + ], + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: Image.asset(imgSrc), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_3a/title_screen.dart b/next_gen_ui_demo/lib/title_screen_3a/title_screen.dart new file mode 100644 index 000000000..a80de4d6c --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_3a/title_screen.dart @@ -0,0 +1,112 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + final _finalReceiveLightAmt = 0.7; + final _finalEmitLightAmt = 0.5; + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + @override + Widget build(BuildContext context) { + final orbColor = AppColors.orbColors[0]; + final emitColor = AppColors.emitColors[0]; + WidgetsBinding.instance + .addPostFrameCallback((duration) => widget.callback(orbColor)); + + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: orbColor, + imgSrc: AssetPaths.titleBgReceive, + lightAmt: widget._finalReceiveLightAmt, + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: orbColor, + lightAmt: widget._finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: orbColor, + lightAmt: widget._finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: emitColor, + lightAmt: widget._finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: orbColor, + lightAmt: widget._finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: emitColor, + lightAmt: widget._finalEmitLightAmt, + ), + + /// UI + const Positioned.fill( + child: TitleScreenUi(), + ), + ], + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: Image.asset(imgSrc), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_3a/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_3a/title_screen_ui.dart new file mode 100644 index 000000000..63f726ef9 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_3a/title_screen_ui.dart @@ -0,0 +1,62 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; + +import '../assets.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + }); + @override + Widget build(BuildContext context) { + return const Padding( + padding: EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ), + Text('INTO THE UNKNOWN', style: TextStyles.h3), + ], + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_3b/title_screen.dart b/next_gen_ui_demo/lib/title_screen_3b/title_screen.dart new file mode 100644 index 000000000..c1e02a5b9 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_3b/title_screen.dart @@ -0,0 +1,139 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + Color get _emitColor => + AppColors.emitColors[_difficultyOverride ?? _difficulty]; + Color get _orbColor => + AppColors.orbColors[_difficultyOverride ?? _difficulty]; + + /// Currently selected difficulty + int _difficulty = 0; + + /// Currently focused difficulty (if any) + int? _difficultyOverride; + + @override + void initState() { + super.initState(); + WidgetsBinding.instance + .addPostFrameCallback((duration) => widget.callback(_orbColor)); + } + + void _handleDifficultyPressed(int value) { + setState(() => _difficulty = value); + widget.callback(_orbColor); + } + + void _handleDifficultyFocused(int? value) { + setState(() => _difficultyOverride = value); + widget.callback(_orbColor); + } + + final _finalReceiveLightAmt = 0.7; + final _finalEmitLightAmt = 0.5; + + @override + Widget build(BuildContext context) { + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: _orbColor, + imgSrc: AssetPaths.titleBgReceive, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// UI + Positioned.fill( + child: TitleScreenUi( + difficulty: _difficulty, + onDifficultyFocused: _handleDifficultyFocused, + onDifficultyPressed: _handleDifficultyPressed, + ), + ), + ], + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: Image.asset(imgSrc), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_3b/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_3b/title_screen_ui.dart new file mode 100644 index 000000000..71e099ccf --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_3b/title_screen_ui.dart @@ -0,0 +1,187 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:focusable_control_builder/focusable_control_builder.dart'; +import 'package:gap/gap.dart'; + +import '../assets.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + const TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + + /// Difficulty Btns + BottomLeft( + child: UiScaler( + alignment: Alignment.bottomLeft, + child: _DifficultyBtns( + difficulty: difficulty, + onDifficultyPressed: onDifficultyPressed, + onDifficultyFocused: onDifficultyFocused, + ), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ), + Text('INTO THE UNKNOWN', style: TextStyles.h3), + ], + ); + } +} + +class _DifficultyBtns extends StatelessWidget { + const _DifficultyBtns({ + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _DifficultyBtn( + label: 'Casual', + selected: difficulty == 0, + onPressed: () => onDifficultyPressed(0), + onHover: (over) => onDifficultyFocused(over ? 0 : null), + ), + _DifficultyBtn( + label: 'Normal', + selected: difficulty == 1, + onPressed: () => onDifficultyPressed(1), + onHover: (over) => onDifficultyFocused(over ? 1 : null), + ), + _DifficultyBtn( + label: 'Hardcore', + selected: difficulty == 2, + onPressed: () => onDifficultyPressed(2), + onHover: (over) => onDifficultyFocused(over ? 2 : null), + ), + const Gap(20), + ], + ); + } +} + +class _DifficultyBtn extends StatelessWidget { + const _DifficultyBtn({ + required this.selected, + required this.onPressed, + required this.onHover, + required this.label, + }); + final String label; + final bool selected; + final VoidCallback onPressed; + final void Function(bool hasFocus) onHover; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + onPressed: onPressed, + onHoverChanged: (_, state) => onHover.call(state.isHovered), + builder: (_, state) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: 250, + height: 60, + child: Stack( + children: [ + // Bg with fill and outline + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + border: Border.all(color: Colors.white, width: 5), + ), + ), + + if (state.isHovered || state.isFocused) ...[ + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + ), + ), + ], + + /// cross-hairs (selected state) + if (selected) ...[ + CenterLeft( + child: Image.asset(AssetPaths.titleSelectedLeft), + ), + CenterRight( + child: Image.asset(AssetPaths.titleSelectedRight), + ), + ], + + /// Label + Center( + child: Text(label.toUpperCase(), style: TextStyles.btn), + ), + ], + ), + ), + ); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_3c/title_screen.dart b/next_gen_ui_demo/lib/title_screen_3c/title_screen.dart new file mode 100644 index 000000000..c1e02a5b9 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_3c/title_screen.dart @@ -0,0 +1,139 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + Color get _emitColor => + AppColors.emitColors[_difficultyOverride ?? _difficulty]; + Color get _orbColor => + AppColors.orbColors[_difficultyOverride ?? _difficulty]; + + /// Currently selected difficulty + int _difficulty = 0; + + /// Currently focused difficulty (if any) + int? _difficultyOverride; + + @override + void initState() { + super.initState(); + WidgetsBinding.instance + .addPostFrameCallback((duration) => widget.callback(_orbColor)); + } + + void _handleDifficultyPressed(int value) { + setState(() => _difficulty = value); + widget.callback(_orbColor); + } + + void _handleDifficultyFocused(int? value) { + setState(() => _difficultyOverride = value); + widget.callback(_orbColor); + } + + final _finalReceiveLightAmt = 0.7; + final _finalEmitLightAmt = 0.5; + + @override + Widget build(BuildContext context) { + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: _orbColor, + imgSrc: AssetPaths.titleBgReceive, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// UI + Positioned.fill( + child: TitleScreenUi( + difficulty: _difficulty, + onDifficultyFocused: _handleDifficultyFocused, + onDifficultyPressed: _handleDifficultyPressed, + ), + ), + ], + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: Image.asset(imgSrc), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_3c/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_3c/title_screen_ui.dart new file mode 100644 index 000000000..d8a43373d --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_3c/title_screen_ui.dart @@ -0,0 +1,250 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:focusable_control_builder/focusable_control_builder.dart'; +import 'package:gap/gap.dart'; + +import '../assets.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + const TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + + /// Difficulty Btns + BottomLeft( + child: UiScaler( + alignment: Alignment.bottomLeft, + child: _DifficultyBtns( + difficulty: difficulty, + onDifficultyPressed: onDifficultyPressed, + onDifficultyFocused: onDifficultyFocused, + ), + ), + ), + + /// StartBtn + BottomRight( + child: UiScaler( + alignment: Alignment.bottomRight, + child: Padding( + padding: const EdgeInsets.only(bottom: 20, right: 40), + child: _StartBtn(onPressed: () {}), + ), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ), + Text('INTO THE UNKNOWN', style: TextStyles.h3), + ], + ); + } +} + +class _DifficultyBtns extends StatelessWidget { + const _DifficultyBtns({ + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _DifficultyBtn( + label: 'Casual', + selected: difficulty == 0, + onPressed: () => onDifficultyPressed(0), + onHover: (over) => onDifficultyFocused(over ? 0 : null), + ), + _DifficultyBtn( + label: 'Normal', + selected: difficulty == 1, + onPressed: () => onDifficultyPressed(1), + onHover: (over) => onDifficultyFocused(over ? 1 : null), + ), + _DifficultyBtn( + label: 'Hardcore', + selected: difficulty == 2, + onPressed: () => onDifficultyPressed(2), + onHover: (over) => onDifficultyFocused(over ? 2 : null), + ), + const Gap(20), + ], + ); + } +} + +class _DifficultyBtn extends StatelessWidget { + const _DifficultyBtn({ + required this.selected, + required this.onPressed, + required this.onHover, + required this.label, + }); + final String label; + final bool selected; + final VoidCallback onPressed; + final void Function(bool hasFocus) onHover; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + onPressed: onPressed, + onHoverChanged: (_, state) => onHover.call(state.isHovered), + builder: (_, state) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: 250, + height: 60, + child: Stack( + children: [ + /// Bg with fill and outline + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + border: Border.all(color: Colors.white, width: 5), + ), + ), + + if (state.isHovered || state.isFocused) ...[ + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + ), + ), + ], + + /// cross-hairs (selected state) + if (selected) ...[ + CenterLeft( + child: Image.asset(AssetPaths.titleSelectedLeft), + ), + CenterRight( + child: Image.asset(AssetPaths.titleSelectedRight), + ), + ], + + /// Label + Center( + child: Text(label.toUpperCase(), style: TextStyles.btn), + ), + ], + ), + ), + ); + }, + ); + } +} + +class _StartBtn extends StatefulWidget { + const _StartBtn({required this.onPressed}); + final VoidCallback onPressed; + + @override + State<_StartBtn> createState() => _StartBtnState(); +} + +class _StartBtnState extends State<_StartBtn> { + AnimationController? _btnAnim; + bool _wasHovered = false; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + cursor: SystemMouseCursors.click, + onPressed: widget.onPressed, + builder: (_, state) { + if ((state.isHovered || state.isFocused) && + !_wasHovered && + _btnAnim?.status != AnimationStatus.forward) { + _btnAnim?.forward(from: 0); + } + _wasHovered = (state.isHovered || state.isFocused); + return SizedBox( + width: 520, + height: 100, + child: Stack( + children: [ + Positioned.fill(child: Image.asset(AssetPaths.titleStartBtn)), + if (state.isHovered || state.isFocused) ...[ + Positioned.fill( + child: Image.asset(AssetPaths.titleStartBtnHover)), + ], + Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text('START MISSION', + style: TextStyles.btn + .copyWith(fontSize: 24, letterSpacing: 18)), + ], + ), + ), + ], + ), + ); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_4a/title_screen.dart b/next_gen_ui_demo/lib/title_screen_4a/title_screen.dart new file mode 100644 index 000000000..c1e02a5b9 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_4a/title_screen.dart @@ -0,0 +1,139 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + Color get _emitColor => + AppColors.emitColors[_difficultyOverride ?? _difficulty]; + Color get _orbColor => + AppColors.orbColors[_difficultyOverride ?? _difficulty]; + + /// Currently selected difficulty + int _difficulty = 0; + + /// Currently focused difficulty (if any) + int? _difficultyOverride; + + @override + void initState() { + super.initState(); + WidgetsBinding.instance + .addPostFrameCallback((duration) => widget.callback(_orbColor)); + } + + void _handleDifficultyPressed(int value) { + setState(() => _difficulty = value); + widget.callback(_orbColor); + } + + void _handleDifficultyFocused(int? value) { + setState(() => _difficultyOverride = value); + widget.callback(_orbColor); + } + + final _finalReceiveLightAmt = 0.7; + final _finalEmitLightAmt = 0.5; + + @override + Widget build(BuildContext context) { + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: _orbColor, + imgSrc: AssetPaths.titleBgReceive, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// UI + Positioned.fill( + child: TitleScreenUi( + difficulty: _difficulty, + onDifficultyFocused: _handleDifficultyFocused, + onDifficultyPressed: _handleDifficultyPressed, + ), + ), + ], + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: Image.asset(imgSrc), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_4a/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_4a/title_screen_ui.dart new file mode 100644 index 000000000..99693bf45 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_4a/title_screen_ui.dart @@ -0,0 +1,253 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:focusable_control_builder/focusable_control_builder.dart'; +import 'package:gap/gap.dart'; + +import '../assets.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + const TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + + /// Difficulty Btns + BottomLeft( + child: UiScaler( + alignment: Alignment.bottomLeft, + child: _DifficultyBtns( + difficulty: difficulty, + onDifficultyPressed: onDifficultyPressed, + onDifficultyFocused: onDifficultyFocused, + ), + ), + ), + + /// StartBtn + BottomRight( + child: UiScaler( + alignment: Alignment.bottomRight, + child: Padding( + padding: const EdgeInsets.only(bottom: 20, right: 40), + child: _StartBtn(onPressed: () {}), + ), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ).animate().fadeIn(delay: .8.seconds, duration: .7.seconds), + Text('INTO THE UNKNOWN', style: TextStyles.h3) + .animate() + .fadeIn(delay: 1.seconds, duration: .7.seconds), + ], + ); + } +} + +class _DifficultyBtns extends StatelessWidget { + const _DifficultyBtns({ + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _DifficultyBtn( + label: 'Casual', + selected: difficulty == 0, + onPressed: () => onDifficultyPressed(0), + onHover: (over) => onDifficultyFocused(over ? 0 : null), + ), + _DifficultyBtn( + label: 'Normal', + selected: difficulty == 1, + onPressed: () => onDifficultyPressed(1), + onHover: (over) => onDifficultyFocused(over ? 1 : null), + ), + _DifficultyBtn( + label: 'Hardcore', + selected: difficulty == 2, + onPressed: () => onDifficultyPressed(2), + onHover: (over) => onDifficultyFocused(over ? 2 : null), + ), + const Gap(20), + ], + ); + } +} + +class _DifficultyBtn extends StatelessWidget { + const _DifficultyBtn({ + required this.selected, + required this.onPressed, + required this.onHover, + required this.label, + }); + final String label; + final bool selected; + final VoidCallback onPressed; + final void Function(bool hasFocus) onHover; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + onPressed: onPressed, + onHoverChanged: (_, state) => onHover.call(state.isHovered), + builder: (_, state) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: 250, + height: 60, + child: Stack( + children: [ + /// Bg with fill and outline + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + border: Border.all(color: Colors.white, width: 5), + ), + ), + + if (state.isHovered || state.isFocused) ...[ + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + ), + ), + ], + + /// cross-hairs (selected state) + if (selected) ...[ + CenterLeft( + child: Image.asset(AssetPaths.titleSelectedLeft), + ), + CenterRight( + child: Image.asset(AssetPaths.titleSelectedRight), + ), + ], + + /// Label + Center( + child: Text(label.toUpperCase(), style: TextStyles.btn), + ), + ], + ), + ), + ); + }, + ); + } +} + +class _StartBtn extends StatefulWidget { + const _StartBtn({required this.onPressed}); + final VoidCallback onPressed; + + @override + State<_StartBtn> createState() => _StartBtnState(); +} + +class _StartBtnState extends State<_StartBtn> { + AnimationController? _btnAnim; + bool _wasHovered = false; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + cursor: SystemMouseCursors.click, + onPressed: widget.onPressed, + builder: (_, state) { + if ((state.isHovered || state.isFocused) && + !_wasHovered && + _btnAnim?.status != AnimationStatus.forward) { + _btnAnim?.forward(from: 0); + } + _wasHovered = (state.isHovered || state.isFocused); + return SizedBox( + width: 520, + height: 100, + child: Stack( + children: [ + Positioned.fill(child: Image.asset(AssetPaths.titleStartBtn)), + if (state.isHovered || state.isFocused) ...[ + Positioned.fill( + child: Image.asset(AssetPaths.titleStartBtnHover)), + ], + Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text('START MISSION', + style: TextStyles.btn + .copyWith(fontSize: 24, letterSpacing: 18)), + ], + ), + ), + ], + ), + ); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_4b/title_screen.dart b/next_gen_ui_demo/lib/title_screen_4b/title_screen.dart new file mode 100644 index 000000000..c1e02a5b9 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_4b/title_screen.dart @@ -0,0 +1,139 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + Color get _emitColor => + AppColors.emitColors[_difficultyOverride ?? _difficulty]; + Color get _orbColor => + AppColors.orbColors[_difficultyOverride ?? _difficulty]; + + /// Currently selected difficulty + int _difficulty = 0; + + /// Currently focused difficulty (if any) + int? _difficultyOverride; + + @override + void initState() { + super.initState(); + WidgetsBinding.instance + .addPostFrameCallback((duration) => widget.callback(_orbColor)); + } + + void _handleDifficultyPressed(int value) { + setState(() => _difficulty = value); + widget.callback(_orbColor); + } + + void _handleDifficultyFocused(int? value) { + setState(() => _difficultyOverride = value); + widget.callback(_orbColor); + } + + final _finalReceiveLightAmt = 0.7; + final _finalEmitLightAmt = 0.5; + + @override + Widget build(BuildContext context) { + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: _orbColor, + imgSrc: AssetPaths.titleBgReceive, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// UI + Positioned.fill( + child: TitleScreenUi( + difficulty: _difficulty, + onDifficultyFocused: _handleDifficultyFocused, + onDifficultyPressed: _handleDifficultyPressed, + ), + ), + ], + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: Image.asset(imgSrc), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_4b/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_4b/title_screen_ui.dart new file mode 100644 index 000000000..0ab47845a --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_4b/title_screen_ui.dart @@ -0,0 +1,262 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:focusable_control_builder/focusable_control_builder.dart'; +import 'package:gap/gap.dart'; + +import '../assets.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + const TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + + /// Difficulty Btns + BottomLeft( + child: UiScaler( + alignment: Alignment.bottomLeft, + child: _DifficultyBtns( + difficulty: difficulty, + onDifficultyPressed: onDifficultyPressed, + onDifficultyFocused: onDifficultyFocused, + ), + ), + ), + + /// StartBtn + BottomRight( + child: UiScaler( + alignment: Alignment.bottomRight, + child: Padding( + padding: const EdgeInsets.only(bottom: 20, right: 40), + child: _StartBtn(onPressed: () {}), + ), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ).animate().fadeIn(delay: .8.seconds, duration: .7.seconds), + Text('INTO THE UNKNOWN', style: TextStyles.h3) + .animate() + .fadeIn(delay: 1.seconds, duration: .7.seconds), + ], + ); + } +} + +class _DifficultyBtns extends StatelessWidget { + const _DifficultyBtns({ + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _DifficultyBtn( + label: 'Casual', + selected: difficulty == 0, + onPressed: () => onDifficultyPressed(0), + onHover: (over) => onDifficultyFocused(over ? 0 : null), + ) + .animate() + .fadeIn(delay: 1.3.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Normal', + selected: difficulty == 1, + onPressed: () => onDifficultyPressed(1), + onHover: (over) => onDifficultyFocused(over ? 1 : null), + ) + .animate() + .fadeIn(delay: 1.5.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Hardcore', + selected: difficulty == 2, + onPressed: () => onDifficultyPressed(2), + onHover: (over) => onDifficultyFocused(over ? 2 : null), + ) + .animate() + .fadeIn(delay: 1.7.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + const Gap(20), + ], + ); + } +} + +class _DifficultyBtn extends StatelessWidget { + const _DifficultyBtn({ + required this.selected, + required this.onPressed, + required this.onHover, + required this.label, + }); + final String label; + final bool selected; + final VoidCallback onPressed; + final void Function(bool hasFocus) onHover; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + onPressed: onPressed, + onHoverChanged: (_, state) => onHover.call(state.isHovered), + builder: (_, state) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: 250, + height: 60, + child: Stack( + children: [ + /// Bg with fill and outline + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + border: Border.all(color: Colors.white, width: 5), + ), + ), + + if (state.isHovered || state.isFocused) ...[ + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + ), + ), + ], + + /// cross-hairs (selected state) + if (selected) ...[ + CenterLeft( + child: Image.asset(AssetPaths.titleSelectedLeft), + ), + CenterRight( + child: Image.asset(AssetPaths.titleSelectedRight), + ), + ], + + /// Label + Center( + child: Text(label.toUpperCase(), style: TextStyles.btn), + ), + ], + ), + ), + ); + }, + ); + } +} + +class _StartBtn extends StatefulWidget { + const _StartBtn({required this.onPressed}); + final VoidCallback onPressed; + + @override + State<_StartBtn> createState() => _StartBtnState(); +} + +class _StartBtnState extends State<_StartBtn> { + AnimationController? _btnAnim; + bool _wasHovered = false; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + cursor: SystemMouseCursors.click, + onPressed: widget.onPressed, + builder: (_, state) { + if ((state.isHovered || state.isFocused) && + !_wasHovered && + _btnAnim?.status != AnimationStatus.forward) { + _btnAnim?.forward(from: 0); + } + _wasHovered = (state.isHovered || state.isFocused); + return SizedBox( + width: 520, + height: 100, + child: Stack( + children: [ + Positioned.fill(child: Image.asset(AssetPaths.titleStartBtn)), + if (state.isHovered || state.isFocused) ...[ + Positioned.fill( + child: Image.asset(AssetPaths.titleStartBtnHover)), + ], + Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text('START MISSION', + style: TextStyles.btn + .copyWith(fontSize: 24, letterSpacing: 18)), + ], + ), + ), + ], + ), + ); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_4c/title_screen.dart b/next_gen_ui_demo/lib/title_screen_4c/title_screen.dart new file mode 100644 index 000000000..c1e02a5b9 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_4c/title_screen.dart @@ -0,0 +1,139 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + Color get _emitColor => + AppColors.emitColors[_difficultyOverride ?? _difficulty]; + Color get _orbColor => + AppColors.orbColors[_difficultyOverride ?? _difficulty]; + + /// Currently selected difficulty + int _difficulty = 0; + + /// Currently focused difficulty (if any) + int? _difficultyOverride; + + @override + void initState() { + super.initState(); + WidgetsBinding.instance + .addPostFrameCallback((duration) => widget.callback(_orbColor)); + } + + void _handleDifficultyPressed(int value) { + setState(() => _difficulty = value); + widget.callback(_orbColor); + } + + void _handleDifficultyFocused(int? value) { + setState(() => _difficultyOverride = value); + widget.callback(_orbColor); + } + + final _finalReceiveLightAmt = 0.7; + final _finalEmitLightAmt = 0.5; + + @override + Widget build(BuildContext context) { + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: _orbColor, + imgSrc: AssetPaths.titleBgReceive, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// UI + Positioned.fill( + child: TitleScreenUi( + difficulty: _difficulty, + onDifficultyFocused: _handleDifficultyFocused, + onDifficultyPressed: _handleDifficultyPressed, + ), + ), + ], + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: Image.asset(imgSrc), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_4c/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_4c/title_screen_ui.dart new file mode 100644 index 000000000..a08d21e2c --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_4c/title_screen_ui.dart @@ -0,0 +1,267 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:focusable_control_builder/focusable_control_builder.dart'; +import 'package:gap/gap.dart'; + +import '../assets.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + const TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + + /// Difficulty Btns + BottomLeft( + child: UiScaler( + alignment: Alignment.bottomLeft, + child: _DifficultyBtns( + difficulty: difficulty, + onDifficultyPressed: onDifficultyPressed, + onDifficultyFocused: onDifficultyFocused, + ), + ), + ), + + /// StartBtn + BottomRight( + child: UiScaler( + alignment: Alignment.bottomRight, + child: Padding( + padding: const EdgeInsets.only(bottom: 20, right: 40), + child: _StartBtn(onPressed: () {}), + ), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ).animate().fadeIn(delay: .8.seconds, duration: .7.seconds), + Text('INTO THE UNKNOWN', style: TextStyles.h3) + .animate() + .fadeIn(delay: 1.seconds, duration: .7.seconds), + ], + ); + } +} + +class _DifficultyBtns extends StatelessWidget { + const _DifficultyBtns({ + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _DifficultyBtn( + label: 'Casual', + selected: difficulty == 0, + onPressed: () => onDifficultyPressed(0), + onHover: (over) => onDifficultyFocused(over ? 0 : null), + ) + .animate() + .fadeIn(delay: 1.3.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Normal', + selected: difficulty == 1, + onPressed: () => onDifficultyPressed(1), + onHover: (over) => onDifficultyFocused(over ? 1 : null), + ) + .animate() + .fadeIn(delay: 1.5.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Hardcore', + selected: difficulty == 2, + onPressed: () => onDifficultyPressed(2), + onHover: (over) => onDifficultyFocused(over ? 2 : null), + ) + .animate() + .fadeIn(delay: 1.7.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + const Gap(20), + ], + ); + } +} + +class _DifficultyBtn extends StatelessWidget { + const _DifficultyBtn({ + required this.selected, + required this.onPressed, + required this.onHover, + required this.label, + }); + final String label; + final bool selected; + final VoidCallback onPressed; + final void Function(bool hasFocus) onHover; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + onPressed: onPressed, + onHoverChanged: (_, state) => onHover.call(state.isHovered), + builder: (_, state) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: 250, + height: 60, + child: Stack( + children: [ + /// Bg with fill and outline + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + border: Border.all(color: Colors.white, width: 5), + ), + ), + + if (state.isHovered || state.isFocused) ...[ + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + ), + ), + ], + + /// cross-hairs (selected state) + if (selected) ...[ + CenterLeft( + child: Image.asset(AssetPaths.titleSelectedLeft), + ), + CenterRight( + child: Image.asset(AssetPaths.titleSelectedRight), + ), + ], + + /// Label + Center( + child: Text(label.toUpperCase(), style: TextStyles.btn), + ), + ], + ), + ), + ); + }, + ); + } +} + +class _StartBtn extends StatefulWidget { + const _StartBtn({required this.onPressed}); + final VoidCallback onPressed; + + @override + State<_StartBtn> createState() => _StartBtnState(); +} + +class _StartBtnState extends State<_StartBtn> { + AnimationController? _btnAnim; + bool _wasHovered = false; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + cursor: SystemMouseCursors.click, + onPressed: widget.onPressed, + builder: (_, state) { + if ((state.isHovered || state.isFocused) && + !_wasHovered && + _btnAnim?.status != AnimationStatus.forward) { + _btnAnim?.forward(from: 0); + } + _wasHovered = (state.isHovered || state.isFocused); + return SizedBox( + width: 520, + height: 100, + child: Stack( + children: [ + Positioned.fill(child: Image.asset(AssetPaths.titleStartBtn)), + if (state.isHovered || state.isFocused) ...[ + Positioned.fill( + child: Image.asset(AssetPaths.titleStartBtnHover)), + ], + Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text('START MISSION', + style: TextStyles.btn + .copyWith(fontSize: 24, letterSpacing: 18)), + ], + ), + ), + ], + ) + .animate(autoPlay: false, onInit: (c) => _btnAnim = c) + .shimmer(duration: .7.seconds, color: Colors.black), + ) + .animate() + .fadeIn(delay: 2.3.seconds) + .slide(begin: const Offset(0, .2)); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_4d/title_screen.dart b/next_gen_ui_demo/lib/title_screen_4d/title_screen.dart new file mode 100644 index 000000000..c1e02a5b9 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_4d/title_screen.dart @@ -0,0 +1,139 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + Color get _emitColor => + AppColors.emitColors[_difficultyOverride ?? _difficulty]; + Color get _orbColor => + AppColors.orbColors[_difficultyOverride ?? _difficulty]; + + /// Currently selected difficulty + int _difficulty = 0; + + /// Currently focused difficulty (if any) + int? _difficultyOverride; + + @override + void initState() { + super.initState(); + WidgetsBinding.instance + .addPostFrameCallback((duration) => widget.callback(_orbColor)); + } + + void _handleDifficultyPressed(int value) { + setState(() => _difficulty = value); + widget.callback(_orbColor); + } + + void _handleDifficultyFocused(int? value) { + setState(() => _difficultyOverride = value); + widget.callback(_orbColor); + } + + final _finalReceiveLightAmt = 0.7; + final _finalEmitLightAmt = 0.5; + + @override + Widget build(BuildContext context) { + return Center( + child: Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: _orbColor, + imgSrc: AssetPaths.titleBgReceive, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: _orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: _emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// UI + Positioned.fill( + child: TitleScreenUi( + difficulty: _difficulty, + onDifficultyFocused: _handleDifficultyFocused, + onDifficultyPressed: _handleDifficultyPressed, + ), + ), + ], + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: Image.asset(imgSrc), + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_4d/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_4d/title_screen_ui.dart new file mode 100644 index 000000000..5900a6b63 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_4d/title_screen_ui.dart @@ -0,0 +1,273 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:focusable_control_builder/focusable_control_builder.dart'; +import 'package:gap/gap.dart'; + +import '../assets.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + const TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + + /// Difficulty Btns + BottomLeft( + child: UiScaler( + alignment: Alignment.bottomLeft, + child: _DifficultyBtns( + difficulty: difficulty, + onDifficultyPressed: onDifficultyPressed, + onDifficultyFocused: onDifficultyFocused, + ), + ), + ), + + /// StartBtn + BottomRight( + child: UiScaler( + alignment: Alignment.bottomRight, + child: Padding( + padding: const EdgeInsets.only(bottom: 20, right: 40), + child: _StartBtn(onPressed: () {}), + ), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ).animate().fadeIn(delay: .8.seconds, duration: .7.seconds), + Text('INTO THE UNKNOWN', style: TextStyles.h3) + .animate() + .fadeIn(delay: 1.seconds, duration: .7.seconds), + ], + ); + } +} + +class _DifficultyBtns extends StatelessWidget { + const _DifficultyBtns({ + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _DifficultyBtn( + label: 'Casual', + selected: difficulty == 0, + onPressed: () => onDifficultyPressed(0), + onHover: (over) => onDifficultyFocused(over ? 0 : null), + ) + .animate() + .fadeIn(delay: 1.3.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Normal', + selected: difficulty == 1, + onPressed: () => onDifficultyPressed(1), + onHover: (over) => onDifficultyFocused(over ? 1 : null), + ) + .animate() + .fadeIn(delay: 1.5.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Hardcore', + selected: difficulty == 2, + onPressed: () => onDifficultyPressed(2), + onHover: (over) => onDifficultyFocused(over ? 2 : null), + ) + .animate() + .fadeIn(delay: 1.7.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + const Gap(20), + ], + ); + } +} + +class _DifficultyBtn extends StatelessWidget { + const _DifficultyBtn({ + required this.selected, + required this.onPressed, + required this.onHover, + required this.label, + }); + final String label; + final bool selected; + final VoidCallback onPressed; + final void Function(bool hasFocus) onHover; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + onPressed: onPressed, + onHoverChanged: (_, state) => onHover.call(state.isHovered), + builder: (_, state) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: 250, + height: 60, + child: Stack( + children: [ + /// Bg with fill and outline + AnimatedOpacity( + opacity: (!selected && (state.isHovered || state.isFocused)) + ? 1 + : 0, + duration: .3.seconds, + child: Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + border: Border.all(color: Colors.white, width: 5), + ), + ), + ), + + if (state.isHovered || state.isFocused) ...[ + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + ), + ), + ], + + /// cross-hairs (selected state) + if (selected) ...[ + CenterLeft( + child: Image.asset(AssetPaths.titleSelectedLeft), + ), + CenterRight( + child: Image.asset(AssetPaths.titleSelectedRight), + ), + ], + + /// Label + Center( + child: Text(label.toUpperCase(), style: TextStyles.btn), + ), + ], + ), + ), + ); + }, + ); + } +} + +class _StartBtn extends StatefulWidget { + const _StartBtn({required this.onPressed}); + final VoidCallback onPressed; + + @override + State<_StartBtn> createState() => _StartBtnState(); +} + +class _StartBtnState extends State<_StartBtn> { + AnimationController? _btnAnim; + bool _wasHovered = false; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + cursor: SystemMouseCursors.click, + onPressed: widget.onPressed, + builder: (_, state) { + if ((state.isHovered || state.isFocused) && + !_wasHovered && + _btnAnim?.status != AnimationStatus.forward) { + _btnAnim?.forward(from: 0); + } + _wasHovered = (state.isHovered || state.isFocused); + return SizedBox( + width: 520, + height: 100, + child: Stack( + children: [ + Positioned.fill(child: Image.asset(AssetPaths.titleStartBtn)), + if (state.isHovered || state.isFocused) ...[ + Positioned.fill( + child: Image.asset(AssetPaths.titleStartBtnHover)), + ], + Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text('START MISSION', + style: TextStyles.btn + .copyWith(fontSize: 24, letterSpacing: 18)), + ], + ), + ), + ], + ) + .animate(autoPlay: false, onInit: (c) => _btnAnim = c) + .shimmer(duration: .7.seconds, color: Colors.black), + ) + .animate() + .fadeIn(delay: 2.3.seconds) + .slide(begin: const Offset(0, .2)); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_4e/title_screen.dart b/next_gen_ui_demo/lib/title_screen_4e/title_screen.dart new file mode 100644 index 000000000..44a5a9682 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_4e/title_screen.dart @@ -0,0 +1,178 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + Color get _emitColor => + AppColors.emitColors[_difficultyOverride ?? _difficulty]; + Color get _orbColor => + AppColors.orbColors[_difficultyOverride ?? _difficulty]; + + /// Currently selected difficulty + int _difficulty = 0; + + /// Currently focused difficulty (if any) + int? _difficultyOverride; + + @override + void initState() { + super.initState(); + WidgetsBinding.instance + .addPostFrameCallback((duration) => widget.callback(_orbColor)); + } + + void _handleDifficultyPressed(int value) { + setState(() => _difficulty = value); + widget.callback(_orbColor); + } + + void _handleDifficultyFocused(int? value) { + setState(() => _difficultyOverride = value); + widget.callback(_orbColor); + } + + final _finalReceiveLightAmt = 0.7; + final _finalEmitLightAmt = 0.5; + + @override + Widget build(BuildContext context) { + return Center( + child: _AnimatedColors( + orbColor: _orbColor, + emitColor: _emitColor, + builder: (_, orbColor, emitColor) { + return Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: orbColor, + imgSrc: AssetPaths.titleBgReceive, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// UI + Positioned.fill( + child: TitleScreenUi( + difficulty: _difficulty, + onDifficultyFocused: _handleDifficultyFocused, + onDifficultyPressed: _handleDifficultyPressed, + ), + ), + ], + ).animate().fadeIn(duration: 1.seconds, delay: .3.seconds); + }, + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: Image.asset(imgSrc), + ); + } +} + +class _AnimatedColors extends StatelessWidget { + const _AnimatedColors({ + required this.emitColor, + required this.orbColor, + required this.builder, + }); + + final Color emitColor; + final Color orbColor; + + final Widget Function(BuildContext context, Color orbColor, Color emitColor) + builder; + + @override + Widget build(BuildContext context) { + final duration = .5.seconds; + return TweenAnimationBuilder( + tween: ColorTween(begin: emitColor, end: emitColor), + duration: duration, + builder: (_, emitColor, __) { + return TweenAnimationBuilder( + tween: ColorTween(begin: orbColor, end: orbColor), + duration: duration, + builder: (context, orbColor, __) { + return builder(context, orbColor!, emitColor!); + }, + ); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_4e/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_4e/title_screen_ui.dart new file mode 100644 index 000000000..5900a6b63 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_4e/title_screen_ui.dart @@ -0,0 +1,273 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:focusable_control_builder/focusable_control_builder.dart'; +import 'package:gap/gap.dart'; + +import '../assets.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + const TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + + /// Difficulty Btns + BottomLeft( + child: UiScaler( + alignment: Alignment.bottomLeft, + child: _DifficultyBtns( + difficulty: difficulty, + onDifficultyPressed: onDifficultyPressed, + onDifficultyFocused: onDifficultyFocused, + ), + ), + ), + + /// StartBtn + BottomRight( + child: UiScaler( + alignment: Alignment.bottomRight, + child: Padding( + padding: const EdgeInsets.only(bottom: 20, right: 40), + child: _StartBtn(onPressed: () {}), + ), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ).animate().fadeIn(delay: .8.seconds, duration: .7.seconds), + Text('INTO THE UNKNOWN', style: TextStyles.h3) + .animate() + .fadeIn(delay: 1.seconds, duration: .7.seconds), + ], + ); + } +} + +class _DifficultyBtns extends StatelessWidget { + const _DifficultyBtns({ + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _DifficultyBtn( + label: 'Casual', + selected: difficulty == 0, + onPressed: () => onDifficultyPressed(0), + onHover: (over) => onDifficultyFocused(over ? 0 : null), + ) + .animate() + .fadeIn(delay: 1.3.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Normal', + selected: difficulty == 1, + onPressed: () => onDifficultyPressed(1), + onHover: (over) => onDifficultyFocused(over ? 1 : null), + ) + .animate() + .fadeIn(delay: 1.5.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Hardcore', + selected: difficulty == 2, + onPressed: () => onDifficultyPressed(2), + onHover: (over) => onDifficultyFocused(over ? 2 : null), + ) + .animate() + .fadeIn(delay: 1.7.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + const Gap(20), + ], + ); + } +} + +class _DifficultyBtn extends StatelessWidget { + const _DifficultyBtn({ + required this.selected, + required this.onPressed, + required this.onHover, + required this.label, + }); + final String label; + final bool selected; + final VoidCallback onPressed; + final void Function(bool hasFocus) onHover; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + onPressed: onPressed, + onHoverChanged: (_, state) => onHover.call(state.isHovered), + builder: (_, state) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: 250, + height: 60, + child: Stack( + children: [ + /// Bg with fill and outline + AnimatedOpacity( + opacity: (!selected && (state.isHovered || state.isFocused)) + ? 1 + : 0, + duration: .3.seconds, + child: Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + border: Border.all(color: Colors.white, width: 5), + ), + ), + ), + + if (state.isHovered || state.isFocused) ...[ + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + ), + ), + ], + + /// cross-hairs (selected state) + if (selected) ...[ + CenterLeft( + child: Image.asset(AssetPaths.titleSelectedLeft), + ), + CenterRight( + child: Image.asset(AssetPaths.titleSelectedRight), + ), + ], + + /// Label + Center( + child: Text(label.toUpperCase(), style: TextStyles.btn), + ), + ], + ), + ), + ); + }, + ); + } +} + +class _StartBtn extends StatefulWidget { + const _StartBtn({required this.onPressed}); + final VoidCallback onPressed; + + @override + State<_StartBtn> createState() => _StartBtnState(); +} + +class _StartBtnState extends State<_StartBtn> { + AnimationController? _btnAnim; + bool _wasHovered = false; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + cursor: SystemMouseCursors.click, + onPressed: widget.onPressed, + builder: (_, state) { + if ((state.isHovered || state.isFocused) && + !_wasHovered && + _btnAnim?.status != AnimationStatus.forward) { + _btnAnim?.forward(from: 0); + } + _wasHovered = (state.isHovered || state.isFocused); + return SizedBox( + width: 520, + height: 100, + child: Stack( + children: [ + Positioned.fill(child: Image.asset(AssetPaths.titleStartBtn)), + if (state.isHovered || state.isFocused) ...[ + Positioned.fill( + child: Image.asset(AssetPaths.titleStartBtnHover)), + ], + Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text('START MISSION', + style: TextStyles.btn + .copyWith(fontSize: 24, letterSpacing: 18)), + ], + ), + ), + ], + ) + .animate(autoPlay: false, onInit: (c) => _btnAnim = c) + .shimmer(duration: .7.seconds, color: Colors.black), + ) + .animate() + .fadeIn(delay: 2.3.seconds) + .slide(begin: const Offset(0, .2)); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_5a/title_screen.dart b/next_gen_ui_demo/lib/title_screen_5a/title_screen.dart new file mode 100644 index 000000000..44a5a9682 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_5a/title_screen.dart @@ -0,0 +1,178 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; + +import '../assets.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State { + Color get _emitColor => + AppColors.emitColors[_difficultyOverride ?? _difficulty]; + Color get _orbColor => + AppColors.orbColors[_difficultyOverride ?? _difficulty]; + + /// Currently selected difficulty + int _difficulty = 0; + + /// Currently focused difficulty (if any) + int? _difficultyOverride; + + @override + void initState() { + super.initState(); + WidgetsBinding.instance + .addPostFrameCallback((duration) => widget.callback(_orbColor)); + } + + void _handleDifficultyPressed(int value) { + setState(() => _difficulty = value); + widget.callback(_orbColor); + } + + void _handleDifficultyFocused(int? value) { + setState(() => _difficultyOverride = value); + widget.callback(_orbColor); + } + + final _finalReceiveLightAmt = 0.7; + final _finalEmitLightAmt = 0.5; + + @override + Widget build(BuildContext context) { + return Center( + child: _AnimatedColors( + orbColor: _orbColor, + emitColor: _emitColor, + builder: (_, orbColor, emitColor) { + return Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: orbColor, + imgSrc: AssetPaths.titleBgReceive, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: orbColor, + lightAmt: _finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: emitColor, + lightAmt: _finalEmitLightAmt, + ), + + /// UI + Positioned.fill( + child: TitleScreenUi( + difficulty: _difficulty, + onDifficultyFocused: _handleDifficultyFocused, + onDifficultyPressed: _handleDifficultyPressed, + ), + ), + ], + ).animate().fadeIn(duration: 1.seconds, delay: .3.seconds); + }, + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: Image.asset(imgSrc), + ); + } +} + +class _AnimatedColors extends StatelessWidget { + const _AnimatedColors({ + required this.emitColor, + required this.orbColor, + required this.builder, + }); + + final Color emitColor; + final Color orbColor; + + final Widget Function(BuildContext context, Color orbColor, Color emitColor) + builder; + + @override + Widget build(BuildContext context) { + final duration = .5.seconds; + return TweenAnimationBuilder( + tween: ColorTween(begin: emitColor, end: emitColor), + duration: duration, + builder: (_, emitColor, __) { + return TweenAnimationBuilder( + tween: ColorTween(begin: orbColor, end: orbColor), + duration: duration, + builder: (context, orbColor, __) { + return builder(context, orbColor!, emitColor!); + }, + ); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_5a/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_5a/title_screen_ui.dart new file mode 100644 index 000000000..022577f9d --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_5a/title_screen_ui.dart @@ -0,0 +1,299 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:focusable_control_builder/focusable_control_builder.dart'; +import 'package:gap/gap.dart'; +import 'package:provider/provider.dart'; + +import '../assets.dart'; +import '../common/shader_effect.dart'; +import '../common/ticking_builder.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + const TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + + /// Difficulty Btns + BottomLeft( + child: UiScaler( + alignment: Alignment.bottomLeft, + child: _DifficultyBtns( + difficulty: difficulty, + onDifficultyPressed: onDifficultyPressed, + onDifficultyFocused: onDifficultyFocused, + ), + ), + ), + + /// StartBtn + BottomRight( + child: UiScaler( + alignment: Alignment.bottomRight, + child: Padding( + padding: const EdgeInsets.only(bottom: 20, right: 40), + child: _StartBtn(onPressed: () {}), + ), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + Widget content = Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ).animate().fadeIn(delay: .8.seconds, duration: .7.seconds), + Text('INTO THE UNKNOWN', style: TextStyles.h3) + .animate() + .fadeIn(delay: 1.seconds, duration: .7.seconds), + ], + ); + return Consumer( + builder: (context, shaders, _) { + if (shaders == null) return content; + return TickingBuilder( + builder: (context, time) { + return AnimatedSampler( + (image, size, canvas) { + const double overdrawPx = 30; + shaders.ui + ..setFloat(0, size.width) + ..setFloat(1, size.height) + ..setFloat(2, time) + ..setImageSampler(0, image); + Rect rect = Rect.fromLTWH(-overdrawPx, -overdrawPx, + size.width + overdrawPx, size.height + overdrawPx); + canvas.drawRect(rect, Paint()..shader = shaders.ui); + }, + child: content, + ); + }, + ); + }, + ); + } +} + +class _DifficultyBtns extends StatelessWidget { + const _DifficultyBtns({ + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _DifficultyBtn( + label: 'Casual', + selected: difficulty == 0, + onPressed: () => onDifficultyPressed(0), + onHover: (over) => onDifficultyFocused(over ? 0 : null), + ) + .animate() + .fadeIn(delay: 1.3.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Normal', + selected: difficulty == 1, + onPressed: () => onDifficultyPressed(1), + onHover: (over) => onDifficultyFocused(over ? 1 : null), + ) + .animate() + .fadeIn(delay: 1.5.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Hardcore', + selected: difficulty == 2, + onPressed: () => onDifficultyPressed(2), + onHover: (over) => onDifficultyFocused(over ? 2 : null), + ) + .animate() + .fadeIn(delay: 1.7.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + const Gap(20), + ], + ); + } +} + +class _DifficultyBtn extends StatelessWidget { + const _DifficultyBtn({ + required this.selected, + required this.onPressed, + required this.onHover, + required this.label, + }); + final String label; + final bool selected; + final VoidCallback onPressed; + final void Function(bool hasFocus) onHover; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + onPressed: onPressed, + onHoverChanged: (_, state) => onHover.call(state.isHovered), + builder: (_, state) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: 250, + height: 60, + child: Stack( + children: [ + /// Bg with fill and outline + AnimatedOpacity( + opacity: (!selected && (state.isHovered || state.isFocused)) + ? 1 + : 0, + duration: .3.seconds, + child: Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + border: Border.all(color: Colors.white, width: 5), + ), + ), + ), + + if (state.isHovered || state.isFocused) ...[ + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + ), + ), + ], + + /// cross-hairs (selected state) + if (selected) ...[ + CenterLeft( + child: Image.asset(AssetPaths.titleSelectedLeft), + ), + CenterRight( + child: Image.asset(AssetPaths.titleSelectedRight), + ), + ], + + /// Label + Center( + child: Text(label.toUpperCase(), style: TextStyles.btn), + ), + ], + ), + ), + ); + }, + ); + } +} + +class _StartBtn extends StatefulWidget { + const _StartBtn({required this.onPressed}); + final VoidCallback onPressed; + + @override + State<_StartBtn> createState() => _StartBtnState(); +} + +class _StartBtnState extends State<_StartBtn> { + AnimationController? _btnAnim; + bool _wasHovered = false; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + cursor: SystemMouseCursors.click, + onPressed: widget.onPressed, + builder: (_, state) { + if ((state.isHovered || state.isFocused) && + !_wasHovered && + _btnAnim?.status != AnimationStatus.forward) { + _btnAnim?.forward(from: 0); + } + _wasHovered = (state.isHovered || state.isFocused); + return SizedBox( + width: 520, + height: 100, + child: Stack( + children: [ + Positioned.fill(child: Image.asset(AssetPaths.titleStartBtn)), + if (state.isHovered || state.isFocused) ...[ + Positioned.fill( + child: Image.asset(AssetPaths.titleStartBtnHover)), + ], + Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text('START MISSION', + style: TextStyles.btn + .copyWith(fontSize: 24, letterSpacing: 18)), + ], + ), + ), + ], + ) + .animate(autoPlay: false, onInit: (c) => _btnAnim = c) + .shimmer(duration: .7.seconds, color: Colors.black), + ) + .animate() + .fadeIn(delay: 2.3.seconds) + .slide(begin: const Offset(0, .2)); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_5b/title_screen.dart b/next_gen_ui_demo/lib/title_screen_5b/title_screen.dart new file mode 100644 index 000000000..71d730729 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_5b/title_screen.dart @@ -0,0 +1,312 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:math'; +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_animate/flutter_animate.dart'; + +import '../assets.dart'; +import '../orb_shader/orb_shader_config.dart'; +import '../orb_shader/orb_shader_widget.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State + with SingleTickerProviderStateMixin { + final _orbKey = GlobalKey(); + + /// Editable Settings + /// 0-1, receive lighting strength + final _minReceiveLightAmt = .35; + final _maxReceiveLightAmt = .7; + + /// 0-1, emit lighting strength + final _minEmitLightAmt = .5; + final _maxEmitLightAmt = 1; + + /// Internal + var _mousePos = Offset.zero; + + Color get _emitColor => + AppColors.emitColors[_difficultyOverride ?? _difficulty]; + Color get _orbColor => + AppColors.orbColors[_difficultyOverride ?? _difficulty]; + + /// Currently selected difficulty + int _difficulty = 0; + + /// Currently focused difficulty (if any) + int? _difficultyOverride; + double _orbEnergy = 0; + double _minOrbEnergy = 0; + + double get _finalReceiveLightAmt { + final light = + lerpDouble(_minReceiveLightAmt, _maxReceiveLightAmt, _orbEnergy) ?? 0; + return light + _pulseEffect.value * .05 * _orbEnergy; + } + + double get _finalEmitLightAmt { + return lerpDouble(_minEmitLightAmt, _maxEmitLightAmt, _orbEnergy) ?? 0; + } + + late final AnimationController _pulseEffect; + + Duration _getRndPulseDuration() => 100.ms + 200.ms * Random().nextDouble(); + + double _getMinEnergyForDifficulty(int difficulty) { + if (difficulty == 1) { + return .3; + } else if (difficulty == 2) { + return .6; + } + return 0; + } + + @override + void initState() { + super.initState(); + _pulseEffect = AnimationController( + vsync: this, + duration: _getRndPulseDuration(), + lowerBound: -1, + upperBound: 1, + ); + _pulseEffect.forward(); + _pulseEffect.addListener(_handlePulseEffectUpdate); + } + + @override + void dispose() { + _pulseEffect.dispose(); + super.dispose(); + } + + void _handlePulseEffectUpdate() { + if (_pulseEffect.status == AnimationStatus.completed) { + _pulseEffect.reverse(); + _pulseEffect.duration = _getRndPulseDuration(); + } else if (_pulseEffect.status == AnimationStatus.dismissed) { + _pulseEffect.duration = _getRndPulseDuration(); + _pulseEffect.forward(); + } + } + + void _handleDifficultyPressed(int value) { + setState(() => _difficulty = value); + _bumpMinEnergy(); + } + + Future _bumpMinEnergy([double amount = 0.1]) async { + setState(() { + _minOrbEnergy = _getMinEnergyForDifficulty(_difficulty) + amount; + }); + await Future.delayed(.2.seconds); + setState(() { + _minOrbEnergy = _getMinEnergyForDifficulty(_difficulty); + }); + } + + void _handleStartPressed() => _bumpMinEnergy(0.3); + + void _handleDifficultyFocused(int? value) { + setState(() { + _difficultyOverride = value; + if (value == null) { + _minOrbEnergy = _getMinEnergyForDifficulty(_difficulty); + } else { + _minOrbEnergy = _getMinEnergyForDifficulty(value); + } + }); + } + + /// Update mouse position so the orbWidget can use it, doing it here prevents + /// btns from blocking the mouse-move events in the widget itself. + void _handleMouseMove(PointerHoverEvent e) { + setState(() { + _mousePos = e.localPosition; + }); + } + + @override + Widget build(BuildContext context) { + return Center( + child: MouseRegion( + onHover: _handleMouseMove, + child: _AnimatedColors( + orbColor: _orbColor, + emitColor: _emitColor, + builder: (_, orbColor, emitColor) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + widget.callback(orbColor); + }); + return Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: orbColor, + imgSrc: AssetPaths.titleBgReceive, + pulseEffect: _pulseEffect, + lightAmt: _finalReceiveLightAmt, + ), + + /// Orb + Positioned.fill( + child: Stack( + children: [ + // Orb + OrbShaderWidget( + key: _orbKey, + mousePos: _mousePos, + minEnergy: _minOrbEnergy, + config: OrbShaderConfig( + ambientLightColor: orbColor, + materialColor: orbColor, + lightColor: orbColor, + ), + onUpdate: (energy) => setState(() { + _orbEnergy = energy; + }), + ), + ], + ), + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: orbColor, + pulseEffect: _pulseEffect, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: orbColor, + pulseEffect: _pulseEffect, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: emitColor, + pulseEffect: _pulseEffect, + lightAmt: _finalEmitLightAmt, + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: orbColor, + pulseEffect: _pulseEffect, + lightAmt: _finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: emitColor, + pulseEffect: _pulseEffect, + lightAmt: _finalEmitLightAmt, + ), + + /// UI + Positioned.fill( + child: TitleScreenUi( + difficulty: _difficulty, + onDifficultyFocused: _handleDifficultyFocused, + onDifficultyPressed: _handleDifficultyPressed, + onStartPressed: _handleStartPressed, + ), + ), + ], + ).animate().fadeIn(duration: 1.seconds, delay: .3.seconds); + }, + ), + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.pulseEffect, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final AnimationController pulseEffect; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ListenableBuilder( + listenable: pulseEffect, + child: Image.asset(imgSrc), + builder: (context, child) { + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: child, + ); + }, + ); + } +} + +class _AnimatedColors extends StatelessWidget { + const _AnimatedColors({ + required this.emitColor, + required this.orbColor, + required this.builder, + }); + + final Color emitColor; + final Color orbColor; + + final Widget Function(BuildContext context, Color orbColor, Color emitColor) + builder; + + @override + Widget build(BuildContext context) { + final duration = .5.seconds; + return TweenAnimationBuilder( + tween: ColorTween(begin: emitColor, end: emitColor), + duration: duration, + builder: (_, emitColor, __) { + return TweenAnimationBuilder( + tween: ColorTween(begin: orbColor, end: orbColor), + duration: duration, + builder: (context, orbColor, __) { + return builder(context, orbColor!, emitColor!); + }, + ); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_5b/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_5b/title_screen_ui.dart new file mode 100644 index 000000000..b2f3a4da4 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_5b/title_screen_ui.dart @@ -0,0 +1,301 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:focusable_control_builder/focusable_control_builder.dart'; +import 'package:gap/gap.dart'; +import 'package:provider/provider.dart'; + +import '../assets.dart'; +import '../common/shader_effect.dart'; +import '../common/ticking_builder.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + required this.onStartPressed, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + final VoidCallback onStartPressed; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + const TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + + /// Difficulty Btns + BottomLeft( + child: UiScaler( + alignment: Alignment.bottomLeft, + child: _DifficultyBtns( + difficulty: difficulty, + onDifficultyPressed: onDifficultyPressed, + onDifficultyFocused: onDifficultyFocused, + ), + ), + ), + + /// StartBtn + BottomRight( + child: UiScaler( + alignment: Alignment.bottomRight, + child: Padding( + padding: const EdgeInsets.only(bottom: 20, right: 40), + child: _StartBtn(onPressed: onStartPressed), + ), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + Widget content = Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ).animate().fadeIn(delay: .8.seconds, duration: .7.seconds), + Text('INTO THE UNKNOWN', style: TextStyles.h3) + .animate() + .fadeIn(delay: 1.seconds, duration: .7.seconds), + ], + ); + return Consumer( + builder: (context, shaders, _) { + if (shaders == null) return content; + return TickingBuilder( + builder: (context, time) { + return AnimatedSampler( + (image, size, canvas) { + const double overdrawPx = 30; + shaders.ui + ..setFloat(0, size.width) + ..setFloat(1, size.height) + ..setFloat(2, time) + ..setImageSampler(0, image); + Rect rect = Rect.fromLTWH(-overdrawPx, -overdrawPx, + size.width + overdrawPx, size.height + overdrawPx); + canvas.drawRect(rect, Paint()..shader = shaders.ui); + }, + child: content, + ); + }, + ); + }, + ); + } +} + +class _DifficultyBtns extends StatelessWidget { + const _DifficultyBtns({ + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _DifficultyBtn( + label: 'Casual', + selected: difficulty == 0, + onPressed: () => onDifficultyPressed(0), + onHover: (over) => onDifficultyFocused(over ? 0 : null), + ) + .animate() + .fadeIn(delay: 1.3.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Normal', + selected: difficulty == 1, + onPressed: () => onDifficultyPressed(1), + onHover: (over) => onDifficultyFocused(over ? 1 : null), + ) + .animate() + .fadeIn(delay: 1.5.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Hardcore', + selected: difficulty == 2, + onPressed: () => onDifficultyPressed(2), + onHover: (over) => onDifficultyFocused(over ? 2 : null), + ) + .animate() + .fadeIn(delay: 1.7.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + const Gap(20), + ], + ); + } +} + +class _DifficultyBtn extends StatelessWidget { + const _DifficultyBtn({ + required this.selected, + required this.onPressed, + required this.onHover, + required this.label, + }); + final String label; + final bool selected; + final VoidCallback onPressed; + final void Function(bool hasFocus) onHover; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + onPressed: onPressed, + onHoverChanged: (_, state) => onHover.call(state.isHovered), + builder: (_, state) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: 250, + height: 60, + child: Stack( + children: [ + /// Bg with fill and outline + AnimatedOpacity( + opacity: (!selected && (state.isHovered || state.isFocused)) + ? 1 + : 0, + duration: .3.seconds, + child: Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + border: Border.all(color: Colors.white, width: 5), + ), + ), + ), + + if (state.isHovered || state.isFocused) ...[ + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + ), + ), + ], + + /// cross-hairs (selected state) + if (selected) ...[ + CenterLeft( + child: Image.asset(AssetPaths.titleSelectedLeft), + ), + CenterRight( + child: Image.asset(AssetPaths.titleSelectedRight), + ), + ], + + /// Label + Center( + child: Text(label.toUpperCase(), style: TextStyles.btn), + ), + ], + ), + ), + ); + }, + ); + } +} + +class _StartBtn extends StatefulWidget { + const _StartBtn({required this.onPressed}); + final VoidCallback onPressed; + + @override + State<_StartBtn> createState() => _StartBtnState(); +} + +class _StartBtnState extends State<_StartBtn> { + AnimationController? _btnAnim; + bool _wasHovered = false; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + cursor: SystemMouseCursors.click, + onPressed: widget.onPressed, + builder: (_, state) { + if ((state.isHovered || state.isFocused) && + !_wasHovered && + _btnAnim?.status != AnimationStatus.forward) { + _btnAnim?.forward(from: 0); + } + _wasHovered = (state.isHovered || state.isFocused); + return SizedBox( + width: 520, + height: 100, + child: Stack( + children: [ + Positioned.fill(child: Image.asset(AssetPaths.titleStartBtn)), + if (state.isHovered || state.isFocused) ...[ + Positioned.fill( + child: Image.asset(AssetPaths.titleStartBtnHover)), + ], + Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text('START MISSION', + style: TextStyles.btn + .copyWith(fontSize: 24, letterSpacing: 18)), + ], + ), + ), + ], + ) + .animate(autoPlay: false, onInit: (c) => _btnAnim = c) + .shimmer(duration: .7.seconds, color: Colors.black), + ) + .animate() + .fadeIn(delay: 2.3.seconds) + .slide(begin: const Offset(0, .2)); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_6/particle_overlay.dart b/next_gen_ui_demo/lib/title_screen_6/particle_overlay.dart new file mode 100644 index 000000000..cc540f333 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_6/particle_overlay.dart @@ -0,0 +1,67 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:math'; + +import 'package:flutter/material.dart'; +import 'package:particle_field/particle_field.dart'; +import 'package:rnd/rnd.dart'; + +class ParticleOverlay extends StatelessWidget { + const ParticleOverlay({super.key, required this.color, required this.energy}); + + final Color color; + final double energy; + + @override + Widget build(BuildContext context) { + return ParticleField( + spriteSheet: SpriteSheet( + image: const AssetImage('assets/images/particle-wave.png'), + ), + // blend the image's alpha with the specified color: + blendMode: BlendMode.dstIn, + + // this runs every tick: + onTick: (controller, _, size) { + List particles = controller.particles; + + // add a new particle with random angle, distance & velocity: + double a = rnd(pi * 2); + double dist = rnd(1, 4) * 35 + 150 * energy; + double vel = rnd(1, 2) * (1 + energy * 1.8); + particles.add(Particle( + // how many ticks this particle will live: + lifespan: rnd(1, 2) * 20 + energy * 15, + // starting distance from center: + x: cos(a) * dist, + y: sin(a) * dist, + // starting velocity: + vx: cos(a) * vel, + vy: sin(a) * vel, + // other starting values: + rotation: a, + scale: rnd(1, 2) * 0.6 + energy * 0.5, + )); + + // update all of the particles: + for (int i = particles.length - 1; i >= 0; i--) { + Particle p = particles[i]; + if (p.lifespan <= 0) { + // particle is expired, remove it: + particles.removeAt(i); + continue; + } + p.update( + scale: p.scale * 1.025, + vx: p.vx * 1.025, + vy: p.vy * 1.025, + color: color.withOpacity(p.lifespan * 0.001 + 0.01), + lifespan: p.lifespan - 1, + ); + } + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_6/title_screen.dart b/next_gen_ui_demo/lib/title_screen_6/title_screen.dart new file mode 100644 index 000000000..dc39e0288 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_6/title_screen.dart @@ -0,0 +1,323 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:math'; +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_animate/flutter_animate.dart'; + +import '../assets.dart'; +import '../orb_shader/orb_shader_config.dart'; +import '../orb_shader/orb_shader_widget.dart'; +import '../styles.dart'; +import '../title_screen/title_screen.dart'; +import 'particle_overlay.dart'; +import 'title_screen_ui.dart'; + +class TitleScreen extends TitleScreenBase { + const TitleScreen({super.key, required super.callback}); + + @override + State createState() => _TitleScreenState(); +} + +class _TitleScreenState extends State + with SingleTickerProviderStateMixin { + final _orbKey = GlobalKey(); + + /// Editable Settings + /// 0-1, receive lighting strength + final _minReceiveLightAmt = .35; + final _maxReceiveLightAmt = .7; + + /// 0-1, emit lighting strength + final _minEmitLightAmt = .5; + final _maxEmitLightAmt = 1; + + /// Internal + var _mousePos = Offset.zero; + + Color get _emitColor => + AppColors.emitColors[_difficultyOverride ?? _difficulty]; + Color get _orbColor => + AppColors.orbColors[_difficultyOverride ?? _difficulty]; + + /// Currently selected difficulty + int _difficulty = 0; + + /// Currently focused difficulty (if any) + int? _difficultyOverride; + double _orbEnergy = 0; + double _minOrbEnergy = 0; + + double get _finalReceiveLightAmt { + final light = + lerpDouble(_minReceiveLightAmt, _maxReceiveLightAmt, _orbEnergy) ?? 0; + return light + _pulseEffect.value * .05 * _orbEnergy; + } + + double get _finalEmitLightAmt { + return lerpDouble(_minEmitLightAmt, _maxEmitLightAmt, _orbEnergy) ?? 0; + } + + late final AnimationController _pulseEffect; + + Duration _getRndPulseDuration() => 100.ms + 200.ms * Random().nextDouble(); + + double _getMinEnergyForDifficulty(int difficulty) { + if (difficulty == 1) { + return .3; + } else if (difficulty == 2) { + return .6; + } + return 0; + } + + @override + void initState() { + super.initState(); + _pulseEffect = AnimationController( + vsync: this, + duration: _getRndPulseDuration(), + lowerBound: -1, + upperBound: 1, + ); + _pulseEffect.forward(); + _pulseEffect.addListener(_handlePulseEffectUpdate); + } + + @override + void dispose() { + _pulseEffect.dispose(); + super.dispose(); + } + + void _handlePulseEffectUpdate() { + if (_pulseEffect.status == AnimationStatus.completed) { + _pulseEffect.reverse(); + _pulseEffect.duration = _getRndPulseDuration(); + } else if (_pulseEffect.status == AnimationStatus.dismissed) { + _pulseEffect.duration = _getRndPulseDuration(); + _pulseEffect.forward(); + } + } + + void _handleDifficultyPressed(int value) { + setState(() => _difficulty = value); + _bumpMinEnergy(); + } + + Future _bumpMinEnergy([double amount = 0.1]) async { + setState(() { + _minOrbEnergy = _getMinEnergyForDifficulty(_difficulty) + amount; + }); + await Future.delayed(.2.seconds); + setState(() { + _minOrbEnergy = _getMinEnergyForDifficulty(_difficulty); + }); + } + + void _handleStartPressed() => _bumpMinEnergy(0.3); + + void _handleDifficultyFocused(int? value) { + setState(() { + _difficultyOverride = value; + if (value == null) { + _minOrbEnergy = _getMinEnergyForDifficulty(_difficulty); + } else { + _minOrbEnergy = _getMinEnergyForDifficulty(value); + } + }); + } + + /// Update mouse position so the orbWidget can use it, doing it here prevents + /// btns from blocking the mouse-move events in the widget itself. + void _handleMouseMove(PointerHoverEvent e) { + setState(() { + _mousePos = e.localPosition; + }); + } + + @override + Widget build(BuildContext context) { + return Center( + child: MouseRegion( + onHover: _handleMouseMove, + child: _AnimatedColors( + orbColor: _orbColor, + emitColor: _emitColor, + builder: (_, orbColor, emitColor) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + widget.callback(orbColor); + }); + return Stack( + children: [ + /// Bg-Base + Image.asset(AssetPaths.titleBgBase), + + /// Bg-Receive + _LitImage( + color: orbColor, + imgSrc: AssetPaths.titleBgReceive, + pulseEffect: _pulseEffect, + lightAmt: _finalReceiveLightAmt, + ), + + /// Orb + Positioned.fill( + child: Stack( + children: [ + // Orb + OrbShaderWidget( + key: _orbKey, + mousePos: _mousePos, + minEnergy: _minOrbEnergy, + config: OrbShaderConfig( + ambientLightColor: orbColor, + materialColor: orbColor, + lightColor: orbColor, + ), + onUpdate: (energy) => setState(() { + _orbEnergy = energy; + }), + ), + ], + ), + ), + + /// Mg-Base + _LitImage( + imgSrc: AssetPaths.titleMgBase, + color: orbColor, + pulseEffect: _pulseEffect, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Receive + _LitImage( + imgSrc: AssetPaths.titleMgReceive, + color: orbColor, + pulseEffect: _pulseEffect, + lightAmt: _finalReceiveLightAmt, + ), + + /// Mg-Emit + _LitImage( + imgSrc: AssetPaths.titleMgEmit, + color: emitColor, + pulseEffect: _pulseEffect, + lightAmt: _finalEmitLightAmt, + ), + + /// Particle Field + Positioned.fill( + child: IgnorePointer( + child: ParticleOverlay( + color: orbColor, + energy: _orbEnergy, + ), + ), + ), + + /// Fg-Rocks + Image.asset(AssetPaths.titleFgBase), + + /// Fg-Receive + _LitImage( + imgSrc: AssetPaths.titleFgReceive, + color: orbColor, + pulseEffect: _pulseEffect, + lightAmt: _finalReceiveLightAmt, + ), + + /// Fg-Emit + _LitImage( + imgSrc: AssetPaths.titleFgEmit, + color: emitColor, + pulseEffect: _pulseEffect, + lightAmt: _finalEmitLightAmt, + ), + + /// UI + Positioned.fill( + child: TitleScreenUi( + difficulty: _difficulty, + onDifficultyFocused: _handleDifficultyFocused, + onDifficultyPressed: _handleDifficultyPressed, + onStartPressed: _handleStartPressed, + ), + ), + ], + ).animate().fadeIn(duration: 1.seconds, delay: .3.seconds); + }, + ), + ), + ); + } +} + +class _LitImage extends StatelessWidget { + const _LitImage({ + required this.color, + required this.imgSrc, + required this.pulseEffect, + required this.lightAmt, + }); + final Color color; + final String imgSrc; + final AnimationController pulseEffect; + final double lightAmt; + + @override + Widget build(BuildContext context) { + final hsl = HSLColor.fromColor(color); + return ListenableBuilder( + listenable: pulseEffect, + child: Image.asset(imgSrc), + builder: (context, child) { + return ColorFiltered( + colorFilter: ColorFilter.mode( + hsl.withLightness(hsl.lightness * lightAmt).toColor(), + BlendMode.modulate, + ), + child: child, + ); + }, + ); + } +} + +class _AnimatedColors extends StatelessWidget { + const _AnimatedColors({ + required this.emitColor, + required this.orbColor, + required this.builder, + }); + + final Color emitColor; + final Color orbColor; + + final Widget Function(BuildContext context, Color orbColor, Color emitColor) + builder; + + @override + Widget build(BuildContext context) { + final duration = .5.seconds; + return TweenAnimationBuilder( + tween: ColorTween(begin: emitColor, end: emitColor), + duration: duration, + builder: (_, emitColor, __) { + return TweenAnimationBuilder( + tween: ColorTween(begin: orbColor, end: orbColor), + duration: duration, + builder: (context, orbColor, __) { + return builder(context, orbColor!, emitColor!); + }, + ); + }, + ); + } +} diff --git a/next_gen_ui_demo/lib/title_screen_6/title_screen_ui.dart b/next_gen_ui_demo/lib/title_screen_6/title_screen_ui.dart new file mode 100644 index 000000000..b2f3a4da4 --- /dev/null +++ b/next_gen_ui_demo/lib/title_screen_6/title_screen_ui.dart @@ -0,0 +1,301 @@ +// Copyright 2023 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:extra_alignments/extra_alignments.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:focusable_control_builder/focusable_control_builder.dart'; +import 'package:gap/gap.dart'; +import 'package:provider/provider.dart'; + +import '../assets.dart'; +import '../common/shader_effect.dart'; +import '../common/ticking_builder.dart'; +import '../common/ui_scaler.dart'; +import '../styles.dart'; + +class TitleScreenUi extends StatelessWidget { + const TitleScreenUi({ + super.key, + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + required this.onStartPressed, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + final VoidCallback onStartPressed; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 40, horizontal: 50), + child: Stack( + children: [ + /// Title Text + const TopLeft( + child: UiScaler( + alignment: Alignment.topLeft, + child: _TitleText(), + ), + ), + + /// Difficulty Btns + BottomLeft( + child: UiScaler( + alignment: Alignment.bottomLeft, + child: _DifficultyBtns( + difficulty: difficulty, + onDifficultyPressed: onDifficultyPressed, + onDifficultyFocused: onDifficultyFocused, + ), + ), + ), + + /// StartBtn + BottomRight( + child: UiScaler( + alignment: Alignment.bottomRight, + child: Padding( + padding: const EdgeInsets.only(bottom: 20, right: 40), + child: _StartBtn(onPressed: onStartPressed), + ), + ), + ), + ], + ), + ); + } +} + +class _TitleText extends StatelessWidget { + const _TitleText(); + + @override + Widget build(BuildContext context) { + Widget content = Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(20), + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Transform.translate( + offset: Offset(-(TextStyles.h1.letterSpacing! * .5), 0), + child: Text('OUTPOST', style: TextStyles.h1), + ), + Image.asset(AssetPaths.titleSelectedLeft, height: 65), + Text('57', style: TextStyles.h2), + Image.asset(AssetPaths.titleSelectedRight, height: 65), + ], + ).animate().fadeIn(delay: .8.seconds, duration: .7.seconds), + Text('INTO THE UNKNOWN', style: TextStyles.h3) + .animate() + .fadeIn(delay: 1.seconds, duration: .7.seconds), + ], + ); + return Consumer( + builder: (context, shaders, _) { + if (shaders == null) return content; + return TickingBuilder( + builder: (context, time) { + return AnimatedSampler( + (image, size, canvas) { + const double overdrawPx = 30; + shaders.ui + ..setFloat(0, size.width) + ..setFloat(1, size.height) + ..setFloat(2, time) + ..setImageSampler(0, image); + Rect rect = Rect.fromLTWH(-overdrawPx, -overdrawPx, + size.width + overdrawPx, size.height + overdrawPx); + canvas.drawRect(rect, Paint()..shader = shaders.ui); + }, + child: content, + ); + }, + ); + }, + ); + } +} + +class _DifficultyBtns extends StatelessWidget { + const _DifficultyBtns({ + required this.difficulty, + required this.onDifficultyPressed, + required this.onDifficultyFocused, + }); + + final int difficulty; + final void Function(int difficulty) onDifficultyPressed; + final void Function(int? difficulty) onDifficultyFocused; + + @override + Widget build(BuildContext context) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _DifficultyBtn( + label: 'Casual', + selected: difficulty == 0, + onPressed: () => onDifficultyPressed(0), + onHover: (over) => onDifficultyFocused(over ? 0 : null), + ) + .animate() + .fadeIn(delay: 1.3.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Normal', + selected: difficulty == 1, + onPressed: () => onDifficultyPressed(1), + onHover: (over) => onDifficultyFocused(over ? 1 : null), + ) + .animate() + .fadeIn(delay: 1.5.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + _DifficultyBtn( + label: 'Hardcore', + selected: difficulty == 2, + onPressed: () => onDifficultyPressed(2), + onHover: (over) => onDifficultyFocused(over ? 2 : null), + ) + .animate() + .fadeIn(delay: 1.7.seconds, duration: .35.seconds) + .slide(begin: const Offset(0, .2)), + const Gap(20), + ], + ); + } +} + +class _DifficultyBtn extends StatelessWidget { + const _DifficultyBtn({ + required this.selected, + required this.onPressed, + required this.onHover, + required this.label, + }); + final String label; + final bool selected; + final VoidCallback onPressed; + final void Function(bool hasFocus) onHover; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + onPressed: onPressed, + onHoverChanged: (_, state) => onHover.call(state.isHovered), + builder: (_, state) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SizedBox( + width: 250, + height: 60, + child: Stack( + children: [ + /// Bg with fill and outline + AnimatedOpacity( + opacity: (!selected && (state.isHovered || state.isFocused)) + ? 1 + : 0, + duration: .3.seconds, + child: Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + border: Border.all(color: Colors.white, width: 5), + ), + ), + ), + + if (state.isHovered || state.isFocused) ...[ + Container( + decoration: BoxDecoration( + color: const Color(0xFF00D1FF).withOpacity(.1), + ), + ), + ], + + /// cross-hairs (selected state) + if (selected) ...[ + CenterLeft( + child: Image.asset(AssetPaths.titleSelectedLeft), + ), + CenterRight( + child: Image.asset(AssetPaths.titleSelectedRight), + ), + ], + + /// Label + Center( + child: Text(label.toUpperCase(), style: TextStyles.btn), + ), + ], + ), + ), + ); + }, + ); + } +} + +class _StartBtn extends StatefulWidget { + const _StartBtn({required this.onPressed}); + final VoidCallback onPressed; + + @override + State<_StartBtn> createState() => _StartBtnState(); +} + +class _StartBtnState extends State<_StartBtn> { + AnimationController? _btnAnim; + bool _wasHovered = false; + + @override + Widget build(BuildContext context) { + return FocusableControlBuilder( + cursor: SystemMouseCursors.click, + onPressed: widget.onPressed, + builder: (_, state) { + if ((state.isHovered || state.isFocused) && + !_wasHovered && + _btnAnim?.status != AnimationStatus.forward) { + _btnAnim?.forward(from: 0); + } + _wasHovered = (state.isHovered || state.isFocused); + return SizedBox( + width: 520, + height: 100, + child: Stack( + children: [ + Positioned.fill(child: Image.asset(AssetPaths.titleStartBtn)), + if (state.isHovered || state.isFocused) ...[ + Positioned.fill( + child: Image.asset(AssetPaths.titleStartBtnHover)), + ], + Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text('START MISSION', + style: TextStyles.btn + .copyWith(fontSize: 24, letterSpacing: 18)), + ], + ), + ), + ], + ) + .animate(autoPlay: false, onInit: (c) => _btnAnim = c) + .shimmer(duration: .7.seconds, color: Colors.black), + ) + .animate() + .fadeIn(delay: 2.3.seconds) + .slide(begin: const Offset(0, .2)); + }, + ); + } +} diff --git a/next_gen_ui_demo/linux/.gitignore b/next_gen_ui_demo/linux/.gitignore new file mode 100644 index 000000000..d3896c984 --- /dev/null +++ b/next_gen_ui_demo/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/next_gen_ui_demo/linux/CMakeLists.txt b/next_gen_ui_demo/linux/CMakeLists.txt new file mode 100644 index 000000000..6536ea36f --- /dev/null +++ b/next_gen_ui_demo/linux/CMakeLists.txt @@ -0,0 +1,139 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.10) +project(runner LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "next_gen_ui_demo") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.next_gen_ui_demo") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Define the application target. To change its name, change BINARY_NAME above, +# not the value here, or `flutter run` will no longer work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/next_gen_ui_demo/linux/flutter/CMakeLists.txt b/next_gen_ui_demo/linux/flutter/CMakeLists.txt new file mode 100644 index 000000000..d5bd01648 --- /dev/null +++ b/next_gen_ui_demo/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/next_gen_ui_demo/linux/flutter/generated_plugin_registrant.cc b/next_gen_ui_demo/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 000000000..9f8c70320 --- /dev/null +++ b/next_gen_ui_demo/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include + +void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) window_size_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "WindowSizePlugin"); + window_size_plugin_register_with_registrar(window_size_registrar); +} diff --git a/next_gen_ui_demo/linux/flutter/generated_plugin_registrant.h b/next_gen_ui_demo/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 000000000..e0f0a47bc --- /dev/null +++ b/next_gen_ui_demo/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/next_gen_ui_demo/linux/flutter/generated_plugins.cmake b/next_gen_ui_demo/linux/flutter/generated_plugins.cmake new file mode 100644 index 000000000..12c7443ed --- /dev/null +++ b/next_gen_ui_demo/linux/flutter/generated_plugins.cmake @@ -0,0 +1,24 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + window_size +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/next_gen_ui_demo/linux/main.cc b/next_gen_ui_demo/linux/main.cc new file mode 100644 index 000000000..e7c5c5437 --- /dev/null +++ b/next_gen_ui_demo/linux/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/next_gen_ui_demo/linux/my_application.cc b/next_gen_ui_demo/linux/my_application.cc new file mode 100644 index 000000000..54af944d7 --- /dev/null +++ b/next_gen_ui_demo/linux/my_application.cc @@ -0,0 +1,104 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "next_gen_ui_demo"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "next_gen_ui_demo"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/next_gen_ui_demo/linux/my_application.h b/next_gen_ui_demo/linux/my_application.h new file mode 100644 index 000000000..72271d5e4 --- /dev/null +++ b/next_gen_ui_demo/linux/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/next_gen_ui_demo/macos/.gitignore b/next_gen_ui_demo/macos/.gitignore new file mode 100644 index 000000000..746adbb6b --- /dev/null +++ b/next_gen_ui_demo/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/next_gen_ui_demo/macos/Flutter/Flutter-Debug.xcconfig b/next_gen_ui_demo/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 000000000..4b81f9b2d --- /dev/null +++ b/next_gen_ui_demo/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/next_gen_ui_demo/macos/Flutter/Flutter-Release.xcconfig b/next_gen_ui_demo/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 000000000..5caa9d157 --- /dev/null +++ b/next_gen_ui_demo/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/next_gen_ui_demo/macos/Flutter/GeneratedPluginRegistrant.swift b/next_gen_ui_demo/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 000000000..f5cde84ba --- /dev/null +++ b/next_gen_ui_demo/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,12 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import window_size + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + WindowSizePlugin.register(with: registry.registrar(forPlugin: "WindowSizePlugin")) +} diff --git a/next_gen_ui_demo/macos/Podfile b/next_gen_ui_demo/macos/Podfile new file mode 100644 index 000000000..c795730db --- /dev/null +++ b/next_gen_ui_demo/macos/Podfile @@ -0,0 +1,43 @@ +platform :osx, '10.14' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/next_gen_ui_demo/macos/Runner.xcodeproj/project.pbxproj b/next_gen_ui_demo/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 000000000..e75664cb4 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,791 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; + ABB066A132A1BA0CBE20C0BD /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4FF58516448207D044C6F9D9 /* Pods_RunnerTests.framework */; }; + FB7E38012F89174D1CC5B1A2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BDAC3C9896E370890B04D0D4 /* Pods_Runner.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 13447278AB813B2C91CB09A3 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* next_gen_ui_demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = next_gen_ui_demo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 4FF58516448207D044C6F9D9 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 62FF126D066A3CF7AF63EF2C /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 8ADC6DB37680AD82C2E0D691 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 8CF1BE027B40A35D90DD0AD5 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; + AF1A7D8E53B75D8268CEA628 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + BDAC3C9896E370890B04D0D4 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E26EDB8CF02E2E36276DFA4D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ABB066A132A1BA0CBE20C0BD /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FB7E38012F89174D1CC5B1A2 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + 3B07D42246158CA4F8A385C4 /* Pods */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* next_gen_ui_demo.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + 3B07D42246158CA4F8A385C4 /* Pods */ = { + isa = PBXGroup; + children = ( + E26EDB8CF02E2E36276DFA4D /* Pods-Runner.debug.xcconfig */, + 62FF126D066A3CF7AF63EF2C /* Pods-Runner.release.xcconfig */, + 13447278AB813B2C91CB09A3 /* Pods-Runner.profile.xcconfig */, + AF1A7D8E53B75D8268CEA628 /* Pods-RunnerTests.debug.xcconfig */, + 8CF1BE027B40A35D90DD0AD5 /* Pods-RunnerTests.release.xcconfig */, + 8ADC6DB37680AD82C2E0D691 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + BDAC3C9896E370890B04D0D4 /* Pods_Runner.framework */, + 4FF58516448207D044C6F9D9 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 55BDBBCAEC1A5716A719AF8A /* [CP] Check Pods Manifest.lock */, + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 0F2BE1FD9BD1668EFDD3EBCD /* [CP] Check Pods Manifest.lock */, + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + 7E97DA7F841A159D00648459 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* next_gen_ui_demo.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 0F2BE1FD9BD1668EFDD3EBCD /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; + 55BDBBCAEC1A5716A719AF8A /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 7E97DA7F841A159D00648459 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AF1A7D8E53B75D8268CEA628 /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.nextGenUiDemo.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/next_gen_ui_demo.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/next_gen_ui_demo"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8CF1BE027B40A35D90DD0AD5 /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.nextGenUiDemo.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/next_gen_ui_demo.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/next_gen_ui_demo"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8ADC6DB37680AD82C2E0D691 /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.nextGenUiDemo.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/next_gen_ui_demo.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/next_gen_ui_demo"; + }; + name = Profile; + }; + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/next_gen_ui_demo/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/next_gen_ui_demo/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/next_gen_ui_demo/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next_gen_ui_demo/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 000000000..312f48fdf --- /dev/null +++ b/next_gen_ui_demo/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/next_gen_ui_demo/macos/Runner.xcworkspace/contents.xcworkspacedata b/next_gen_ui_demo/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..21a3cc14c --- /dev/null +++ b/next_gen_ui_demo/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/next_gen_ui_demo/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/next_gen_ui_demo/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/next_gen_ui_demo/macos/Runner/AppDelegate.swift b/next_gen_ui_demo/macos/Runner/AppDelegate.swift new file mode 100644 index 000000000..d53ef6437 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@NSApplicationMain +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..a2ec33f19 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 zcmeEugo5nb1G~3xi~y`}h6XHx5j$(L*3|5S2UfkG$|UCNI>}4f?MfqZ+HW-sRW5RKHEm z^unW*Xx{AH_X3Xdvb%C(Bh6POqg==@d9j=5*}oEny_IS;M3==J`P0R!eD6s~N<36C z*%-OGYqd0AdWClO!Z!}Y1@@RkfeiQ$Ib_ z&fk%T;K9h`{`cX3Hu#?({4WgtmkR!u3ICS~|NqH^fdNz>51-9)OF{|bRLy*RBv#&1 z3Oi_gk=Y5;>`KbHf~w!`u}!&O%ou*Jzf|Sf?J&*f*K8cftMOKswn6|nb1*|!;qSrlw= zr-@X;zGRKs&T$y8ENnFU@_Z~puu(4~Ir)>rbYp{zxcF*!EPS6{(&J}qYpWeqrPWW< zfaApz%<-=KqxrqLLFeV3w0-a0rEaz9&vv^0ZfU%gt9xJ8?=byvNSb%3hF^X_n7`(fMA;C&~( zM$cQvQ|g9X)1AqFvbp^B{JEX$o;4iPi?+v(!wYrN{L}l%e#5y{j+1NMiT-8=2VrCP zmFX9=IZyAYA5c2!QO96Ea-6;v6*$#ZKM-`%JCJtrA3d~6h{u+5oaTaGE)q2b+HvdZ zvHlY&9H&QJ5|uG@wDt1h99>DdHy5hsx)bN`&G@BpxAHh$17yWDyw_jQhhjSqZ=e_k z_|r3=_|`q~uA47y;hv=6-o6z~)gO}ZM9AqDJsR$KCHKH;QIULT)(d;oKTSPDJ}Jx~G#w-(^r<{GcBC*~4bNjfwHBumoPbU}M)O za6Hc2ik)2w37Yyg!YiMq<>Aov?F2l}wTe+>h^YXcK=aesey^i)QC_p~S zp%-lS5%)I29WfywP(r4@UZ@XmTkqo51zV$|U|~Lcap##PBJ}w2b4*kt7x6`agP34^ z5fzu_8rrH+)2u*CPcr6I`gL^cI`R2WUkLDE5*PX)eJU@H3HL$~o_y8oMRoQ0WF9w| z6^HZDKKRDG2g;r8Z4bn+iJNFV(CG;K-j2>aj229gl_C6n12Jh$$h!}KVhn>*f>KcH z;^8s3t(ccVZ5<{>ZJK@Z`hn_jL{bP8Yn(XkwfRm?GlEHy=T($8Z1Mq**IM`zxN9>-yXTjfB18m_$E^JEaYn>pj`V?n#Xu;Z}#$- zw0Vw;T*&9TK$tKI7nBk9NkHzL++dZ^;<|F6KBYh2+XP-b;u`Wy{~79b%IBZa3h*3^ zF&BKfQ@Ej{7ku_#W#mNJEYYp=)bRMUXhLy2+SPMfGn;oBsiG_6KNL8{p1DjuB$UZB zA)a~BkL)7?LJXlCc}bB~j9>4s7tlnRHC5|wnycQPF_jLl!Avs2C3^lWOlHH&v`nGd zf&U!fn!JcZWha`Pl-B3XEe;(ks^`=Z5R zWyQR0u|do2`K3ec=YmWGt5Bwbu|uBW;6D8}J3{Uep7_>L6b4%(d=V4m#(I=gkn4HT zYni3cnn>@F@Wr<hFAY3Y~dW+3bte;70;G?kTn4Aw5nZ^s5|47 z4$rCHCW%9qa4)4vE%^QPMGf!ET!^LutY$G zqdT(ub5T5b+wi+OrV}z3msoy<4)`IPdHsHJggmog0K*pFYMhH!oZcgc5a)WmL?;TPSrerTVPp<#s+imF3v#!FuBNNa`#6 z!GdTCF|IIpz#(eV^mrYKThA4Bnv&vQet@%v9kuRu3EHx1-2-it@E`%9#u`)HRN#M? z7aJ{wzKczn#w^`OZ>Jb898^Xxq)0zd{3Tu7+{-sge-rQ z&0PME&wIo6W&@F|%Z8@@N3)@a_ntJ#+g{pUP7i?~3FirqU`rdf8joMG^ld?(9b7Iv z>TJgBg#)(FcW)h!_if#cWBh}f+V08GKyg|$P#KTS&%=!+0a%}O${0$i)kn9@G!}En zv)_>s?glPiLbbx)xk(lD-QbY(OP3;MSXM5E*P&_`Zks2@46n|-h$Y2L7B)iH{GAAq19h5-y0q>d^oy^y+soJu9lXxAe%jcm?=pDLFEG2kla40e!5a}mpe zdL=WlZ=@U6{>g%5a+y-lx)01V-x;wh%F{=qy#XFEAqcd+m}_!lQ)-9iiOL%&G??t| z?&NSdaLqdPdbQs%y0?uIIHY7rw1EDxtQ=DU!i{)Dkn~c$LG5{rAUYM1j5*G@oVn9~ zizz{XH(nbw%f|wI=4rw^6mNIahQpB)OQy10^}ACdLPFc2@ldVi|v@1nWLND?)53O5|fg`RZW&XpF&s3@c-R?aad!$WoH6u0B|}zt)L($E^@U- zO#^fxu9}Zw7Xl~nG1FVM6DZSR0*t!4IyUeTrnp@?)Z)*!fhd3)&s(O+3D^#m#bAem zpf#*aiG_0S^ofpm@9O7j`VfLU0+{$x!u^}3!zp=XST0N@DZTp!7LEVJgqB1g{psNr za0uVmh3_9qah14@M_pi~vAZ#jc*&aSm$hCNDsuQ-zPe&*Ii#2=2gP+DP4=DY z_Y0lUsyE6yaV9)K)!oI6+*4|spx2at*30CAx~6-5kfJzQ`fN8$!lz%hz^J6GY?mVH zbYR^JZ(Pmj6@vy-&!`$5soyy-NqB^8cCT40&R@|6s@m+ZxPs=Bu77-+Os7+bsz4nA3DrJ8#{f98ZMaj-+BD;M+Jk?pgFcZIb}m9N z{ct9T)Kye&2>l^39O4Q2@b%sY?u#&O9PO4@t0c$NUXG}(DZJ<;_oe2~e==3Z1+`Zo zFrS3ns-c}ZognVBHbg#e+1JhC(Yq7==rSJQ8J~}%94(O#_-zJKwnBXihl#hUd9B_>+T& z7eHHPRC?5ONaUiCF7w|{J`bCWS7Q&xw-Sa={j-f)n5+I=9s;E#fBQB$`DDh<^mGiF zu-m_k+)dkBvBO(VMe2O4r^sf3;sk9K!xgXJU>|t9Vm8Ty;fl5pZzw z9j|}ZD}6}t;20^qrS?YVPuPRS<39d^y0#O1o_1P{tN0?OX!lc-ICcHI@2#$cY}_CY zev|xdFcRTQ_H)1fJ7S0*SpPs8e{d+9lR~IZ^~dKx!oxz?=Dp!fD`H=LH{EeC8C&z-zK$e=!5z8NL=4zx2{hl<5z*hEmO=b-7(k5H`bA~5gT30Sjy`@-_C zKM}^so9Ti1B;DovHByJkTK87cfbF16sk-G>`Q4-txyMkyQS$d}??|Aytz^;0GxvOs zPgH>h>K+`!HABVT{sYgzy3CF5ftv6hI-NRfgu613d|d1cg^jh+SK7WHWaDX~hlIJ3 z>%WxKT0|Db1N-a4r1oPKtF--^YbP=8Nw5CNt_ZnR{N(PXI>Cm$eqi@_IRmJ9#)~ZHK_UQ8mi}w^`+4$OihUGVz!kW^qxnCFo)-RIDbA&k-Y=+*xYv5y4^VQ9S)4W5Pe?_RjAX6lS6Nz#!Hry=+PKx2|o_H_3M`}Dq{Bl_PbP(qel~P@=m}VGW*pK96 zI@fVag{DZHi}>3}<(Hv<7cVfWiaVLWr@WWxk5}GDEbB<+Aj;(c>;p1qmyAIj+R!`@#jf$ zy4`q23L-72Zs4j?W+9lQD;CYIULt%;O3jPWg2a%Zs!5OW>5h1y{Qof!p&QxNt5=T( zd5fy&7=hyq;J8%86YBOdc$BbIFxJx>dUyTh`L z-oKa=OhRK9UPVRWS`o2x53bAv+py)o)kNL6 z9W1Dlk-g6Ht@-Z^#6%`9S9`909^EMj?9R^4IxssCY-hYzei^TLq7Cj>z$AJyaU5=z zl!xiWvz0U8kY$etrcp8mL;sYqGZD!Hs-U2N{A|^oEKA482v1T%cs%G@X9M?%lX)p$ zZoC7iYTPe8yxY0Jne|s)fCRe1mU=Vb1J_&WcIyP|x4$;VSVNC`M+e#oOA`#h>pyU6 z?7FeVpk`Hsu`~T3i<_4<5fu?RkhM;@LjKo6nX>pa%8dSdgPO9~Jze;5r>Tb1Xqh5q z&SEdTXevV@PT~!O6z|oypTk7Qq+BNF5IQ(8s18c=^0@sc8Gi|3e>VKCsaZ?6=rrck zl@oF5Bd0zH?@15PxSJIRroK4Wa?1o;An;p0#%ZJ^tI=(>AJ2OY0GP$E_3(+Zz4$AQ zW)QWl<4toIJ5TeF&gNXs>_rl}glkeG#GYbHHOv-G!%dJNoIKxn)FK$5&2Zv*AFic! z@2?sY&I*PSfZ8bU#c9fdIJQa_cQijnj39-+hS@+~e*5W3bj%A}%p9N@>*tCGOk+cF zlcSzI6j%Q|2e>QG3A<86w?cx6sBtLNWF6_YR?~C)IC6_10SNoZUHrCpp6f^*+*b8` zlx4ToZZuI0XW1W)24)92S)y0QZa);^NRTX6@gh8@P?^=#2dV9s4)Q@K+gnc{6|C}& zDLHr7nDOLrsH)L@Zy{C_2UrYdZ4V{|{c8&dRG;wY`u>w%$*p>PO_}3`Y21pk?8Wtq zGwIXTulf7AO2FkPyyh2TZXM1DJv>hI`}x`OzQI*MBc#=}jaua&czSkI2!s^rOci|V zFkp*Vbiz5vWa9HPFXMi=BV&n3?1?%8#1jq?p^3wAL`jgcF)7F4l<(H^!i=l-(OTDE zxf2p71^WRIExLf?ig0FRO$h~aA23s#L zuZPLkm>mDwBeIu*C7@n@_$oSDmdWY7*wI%aL73t~`Yu7YwE-hxAATmOi0dmB9|D5a zLsR7OQcA0`vN9m0L|5?qZ|jU+cx3_-K2!K$zDbJ$UinQy<9nd5ImWW5n^&=Gg>Gsh zY0u?m1e^c~Ug39M{{5q2L~ROq#c{eG8Oy#5h_q=#AJj2Yops|1C^nv0D1=fBOdfAG z%>=vl*+_w`&M7{qE#$xJJp_t>bSh7Mpc(RAvli9kk3{KgG5K@a-Ue{IbU{`umXrR3ra5Y7xiX42+Q%N&-0#`ae_ z#$Y6Wa++OPEDw@96Zz##PFo9sADepQe|hUy!Zzc2C(L`k9&=a8XFr+!hIS>D2{pdGP1SzwyaGLiH3j--P>U#TWw90t8{8Bt%m7Upspl#=*hS zhy|(XL6HOqBW}Og^tLX7 z+`b^L{O&oqjwbxDDTg2B;Yh2(fW>%S5Pg8^u1p*EFb z`(fbUM0`afawYt%VBfD&b3MNJ39~Ldc@SAuzsMiN%E}5{uUUBc7hc1IUE~t-Y9h@e7PC|sv$xGx=hZiMXNJxz5V(np%6u{n24iWX#!8t#>Ob$in<>dw96H)oGdTHnU zSM+BPss*5)Wz@+FkooMxxXZP1{2Nz7a6BB~-A_(c&OiM)UUNoa@J8FGxtr$)`9;|O z(Q?lq1Q+!E`}d?KemgC!{nB1JJ!B>6J@XGQp9NeQvtbM2n7F%v|IS=XWPVZY(>oq$ zf=}8O_x`KOxZoGnp=y24x}k6?gl_0dTF!M!T`={`Ii{GnT1jrG9gPh)R=RZG8lIR| z{ZJ6`x8n|y+lZuy${fuEDTAf`OP!tGySLXD}ATJO5UoZv|Xo3%7O~L63+kw}v)Ci=&tWx3bQJfL@5O18CbPlkR^IcKA zy1=^Vl-K-QBP?9^R`@;czcUw;Enbbyk@vJQB>BZ4?;DM%BUf^eZE+sOy>a){qCY6Y znYy;KGpch-zf=5|p#SoAV+ie8M5(Xg-{FoLx-wZC9IutT!(9rJ8}=!$!h%!J+vE2e z(sURwqCC35v?1>C1L)swfA^sr16{yj7-zbT6Rf26-JoEt%U?+|rQ zeBuGohE?@*!zR9)1P|3>KmJSgK*fOt>N>j}LJB`>o(G#Dduvx7@DY7};W7K;Yj|8O zGF<+gTuoIKe7Rf+LQG3-V1L^|E;F*}bQ-{kuHq}| ze_NwA7~US19sAZ)@a`g*zkl*ykv2v3tPrb4Og2#?k6Lc7@1I~+ew48N&03hW^1Cx+ zfk5Lr4-n=#HYg<7ka5i>2A@ZeJ60gl)IDX!!p zzfXZQ?GrT>JEKl7$SH!otzK6=0dIlqN)c23YLB&Krf9v-{@V8p+-e2`ujFR!^M%*; ze_7(Jh$QgoqwB!HbX=S+^wqO15O_TQ0-qX8f-|&SOuo3ZE{{9Jw5{}>MhY}|GBhO& zv48s_B=9aYQfa;d>~1Z$y^oUUaDer>7ve5+Gf?rIG4GZ!hRKERlRNgg_C{W_!3tsI2TWbX8f~MY)1Q`6Wj&JJ~*;ay_0@e zzx+mE-pu8{cEcVfBqsnm=jFU?H}xj@%CAx#NO>3 z_re3Rq%d1Y7VkKy{=S73&p;4^Praw6Y59VCP6M?!Kt7{v#DG#tz?E)`K95gH_mEvb z%$<~_mQ$ad?~&T=O0i0?`YSp?E3Dj?V>n+uTRHAXn`l!pH9Mr}^D1d@mkf+;(tV45 zH_yfs^kOGLXlN*0GU;O&{=awxd?&`{JPRr$z<1HcAO2K`K}92$wC}ky&>;L?#!(`w z68avZGvb728!vgw>;8Z8I@mLtI`?^u6R>sK4E7%=y)jpmE$fH!Dj*~(dy~-2A5Cm{ zl{1AZw`jaDmfvaB?jvKwz!GC}@-Dz|bFm1OaPw(ia#?>vF7Y5oh{NVbyD~cHB1KFn z9C@f~X*Wk3>sQH9#D~rLPslAd26@AzMh=_NkH_yTNXx6-AdbAb z{Ul89YPHslD?xAGzOlQ*aMYUl6#efCT~WI zOvyiewT=~l1W(_2cEd(8rDywOwjM-7P9!8GCL-1<9KXXO=6%!9=W++*l1L~gRSxLVd8K=A7&t52ql=J&BMQu{fa6y zXO_e>d?4X)xp2V8e3xIQGbq@+vo#&n>-_WreTTW0Yr?|YRPP43cDYACMQ(3t6(?_k zfgDOAU^-pew_f5U#WxRXB30wcfDS3;k~t@b@w^GG&<5n$Ku?tT(%bQH(@UHQGN)N|nfC~7?(etU`}XB)$>KY;s=bYGY#kD%i9fz= z2nN9l?UPMKYwn9bX*^xX8Y@%LNPFU>s#Ea1DaP%bSioqRWi9JS28suTdJycYQ+tW7 zrQ@@=13`HS*dVKaVgcem-45+buD{B;mUbY$YYULhxK)T{S?EB<8^YTP$}DA{(&)@S zS#<8S96y9K2!lG^VW-+CkfXJIH;Vo6wh)N}!08bM$I7KEW{F6tqEQ?H@(U zAqfi%KCe}2NUXALo;UN&k$rU0BLNC$24T_mcNY(a@lxR`kqNQ0z%8m>`&1ro40HX} z{{3YQ;2F9JnVTvDY<4)x+88i@MtXE6TBd7POk&QfKU-F&*C`isS(T_Q@}K)=zW#K@ zbXpcAkTT-T5k}Wj$dMZl7=GvlcCMt}U`#Oon1QdPq%>9J$rKTY8#OmlnNWBYwafhx zqFnym@okL#Xw>4SeRFejBnZzY$jbO)e^&&sHBgMP%Ygfi!9_3hp17=AwLBNFTimf0 zw6BHNXw19Jg_Ud6`5n#gMpqe%9!QB^_7wAYv8nrW94A{*t8XZu0UT&`ZHfkd(F{Px zD&NbRJP#RX<=+sEeGs2`9_*J2OlECpR;4uJie-d__m*(aaGE}HIo+3P{my@;a~9Y$ zHBXVJ83#&@o6{M+pE9^lI<4meLLFN_3rwgR4IRyp)~OF0n+#ORrcJ2_On9-78bWbG zuCO0esc*n1X3@p1?lN{qWS?l7J$^jbpeel{w~51*0CM+q9@9X=>%MF(ce~om(}?td zjkUmdUR@LOn-~6LX#=@a%rvj&>DFEoQscOvvC@&ZB5jVZ-;XzAshwx$;Qf@U41W=q zOSSjQGQV8Qi3*4DngNMIM&Cxm7z*-K`~Bl(TcEUxjQ1c=?)?wF8W1g;bAR%sM#LK( z_Op?=P%)Z+J!>vpN`By0$?B~Out%P}kCriDq@}In&fa_ZyKV+nLM0E?hfxuu%ciUz z>yAk}OydbWNl7{)#112j&qmw;*Uj&B;>|;Qwfc?5wIYIHH}s6Mve@5c5r+y)jK9i( z_}@uC(98g)==AGkVN?4>o@w=7x9qhW^ zB(b5%%4cHSV?3M?k&^py)j*LK16T^Ef4tb05-h-tyrjt$5!oo4spEfXFK7r_Gfv7#x$bsR7T zs;dqxzUg9v&GjsQGKTP*=B(;)be2aN+6>IUz+Hhw-n>^|`^xu*xvjGPaDoFh2W4-n z@Wji{5Y$m>@Vt7TE_QVQN4*vcfWv5VY-dT0SV=l=8LAEq1go*f zkjukaDV=3kMAX6GAf0QOQHwP^{Z^=#Lc)sh`QB)Ftl&31jABvq?8!3bt7#8vxB z53M{4{GR4Hl~;W3r}PgXSNOt477cO62Yj(HcK&30zsmWpvAplCtpp&mC{`2Ue*Bwu zF&UX1;w%`Bs1u%RtGPFl=&sHu@Q1nT`z={;5^c^^S~^?2-?<|F9RT*KQmfgF!7=wD@hytxbD;=9L6PZrK*1<4HMObNWehA62DtTy)q5H|57 z9dePuC!1;0MMRRl!S@VJ8qG=v^~aEU+}2Qx``h1LII!y{crP2ky*R;Cb;g|r<#ryo zju#s4dE?5CTIZKc*O4^3qWflsQ(voX>(*_JP7>Q&$%zCAIBTtKC^JUi@&l6u&t0hXMXjz_y!;r@?k|OU9aD%938^TZ>V? zqJmom_6dz4DBb4Cgs_Ef@}F%+cRCR%UMa9pi<-KHN;t#O@cA%(LO1Rb=h?5jiTs93 zPLR78p+3t>z4|j=<>2i4b`ketv}9Ax#B0)hn7@bFl;rDfP8p7u9XcEb!5*PLKB(s7wQC2kzI^@ae)|DhNDmSy1bOLid%iIap@24A(q2XI!z_hkl-$1T10 z+KKugG4-}@u8(P^S3PW4x>an;XWEF-R^gB{`t8EiP{ZtAzoZ!JRuMRS__-Gg#Qa3{<;l__CgsF+nfmFNi}p z>rV!Y6B@cC>1up)KvaEQiAvQF!D>GCb+WZsGHjDeWFz?WVAHP65aIA8u6j6H35XNYlyy8>;cWe3ekr};b;$9)0G`zsc9LNsQ&D?hvuHRpBxH)r-1t9|Stc*u<}Ol&2N+wPMom}d15_TA=Aprp zjN-X3*Af$7cDWMWp##kOH|t;c2Pa9Ml4-)o~+7P;&q8teF-l}(Jt zTGKOQqJTeT!L4d}Qw~O0aanA$Vn9Rocp-MO4l*HK)t%hcp@3k0%&_*wwpKD6ThM)R z8k}&7?)YS1ZYKMiy?mn>VXiuzX7$Ixf7EW8+C4K^)m&eLYl%#T=MC;YPvD&w#$MMf zQ=>`@rh&&r!@X&v%ZlLF42L_c=5dSU^uymKVB>5O?AouR3vGv@ei%Z|GX5v1GK2R* zi!!}?+-8>J$JH^fPu@)E6(}9$d&9-j51T^n-e0Ze%Q^)lxuex$IL^XJ&K2oi`wG}QVGk2a7vC4X?+o^z zsCK*7`EUfSuQA*K@Plsi;)2GrayQOG9OYF82Hc@6aNN5ulqs1Of-(iZQdBI^U5of^ zZg2g=Xtad7$hfYu6l~KDQ}EU;oIj(3nO#u9PDz=eO3(iax7OCmgT2p_7&^3q zg7aQ;Vpng*)kb6=sd5?%j5Dm|HczSChMo8HHq_L8R;BR5<~DVyU$8*Tk5}g0eW5x7 z%d)JFZ{(Y<#OTKLBA1fwLM*fH7Q~7Sc2Ne;mVWqt-*o<;| z^1@vo_KTYaMnO$7fbLL+qh#R$9bvnpJ$RAqG+z8h|} z3F5iwG*(sCn9Qbyg@t0&G}3fE0jGq3J!JmG2K&$urx^$z95) z7h?;4vE4W=v)uZ*Eg3M^6f~|0&T)2D;f+L_?M*21-I1pnK(pT$5l#QNlT`SidYw~o z{`)G)Asv#cue)Ax1RNWiRUQ(tQ(bzd-f2U4xlJK+)ZWBxdq#fp=A>+Qc%-tl(c)`t z$e2Ng;Rjvnbu7((;v4LF9Y1?0el9hi!g>G{^37{ z`^s-03Z5jlnD%#Mix19zkU_OS|86^_x4<0(*YbPN}mi-$L?Z4K(M|2&VV*n*ZYN_UqI?eKZi3!b)i z%n3dzUPMc-dc|q}TzvPy!VqsEWCZL(-eURDRG4+;Eu!LugSSI4Fq$Ji$Dp08`pfP_C5Yx~`YKcywlMG;$F z)R5!kVml_Wv6MSpeXjG#g?kJ0t_MEgbXlUN3k|JJ%N>|2xn8yN>>4qxh!?dGI}s|Y zDTKd^JCrRSN+%w%D_uf=Tj6wIV$c*g8D96jb^Kc#>5Fe-XxKC@!pIJw0^zu;`_yeb zhUEm-G*C=F+jW%cP(**b61fTmPn2WllBr4SWNdKe*P8VabZsh0-R|?DO=0x`4_QY) zR7sthW^*BofW7{Sak&S1JdiG?e=SfL24Y#w_)xrBVhGB-13q$>mFU|wd9Xqe-o3{6 zSn@@1@&^)M$rxb>UmFuC+pkio#T;mSnroMVZJ%nZ!uImi?%KsIX#@JU2VY(`kGb1A z7+1MEG)wd@)m^R|a2rXeviv$!emwcY(O|M*xV!9%tBzarBOG<4%gI9SW;Um_gth4=gznYzOFd)y8e+3APCkL)i-OI`;@7-mCJgE`js(M} z;~ZcW{{FMVVO)W>VZ}ILouF#lWGb%Couu}TI4kubUUclW@jEn6B_^v!Ym*(T*4HF9 zWhNKi8%sS~viSdBtnrq!-Dc5(G^XmR>DFx8jhWvR%*8!m*b*R8e1+`7{%FACAK`7 zzdy8TmBh?FVZ0vtw6npnWwM~XjF2fNvV#ZlGG z?FxHkXHN>JqrBYoPo$)zNC7|XrQfcqmEXWud~{j?La6@kbHG@W{xsa~l1=%eLly8B z4gCIH05&Y;6O2uFSopNqP|<$ml$N40^ikxw0`o<~ywS1(qKqQN!@?Ykl|bE4M?P+e zo$^Vs_+x)iuw?^>>`$&lOQOUkZ5>+OLnRA)FqgpDjW&q*WAe(_mAT6IKS9;iZBl8M z<@=Y%zcQUaSBdrs27bVK`c$)h6A1GYPS$y(FLRD5Yl8E3j0KyH08#8qLrsc_qlws; znMV%Zq8k+&T2kf%6ZO^2=AE9>?a587g%-={X}IS~P*I(NeCF9_9&`)|ok0iiIun zo+^odT0&Z4k;rn7I1v87=z!zKU(%gfB$(1mrRYeO$sbqM22Kq68z9wgdg8HBxp>_< zn9o%`f?sVO=IN#5jSX&CGODWlZfQ9A)njK2O{JutYwRZ?n0G_p&*uwpE`Md$iQxrd zoQfF^b8Ou)+3BO_3_K5y*~?<(BF@1l+@?Z6;^;U>qlB)cdro;rxOS1M{Az$s^9o5sXDCg8yD<=(pKI*0e zLk>@lo#&s0)^*Q+G)g}C0IErqfa9VbL*Qe=OT@&+N8m|GJF7jd83vY#SsuEv2s{Q> z>IpoubNs>D_5?|kXGAPgF@mb_9<%hjU;S0C8idI)a=F#lPLuQJ^7OnjJlH_Sks9JD zMl1td%YsWq3YWhc;E$H1<0P$YbSTqs`JKY%(}svsifz|h8BHguL82dBl+z0^YvWk8 zGy;7Z0v5_FJ2A$P0wIr)lD?cPR%cz>kde!=W%Ta^ih+Dh4UKdf7ip?rBz@%y2&>`6 zM#q{JXvW9ZlaSk1oD!n}kSmcDa2v6T^Y-dy+#fW^y>eS8_%<7tWXUp8U@s$^{JFfKMjDAvR z$YmVB;n3ofl!ro9RNT!TpQpcycXCR}$9k5>IPWDXEenQ58os?_weccrT+Bh5sLoiH zZ_7~%t(vT)ZTEO= zb0}@KaD{&IyK_sd8b$`Qz3%UA`nSo zn``!BdCeN!#^G;lK@G2ron*0jQhbdw)%m$2;}le@z~PSLnU-z@tL)^(p%P>OO^*Ff zNRR9oQ`W+x^+EU+3BpluwK77|B3=8QyT|$V;02bn_LF&3LhLA<#}{{)jE)}CiW%VEU~9)SW+=F%7U-iYlQ&q!#N zwI2{(h|Pi&<8_fqvT*}FLN^0CxN}#|3I9G_xmVg$gbn2ZdhbmGk7Q5Q2Tm*ox8NMo zv`iaZW|ZEOMyQga5fts?&T-eCCC9pS0mj7v0SDkD=*^MxurP@89v&Z#3q{FM!a_nr zb?KzMv`BBFOew>4!ft@A&(v-kWXny-j#egKef|#!+3>26Qq0 zv!~8ev4G`7Qk>V1TaMT-&ziqoY3IJp8_S*%^1j73D|=9&;tDZH^!LYFMmME4*Wj(S zRt~Q{aLb_O;wi4u&=}OYuj}Lw*j$@z*3>4&W{)O-oi@9NqdoU!=U%d|se&h?^$Ip# z)BY+(1+cwJz!yy4%l(aLC;T!~Ci>yAtXJb~b*yr&v7f{YCU8P|N1v~H`xmGsG)g)y z4%mv=cPd`s7a*#OR7f0lpD$ueP>w8qXj0J&*7xX+U!uat5QNk>zwU$0acn5p=$88L=jn_QCSYkTV;1~(yUem#0gB`FeqY98sf=>^@ z_MCdvylv~WL%y_%y_FE1)j;{Szj1+K7Lr_y=V+U zk6Tr;>XEqlEom~QGL!a+wOf(@ZWoxE<$^qHYl*H1a~kk^BLPn785%nQb$o;Cuz0h& za9LMx^bKEbPS%e8NM33Jr|1T|ELC(iE!FUci38xW_Y7kdHid#2ie+XZhP;2!Z;ZAM zB_cXKm)VrPK!SK|PY00Phwrpd+x0_Aa;}cDQvWKrwnQrqz##_gvHX2ja?#_{f#;bz`i>C^^ zTLDy;6@HZ~XQi7rph!mz9k!m;KchA)uMd`RK4WLK7)5Rl48m#l>b(#`WPsl<0j z-sFkSF6>Nk|LKnHtZ`W_NnxZP62&w)S(aBmmjMDKzF%G;3Y?FUbo?>b5;0j8Lhtc4 zr*8d5Y9>g@FFZaViw7c16VsHcy0u7M%6>cG1=s=Dtx?xMJSKIu9b6GU8$uSzf43Y3 zYq|U+IWfH;SM~*N1v`KJo!|yfLxTFS?oHsr3qvzeVndVV^%BWmW6re_S!2;g<|Oao z+N`m#*i!)R%i1~NO-xo{qpwL0ZrL7hli;S z3L0lQ_z}z`fdK39Mg~Zd*%mBdD;&5EXa~@H(!###L`ycr7gW`f)KRuqyHL3|uyy3h zSS^td#E&Knc$?dXs*{EnPYOp^-vjAc-h4z#XkbG&REC7;0>z^^Z}i8MxGKerEY z>l?(wReOlXEsNE5!DO&ZWyxY)gG#FSZs%fXuzA~XIAPVp-%yb2XLSV{1nH6{)5opg z(dZKckn}Q4Li-e=eUDs1Psg~5zdn1>ql(*(nn6)iD*OcVkwmKL(A{fix(JhcVB&}V zVt*Xb!{gzvV}dc446>(D=SzfCu7KB`oMjv6kPzSv&B>>HLSJP|wN`H;>oRw*tl#N) z*zZ-xwM7D*AIsBfgqOjY1Mp9aq$kRa^dZU_xw~KxP;|q(m+@e+YSn~`wEJzM|Ippb zzb@%;hB7iH4op9SqmX?j!KP2chsb79(mFossBO-Zj8~L}9L%R%Bw<`^X>hjkCY5SG z7lY!8I2mB#z)1o;*3U$G)3o0A&{0}#B;(zPd2`OF`Gt~8;0Re8nIseU z_yzlf$l+*-wT~_-cYk$^wTJ@~7i@u(CZs9FVkJCru<*yK8&>g+t*!JqCN6RH%8S-P zxH8+Cy#W?!;r?cLMC(^BtAt#xPNnwboI*xWw#T|IW^@3|q&QYY6Ehxoh@^URylR|T zne-Y6ugE^7p5bkRDWIh)?JH5V^ub82l-LuVjDr7UT^g`q4dB&mBFRWGL_C?hoeL(% zo}ocH5t7|1Mda}T!^{Qt9vmA2ep4)dQSZO>?Eq8}qRp&ZJ?-`Tnw+MG(eDswP(L*X3ahC2Ad0_wD^ff9hfzb%Jd`IXx5 zae@NMzBXJDwJS?7_%!TB^E$N8pvhOHDK$7YiOelTY`6KX8hK6YyT$tk*adwN>s^Kp zwM3wGVPhwKU*Yq-*BCs}l`l#Tej(NQ>jg*S0TN%D+GcF<14Ms6J`*yMY;W<-mMN&-K>((+P}+t+#0KPGrzjP zJ~)=Bcz%-K!L5ozIWqO(LM)l_9lVOc4*S65&DKM#TqsiWNG{(EZQw!bc>qLW`=>p-gVJ;T~aN2D_- z{>SZC=_F+%hNmH6ub%Ykih0&YWB!%sd%W5 zHC2%QMP~xJgt4>%bU>%6&uaDtSD?;Usm}ari0^fcMhi_)JZgb1g5j zFl4`FQ*%ROfYI}e7RIq^&^a>jZF23{WB`T>+VIxj%~A-|m=J7Va9FxXV^%UwccSZd zuWINc-g|d6G5;95*%{e;9S(=%yngpfy+7ao|M7S|Jb0-4+^_q-uIqVS&ufU880UDH*>(c)#lt2j zzvIEN>>$Y(PeALC-D?5JfH_j+O-KWGR)TKunsRYKLgk7eu4C{iF^hqSz-bx5^{z0h ze2+u>Iq0J4?)jIo)}V!!m)%)B;a;UfoJ>VRQ*22+ncpe9f4L``?v9PH&;5j{WF?S_C>Lq>nkChZB zjF8(*v0c(lU^ZI-)_uGZnnVRosrO4`YinzI-RSS-YwjYh3M`ch#(QMNw*)~Et7Qpy z{d<3$4FUAKILq9cCZpjvKG#yD%-juhMj>7xIO&;c>_7qJ%Ae8Z^m)g!taK#YOW3B0 zKKSMOd?~G4h}lrZbtPk)n*iOC1~mDhASGZ@N{G|dF|Q^@1ljhe=>;wusA&NvY*w%~ zl+R6B^1yZiF)YN>0ms%}qz-^U-HVyiN3R9k1q4)XgDj#qY4CE0)52%evvrrOc898^ z*^)XFR?W%g0@?|6Mxo1ZBp%(XNv_RD-<#b^?-Fs+NL^EUW=iV|+Vy*F%;rBz~pN7%-698U-VMfGEVnmEz7fL1p)-5sLT zL;Iz>FCLM$p$c}g^tbkGK1G$IALq1Gd|We@&TtW!?4C7x4l*=4oF&&sr0Hu`x<5!m zhX&&Iyjr?AkNXU_5P_b^Q3U9sy#f6ZF@2C96$>1k*E-E%DjwvA{VL0PdU~suN~DZo zm{T!>sRdp`Ldpp9olrH@(J$QyGq!?#o1bUo=XP2OEuT3`XzI>s^0P{manUaE4pI%! zclQq;lbT;nx7v3tR9U)G39h?ryrxzd0xq4KX7nO?piJZbzT_CU&O=T(Vt;>jm?MgC z2vUL#*`UcMsx%w#vvjdamHhmN!(y-hr~byCA-*iCD};#l+bq;gkwQ0oN=AyOf@8ow>Pj<*A~2*dyjK}eYdN);%!t1 z6Y=|cuEv-|5BhA?n2Db@4s%y~(%Wse4&JXw=HiO48%c6LB~Z0SL1(k^9y?ax%oj~l zf7(`iAYLdPRq*ztFC z7VtAb@s{as%&Y;&WnyYl+6Wm$ru*u!MKIg_@01od-iQft0rMjIj8e7P9eKvFnx_X5 zd%pDg-|8<>T2Jdqw>AII+fe?CgP+fL(m0&U??QL8YzSjV{SFi^vW~;wN@or_(q<0Y zRt~L}#JRcHOvm$CB)T1;;7U>m%)QYBLTR)KTARw%zoDxgssu5#v{UEVIa<>{8dtkm zXgbCGp$tfue+}#SD-PgiNT{Zu^YA9;4BnM(wZ9-biRo_7pN}=aaimjYgC=;9@g%6< zxol5sT_$<8{LiJ6{l1+sV)Z_QdbsfEAEMw!5*zz6)Yop?T0DMtR_~wfta)E6_G@k# zZRP11D}$ir<`IQ`<(kGfAS?O-DzCyuzBq6dxGTNNTK?r^?zT30mLY!kQ=o~Hv*k^w zvq!LBjW=zzIi%UF@?!g9vt1CqdwV(-2LYy2=E@Z?B}JDyVkluHtzGsWuI1W5svX~K z&?UJ45$R7g>&}SFnLnmw09R2tUgmr_w6mM9C}8GvQX>nL&5R#xBqnp~Se(I>R42`T zqZe9p6G(VzNB3QD><8+y%{e%6)sZDRXTR|MI zM#eZmao-~_`N|>Yf;a;7yvd_auTG#B?Vz5D1AHx=zpVUFe7*hME z+>KH5h1In8hsVhrstc>y0Q!FHR)hzgl+*Q&5hU9BVJlNGRkXiS&06eOBV^dz3;4d5 zeYX%$62dNOprZV$px~#h1RH?_E%oD6y;J;pF%~y8M)8pQ0olYKj6 zE+hd|7oY3ot=j9ZZ))^CCPADL6Jw%)F@A{*coMApcA$7fZ{T@3;WOQ352F~q6`Mgi z$RI6$8)a`Aaxy<8Bc;{wlDA%*%(msBh*xy$L-cBJvQ8hj#FCyT^%+Phw1~PaqyDou^JR0rxDkSrmAdjeYDFDZ`E z)G3>XtpaSPDlydd$RGHg;#4|4{aP5c_Om z2u5xgnhnA)K%8iU==}AxPxZCYC)lyOlj9as#`5hZ=<6<&DB%i_XCnt5=pjh?iusH$ z>)E`@HNZcAG&RW3Ys@`Ci{;8PNzE-ZsPw$~Wa!cP$ye+X6;9ceE}ah+3VY7Mx}#0x zbqYa}eO*FceiY2jNS&2cH9Y}(;U<^^cWC5Ob&)dZedvZA9HewU3R;gRQ)}hUdf+~Q zS_^4ds*W1T#bxS?%RH&<739q*n<6o|mV;*|1s>ly-Biu<2*{!!0#{_234&9byvn0* z5=>{95Zfb{(?h_Jk#ocR$FZ78O*UTOxld~0UF!kyGM|nH%B*qf)Jy}N!uT9NGeM19 z-@=&Y0yGGo_dw!FD>juk%P$6$qJkj}TwLBoefi;N-$9LAeV|)|-ET&culW9Sb_pc_ zp{cXI0>I0Jm_i$nSvGnYeLSSj{ccVS2wyL&0x~&5v;3Itc82 z5lIAkfn~wcY-bQB$G!ufWt%qO;P%&2B_R5UKwYxMemIaFm)qF1rA zc>gEihb=jBtsXCi0T%J37s&kt*3$s7|6)L(%UiY)6axuk{6RWIS8^+u;)6!R?Sgap z9|6<0bx~AgVi|*;zL@2x>Pbt2Bz*uv4x-`{F)XatTs`S>unZ#P^ZiyjpfL_q2z^fqgR-fbOcG=Y$q>ozkw1T6dH8-)&ww+z?E0 zR|rV(9bi6zpX3Ub>PrPK!{X>e$C66qCXAeFm)Y+lX8n2Olt7PNs*1^si)j!QmFV#t z0P2fyf$N^!dyTot&`Ew5{i5u<8D`8U`qs(KqaWq5iOF3x2!-z65-|HsyYz(MAKZ?< zCpQR;E)wn%s|&q(LVm0Ab>gdmCFJeKwVTnv@Js%!At;I=A>h=l=p^&<4;Boc{$@h< z38v`3&2wJtka@M}GS%9!+SpJ}sdtoYzMevVbnH+d_eMxN@~~ zZq@k)7V5f8u!yAX2qF3qjS7g%n$JuGrMhQF!&S^7(%Y{rP*w2FWj(v_J{+Hg*}wdWOd~pHQ19&n3RWeljK9W%sz&Y3Tm3 zR`>6YR54%qBHGa)2xbs`9cs_EsNHxsfraEgZ)?vrtooeA0sPKJK7an){ngtV@{SBa zkO6ORr1_Xqp+`a0e}sC*_y(|RKS13ikmHp3C^XkE@&wjbGWrt^INg^9lDz#B;bHiW zkK4{|cg08b!yHFSgPca5)vF&gqCgeu+c82%&FeM^Bb}GUxLy-zo)}N;#U?sJ2?G2BNe*9u_7kE5JeY!it=f`A_4gV3} z`M!HXZy#gN-wS!HvHRqpCHUmjiM;rVvpkC!voImG%OFVN3k(QG@X%e``VJSJ@Z7tb z*Onlf>z^D+&$0!4`IE$;2-NSO9HQWd+UFW(r;4hh;(j^p4H-~6OE!HQp^96v?{9Zt z;@!ZcccV%C2s6FMP#qvo4kG6C04A>XILt>JW}%0oE&HM5f6 zYLD!;My>CW+j<~=Wzev{aYtx2ZNw|ptTFV(4;9`6Tmbz6K1)fv4qPXa2mtoPt&c?P zhmO+*o8uP3ykL6E$il00@TDf6tOW7fmo?Oz_6GU^+5J=c22bWyuH#aNj!tT-^IHrJ zu{aqTYw@q;&$xDE*_kl50Jb*dp`(-^p={z}`rqECTi~3 z>0~A7L6X)=L5p#~$V}gxazgGT7$3`?a)zen>?TvAuQ+KAIAJ-s_v}O6@`h9n-sZk> z`3{IJeb2qu9w=P*@q>iC`5wea`KxCxrx{>(4{5P+!cPg|pn~;n@DiZ0Y>;k5mnKeS z!LIfT4{Lgd=MeysR5YiQKCeNhUQ;Os1kAymg6R!u?j%LF z4orCszIq_n52ulpes{(QN|zirdtBsc{9^Z72Ycb2ht?G^opkT_#|4$wa9`)8k3ilU z%ntAi`nakS1r10;#k^{-ZGOD&Z2|k=p40hRh5D7(&JG#Cty|ECOvwsSHkkSa)36$4 z?;v#%@D(=Raw(HP5s>#4Bm?f~n1@ebH}2tv#7-0l-i^H#H{PC|F@xeNS+Yw{F-&wH z07)bj8MaE6`|6NoqKM~`4%X> zKFl&7g1$Z3HB>lxn$J`P`6GSb6CE6_^NA1V%=*`5O!zP$a7Vq)IwJAki~XBLf=4TF zPYSL}>4nOGZ`fyHChq)jy-f{PKFp6$plHB2=;|>%Z^%)ecVue(*mf>EH_uO^+_zm? zJATFa9SF~tFwR#&0xO{LLf~@}s_xvCPU8TwIJgBs%FFzjm`u?1699RTui;O$rrR{# z1^MqMl5&6)G%@_k*$U5Kxq84!AdtbZ!@8FslBML}<`(Jr zenXrC6bFJP=R^FMBg7P?Pww-!a%G@kJH_zezKvuWU0>m1uyy}#Vf<$>u?Vzo3}@O% z1JR`B?~Tx2)Oa|{DQ_)y9=oY%haj!80GNHw3~qazgU-{|q+Bl~H94J!a%8UR?XsZ@ z0*ZyQugyru`V9b(0OrJOKISfi89bSVR zQy<+i_1XY}4>|D%X_`IKZUPz6=TDb)t1mC9eg(Z=tv zq@|r37AQM6A%H%GaH3szv1L^ku~H%5_V*fv$UvHl*yN4iaqWa69T2G8J2f3kxc7UE zOia@p0YNu_q-IbT%RwOi*|V|&)e5B-u>4=&n@`|WzH}BK4?33IPpXJg%`b=dr_`hU z8JibW_3&#uIN_#D&hX<)x(__jUT&lIH$!txEC@cXv$7yB&Rgu){M`9a`*PH} zRcU)pMWI2O?x;?hzR{WdzKt^;_pVGJAKKd)F$h;q=Vw$MP1XSd<;Mu;EU5ffyKIg+ z&n-Nb?h-ERN7(fix`htopPIba?0Gd^y(4EHvfF_KU<4RpN0PgVxt%7Yo99X*Pe|zR z?ytK&5qaZ$0KSS$3ZNS$$k}y(2(rCl=cuYZg{9L?KVgs~{?5adxS))Upm?LDo||`H zV)$`FF3icFmxcQshXX*1k*w3O+NjBR-AuE70=UYM*7>t|I-oix=bzDwp2*RoIwBp@r&vZukG; zyi-2zdyWJ3+E?{%?>e2Ivk`fAn&Ho(KhGSVE4C-zxM-!j01b~mTr>J|5={PrZHOgO zw@ND3=z(J7D>&C7aw{zT>GHhL2BmUX0GLt^=31RRPSnjoUO9LYzh_yegyPoAKhAQE z>#~O27dR4&LdQiak6={9_{LN}Z>;kyVYKH^d^*!`JVSXJlx#&r4>VnP$zb{XoTb=> zZsLvh>keP3fkLTIDdpf-@(ADfq4=@X=&n>dyU0%dwD{zsjCWc;r`-e~X$Q3NTz_TJ zOXG|LMQQIjGXY3o5tBm9>k6y<6XNO<=9H@IXF;63rzsC=-VuS*$E{|L_i;lZmHOD< zY92;>4spdeRn4L6pY4oUKZG<~+8U-q7ZvNOtW0i*6Q?H`9#U3M*k#4J;ek(MwF02x zUo1wgq9o6XG#W^mxl>pAD)Ll-V5BNsdVQ&+QS0+K+?H-gIBJ-ccB1=M_hxB6qcf`C zJ?!q!J4`kLhAMry4&a_0}up{CFevcjBl|N(uDM^N5#@&-nQt2>z*U}eJGi}m5f}l|IRVj-Q;a>wcLpK5RRWJ> zysdd$)Nv0tS?b~bw1=gvz3L_ZAIdDDPj)y|bp1;LE`!av!rODs-tlc}J#?erTgXRX z$@ph%*~_wr^bQYHM7<7=Q=45v|Hk7T=mDpW@OwRy3A_v`ou@JX5h!VI*e((v*5Aq3 zVYfB4<&^Dq5%^?~)NcojqK`(VXP$`#w+&VhQOn%;4pCkz;NEH6-FPHTQ+7I&JE1+Ozq-g43AEZV>ceQ^9PCx zZG@OlEF~!Lq@5dttlr%+gNjRyMwJdJU(6W_KpuVnd{3Yle(-p#6erIRc${l&qx$HA z89&sp=rT7MJ=DuTL1<5{)wtUfpPA|Gr6Q2T*=%2RFm@jyo@`@^*{5{lFPgv>84|pv z%y{|cVNz&`9C*cUely>-PRL)lHVErAKPO!NQ3<&l5(>Vp(MuJnrOf^4qpIa!o3D7( z1bjn#Vv$#or|s7Hct5D@%;@48mM%ISY7>7@ft8f?q~{s)@BqGiupoK1BAg?PyaDQ1 z`YT8{0Vz{zBwJ={I4)#ny{RP{K1dqzAaQN_aaFC%Z>OZ|^VhhautjDavGtsQwx@WH zr|1UKk^+X~S*RjCY_HN!=Jx>b6J8`Q(l4y|mc<6jnkHVng^Wk(A13-;AhawATsmmE#H%|8h}f1frs2x@Fwa_|ea+$tdG2Pz{7 z!ox^w^>^Cv4e{Xo7EQ7bxCe8U+LZG<_e$RnR?p3t?s^1Mb!ieB z#@45r*PTc_yjh#P=O8Zogo+>1#|a2nJvhOjIqKK1U&6P)O%5s~M;99O<|Y9zomWTL z666lK^QW`)cXV_^Y05yQZH3IRCW%25BHAM$c0>w`x!jh^15Zp6xYb!LoQ zr+RukTw0X2mxN%K0%=8|JHiaA3pg5+GMfze%9o5^#upx0M?G9$+P^DTx7~qq9$Qoi zV$o)yy zuUq>3c{_q+HA5OhdN*@*RkxRuD>Bi{Ttv_hyaaB;XhB%mJ2Cb{yL;{Zu@l{N?!GKE7es6_9J{9 zO(tmc0ra2;@oC%SS-8|D=omQ$-Dj>S)Utkthh{ovD3I%k}HoranSepC_yco2Q8 zY{tAuPIhD{X`KbhQIr%!t+GeH%L%q&p z3P%<-S0YY2Emjc~Gb?!su85}h_qdu5XN2XJUM}X1k^!GbwuUPT(b$Ez#LkG6KEWQB z7R&IF4srHe$g2R-SB;inW9T{@+W+~wi7VQd?}7||zi!&V^~o0kM^aby7YE_-B63^d zf_uo8#&C77HBautt_YH%v6!Q>H?}(0@4pv>cM6_7dHJ)5JdyV0Phi!)vz}dv{*n;t zf(+#Hdr=f8DbJqbMez)(n>@QT+amJ7g&w6vZ-vG^H1v~aZqG~u!1D(O+jVAG0EQ*aIsr*bsBdbD`)i^FNJ z&B@yxqPFCRGT#}@dmu-{0vp47xk(`xNM6E=7QZ5{tg6}#zFrd8Pb_bFg7XP{FsYP8 zbvWqG6#jfg*4gvY9!gJxJ3l2UjP}+#QMB(*(?Y&Q4PO`EknE&Cb~Yb@lCbk;-KY)n zzbjS~W5KZ3FV%y>S#$9Sqi$FIBCw`GfPDP|G=|y32VV-g@a1D&@%_oAbB@cAUx#aZ zlAPTJ{iz#Qda8(aNZE&0q+8r3&z_Ln)b=5a%U|OEcc3h1f&8?{b8ErEbilrun}mh3 z$1o^$-XzIiH|iGoJA`w`o|?w3m*NX|sd$`Mt+f*!hyJvQ2fS*&!SYn^On-M|pHGlu z4SC5bM7f6BAkUhGuN*w`97LLkbCx=p@K5RL2p>YpDtf{WTD|d3ucb6iVZ-*DRtoEA zCC5(x)&e=giR_id>5bE^l%Mxx>0@FskpCD4oq@%-Fg$8IcdRwkfn;DsjoX(v;mt3d z_4Mnf#Ft4x!bY!7Hz?RRMq9;5FzugD(sbt4up~6j?-or+ch~y_PqrM2hhTToJjR_~ z)E1idgt7EW>G*9%Q^K;o_#uFjX!V2pwfpgi>}J&p_^QlZki!@#dkvR`p?bckC`J*g z=%3PkFT3HAX2Q+dShHUbb1?ZcK8U7oaufLTCB#1W{=~k0Jabgv>q|H+GU=f-y|{p4 zwN|AE+YbCgx=7vlXE?@gkXW9PaqbO#GB=4$o0FkNT#EI?aLVd2(qnPK$Yh%YD%v(mdwn}bgsxyIBI^)tY?&G zi^2JfClZ@4b{xFjyTY?D61w@*ez2@5rWLpG#34id?>>oPg{`4F-l`7Lg@D@Hc}On} zx%BO4MsLYosLGACJ-d?ifZ35r^t*}wde>AAWO*J-X%jvD+gL9`u`r=kP zyeJ%FqqKfz8e_3K(M1RmB?gIYi{W7Z<THP2ihue0mbpu5n(x_l|e1tw(q!#m5lmef6ktqIb${ zV+ee#XRU}_dDDUiV@opHZ@EbQ<9qIZJMDsZDkW0^t3#j`S)G#>N^ZBs8k+FJhAfu< z%u!$%dyP3*_+jUvCf-%{x#MyDAK?#iPfE<(@Q0H7;a125eD%I(+!x1f;Sy`e<9>nm zQH4czZDQmW7^n>jL)@P@aAuAF$;I7JZE5a8~AJI5CNDqyf$gjloKR7C?OPt9yeH}n5 zNF8Vhmd%1O>T4EZD&0%Dt7YWNImmEV{7QF(dy!>q5k>Kh&Xy8hcBMUvVV~Xn8O&%{ z&q=JCYw#KlwM8%cu-rNadu(P~i3bM<_a{3!J*;vZhR6dln6#eW0^0kN)Vv3!bqM`w z{@j*eyzz=743dgFPY`Cx3|>ata;;_hQ3RJd+kU}~p~aphRx`03B>g4*~f%hUV+#D9rYRbsGD?jkB^$3XcgB|3N1L& zrmk9&Dg450mAd=Q_p?gIy5Zx7vRL?*rpNq76_rysFo)z)tp0B;7lSb9G5wX1vC9Lc z5Q8tb-alolVNWFsxO_=12o}X(>@Mwz1mkYh1##(qQwN=7VKz?61kay8A9(94Ky(4V zq6qd2+4a20Z0QRrmp6C?4;%U?@MatfXnkj&U6bP_&2Ny}BF%4{QhNx*Tabik9Y-~Z z@0WV6XD}aI(%pN}oW$X~Qo_R#+1$@J8(31?zM`#e`#(0f<-AZ^={^NgH#lc?oi(Mu zMk|#KR^Q;V@?&(sh5)D;-fu)rx%gXZ1&5)MR+Mhssy+W>V%S|PRNyTAd}74<(#J>H zR(1BfM%eIv0+ngHH6(i`?-%_4!6PpK*0X)79SX0X$`lv_q>9(E2kkkP;?c@rW2E^Q zs<;`9dg|lDMNECFrD3jTM^Mn-C$44}9d9Kc z#>*k&e#25;D^%82^1d@Yt{Y91MbEu0C}-;HR4+IaCeZ`l?)Q8M2~&E^FvJ?EBJJ(% zz1>tCW-E~FB}DI}z#+fUo+=kQME^=eH>^%V8w)dh*ugPFdhMUi3R2Cg}Zak4!k_8YW(JcR-)hY8C zXja}R7@%Q0&IzQTk@M|)2ViZDNCDRLNI)*lH%SDa^2TG4;%jE4n`8`aQAA$0SPH2@ z)2eWZuP26+uGq+m8F0fZn)X^|bNe z#f{qYZS!(CdBdM$N2(JH_a^b#R2=>yVf%JI_ieRFB{w&|o9txwMrVxv+n78*aXFGb z>Rkj2yq-ED<)A46T9CL^$iPynv`FoEhUM10@J+UZ@+*@_gyboQ>HY9CiwTUo7OM=w zd~$N)1@6U8H#Zu(wGLa_(Esx%h@*pmm5Y9OX@CY`3kPYPQx@z8yAgtm(+agDU%4?c zy8pR4SYbu8vY?JX6HgVq7|f=?w(%`m-C+a@E{euXo>XrGmkmFGzktI*rj*8D z)O|CHKXEzH{~iS+6)%ybRD|JRQ6j<+u_+=SgnJP%K+4$st+~XCVcAjI9e5`RYq$n{ zzy!X9Nv7>T4}}BZpSj9G9|(4ei-}Du<_IZw+CB`?fd$w^;=j8?vlp(#JOWiHaXJjB0Q00RHJ@sG6N#y^H7t^&V} z;VrDI4?75G$q5W9mV=J2iP24NHJy&d|HWHva>FaS#3AO?+ohh1__FMx;?`f{HG3v0 ztiO^Wanb>U4m9eLhoc_2B(ca@YdnHMB*~aYO+AE(&qh@?WukLbf_y z>*3?Xt-lxr?#}y%kTv+l8;!q?Hq8XSU+1E8x~o@9$)zO2z9K#(t`vPDri`mKhv|sh z{KREcy`#pnV>cTT7dm7M9B@9qJRt3lfo(C`CNkIq@>|2<(yn!AmVN?ST zbX_`JjtWa3&N*U{K7FYX8})*D#2@KBae` zhKS~s!r%SrXdhCsv~sF}7?ocyS?afya6%rDBu6g^b2j#TOGp^1zrMR}|70Z>CeYq- z1o|-=FBKlu{@;pm@QQJ_^!&hzi;0Z_Ho){x3O1KQ#TYk=rAt9`YKC0Y^}8GWIN{QW znYJyVTrmNvl!L=YS1G8BAxGmMUPi+Q7yb0XfG`l+L1NQVSbe^BICYrD;^(rke{jWCEZOtVv3xFze!=Z&(7}!)EcN;v0Dbit?RJ6bOr;N$ z=nk8}H<kCEE+IK3z<+3mkn4q!O7TMWpKShWWWM)X*)m6k%3luF6c>zOsFccvfLWf zH+mNkh!H@vR#~oe=ek}W3!71z$Dlj0c(%S|sJr>rvw!x;oCek+8f8s!U{DmfHcNpO z9>(IKOMfJwv?ey`V2ysSx2Npeh_x#bMh)Ngdj$al;5~R7Ac5R2?*f{hI|?{*$0qU- zY$6}ME%OGh^zA^z9zJUs-?a4ni8cw_{cYED*8x{bWg!Fn9)n;E9@B+t;#k}-2_j@# zg#b%R(5_SJAOtfgFCBZc`n<&z6)%nOIu@*yo!a% zpLg#36KBN$01W{b;qWN`Tp(T#jh%;Zp_zpS64lvBVY2B#UK)p`B4Oo)IO3Z&D6<3S zfF?ZdeNEnzE{}#gyuv)>;z6V{!#bx)` zY;hL*f(WVD*D9A4$WbRKF2vf;MoZVdhfWbWhr{+Db5@M^A4wrFReuWWimA4qp`GgoL2`W4WPUL5A=y3Y3P z%G?8lLUhqo@wJW8VDT`j&%YY7xh51NpVYlsrk_i4J|pLO(}(b8_>%U2M`$iVRDc-n zQiOdJbroQ%*vhN{!{pL~N|cfGooK_jTJCA3g_qs4c#6a&_{&$OoSQr_+-O^mKP=Fu zGObEx`7Qyu{nHTGNj(XSX*NPtAILL(0%8Jh)dQh+rtra({;{W2=f4W?Qr3qHi*G6B zOEj7%nw^sPy^@05$lOCjAI)?%B%&#cZ~nC|=g1r!9W@C8T0iUc%T*ne z)&u$n>Ue3FN|hv+VtA+WW)odO-sdtDcHfJ7s&|YCPfWaVHpTGN46V7Lx@feE#Od%0XwiZy40plD%{xl+K04*se zw@X4&*si2Z_0+FU&1AstR)7!Th(fdaOlsWh`d!y=+3m!QC$Zlkg8gnz!}_B7`+wSz z&kD?6{zPnE3uo~Tv8mLP%RaNt2hcCJBq=0T>%MW~Q@Tpt2pPP1?KcywH>in5@ zx+5;xu-ltFfo5vLU;2>r$-KCHjwGR&1XZ0YNyrXXAUK!FLM_7mV&^;;X^*YH(FLRr z`0Jjg7wiq2bisa`CG%o9i)o1`uG?oFjU_Zrv1S^ipz$G-lc^X@~6*)#%nn+RbgksJfl{w=k31(q>7a!PCMp5YY{+Neh~mo zG-3dd!0cy`F!nWR?=9f_KP$X?Lz&cLGm_ohy-|u!VhS1HG~e7~xKpYOh=GmiiU;nu zrZ5tWfan3kp-q_vO)}vY6a$19Q6UL0r znJ+iSHN-&w@vDEZ0V%~?(XBr|jz&vrBNLOngULxtH(Rp&U*rMY42n;05F11xh?k;n_DX2$4|vWIkXnbwfC z=ReH=(O~a;VEgVO?>qsP*#eOC9Y<_9Yt<6X}X{PyF7UXIA$f)>NR5P&4G_Ygq(9TwwQH*P>Rq>3T4I+t2X(b5ogXBAfNf!xiF#Gilm zp2h{&D4k!SkKz-SBa%F-ZoVN$7GX2o=(>vkE^j)BDSGXw?^%RS9F)d_4}PN+6MlI8*Uk7a28CZ)Gp*EK)`n5i z){aq=0SFSO-;sw$nAvJU-$S-cW?RSc7kjEBvWDr1zxb1J7i;!i+3PQwb=)www?7TZ zE~~u)vO>#55eLZW;)F(f0KFf8@$p)~llV{nO7K_Nq-+S^h%QV_CnXLi)p*Pq&`s!d zK2msiR;Hk_rO8`kqe_jfTmmv|$MMo0ll}mI)PO4!ikVd(ZThhi&4ZwK?tD-}noj}v zBJ?jH-%VS|=t)HuTk?J1XaDUjd_5p1kPZi6y#F6$lLeRQbj4hsr=hX z4tXkX2d5DeLMcAYTeYm|u(XvG5JpW}hcOs4#s8g#ihK%@hVz|kL=nfiBqJ{*E*WhC zht3mi$P3a(O5JiDq$Syu9p^HY&9~<#H89D8 zJm84@%TaL_BZ+qy8+T3_pG7Q%z80hnjN;j>S=&WZWF48PDD%55lVuC0%#r5(+S;WH zS7!HEzmn~)Ih`gE`faPRjPe^t%g=F ztpGVW=Cj5ZkpghCf~`ar0+j@A=?3(j@7*pq?|9)n*B4EQTA1xj<+|(Y72?m7F%&&& zdO44owDBPT(8~RO=dT-K4#Ja@^4_0v$O3kn73p6$s?mCmVDUZ+Xl@QcpR6R3B$=am z%>`r9r2Z79Q#RNK?>~lwk^nQlR=Hr-ji$Ss3ltbmB)x@0{VzHL-rxVO(++@Yr@Iu2 zTEX)_9sVM>cX$|xuqz~Y8F-(n;KLAfi*63M7mh&gsPR>N0pd9h!0bm%nA?Lr zS#iEmG|wQd^BSDMk0k?G>S-uE$vtKEF8Dq}%vLD07zK4RLoS?%F1^oZZI$0W->7Z# z?v&|a`u#UD=_>i~`kzBGaPj!mYX5g?3RC4$5EV*j0sV)>H#+$G6!ci=6`)85LWR=FCp-NUff`;2zG9nU6F~ z;3ZyE*>*LvUgae+uMf}aV}V*?DCM>{o31+Sx~6+sz;TI(VmIpDrN3z+BUj`oGGgLP z>h9~MP}Pw#YwzfGP8wSkz`V#}--6}7S9yZvb{;SX?6PM_KuYpbi~*=teZr-ga2QqIz{QrEyZ@>eN*qmy;N@FCBbRNEeeoTmQyrX;+ zCkaJ&vOIbc^2BD6_H+Mrcl?Nt7O{xz9R_L0ZPV_u!sz+TKbXmhK)0QWoe-_HwtKJ@@7=L+ z+K8hhf=4vbdg3GqGN<;v-SMIzvX=Z`WUa_91Yf89^#`G(f-Eq>odB^p-Eqx}ENk#&MxJ+%~Ad2-*`1LNT>2INPw?*V3&kE;tt?rQyBw? zI+xJD04GTz1$7~KMnfpkPRW>f%n|0YCML@ODe`10;^DXX-|Hb*IE%_Vi#Pn9@#ufA z_8NY*1U%VseqYrSm?%>F@`laz+f?+2cIE4Jg6 z_VTcx|DSEA`g!R%RS$2dSRM|9VQClsW-G<~=j5T`pTbu-x6O`R z98b;}`rPM(2={YiytrqX+uh65f?%XiPp`;4CcMT*E*dQJ+if9^D>c_Dk8A(cE<#r=&!& z_`Z01=&MEE+2@yr!|#El=yM}v>i=?w^2E_FLPy(*4A9XmCNy>cBWdx3U>1RylsItO z4V8T$z3W-qqq*H`@}lYpfh=>C!tieKhoMGUi)EpWDr;yIL&fy};Y&l|)f^QE*k~4C zH>y`Iu%#S)z)YUqWO%el*Z)ME#p{1_8-^~6UF;kBTW zMQ!eXQuzkR#}j{qb(y9^Y!X7&T}}-4$%4w@w=;w+>Z%uifR9OoQ>P?0d9xpcwa>7kTv2U zT-F?3`Q`7xOR!gS@j>7In>_h){j#@@(ynYh;nB~}+N6qO(JO1xA z@59Pxc#&I~I64slNR?#hB-4XE>EFU@lUB*D)tu%uEa))B#eJ@ZOX0hIulfnDQz-y8 z`CX@(O%_VC{Ogh&ot``jlDL%R!f>-8yq~oLGxBO?+tQb5%k@a9zTs!+=NOwSVH-cR zqFo^jHeXDA_!rx$NzdP;>{-j5w3QUrR<;}=u2|FBJ;D#v{SK@Z6mjeV7_kFmWt95$ zeGaF{IU?U>?W`jzrG_9=9}yN*LKyzz))PLE+)_jc#4Rd$yFGol;NIk(qO1$5VXR)+ zxF7%f4=Q!NzR>DVXUB&nUT&>Nyf+5QRF+Z`X-bB*7=`|Go5D1&h~ zflKLw??kpiRm0h3|1GvySC2^#kcFz^5{79KKlq@`(leBa=_4CgV9sSHr{RIJ^KwR_ zY??M}-x^=MD+9`v@I3jue=OCn0kxno#6i>b(XKk_XTp_LpI}X*UA<#* zsgvq@yKTe_dTh>q1aeae@8yur08S(Q^8kXkP_ty48V$pX#y9)FQa~E7P7}GP_CbCm zc2dQxTeW(-~Y6}im24*XOC8ySfH*HMEnW3 z4CXp8iK(Nk<^D$g0kUW`8PXn2kdcDk-H@P0?G8?|YVlIFb?a>QunCx%B9TzsqQQ~HD!UO7zq^V!v9jho_FUob&Hxi ztU1nNOK)a!gkb-K4V^QVX05*>-^i|{b`hhvQLyj`E1vAnj0fbqqO%r z6Q;X1x0dL~GqMv%8QindZ4CZ%7pYQW~ z9)I*#Gjref-q(4Z*E#1c&rE0-_(4;_M(V7rgH_7H;ps1s%GBmU z{4a|X##j#XUF2n({v?ZUUAP5k>+)^F)7n-npbV3jAlY8V3*W=fwroDS$c&r$>8aH` zH+irV{RG3^F3oW2&E%5hXgMH9>$WlqX76Cm+iFmFC-DToTa`AcuN9S!SB+BT-IA#3P)JW1m~Cuwjs`Ep(wDXE4oYmt*aU z!Naz^lM}B)JFp7ejro7MU9#cI>wUoi{lylR2~s)3M!6a=_W~ITXCPd@U9W)qA5(mdOf zd3PntGPJyRX<9cgX?(9~TZB5FdEHW~gkJXY51}?s4ZT_VEdwOwD{T2E-B>oC8|_ZwsPNj=-q(-kwy%xX2K0~H z{*+W`-)V`7@c#Iuaef=?RR2O&x>W0A^xSwh5MsjTz(DVG-EoD@asu<>72A_h<39_# zawWVU<9t{r*e^u-5Q#SUI6dV#p$NYEGyiowT>>d*or=Ps!H$-3={bB|An$GPkP5F1 zTnu=ktmF|6E*>ZQvk^~DX(k!N`tiLut*?3FZhs$NUEa4ccDw66-~P;x+0b|<!ZN7Z%A`>2tN#CdoG>((QR~IV_Gj^Yh%!HdA~4C3jOXaqb6Ou z21T~Wmi9F6(_K0@KR@JDTh3-4mv2=T7&ML<+$4;b9SAtv*Uu`0>;VVZHB{4?aIl3J zL(rMfk?1V@l)fy{J5DhVlj&cWKJCcrpOAad(7mC6#%|Sn$VwMjtx6RDx1zbQ|Ngg8N&B56DGhu;dYg$Z{=YmCNn+?ceDclp65c_RnKs4*vefnhudSlrCy6-96vSB4_sFAj# zftzECwmNEOtED^NUt{ZDjT7^g>k1w<=af>+0)%NA;IPq6qx&ya7+QAu=pk8t>KTm` zEBj9J*2t|-(h)xc>Us*jHs)w9qmA>8@u21UqzKk*Ei#0kCeW6o z-2Q+Tvt25IUkb}-_LgD1_FUJ!U8@8OC^9(~Kd*0#zr*8IQkD)6Keb(XFai5*DYf~` z@U?-{)9X&BTf!^&@^rjmvea#9OE~m(D>qfM?CFT9Q4RxqhO0sA7S)=--^*Q=kNh7Y zq%2mu_d_#23d`+v`Ol263CZ<;D%D8Njj6L4T`S*^{!lPL@pXSm>2;~Da- zBX97TS{}exvSva@J5FJVCM$j4WDQuME`vTw>PWS0!;J7R+Kq zVUy6%#n5f7EV(}J#FhDpts;>=d6ow!yhJj8j>MJ@Wr_?x30buuutIG97L1A*QFT$c ziC5rBS;#qj=~yP-yWm-p(?llTwDuhS^f&<(9vA9@UhMH2-Fe_YAG$NvK6X{!mvPK~ zuEA&PA}meylmaIbbJXDOzuIn8cJNCV{tUA<$Vb?57JyAM`*GpEfMmFq>)6$E(9e1@W`l|R%-&}38#bl~levA#fx2wiBk^)mPj?<=S&|gv zQO)4*91$n08@W%2b|QxEiO0KxABAZC{^4BX^6r>Jm?{!`ZId9jjz<%pl(G5l));*`UU3KfnuXSDj2aP>{ zRIB$9pm7lj3*Xg)c1eG!cb+XGt&#?7yJ@C)(Ik)^OZ5><4u$VLCqZ#q2NMCt5 z6$|VN(RWM;5!JV?-h<JkEZ(SZF zC(6J+>A6Am9H7OlOFq6S62-2&z^Np=#xXsOq0WUKr zY_+Ob|CQd1*!Hirj5rn*=_bM5_zKmq6lG zn*&_=x%?ATxZ8ZTzd%biKY_qyNC#ZQ1vX+vc48N>aJXEjs{Y*3Op`Q7-oz8jyAh>d zNt_qvn`>q9aO~7xm{z`ree%lJ3YHCyC`q`-jUVCn*&NIml!uuMNm|~u3#AV?6kC+B z?qrT?xu2^mobSlzb&m(8jttB^je0mx;TT8}`_w(F11IKz83NLj@OmYDpCU^u?fD{) z&=$ptwVw#uohPb2_PrFX;X^I=MVXPDpqTuYhRa>f-=wy$y3)40-;#EUDYB1~V9t%$ z^^<7Zbs0{eB93Pcy)96%XsAi2^k`Gmnypd-&x4v9rAq<>a(pG|J#+Q>E$FvMLmy7T z5_06W=*ASUyPRfgCeiPIe{b47Hjqpb`9Xyl@$6*ntH@SV^bgH&Fk3L9L=6VQb)Uqa z33u#>ecDo&bK(h1WqSH)b_Th#Tvk&%$NXC@_pg5f-Ma#7q;&0QgtsFO~`V&{1b zbSP*X)jgLtd@9XdZ#2_BX4{X~pS8okF7c1xUhEV9>PZco>W-qz7YMD`+kCGULdK|^ zE7VwQ-at{%&fv`a+b&h`TjzxsyQX05UB~a0cuU-}{*%jR48J+yGWyl3Kdz5}U>;lE zgkba*yI5>xqIPz*Y!-P$#_mhHB!0Fpnv{$k-$xxjLAc`XdmHd1k$V@2QlblfJPrly z*~-4HVCq+?9vha>&I6aRGyq2VUon^L1a)g`-Xm*@bl2|hi2b|UmVYW|b+Gy?!aS-p z86a}Jep6Mf>>}n^*Oca@Xz}kxh)Y&pX$^CFAmi#$YVf57X^}uQD!IQSN&int=D> zJ>_|au3Be?hmPKK)1^JQ(O29eTf`>-x^jF2xYK6j_9d_qFkWHIan5=7EmDvZoQWz5 zZGb<{szHc9Nf@om)K_<=FuLR<&?5RKo3LONFQZ@?dyjemAe4$yDrnD zglU#XYo6|~L+YpF#?deK6S{8A*Ou;9G`cdC4S0U74EW18bc5~4>)<*}?Z!1Y)j;Ot zosEP!pc$O^wud(={WG%hY07IE^SwS-fGbvpP?;l8>H$;}urY2JF$u#$q}E*ZG%fR# z`p{xslcvG)kBS~B*^z6zVT@e}imYcz_8PRzM4GS52#ms5Jg9z~ME+uke`(Tq1w3_6 zxUa{HerS7!Wq&y(<9yyN@P^PrQT+6ij_qW3^Q)I53iIFCJE?MVyGLID!f?QHUi1tq z0)RNIMGO$2>S%3MlBc09l!6_(ECxXTU>$KjWdZX^3R~@3!SB zah5Za2$63;#y!Y}(wg1#shMePQTzfQfXyJ-Tf`R05KYcyvo8UW9-IWGWnzxR6Vj8_la;*-z5vWuwUe7@sKr#Tr51d z2PWn5h@|?QU3>k=s{pZ9+(}oye zc*95N_iLmtmu}H-t$smi49Y&ovX}@mKYt2*?C-i3Lh4*#q5YDg1Mh`j9ovRDf9&& zp_UMQh`|pC!|=}1uWoMK5RAjdTg3pXPCsYmRkWW}^m&)u-*c_st~gcss(`haA)xVw zAf=;s>$`Gq_`A}^MjY_BnCjktBNHY1*gzh(i0BFZ{Vg^F?Pbf`8_clvdZ)5(J4EWzAP}Ba5zX=S(2{gDugTQ3`%!q`h7kYSnwC`zEWeuFlODKiityMaM9u{Z%E@@y1jmZA#ⅅ8MglG&ER{i5lN315cO?EdHNLrg? zgxkP+ytd)OMWe7QvTf8yj4;V=?m172!BEt@6*TPUT4m3)yir}esnIodFGatGnsSfJ z**;;yw=1VCb2J|A7cBz-F5QFOQh2JDQFLarE>;4ZMzQ$s^)fOscIVv2-o{?ct3~Zv zy{0zU>3`+-PluS|ADraI9n~=3#Tvfx{pDr^5i$^-h5tL*CV@AeQFLxv4Y<$xI{9y< zZ}li*WIQ+XS!IK;?IVD0)C?pNBA(DMxqozMy1L#j+ba1Cd+2w&{^d-OEWSSHmNH>9 z%1Ldo(}5*>a8rjQF&@%Ka`-M|HM+m<^E#bJtVg&YM}uMb7UVJ|OVQI-zt-*BqQ zG&mq`Bn7EY;;+b%Obs9i{gC^%>kUz`{Qnc=ps7ra_UxEP$!?f&|5fHnU(rr?7?)D z$3m9e{&;Zu6yfa1ixTr;80IP7KLgkKCbgv1%f_weZK6b7tY+AS%fyjf6dR(wQa9TD zYG9`#!N4DqpMim|{uViKVf0B+Vmsr7p)Y+;*T~-2HFr!IOedrpiXXz+BDppd5BTf3 ztsg4U?0wR?9@~`iV*nwGmtYFGnq`X< zf?G%=o!t50?gk^qN#J(~!sxi=_yeg?Vio04*w<2iBT+NYX>V#CFuQGLsX^u8dPIkP zPraQK?ro`rqA4t7yUbGYk;pw6Z})Bv=!l-a5^R5Ra^TjoXI?=Qdup)rtyhwo<(c9_ zF>6P%-6Aqxb8gf?wY1z!4*hagIch)&A4treifFk=E9v@kRXyMm?V*~^LEu%Y%0u(| z52VvVF?P^D<|fG)_au(!iqo~1<5eF$Sc5?)*$4P3MAlSircZ|F+9T66-$)0VUD6>e zl2zlSl_QQ?>ULUA~H?QbWazYeh61%B!!u;c(cs`;J|l z=7?q+vo^T#kzddr>C;VZ5h*;De8^F2y{iA#9|(|5@zYh4^FZ-3r)xej=GghMN3K2Y z=(xE`TM%V8UHc4`6Cdhz4%i0OY^%DSguLUXQ?Y3LP+5x3jyN)-UDVhEC}AI5wImt; zHY|*=UW}^bS3va-@L$-fJz2P2LbCl)XybkY)p%2MjPJd-FzkdyWW~NBC@NlPJkz{v z+6k6#nif`E>>KCGaP34oY*c#nBFm#G8a0^px1S6mm6Cs+d}E8{J;DX=NEHb|{fZm0 z@Ors@ebTgbf^Jg&DzVS|h&Or)56$+;%&sh0)`&6VkS@QxQ=#6WxF5g+FWSr7Lp9uF zV#rc`yLe?f*u6oZoi3WpOkKFf^>lHb2GC6t!)dyGaQbK7&BNZ7oyP)hUX1Y(LdW-I z6LI2$i%+g!zsjT(5l}5ROLb)8`9kkldbklcq6tfLSrAyh#s(C1U2Sz9`h3#T9eX#Hryi1AU^!uv*&6I~qdM_B7-@`~8#O^jN&t7+S zTKI6;T$1@`Kky-;;$rU1*TdY;cUyg$JXalGc&3-Rh zJ&7kx=}~4lEx*%NUJA??g8eIeavDIDC7hTvojgRIT$=MlpU}ff0BTTTvjsZ0=wR)8 z?{xmc((XLburb0!&SA&fc%%46KU0e&QkA%_?9ZrZU%9Wt{*5DCUbqIBR%T#Ksp?)3 z%qL(XlnM!>F!=q@jE>x_P?EU=J!{G!BQq3k#mvFR%lJO2EU2M8egD?0r!2s*lL2Y} zdrmy`XvEarM&qTUz4c@>Zn}39Xi2h?n#)r3C4wosel_RUiL8$t;FSuga{9}-%FuOU z!R9L$Q!njtyY!^070-)|#E8My)w*~4k#hi%Y77)c5zfs6o(0zaj~nla0Vt&7bUqfD zrZmH~A50GOvk73qiyfXX6R9x3Qh)K=>#g^^D65<$5wbZjtrtWxfG4w1f<2CzsKj@e zvdsQ$$f6N=-%GJk~N7G(+-29R)Cbz8SIn_u|(VYVSAnlWZhPp8z6qm5=hvS$Y zULkbE?8HQ}vkwD!V*wW7BDBOGc|75qLVkyIWo~3<#nAT6?H_YSsvS+%l_X$}aUj7o z>A9&3f2i-`__#MiM#|ORNbK!HZ|N&jKNL<-pFkqAwuMJi=(jlv5zAN6EW`ex#;d^Z z<;gldpFcVD&mpfJ1d7><79BnCn~z8U*4qo0-{i@1$CCaw+<$T{29l1S2A|8n9ccx0!1Pyf;)aGWQ15lwEEyU35_Y zQS8y~9j9ZiByE-#BV7eknm>ba75<_d1^*% zB_xp#q`bpV1f9o6C(vbhN((A-K+f#~3EJtjWVhRm+g$1$f2scX!eZkfa%EIZd2ZVG z6sbBo@~`iwZQC4rH9w84rlHjd!|fHc9~12Il&?-FldyN50A`jzt~?_4`OWmc$qkgI zD_@7^L@cwg4WdL(sWrBYmkH;OjZGE^0*^iWZM3HBfYNw(hxh5>k@MH>AerLNqUg*Og9LiYmTgPw zX9IiqU)s?_obULF(#f~YeK#6P>;21x+cJ$KTL}|$xeG?i`zO;dAk0{Uj6GhT-p-=f zP2NJUcRJ{fZy=bbsN1Jk3q}(!&|Fkt_~GYdcBd7^JIt)Q!!7L8`3@so@|GM9b(D$+ zlD&69JhPnT>;xlr(W#x`JJvf*DPX(4^OQ%1{t@)Lkw5nc5zLVmRt|s+v zn(25v*1Z(c8RP@=3l_c6j{{=M$=*aO^ zPMUbbEKO7m2Q$4Xn>GIdwm#P_P4`or_w0+J+joK&qIP#uEiCo&RdOaP_7Z;PvfMh@ zsXUTn>ppdoEINmmq5T1BO&57*?QNLolW-8iz-jv7VAIgoV&o<<-vbD)--SD%FFOLd z>T$u+V>)4Dl6?A24xd1vgm}MovrQjf-@YH7cIk6tP^eq-xYFymnoSxcw}{lsbCP1g zE_sX|c_nq(+INR3iq+Oj^TwkjhbdOo}FmpPS2*#NGxNgl98|H0M*lu)Cu0TrA|*t=i`KIqoUl(Q7jN zb6!H-rO*!&_>-t)vG5jG>WR6z#O9O&IvA-4ho9g;as~hSnt!oF5 z6w(4pxz|WpO?HO<>sC_OB4MW)l`-E9DZJ$!=ytzO}fWXwnP>`8yWm5tYw`b1KDdg zp@oD;g===H+sj+^v6DCpEu7R?fh7>@pz>f74V5&#PvBN+95?28`mIdGR@f*L@j2%% z%;Rz5R>l#1U zYCS_5_)zUjgq#0SdO#)xEfYJ)JrHLXfe8^GK3F*CA(Y)jsSPJ{j&Ae!SeWN%Ev727 zxdd3Y0n^OBOtBSKdglEBL)i5=NdKfqK=1n~6LX`ja;#Tr!II$AAH{Z#sp%`rwNGT5 zvHT%(LJB+kD{5N}7c_Rk6}@tikIeq%@MqxX%$P!(238YD(H<_d;xxo*oMiv^1io>g zt5z&6`}cjci90q2r0hutQXr!UA~|4e*u=k81D(Cp7n{4LVCa+u0%-8Uha+sqI#Om~ z!&)KN(#Zone^~&@Ja{|l?X64Dxk)q>tLRv{=0|t$`Kdaj z#{AJr>{_BtpS|XEgTVJ4WMvBRk-(mk@ZYGdY1VwI z81;z(MBGV|2j*Cj%dvl8?b2{{B#e0B7&7wfv+>g`R2^Ai5C_WUx|CnTrHm+RFGXrt zs<~zBtk@?Niu%|o6IEL+y60Q>zJlv``ePCa07C%*O~lj?74|}&A0!uA)3V7ST8b_- z6CBP1;x+S@xTzgOY2#s%@=bhZ@i@BwmS)neQG&=9KUtRf^K=MvjC5JnqLqykCE_P0 zjf#V4SdH2#%2EuDb!>FLHK7j;nd6VLW|$3gJuegpEl3DZ`BpJU$<}}A(rW?<6OB@9 zKP9G3An?T5BztrLdlximA;{>Tr7GAeSU=^<*y;%RHj+7;v+tonyh(8d;Izn}2{oz& zW)fsZ9gHYpI?B|uekS3zHUue3mI zb7?0+&Zm>Kq(F>~%VYEn)0b32I3~O^?Wx-HI|Zu?1-OA2yfyJ;gWygLOeU;)vRm3u z5J4vDIQYztnEm=QauX2(WJO{yzI0HUFl+oO&isMf!Yh2pu@p}65)|0EdWRbg(@J6qo5_Els>#|_2a1p0&y&UP z8x#Z69q=d663NPPi>DHx3|QhJl5Ka$Cfqbvl*oRLYYXiH>g8*vriy!0XgmT~&jh3l z+!|~l=oCj<*PD>1EY*#+^a{rVk3T(66rJ^DxGt|~XTNnJf$vix1v1qdYu+d@Jn~bh z!7`a`y+IEcS#O*fSzA;I`e_T~XYzpW7alC%&?1nr);tSkNwO&J`JnX+7X1Q8fRh_d zx%)Xh_YjI3hwTCmGUeq_Z@H#ovkk_b(`osa$`aNmt`9A#t&<^jvuf z1E1DrW(%7PpAOQGwURz@luEW9-)L!`Jy*aC*4mcD?Si~mb=3Kn#M#1il9%`C0wkZ` zbpJ-qEPaOE5Y5iv_z%Wr{y4jh#U+o^KtP{pPCq-Qf&!=Uu)cEE(Iu9`uT#oHwHj+w z_R=kr7vmr~{^5sxXkj|WzNhAlXkW^oB4V)BZ{({~4ylOcM#O>DR)ZhD;RWwmf|(}y zDn)>%iwCE=*82>zP0db>I4jN#uxcYWod+<;#RtdMGPDpQW;riE;3cu``1toL|FaWa zK)MVA%ogXt3q55(Q&q+sjOG`?h=UJE9P;8i#gI*#f}@JbV(DuGEkee;La*9{p&Z?;~lE!&-kUFCtoDHY*MS zzj+S$L9+aTs(F^4ufZe6>SBg;m@>0&+kEZMFmD*~p~sx?rx=!>Ge;KYw<33y#*&77 zFZI`YE(Iz?+tH;Fq;y=MaSqT{Ayh*HFv0(z{_?Q+7@nE%p?S8%X6c!+y;!0NLXwJV8Co_}R3*7>n+oMsQpv8}8ZS-P@(Rg|gmxZHzf=nMOUAAY}AZGfWVzZjE@4$=7xkIrs8BE%606aVU%kxz_04ipig51k& z(>c9rJL2q%xvU%Zj#GR9C9)HLCR;#zQBB@x;e_9$ayn(JmSg_*0G?+wOF?&iu@}S{ zt$;TPf*Lj$3=d<}Q3o!Hq@3~lFxoiCyeEt}o3fihIn{x2s1)e2@3##&GYDq~YO|!q zUs0P-zy)+ohl-VQ`bhvUpC{-d$lkpML_M%Kl6@#_@A}w{jWCDsPa#cSbWA#C4Sf|*C*&Z{ zz?hOU7Cc`?>H$WGqITA2P~fYudnQHxB8^;0ZFKC;19F#~n_2P@{cE{Czq-#K5L_8| zc3aOEwq4%zL5>YU_mc9fc-p~{fBTWUkxTiZvxt9FOqC{s#TBp(#dWc+{Ee{dZ#B!g zHnaOJ8;KO1G;QU2ciodE+#Z$Wuz*Hc6NRO!AUMi|gov=>=cwcZeL&`>Jfn!35hV1J z;B2@0!bIR853w%T*m6)gQ?DPnQ)o6EtKaN3L;o?*q<83d&lG&U=A|6hcT?f0)4h6{ zGIZ0|!}-?*n{zr}-}cC}qWxEN%g60+{my)o^57{QEn(tSrmD7o)|r0+HVpQPopFu; z0<S}pW8W2vXzSxEqGD+qePj^x?R$e2LO&*ewsLo{+_Z)Wl|Z1K47j zsKoNRlX)h2z^ls_>IZ0!2X5t&irUs%RAO$Dr>0o$-D+$!Kb9puSgpoWza1jnX6(eG zTg-U z6|kf1atI!_>#@|=d01Ro@Rg)BD?mY3XBsG7U9%lmq>4;Gf&2k3_oyEOdEN&X6Hl5K zCz^hyt67G;IE&@w1n~%ji_{sob_ssP#Ke|qd!Xx?J&+|2K=^`WfwZ-zt|sklFouxC zXZeDgluD2a?Zd3e{MtE$gQfAY9eO@KLX;@8N`(?1-m`?AWp!a8bA%UN>QTntIcJX zvbY+C-GD&F?>E?jo$xhyKa@ps9$Dnwq>&)GB=W~2V3m)k;GNR$JoPRk%#f3#hgVdZ zhW3?cSQ*((Fog26jiEeNvum-6ID-fbfJ?q1ZU#)dgnJ^FCm`+sdP?g;d4VD$3XKx{ zs|Y4ePJp|93fpu)RL+#lIN9Ormd;<_5|oN!k5CENnpO>{60X;DN>vgHCX$QZYtgrj z*1{bEA1LKi8#U%oa!4W-4G+458~`5O4S1&tuyv>%H9DjLip7cC~RRS@HvdJ<|c z$TxEL=)r)XTfTgVxaG!gtZhLL`$#=gz1X=j|I@n~eHDUCW39r=o_ml@B z0cDx$5;3OA2l)&41kiKY^z7sO_U%1=)Ka4gV(P#(<^ z_zhThw=}tRG|2|1m4EP|p{Swfq#eNzDdi&QcVWwP+7920UQB*DpO0(tZHvLVMIGJl zdZ5;2J%a!N1lzxFwAkq05DPUg2*6SxcLRsSNI6dLiK0&JRuYAqwL}Z!YVJ$?mdnDF z82)J_t=jbY&le6Hq$Qs}@AOZGpB1}$Ah#i;&SzD1QQNwi6&1ddUf7UG0*@kX?E zDCbHypPZ9+H~KnDwBeOXZ-W-Y80wpoGB*A) z_;26Z`#s0tKrf~QBi2rl2=>;CS1w)rcD3-sB!8NI*1iQo59PJ>OLnqeV4iK7`RBi^ zFW{*6;nlD&cSunmU3v4JKj|K4xeN(q>H%;SsY8yDdw5BJ75q8>Ov)&D5OPZ`XiRHl z;)mAA0Woy6f!xCK(9H2rq?qzp83liZAIpBPl-dQ&$2=&H?Im~%g;vnIw1I+8q|kr! z36&^9}CMmR(U2rf|j12oG=vb%Ypsq8u9Kq}U*ANX*)9uK}fAi8;V_7Z;0_4*iydDxN-? zv?qJ=T*{MzL~-xUv{_Kh_q9#F{8gPV!yPUUS8pEq*=}2-#1d=sC_|U-rX~F0 zBLawgCWy#?#ax{~DAnDvh^`}wyUO`ioMK~jgh%L7^}#h?beSyvQ_g>+`2`}`-1h7# zg*?qJdm=53hwN8~B=^|LPmYtOVrQ(W{sNm4uofq=4P@dUA%$onWbw_m-KWia&n9iv zi)!9#OJ#^}eg8tE{wSb9(c0D^PS1 z9EBS5*ypSiVRS_G0v?$hyoZOS7hFWlp4qbYkf9Y&{%OzhsIdHskLptn96@k6@^K@U zszd8POehITDK+AyW#JKpnWY;ju#MC$JjB1Y*~(E6N%{p#kO+bVxG3X<34n3fW=k{A zCZt|KP%x^GQ9%mU)KE0{LA=vaZvRQbxSlK~eAkwWo2Z<{j5eS5NVTMe`m%re8%~7K zZLtU&b~YDN%~uA9wPf>x2=PI=MA6_oVe>Ek$s5&&Z=8vvF5EODP4Av(b|dlNgF1O8 zy83W0WRdzjz2iNA~t1piEqlyU&`$yZtqR`6X_PmuP>W+D|8iH;FQ zN{JuU#Tz9mV=4R_IewROL1|mK^`lLat#LcIBfggzM(iO$pQT*-c_ z94^LUWw#5B9~sp2W1p`c)Y(xfR<{O^9n4E6vDDw{#-R4UMBKo{>Hqlqn*a9rl_>+0 zS5MwJC~nCC`1X%VCyWFsiDX;bfAJQAUkU#105f_s5U-8rqO}n8fA1{b>Fr6Q|Ea(V z5B11Lo^ooWF?`^{-U#?iatokWI-e$632frzY?Yzzx(xJc@LFM4A~-eg!u|tl{)8Nx ztZLXsSC*68g%9TFu(f&J9nmc^9hgyy#uUOMJFCaifSaDcyQ&6=8e9=t zIFEAQ{EK{|73{($!a4=!wj4ABcQrUQp#+gGM?wEUp(w@+Fzi{!lt}|3`PM%&d-seeR zB$}BrFGD3R10CE>Hsb>;PrP}pd` zaY4}6+Wu(`#uAV+E5SV7VIT7ES#b(U0%%DgN1}USJH>)mm;CHPv>}B18&0F~Kj@1= z&^Jyo+z-E)GRT4U*7$8wJO1OibWg0Jw>C$%Ge|=YwV@Y1(4fR>cV#6aGtRoF@I`*w_V4;)V231NzNqb6g@jdpjmjv*<2j02yU$F8ZS$fTvCC`%|Yn#x< zXUnP&b!GLpOY-TY3d?<-Hhxom_LM9`JC9LEX2{t1P-Nj%nG+0Vq)vQwvO^}coPH-> zAo8w#s>Je^Yy*#PlK=XDxpVS~pFe-j#jN-(As&LRewOf(kN-aKF(H+s*{*!0xrlZw zchJu@XAvQWX7DI1E8?F}Wc8m46eT+C<0eXVB+Z^(g=Kl@FG-cn@u$suj)1V2(KNg_ zh29ws6&6(q~+sOAoHY^o86A<#n*?Pg2)cK$+y;cY$hJLq4)4V84=j+3ShSr##Tk5kgmxB zkW+8A1GtceEx~^Ebhwm36U?oA)h)!mt=eg0QE$D1QsLNZ_T3NH?=B&0j~#298!6iv zhc0|-{46*3`Rx&nKSXnf1&w-Rs>#PGAGuY@cBTU-j|Fxbn3z49S#6KBaP^Lx*AOXxIibr z!1ysMi(&kr!1wwQB5w`BDH2~>T4bI`T1}A2RM0zd7ikC&kuBRsB`Z2@J!Udm{AmSN zrr0k6_qCZL**=)xRW`MFu(OY=OT;3G8eF~ z2mmkXZ9X(sjuKmq+_<=LSjphB$~R1o^Yb=rO!j!(4ErIox^x55o{pXSE9X$!76^*$ zoKhlAX6y%n^U=C~@!vIlEgXQGD@>oOU=_(aXF-Sjas*$AKESfRzxQ8#3yOj|y0OCU z>6Z-0%LCcjla&7I+CXm&caKp@@jQ!5M`(_{CL=@4#JJ}cHeZw>^b6fpv269LSV?gV5Q{kk?4;;y9RIsy5vk%DIRiL(9xe1aA@4!VX zDh2}xgUd5X?6nji%&7-%QuyKSYA-Z{PwJijUQ}In+EJl|x@dF1P<5bPa5W3&&?^h$ zZCo8LepKo0a(Fsln*cHL;D(gu9MMkoiM0*n31u)jHqX5x^F95tnI&^}^yKx3YwEm@ zo8?EZ710ykx@19{=yz5IXb8w4yjdveWb{IVL6Z(Cs>!a_0X^1E27o!4e&b43+J*u2Gb(59k2uK0goLwhO{ujLS ziI9LA9`&x~Y$6JNX!aEXR``}LUI}Gr#=<^wBHmg%v<)zRWDVtq)kT$-P7iU1R)2XZ zi~bYhV@EZ`@prgK(cs{>2jn$pxg$<|KjJ7%26Km>%KcXh^bU@y@V_Lf@=j1x%R4{v zOcQn{I}!2W<~08FOVnoV>zOTH=+>v9!jFo|q)ucqIe!N4{U5_G`>>*sVD{8I~4FqyU8imZ**-Gy`~Xd z4w35GMf%7^i65HdX{Iz|f2Kg193#KhPIeR)-=eYx3Z!%RM=JjwLrdk^B#6rg!ym2w zPbFqYyO4>W_Z6PonAwiu7?!h=x%sR-T+_*xZOGh2wWhWr%}%2^$$ zQvACIB~pi=m|`hXIMvoq`TOCx=J_D2>pi6$NPy3&8#vy|oX)=kM0Z}$BR$r0G}MzOk-OqG+VmZtOZoj6x4(tLh|5h) zBv64Y{DPHsy&_H(5_l(&Y}FhVvr9m_*_Q~Zy-}V9+VmGnvndEjYW4qt4K~N&Y&6g| zfpz*V=A#^mVmuOAz)(KVI<%v5NY0%Goy!{9&o41upsPWk(yFuRP|A4q6NMnX%V~MT zi_Rb-Bno2kI+j0Cw`@ydy{e%ARS#Z%b6I%_yfo_ZKXr4BLVoHzBKJ^ZG z-2>2IzU)55@9C|?_P$ew^-7zEiAKG1XAi{!3h%1m#9s%^pGy6S9wKFYY4<$djeoJP z{GI}Vd%idY$4_fh(7NXm7#;cC!DS&-{tGr!Qze{^%bUx2jgG@-kMta^q-EwrKB}d8 z{%FT>rFk_bzW<{lc%eYlrsiYTZXGgzD1&lmRyp+c1O=0=zAX=KV62bx-a~JP{cPF4 zU$-XT#(9&T>l@bMu3nSr{)%-5lV+0t&bxip4DVJ~vlL$J2P6X~ zd{FS8vm{Lhrieul*7&(AgPuXhjpGila%6_?-+k#b)cdk#M1jB*nE>G6NGOr+Ek{`= z9b%S1`$`=g0CC$>0$Db;l_szReLYVmce*(()9%Zz1`*fNXhI*oRlerWHarD(v^W^c zuc1Vuw6Gbp7ZsoRH>QGt#&lv;5G~Ovt$%7VFd*-rN2>UjbOWBFGNGO`bru7CFB4tn zL`^?69Lj_g_TA&`9`dSI8s|)K|QM0 zybvV7!>xDY|6c6y;Q}qs`){1+WQu_5Dgd8Qe|q}}bxjH+joQQtqs1IVZn6{e7T{ia zF|=^xa%eWO%(x<7j*QZbcU_;aVaVP!arexOLOtoSNt*hvsRL%}%)jPetSich(`b-^ zMZ$PM9%s@%*jPVz0Z^W*cK_>G4f}+eEVX`HOaHg#!B`<4v;x}zDLMR*M27`kNfp!! zOfdt(>k-g>7jf^{Se@3$8<+;R*cYtw+wD_Z8Pl~!JDCUEPq{Ea*!J9`%ihyNJZ30i zmfve}S5<$Uso}_?SuI$ks|{-ddGLu9WR9`^9)Kdi@Vs;x#SY-xp}wHPU0|vEA7234 z@BN1z7OF=OOQtPF$4twn3!HTVlUVD_)ubMM7PEPoiC6lQgL2q9PK4~e8v-OuH%lie z?NgBLkIdPMG$QBq(>r^AOHB`|*1#*!2Z? zuU8H|FD`OBRu^(R?Z-Vhr0j;FLpS~a34KREnd}B=EYHS*>Hm+f%tgJt!4J8Q`qn^4 z9F=tO#JRJ}tzA`vx$nZ)O%wC?Uiv0+_nz}5Lj4ki*&=K&*#U`=rv z`Q@Q{+IhAj@6lrNK2B=8Yln!O2%zomfRehFT~;!O@(@Xy|1Jlw*uOB-M$#6K^)QBm z_7%#QVUDPwnW{iOV-grMQQU|3{=BQMh}c5(yMGdoQf*)k9-B zMQ(^GdJh+y)>qJprknS!%WxqM>HlHOP#7UVdy>%PW$!l72J`n-p7j(DBKoGxXWh(Y z>BFDZl|7knU_jg_SSbvFk8)39%2)Hu5W0}HKlh>EaqvFoXI&56Yy)3) zQkE4X^P0QnPn?iUUVHJZXzPp`s5uv?pG{K9IgGoHvcmlBxubi|iF7n{)mhenIcxGs zgr0OpQy#Y#u=5lOyiECfE_Sn?Fj1LyoRKcbTgX{p<T*v!CGkPc)pcA2D=4Ekp0Gb*wpy7S88C%Ywsbr?MI(3UdsCM?XJ1X%*hNjB)XqZ*W(qDdtSb z<3XN74ARXL3=c^bfW~F%NM^5*Zx92>Wq`&M625p~j$8mYwLbk%Kf)jbn#<2z$%vP5 zy#b>-tF-S2_AB4;R^K&^-1LJrUmi@9rB^FLF)-k&YHK8P+k@RCJ1qSTZ@=kHxA3l$ zmK_ZG)l6(nmCR1a8|;QF-B5e_ELnjJ1$m-;4UXX?WytF_wz7#&AjwZYTMVieLbq@R z3t-q|G4^BB#EpNu4uyfDebB+-uu_$9>y-dzB30Y9F=R zrW-Heqnj*InPTWHgR9v^R7~hokldh&h8=HDhMW(EFfim1*{)5Lc1-+eBVkK-2!u=N zuZKABgJs3I--NbjE;>Undg6uK`^U>AQ6V zhc!RhYgvrmeGNsftr+(C<_MtuV$`5RZTf#5r=DR?gWG->#})#=(td%C3`oO+2B7im zUqY}&a_QNTn?s+?=mNXiREN%x_=(H)L|DtYPY>SR3pQfBOel7G_jR_{!9`dSj8Up-`JgcB;=Oor)U=_EVjF3C5{Sqh8cq=~bRjoBpoc$kJCgtTyZGSpQ4= zYi$6b$-dGmuTDF&@amhV?cU05g(AZV&v2$4m&j_~GZk;&keSO(@LRESRZ&p`dV*6w z2$em~p*8yM6j;SYorw`M5K2mluJq7P5Yn$VtZj8DEs2Zk=O@4T&Q}>~f31Z{uk}`E z{Dp{KObh1kk~~MfLUod72{Pk6G@T$_0_N??lOrdR=Z;VV#m0l)&@hz{Z?)@sgImi-&i1@95g53rON83v!yVPDHRU*Mzc4yZ(-Fr z{8{WXmIJf7jeswk$;6s~Qac6QyM3W&`}m#gRt=rr95A+Ad&wSAgvXZ|F))rBJVJ5W1CsjN`QaOzct2ocq#0!v zmj#075)C!3oS>&N;aHS@<+c>RHL)8j^p)k(8#7$LEx!1g_1^02!4_qA=;uhKW=+ix zGX%+vBMiRiF^^jm{mdO(?GdWJ#unO#_F^7mhT8)s(z_WlwFyJ#Xh)k5+RG2f;LC*K**1dr`#}~6A=0B=I&V;%zDA1)d@G!X#Rng)7G*2k8Kg447r0ox> z5NK`d(H-afBwo9feDOUi>;BbPsu!2|=@g=3j*PY}@YrOb+SX6?#Yb2xaaK!?>SX1J z_!VsB`2n1=wwSftkydm!39|-1?c%Epx?TO<(#GO~I&{f4+)XwRk<7RQ1~5>QcKH|D z?!}j1ueO0Lk;FZ{k4FA_(S`Ot0w~tl&m0duID*f6RY#bkw||o;kZ# zISYNTb|{~|X$m$Q-Jv#uxyw)eM0gIv`V#wOAp&Vv@>X4_tSZ&L#juM@$S9 zx_X_tLh<_^-F;LAQ09s@sPb%PMTrcw*HUV0P=RYSlM&AXEOI&&R&YCm_S<7DRBx^L zA^R^iwW+LMk(r*$Pq-fKU5X@=mQ=`ErO30H@@&qqnI7zJcrbSh+H<V ze&7Uli0xj@WrW#&-9%*FP~kPYF_YYM_hs5~|ExMynQ%qvq`leRB6W0yhC@pCb8>_P zlf=F~WMv_u*-DV=UaVu#2rlzK{q8D95VwZrfV?gj@rSNWXFvktUq)V5+YrlxwX302ae(;aG4e>L-M@3J+-f3IT{b9l!kg*2M zC1+ND9}6m^()LE87Mt+^Q|)!y#suc&v26C=0W88%a{?)E8Yvo@kM&KNMaOst#|-_CbUTm}WS@-c>nRb;&z^ zYr)+IE$1=jov(CZ%3uR+`~NI>1&Gs6W(jaamjcN$a`2!*nO}l|b%?)Q%%UWzw>A`C zR@px(P*7j$TK?jbv*%x)e^|jcLsv}aF(Z0=7(%Oa7+1wY>{B>d+i&ZA$}k(qgZPZY z;VkW~8eWnU&HPIAbco?&tc2O1$6=7n{u|^Y*nXoac{o1W-6aXfy~KlNbJfLoq~6;+ zDYmnv--Fhqrl+UV#k@_(1=gWNtqhyVKN=9CZ-{Ohi>e=~bm4IKbhM%%W zW8oXE!rGpV7Wt(_^4nndH1_imheaWzDi|I})9ZVZ9>pN+P%dVc5wG`Ze*4`@rjn1^ z`ln(;vPBHQUb}y8S>=8q__r7g+=z$>!pReVB0@XKchAvyGjLQs-u>+w%`frV4FeIG zj=7n~hGrwx*&5aHy(7X$bDZ7YhcP%(*>G^lAYMK;qG~V8Jz@b7oNg;IA1z$9@TbzW z;@I51@Ekef#qbxnG$Y8Z%bm~ibZ=4#%yKr%#b)CDrfKN`ujIY?tA4h9)i~dZ4E;ZM znvb$n2)zn$Wx&zlW%mJZDh28ox$@%`w3i7YFepXUChw}$UXKI=-TM51`M#FH=tdr*mQ!c=aB1296Lu>iTTKZWss0f z5~ihdImPN$aTle_AdbYC^31}_^EK|9R&l#%3hbx;8vJ+Gp^tm{9JDILu*1PW!rh^Dn9p<)h#Sl4kKM%nm<+!ESSk* zC;lLNT$fgr-!+{aBsSx$41b}yy6o>r3F#1&iv3cfY2N<+`0qJ+>=&Qxs}JOEkD?^l-F5i`t5+zNuvJf z3Fh4$mNqiFXL-aq4U4K@Ae$fq-TDT`rvrx;gqx96w^*@s=mcthCaIyPe(w)6kI{EqV10tcShHU9eeAPs)s?6#vrq}>y3FeTJu$Udha+z zs7}rmA@yR(L&>35sNjQqrw}o^)UitMU!5g6nnG)(tgst!^`FKJEzI1(d@j_w@;^hr zgYxlIRYjho4U$bhczfq&YySCqCE(5_d>l(4tk1v9!V7PB%Vx{QO=G2NC@c1%3rEzw zN<6i?h;CJX>h)kn49Sr)g#Em6km6ESP`1qc5C3ZHizN>r>V-fSS=X1nT{+Thh@kC! z(H=PlqDt7V6gOYezXUK-dretz!1?IUD6&eL2b!4=9h+HUO&DYZKMM>|YhlEEg?q?S z^XT4$2Fd|zT=x3U#L1|F;-#`to-Y6hiYkWdO=rRC)meY72pIfl`3zEGDU8($iWR^K zI$nq80aSJII<;#W5Pj>^_T&013BJ*O89Uoq z5>;Paa^E}xar^r=!pexg&OTM8wluk4R~Ru=)Hgk`Y#i_$jk{jc8hx}?(dW*X!l4vs z6_%$s#duJJFmaFc-5#>v6Yea=I~)s_pXGS>Tkz?s+WS}>Qp<9MappMLXpkXpSM~SmH6u)`Z5>o02kJs;w@KhdiZ3}29y*xr|6tMo zBHzGic+b+dTd!xOJ;p{Rguh^corJ;K?R6daayQKm+0rf7|AXg0qs!R9eS7t4{G=fs z1$=?kK1Ih=gEkI>@jgXDWHZt*C7FUEWs|u^pE3Z``^K|1KEC^sbN*4nQUfRc_AyE0 zn)?RrGjgPkzfE~_s!rDB!fDsV+*|kEX4+DyS#8%!cshn;s8svwBXSsDGX2ZRa0={* z=`p1F{zD17*Rk>Uk_cw3t5j=9-d6$}MoM~z{v{t^M!g75-+o8_XkP@CZWUQ2z!^26 zCNOu~hgrrK)y>bgqb{`Q_1^zrG4;cGarP!nb4E~(ZKWc`LVeEq;IewVneLp^ZU2+% z95PgN*M5v7Q;ZlGvM#`&u2NdHm%&gZ{bZM5wBCp&?HeZhwU87wyT_z!n4z+1?=RvXZ^72d*%+R1s1$KbAFtR|= zw;MEq=O7pMIKpFwKH6$OOszJAf<_Z<1)36cB>D>|Z6$gJL~jH`n3MMou$#Si%rDAu z4pSkJspG|^CJ86vg6kkfXsA_`8@8iOryOe!Qhn8SV6}mPlof3=WJRVqAr_b;e->`Z zMR(p|K|$L0^6;u~USxg#B6-ZNc%E1dv*^P=|2k*^NOBni#G%9Y?##{=)8KZwh85OL zSBG9|gb|hdmY^gn(ziY&O5#@I?W)W;361Yb^VQNpz0A7&^(7HRAsUvw#)fvhocvja zLxV65J0_$>&cVRctJFsn^qLos^tG`+B0_gQ{NeOwKt-!C^gGFufdtPT*Vi>l#X1|V z2XxsAcixN)Ekq=a##_^=k_^BFH5_zpvPDRP>u6+3$}i&b zy0@FdzAHw?i9OqnlTts_w5D@Nd#eM)KKEuN#m{|AJyscxa}(eA?z4&4yvXo{OBS65 z-?gW;<+;+ntM}U_yTmHm6*2zj0Imj<&ZgE9Wj|gfsXhrVH-c0p$7HXnR8bxDYOi z=_r3FA~u`L&2;Vir8}P3)k|@c?sK1U@&iWo{HEXcoy>6wQSuJ+b4l%aTBuigs&k@Y<2c=S3Ef?p zH>ki4yDuXdo_eu>X1{E$g(Q-u#zVXN^&%70guoizo7x(kQ0OZ}H$O9UB}(FaX8Ct1 zFpx~}EbHf2r6V;x=@8GH$C2|6*?K~?LrtMYd^bw*WYXhA z_))@RMH;nZedW3+qfWbv<|_#BYOxX^rhbN+!za)|!|8K*LRs(R$O*2SDM{g9k7e{u zN4VIdi}e#0&h?sBxu$>Yy%)j(k1V2fuhp8r!}gfF@b;F?U`6}YnnMh1&sSU&lR^?# zu!61+lGsuFEfDraX3+$QZibCbKzc{75G^T7@WZSQ)j5898G1AOXB*H*TSd`f<`IK# zm1%&t?i|2Z-a&r!pJehzg@!awNp)R)aa?q_SqGrxE5u+T#f?K2;GAHV?O&>!W@Q*k)7=g2vDW+7K zbyY9i{|nOF*SbMYoRQSAbSH2y$bE5(@d6xKxcF#@TE~X#3o=;`0sc!RupdRmQsML? z&>SCwS{FOpSr+@6Uuz3m`hj}(^g`Jz|6?({!%WVJn$H|ugxW+x-GEA?J&U^ugj3Nb z;65~)W<}iH2PJ@st8LtLfSOLXYgj=9<;?ih7rq$bXW9J#!B8!Wu6#U`A$wlcoC*&` z_9Js~7%m79#+edeT&P`@_Ng@e&5J+pqpx%31tAF71)pcz~-yJ>P5yX(nuM4;bUHDa8E(~~l{j~JeCGkX>nHJDpgSf&bTHEf)qw8{Q~CBPEVen|MW2P3vmf`8X9-g|>>ddp zcgfjbl~(?3Wa*NzQH>4nsM$3}Ul>pX1xC0oF3TZXe7=V!9!n?WgvH|R zpbruczmB%z=zkZ>=1R|gXwGThLELqD5KCUhtiRGT*JwKIvzbzV%ZU!e!VcNHSSX3> zObH|oohc8nvQZ2}q??C}@>!fe3gH+HF@4(qWqi>;ag~md#D;cl8&gQb^?2a@5cikT z=7r78@&5gV3Ggc9f=<<8v~yz`NcEGvbX1V_`IL(&+Z>LB zM~$ok2qXzod@1$TEl*U~H$V5g$er{Uj^($sWb7Nr{gsIbE(`$LRGECTOraXiU%=uq z0zvpi1S%)RxTjzoVcR4#10)fs()4Mtsa@e?9j)Bk!LsYyXIZga2q7d%`vQE!V@<1Y zmkpH3LeXJNO9f7l>F84g;huc=4nk(UnU}RLZmYk2TtB#lv34K(?8~gyx-mN%g=U44 zOPdr_!j-;IEbe|l9-buuKEy^Q9MLjSKG$S6dz)!U_32{1)N}L)3+COmlg=nY1@od$ zJ<0z-B%sisAR1yh>z-RfQQb6M4i-d#vxvb~f69M{JLPZv1JSCh1$gQ*LxOF-tH9!k zbQ0ZW)S7)qCSF|=2`q_A3}OHBNBueZwTTz^ar~gz#2KA74&&D)KHt~m4F_nK<^*7_ z!!pN@xiGkq%>1N(rNxw$zu-=1t*IpAy$ z4~dD0w%9;E?(greVWZ3(o9ux`elM>Rek#0 zO=#-(4p5B+wFzlEU7^k{3EdL6sIp|K*>xrriI`}E8ze|z-$YpN`^_teL_7P`%e>IN z7tNiH619P+0Q1hBR|W#POOta)1|LkIRtgz zMJ9VOxXN#o)mlXS=u%`Q>~PBuKEmOWsIuQRp{y%!ty{fEyL0gV)$LQeL#pqX3L@SR zJ2Gb^E9+KVd?;joVOXlGie3?z6>(>u(i!(qGz(W( ze~^xj&IRF<98ypEis{Y_FoHn%C0bW(XeF#Lj=2WUEBqKNPPFppEH?_a3}-h906X}C zSYKcZFU`Om5YlWhh@ogzCn3NvuM~F9jOX|xe-X*!YL+#ceh_tJoHXz`aTnvSrOAZ| zOtdGz?QdT!oAJr3(XL2G(p%2X4{xEohU&vd_zQ(U%ihHOlKPWnb$&YYhx48?|R++>`5?sxvM?!;ru|9 zZ#nwuTK^S%ce<+ggdJBE&fRrXN7O!{nu`%q`M{2Ef_+IRad2cf01P9pST9AOK>y75c!9}~)Et^6$`&Nm{wzWcm4c0j9DF!xJTpGrMp3esI4D_iiDe`sswXSu{dQZE_`^A11 z?Z@Hw=65mVu^%X`>;$mciK}XiZ{xw7I_!t)S00^JuxdCXhIRO~S*lPS(S^je`DH4E zxbKNs8RL`N?gCQ@YSOU=>0FE#Ku#DRO7JA&fu-X8b;3!^#{=7`WsDXUxfUsE(FKSQ z&=N`A7IwLq%+vt(F;z+T=uZNl=@K4|E%p{p^o5(BGjsE|WOR`%8+XgGW8xJTFJc4L zVY#L`OdnSM{HyS$fX1)3_JuNNH1aDsDqi>CzCT5=kY5zV<~29bX)c^I8R5n&ymHkx zj(QC4t#mDK;2xi8O%V;C{HqDQeM64=b4@sa*N_K0a&ro4+8LY6cFHz< ze|!g}zF|tDrP=`+U7KwKl20gdW1%!iN>1=uxA|NZJ2peruBOj?RBPb~8G;s6xIi6- z?_odhafsxoxiBf zwZZ)c*)FLc0#wE~bXw0TPBYl+h9hs|DYr_B4LR_YL@S1hQs=p zNEh%_fUvWZCbJtaF#kP5=(O#{8|g&Kmz1&8{@Lufw^DhtvKx955~aqxi2C=)Z-!Kd z+m-u+#^U4(HYn6a1w652kO0bYBt&goyx(n?MR^kI+{Q?0Y{G~W2) z0dS3fuJ?SU(6ZDp=kUley%PK}K_;YQyK|U|?7t9SHiyIfpT4a_kUVIhH4PSaj@3mo z`z}|mHhx1Pq?@(3vTBb5HTXuFAzFZEt0D-fw_kd=XvwIUh3VXTm{wbDA~cESd5cI1 zd>6=&AvG3yu+)`9oxmfrDQ(1fzv(_0l?bp{a364dXLRRBI8kBv!KsL;brY)#E3`o{ z3TlWUsS0{Voci?6MejccG9x_KiqN>So*1{25r6BSl9jUyR}1TgXBLL7Pr6Wv~Nu47;fbiU7TbL}>qmtl36YSZ() zVf@nqW(As~#`@bIC+AxSw!O5Pocf&rYaCFm?Jd?XR)p#@{!|5^Ws@wd855)mI^8y{ zws+VvGXW6%xoj@JkGb=~%oJ~7m6+uhOv?bH+jJJ~eFgp+}~*^C+3>R-MY!IZQoabCh( zN(T+z@Oyc^C)WqQESmh{d!!T8zS(!wX=R#hEKxMXy(eg zZ+Cwm1a%?;RH$h2_ws|nRjn8ZY!>3gn+6Ep4xT|AeFox7!rac2Lw?jsz}JqPE?5JG zok0}q1P;cuzs%Yrze|&d$oTr<`Lx{fbq2OV=!3v-ODq(n?|WxuhtmwJBIoW^^FB+D z-?Ok9HBKc5@)L(W&vmI{prL?4^OE9TR)bELS=<>*w%&aKjzi*@;5#P3moG@dm{Eke zhE#Is;&=o|{2GWai}7LYEI+gmc^Kj4K7w7n)+9godg?yB2?xs}pF1<*!Sv?D~Uvbkgs9xx9s#6zBv9l@ox>d#H6eqw^KZO;Vg}h!q zI33^$4}yF*q+q{DsJsa(SsV!YQ#zi^IF9MQV6i{SiN4dWWCi%YQ+hNc1r!^+<(YnB zG62-D`M3w3Q2;@X{S`n`{QO>migDpz0FK`->sYDOESs6u>-~<}_XN_6><2g7U#XC{ z$#Ig;n{_yEMnlvx-lP*;ts#DHV0r8j518>~33?Ak#jocW>uk>6V||p7{4rov#RS9c zdPD6r`qF1om9r!zS4Jk1>7fn#GCnmD=JIt1Na`X)=*LP7R!3XATgk`;&U*P<(0d z9p<0T&eYqQ9jot39FxpfuPSPYlfQ$s-*;+c1KL+cHIVcG5`H~^Ryu1Hk7%Nf$TCwR!SzG31@NHpm`mcp8v!wyWM49TjTxASJ-8JP*MTHLC}hF==PUOh8kaaXeGFGd<|e29vSDaS ztPeu&zv0^wN}Hahi`$pcDs~FVt2F;K!q}q*Y@{7i#stWfU`u2La4aerBKhV`^zG~j zJWvtZpcHIP7x*tfLSQcng6D(`HVp4=LWp_0Xt=2wEHjK)!DSz_Z?5J@>awRyk?azj zU-kdSs~cp))*pfJ_q7u`IsCq8F|OShB~D56S(Mwwlt?{yURE7#eI&WcpVq(@9Fd~g zeUiD!a4w51Nj(YzLnau+O3MDub|?loF0=<#jLztAM>PruE7yNDD0L}y=Ayuc?^?Ni zf~%GK=iEhn2}xKp7GonJx!JpDmDsco$|$XtRdUDwbM9$9s7x9-of2nKNj~?b@UOKz z9{`=Irz^ba-c&1vSQxSh;I2`cKc8-4)aCy%#bam;3_8vSJ-jw`_}lyukEC~z00EbC zI*dU3F21A)dSZr{qA5QF+{a%D`h#?8o%M?)*hWxuqnQD(TpcmfNq&UN$BmB)0!r8) zxno@Q?$_D&*4(rW6b+?-Y^5|*P`DHmJ%pI<6*yP)o}2^?>d7P#bd2j=vvx2mfLW@R zQLD`%buR*}nzNYNf%68w-D$7%v|=bXg1mYrdZy~}(@RRZ-U+Gx=nmCjVxr5Ag# zLw3R29-MHJl|`mRxj#sv@EfyR#-q>BE-XFEENbV$#dWM?!VjU8~kKZsd@G=HPrI{HiqN&j<92*-3$^M*;n@rG*i! zvi#?j;lc5w>@+r!6*CVUrN9as=S3?(ZBT979$5R#ZpPm?2VjIyQcEFp9orGR>f;G? zK<~FiYY6ow-&}|v7k?+03TC++so$)2~rN``u z>N%j$AbNQLX_!evzG8abf=15260vIXdz7K^a$YS)iw{@x5<|Rr#ii|ov=LJ{eu>dZYe_ip$ZuzvRu1dpjQK1BvP zH~m#t=2_wy>9+YkdNF-z` zQ*#7=^r%R*pIi2AI`>n9>(QJVE1k8?Ilav<)NUjW^O$}^yZZ{_Uwn!4Fq1`aslX;Y zj`XDIm`E1sz|wShA=?a@ZGKDSMU#Z3$E!1nZ)g^Eg3ZDoSN6@RXrGVCHvMIauS7d> zuJltXf9)LdTWdF!n%-iA9b#2$W#i??K)zYho^((ZqluvhAr@{H{diy0%@-~VW zKYC|2Ma)2^=skdLT@ZVqJfiCDqS@~qIGexL(BKy6Aw9ch0hoHN&E+m3*uka9+AIh3gTWdSe~W({-&^oFw`!j7$DcsF$7`pO?kRMK<9h=SV?cmyJIe`$4|zoI(6u9#qY9zM?#zNe^!Dl2>Z^dH`>`wSY# ztU;V*+g0R0DH6EnJA$U{QL&T~&s{`smeC2I-5mzv=v$l@iF;yN0hMibU=CG^e>J;+9k`Si9PzLaj$>}QKI6lWmO_o+_( zmhxA*0|-Na`+*J1qEMIXZf9rb#;pcOw>EDeDjb!|GumQ2!1ac;YqU|X;F@l1_lemzTN0J|U zFJF(kO21aHg)*KfuKT=BA{VDkOvlx(b{f|A9D69_BHUm#S$F>~`Mt@GesjLp3;reY zP~q>6Tt;`XkjqV?i7lqPbWGh`y<7dq<}pDHl-dDA4QG6`QDq)+vq_&HfW!}P6Cp4d zt>Qnli5ri*I1ILEOGD~3Y!@2^Jmcy1xDXmKolC?at}_6;neEfca0rLHT}NLpoUYh` zDbCtfZnYN&>}m-(F{5d1=)bBuZ?OcP`GmsQV@kn%JMJUIep`Avon#8=ATpEo-@hg& z12f-)R=HCD%pUjvbWa|P!}u)=wInpZG*LHKrZDMeC>Qils^IyY)x;kDRs4c3!DDOG zAptSsf#1X>kSli|Qka@S)6O4un-2aKL?bcV;$*>KSxHovjrfZ^-+c#>;(42yj71K| zzRyFiLrwv$rPcNA{mtv=o(*JDA0kS93>OE0D{KMJzLk$cc_5dCLWnJcFJd6_>BpE< z?aW9;^!;arQcIjloW&YL+~MkNO&a>N=pmhg>{SM<@`a&VeUA`ay*P@R$_+WS2%r?_ zs&Z%c`>ie+%!I=Lz>$9$7a`-`hoc&*dl60^whsaQ;~9~@JYn1Oc_bmgVVyAzUOYgZ z#j{`#D_YZ)(wa5;qzR#zo4a|-ANJjBB90r4Iun3*BkMxw_Ti>SjhktsmR|BPCLt>9 zZ_3eQjweI*-8+HNt)$9^s|+10w@sU!PY{`#BnF!ULS=#{k0Zr5`yOS?p8PfWbKT`6 z@T+PeRJ4`fj5t8bMs)0>o9|C>mBTlfQ*nFG#Rri-Q7}E}+eaz`LmO!`Y_pHkoAruu z`&!5VNnA3IG$}Pz)V&pt&AF!$E{J-;or3vWv3&Sl&9KzG+ae73Zf}=aP*SCI1{?0T z9SAC)W(?DSKOkcmW$(K5Bl?c@(5#>J#j@eq#ctX~$TIjkl>Wrfv%Ey+bl1Z-v?NxJ zwZ9!ae-MsHPUx&_W22?9$mCE%&~lzVG?hDXM%~gXGk+Q!Jf0BspkMWxy;^!n<6JIrSYjv z6F%~$8)0^qbUho9Sdf97b_n({$;|XH9-RHrohHuPcro@03KEPFejN&q?&nJFoIQY; zSI#uL6>2^^yOR!51OLO65xGas55dPG;3=uQ35ZYW04#+~byXQf^7Vq`G z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 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 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/next_gen_ui_demo/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/next_gen_ui_demo/macos/Runner/Configs/AppInfo.xcconfig b/next_gen_ui_demo/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 000000000..65a573d21 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = next_gen_ui_demo + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.nextGenUiDemo + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2023 com.example. All rights reserved. diff --git a/next_gen_ui_demo/macos/Runner/Configs/Debug.xcconfig b/next_gen_ui_demo/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 000000000..36b0fd946 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/next_gen_ui_demo/macos/Runner/Configs/Release.xcconfig b/next_gen_ui_demo/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 000000000..dff4f4956 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/next_gen_ui_demo/macos/Runner/Configs/Warnings.xcconfig b/next_gen_ui_demo/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 000000000..42bcbf478 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/next_gen_ui_demo/macos/Runner/DebugProfile.entitlements b/next_gen_ui_demo/macos/Runner/DebugProfile.entitlements new file mode 100644 index 000000000..dddb8a30c --- /dev/null +++ b/next_gen_ui_demo/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/next_gen_ui_demo/macos/Runner/Info.plist b/next_gen_ui_demo/macos/Runner/Info.plist new file mode 100644 index 000000000..4789daa6a --- /dev/null +++ b/next_gen_ui_demo/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/next_gen_ui_demo/macos/Runner/MainFlutterWindow.swift b/next_gen_ui_demo/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 000000000..3cc05eb23 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/next_gen_ui_demo/macos/Runner/Release.entitlements b/next_gen_ui_demo/macos/Runner/Release.entitlements new file mode 100644 index 000000000..852fa1a47 --- /dev/null +++ b/next_gen_ui_demo/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/next_gen_ui_demo/macos/RunnerTests/RunnerTests.swift b/next_gen_ui_demo/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 000000000..5418c9f53 --- /dev/null +++ b/next_gen_ui_demo/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import FlutterMacOS +import Cocoa +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/next_gen_ui_demo/pubspec.yaml b/next_gen_ui_demo/pubspec.yaml new file mode 100644 index 000000000..0a0cf36ed --- /dev/null +++ b/next_gen_ui_demo/pubspec.yaml @@ -0,0 +1,46 @@ +name: next_gen_ui_demo +description: Building a Next Generation UI in Flutter +publish_to: 'none' +version: 0.1.0 + +environment: + sdk: '>=3.0.0-417.4.beta <4.0.0' + +dependencies: + cupertino_icons: ^1.0.5 + extra_alignments: ^1.0.0+1 + flextras: ^1.0.0 + flutter: + sdk: flutter + flutter_animate: ^4.1.1+1 + focusable_control_builder: ^1.0.1+1 + gap: ^3.0.0 + particle_field: ^1.0.0 + provider: ^6.0.5 + rnd: ^0.2.0 + vector_math: ^2.1.4 + window_size: + git: + url: https://github.com/google/flutter-desktop-embedding.git + path: plugins/window_size + +dev_dependencies: + analysis_defaults: + path: ../analysis_defaults + flutter_test: + sdk: flutter + flutter_lints: ^2.0.0 + +flutter: + uses-material-design: true + fonts: + - family: Exo + fonts: + - asset: assets/fonts/Exo-Bold.ttf + - asset: assets/fonts/Exo-Medium.ttf + assets: + - assets/images/ + - assets/fonts/ + shaders: + - assets/shaders/orb_shader.frag + - assets/shaders/ui_glitch.frag diff --git a/next_gen_ui_demo/test/widget_test.dart b/next_gen_ui_demo/test/widget_test.dart new file mode 100644 index 000000000..67f93e2f7 --- /dev/null +++ b/next_gen_ui_demo/test/widget_test.dart @@ -0,0 +1,24 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter_test/flutter_test.dart'; +import 'package:next_gen_ui_demo/assets.dart'; +import 'package:next_gen_ui_demo/main.dart'; +import 'package:provider/provider.dart'; + +void main() { + testWidgets('Smoke test', (tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget( + FutureProvider( + create: (context) => loadShaders(), + initialData: null, + child: const NextGenApp(), + ), + ); + }); +} diff --git a/next_gen_ui_demo/web/favicon.png b/next_gen_ui_demo/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/web/icons/Icon-192.png b/next_gen_ui_demo/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 zcmZ`-2T+sGz6~)*FVZ`aW+(v>MIm&M-g^@e2u-B-DoB?qO+b1Tq<5uCCv>ESfRum& zp%X;f!~1{tzL__3=gjVJ=j=J>+nMj%ncXj1Q(b|Ckbw{Y0FWpt%4y%$uD=Z*c-x~o zE;IoE;xa#7Ll5nj-e4CuXB&G*IM~D21rCP$*xLXAK8rIMCSHuSu%bL&S3)8YI~vyp@KBu9Ph7R_pvKQ@xv>NQ`dZp(u{Z8K3yOB zn7-AR+d2JkW)KiGx0hosml;+eCXp6+w%@STjFY*CJ?udJ64&{BCbuebcuH;}(($@@ znNlgBA@ZXB)mcl9nbX#F!f_5Z=W>0kh|UVWnf!At4V*LQP%*gPdCXd6P@J4Td;!Ur z<2ZLmwr(NG`u#gDEMP19UcSzRTL@HsK+PnIXbVBT@oHm53DZr?~V(0{rsalAfwgo zEh=GviaqkF;}F_5-yA!1u3!gxaR&Mj)hLuj5Q-N-@Lra{%<4ONja8pycD90&>yMB` zchhd>0CsH`^|&TstH-8+R`CfoWqmTTF_0?zDOY`E`b)cVi!$4xA@oO;SyOjJyP^_j zx^@Gdf+w|FW@DMdOi8=4+LJl$#@R&&=UM`)G!y%6ZzQLoSL%*KE8IO0~&5XYR9 z&N)?goEiWA(YoRfT{06&D6Yuu@Qt&XVbuW@COb;>SP9~aRc+z`m`80pB2o%`#{xD@ zI3RAlukL5L>px6b?QW1Ac_0>ew%NM!XB2(H+1Y3AJC?C?O`GGs`331Nd4ZvG~bMo{lh~GeL zSL|tT*fF-HXxXYtfu5z+T5Mx9OdP7J4g%@oeC2FaWO1D{=NvL|DNZ}GO?O3`+H*SI z=grGv=7dL{+oY0eJFGO!Qe(e2F?CHW(i!!XkGo2tUvsQ)I9ev`H&=;`N%Z{L zO?vV%rDv$y(@1Yj@xfr7Kzr<~0{^T8wM80xf7IGQF_S-2c0)0D6b0~yD7BsCy+(zL z#N~%&e4iAwi4F$&dI7x6cE|B{f@lY5epaDh=2-(4N05VO~A zQT3hanGy_&p+7Fb^I#ewGsjyCEUmSCaP6JDB*=_()FgQ(-pZ28-{qx~2foO4%pM9e z*_63RT8XjgiaWY|*xydf;8MKLd{HnfZ2kM%iq}fstImB-K6A79B~YoPVa@tYN@T_$ zea+9)<%?=Fl!kd(Y!G(-o}ko28hg2!MR-o5BEa_72uj7Mrc&{lRh3u2%Y=Xk9^-qa zBPWaD=2qcuJ&@Tf6ue&)4_V*45=zWk@Z}Q?f5)*z)-+E|-yC4fs5CE6L_PH3=zI8p z*Z3!it{1e5_^(sF*v=0{`U9C741&lub89gdhKp|Y8CeC{_{wYK-LSbp{h)b~9^j!s z7e?Y{Z3pZv0J)(VL=g>l;<}xk=T*O5YR|hg0eg4u98f2IrA-MY+StQIuK-(*J6TRR z|IM(%uI~?`wsfyO6Tgmsy1b3a)j6M&-jgUjVg+mP*oTKdHg?5E`!r`7AE_#?Fc)&a z08KCq>Gc=ne{PCbRvs6gVW|tKdcE1#7C4e`M|j$C5EYZ~Y=jUtc zj`+?p4ba3uy7><7wIokM79jPza``{Lx0)zGWg;FW1^NKY+GpEi=rHJ+fVRGfXO zPHV52k?jxei_!YYAw1HIz}y8ZMwdZqU%ESwMn7~t zdI5%B;U7RF=jzRz^NuY9nM)&<%M>x>0(e$GpU9th%rHiZsIT>_qp%V~ILlyt^V`=d z!1+DX@ah?RnB$X!0xpTA0}lN@9V-ePx>wQ?-xrJr^qDlw?#O(RsXeAvM%}rg0NT#t z!CsT;-vB=B87ShG`GwO;OEbeL;a}LIu=&@9cb~Rsx(ZPNQ!NT7H{@j0e(DiLea>QD zPmpe90gEKHEZ8oQ@6%E7k-Ptn#z)b9NbD@_GTxEhbS+}Bb74WUaRy{w;E|MgDAvHw zL)ycgM7mB?XVh^OzbC?LKFMotw3r@i&VdUV%^Efdib)3@soX%vWCbnOyt@Y4swW925@bt45y0HY3YI~BnnzZYrinFy;L?2D3BAL`UQ zEj))+f>H7~g8*VuWQ83EtGcx`hun$QvuurSMg3l4IP8Fe`#C|N6mbYJ=n;+}EQm;< z!!N=5j1aAr_uEnnzrEV%_E|JpTb#1p1*}5!Ce!R@d$EtMR~%9# zd;h8=QGT)KMW2IKu_fA_>p_und#-;Q)p%%l0XZOXQicfX8M~7?8}@U^ihu;mizj)t zgV7wk%n-UOb z#!P5q?Ex+*Kx@*p`o$q8FWL*E^$&1*!gpv?Za$YO~{BHeGY*5%4HXUKa_A~~^d z=E*gf6&+LFF^`j4$T~dR)%{I)T?>@Ma?D!gi9I^HqvjPc3-v~=qpX1Mne@*rzT&Xw zQ9DXsSV@PqpEJO-g4A&L{F&;K6W60D!_vs?Vx!?w27XbEuJJP&);)^+VF1nHqHBWu z^>kI$M9yfOY8~|hZ9WB!q-9u&mKhEcRjlf2nm_@s;0D#c|@ED7NZE% zzR;>P5B{o4fzlfsn3CkBK&`OSb-YNrqx@N#4CK!>bQ(V(D#9|l!e9(%sz~PYk@8zt zPN9oK78&-IL_F zhsk1$6p;GqFbtB^ZHHP+cjMvA0(LqlskbdYE_rda>gvQLTiqOQ1~*7lg%z*&p`Ry& zRcG^DbbPj_jOKHTr8uk^15Boj6>hA2S-QY(W-6!FIq8h$<>MI>PYYRenQDBamO#Fv zAH5&ImqKBDn0v5kb|8i0wFhUBJTpT!rB-`zK)^SNnRmLraZcPYK7b{I@+}wXVdW-{Ps17qdRA3JatEd?rPV z4@}(DAMf5EqXCr4-B+~H1P#;t@O}B)tIJ(W6$LrK&0plTmnPpb1TKn3?f?Kk``?D+ zQ!MFqOX7JbsXfQrz`-M@hq7xlfNz;_B{^wbpG8des56x(Q)H)5eLeDwCrVR}hzr~= zM{yXR6IM?kXxauLza#@#u?Y|o;904HCqF<8yT~~c-xyRc0-vxofnxG^(x%>bj5r}N zyFT+xnn-?B`ohA>{+ZZQem=*Xpqz{=j8i2TAC#x-m;;mo{{sLB_z(UoAqD=A#*juZ zCv=J~i*O8;F}A^Wf#+zx;~3B{57xtoxC&j^ie^?**T`WT2OPRtC`xj~+3Kprn=rVM zVJ|h5ux%S{dO}!mq93}P+h36mZ5aZg1-?vhL$ke1d52qIiXSE(llCr5i=QUS?LIjc zV$4q=-)aaR4wsrQv}^shL5u%6;`uiSEs<1nG^?$kl$^6DL z43CjY`M*p}ew}}3rXc7Xck@k41jx}c;NgEIhKZ*jsBRZUP-x2cm;F1<5$jefl|ppO zmZd%%?gMJ^g9=RZ^#8Mf5aWNVhjAS^|DQO+q$)oeob_&ZLFL(zur$)); zU19yRm)z<4&4-M}7!9+^Wl}Uk?`S$#V2%pQ*SIH5KI-mn%i;Z7-)m$mN9CnI$G7?# zo`zVrUwoSL&_dJ92YhX5TKqaRkfPgC4=Q&=K+;_aDs&OU0&{WFH}kKX6uNQC6%oUH z2DZa1s3%Vtk|bglbxep-w)PbFG!J17`<$g8lVhqD2w;Z0zGsh-r zxZ13G$G<48leNqR!DCVt9)@}(zMI5w6Wo=N zpP1*3DI;~h2WDWgcKn*f!+ORD)f$DZFwgKBafEZmeXQMAsq9sxP9A)7zOYnkHT9JU zRA`umgmP9d6=PHmFIgx=0$(sjb>+0CHG)K@cPG{IxaJ&Ueo8)0RWgV9+gO7+Bl1(F z7!BslJ2MP*PWJ;x)QXbR$6jEr5q3 z(3}F@YO_P1NyTdEXRLU6fp?9V2-S=E+YaeLL{Y)W%6`k7$(EW8EZSA*(+;e5@jgD^I zaJQ2|oCM1n!A&-8`;#RDcZyk*+RPkn_r8?Ak@agHiSp*qFNX)&i21HE?yuZ;-C<3C zwJGd1lx5UzViP7sZJ&|LqH*mryb}y|%AOw+v)yc`qM)03qyyrqhX?ub`Cjwx2PrR! z)_z>5*!*$x1=Qa-0uE7jy0z`>|Ni#X+uV|%_81F7)b+nf%iz=`fF4g5UfHS_?PHbr zB;0$bK@=di?f`dS(j{l3-tSCfp~zUuva+=EWxJcRfp(<$@vd(GigM&~vaYZ0c#BTs z3ijkxMl=vw5AS&DcXQ%eeKt!uKvh2l3W?&3=dBHU=Gz?O!40S&&~ei2vg**c$o;i89~6DVns zG>9a*`k5)NI9|?W!@9>rzJ;9EJ=YlJTx1r1BA?H`LWijk(rTax9(OAu;q4_wTj-yj z1%W4GW&K4T=uEGb+E!>W0SD_C0RR91 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/web/icons/Icon-512.png b/next_gen_ui_demo/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/web/icons/Icon-maskable-192.png b/next_gen_ui_demo/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/web/icons/Icon-maskable-512.png b/next_gen_ui_demo/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/web/index.html b/next_gen_ui_demo/web/index.html new file mode 100644 index 000000000..ded726ba0 --- /dev/null +++ b/next_gen_ui_demo/web/index.html @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + next_gen_ui_demo + + + + + + + + + + diff --git a/next_gen_ui_demo/web/manifest.json b/next_gen_ui_demo/web/manifest.json new file mode 100644 index 000000000..d944af852 --- /dev/null +++ b/next_gen_ui_demo/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "next_gen_ui_demo", + "short_name": "next_gen_ui_demo", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/next_gen_ui_demo/windows/.gitignore b/next_gen_ui_demo/windows/.gitignore new file mode 100644 index 000000000..d492d0d98 --- /dev/null +++ b/next_gen_ui_demo/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/next_gen_ui_demo/windows/CMakeLists.txt b/next_gen_ui_demo/windows/CMakeLists.txt new file mode 100644 index 000000000..735431dfc --- /dev/null +++ b/next_gen_ui_demo/windows/CMakeLists.txt @@ -0,0 +1,102 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(next_gen_ui_demo LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "next_gen_ui_demo") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/next_gen_ui_demo/windows/flutter/CMakeLists.txt b/next_gen_ui_demo/windows/flutter/CMakeLists.txt new file mode 100644 index 000000000..930d2071a --- /dev/null +++ b/next_gen_ui_demo/windows/flutter/CMakeLists.txt @@ -0,0 +1,104 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + windows-x64 $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/next_gen_ui_demo/windows/flutter/generated_plugin_registrant.cc b/next_gen_ui_demo/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 000000000..9372fc507 --- /dev/null +++ b/next_gen_ui_demo/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,14 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include + +void RegisterPlugins(flutter::PluginRegistry* registry) { + WindowSizePluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("WindowSizePlugin")); +} diff --git a/next_gen_ui_demo/windows/flutter/generated_plugin_registrant.h b/next_gen_ui_demo/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 000000000..dc139d85a --- /dev/null +++ b/next_gen_ui_demo/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/next_gen_ui_demo/windows/flutter/generated_plugins.cmake b/next_gen_ui_demo/windows/flutter/generated_plugins.cmake new file mode 100644 index 000000000..ff2147b2c --- /dev/null +++ b/next_gen_ui_demo/windows/flutter/generated_plugins.cmake @@ -0,0 +1,24 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + window_size +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/next_gen_ui_demo/windows/runner/CMakeLists.txt b/next_gen_ui_demo/windows/runner/CMakeLists.txt new file mode 100644 index 000000000..394917c05 --- /dev/null +++ b/next_gen_ui_demo/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/next_gen_ui_demo/windows/runner/Runner.rc b/next_gen_ui_demo/windows/runner/Runner.rc new file mode 100644 index 000000000..fe2e086c2 --- /dev/null +++ b/next_gen_ui_demo/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "next_gen_ui_demo" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "next_gen_ui_demo" "\0" + VALUE "LegalCopyright", "Copyright (C) 2023 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "next_gen_ui_demo.exe" "\0" + VALUE "ProductName", "next_gen_ui_demo" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/next_gen_ui_demo/windows/runner/flutter_window.cpp b/next_gen_ui_demo/windows/runner/flutter_window.cpp new file mode 100644 index 000000000..b25e363ef --- /dev/null +++ b/next_gen_ui_demo/windows/runner/flutter_window.cpp @@ -0,0 +1,66 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/next_gen_ui_demo/windows/runner/flutter_window.h b/next_gen_ui_demo/windows/runner/flutter_window.h new file mode 100644 index 000000000..6da0652f0 --- /dev/null +++ b/next_gen_ui_demo/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/next_gen_ui_demo/windows/runner/main.cpp b/next_gen_ui_demo/windows/runner/main.cpp new file mode 100644 index 000000000..7e2172eba --- /dev/null +++ b/next_gen_ui_demo/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"next_gen_ui_demo", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/next_gen_ui_demo/windows/runner/resource.h b/next_gen_ui_demo/windows/runner/resource.h new file mode 100644 index 000000000..66a65d1e4 --- /dev/null +++ b/next_gen_ui_demo/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/next_gen_ui_demo/windows/runner/resources/app_icon.ico b/next_gen_ui_demo/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/next_gen_ui_demo/windows/runner/runner.exe.manifest b/next_gen_ui_demo/windows/runner/runner.exe.manifest new file mode 100644 index 000000000..a42ea7687 --- /dev/null +++ b/next_gen_ui_demo/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/next_gen_ui_demo/windows/runner/utils.cpp b/next_gen_ui_demo/windows/runner/utils.cpp new file mode 100644 index 000000000..b2b08734d --- /dev/null +++ b/next_gen_ui_demo/windows/runner/utils.cpp @@ -0,0 +1,65 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + int input_length = (int)wcslen(utf16_string); + std::string utf8_string; + if (target_length <= 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + input_length, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/next_gen_ui_demo/windows/runner/utils.h b/next_gen_ui_demo/windows/runner/utils.h new file mode 100644 index 000000000..3879d5475 --- /dev/null +++ b/next_gen_ui_demo/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/next_gen_ui_demo/windows/runner/win32_window.cpp b/next_gen_ui_demo/windows/runner/win32_window.cpp new file mode 100644 index 000000000..60608d0fe --- /dev/null +++ b/next_gen_ui_demo/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registrar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/next_gen_ui_demo/windows/runner/win32_window.h b/next_gen_ui_demo/windows/runner/win32_window.h new file mode 100644 index 000000000..e901dde68 --- /dev/null +++ b/next_gen_ui_demo/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index ce5df798b..c8a078fe0 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -50,6 +50,7 @@ declare -ar PROJECT_NAMES=( "material_3_demo" # TODO(DomesticMouse): The '!' will have no effect because the receiver can't be null. # "navigation_and_routing" + "next_gen_ui_demo" "place_tracker" # TODO: https://github.com/flutter/samples/issues/1765 # "platform_channels" diff --git a/tool/flutter_ci_script_master.sh b/tool/flutter_ci_script_master.sh index 2bf77306a..17298ca68 100755 --- a/tool/flutter_ci_script_master.sh +++ b/tool/flutter_ci_script_master.sh @@ -50,6 +50,7 @@ declare -ar PROJECT_NAMES=( "material_3_demo" # TODO(DomesticMouse): The '!' will have no effect because the receiver can't be null. # "navigation_and_routing" + "next_gen_ui_demo" "place_tracker" # TODO: https://github.com/flutter/samples/issues/1765 # "platform_channels" diff --git a/tool/flutter_ci_script_stable.sh b/tool/flutter_ci_script_stable.sh index e0fff284e..59b04e10b 100755 --- a/tool/flutter_ci_script_stable.sh +++ b/tool/flutter_ci_script_stable.sh @@ -47,6 +47,7 @@ declare -ar PROJECT_NAMES=( "jsonexample" "material_3_demo" "navigation_and_routing" + "next_gen_ui_demo" "place_tracker" # TODO: https://github.com/flutter/samples/issues/1765 # "platform_channels"