saminsohag

bug fixed

Showing 155 changed files with 0 additions and 5532 deletions
No preview for this file type
1 -# Miscellaneous  
2 -*.class  
3 -*.log  
4 -*.pyc  
5 -*.swp  
6 -.DS_Store  
7 -.atom/  
8 -.buildlog/  
9 -.history  
10 -.svn/  
11 -migrate_working_dir/  
12 -  
13 -# IntelliJ related  
14 -*.iml  
15 -*.ipr  
16 -*.iws  
17 -.idea/  
18 -  
19 -# The .vscode folder contains launch configuration and tasks you configure in  
20 -# VS Code which you may wish to be included in version control, so this line  
21 -# is commented out by default.  
22 -#.vscode/  
23 -  
24 -# Flutter/Dart/Pub related  
25 -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.  
26 -/pubspec.lock  
27 -**/doc/api/  
28 -.dart_tool/  
29 -.packages  
30 -build/  
1 -# This file tracks properties of this Flutter project.  
2 -# Used by Flutter tool to assess capabilities and perform upgrades etc.  
3 -#  
4 -# This file should be version controlled and should not be manually edited.  
5 -  
6 -version:  
7 - revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
8 - channel: stable  
9 -  
10 -project_type: package  
1 -{  
2 - "cSpell.words": [  
3 - "Cupertino",  
4 - "pdfviewer",  
5 - "Schyler",  
6 - "syncfusion"  
7 - ]  
8 -}  
1 -## 0.0.1  
2 -  
3 -* TODO: Describe initial release.  
1 -TODO: Add your license here.  
1 -<!--  
2 -This README describes the package. If you publish this package to pub.dev,  
3 -this README's contents appear on the landing page for your package.  
4 -  
5 -For information about how to write a good package README, see the guide for  
6 -[writing package pages](https://dart.dev/guides/libraries/writing-package-pages).  
7 -  
8 -For general information about developing packages, see the Dart guide for  
9 -[creating packages](https://dart.dev/guides/libraries/create-library-packages)  
10 -and the Flutter guide for  
11 -[developing packages and plugins](https://flutter.dev/developing-packages).  
12 --->  
13 -  
14 -TODO: Put a short description of the package here that helps potential users  
15 -know whether this package might be useful for them.  
16 -  
17 -## Features  
18 -  
19 -TODO: List what your package can do. Maybe include images, gifs, or videos.  
20 -  
21 -## Getting started  
22 -  
23 -TODO: List prerequisites and provide or point to information on how to  
24 -start using the package.  
25 -  
26 -## Usage  
27 -  
28 -TODO: Include short and useful examples for package users. Add longer examples  
29 -to `/example` folder.  
30 -  
31 -```dart  
32 -const like = 'sample';  
33 -```  
34 -  
35 -## Additional information  
36 -  
37 -TODO: Tell users more about the package: where to find more information, how to  
38 -contribute to the package, how to file issues, what response they can expect  
39 -from the package authors, and more.  
1 -include: package:flutter_lints/flutter.yaml  
2 -  
3 -# Additional information about this file can be found at  
4 -# https://dart.dev/guides/language/analysis-options  
1 -package io.flutter.plugins;  
2 -  
3 -import io.flutter.plugin.common.PluginRegistry;  
4 -  
5 -/**  
6 - * Generated file. Do not edit.  
7 - */  
8 -public final class GeneratedPluginRegistrant {  
9 - public static void registerWith(PluginRegistry registry) {  
10 - if (alreadyRegisteredWith(registry)) {  
11 - return;  
12 - }  
13 - }  
14 -  
15 - private static boolean alreadyRegisteredWith(PluginRegistry registry) {  
16 - final String key = GeneratedPluginRegistrant.class.getCanonicalName();  
17 - if (registry.hasPlugin(key)) {  
18 - return true;  
19 - }  
20 - registry.registrarFor(key);  
21 - return false;  
22 - }  
23 -}  
1 -sdk.dir=/Users/sohag/Library/Android/sdk  
2 -flutter.sdk=/Users/sohag/Developer/flutter  
1 -# Miscellaneous  
2 -*.class  
3 -*.log  
4 -*.pyc  
5 -*.swp  
6 -.DS_Store  
7 -.atom/  
8 -.buildlog/  
9 -.history  
10 -.svn/  
11 -migrate_working_dir/  
12 -  
13 -# IntelliJ related  
14 -*.iml  
15 -*.ipr  
16 -*.iws  
17 -.idea/  
18 -  
19 -# The .vscode folder contains launch configuration and tasks you configure in  
20 -# VS Code which you may wish to be included in version control, so this line  
21 -# is commented out by default.  
22 -#.vscode/  
23 -  
24 -# Flutter/Dart/Pub related  
25 -**/doc/api/  
26 -**/ios/Flutter/.last_build_id  
27 -.dart_tool/  
28 -.flutter-plugins  
29 -.flutter-plugins-dependencies  
30 -.packages  
31 -.pub-cache/  
32 -.pub/  
33 -/build/  
34 -  
35 -# Symbolication related  
36 -app.*.symbols  
37 -  
38 -# Obfuscation related  
39 -app.*.map.json  
40 -  
41 -# Android Studio will place build artifacts here  
42 -/android/app/debug  
43 -/android/app/profile  
44 -/android/app/release  
1 -# This file tracks properties of this Flutter project.  
2 -# Used by Flutter tool to assess capabilities and perform upgrades etc.  
3 -#  
4 -# This file should be version controlled.  
5 -  
6 -version:  
7 - revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
8 - channel: stable  
9 -  
10 -project_type: app  
11 -  
12 -# Tracks metadata for the flutter migrate command  
13 -migration:  
14 - platforms:  
15 - - platform: root  
16 - create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
17 - base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
18 - - platform: android  
19 - create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
20 - base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
21 - - platform: ios  
22 - create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
23 - base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
24 - - platform: linux  
25 - create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
26 - base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
27 - - platform: macos  
28 - create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
29 - base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
30 - - platform: web  
31 - create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
32 - base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
33 - - platform: windows  
34 - create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
35 - base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da  
36 -  
37 - # User provided section  
38 -  
39 - # List of Local paths (relative to this file) that should be  
40 - # ignored by the migrate tool.  
41 - #  
42 - # Files that are not part of the templates will be ignored by default.  
43 - unmanaged_files:  
44 - - 'lib/main.dart'  
45 - - 'ios/Runner.xcodeproj/project.pbxproj'  
1 -# example  
2 -  
3 -A new Flutter project.  
4 -  
5 -## Getting Started  
6 -  
7 -This project is a starting point for a Flutter application.  
8 -  
9 -A few resources to get you started if this is your first Flutter project:  
10 -  
11 -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)  
12 -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)  
13 -  
14 -For help getting started with Flutter development, view the  
15 -[online documentation](https://docs.flutter.dev/), which offers tutorials,  
16 -samples, guidance on mobile development, and a full API reference.  
1 -# This file configures the analyzer, which statically analyzes Dart code to  
2 -# check for errors, warnings, and lints.  
3 -#  
4 -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled  
5 -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be  
6 -# invoked from the command line by running `flutter analyze`.  
7 -  
8 -# The following line activates a set of recommended lints for Flutter apps,  
9 -# packages, and plugins designed to encourage good coding practices.  
10 -include: package:flutter_lints/flutter.yaml  
11 -  
12 -linter:  
13 - # The lint rules applied to this project can be customized in the  
14 - # section below to disable rules from the `package:flutter_lints/flutter.yaml`  
15 - # included above or to enable additional rules. A list of all available lints  
16 - # and their documentation is published at  
17 - # https://dart-lang.github.io/linter/lints/index.html.  
18 - #  
19 - # Instead of disabling a lint rule for the entire project in the  
20 - # section below, it can also be suppressed for a single line of code  
21 - # or a specific dart file by using the `// ignore: name_of_lint` and  
22 - # `// ignore_for_file: name_of_lint` syntax on the line or in the file  
23 - # producing the lint.  
24 - rules:  
25 - # avoid_print: false # Uncomment to disable the `avoid_print` rule  
26 - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule  
27 -  
28 -# Additional information about this file can be found at  
29 -# https://dart.dev/guides/language/analysis-options  
1 -gradle-wrapper.jar  
2 -/.gradle  
3 -/captures/  
4 -/gradlew  
5 -/gradlew.bat  
6 -/local.properties  
7 -GeneratedPluginRegistrant.java  
8 -  
9 -# Remember to never publicly share your keystore.  
10 -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app  
11 -key.properties  
12 -**/*.keystore  
13 -**/*.jks  
1 -def localProperties = new Properties()  
2 -def localPropertiesFile = rootProject.file('local.properties')  
3 -if (localPropertiesFile.exists()) {  
4 - localPropertiesFile.withReader('UTF-8') { reader ->  
5 - localProperties.load(reader)  
6 - }  
7 -}  
8 -  
9 -def flutterRoot = localProperties.getProperty('flutter.sdk')  
10 -if (flutterRoot == null) {  
11 - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")  
12 -}  
13 -  
14 -def flutterVersionCode = localProperties.getProperty('flutter.versionCode')  
15 -if (flutterVersionCode == null) {  
16 - flutterVersionCode = '1'  
17 -}  
18 -  
19 -def flutterVersionName = localProperties.getProperty('flutter.versionName')  
20 -if (flutterVersionName == null) {  
21 - flutterVersionName = '1.0'  
22 -}  
23 -  
24 -apply plugin: 'com.android.application'  
25 -apply plugin: 'kotlin-android'  
26 -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"  
27 -  
28 -android {  
29 - compileSdkVersion flutter.compileSdkVersion  
30 - ndkVersion flutter.ndkVersion  
31 -  
32 - compileOptions {  
33 - sourceCompatibility JavaVersion.VERSION_1_8  
34 - targetCompatibility JavaVersion.VERSION_1_8  
35 - }  
36 -  
37 - kotlinOptions {  
38 - jvmTarget = '1.8'  
39 - }  
40 -  
41 - sourceSets {  
42 - main.java.srcDirs += 'src/main/kotlin'  
43 - }  
44 -  
45 - defaultConfig {  
46 - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).  
47 - applicationId "com.example.example"  
48 - // You can update the following values to match your application needs.  
49 - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.  
50 - minSdkVersion flutter.minSdkVersion  
51 - targetSdkVersion flutter.targetSdkVersion  
52 - versionCode flutterVersionCode.toInteger()  
53 - versionName flutterVersionName  
54 - }  
55 -  
56 - buildTypes {  
57 - release {  
58 - // TODO: Add your own signing config for the release build.  
59 - // Signing with the debug keys for now, so `flutter run --release` works.  
60 - signingConfig signingConfigs.debug  
61 - }  
62 - }  
63 -}  
64 -  
65 -flutter {  
66 - source '../..'  
67 -}  
68 -  
69 -dependencies {  
70 - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"  
71 -}  
1 -<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
2 - package="com.example.example">  
3 - <!-- The INTERNET permission is required for development. Specifically,  
4 - the Flutter tool needs it to communicate with the running application  
5 - to allow setting breakpoints, to provide hot reload, etc.  
6 - -->  
7 - <uses-permission android:name="android.permission.INTERNET"/>  
8 -</manifest>  
1 -<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
2 - package="com.example.example">  
3 - <application  
4 - android:label="example"  
5 - android:name="${applicationName}"  
6 - android:icon="@mipmap/ic_launcher">  
7 - <activity  
8 - android:name=".MainActivity"  
9 - android:exported="true"  
10 - android:launchMode="singleTop"  
11 - android:theme="@style/LaunchTheme"  
12 - android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"  
13 - android:hardwareAccelerated="true"  
14 - android:windowSoftInputMode="adjustResize">  
15 - <!-- Specifies an Android theme to apply to this Activity as soon as  
16 - the Android process has started. This theme is visible to the user  
17 - while the Flutter UI initializes. After that, this theme continues  
18 - to determine the Window background behind the Flutter UI. -->  
19 - <meta-data  
20 - android:name="io.flutter.embedding.android.NormalTheme"  
21 - android:resource="@style/NormalTheme"  
22 - />  
23 - <intent-filter>  
24 - <action android:name="android.intent.action.MAIN"/>  
25 - <category android:name="android.intent.category.LAUNCHER"/>  
26 - </intent-filter>  
27 - </activity>  
28 - <!-- Don't delete the meta-data below.  
29 - This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->  
30 - <meta-data  
31 - android:name="flutterEmbedding"  
32 - android:value="2" />  
33 - </application>  
34 -</manifest>  
1 -package com.example.example  
2 -  
3 -import io.flutter.embedding.android.FlutterActivity  
4 -  
5 -class MainActivity: FlutterActivity() {  
6 -}  
1 -<?xml version="1.0" encoding="utf-8"?>  
2 -<!-- Modify this file to customize your launch splash screen -->  
3 -<layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
4 - <item android:drawable="?android:colorBackground" />  
5 -  
6 - <!-- You can insert your own image assets here -->  
7 - <!-- <item>  
8 - <bitmap  
9 - android:gravity="center"  
10 - android:src="@mipmap/launch_image" />  
11 - </item> -->  
12 -</layer-list>  
1 -<?xml version="1.0" encoding="utf-8"?>  
2 -<!-- Modify this file to customize your launch splash screen -->  
3 -<layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
4 - <item android:drawable="@android:color/white" />  
5 -  
6 - <!-- You can insert your own image assets here -->  
7 - <!-- <item>  
8 - <bitmap  
9 - android:gravity="center"  
10 - android:src="@mipmap/launch_image" />  
11 - </item> -->  
12 -</layer-list>  
1 -<?xml version="1.0" encoding="utf-8"?>  
2 -<resources>  
3 - <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->  
4 - <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">  
5 - <!-- Show a splash screen on the activity. Automatically removed when  
6 - the Flutter engine draws its first frame -->  
7 - <item name="android:windowBackground">@drawable/launch_background</item>  
8 - </style>  
9 - <!-- Theme applied to the Android Window as soon as the process has started.  
10 - This theme determines the color of the Android Window while your  
11 - Flutter UI initializes, as well as behind your Flutter UI while its  
12 - running.  
13 -  
14 - This Theme is only used starting with V2 of Flutter's Android embedding. -->  
15 - <style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">  
16 - <item name="android:windowBackground">?android:colorBackground</item>  
17 - </style>  
18 -</resources>  
1 -<?xml version="1.0" encoding="utf-8"?>  
2 -<resources>  
3 - <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->  
4 - <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">  
5 - <!-- Show a splash screen on the activity. Automatically removed when  
6 - the Flutter engine draws its first frame -->  
7 - <item name="android:windowBackground">@drawable/launch_background</item>  
8 - </style>  
9 - <!-- Theme applied to the Android Window as soon as the process has started.  
10 - This theme determines the color of the Android Window while your  
11 - Flutter UI initializes, as well as behind your Flutter UI while its  
12 - running.  
13 -  
14 - This Theme is only used starting with V2 of Flutter's Android embedding. -->  
15 - <style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">  
16 - <item name="android:windowBackground">?android:colorBackground</item>  
17 - </style>  
18 -</resources>  
1 -<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
2 - package="com.example.example">  
3 - <!-- The INTERNET permission is required for development. Specifically,  
4 - the Flutter tool needs it to communicate with the running application  
5 - to allow setting breakpoints, to provide hot reload, etc.  
6 - -->  
7 - <uses-permission android:name="android.permission.INTERNET"/>  
8 -</manifest>  
1 -buildscript {  
2 - ext.kotlin_version = '1.7.10'  
3 - repositories {  
4 - google()  
5 - mavenCentral()  
6 - }  
7 -  
8 - dependencies {  
9 - classpath 'com.android.tools.build:gradle:7.2.0'  
10 - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"  
11 - }  
12 -}  
13 -  
14 -allprojects {  
15 - repositories {  
16 - google()  
17 - mavenCentral()  
18 - }  
19 -}  
20 -  
21 -rootProject.buildDir = '../build'  
22 -subprojects {  
23 - project.buildDir = "${rootProject.buildDir}/${project.name}"  
24 -}  
25 -subprojects {  
26 - project.evaluationDependsOn(':app')  
27 -}  
28 -  
29 -task clean(type: Delete) {  
30 - delete rootProject.buildDir  
31 -}  
1 -org.gradle.jvmargs=-Xmx1536M  
2 -android.useAndroidX=true  
3 -android.enableJetifier=true  
1 -distributionBase=GRADLE_USER_HOME  
2 -distributionPath=wrapper/dists  
3 -zipStoreBase=GRADLE_USER_HOME  
4 -zipStorePath=wrapper/dists  
5 -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip  
1 -include ':app'  
2 -  
3 -def localPropertiesFile = new File(rootProject.projectDir, "local.properties")  
4 -def properties = new Properties()  
5 -  
6 -assert localPropertiesFile.exists()  
7 -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }  
8 -  
9 -def flutterSdkPath = properties.getProperty("flutter.sdk")  
10 -assert flutterSdkPath != null, "flutter.sdk not set in local.properties"  
11 -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"  
1 -**/dgph  
2 -*.mode1v3  
3 -*.mode2v3  
4 -*.moved-aside  
5 -*.pbxuser  
6 -*.perspectivev3  
7 -**/*sync/  
8 -.sconsign.dblite  
9 -.tags*  
10 -**/.vagrant/  
11 -**/DerivedData/  
12 -Icon?  
13 -**/Pods/  
14 -**/.symlinks/  
15 -profile  
16 -xcuserdata  
17 -**/.generated/  
18 -Flutter/App.framework  
19 -Flutter/Flutter.framework  
20 -Flutter/Flutter.podspec  
21 -Flutter/Generated.xcconfig  
22 -Flutter/ephemeral/  
23 -Flutter/app.flx  
24 -Flutter/app.zip  
25 -Flutter/flutter_assets/  
26 -Flutter/flutter_export_environment.sh  
27 -ServiceDefinitions.json  
28 -Runner/GeneratedPluginRegistrant.*  
29 -  
30 -# Exceptions to above rules.  
31 -!default.mode1v3  
32 -!default.mode2v3  
33 -!default.pbxuser  
34 -!default.perspectivev3  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>CFBundleDevelopmentRegion</key>  
6 - <string>en</string>  
7 - <key>CFBundleExecutable</key>  
8 - <string>App</string>  
9 - <key>CFBundleIdentifier</key>  
10 - <string>io.flutter.flutter.app</string>  
11 - <key>CFBundleInfoDictionaryVersion</key>  
12 - <string>6.0</string>  
13 - <key>CFBundleName</key>  
14 - <string>App</string>  
15 - <key>CFBundlePackageType</key>  
16 - <string>FMWK</string>  
17 - <key>CFBundleShortVersionString</key>  
18 - <string>1.0</string>  
19 - <key>CFBundleSignature</key>  
20 - <string>????</string>  
21 - <key>CFBundleVersion</key>  
22 - <string>1.0</string>  
23 - <key>MinimumOSVersion</key>  
24 - <string>11.0</string>  
25 -</dict>  
26 -</plist>  
1 -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"  
2 -#include "Generated.xcconfig"  
1 -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"  
2 -#include "Generated.xcconfig"  
1 -# Uncomment this line to define a global platform for your project  
2 -# platform :ios, '11.0'  
3 -  
4 -# CocoaPods analytics sends network stats synchronously affecting flutter build latency.  
5 -ENV['COCOAPODS_DISABLE_STATS'] = 'true'  
6 -  
7 -project 'Runner', {  
8 - 'Debug' => :debug,  
9 - 'Profile' => :release,  
10 - 'Release' => :release,  
11 -}  
12 -  
13 -def flutter_root  
14 - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)  
15 - unless File.exist?(generated_xcode_build_settings_path)  
16 - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"  
17 - end  
18 -  
19 - File.foreach(generated_xcode_build_settings_path) do |line|  
20 - matches = line.match(/FLUTTER_ROOT\=(.*)/)  
21 - return matches[1].strip if matches  
22 - end  
23 - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"  
24 -end  
25 -  
26 -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)  
27 -  
28 -flutter_ios_podfile_setup  
29 -  
30 -target 'Runner' do  
31 - use_frameworks!  
32 - use_modular_headers!  
33 -  
34 - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))  
35 -end  
36 -  
37 -post_install do |installer|  
38 - installer.pods_project.targets.each do |target|  
39 - flutter_additional_ios_build_settings(target)  
40 - end  
41 -end  
1 -// !$*UTF8*$!  
2 -{  
3 - archiveVersion = 1;  
4 - classes = {  
5 - };  
6 - objectVersion = 54;  
7 - objects = {  
8 -  
9 -/* Begin PBXBuildFile section */  
10 - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };  
11 - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };  
12 - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };  
13 - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };  
14 - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };  
15 - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };  
16 -/* End PBXBuildFile section */  
17 -  
18 -/* Begin PBXCopyFilesBuildPhase section */  
19 - 9705A1C41CF9048500538489 /* Embed Frameworks */ = {  
20 - isa = PBXCopyFilesBuildPhase;  
21 - buildActionMask = 2147483647;  
22 - dstPath = "";  
23 - dstSubfolderSpec = 10;  
24 - files = (  
25 - );  
26 - name = "Embed Frameworks";  
27 - runOnlyForDeploymentPostprocessing = 0;  
28 - };  
29 -/* End PBXCopyFilesBuildPhase section */  
30 -  
31 -/* Begin PBXFileReference section */  
32 - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };  
33 - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };  
34 - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };  
35 - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };  
36 - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };  
37 - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };  
38 - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };  
39 - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };  
40 - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };  
41 - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };  
42 - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };  
43 - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };  
44 - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };  
45 -/* End PBXFileReference section */  
46 -  
47 -/* Begin PBXFrameworksBuildPhase section */  
48 - 97C146EB1CF9000F007C117D /* Frameworks */ = {  
49 - isa = PBXFrameworksBuildPhase;  
50 - buildActionMask = 2147483647;  
51 - files = (  
52 - );  
53 - runOnlyForDeploymentPostprocessing = 0;  
54 - };  
55 -/* End PBXFrameworksBuildPhase section */  
56 -  
57 -/* Begin PBXGroup section */  
58 - 9740EEB11CF90186004384FC /* Flutter */ = {  
59 - isa = PBXGroup;  
60 - children = (  
61 - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,  
62 - 9740EEB21CF90195004384FC /* Debug.xcconfig */,  
63 - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,  
64 - 9740EEB31CF90195004384FC /* Generated.xcconfig */,  
65 - );  
66 - name = Flutter;  
67 - sourceTree = "<group>";  
68 - };  
69 - 97C146E51CF9000F007C117D = {  
70 - isa = PBXGroup;  
71 - children = (  
72 - 9740EEB11CF90186004384FC /* Flutter */,  
73 - 97C146F01CF9000F007C117D /* Runner */,  
74 - 97C146EF1CF9000F007C117D /* Products */,  
75 - );  
76 - sourceTree = "<group>";  
77 - };  
78 - 97C146EF1CF9000F007C117D /* Products */ = {  
79 - isa = PBXGroup;  
80 - children = (  
81 - 97C146EE1CF9000F007C117D /* Runner.app */,  
82 - );  
83 - name = Products;  
84 - sourceTree = "<group>";  
85 - };  
86 - 97C146F01CF9000F007C117D /* Runner */ = {  
87 - isa = PBXGroup;  
88 - children = (  
89 - 97C146FA1CF9000F007C117D /* Main.storyboard */,  
90 - 97C146FD1CF9000F007C117D /* Assets.xcassets */,  
91 - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,  
92 - 97C147021CF9000F007C117D /* Info.plist */,  
93 - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,  
94 - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,  
95 - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */,  
96 - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,  
97 - );  
98 - path = Runner;  
99 - sourceTree = "<group>";  
100 - };  
101 -/* End PBXGroup section */  
102 -  
103 -/* Begin PBXNativeTarget section */  
104 - 97C146ED1CF9000F007C117D /* Runner */ = {  
105 - isa = PBXNativeTarget;  
106 - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;  
107 - buildPhases = (  
108 - 9740EEB61CF901F6004384FC /* Run Script */,  
109 - 97C146EA1CF9000F007C117D /* Sources */,  
110 - 97C146EB1CF9000F007C117D /* Frameworks */,  
111 - 97C146EC1CF9000F007C117D /* Resources */,  
112 - 9705A1C41CF9048500538489 /* Embed Frameworks */,  
113 - 3B06AD1E1E4923F5004D2608 /* Thin Binary */,  
114 - );  
115 - buildRules = (  
116 - );  
117 - dependencies = (  
118 - );  
119 - name = Runner;  
120 - productName = Runner;  
121 - productReference = 97C146EE1CF9000F007C117D /* Runner.app */;  
122 - productType = "com.apple.product-type.application";  
123 - };  
124 -/* End PBXNativeTarget section */  
125 -  
126 -/* Begin PBXProject section */  
127 - 97C146E61CF9000F007C117D /* Project object */ = {  
128 - isa = PBXProject;  
129 - attributes = {  
130 - LastUpgradeCheck = 1300;  
131 - ORGANIZATIONNAME = "";  
132 - TargetAttributes = {  
133 - 97C146ED1CF9000F007C117D = {  
134 - CreatedOnToolsVersion = 7.3.1;  
135 - LastSwiftMigration = 1100;  
136 - };  
137 - };  
138 - };  
139 - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;  
140 - compatibilityVersion = "Xcode 9.3";  
141 - developmentRegion = en;  
142 - hasScannedForEncodings = 0;  
143 - knownRegions = (  
144 - en,  
145 - Base,  
146 - );  
147 - mainGroup = 97C146E51CF9000F007C117D;  
148 - productRefGroup = 97C146EF1CF9000F007C117D /* Products */;  
149 - projectDirPath = "";  
150 - projectRoot = "";  
151 - targets = (  
152 - 97C146ED1CF9000F007C117D /* Runner */,  
153 - );  
154 - };  
155 -/* End PBXProject section */  
156 -  
157 -/* Begin PBXResourcesBuildPhase section */  
158 - 97C146EC1CF9000F007C117D /* Resources */ = {  
159 - isa = PBXResourcesBuildPhase;  
160 - buildActionMask = 2147483647;  
161 - files = (  
162 - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,  
163 - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,  
164 - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,  
165 - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,  
166 - );  
167 - runOnlyForDeploymentPostprocessing = 0;  
168 - };  
169 -/* End PBXResourcesBuildPhase section */  
170 -  
171 -/* Begin PBXShellScriptBuildPhase section */  
172 - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {  
173 - isa = PBXShellScriptBuildPhase;  
174 - alwaysOutOfDate = 1;  
175 - buildActionMask = 2147483647;  
176 - files = (  
177 - );  
178 - inputPaths = (  
179 - );  
180 - name = "Thin Binary";  
181 - outputPaths = (  
182 - );  
183 - runOnlyForDeploymentPostprocessing = 0;  
184 - shellPath = /bin/sh;  
185 - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";  
186 - };  
187 - 9740EEB61CF901F6004384FC /* Run Script */ = {  
188 - isa = PBXShellScriptBuildPhase;  
189 - alwaysOutOfDate = 1;  
190 - buildActionMask = 2147483647;  
191 - files = (  
192 - );  
193 - inputPaths = (  
194 - );  
195 - name = "Run Script";  
196 - outputPaths = (  
197 - );  
198 - runOnlyForDeploymentPostprocessing = 0;  
199 - shellPath = /bin/sh;  
200 - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";  
201 - };  
202 -/* End PBXShellScriptBuildPhase section */  
203 -  
204 -/* Begin PBXSourcesBuildPhase section */  
205 - 97C146EA1CF9000F007C117D /* Sources */ = {  
206 - isa = PBXSourcesBuildPhase;  
207 - buildActionMask = 2147483647;  
208 - files = (  
209 - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,  
210 - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,  
211 - );  
212 - runOnlyForDeploymentPostprocessing = 0;  
213 - };  
214 -/* End PBXSourcesBuildPhase section */  
215 -  
216 -/* Begin PBXVariantGroup section */  
217 - 97C146FA1CF9000F007C117D /* Main.storyboard */ = {  
218 - isa = PBXVariantGroup;  
219 - children = (  
220 - 97C146FB1CF9000F007C117D /* Base */,  
221 - );  
222 - name = Main.storyboard;  
223 - sourceTree = "<group>";  
224 - };  
225 - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {  
226 - isa = PBXVariantGroup;  
227 - children = (  
228 - 97C147001CF9000F007C117D /* Base */,  
229 - );  
230 - name = LaunchScreen.storyboard;  
231 - sourceTree = "<group>";  
232 - };  
233 -/* End PBXVariantGroup section */  
234 -  
235 -/* Begin XCBuildConfiguration section */  
236 - 249021D3217E4FDB00AE95B9 /* Profile */ = {  
237 - isa = XCBuildConfiguration;  
238 - buildSettings = {  
239 - ALWAYS_SEARCH_USER_PATHS = NO;  
240 - CLANG_ANALYZER_NONNULL = YES;  
241 - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";  
242 - CLANG_CXX_LIBRARY = "libc++";  
243 - CLANG_ENABLE_MODULES = YES;  
244 - CLANG_ENABLE_OBJC_ARC = YES;  
245 - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;  
246 - CLANG_WARN_BOOL_CONVERSION = YES;  
247 - CLANG_WARN_COMMA = YES;  
248 - CLANG_WARN_CONSTANT_CONVERSION = YES;  
249 - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;  
250 - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;  
251 - CLANG_WARN_EMPTY_BODY = YES;  
252 - CLANG_WARN_ENUM_CONVERSION = YES;  
253 - CLANG_WARN_INFINITE_RECURSION = YES;  
254 - CLANG_WARN_INT_CONVERSION = YES;  
255 - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;  
256 - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;  
257 - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;  
258 - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;  
259 - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;  
260 - CLANG_WARN_STRICT_PROTOTYPES = YES;  
261 - CLANG_WARN_SUSPICIOUS_MOVE = YES;  
262 - CLANG_WARN_UNREACHABLE_CODE = YES;  
263 - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;  
264 - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";  
265 - COPY_PHASE_STRIP = NO;  
266 - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";  
267 - ENABLE_NS_ASSERTIONS = NO;  
268 - ENABLE_STRICT_OBJC_MSGSEND = YES;  
269 - GCC_C_LANGUAGE_STANDARD = gnu99;  
270 - GCC_NO_COMMON_BLOCKS = YES;  
271 - GCC_WARN_64_TO_32_BIT_CONVERSION = YES;  
272 - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;  
273 - GCC_WARN_UNDECLARED_SELECTOR = YES;  
274 - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;  
275 - GCC_WARN_UNUSED_FUNCTION = YES;  
276 - GCC_WARN_UNUSED_VARIABLE = YES;  
277 - IPHONEOS_DEPLOYMENT_TARGET = 11.0;  
278 - MTL_ENABLE_DEBUG_INFO = NO;  
279 - SDKROOT = iphoneos;  
280 - SUPPORTED_PLATFORMS = iphoneos;  
281 - TARGETED_DEVICE_FAMILY = "1,2";  
282 - VALIDATE_PRODUCT = YES;  
283 - };  
284 - name = Profile;  
285 - };  
286 - 249021D4217E4FDB00AE95B9 /* Profile */ = {  
287 - isa = XCBuildConfiguration;  
288 - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;  
289 - buildSettings = {  
290 - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;  
291 - CLANG_ENABLE_MODULES = YES;  
292 - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";  
293 - ENABLE_BITCODE = NO;  
294 - INFOPLIST_FILE = Runner/Info.plist;  
295 - LD_RUNPATH_SEARCH_PATHS = (  
296 - "$(inherited)",  
297 - "@executable_path/Frameworks",  
298 - );  
299 - PRODUCT_BUNDLE_IDENTIFIER = com.example.example;  
300 - PRODUCT_NAME = "$(TARGET_NAME)";  
301 - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";  
302 - SWIFT_VERSION = 5.0;  
303 - VERSIONING_SYSTEM = "apple-generic";  
304 - };  
305 - name = Profile;  
306 - };  
307 - 97C147031CF9000F007C117D /* Debug */ = {  
308 - isa = XCBuildConfiguration;  
309 - buildSettings = {  
310 - ALWAYS_SEARCH_USER_PATHS = NO;  
311 - CLANG_ANALYZER_NONNULL = YES;  
312 - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";  
313 - CLANG_CXX_LIBRARY = "libc++";  
314 - CLANG_ENABLE_MODULES = YES;  
315 - CLANG_ENABLE_OBJC_ARC = YES;  
316 - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;  
317 - CLANG_WARN_BOOL_CONVERSION = YES;  
318 - CLANG_WARN_COMMA = YES;  
319 - CLANG_WARN_CONSTANT_CONVERSION = YES;  
320 - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;  
321 - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;  
322 - CLANG_WARN_EMPTY_BODY = YES;  
323 - CLANG_WARN_ENUM_CONVERSION = YES;  
324 - CLANG_WARN_INFINITE_RECURSION = YES;  
325 - CLANG_WARN_INT_CONVERSION = YES;  
326 - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;  
327 - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;  
328 - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;  
329 - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;  
330 - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;  
331 - CLANG_WARN_STRICT_PROTOTYPES = YES;  
332 - CLANG_WARN_SUSPICIOUS_MOVE = YES;  
333 - CLANG_WARN_UNREACHABLE_CODE = YES;  
334 - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;  
335 - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";  
336 - COPY_PHASE_STRIP = NO;  
337 - DEBUG_INFORMATION_FORMAT = dwarf;  
338 - ENABLE_STRICT_OBJC_MSGSEND = YES;  
339 - ENABLE_TESTABILITY = YES;  
340 - GCC_C_LANGUAGE_STANDARD = gnu99;  
341 - GCC_DYNAMIC_NO_PIC = NO;  
342 - GCC_NO_COMMON_BLOCKS = YES;  
343 - GCC_OPTIMIZATION_LEVEL = 0;  
344 - GCC_PREPROCESSOR_DEFINITIONS = (  
345 - "DEBUG=1",  
346 - "$(inherited)",  
347 - );  
348 - GCC_WARN_64_TO_32_BIT_CONVERSION = YES;  
349 - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;  
350 - GCC_WARN_UNDECLARED_SELECTOR = YES;  
351 - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;  
352 - GCC_WARN_UNUSED_FUNCTION = YES;  
353 - GCC_WARN_UNUSED_VARIABLE = YES;  
354 - IPHONEOS_DEPLOYMENT_TARGET = 11.0;  
355 - MTL_ENABLE_DEBUG_INFO = YES;  
356 - ONLY_ACTIVE_ARCH = YES;  
357 - SDKROOT = iphoneos;  
358 - TARGETED_DEVICE_FAMILY = "1,2";  
359 - };  
360 - name = Debug;  
361 - };  
362 - 97C147041CF9000F007C117D /* Release */ = {  
363 - isa = XCBuildConfiguration;  
364 - buildSettings = {  
365 - ALWAYS_SEARCH_USER_PATHS = NO;  
366 - CLANG_ANALYZER_NONNULL = YES;  
367 - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";  
368 - CLANG_CXX_LIBRARY = "libc++";  
369 - CLANG_ENABLE_MODULES = YES;  
370 - CLANG_ENABLE_OBJC_ARC = YES;  
371 - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;  
372 - CLANG_WARN_BOOL_CONVERSION = YES;  
373 - CLANG_WARN_COMMA = YES;  
374 - CLANG_WARN_CONSTANT_CONVERSION = YES;  
375 - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;  
376 - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;  
377 - CLANG_WARN_EMPTY_BODY = YES;  
378 - CLANG_WARN_ENUM_CONVERSION = YES;  
379 - CLANG_WARN_INFINITE_RECURSION = YES;  
380 - CLANG_WARN_INT_CONVERSION = YES;  
381 - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;  
382 - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;  
383 - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;  
384 - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;  
385 - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;  
386 - CLANG_WARN_STRICT_PROTOTYPES = YES;  
387 - CLANG_WARN_SUSPICIOUS_MOVE = YES;  
388 - CLANG_WARN_UNREACHABLE_CODE = YES;  
389 - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;  
390 - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";  
391 - COPY_PHASE_STRIP = NO;  
392 - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";  
393 - ENABLE_NS_ASSERTIONS = NO;  
394 - ENABLE_STRICT_OBJC_MSGSEND = YES;  
395 - GCC_C_LANGUAGE_STANDARD = gnu99;  
396 - GCC_NO_COMMON_BLOCKS = YES;  
397 - GCC_WARN_64_TO_32_BIT_CONVERSION = YES;  
398 - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;  
399 - GCC_WARN_UNDECLARED_SELECTOR = YES;  
400 - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;  
401 - GCC_WARN_UNUSED_FUNCTION = YES;  
402 - GCC_WARN_UNUSED_VARIABLE = YES;  
403 - IPHONEOS_DEPLOYMENT_TARGET = 11.0;  
404 - MTL_ENABLE_DEBUG_INFO = NO;  
405 - SDKROOT = iphoneos;  
406 - SUPPORTED_PLATFORMS = iphoneos;  
407 - SWIFT_COMPILATION_MODE = wholemodule;  
408 - SWIFT_OPTIMIZATION_LEVEL = "-O";  
409 - TARGETED_DEVICE_FAMILY = "1,2";  
410 - VALIDATE_PRODUCT = YES;  
411 - };  
412 - name = Release;  
413 - };  
414 - 97C147061CF9000F007C117D /* Debug */ = {  
415 - isa = XCBuildConfiguration;  
416 - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;  
417 - buildSettings = {  
418 - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;  
419 - CLANG_ENABLE_MODULES = YES;  
420 - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";  
421 - ENABLE_BITCODE = NO;  
422 - INFOPLIST_FILE = Runner/Info.plist;  
423 - LD_RUNPATH_SEARCH_PATHS = (  
424 - "$(inherited)",  
425 - "@executable_path/Frameworks",  
426 - );  
427 - PRODUCT_BUNDLE_IDENTIFIER = com.example.example;  
428 - PRODUCT_NAME = "$(TARGET_NAME)";  
429 - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";  
430 - SWIFT_OPTIMIZATION_LEVEL = "-Onone";  
431 - SWIFT_VERSION = 5.0;  
432 - VERSIONING_SYSTEM = "apple-generic";  
433 - };  
434 - name = Debug;  
435 - };  
436 - 97C147071CF9000F007C117D /* Release */ = {  
437 - isa = XCBuildConfiguration;  
438 - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;  
439 - buildSettings = {  
440 - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;  
441 - CLANG_ENABLE_MODULES = YES;  
442 - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";  
443 - ENABLE_BITCODE = NO;  
444 - INFOPLIST_FILE = Runner/Info.plist;  
445 - LD_RUNPATH_SEARCH_PATHS = (  
446 - "$(inherited)",  
447 - "@executable_path/Frameworks",  
448 - );  
449 - PRODUCT_BUNDLE_IDENTIFIER = com.example.example;  
450 - PRODUCT_NAME = "$(TARGET_NAME)";  
451 - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";  
452 - SWIFT_VERSION = 5.0;  
453 - VERSIONING_SYSTEM = "apple-generic";  
454 - };  
455 - name = Release;  
456 - };  
457 -/* End XCBuildConfiguration section */  
458 -  
459 -/* Begin XCConfigurationList section */  
460 - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {  
461 - isa = XCConfigurationList;  
462 - buildConfigurations = (  
463 - 97C147031CF9000F007C117D /* Debug */,  
464 - 97C147041CF9000F007C117D /* Release */,  
465 - 249021D3217E4FDB00AE95B9 /* Profile */,  
466 - );  
467 - defaultConfigurationIsVisible = 0;  
468 - defaultConfigurationName = Release;  
469 - };  
470 - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {  
471 - isa = XCConfigurationList;  
472 - buildConfigurations = (  
473 - 97C147061CF9000F007C117D /* Debug */,  
474 - 97C147071CF9000F007C117D /* Release */,  
475 - 249021D4217E4FDB00AE95B9 /* Profile */,  
476 - );  
477 - defaultConfigurationIsVisible = 0;  
478 - defaultConfigurationName = Release;  
479 - };  
480 -/* End XCConfigurationList section */  
481 - };  
482 - rootObject = 97C146E61CF9000F007C117D /* Project object */;  
483 -}  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<Workspace  
3 - version = "1.0">  
4 - <FileRef  
5 - location = "self:">  
6 - </FileRef>  
7 -</Workspace>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>IDEDidComputeMac32BitWarning</key>  
6 - <true/>  
7 -</dict>  
8 -</plist>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>PreviewsEnabled</key>  
6 - <false/>  
7 -</dict>  
8 -</plist>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<Scheme  
3 - LastUpgradeVersion = "1300"  
4 - version = "1.3">  
5 - <BuildAction  
6 - parallelizeBuildables = "YES"  
7 - buildImplicitDependencies = "YES">  
8 - <BuildActionEntries>  
9 - <BuildActionEntry  
10 - buildForTesting = "YES"  
11 - buildForRunning = "YES"  
12 - buildForProfiling = "YES"  
13 - buildForArchiving = "YES"  
14 - buildForAnalyzing = "YES">  
15 - <BuildableReference  
16 - BuildableIdentifier = "primary"  
17 - BlueprintIdentifier = "97C146ED1CF9000F007C117D"  
18 - BuildableName = "Runner.app"  
19 - BlueprintName = "Runner"  
20 - ReferencedContainer = "container:Runner.xcodeproj">  
21 - </BuildableReference>  
22 - </BuildActionEntry>  
23 - </BuildActionEntries>  
24 - </BuildAction>  
25 - <TestAction  
26 - buildConfiguration = "Debug"  
27 - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"  
28 - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"  
29 - shouldUseLaunchSchemeArgsEnv = "YES">  
30 - <MacroExpansion>  
31 - <BuildableReference  
32 - BuildableIdentifier = "primary"  
33 - BlueprintIdentifier = "97C146ED1CF9000F007C117D"  
34 - BuildableName = "Runner.app"  
35 - BlueprintName = "Runner"  
36 - ReferencedContainer = "container:Runner.xcodeproj">  
37 - </BuildableReference>  
38 - </MacroExpansion>  
39 - <Testables>  
40 - </Testables>  
41 - </TestAction>  
42 - <LaunchAction  
43 - buildConfiguration = "Debug"  
44 - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"  
45 - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"  
46 - launchStyle = "0"  
47 - useCustomWorkingDirectory = "NO"  
48 - ignoresPersistentStateOnLaunch = "NO"  
49 - debugDocumentVersioning = "YES"  
50 - debugServiceExtension = "internal"  
51 - allowLocationSimulation = "YES">  
52 - <BuildableProductRunnable  
53 - runnableDebuggingMode = "0">  
54 - <BuildableReference  
55 - BuildableIdentifier = "primary"  
56 - BlueprintIdentifier = "97C146ED1CF9000F007C117D"  
57 - BuildableName = "Runner.app"  
58 - BlueprintName = "Runner"  
59 - ReferencedContainer = "container:Runner.xcodeproj">  
60 - </BuildableReference>  
61 - </BuildableProductRunnable>  
62 - </LaunchAction>  
63 - <ProfileAction  
64 - buildConfiguration = "Profile"  
65 - shouldUseLaunchSchemeArgsEnv = "YES"  
66 - savedToolIdentifier = ""  
67 - useCustomWorkingDirectory = "NO"  
68 - debugDocumentVersioning = "YES">  
69 - <BuildableProductRunnable  
70 - runnableDebuggingMode = "0">  
71 - <BuildableReference  
72 - BuildableIdentifier = "primary"  
73 - BlueprintIdentifier = "97C146ED1CF9000F007C117D"  
74 - BuildableName = "Runner.app"  
75 - BlueprintName = "Runner"  
76 - ReferencedContainer = "container:Runner.xcodeproj">  
77 - </BuildableReference>  
78 - </BuildableProductRunnable>  
79 - </ProfileAction>  
80 - <AnalyzeAction  
81 - buildConfiguration = "Debug">  
82 - </AnalyzeAction>  
83 - <ArchiveAction  
84 - buildConfiguration = "Release"  
85 - revealArchiveInOrganizer = "YES">  
86 - </ArchiveAction>  
87 -</Scheme>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<Workspace  
3 - version = "1.0">  
4 - <FileRef  
5 - location = "group:Runner.xcodeproj">  
6 - </FileRef>  
7 -</Workspace>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>IDEDidComputeMac32BitWarning</key>  
6 - <true/>  
7 -</dict>  
8 -</plist>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>PreviewsEnabled</key>  
6 - <false/>  
7 -</dict>  
8 -</plist>  
1 -import UIKit  
2 -import Flutter  
3 -  
4 -@UIApplicationMain  
5 -@objc class AppDelegate: FlutterAppDelegate {  
6 - override func application(  
7 - _ application: UIApplication,  
8 - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?  
9 - ) -> Bool {  
10 - GeneratedPluginRegistrant.register(with: self)  
11 - return super.application(application, didFinishLaunchingWithOptions: launchOptions)  
12 - }  
13 -}  
1 -{  
2 - "images" : [  
3 - {  
4 - "size" : "20x20",  
5 - "idiom" : "iphone",  
6 - "filename" : "Icon-App-20x20@2x.png",  
7 - "scale" : "2x"  
8 - },  
9 - {  
10 - "size" : "20x20",  
11 - "idiom" : "iphone",  
12 - "filename" : "Icon-App-20x20@3x.png",  
13 - "scale" : "3x"  
14 - },  
15 - {  
16 - "size" : "29x29",  
17 - "idiom" : "iphone",  
18 - "filename" : "Icon-App-29x29@1x.png",  
19 - "scale" : "1x"  
20 - },  
21 - {  
22 - "size" : "29x29",  
23 - "idiom" : "iphone",  
24 - "filename" : "Icon-App-29x29@2x.png",  
25 - "scale" : "2x"  
26 - },  
27 - {  
28 - "size" : "29x29",  
29 - "idiom" : "iphone",  
30 - "filename" : "Icon-App-29x29@3x.png",  
31 - "scale" : "3x"  
32 - },  
33 - {  
34 - "size" : "40x40",  
35 - "idiom" : "iphone",  
36 - "filename" : "Icon-App-40x40@2x.png",  
37 - "scale" : "2x"  
38 - },  
39 - {  
40 - "size" : "40x40",  
41 - "idiom" : "iphone",  
42 - "filename" : "Icon-App-40x40@3x.png",  
43 - "scale" : "3x"  
44 - },  
45 - {  
46 - "size" : "60x60",  
47 - "idiom" : "iphone",  
48 - "filename" : "Icon-App-60x60@2x.png",  
49 - "scale" : "2x"  
50 - },  
51 - {  
52 - "size" : "60x60",  
53 - "idiom" : "iphone",  
54 - "filename" : "Icon-App-60x60@3x.png",  
55 - "scale" : "3x"  
56 - },  
57 - {  
58 - "size" : "20x20",  
59 - "idiom" : "ipad",  
60 - "filename" : "Icon-App-20x20@1x.png",  
61 - "scale" : "1x"  
62 - },  
63 - {  
64 - "size" : "20x20",  
65 - "idiom" : "ipad",  
66 - "filename" : "Icon-App-20x20@2x.png",  
67 - "scale" : "2x"  
68 - },  
69 - {  
70 - "size" : "29x29",  
71 - "idiom" : "ipad",  
72 - "filename" : "Icon-App-29x29@1x.png",  
73 - "scale" : "1x"  
74 - },  
75 - {  
76 - "size" : "29x29",  
77 - "idiom" : "ipad",  
78 - "filename" : "Icon-App-29x29@2x.png",  
79 - "scale" : "2x"  
80 - },  
81 - {  
82 - "size" : "40x40",  
83 - "idiom" : "ipad",  
84 - "filename" : "Icon-App-40x40@1x.png",  
85 - "scale" : "1x"  
86 - },  
87 - {  
88 - "size" : "40x40",  
89 - "idiom" : "ipad",  
90 - "filename" : "Icon-App-40x40@2x.png",  
91 - "scale" : "2x"  
92 - },  
93 - {  
94 - "size" : "76x76",  
95 - "idiom" : "ipad",  
96 - "filename" : "Icon-App-76x76@1x.png",  
97 - "scale" : "1x"  
98 - },  
99 - {  
100 - "size" : "76x76",  
101 - "idiom" : "ipad",  
102 - "filename" : "Icon-App-76x76@2x.png",  
103 - "scale" : "2x"  
104 - },  
105 - {  
106 - "size" : "83.5x83.5",  
107 - "idiom" : "ipad",  
108 - "filename" : "Icon-App-83.5x83.5@2x.png",  
109 - "scale" : "2x"  
110 - },  
111 - {  
112 - "size" : "1024x1024",  
113 - "idiom" : "ios-marketing",  
114 - "filename" : "Icon-App-1024x1024@1x.png",  
115 - "scale" : "1x"  
116 - }  
117 - ],  
118 - "info" : {  
119 - "version" : 1,  
120 - "author" : "xcode"  
121 - }  
122 -}  
1 -{  
2 - "images" : [  
3 - {  
4 - "idiom" : "universal",  
5 - "filename" : "LaunchImage.png",  
6 - "scale" : "1x"  
7 - },  
8 - {  
9 - "idiom" : "universal",  
10 - "filename" : "LaunchImage@2x.png",  
11 - "scale" : "2x"  
12 - },  
13 - {  
14 - "idiom" : "universal",  
15 - "filename" : "LaunchImage@3x.png",  
16 - "scale" : "3x"  
17 - }  
18 - ],  
19 - "info" : {  
20 - "version" : 1,  
21 - "author" : "xcode"  
22 - }  
23 -}  
1 -# Launch Screen Assets  
2 -  
3 -You can customize the launch screen with your own desired assets by replacing the image files in this directory.  
4 -  
5 -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.  
1 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">  
3 - <dependencies>  
4 - <deployment identifier="iOS"/>  
5 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>  
6 - </dependencies>  
7 - <scenes>  
8 - <!--View Controller-->  
9 - <scene sceneID="EHf-IW-A2E">  
10 - <objects>  
11 - <viewController id="01J-lp-oVM" sceneMemberID="viewController">  
12 - <layoutGuides>  
13 - <viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>  
14 - <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>  
15 - </layoutGuides>  
16 - <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">  
17 - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>  
18 - <subviews>  
19 - <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">  
20 - </imageView>  
21 - </subviews>  
22 - <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
23 - <constraints>  
24 - <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>  
25 - <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>  
26 - </constraints>  
27 - </view>  
28 - </viewController>  
29 - <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>  
30 - </objects>  
31 - <point key="canvasLocation" x="53" y="375"/>  
32 - </scene>  
33 - </scenes>  
34 - <resources>  
35 - <image name="LaunchImage" width="168" height="185"/>  
36 - </resources>  
37 -</document>  
1 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">  
3 - <dependencies>  
4 - <deployment identifier="iOS"/>  
5 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>  
6 - </dependencies>  
7 - <scenes>  
8 - <!--Flutter View Controller-->  
9 - <scene sceneID="tne-QT-ifu">  
10 - <objects>  
11 - <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">  
12 - <layoutGuides>  
13 - <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>  
14 - <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>  
15 - </layoutGuides>  
16 - <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">  
17 - <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>  
18 - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>  
19 - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>  
20 - </view>  
21 - </viewController>  
22 - <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>  
23 - </objects>  
24 - </scene>  
25 - </scenes>  
26 -</document>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>CFBundleDevelopmentRegion</key>  
6 - <string>$(DEVELOPMENT_LANGUAGE)</string>  
7 - <key>CFBundleDisplayName</key>  
8 - <string>Example</string>  
9 - <key>CFBundleExecutable</key>  
10 - <string>$(EXECUTABLE_NAME)</string>  
11 - <key>CFBundleIdentifier</key>  
12 - <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>  
13 - <key>CFBundleInfoDictionaryVersion</key>  
14 - <string>6.0</string>  
15 - <key>CFBundleName</key>  
16 - <string>example</string>  
17 - <key>CFBundlePackageType</key>  
18 - <string>APPL</string>  
19 - <key>CFBundleShortVersionString</key>  
20 - <string>$(FLUTTER_BUILD_NAME)</string>  
21 - <key>CFBundleSignature</key>  
22 - <string>????</string>  
23 - <key>CFBundleVersion</key>  
24 - <string>$(FLUTTER_BUILD_NUMBER)</string>  
25 - <key>LSRequiresIPhoneOS</key>  
26 - <true/>  
27 - <key>UILaunchStoryboardName</key>  
28 - <string>LaunchScreen</string>  
29 - <key>UIMainStoryboardFile</key>  
30 - <string>Main</string>  
31 - <key>UISupportedInterfaceOrientations</key>  
32 - <array>  
33 - <string>UIInterfaceOrientationPortrait</string>  
34 - <string>UIInterfaceOrientationLandscapeLeft</string>  
35 - <string>UIInterfaceOrientationLandscapeRight</string>  
36 - </array>  
37 - <key>UISupportedInterfaceOrientations~ipad</key>  
38 - <array>  
39 - <string>UIInterfaceOrientationPortrait</string>  
40 - <string>UIInterfaceOrientationPortraitUpsideDown</string>  
41 - <string>UIInterfaceOrientationLandscapeLeft</string>  
42 - <string>UIInterfaceOrientationLandscapeRight</string>  
43 - </array>  
44 - <key>UIViewControllerBasedStatusBarAppearance</key>  
45 - <false/>  
46 - <key>CADisableMinimumFrameDurationOnPhone</key>  
47 - <true/>  
48 - <key>UIApplicationSupportsIndirectInputEvents</key>  
49 - <true/>  
50 -</dict>  
51 -</plist>  
1 -import 'package:flutter/material.dart';  
2 -import 'package:markdown_to_pdf/markdown_to_pdf.dart';  
3 -import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';  
4 -import 'package:tex_markdown/tex_markdown.dart';  
5 -  
6 -void main() {  
7 - runApp(const MyApp());  
8 -}  
9 -  
10 -class MyApp extends StatefulWidget {  
11 - const MyApp({super.key});  
12 -  
13 - @override  
14 - State<MyApp> createState() => _MyAppState();  
15 -}  
16 -  
17 -class _MyAppState extends State<MyApp> {  
18 - ThemeMode _themeMode = ThemeMode.light;  
19 - @override  
20 - Widget build(BuildContext context) {  
21 - return MaterialApp(  
22 - debugShowCheckedModeBanner: false,  
23 - title: 'Flutter Demo',  
24 - themeMode: _themeMode,  
25 - theme: ThemeData(  
26 - useMaterial3: true,  
27 - brightness: Brightness.light,  
28 - colorSchemeSeed: Colors.blue,  
29 - ),  
30 - darkTheme: ThemeData(  
31 - useMaterial3: true,  
32 - brightness: Brightness.dark,  
33 - colorSchemeSeed: Colors.blue,  
34 - ),  
35 - home: MyHomePage(  
36 - title: 'Flutter Demo Home Page',  
37 - onPressed: () {  
38 - setState(() {  
39 - _themeMode = ThemeMode.values[(_themeMode.index + 1) % 2];  
40 - });  
41 - },  
42 - ),  
43 - );  
44 - }  
45 -}  
46 -  
47 -class MyHomePage extends StatefulWidget {  
48 - const MyHomePage({super.key, required this.title, required this.onPressed});  
49 - final VoidCallback? onPressed;  
50 -  
51 - final String title;  
52 -  
53 - @override  
54 - State<MyHomePage> createState() => _MyHomePageState();  
55 -}  
56 -  
57 -class _MyHomePageState extends State<MyHomePage> {  
58 - final TextEditingController _controller = TextEditingController(text: r'''  
59 -![100x100](https://image.jpg)  
60 ----  
61 -- unordered list  
62 -(x) Radio checked  
63 -() Radio unchecked  
64 -[x] checkbox checked  
65 -[] Checkbox unchecked  
66 -  
67 -| Name | Country |  
68 -| Name | Bangladesh |  
69 -  
70 -$x^w$  
71 -''');  
72 -  
73 - GlobalKey globalKey = GlobalKey();  
74 - @override  
75 - Widget build(BuildContext context) {  
76 - return Scaffold(  
77 - appBar: AppBar(  
78 - title: Text(widget.title),  
79 - actions: [  
80 - IconButton(  
81 - onPressed: widget.onPressed,  
82 - icon: const Icon(Icons.sunny),  
83 - ),  
84 - IconButton(  
85 - onPressed: () async {  
86 - var pdf = await MarkdownToPdf(  
87 - globalKey.currentContext!,  
88 - ).toPdf();  
89 - // ignore: use_build_context_synchronously  
90 - showDialog(  
91 - context: context,  
92 - builder: (context) {  
93 - return Dialog(  
94 - child: ListView(  
95 - children: [  
96 - AspectRatio(  
97 - aspectRatio: 210 / 229,  
98 - child: SfPdfViewer.memory(  
99 - pdf,  
100 - ),  
101 - )  
102 - ],  
103 - ),  
104 - );  
105 - },  
106 - );  
107 - },  
108 - icon: const Icon(Icons.toc),  
109 - ),  
110 - ],  
111 - ),  
112 - body: Column(  
113 - children: [  
114 - Expanded(  
115 - child: RepaintBoundary(  
116 - key: globalKey,  
117 - child: AnimatedBuilder(  
118 - animation: _controller,  
119 - builder: (context, _) {  
120 - return TexMarkdown(_controller.text);  
121 - },  
122 - ),  
123 - ),  
124 - ),  
125 - ConstrainedBox(  
126 - constraints: const BoxConstraints(maxHeight: 200),  
127 - child: Padding(  
128 - padding: const EdgeInsets.all(8.0),  
129 - child: TextField(  
130 - decoration: const InputDecoration(  
131 - border: OutlineInputBorder(), label: Text("Type here:")),  
132 - maxLines: null,  
133 - controller: _controller,  
134 - ),  
135 - ),  
136 - ),  
137 - ],  
138 - ),  
139 - );  
140 - }  
141 -}  
1 -# Project-level configuration.  
2 -cmake_minimum_required(VERSION 3.10)  
3 -project(runner LANGUAGES CXX)  
4 -  
5 -# The name of the executable created for the application. Change this to change  
6 -# the on-disk name of your application.  
7 -set(BINARY_NAME "example")  
8 -# The unique GTK application identifier for this application. See:  
9 -# https://wiki.gnome.org/HowDoI/ChooseApplicationID  
10 -set(APPLICATION_ID "com.example.example")  
11 -  
12 -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent  
13 -# versions of CMake.  
14 -cmake_policy(SET CMP0063 NEW)  
15 -  
16 -# Load bundled libraries from the lib/ directory relative to the binary.  
17 -set(CMAKE_INSTALL_RPATH "$ORIGIN/lib")  
18 -  
19 -# Root filesystem for cross-building.  
20 -if(FLUTTER_TARGET_PLATFORM_SYSROOT)  
21 - set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT})  
22 - set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})  
23 - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)  
24 - set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)  
25 - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)  
26 - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)  
27 -endif()  
28 -  
29 -# Define build configuration options.  
30 -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)  
31 - set(CMAKE_BUILD_TYPE "Debug" CACHE  
32 - STRING "Flutter build mode" FORCE)  
33 - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS  
34 - "Debug" "Profile" "Release")  
35 -endif()  
36 -  
37 -# Compilation settings that should be applied to most targets.  
38 -#  
39 -# Be cautious about adding new options here, as plugins use this function by  
40 -# default. In most cases, you should add new options to specific targets instead  
41 -# of modifying this function.  
42 -function(APPLY_STANDARD_SETTINGS TARGET)  
43 - target_compile_features(${TARGET} PUBLIC cxx_std_14)  
44 - target_compile_options(${TARGET} PRIVATE -Wall -Werror)  
45 - target_compile_options(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:-O3>")  
46 - target_compile_definitions(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:NDEBUG>")  
47 -endfunction()  
48 -  
49 -# Flutter library and tool build rules.  
50 -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter")  
51 -add_subdirectory(${FLUTTER_MANAGED_DIR})  
52 -  
53 -# System-level dependencies.  
54 -find_package(PkgConfig REQUIRED)  
55 -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)  
56 -  
57 -add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}")  
58 -  
59 -# Define the application target. To change its name, change BINARY_NAME above,  
60 -# not the value here, or `flutter run` will no longer work.  
61 -#  
62 -# Any new source files that you add to the application should be added here.  
63 -add_executable(${BINARY_NAME}  
64 - "main.cc"  
65 - "my_application.cc"  
66 - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"  
67 -)  
68 -  
69 -# Apply the standard set of build settings. This can be removed for applications  
70 -# that need different build settings.  
71 -apply_standard_settings(${BINARY_NAME})  
72 -  
73 -# Add dependency libraries. Add any application-specific dependencies here.  
74 -target_link_libraries(${BINARY_NAME} PRIVATE flutter)  
75 -target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK)  
76 -  
77 -# Run the Flutter tool portions of the build. This must not be removed.  
78 -add_dependencies(${BINARY_NAME} flutter_assemble)  
79 -  
80 -# Only the install-generated bundle's copy of the executable will launch  
81 -# correctly, since the resources must in the right relative locations. To avoid  
82 -# people trying to run the unbundled copy, put it in a subdirectory instead of  
83 -# the default top-level location.  
84 -set_target_properties(${BINARY_NAME}  
85 - PROPERTIES  
86 - RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run"  
87 -)  
88 -  
89 -# Generated plugin build rules, which manage building the plugins and adding  
90 -# them to the application.  
91 -include(flutter/generated_plugins.cmake)  
92 -  
93 -  
94 -# === Installation ===  
95 -# By default, "installing" just makes a relocatable bundle in the build  
96 -# directory.  
97 -set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle")  
98 -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)  
99 - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE)  
100 -endif()  
101 -  
102 -# Start with a clean build bundle directory every time.  
103 -install(CODE "  
104 - file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\")  
105 - " COMPONENT Runtime)  
106 -  
107 -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data")  
108 -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib")  
109 -  
110 -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"  
111 - COMPONENT Runtime)  
112 -  
113 -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"  
114 - COMPONENT Runtime)  
115 -  
116 -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"  
117 - COMPONENT Runtime)  
118 -  
119 -foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})  
120 - install(FILES "${bundled_library}"  
121 - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"  
122 - COMPONENT Runtime)  
123 -endforeach(bundled_library)  
124 -  
125 -# Fully re-copy the assets directory on each build to avoid having stale files  
126 -# from a previous install.  
127 -set(FLUTTER_ASSET_DIR_NAME "flutter_assets")  
128 -install(CODE "  
129 - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\")  
130 - " COMPONENT Runtime)  
131 -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}"  
132 - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime)  
133 -  
134 -# Install the AOT library on non-Debug builds only.  
135 -if(NOT CMAKE_BUILD_TYPE MATCHES "Debug")  
136 - install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"  
137 - COMPONENT Runtime)  
138 -endif()  
1 -# This file controls Flutter-level build steps. It should not be edited.  
2 -cmake_minimum_required(VERSION 3.10)  
3 -  
4 -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral")  
5 -  
6 -# Configuration provided via flutter tool.  
7 -include(${EPHEMERAL_DIR}/generated_config.cmake)  
8 -  
9 -# TODO: Move the rest of this into files in ephemeral. See  
10 -# https://github.com/flutter/flutter/issues/57146.  
11 -  
12 -# Serves the same purpose as list(TRANSFORM ... PREPEND ...),  
13 -# which isn't available in 3.10.  
14 -function(list_prepend LIST_NAME PREFIX)  
15 - set(NEW_LIST "")  
16 - foreach(element ${${LIST_NAME}})  
17 - list(APPEND NEW_LIST "${PREFIX}${element}")  
18 - endforeach(element)  
19 - set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE)  
20 -endfunction()  
21 -  
22 -# === Flutter Library ===  
23 -# System-level dependencies.  
24 -find_package(PkgConfig REQUIRED)  
25 -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)  
26 -pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0)  
27 -pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0)  
28 -  
29 -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so")  
30 -  
31 -# Published to parent scope for install step.  
32 -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE)  
33 -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE)  
34 -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE)  
35 -set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE)  
36 -  
37 -list(APPEND FLUTTER_LIBRARY_HEADERS  
38 - "fl_basic_message_channel.h"  
39 - "fl_binary_codec.h"  
40 - "fl_binary_messenger.h"  
41 - "fl_dart_project.h"  
42 - "fl_engine.h"  
43 - "fl_json_message_codec.h"  
44 - "fl_json_method_codec.h"  
45 - "fl_message_codec.h"  
46 - "fl_method_call.h"  
47 - "fl_method_channel.h"  
48 - "fl_method_codec.h"  
49 - "fl_method_response.h"  
50 - "fl_plugin_registrar.h"  
51 - "fl_plugin_registry.h"  
52 - "fl_standard_message_codec.h"  
53 - "fl_standard_method_codec.h"  
54 - "fl_string_codec.h"  
55 - "fl_value.h"  
56 - "fl_view.h"  
57 - "flutter_linux.h"  
58 -)  
59 -list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/")  
60 -add_library(flutter INTERFACE)  
61 -target_include_directories(flutter INTERFACE  
62 - "${EPHEMERAL_DIR}"  
63 -)  
64 -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}")  
65 -target_link_libraries(flutter INTERFACE  
66 - PkgConfig::GTK  
67 - PkgConfig::GLIB  
68 - PkgConfig::GIO  
69 -)  
70 -add_dependencies(flutter flutter_assemble)  
71 -  
72 -# === Flutter tool backend ===  
73 -# _phony_ is a non-existent file to force this command to run every time,  
74 -# since currently there's no way to get a full input/output list from the  
75 -# flutter tool.  
76 -add_custom_command(  
77 - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS}  
78 - ${CMAKE_CURRENT_BINARY_DIR}/_phony_  
79 - COMMAND ${CMAKE_COMMAND} -E env  
80 - ${FLUTTER_TOOL_ENVIRONMENT}  
81 - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh"  
82 - ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE}  
83 - VERBATIM  
84 -)  
85 -add_custom_target(flutter_assemble DEPENDS  
86 - "${FLUTTER_LIBRARY}"  
87 - ${FLUTTER_LIBRARY_HEADERS}  
88 -)  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -// clang-format off  
6 -  
7 -#include "generated_plugin_registrant.h"  
8 -  
9 -#include <url_launcher_linux/url_launcher_plugin.h>  
10 -  
11 -void fl_register_plugins(FlPluginRegistry* registry) {  
12 - g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =  
13 - fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");  
14 - url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);  
15 -}  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -// clang-format off  
6 -  
7 -#ifndef GENERATED_PLUGIN_REGISTRANT_  
8 -#define GENERATED_PLUGIN_REGISTRANT_  
9 -  
10 -#include <flutter_linux/flutter_linux.h>  
11 -  
12 -// Registers Flutter plugins.  
13 -void fl_register_plugins(FlPluginRegistry* registry);  
14 -  
15 -#endif // GENERATED_PLUGIN_REGISTRANT_  
1 -#  
2 -# Generated file, do not edit.  
3 -#  
4 -  
5 -list(APPEND FLUTTER_PLUGIN_LIST  
6 - url_launcher_linux  
7 -)  
8 -  
9 -list(APPEND FLUTTER_FFI_PLUGIN_LIST  
10 -)  
11 -  
12 -set(PLUGIN_BUNDLED_LIBRARIES)  
13 -  
14 -foreach(plugin ${FLUTTER_PLUGIN_LIST})  
15 - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})  
16 - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)  
17 - list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)  
18 - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})  
19 -endforeach(plugin)  
20 -  
21 -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})  
22 - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})  
23 - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})  
24 -endforeach(ffi_plugin)  
1 -#include "my_application.h"  
2 -  
3 -int main(int argc, char** argv) {  
4 - g_autoptr(MyApplication) app = my_application_new();  
5 - return g_application_run(G_APPLICATION(app), argc, argv);  
6 -}  
1 -#include "my_application.h"  
2 -  
3 -#include <flutter_linux/flutter_linux.h>  
4 -#ifdef GDK_WINDOWING_X11  
5 -#include <gdk/gdkx.h>  
6 -#endif  
7 -  
8 -#include "flutter/generated_plugin_registrant.h"  
9 -  
10 -struct _MyApplication {  
11 - GtkApplication parent_instance;  
12 - char** dart_entrypoint_arguments;  
13 -};  
14 -  
15 -G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION)  
16 -  
17 -// Implements GApplication::activate.  
18 -static void my_application_activate(GApplication* application) {  
19 - MyApplication* self = MY_APPLICATION(application);  
20 - GtkWindow* window =  
21 - GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application)));  
22 -  
23 - // Use a header bar when running in GNOME as this is the common style used  
24 - // by applications and is the setup most users will be using (e.g. Ubuntu  
25 - // desktop).  
26 - // If running on X and not using GNOME then just use a traditional title bar  
27 - // in case the window manager does more exotic layout, e.g. tiling.  
28 - // If running on Wayland assume the header bar will work (may need changing  
29 - // if future cases occur).  
30 - gboolean use_header_bar = TRUE;  
31 -#ifdef GDK_WINDOWING_X11  
32 - GdkScreen* screen = gtk_window_get_screen(window);  
33 - if (GDK_IS_X11_SCREEN(screen)) {  
34 - const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen);  
35 - if (g_strcmp0(wm_name, "GNOME Shell") != 0) {  
36 - use_header_bar = FALSE;  
37 - }  
38 - }  
39 -#endif  
40 - if (use_header_bar) {  
41 - GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());  
42 - gtk_widget_show(GTK_WIDGET(header_bar));  
43 - gtk_header_bar_set_title(header_bar, "example");  
44 - gtk_header_bar_set_show_close_button(header_bar, TRUE);  
45 - gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));  
46 - } else {  
47 - gtk_window_set_title(window, "example");  
48 - }  
49 -  
50 - gtk_window_set_default_size(window, 1280, 720);  
51 - gtk_widget_show(GTK_WIDGET(window));  
52 -  
53 - g_autoptr(FlDartProject) project = fl_dart_project_new();  
54 - fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments);  
55 -  
56 - FlView* view = fl_view_new(project);  
57 - gtk_widget_show(GTK_WIDGET(view));  
58 - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view));  
59 -  
60 - fl_register_plugins(FL_PLUGIN_REGISTRY(view));  
61 -  
62 - gtk_widget_grab_focus(GTK_WIDGET(view));  
63 -}  
64 -  
65 -// Implements GApplication::local_command_line.  
66 -static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) {  
67 - MyApplication* self = MY_APPLICATION(application);  
68 - // Strip out the first argument as it is the binary name.  
69 - self->dart_entrypoint_arguments = g_strdupv(*arguments + 1);  
70 -  
71 - g_autoptr(GError) error = nullptr;  
72 - if (!g_application_register(application, nullptr, &error)) {  
73 - g_warning("Failed to register: %s", error->message);  
74 - *exit_status = 1;  
75 - return TRUE;  
76 - }  
77 -  
78 - g_application_activate(application);  
79 - *exit_status = 0;  
80 -  
81 - return TRUE;  
82 -}  
83 -  
84 -// Implements GObject::dispose.  
85 -static void my_application_dispose(GObject* object) {  
86 - MyApplication* self = MY_APPLICATION(object);  
87 - g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev);  
88 - G_OBJECT_CLASS(my_application_parent_class)->dispose(object);  
89 -}  
90 -  
91 -static void my_application_class_init(MyApplicationClass* klass) {  
92 - G_APPLICATION_CLASS(klass)->activate = my_application_activate;  
93 - G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line;  
94 - G_OBJECT_CLASS(klass)->dispose = my_application_dispose;  
95 -}  
96 -  
97 -static void my_application_init(MyApplication* self) {}  
98 -  
99 -MyApplication* my_application_new() {  
100 - return MY_APPLICATION(g_object_new(my_application_get_type(),  
101 - "application-id", APPLICATION_ID,  
102 - "flags", G_APPLICATION_NON_UNIQUE,  
103 - nullptr));  
104 -}  
1 -#ifndef FLUTTER_MY_APPLICATION_H_  
2 -#define FLUTTER_MY_APPLICATION_H_  
3 -  
4 -#include <gtk/gtk.h>  
5 -  
6 -G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION,  
7 - GtkApplication)  
8 -  
9 -/**  
10 - * my_application_new:  
11 - *  
12 - * Creates a new Flutter-based application.  
13 - *  
14 - * Returns: a new #MyApplication.  
15 - */  
16 -MyApplication* my_application_new();  
17 -  
18 -#endif // FLUTTER_MY_APPLICATION_H_  
1 -# Flutter-related  
2 -**/Flutter/ephemeral/  
3 -**/Pods/  
4 -  
5 -# Xcode-related  
6 -**/dgph  
7 -**/xcuserdata/  
1 -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"  
2 -#include "ephemeral/Flutter-Generated.xcconfig"  
1 -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"  
2 -#include "ephemeral/Flutter-Generated.xcconfig"  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -import FlutterMacOS  
6 -import Foundation  
7 -  
8 -import syncfusion_pdfviewer_macos  
9 -import url_launcher_macos  
10 -  
11 -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {  
12 - SyncfusionFlutterPdfViewerPlugin.register(with: registry.registrar(forPlugin: "SyncfusionFlutterPdfViewerPlugin"))  
13 - UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))  
14 -}  
1 -platform :osx, '10.14'  
2 -  
3 -# CocoaPods analytics sends network stats synchronously affecting flutter build latency.  
4 -ENV['COCOAPODS_DISABLE_STATS'] = 'true'  
5 -  
6 -project 'Runner', {  
7 - 'Debug' => :debug,  
8 - 'Profile' => :release,  
9 - 'Release' => :release,  
10 -}  
11 -  
12 -def flutter_root  
13 - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)  
14 - unless File.exist?(generated_xcode_build_settings_path)  
15 - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"  
16 - end  
17 -  
18 - File.foreach(generated_xcode_build_settings_path) do |line|  
19 - matches = line.match(/FLUTTER_ROOT\=(.*)/)  
20 - return matches[1].strip if matches  
21 - end  
22 - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""  
23 -end  
24 -  
25 -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)  
26 -  
27 -flutter_macos_podfile_setup  
28 -  
29 -target 'Runner' do  
30 - use_frameworks!  
31 - use_modular_headers!  
32 -  
33 - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))  
34 -end  
35 -  
36 -post_install do |installer|  
37 - installer.pods_project.targets.each do |target|  
38 - flutter_additional_macos_build_settings(target)  
39 - end  
40 -end  
1 -PODS:  
2 - - FlutterMacOS (1.0.0)  
3 - - syncfusion_pdfviewer_macos (0.0.1):  
4 - - FlutterMacOS  
5 - - url_launcher_macos (0.0.1):  
6 - - FlutterMacOS  
7 -  
8 -DEPENDENCIES:  
9 - - FlutterMacOS (from `Flutter/ephemeral`)  
10 - - syncfusion_pdfviewer_macos (from `Flutter/ephemeral/.symlinks/plugins/syncfusion_pdfviewer_macos/macos`)  
11 - - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)  
12 -  
13 -EXTERNAL SOURCES:  
14 - FlutterMacOS:  
15 - :path: Flutter/ephemeral  
16 - syncfusion_pdfviewer_macos:  
17 - :path: Flutter/ephemeral/.symlinks/plugins/syncfusion_pdfviewer_macos/macos  
18 - url_launcher_macos:  
19 - :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos  
20 -  
21 -SPEC CHECKSUMS:  
22 - FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24  
23 - syncfusion_pdfviewer_macos: e9194851581cad04b28b53913d0636d39a4ed4b2  
24 - url_launcher_macos: 5335912b679c073563f29d89d33d10d459f95451  
25 -  
26 -PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7  
27 -  
28 -COCOAPODS: 1.11.3  
1 -// !$*UTF8*$!  
2 -{  
3 - archiveVersion = 1;  
4 - classes = {  
5 - };  
6 - objectVersion = 54;  
7 - objects = {  
8 -  
9 -/* Begin PBXAggregateTarget section */  
10 - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = {  
11 - isa = PBXAggregateTarget;  
12 - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */;  
13 - buildPhases = (  
14 - 33CC111E2044C6BF0003C045 /* ShellScript */,  
15 - );  
16 - dependencies = (  
17 - );  
18 - name = "Flutter Assemble";  
19 - productName = FLX;  
20 - };  
21 -/* End PBXAggregateTarget section */  
22 -  
23 -/* Begin PBXBuildFile section */  
24 - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; };  
25 - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; };  
26 - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };  
27 - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };  
28 - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };  
29 - 96483AC961C8CEB2D031EF2E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB13C8D79D14DE03551CD1AC /* Pods_Runner.framework */; };  
30 -/* End PBXBuildFile section */  
31 -  
32 -/* Begin PBXContainerItemProxy section */  
33 - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = {  
34 - isa = PBXContainerItemProxy;  
35 - containerPortal = 33CC10E52044A3C60003C045 /* Project object */;  
36 - proxyType = 1;  
37 - remoteGlobalIDString = 33CC111A2044C6BA0003C045;  
38 - remoteInfo = FLX;  
39 - };  
40 -/* End PBXContainerItemProxy section */  
41 -  
42 -/* Begin PBXCopyFilesBuildPhase section */  
43 - 33CC110E2044A8840003C045 /* Bundle Framework */ = {  
44 - isa = PBXCopyFilesBuildPhase;  
45 - buildActionMask = 2147483647;  
46 - dstPath = "";  
47 - dstSubfolderSpec = 10;  
48 - files = (  
49 - );  
50 - name = "Bundle Framework";  
51 - runOnlyForDeploymentPostprocessing = 0;  
52 - };  
53 -/* End PBXCopyFilesBuildPhase section */  
54 -  
55 -/* Begin PBXFileReference section */  
56 - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };  
57 - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };  
58 - 33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; };  
59 - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };  
60 - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };  
61 - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };  
62 - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = "<group>"; };  
63 - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = "<group>"; };  
64 - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = "<group>"; };  
65 - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = "<group>"; };  
66 - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = "<group>"; };  
67 - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };  
68 - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };  
69 - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };  
70 - 6325390D56933CDE4DCDB206 /* 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 = "<group>"; };  
71 - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };  
72 - 916D474A1F25051B3CA702AA /* 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 = "<group>"; };  
73 - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };  
74 - AB13C8D79D14DE03551CD1AC /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };  
75 - B9DF4D0F03039DBDFB2EA2FA /* 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 = "<group>"; };  
76 -/* End PBXFileReference section */  
77 -  
78 -/* Begin PBXFrameworksBuildPhase section */  
79 - 33CC10EA2044A3C60003C045 /* Frameworks */ = {  
80 - isa = PBXFrameworksBuildPhase;  
81 - buildActionMask = 2147483647;  
82 - files = (  
83 - 96483AC961C8CEB2D031EF2E /* Pods_Runner.framework in Frameworks */,  
84 - );  
85 - runOnlyForDeploymentPostprocessing = 0;  
86 - };  
87 -/* End PBXFrameworksBuildPhase section */  
88 -  
89 -/* Begin PBXGroup section */  
90 - 33BA886A226E78AF003329D5 /* Configs */ = {  
91 - isa = PBXGroup;  
92 - children = (  
93 - 33E5194F232828860026EE4D /* AppInfo.xcconfig */,  
94 - 9740EEB21CF90195004384FC /* Debug.xcconfig */,  
95 - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,  
96 - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */,  
97 - );  
98 - path = Configs;  
99 - sourceTree = "<group>";  
100 - };  
101 - 33CC10E42044A3C60003C045 = {  
102 - isa = PBXGroup;  
103 - children = (  
104 - 33FAB671232836740065AC1E /* Runner */,  
105 - 33CEB47122A05771004F2AC0 /* Flutter */,  
106 - 33CC10EE2044A3C60003C045 /* Products */,  
107 - D73912EC22F37F3D000D13A0 /* Frameworks */,  
108 - E13714E6ADE42DE5503C1CD9 /* Pods */,  
109 - );  
110 - sourceTree = "<group>";  
111 - };  
112 - 33CC10EE2044A3C60003C045 /* Products */ = {  
113 - isa = PBXGroup;  
114 - children = (  
115 - 33CC10ED2044A3C60003C045 /* example.app */,  
116 - );  
117 - name = Products;  
118 - sourceTree = "<group>";  
119 - };  
120 - 33CC11242044D66E0003C045 /* Resources */ = {  
121 - isa = PBXGroup;  
122 - children = (  
123 - 33CC10F22044A3C60003C045 /* Assets.xcassets */,  
124 - 33CC10F42044A3C60003C045 /* MainMenu.xib */,  
125 - 33CC10F72044A3C60003C045 /* Info.plist */,  
126 - );  
127 - name = Resources;  
128 - path = ..;  
129 - sourceTree = "<group>";  
130 - };  
131 - 33CEB47122A05771004F2AC0 /* Flutter */ = {  
132 - isa = PBXGroup;  
133 - children = (  
134 - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */,  
135 - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */,  
136 - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */,  
137 - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */,  
138 - );  
139 - path = Flutter;  
140 - sourceTree = "<group>";  
141 - };  
142 - 33FAB671232836740065AC1E /* Runner */ = {  
143 - isa = PBXGroup;  
144 - children = (  
145 - 33CC10F02044A3C60003C045 /* AppDelegate.swift */,  
146 - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */,  
147 - 33E51913231747F40026EE4D /* DebugProfile.entitlements */,  
148 - 33E51914231749380026EE4D /* Release.entitlements */,  
149 - 33CC11242044D66E0003C045 /* Resources */,  
150 - 33BA886A226E78AF003329D5 /* Configs */,  
151 - );  
152 - path = Runner;  
153 - sourceTree = "<group>";  
154 - };  
155 - D73912EC22F37F3D000D13A0 /* Frameworks */ = {  
156 - isa = PBXGroup;  
157 - children = (  
158 - AB13C8D79D14DE03551CD1AC /* Pods_Runner.framework */,  
159 - );  
160 - name = Frameworks;  
161 - sourceTree = "<group>";  
162 - };  
163 - E13714E6ADE42DE5503C1CD9 /* Pods */ = {  
164 - isa = PBXGroup;  
165 - children = (  
166 - 916D474A1F25051B3CA702AA /* Pods-Runner.debug.xcconfig */,  
167 - 6325390D56933CDE4DCDB206 /* Pods-Runner.release.xcconfig */,  
168 - B9DF4D0F03039DBDFB2EA2FA /* Pods-Runner.profile.xcconfig */,  
169 - );  
170 - name = Pods;  
171 - path = Pods;  
172 - sourceTree = "<group>";  
173 - };  
174 -/* End PBXGroup section */  
175 -  
176 -/* Begin PBXNativeTarget section */  
177 - 33CC10EC2044A3C60003C045 /* Runner */ = {  
178 - isa = PBXNativeTarget;  
179 - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;  
180 - buildPhases = (  
181 - B1D7D31052DF0F2769D415FB /* [CP] Check Pods Manifest.lock */,  
182 - 33CC10E92044A3C60003C045 /* Sources */,  
183 - 33CC10EA2044A3C60003C045 /* Frameworks */,  
184 - 33CC10EB2044A3C60003C045 /* Resources */,  
185 - 33CC110E2044A8840003C045 /* Bundle Framework */,  
186 - 3399D490228B24CF009A79C7 /* ShellScript */,  
187 - 4B09BA673B618510AAAF08F5 /* [CP] Embed Pods Frameworks */,  
188 - );  
189 - buildRules = (  
190 - );  
191 - dependencies = (  
192 - 33CC11202044C79F0003C045 /* PBXTargetDependency */,  
193 - );  
194 - name = Runner;  
195 - productName = Runner;  
196 - productReference = 33CC10ED2044A3C60003C045 /* example.app */;  
197 - productType = "com.apple.product-type.application";  
198 - };  
199 -/* End PBXNativeTarget section */  
200 -  
201 -/* Begin PBXProject section */  
202 - 33CC10E52044A3C60003C045 /* Project object */ = {  
203 - isa = PBXProject;  
204 - attributes = {  
205 - LastSwiftUpdateCheck = 0920;  
206 - LastUpgradeCheck = 1300;  
207 - ORGANIZATIONNAME = "";  
208 - TargetAttributes = {  
209 - 33CC10EC2044A3C60003C045 = {  
210 - CreatedOnToolsVersion = 9.2;  
211 - LastSwiftMigration = 1100;  
212 - ProvisioningStyle = Automatic;  
213 - SystemCapabilities = {  
214 - com.apple.Sandbox = {  
215 - enabled = 1;  
216 - };  
217 - };  
218 - };  
219 - 33CC111A2044C6BA0003C045 = {  
220 - CreatedOnToolsVersion = 9.2;  
221 - ProvisioningStyle = Manual;  
222 - };  
223 - };  
224 - };  
225 - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */;  
226 - compatibilityVersion = "Xcode 9.3";  
227 - developmentRegion = en;  
228 - hasScannedForEncodings = 0;  
229 - knownRegions = (  
230 - en,  
231 - Base,  
232 - );  
233 - mainGroup = 33CC10E42044A3C60003C045;  
234 - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */;  
235 - projectDirPath = "";  
236 - projectRoot = "";  
237 - targets = (  
238 - 33CC10EC2044A3C60003C045 /* Runner */,  
239 - 33CC111A2044C6BA0003C045 /* Flutter Assemble */,  
240 - );  
241 - };  
242 -/* End PBXProject section */  
243 -  
244 -/* Begin PBXResourcesBuildPhase section */  
245 - 33CC10EB2044A3C60003C045 /* Resources */ = {  
246 - isa = PBXResourcesBuildPhase;  
247 - buildActionMask = 2147483647;  
248 - files = (  
249 - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */,  
250 - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */,  
251 - );  
252 - runOnlyForDeploymentPostprocessing = 0;  
253 - };  
254 -/* End PBXResourcesBuildPhase section */  
255 -  
256 -/* Begin PBXShellScriptBuildPhase section */  
257 - 3399D490228B24CF009A79C7 /* ShellScript */ = {  
258 - isa = PBXShellScriptBuildPhase;  
259 - alwaysOutOfDate = 1;  
260 - buildActionMask = 2147483647;  
261 - files = (  
262 - );  
263 - inputFileListPaths = (  
264 - );  
265 - inputPaths = (  
266 - );  
267 - outputFileListPaths = (  
268 - );  
269 - outputPaths = (  
270 - );  
271 - runOnlyForDeploymentPostprocessing = 0;  
272 - shellPath = /bin/sh;  
273 - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n";  
274 - };  
275 - 33CC111E2044C6BF0003C045 /* ShellScript */ = {  
276 - isa = PBXShellScriptBuildPhase;  
277 - buildActionMask = 2147483647;  
278 - files = (  
279 - );  
280 - inputFileListPaths = (  
281 - Flutter/ephemeral/FlutterInputs.xcfilelist,  
282 - );  
283 - inputPaths = (  
284 - Flutter/ephemeral/tripwire,  
285 - );  
286 - outputFileListPaths = (  
287 - Flutter/ephemeral/FlutterOutputs.xcfilelist,  
288 - );  
289 - outputPaths = (  
290 - );  
291 - runOnlyForDeploymentPostprocessing = 0;  
292 - shellPath = /bin/sh;  
293 - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";  
294 - };  
295 - 4B09BA673B618510AAAF08F5 /* [CP] Embed Pods Frameworks */ = {  
296 - isa = PBXShellScriptBuildPhase;  
297 - buildActionMask = 2147483647;  
298 - files = (  
299 - );  
300 - inputFileListPaths = (  
301 - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",  
302 - );  
303 - name = "[CP] Embed Pods Frameworks";  
304 - outputFileListPaths = (  
305 - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",  
306 - );  
307 - runOnlyForDeploymentPostprocessing = 0;  
308 - shellPath = /bin/sh;  
309 - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";  
310 - showEnvVarsInLog = 0;  
311 - };  
312 - B1D7D31052DF0F2769D415FB /* [CP] Check Pods Manifest.lock */ = {  
313 - isa = PBXShellScriptBuildPhase;  
314 - buildActionMask = 2147483647;  
315 - files = (  
316 - );  
317 - inputFileListPaths = (  
318 - );  
319 - inputPaths = (  
320 - "${PODS_PODFILE_DIR_PATH}/Podfile.lock",  
321 - "${PODS_ROOT}/Manifest.lock",  
322 - );  
323 - name = "[CP] Check Pods Manifest.lock";  
324 - outputFileListPaths = (  
325 - );  
326 - outputPaths = (  
327 - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",  
328 - );  
329 - runOnlyForDeploymentPostprocessing = 0;  
330 - shellPath = /bin/sh;  
331 - 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";  
332 - showEnvVarsInLog = 0;  
333 - };  
334 -/* End PBXShellScriptBuildPhase section */  
335 -  
336 -/* Begin PBXSourcesBuildPhase section */  
337 - 33CC10E92044A3C60003C045 /* Sources */ = {  
338 - isa = PBXSourcesBuildPhase;  
339 - buildActionMask = 2147483647;  
340 - files = (  
341 - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */,  
342 - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */,  
343 - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */,  
344 - );  
345 - runOnlyForDeploymentPostprocessing = 0;  
346 - };  
347 -/* End PBXSourcesBuildPhase section */  
348 -  
349 -/* Begin PBXTargetDependency section */  
350 - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = {  
351 - isa = PBXTargetDependency;  
352 - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */;  
353 - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */;  
354 - };  
355 -/* End PBXTargetDependency section */  
356 -  
357 -/* Begin PBXVariantGroup section */  
358 - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = {  
359 - isa = PBXVariantGroup;  
360 - children = (  
361 - 33CC10F52044A3C60003C045 /* Base */,  
362 - );  
363 - name = MainMenu.xib;  
364 - path = Runner;  
365 - sourceTree = "<group>";  
366 - };  
367 -/* End PBXVariantGroup section */  
368 -  
369 -/* Begin XCBuildConfiguration section */  
370 - 338D0CE9231458BD00FA5F75 /* Profile */ = {  
371 - isa = XCBuildConfiguration;  
372 - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;  
373 - buildSettings = {  
374 - ALWAYS_SEARCH_USER_PATHS = NO;  
375 - CLANG_ANALYZER_NONNULL = YES;  
376 - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;  
377 - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";  
378 - CLANG_CXX_LIBRARY = "libc++";  
379 - CLANG_ENABLE_MODULES = YES;  
380 - CLANG_ENABLE_OBJC_ARC = YES;  
381 - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;  
382 - CLANG_WARN_BOOL_CONVERSION = YES;  
383 - CLANG_WARN_CONSTANT_CONVERSION = YES;  
384 - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;  
385 - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;  
386 - CLANG_WARN_DOCUMENTATION_COMMENTS = YES;  
387 - CLANG_WARN_EMPTY_BODY = YES;  
388 - CLANG_WARN_ENUM_CONVERSION = YES;  
389 - CLANG_WARN_INFINITE_RECURSION = YES;  
390 - CLANG_WARN_INT_CONVERSION = YES;  
391 - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;  
392 - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;  
393 - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;  
394 - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;  
395 - CLANG_WARN_SUSPICIOUS_MOVE = YES;  
396 - CODE_SIGN_IDENTITY = "-";  
397 - COPY_PHASE_STRIP = NO;  
398 - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";  
399 - ENABLE_NS_ASSERTIONS = NO;  
400 - ENABLE_STRICT_OBJC_MSGSEND = YES;  
401 - GCC_C_LANGUAGE_STANDARD = gnu11;  
402 - GCC_NO_COMMON_BLOCKS = YES;  
403 - GCC_WARN_64_TO_32_BIT_CONVERSION = YES;  
404 - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;  
405 - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;  
406 - GCC_WARN_UNUSED_FUNCTION = YES;  
407 - GCC_WARN_UNUSED_VARIABLE = YES;  
408 - MACOSX_DEPLOYMENT_TARGET = 10.14;  
409 - MTL_ENABLE_DEBUG_INFO = NO;  
410 - SDKROOT = macosx;  
411 - SWIFT_COMPILATION_MODE = wholemodule;  
412 - SWIFT_OPTIMIZATION_LEVEL = "-O";  
413 - };  
414 - name = Profile;  
415 - };  
416 - 338D0CEA231458BD00FA5F75 /* Profile */ = {  
417 - isa = XCBuildConfiguration;  
418 - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;  
419 - buildSettings = {  
420 - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;  
421 - CLANG_ENABLE_MODULES = YES;  
422 - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;  
423 - CODE_SIGN_STYLE = Automatic;  
424 - COMBINE_HIDPI_IMAGES = YES;  
425 - INFOPLIST_FILE = Runner/Info.plist;  
426 - LD_RUNPATH_SEARCH_PATHS = (  
427 - "$(inherited)",  
428 - "@executable_path/../Frameworks",  
429 - );  
430 - PROVISIONING_PROFILE_SPECIFIER = "";  
431 - SWIFT_VERSION = 5.0;  
432 - };  
433 - name = Profile;  
434 - };  
435 - 338D0CEB231458BD00FA5F75 /* Profile */ = {  
436 - isa = XCBuildConfiguration;  
437 - buildSettings = {  
438 - CODE_SIGN_STYLE = Manual;  
439 - PRODUCT_NAME = "$(TARGET_NAME)";  
440 - };  
441 - name = Profile;  
442 - };  
443 - 33CC10F92044A3C60003C045 /* Debug */ = {  
444 - isa = XCBuildConfiguration;  
445 - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;  
446 - buildSettings = {  
447 - ALWAYS_SEARCH_USER_PATHS = NO;  
448 - CLANG_ANALYZER_NONNULL = YES;  
449 - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;  
450 - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";  
451 - CLANG_CXX_LIBRARY = "libc++";  
452 - CLANG_ENABLE_MODULES = YES;  
453 - CLANG_ENABLE_OBJC_ARC = YES;  
454 - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;  
455 - CLANG_WARN_BOOL_CONVERSION = YES;  
456 - CLANG_WARN_CONSTANT_CONVERSION = YES;  
457 - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;  
458 - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;  
459 - CLANG_WARN_DOCUMENTATION_COMMENTS = YES;  
460 - CLANG_WARN_EMPTY_BODY = YES;  
461 - CLANG_WARN_ENUM_CONVERSION = YES;  
462 - CLANG_WARN_INFINITE_RECURSION = YES;  
463 - CLANG_WARN_INT_CONVERSION = YES;  
464 - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;  
465 - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;  
466 - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;  
467 - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;  
468 - CLANG_WARN_SUSPICIOUS_MOVE = YES;  
469 - CODE_SIGN_IDENTITY = "-";  
470 - COPY_PHASE_STRIP = NO;  
471 - DEBUG_INFORMATION_FORMAT = dwarf;  
472 - ENABLE_STRICT_OBJC_MSGSEND = YES;  
473 - ENABLE_TESTABILITY = YES;  
474 - GCC_C_LANGUAGE_STANDARD = gnu11;  
475 - GCC_DYNAMIC_NO_PIC = NO;  
476 - GCC_NO_COMMON_BLOCKS = YES;  
477 - GCC_OPTIMIZATION_LEVEL = 0;  
478 - GCC_PREPROCESSOR_DEFINITIONS = (  
479 - "DEBUG=1",  
480 - "$(inherited)",  
481 - );  
482 - GCC_WARN_64_TO_32_BIT_CONVERSION = YES;  
483 - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;  
484 - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;  
485 - GCC_WARN_UNUSED_FUNCTION = YES;  
486 - GCC_WARN_UNUSED_VARIABLE = YES;  
487 - MACOSX_DEPLOYMENT_TARGET = 10.14;  
488 - MTL_ENABLE_DEBUG_INFO = YES;  
489 - ONLY_ACTIVE_ARCH = YES;  
490 - SDKROOT = macosx;  
491 - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;  
492 - SWIFT_OPTIMIZATION_LEVEL = "-Onone";  
493 - };  
494 - name = Debug;  
495 - };  
496 - 33CC10FA2044A3C60003C045 /* Release */ = {  
497 - isa = XCBuildConfiguration;  
498 - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;  
499 - buildSettings = {  
500 - ALWAYS_SEARCH_USER_PATHS = NO;  
501 - CLANG_ANALYZER_NONNULL = YES;  
502 - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;  
503 - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";  
504 - CLANG_CXX_LIBRARY = "libc++";  
505 - CLANG_ENABLE_MODULES = YES;  
506 - CLANG_ENABLE_OBJC_ARC = YES;  
507 - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;  
508 - CLANG_WARN_BOOL_CONVERSION = YES;  
509 - CLANG_WARN_CONSTANT_CONVERSION = YES;  
510 - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;  
511 - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;  
512 - CLANG_WARN_DOCUMENTATION_COMMENTS = YES;  
513 - CLANG_WARN_EMPTY_BODY = YES;  
514 - CLANG_WARN_ENUM_CONVERSION = YES;  
515 - CLANG_WARN_INFINITE_RECURSION = YES;  
516 - CLANG_WARN_INT_CONVERSION = YES;  
517 - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;  
518 - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;  
519 - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;  
520 - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;  
521 - CLANG_WARN_SUSPICIOUS_MOVE = YES;  
522 - CODE_SIGN_IDENTITY = "-";  
523 - COPY_PHASE_STRIP = NO;  
524 - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";  
525 - ENABLE_NS_ASSERTIONS = NO;  
526 - ENABLE_STRICT_OBJC_MSGSEND = YES;  
527 - GCC_C_LANGUAGE_STANDARD = gnu11;  
528 - GCC_NO_COMMON_BLOCKS = YES;  
529 - GCC_WARN_64_TO_32_BIT_CONVERSION = YES;  
530 - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;  
531 - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;  
532 - GCC_WARN_UNUSED_FUNCTION = YES;  
533 - GCC_WARN_UNUSED_VARIABLE = YES;  
534 - MACOSX_DEPLOYMENT_TARGET = 10.14;  
535 - MTL_ENABLE_DEBUG_INFO = NO;  
536 - SDKROOT = macosx;  
537 - SWIFT_COMPILATION_MODE = wholemodule;  
538 - SWIFT_OPTIMIZATION_LEVEL = "-O";  
539 - };  
540 - name = Release;  
541 - };  
542 - 33CC10FC2044A3C60003C045 /* Debug */ = {  
543 - isa = XCBuildConfiguration;  
544 - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;  
545 - buildSettings = {  
546 - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;  
547 - CLANG_ENABLE_MODULES = YES;  
548 - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;  
549 - CODE_SIGN_STYLE = Automatic;  
550 - COMBINE_HIDPI_IMAGES = YES;  
551 - INFOPLIST_FILE = Runner/Info.plist;  
552 - LD_RUNPATH_SEARCH_PATHS = (  
553 - "$(inherited)",  
554 - "@executable_path/../Frameworks",  
555 - );  
556 - PROVISIONING_PROFILE_SPECIFIER = "";  
557 - SWIFT_OPTIMIZATION_LEVEL = "-Onone";  
558 - SWIFT_VERSION = 5.0;  
559 - };  
560 - name = Debug;  
561 - };  
562 - 33CC10FD2044A3C60003C045 /* Release */ = {  
563 - isa = XCBuildConfiguration;  
564 - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */;  
565 - buildSettings = {  
566 - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;  
567 - CLANG_ENABLE_MODULES = YES;  
568 - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;  
569 - CODE_SIGN_STYLE = Automatic;  
570 - COMBINE_HIDPI_IMAGES = YES;  
571 - INFOPLIST_FILE = Runner/Info.plist;  
572 - LD_RUNPATH_SEARCH_PATHS = (  
573 - "$(inherited)",  
574 - "@executable_path/../Frameworks",  
575 - );  
576 - PROVISIONING_PROFILE_SPECIFIER = "";  
577 - SWIFT_VERSION = 5.0;  
578 - };  
579 - name = Release;  
580 - };  
581 - 33CC111C2044C6BA0003C045 /* Debug */ = {  
582 - isa = XCBuildConfiguration;  
583 - buildSettings = {  
584 - CODE_SIGN_STYLE = Manual;  
585 - PRODUCT_NAME = "$(TARGET_NAME)";  
586 - };  
587 - name = Debug;  
588 - };  
589 - 33CC111D2044C6BA0003C045 /* Release */ = {  
590 - isa = XCBuildConfiguration;  
591 - buildSettings = {  
592 - CODE_SIGN_STYLE = Automatic;  
593 - PRODUCT_NAME = "$(TARGET_NAME)";  
594 - };  
595 - name = Release;  
596 - };  
597 -/* End XCBuildConfiguration section */  
598 -  
599 -/* Begin XCConfigurationList section */  
600 - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = {  
601 - isa = XCConfigurationList;  
602 - buildConfigurations = (  
603 - 33CC10F92044A3C60003C045 /* Debug */,  
604 - 33CC10FA2044A3C60003C045 /* Release */,  
605 - 338D0CE9231458BD00FA5F75 /* Profile */,  
606 - );  
607 - defaultConfigurationIsVisible = 0;  
608 - defaultConfigurationName = Release;  
609 - };  
610 - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = {  
611 - isa = XCConfigurationList;  
612 - buildConfigurations = (  
613 - 33CC10FC2044A3C60003C045 /* Debug */,  
614 - 33CC10FD2044A3C60003C045 /* Release */,  
615 - 338D0CEA231458BD00FA5F75 /* Profile */,  
616 - );  
617 - defaultConfigurationIsVisible = 0;  
618 - defaultConfigurationName = Release;  
619 - };  
620 - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = {  
621 - isa = XCConfigurationList;  
622 - buildConfigurations = (  
623 - 33CC111C2044C6BA0003C045 /* Debug */,  
624 - 33CC111D2044C6BA0003C045 /* Release */,  
625 - 338D0CEB231458BD00FA5F75 /* Profile */,  
626 - );  
627 - defaultConfigurationIsVisible = 0;  
628 - defaultConfigurationName = Release;  
629 - };  
630 -/* End XCConfigurationList section */  
631 - };  
632 - rootObject = 33CC10E52044A3C60003C045 /* Project object */;  
633 -}  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>IDEDidComputeMac32BitWarning</key>  
6 - <true/>  
7 -</dict>  
8 -</plist>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<Scheme  
3 - LastUpgradeVersion = "1300"  
4 - version = "1.3">  
5 - <BuildAction  
6 - parallelizeBuildables = "YES"  
7 - buildImplicitDependencies = "YES">  
8 - <BuildActionEntries>  
9 - <BuildActionEntry  
10 - buildForTesting = "YES"  
11 - buildForRunning = "YES"  
12 - buildForProfiling = "YES"  
13 - buildForArchiving = "YES"  
14 - buildForAnalyzing = "YES">  
15 - <BuildableReference  
16 - BuildableIdentifier = "primary"  
17 - BlueprintIdentifier = "33CC10EC2044A3C60003C045"  
18 - BuildableName = "example.app"  
19 - BlueprintName = "Runner"  
20 - ReferencedContainer = "container:Runner.xcodeproj">  
21 - </BuildableReference>  
22 - </BuildActionEntry>  
23 - </BuildActionEntries>  
24 - </BuildAction>  
25 - <TestAction  
26 - buildConfiguration = "Debug"  
27 - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"  
28 - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"  
29 - shouldUseLaunchSchemeArgsEnv = "YES">  
30 - <MacroExpansion>  
31 - <BuildableReference  
32 - BuildableIdentifier = "primary"  
33 - BlueprintIdentifier = "33CC10EC2044A3C60003C045"  
34 - BuildableName = "example.app"  
35 - BlueprintName = "Runner"  
36 - ReferencedContainer = "container:Runner.xcodeproj">  
37 - </BuildableReference>  
38 - </MacroExpansion>  
39 - <Testables>  
40 - </Testables>  
41 - </TestAction>  
42 - <LaunchAction  
43 - buildConfiguration = "Debug"  
44 - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"  
45 - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"  
46 - launchStyle = "0"  
47 - useCustomWorkingDirectory = "NO"  
48 - ignoresPersistentStateOnLaunch = "NO"  
49 - debugDocumentVersioning = "YES"  
50 - debugServiceExtension = "internal"  
51 - allowLocationSimulation = "YES">  
52 - <BuildableProductRunnable  
53 - runnableDebuggingMode = "0">  
54 - <BuildableReference  
55 - BuildableIdentifier = "primary"  
56 - BlueprintIdentifier = "33CC10EC2044A3C60003C045"  
57 - BuildableName = "example.app"  
58 - BlueprintName = "Runner"  
59 - ReferencedContainer = "container:Runner.xcodeproj">  
60 - </BuildableReference>  
61 - </BuildableProductRunnable>  
62 - </LaunchAction>  
63 - <ProfileAction  
64 - buildConfiguration = "Profile"  
65 - shouldUseLaunchSchemeArgsEnv = "YES"  
66 - savedToolIdentifier = ""  
67 - useCustomWorkingDirectory = "NO"  
68 - debugDocumentVersioning = "YES">  
69 - <BuildableProductRunnable  
70 - runnableDebuggingMode = "0">  
71 - <BuildableReference  
72 - BuildableIdentifier = "primary"  
73 - BlueprintIdentifier = "33CC10EC2044A3C60003C045"  
74 - BuildableName = "example.app"  
75 - BlueprintName = "Runner"  
76 - ReferencedContainer = "container:Runner.xcodeproj">  
77 - </BuildableReference>  
78 - </BuildableProductRunnable>  
79 - </ProfileAction>  
80 - <AnalyzeAction  
81 - buildConfiguration = "Debug">  
82 - </AnalyzeAction>  
83 - <ArchiveAction  
84 - buildConfiguration = "Release"  
85 - revealArchiveInOrganizer = "YES">  
86 - </ArchiveAction>  
87 -</Scheme>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<Workspace  
3 - version = "1.0">  
4 - <FileRef  
5 - location = "group:Runner.xcodeproj">  
6 - </FileRef>  
7 - <FileRef  
8 - location = "group:Pods/Pods.xcodeproj">  
9 - </FileRef>  
10 -</Workspace>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>IDEDidComputeMac32BitWarning</key>  
6 - <true/>  
7 -</dict>  
8 -</plist>  
1 -import Cocoa  
2 -import FlutterMacOS  
3 -  
4 -@NSApplicationMain  
5 -class AppDelegate: FlutterAppDelegate {  
6 - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {  
7 - return true  
8 - }  
9 -}  
1 -{  
2 - "images" : [  
3 - {  
4 - "size" : "16x16",  
5 - "idiom" : "mac",  
6 - "filename" : "app_icon_16.png",  
7 - "scale" : "1x"  
8 - },  
9 - {  
10 - "size" : "16x16",  
11 - "idiom" : "mac",  
12 - "filename" : "app_icon_32.png",  
13 - "scale" : "2x"  
14 - },  
15 - {  
16 - "size" : "32x32",  
17 - "idiom" : "mac",  
18 - "filename" : "app_icon_32.png",  
19 - "scale" : "1x"  
20 - },  
21 - {  
22 - "size" : "32x32",  
23 - "idiom" : "mac",  
24 - "filename" : "app_icon_64.png",  
25 - "scale" : "2x"  
26 - },  
27 - {  
28 - "size" : "128x128",  
29 - "idiom" : "mac",  
30 - "filename" : "app_icon_128.png",  
31 - "scale" : "1x"  
32 - },  
33 - {  
34 - "size" : "128x128",  
35 - "idiom" : "mac",  
36 - "filename" : "app_icon_256.png",  
37 - "scale" : "2x"  
38 - },  
39 - {  
40 - "size" : "256x256",  
41 - "idiom" : "mac",  
42 - "filename" : "app_icon_256.png",  
43 - "scale" : "1x"  
44 - },  
45 - {  
46 - "size" : "256x256",  
47 - "idiom" : "mac",  
48 - "filename" : "app_icon_512.png",  
49 - "scale" : "2x"  
50 - },  
51 - {  
52 - "size" : "512x512",  
53 - "idiom" : "mac",  
54 - "filename" : "app_icon_512.png",  
55 - "scale" : "1x"  
56 - },  
57 - {  
58 - "size" : "512x512",  
59 - "idiom" : "mac",  
60 - "filename" : "app_icon_1024.png",  
61 - "scale" : "2x"  
62 - }  
63 - ],  
64 - "info" : {  
65 - "version" : 1,  
66 - "author" : "xcode"  
67 - }  
68 -}  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">  
3 - <dependencies>  
4 - <deployment identifier="macosx"/>  
5 - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>  
6 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
7 - </dependencies>  
8 - <objects>  
9 - <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">  
10 - <connections>  
11 - <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>  
12 - </connections>  
13 - </customObject>  
14 - <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>  
15 - <customObject id="-3" userLabel="Application" customClass="NSObject"/>  
16 - <customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="Runner" customModuleProvider="target">  
17 - <connections>  
18 - <outlet property="applicationMenu" destination="uQy-DD-JDr" id="XBo-yE-nKs"/>  
19 - <outlet property="mainFlutterWindow" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>  
20 - </connections>  
21 - </customObject>  
22 - <customObject id="YLy-65-1bz" customClass="NSFontManager"/>  
23 - <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">  
24 - <items>  
25 - <menuItem title="APP_NAME" id="1Xt-HY-uBw">  
26 - <modifierMask key="keyEquivalentModifierMask"/>  
27 - <menu key="submenu" title="APP_NAME" systemMenu="apple" id="uQy-DD-JDr">  
28 - <items>  
29 - <menuItem title="About APP_NAME" id="5kV-Vb-QxS">  
30 - <modifierMask key="keyEquivalentModifierMask"/>  
31 - <connections>  
32 - <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>  
33 - </connections>  
34 - </menuItem>  
35 - <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>  
36 - <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>  
37 - <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>  
38 - <menuItem title="Services" id="NMo-om-nkz">  
39 - <modifierMask key="keyEquivalentModifierMask"/>  
40 - <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>  
41 - </menuItem>  
42 - <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>  
43 - <menuItem title="Hide APP_NAME" keyEquivalent="h" id="Olw-nP-bQN">  
44 - <connections>  
45 - <action selector="hide:" target="-1" id="PnN-Uc-m68"/>  
46 - </connections>  
47 - </menuItem>  
48 - <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">  
49 - <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>  
50 - <connections>  
51 - <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>  
52 - </connections>  
53 - </menuItem>  
54 - <menuItem title="Show All" id="Kd2-mp-pUS">  
55 - <modifierMask key="keyEquivalentModifierMask"/>  
56 - <connections>  
57 - <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>  
58 - </connections>  
59 - </menuItem>  
60 - <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>  
61 - <menuItem title="Quit APP_NAME" keyEquivalent="q" id="4sb-4s-VLi">  
62 - <connections>  
63 - <action selector="terminate:" target="-1" id="Te7-pn-YzF"/>  
64 - </connections>  
65 - </menuItem>  
66 - </items>  
67 - </menu>  
68 - </menuItem>  
69 - <menuItem title="Edit" id="5QF-Oa-p0T">  
70 - <modifierMask key="keyEquivalentModifierMask"/>  
71 - <menu key="submenu" title="Edit" id="W48-6f-4Dl">  
72 - <items>  
73 - <menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">  
74 - <connections>  
75 - <action selector="undo:" target="-1" id="M6e-cu-g7V"/>  
76 - </connections>  
77 - </menuItem>  
78 - <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">  
79 - <connections>  
80 - <action selector="redo:" target="-1" id="oIA-Rs-6OD"/>  
81 - </connections>  
82 - </menuItem>  
83 - <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>  
84 - <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">  
85 - <connections>  
86 - <action selector="cut:" target="-1" id="YJe-68-I9s"/>  
87 - </connections>  
88 - </menuItem>  
89 - <menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">  
90 - <connections>  
91 - <action selector="copy:" target="-1" id="G1f-GL-Joy"/>  
92 - </connections>  
93 - </menuItem>  
94 - <menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">  
95 - <connections>  
96 - <action selector="paste:" target="-1" id="UvS-8e-Qdg"/>  
97 - </connections>  
98 - </menuItem>  
99 - <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">  
100 - <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>  
101 - <connections>  
102 - <action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>  
103 - </connections>  
104 - </menuItem>  
105 - <menuItem title="Delete" id="pa3-QI-u2k">  
106 - <modifierMask key="keyEquivalentModifierMask"/>  
107 - <connections>  
108 - <action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>  
109 - </connections>  
110 - </menuItem>  
111 - <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">  
112 - <connections>  
113 - <action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>  
114 - </connections>  
115 - </menuItem>  
116 - <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>  
117 - <menuItem title="Find" id="4EN-yA-p0u">  
118 - <modifierMask key="keyEquivalentModifierMask"/>  
119 - <menu key="submenu" title="Find" id="1b7-l0-nxx">  
120 - <items>  
121 - <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">  
122 - <connections>  
123 - <action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>  
124 - </connections>  
125 - </menuItem>  
126 - <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">  
127 - <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>  
128 - <connections>  
129 - <action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>  
130 - </connections>  
131 - </menuItem>  
132 - <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">  
133 - <connections>  
134 - <action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>  
135 - </connections>  
136 - </menuItem>  
137 - <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">  
138 - <connections>  
139 - <action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>  
140 - </connections>  
141 - </menuItem>  
142 - <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">  
143 - <connections>  
144 - <action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>  
145 - </connections>  
146 - </menuItem>  
147 - <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">  
148 - <connections>  
149 - <action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>  
150 - </connections>  
151 - </menuItem>  
152 - </items>  
153 - </menu>  
154 - </menuItem>  
155 - <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">  
156 - <modifierMask key="keyEquivalentModifierMask"/>  
157 - <menu key="submenu" title="Spelling" id="3IN-sU-3Bg">  
158 - <items>  
159 - <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">  
160 - <connections>  
161 - <action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>  
162 - </connections>  
163 - </menuItem>  
164 - <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">  
165 - <connections>  
166 - <action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>  
167 - </connections>  
168 - </menuItem>  
169 - <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>  
170 - <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">  
171 - <modifierMask key="keyEquivalentModifierMask"/>  
172 - <connections>  
173 - <action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>  
174 - </connections>  
175 - </menuItem>  
176 - <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">  
177 - <modifierMask key="keyEquivalentModifierMask"/>  
178 - <connections>  
179 - <action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>  
180 - </connections>  
181 - </menuItem>  
182 - <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">  
183 - <modifierMask key="keyEquivalentModifierMask"/>  
184 - <connections>  
185 - <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>  
186 - </connections>  
187 - </menuItem>  
188 - </items>  
189 - </menu>  
190 - </menuItem>  
191 - <menuItem title="Substitutions" id="9ic-FL-obx">  
192 - <modifierMask key="keyEquivalentModifierMask"/>  
193 - <menu key="submenu" title="Substitutions" id="FeM-D8-WVr">  
194 - <items>  
195 - <menuItem title="Show Substitutions" id="z6F-FW-3nz">  
196 - <modifierMask key="keyEquivalentModifierMask"/>  
197 - <connections>  
198 - <action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>  
199 - </connections>  
200 - </menuItem>  
201 - <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>  
202 - <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">  
203 - <modifierMask key="keyEquivalentModifierMask"/>  
204 - <connections>  
205 - <action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>  
206 - </connections>  
207 - </menuItem>  
208 - <menuItem title="Smart Quotes" id="hQb-2v-fYv">  
209 - <modifierMask key="keyEquivalentModifierMask"/>  
210 - <connections>  
211 - <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>  
212 - </connections>  
213 - </menuItem>  
214 - <menuItem title="Smart Dashes" id="rgM-f4-ycn">  
215 - <modifierMask key="keyEquivalentModifierMask"/>  
216 - <connections>  
217 - <action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>  
218 - </connections>  
219 - </menuItem>  
220 - <menuItem title="Smart Links" id="cwL-P1-jid">  
221 - <modifierMask key="keyEquivalentModifierMask"/>  
222 - <connections>  
223 - <action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>  
224 - </connections>  
225 - </menuItem>  
226 - <menuItem title="Data Detectors" id="tRr-pd-1PS">  
227 - <modifierMask key="keyEquivalentModifierMask"/>  
228 - <connections>  
229 - <action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>  
230 - </connections>  
231 - </menuItem>  
232 - <menuItem title="Text Replacement" id="HFQ-gK-NFA">  
233 - <modifierMask key="keyEquivalentModifierMask"/>  
234 - <connections>  
235 - <action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>  
236 - </connections>  
237 - </menuItem>  
238 - </items>  
239 - </menu>  
240 - </menuItem>  
241 - <menuItem title="Transformations" id="2oI-Rn-ZJC">  
242 - <modifierMask key="keyEquivalentModifierMask"/>  
243 - <menu key="submenu" title="Transformations" id="c8a-y6-VQd">  
244 - <items>  
245 - <menuItem title="Make Upper Case" id="vmV-6d-7jI">  
246 - <modifierMask key="keyEquivalentModifierMask"/>  
247 - <connections>  
248 - <action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>  
249 - </connections>  
250 - </menuItem>  
251 - <menuItem title="Make Lower Case" id="d9M-CD-aMd">  
252 - <modifierMask key="keyEquivalentModifierMask"/>  
253 - <connections>  
254 - <action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>  
255 - </connections>  
256 - </menuItem>  
257 - <menuItem title="Capitalize" id="UEZ-Bs-lqG">  
258 - <modifierMask key="keyEquivalentModifierMask"/>  
259 - <connections>  
260 - <action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>  
261 - </connections>  
262 - </menuItem>  
263 - </items>  
264 - </menu>  
265 - </menuItem>  
266 - <menuItem title="Speech" id="xrE-MZ-jX0">  
267 - <modifierMask key="keyEquivalentModifierMask"/>  
268 - <menu key="submenu" title="Speech" id="3rS-ZA-NoH">  
269 - <items>  
270 - <menuItem title="Start Speaking" id="Ynk-f8-cLZ">  
271 - <modifierMask key="keyEquivalentModifierMask"/>  
272 - <connections>  
273 - <action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>  
274 - </connections>  
275 - </menuItem>  
276 - <menuItem title="Stop Speaking" id="Oyz-dy-DGm">  
277 - <modifierMask key="keyEquivalentModifierMask"/>  
278 - <connections>  
279 - <action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>  
280 - </connections>  
281 - </menuItem>  
282 - </items>  
283 - </menu>  
284 - </menuItem>  
285 - </items>  
286 - </menu>  
287 - </menuItem>  
288 - <menuItem title="View" id="H8h-7b-M4v">  
289 - <modifierMask key="keyEquivalentModifierMask"/>  
290 - <menu key="submenu" title="View" id="HyV-fh-RgO">  
291 - <items>  
292 - <menuItem title="Enter Full Screen" keyEquivalent="f" id="4J7-dP-txa">  
293 - <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>  
294 - <connections>  
295 - <action selector="toggleFullScreen:" target="-1" id="dU3-MA-1Rq"/>  
296 - </connections>  
297 - </menuItem>  
298 - </items>  
299 - </menu>  
300 - </menuItem>  
301 - <menuItem title="Window" id="aUF-d1-5bR">  
302 - <modifierMask key="keyEquivalentModifierMask"/>  
303 - <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">  
304 - <items>  
305 - <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">  
306 - <connections>  
307 - <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>  
308 - </connections>  
309 - </menuItem>  
310 - <menuItem title="Zoom" id="R4o-n2-Eq4">  
311 - <modifierMask key="keyEquivalentModifierMask"/>  
312 - <connections>  
313 - <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>  
314 - </connections>  
315 - </menuItem>  
316 - <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>  
317 - <menuItem title="Bring All to Front" id="LE2-aR-0XJ">  
318 - <modifierMask key="keyEquivalentModifierMask"/>  
319 - <connections>  
320 - <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>  
321 - </connections>  
322 - </menuItem>  
323 - </items>  
324 - </menu>  
325 - </menuItem>  
326 - <menuItem title="Help" id="EPT-qC-fAb">  
327 - <modifierMask key="keyEquivalentModifierMask"/>  
328 - <menu key="submenu" title="Help" systemMenu="help" id="rJ0-wn-3NY"/>  
329 - </menuItem>  
330 - </items>  
331 - <point key="canvasLocation" x="142" y="-258"/>  
332 - </menu>  
333 - <window title="APP_NAME" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="Runner" customModuleProvider="target">  
334 - <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>  
335 - <rect key="contentRect" x="335" y="390" width="800" height="600"/>  
336 - <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1577"/>  
337 - <view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">  
338 - <rect key="frame" x="0.0" y="0.0" width="800" height="600"/>  
339 - <autoresizingMask key="autoresizingMask"/>  
340 - </view>  
341 - </window>  
342 - </objects>  
343 -</document>  
1 -// Application-level settings for the Runner target.  
2 -//  
3 -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the  
4 -// future. If not, the values below would default to using the project name when this becomes a  
5 -// 'flutter create' template.  
6 -  
7 -// The application's name. By default this is also the title of the Flutter window.  
8 -PRODUCT_NAME = example  
9 -  
10 -// The application's bundle identifier  
11 -PRODUCT_BUNDLE_IDENTIFIER = com.example.example  
12 -  
13 -// The copyright displayed in application information  
14 -PRODUCT_COPYRIGHT = Copyright © 2023 com.example. All rights reserved.  
1 -#include "../../Flutter/Flutter-Debug.xcconfig"  
2 -#include "Warnings.xcconfig"  
1 -#include "../../Flutter/Flutter-Release.xcconfig"  
2 -#include "Warnings.xcconfig"  
1 -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings  
2 -GCC_WARN_UNDECLARED_SELECTOR = YES  
3 -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES  
4 -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE  
5 -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES  
6 -CLANG_WARN_PRAGMA_PACK = YES  
7 -CLANG_WARN_STRICT_PROTOTYPES = YES  
8 -CLANG_WARN_COMMA = YES  
9 -GCC_WARN_STRICT_SELECTOR_MATCH = YES  
10 -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES  
11 -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES  
12 -GCC_WARN_SHADOW = YES  
13 -CLANG_WARN_UNREACHABLE_CODE = YES  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>com.apple.security.app-sandbox</key>  
6 - <true/>  
7 - <key>com.apple.security.cs.allow-jit</key>  
8 - <true/>  
9 - <key>com.apple.security.network.server</key>  
10 - <true/>  
11 -</dict>  
12 -</plist>  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>CFBundleDevelopmentRegion</key>  
6 - <string>$(DEVELOPMENT_LANGUAGE)</string>  
7 - <key>CFBundleExecutable</key>  
8 - <string>$(EXECUTABLE_NAME)</string>  
9 - <key>CFBundleIconFile</key>  
10 - <string></string>  
11 - <key>CFBundleIdentifier</key>  
12 - <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>  
13 - <key>CFBundleInfoDictionaryVersion</key>  
14 - <string>6.0</string>  
15 - <key>CFBundleName</key>  
16 - <string>$(PRODUCT_NAME)</string>  
17 - <key>CFBundlePackageType</key>  
18 - <string>APPL</string>  
19 - <key>CFBundleShortVersionString</key>  
20 - <string>$(FLUTTER_BUILD_NAME)</string>  
21 - <key>CFBundleVersion</key>  
22 - <string>$(FLUTTER_BUILD_NUMBER)</string>  
23 - <key>LSMinimumSystemVersion</key>  
24 - <string>$(MACOSX_DEPLOYMENT_TARGET)</string>  
25 - <key>NSHumanReadableCopyright</key>  
26 - <string>$(PRODUCT_COPYRIGHT)</string>  
27 - <key>NSMainNibFile</key>  
28 - <string>MainMenu</string>  
29 - <key>NSPrincipalClass</key>  
30 - <string>NSApplication</string>  
31 -</dict>  
32 -</plist>  
1 -import Cocoa  
2 -import FlutterMacOS  
3 -  
4 -class MainFlutterWindow: NSWindow {  
5 - override func awakeFromNib() {  
6 - let flutterViewController = FlutterViewController.init()  
7 - let windowFrame = self.frame  
8 - self.contentViewController = flutterViewController  
9 - self.setFrame(windowFrame, display: true)  
10 -  
11 - RegisterGeneratedPlugins(registry: flutterViewController)  
12 -  
13 - super.awakeFromNib()  
14 - }  
15 -}  
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
3 -<plist version="1.0">  
4 -<dict>  
5 - <key>com.apple.security.app-sandbox</key>  
6 - <true/>  
7 -</dict>  
8 -</plist>  
1 -# Generated by pub  
2 -# See https://dart.dev/tools/pub/glossary#lockfile  
3 -packages:  
4 - archive:  
5 - dependency: transitive  
6 - description:  
7 - name: archive  
8 - sha256: d6347d54a2d8028e0437e3c099f66fdb8ae02c4720c1e7534c9f24c10351f85d  
9 - url: "https://pub.dev"  
10 - source: hosted  
11 - version: "3.3.6"  
12 - args:  
13 - dependency: transitive  
14 - description:  
15 - name: args  
16 - sha256: "4cab82a83ffef80b262ddedf47a0a8e56ee6fbf7fe21e6e768b02792034dd440"  
17 - url: "https://pub.dev"  
18 - source: hosted  
19 - version: "2.4.0"  
20 - async:  
21 - dependency: transitive  
22 - description:  
23 - name: async  
24 - sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0  
25 - url: "https://pub.dev"  
26 - source: hosted  
27 - version: "2.10.0"  
28 - barcode:  
29 - dependency: transitive  
30 - description:  
31 - name: barcode  
32 - sha256: "52570564684bbb0240a9f1fdb6bad12adc5e0540103c1c96d6dd550bd928b1c9"  
33 - url: "https://pub.dev"  
34 - source: hosted  
35 - version: "2.2.3"  
36 - bidi:  
37 - dependency: transitive  
38 - description:  
39 - name: bidi  
40 - sha256: dc00274c7edabae2ab30c676e736ea1eb0b1b7a1b436cb5fe372e431ccb39ab0  
41 - url: "https://pub.dev"  
42 - source: hosted  
43 - version: "2.0.6"  
44 - boolean_selector:  
45 - dependency: transitive  
46 - description:  
47 - name: boolean_selector  
48 - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"  
49 - url: "https://pub.dev"  
50 - source: hosted  
51 - version: "2.1.1"  
52 - characters:  
53 - dependency: transitive  
54 - description:  
55 - name: characters  
56 - sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c  
57 - url: "https://pub.dev"  
58 - source: hosted  
59 - version: "1.2.1"  
60 - clock:  
61 - dependency: transitive  
62 - description:  
63 - name: clock  
64 - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf  
65 - url: "https://pub.dev"  
66 - source: hosted  
67 - version: "1.1.1"  
68 - collection:  
69 - dependency: transitive  
70 - description:  
71 - name: collection  
72 - sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0  
73 - url: "https://pub.dev"  
74 - source: hosted  
75 - version: "1.17.0"  
76 - convert:  
77 - dependency: transitive  
78 - description:  
79 - name: convert  
80 - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"  
81 - url: "https://pub.dev"  
82 - source: hosted  
83 - version: "3.1.1"  
84 - crypto:  
85 - dependency: transitive  
86 - description:  
87 - name: crypto  
88 - sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67  
89 - url: "https://pub.dev"  
90 - source: hosted  
91 - version: "3.0.2"  
92 - cupertino_icons:  
93 - dependency: "direct main"  
94 - description:  
95 - name: cupertino_icons  
96 - sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be  
97 - url: "https://pub.dev"  
98 - source: hosted  
99 - version: "1.0.5"  
100 - fake_async:  
101 - dependency: transitive  
102 - description:  
103 - name: fake_async  
104 - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"  
105 - url: "https://pub.dev"  
106 - source: hosted  
107 - version: "1.3.1"  
108 - flutter:  
109 - dependency: "direct main"  
110 - description: flutter  
111 - source: sdk  
112 - version: "0.0.0"  
113 - flutter_lints:  
114 - dependency: "direct dev"  
115 - description:  
116 - name: flutter_lints  
117 - sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c  
118 - url: "https://pub.dev"  
119 - source: hosted  
120 - version: "2.0.1"  
121 - flutter_math_fork:  
122 - dependency: transitive  
123 - description:  
124 - name: flutter_math_fork  
125 - sha256: fa511bdcb91fc35eac155ec5790883886dd9de6572fea549f1ad4660ef6804e9  
126 - url: "https://pub.dev"  
127 - source: hosted  
128 - version: "0.6.3+1"  
129 - flutter_svg:  
130 - dependency: transitive  
131 - description:  
132 - name: flutter_svg  
133 - sha256: "6ff9fa12892ae074092de2fa6a9938fb21dbabfdaa2ff57dc697ff912fc8d4b2"  
134 - url: "https://pub.dev"  
135 - source: hosted  
136 - version: "1.1.6"  
137 - flutter_test:  
138 - dependency: "direct dev"  
139 - description: flutter  
140 - source: sdk  
141 - version: "0.0.0"  
142 - flutter_web_plugins:  
143 - dependency: transitive  
144 - description: flutter  
145 - source: sdk  
146 - version: "0.0.0"  
147 - http:  
148 - dependency: transitive  
149 - description:  
150 - name: http  
151 - sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482"  
152 - url: "https://pub.dev"  
153 - source: hosted  
154 - version: "0.13.5"  
155 - http_parser:  
156 - dependency: transitive  
157 - description:  
158 - name: http_parser  
159 - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"  
160 - url: "https://pub.dev"  
161 - source: hosted  
162 - version: "4.0.2"  
163 - image:  
164 - dependency: transitive  
165 - description:  
166 - name: image  
167 - sha256: "483a389d6ccb292b570c31b3a193779b1b0178e7eb571986d9a49904b6861227"  
168 - url: "https://pub.dev"  
169 - source: hosted  
170 - version: "4.0.15"  
171 - intl:  
172 - dependency: transitive  
173 - description:  
174 - name: intl  
175 - sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6  
176 - url: "https://pub.dev"  
177 - source: hosted  
178 - version: "0.18.0"  
179 - js:  
180 - dependency: transitive  
181 - description:  
182 - name: js  
183 - sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"  
184 - url: "https://pub.dev"  
185 - source: hosted  
186 - version: "0.6.5"  
187 - lints:  
188 - dependency: transitive  
189 - description:  
190 - name: lints  
191 - sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593"  
192 - url: "https://pub.dev"  
193 - source: hosted  
194 - version: "2.0.1"  
195 - markdown:  
196 - dependency: transitive  
197 - description:  
198 - name: markdown  
199 - sha256: b3c60dee8c2af50ad0e6e90cceba98e47718a6ee0a7a6772c77846a0cc21f78b  
200 - url: "https://pub.dev"  
201 - source: hosted  
202 - version: "7.0.1"  
203 - markdown_to_pdf:  
204 - dependency: "direct main"  
205 - description:  
206 - path: ".."  
207 - relative: true  
208 - source: path  
209 - version: "0.0.1"  
210 - matcher:  
211 - dependency: transitive  
212 - description:  
213 - name: matcher  
214 - sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"  
215 - url: "https://pub.dev"  
216 - source: hosted  
217 - version: "0.12.13"  
218 - material_color_utilities:  
219 - dependency: transitive  
220 - description:  
221 - name: material_color_utilities  
222 - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724  
223 - url: "https://pub.dev"  
224 - source: hosted  
225 - version: "0.2.0"  
226 - meta:  
227 - dependency: transitive  
228 - description:  
229 - name: meta  
230 - sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"  
231 - url: "https://pub.dev"  
232 - source: hosted  
233 - version: "1.8.0"  
234 - nested:  
235 - dependency: transitive  
236 - description:  
237 - name: nested  
238 - sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20"  
239 - url: "https://pub.dev"  
240 - source: hosted  
241 - version: "1.0.0"  
242 - path:  
243 - dependency: transitive  
244 - description:  
245 - name: path  
246 - sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b  
247 - url: "https://pub.dev"  
248 - source: hosted  
249 - version: "1.8.2"  
250 - path_drawing:  
251 - dependency: transitive  
252 - description:  
253 - name: path_drawing  
254 - sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977  
255 - url: "https://pub.dev"  
256 - source: hosted  
257 - version: "1.0.1"  
258 - path_parsing:  
259 - dependency: transitive  
260 - description:  
261 - name: path_parsing  
262 - sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf  
263 - url: "https://pub.dev"  
264 - source: hosted  
265 - version: "1.0.1"  
266 - pdf:  
267 - dependency: transitive  
268 - description:  
269 - name: pdf  
270 - sha256: "6cd57e8e6d052bd1078f18e0dc7cd6701fad6288231c1ce99d66ef5034d14e61"  
271 - url: "https://pub.dev"  
272 - source: hosted  
273 - version: "3.9.0"  
274 - petitparser:  
275 - dependency: transitive  
276 - description:  
277 - name: petitparser  
278 - sha256: "49392a45ced973e8d94a85fdb21293fbb40ba805fc49f2965101ae748a3683b4"  
279 - url: "https://pub.dev"  
280 - source: hosted  
281 - version: "5.1.0"  
282 - plugin_platform_interface:  
283 - dependency: transitive  
284 - description:  
285 - name: plugin_platform_interface  
286 - sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc"  
287 - url: "https://pub.dev"  
288 - source: hosted  
289 - version: "2.1.4"  
290 - pointycastle:  
291 - dependency: transitive  
292 - description:  
293 - name: pointycastle  
294 - sha256: "57b6b78df14175658f09c5dfcfc51a46ad9561a3504fe679913dab404d0cc0f2"  
295 - url: "https://pub.dev"  
296 - source: hosted  
297 - version: "3.7.0"  
298 - provider:  
299 - dependency: transitive  
300 - description:  
301 - name: provider  
302 - sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f  
303 - url: "https://pub.dev"  
304 - source: hosted  
305 - version: "6.0.5"  
306 - qr:  
307 - dependency: transitive  
308 - description:  
309 - name: qr  
310 - sha256: "64957a3930367bf97cc211a5af99551d630f2f4625e38af10edd6b19131b64b3"  
311 - url: "https://pub.dev"  
312 - source: hosted  
313 - version: "3.0.1"  
314 - sky_engine:  
315 - dependency: transitive  
316 - description: flutter  
317 - source: sdk  
318 - version: "0.0.99"  
319 - source_span:  
320 - dependency: transitive  
321 - description:  
322 - name: source_span  
323 - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250  
324 - url: "https://pub.dev"  
325 - source: hosted  
326 - version: "1.9.1"  
327 - stack_trace:  
328 - dependency: transitive  
329 - description:  
330 - name: stack_trace  
331 - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5  
332 - url: "https://pub.dev"  
333 - source: hosted  
334 - version: "1.11.0"  
335 - stream_channel:  
336 - dependency: transitive  
337 - description:  
338 - name: stream_channel  
339 - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"  
340 - url: "https://pub.dev"  
341 - source: hosted  
342 - version: "2.1.1"  
343 - string_scanner:  
344 - dependency: transitive  
345 - description:  
346 - name: string_scanner  
347 - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"  
348 - url: "https://pub.dev"  
349 - source: hosted  
350 - version: "1.2.0"  
351 - syncfusion_flutter_core:  
352 - dependency: transitive  
353 - description:  
354 - name: syncfusion_flutter_core  
355 - sha256: "3979f0b1c5a97422cadae52d476c21fa3e0fb671ef51de6cae1d646d8b99fe1f"  
356 - url: "https://pub.dev"  
357 - source: hosted  
358 - version: "20.4.54"  
359 - syncfusion_flutter_pdf:  
360 - dependency: transitive  
361 - description:  
362 - name: syncfusion_flutter_pdf  
363 - sha256: cebcafc60d52d52e0789c18b6332c2bd378f0a6cca006fe0373293bcc6a66e6d  
364 - url: "https://pub.dev"  
365 - source: hosted  
366 - version: "20.4.54"  
367 - syncfusion_flutter_pdfviewer:  
368 - dependency: "direct main"  
369 - description:  
370 - name: syncfusion_flutter_pdfviewer  
371 - sha256: "797a704efd843a606150d3d6317d5f2191173c334a5e5056b7f37855a8093af3"  
372 - url: "https://pub.dev"  
373 - source: hosted  
374 - version: "20.4.54"  
375 - syncfusion_pdfviewer_macos:  
376 - dependency: transitive  
377 - description:  
378 - name: syncfusion_pdfviewer_macos  
379 - sha256: "6f2a9cdfc80aff8a13caba8d36527b3d68f5cb3530a7f2b29d269fbcff745afd"  
380 - url: "https://pub.dev"  
381 - source: hosted  
382 - version: "20.4.54"  
383 - syncfusion_pdfviewer_platform_interface:  
384 - dependency: transitive  
385 - description:  
386 - name: syncfusion_pdfviewer_platform_interface  
387 - sha256: "646230861e103d33173a4909a184a00b2aa5a01819d38b05ccbf99da51be9314"  
388 - url: "https://pub.dev"  
389 - source: hosted  
390 - version: "20.4.54"  
391 - syncfusion_pdfviewer_web:  
392 - dependency: transitive  
393 - description:  
394 - name: syncfusion_pdfviewer_web  
395 - sha256: ba0b72766f445ae171a5363df20abd50be0c1bc4576044df6afba3377a419de1  
396 - url: "https://pub.dev"  
397 - source: hosted  
398 - version: "20.4.54"  
399 - syncfusion_pdfviewer_windows:  
400 - dependency: transitive  
401 - description:  
402 - name: syncfusion_pdfviewer_windows  
403 - sha256: "4cc6c92c211636550c4beb998f2db8f76d4f20eccbc8160730f2add0c8e23411"  
404 - url: "https://pub.dev"  
405 - source: hosted  
406 - version: "20.4.54"  
407 - term_glyph:  
408 - dependency: transitive  
409 - description:  
410 - name: term_glyph  
411 - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84  
412 - url: "https://pub.dev"  
413 - source: hosted  
414 - version: "1.2.1"  
415 - test_api:  
416 - dependency: transitive  
417 - description:  
418 - name: test_api  
419 - sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206  
420 - url: "https://pub.dev"  
421 - source: hosted  
422 - version: "0.4.16"  
423 - tex_markdown:  
424 - dependency: "direct main"  
425 - description:  
426 - name: tex_markdown  
427 - sha256: "2e1c7968f73d4aeab03060739e82dd4f9dadd96cfd827f00577947664d2b9c5b"  
428 - url: "https://pub.dev"  
429 - source: hosted  
430 - version: "0.0.5"  
431 - tex_text:  
432 - dependency: transitive  
433 - description:  
434 - name: tex_text  
435 - sha256: "504723c343d3663c9b3e4cf686559e93a6453e0ab384d4e52bdea4210989d559"  
436 - url: "https://pub.dev"  
437 - source: hosted  
438 - version: "0.0.7"  
439 - tuple:  
440 - dependency: transitive  
441 - description:  
442 - name: tuple  
443 - sha256: "0ea99cd2f9352b2586583ab2ce6489d1f95a5f6de6fb9492faaf97ae2060f0aa"  
444 - url: "https://pub.dev"  
445 - source: hosted  
446 - version: "2.0.1"  
447 - typed_data:  
448 - dependency: transitive  
449 - description:  
450 - name: typed_data  
451 - sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5"  
452 - url: "https://pub.dev"  
453 - source: hosted  
454 - version: "1.3.1"  
455 - url_launcher:  
456 - dependency: transitive  
457 - description:  
458 - name: url_launcher  
459 - sha256: "75f2846facd11168d007529d6cd8fcb2b750186bea046af9711f10b907e1587e"  
460 - url: "https://pub.dev"  
461 - source: hosted  
462 - version: "6.1.10"  
463 - url_launcher_android:  
464 - dependency: transitive  
465 - description:  
466 - name: url_launcher_android  
467 - sha256: "845530e5e05db5500c1a4c1446785d60cbd8f9bd45e21e7dd643a3273bb4bbd1"  
468 - url: "https://pub.dev"  
469 - source: hosted  
470 - version: "6.0.25"  
471 - url_launcher_ios:  
472 - dependency: transitive  
473 - description:  
474 - name: url_launcher_ios  
475 - sha256: "7ab1e5b646623d6a2537aa59d5d039f90eebef75a7c25e105f6f75de1f7750c3"  
476 - url: "https://pub.dev"  
477 - source: hosted  
478 - version: "6.1.2"  
479 - url_launcher_linux:  
480 - dependency: transitive  
481 - description:  
482 - name: url_launcher_linux  
483 - sha256: "206fb8334a700ef7754d6a9ed119e7349bc830448098f21a69bf1b4ed038cabc"  
484 - url: "https://pub.dev"  
485 - source: hosted  
486 - version: "3.0.4"  
487 - url_launcher_macos:  
488 - dependency: transitive  
489 - description:  
490 - name: url_launcher_macos  
491 - sha256: "0ef2b4f97942a16523e51256b799e9aa1843da6c60c55eefbfa9dbc2dcb8331a"  
492 - url: "https://pub.dev"  
493 - source: hosted  
494 - version: "3.0.4"  
495 - url_launcher_platform_interface:  
496 - dependency: transitive  
497 - description:  
498 - name: url_launcher_platform_interface  
499 - sha256: "6c9ca697a5ae218ce56cece69d46128169a58aa8653c1b01d26fcd4aad8c4370"  
500 - url: "https://pub.dev"  
501 - source: hosted  
502 - version: "2.1.2"  
503 - url_launcher_web:  
504 - dependency: transitive  
505 - description:  
506 - name: url_launcher_web  
507 - sha256: "81fe91b6c4f84f222d186a9d23c73157dc4c8e1c71489c4d08be1ad3b228f1aa"  
508 - url: "https://pub.dev"  
509 - source: hosted  
510 - version: "2.0.16"  
511 - url_launcher_windows:  
512 - dependency: transitive  
513 - description:  
514 - name: url_launcher_windows  
515 - sha256: a83ba3607a507758669cfafb03f9de09bf6e6280c14d9b9cb18f013e406dcacd  
516 - url: "https://pub.dev"  
517 - source: hosted  
518 - version: "3.0.5"  
519 - uuid:  
520 - dependency: transitive  
521 - description:  
522 - name: uuid  
523 - sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313"  
524 - url: "https://pub.dev"  
525 - source: hosted  
526 - version: "3.0.7"  
527 - vector_math:  
528 - dependency: transitive  
529 - description:  
530 - name: vector_math  
531 - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"  
532 - url: "https://pub.dev"  
533 - source: hosted  
534 - version: "2.1.4"  
535 - xml:  
536 - dependency: transitive  
537 - description:  
538 - name: xml  
539 - sha256: "979ee37d622dec6365e2efa4d906c37470995871fe9ae080d967e192d88286b5"  
540 - url: "https://pub.dev"  
541 - source: hosted  
542 - version: "6.2.2"  
543 -sdks:  
544 - dart: ">=2.19.4 <3.0.0"  
545 - flutter: ">=3.3.0"  
1 -name: example  
2 -description: A new Flutter project.  
3 -# The following line prevents the package from being accidentally published to  
4 -# pub.dev using `flutter pub publish`. This is preferred for private packages.  
5 -publish_to: 'none' # Remove this line if you wish to publish to pub.dev  
6 -  
7 -# The following defines the version and build number for your application.  
8 -# A version number is three numbers separated by dots, like 1.2.43  
9 -# followed by an optional build number separated by a +.  
10 -# Both the version and the builder number may be overridden in flutter  
11 -# build by specifying --build-name and --build-number, respectively.  
12 -# In Android, build-name is used as versionName while build-number used as versionCode.  
13 -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning  
14 -# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion.  
15 -# Read more about iOS versioning at  
16 -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html  
17 -# In Windows, build-name is used as the major, minor, and patch parts  
18 -# of the product and file versions while build-number is used as the build suffix.  
19 -version: 1.0.0+1  
20 -  
21 -environment:  
22 - sdk: '>=2.19.4 <3.0.0'  
23 -  
24 -# Dependencies specify other packages that your package needs in order to work.  
25 -# To automatically upgrade your package dependencies to the latest versions  
26 -# consider running `flutter pub upgrade --major-versions`. Alternatively,  
27 -# dependencies can be manually updated by changing the version numbers below to  
28 -# the latest version available on pub.dev. To see which dependencies have newer  
29 -# versions available, run `flutter pub outdated`.  
30 -dependencies:  
31 - flutter:  
32 - sdk: flutter  
33 -  
34 -  
35 - # The following adds the Cupertino Icons font to your application.  
36 - # Use with the CupertinoIcons class for iOS style icons.  
37 - cupertino_icons: ^1.0.2  
38 - syncfusion_flutter_pdfviewer: ^20.4.54  
39 - markdown_to_pdf:  
40 - path: ../../markdown_to_pdf  
41 - tex_markdown: ^0.0.5  
42 -  
43 -dev_dependencies:  
44 - flutter_test:  
45 - sdk: flutter  
46 -  
47 - # The "flutter_lints" package below contains a set of recommended lints to  
48 - # encourage good coding practices. The lint set provided by the package is  
49 - # activated in the `analysis_options.yaml` file located at the root of your  
50 - # package. See that file for information about deactivating specific lint  
51 - # rules and activating additional ones.  
52 - flutter_lints: ^2.0.0  
53 -  
54 -# For information on the generic Dart part of this file, see the  
55 -# following page: https://dart.dev/tools/pub/pubspec  
56 -  
57 -# The following section is specific to Flutter packages.  
58 -flutter:  
59 -  
60 - # The following line ensures that the Material Icons font is  
61 - # included with your application, so that you can use the icons in  
62 - # the material Icons class.  
63 - uses-material-design: true  
64 -  
65 - # To add assets to your application, add an assets section, like this:  
66 - # assets:  
67 - # - images/a_dot_burr.jpeg  
68 - # - images/a_dot_ham.jpeg  
69 -  
70 - # An image asset can refer to one or more resolution-specific "variants", see  
71 - # https://flutter.dev/assets-and-images/#resolution-aware  
72 -  
73 - # For details regarding adding assets from package dependencies, see  
74 - # https://flutter.dev/assets-and-images/#from-packages  
75 -  
76 - # To add custom fonts to your application, add a fonts section here,  
77 - # in this "flutter" section. Each entry in this list should have a  
78 - # "family" key with the font family name, and a "fonts" key with a  
79 - # list giving the asset and other descriptors for the font. For  
80 - # example:  
81 - # fonts:  
82 - # - family: Schyler  
83 - # fonts:  
84 - # - asset: fonts/Schyler-Regular.ttf  
85 - # - asset: fonts/Schyler-Italic.ttf  
86 - # style: italic  
87 - # - family: Trajan Pro  
88 - # fonts:  
89 - # - asset: fonts/TrajanPro.ttf  
90 - # - asset: fonts/TrajanPro_Bold.ttf  
91 - # weight: 700  
92 - #  
93 - # For details regarding fonts from package dependencies,  
94 - # see https://flutter.dev/custom-fonts/#from-packages  
1 -// This is a basic Flutter widget test.  
2 -//  
3 -// To perform an interaction with a widget in your test, use the WidgetTester  
4 -// utility in the flutter_test package. For example, you can send tap and scroll  
5 -// gestures. You can also use WidgetTester to find child widgets in the widget  
6 -// tree, read text, and verify that the values of widget properties are correct.  
7 -  
8 -import 'package:flutter/material.dart';  
9 -import 'package:flutter_test/flutter_test.dart';  
10 -  
11 -import 'package:example/main.dart';  
12 -  
13 -void main() {  
14 - testWidgets('Counter increments smoke test', (WidgetTester tester) async {  
15 - // Build our app and trigger a frame.  
16 - await tester.pumpWidget(const MyApp());  
17 -  
18 - // Verify that our counter starts at 0.  
19 - expect(find.text('0'), findsOneWidget);  
20 - expect(find.text('1'), findsNothing);  
21 -  
22 - // Tap the '+' icon and trigger a frame.  
23 - await tester.tap(find.byIcon(Icons.add));  
24 - await tester.pump();  
25 -  
26 - // Verify that our counter has incremented.  
27 - expect(find.text('0'), findsNothing);  
28 - expect(find.text('1'), findsOneWidget);  
29 - });  
30 -}  
1 -<!DOCTYPE html>  
2 -<html>  
3 -<head>  
4 - <!--  
5 - If you are serving your web app in a path other than the root, change the  
6 - href value below to reflect the base path you are serving from.  
7 -  
8 - The path provided below has to start and end with a slash "/" in order for  
9 - it to work correctly.  
10 -  
11 - For more details:  
12 - * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base  
13 -  
14 - This is a placeholder for base href that will be replaced by the value of  
15 - the `--base-href` argument provided to `flutter build`.  
16 - -->  
17 - <base href="$FLUTTER_BASE_HREF">  
18 -  
19 - <meta charset="UTF-8">  
20 - <meta content="IE=Edge" http-equiv="X-UA-Compatible">  
21 - <meta name="description" content="A new Flutter project.">  
22 -  
23 - <!-- iOS meta tags & icons -->  
24 - <meta name="apple-mobile-web-app-capable" content="yes">  
25 - <meta name="apple-mobile-web-app-status-bar-style" content="black">  
26 - <meta name="apple-mobile-web-app-title" content="example">  
27 - <link rel="apple-touch-icon" href="icons/Icon-192.png">  
28 -  
29 - <!-- Favicon -->  
30 - <link rel="icon" type="image/png" href="favicon.png"/>  
31 -  
32 - <title>example</title>  
33 - <link rel="manifest" href="manifest.json">  
34 -  
35 - <script>  
36 - // The value below is injected by flutter build, do not touch.  
37 - var serviceWorkerVersion = null;  
38 - </script>  
39 - <!-- This script adds the flutter initialization JS code -->  
40 - <script src="flutter.js" defer></script>  
41 -</head>  
42 -<body>  
43 - <script>  
44 - window.addEventListener('load', function(ev) {  
45 - // Download main.dart.js  
46 - _flutter.loader.loadEntrypoint({  
47 - serviceWorker: {  
48 - serviceWorkerVersion: serviceWorkerVersion,  
49 - },  
50 - onEntrypointLoaded: function(engineInitializer) {  
51 - engineInitializer.initializeEngine().then(function(appRunner) {  
52 - appRunner.runApp();  
53 - });  
54 - }  
55 - });  
56 - });  
57 - </script>  
58 -</body>  
59 -</html>  
1 -{  
2 - "name": "example",  
3 - "short_name": "example",  
4 - "start_url": ".",  
5 - "display": "standalone",  
6 - "background_color": "#0175C2",  
7 - "theme_color": "#0175C2",  
8 - "description": "A new Flutter project.",  
9 - "orientation": "portrait-primary",  
10 - "prefer_related_applications": false,  
11 - "icons": [  
12 - {  
13 - "src": "icons/Icon-192.png",  
14 - "sizes": "192x192",  
15 - "type": "image/png"  
16 - },  
17 - {  
18 - "src": "icons/Icon-512.png",  
19 - "sizes": "512x512",  
20 - "type": "image/png"  
21 - },  
22 - {  
23 - "src": "icons/Icon-maskable-192.png",  
24 - "sizes": "192x192",  
25 - "type": "image/png",  
26 - "purpose": "maskable"  
27 - },  
28 - {  
29 - "src": "icons/Icon-maskable-512.png",  
30 - "sizes": "512x512",  
31 - "type": "image/png",  
32 - "purpose": "maskable"  
33 - }  
34 - ]  
35 -}  
1 -flutter/ephemeral/  
2 -  
3 -# Visual Studio user-specific files.  
4 -*.suo  
5 -*.user  
6 -*.userosscache  
7 -*.sln.docstates  
8 -  
9 -# Visual Studio build-related files.  
10 -x64/  
11 -x86/  
12 -  
13 -# Visual Studio cache files  
14 -# files ending in .cache can be ignored  
15 -*.[Cc]ache  
16 -# but keep track of directories ending in .cache  
17 -!*.[Cc]ache/  
1 -# Project-level configuration.  
2 -cmake_minimum_required(VERSION 3.14)  
3 -project(example LANGUAGES CXX)  
4 -  
5 -# The name of the executable created for the application. Change this to change  
6 -# the on-disk name of your application.  
7 -set(BINARY_NAME "example")  
8 -  
9 -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent  
10 -# versions of CMake.  
11 -cmake_policy(SET CMP0063 NEW)  
12 -  
13 -# Define build configuration option.  
14 -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)  
15 -if(IS_MULTICONFIG)  
16 - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release"  
17 - CACHE STRING "" FORCE)  
18 -else()  
19 - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)  
20 - set(CMAKE_BUILD_TYPE "Debug" CACHE  
21 - STRING "Flutter build mode" FORCE)  
22 - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS  
23 - "Debug" "Profile" "Release")  
24 - endif()  
25 -endif()  
26 -# Define settings for the Profile build mode.  
27 -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")  
28 -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")  
29 -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}")  
30 -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}")  
31 -  
32 -# Use Unicode for all projects.  
33 -add_definitions(-DUNICODE -D_UNICODE)  
34 -  
35 -# Compilation settings that should be applied to most targets.  
36 -#  
37 -# Be cautious about adding new options here, as plugins use this function by  
38 -# default. In most cases, you should add new options to specific targets instead  
39 -# of modifying this function.  
40 -function(APPLY_STANDARD_SETTINGS TARGET)  
41 - target_compile_features(${TARGET} PUBLIC cxx_std_17)  
42 - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100")  
43 - target_compile_options(${TARGET} PRIVATE /EHsc)  
44 - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0")  
45 - target_compile_definitions(${TARGET} PRIVATE "$<$<CONFIG:Debug>:_DEBUG>")  
46 -endfunction()  
47 -  
48 -# Flutter library and tool build rules.  
49 -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter")  
50 -add_subdirectory(${FLUTTER_MANAGED_DIR})  
51 -  
52 -# Application build; see runner/CMakeLists.txt.  
53 -add_subdirectory("runner")  
54 -  
55 -# Generated plugin build rules, which manage building the plugins and adding  
56 -# them to the application.  
57 -include(flutter/generated_plugins.cmake)  
58 -  
59 -  
60 -# === Installation ===  
61 -# Support files are copied into place next to the executable, so that it can  
62 -# run in place. This is done instead of making a separate bundle (as on Linux)  
63 -# so that building and running from within Visual Studio will work.  
64 -set(BUILD_BUNDLE_DIR "$<TARGET_FILE_DIR:${BINARY_NAME}>")  
65 -# Make the "install" step default, as it's required to run.  
66 -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1)  
67 -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)  
68 - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE)  
69 -endif()  
70 -  
71 -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data")  
72 -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}")  
73 -  
74 -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"  
75 - COMPONENT Runtime)  
76 -  
77 -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"  
78 - COMPONENT Runtime)  
79 -  
80 -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"  
81 - COMPONENT Runtime)  
82 -  
83 -if(PLUGIN_BUNDLED_LIBRARIES)  
84 - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}"  
85 - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"  
86 - COMPONENT Runtime)  
87 -endif()  
88 -  
89 -# Fully re-copy the assets directory on each build to avoid having stale files  
90 -# from a previous install.  
91 -set(FLUTTER_ASSET_DIR_NAME "flutter_assets")  
92 -install(CODE "  
93 - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\")  
94 - " COMPONENT Runtime)  
95 -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}"  
96 - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime)  
97 -  
98 -# Install the AOT library on non-Debug builds only.  
99 -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"  
100 - CONFIGURATIONS Profile;Release  
101 - COMPONENT Runtime)  
1 -# This file controls Flutter-level build steps. It should not be edited.  
2 -cmake_minimum_required(VERSION 3.14)  
3 -  
4 -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral")  
5 -  
6 -# Configuration provided via flutter tool.  
7 -include(${EPHEMERAL_DIR}/generated_config.cmake)  
8 -  
9 -# TODO: Move the rest of this into files in ephemeral. See  
10 -# https://github.com/flutter/flutter/issues/57146.  
11 -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper")  
12 -  
13 -# === Flutter Library ===  
14 -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll")  
15 -  
16 -# Published to parent scope for install step.  
17 -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE)  
18 -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE)  
19 -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE)  
20 -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE)  
21 -  
22 -list(APPEND FLUTTER_LIBRARY_HEADERS  
23 - "flutter_export.h"  
24 - "flutter_windows.h"  
25 - "flutter_messenger.h"  
26 - "flutter_plugin_registrar.h"  
27 - "flutter_texture_registrar.h"  
28 -)  
29 -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/")  
30 -add_library(flutter INTERFACE)  
31 -target_include_directories(flutter INTERFACE  
32 - "${EPHEMERAL_DIR}"  
33 -)  
34 -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib")  
35 -add_dependencies(flutter flutter_assemble)  
36 -  
37 -# === Wrapper ===  
38 -list(APPEND CPP_WRAPPER_SOURCES_CORE  
39 - "core_implementations.cc"  
40 - "standard_codec.cc"  
41 -)  
42 -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/")  
43 -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN  
44 - "plugin_registrar.cc"  
45 -)  
46 -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/")  
47 -list(APPEND CPP_WRAPPER_SOURCES_APP  
48 - "flutter_engine.cc"  
49 - "flutter_view_controller.cc"  
50 -)  
51 -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/")  
52 -  
53 -# Wrapper sources needed for a plugin.  
54 -add_library(flutter_wrapper_plugin STATIC  
55 - ${CPP_WRAPPER_SOURCES_CORE}  
56 - ${CPP_WRAPPER_SOURCES_PLUGIN}  
57 -)  
58 -apply_standard_settings(flutter_wrapper_plugin)  
59 -set_target_properties(flutter_wrapper_plugin PROPERTIES  
60 - POSITION_INDEPENDENT_CODE ON)  
61 -set_target_properties(flutter_wrapper_plugin PROPERTIES  
62 - CXX_VISIBILITY_PRESET hidden)  
63 -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter)  
64 -target_include_directories(flutter_wrapper_plugin PUBLIC  
65 - "${WRAPPER_ROOT}/include"  
66 -)  
67 -add_dependencies(flutter_wrapper_plugin flutter_assemble)  
68 -  
69 -# Wrapper sources needed for the runner.  
70 -add_library(flutter_wrapper_app STATIC  
71 - ${CPP_WRAPPER_SOURCES_CORE}  
72 - ${CPP_WRAPPER_SOURCES_APP}  
73 -)  
74 -apply_standard_settings(flutter_wrapper_app)  
75 -target_link_libraries(flutter_wrapper_app PUBLIC flutter)  
76 -target_include_directories(flutter_wrapper_app PUBLIC  
77 - "${WRAPPER_ROOT}/include"  
78 -)  
79 -add_dependencies(flutter_wrapper_app flutter_assemble)  
80 -  
81 -# === Flutter tool backend ===  
82 -# _phony_ is a non-existent file to force this command to run every time,  
83 -# since currently there's no way to get a full input/output list from the  
84 -# flutter tool.  
85 -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_")  
86 -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE)  
87 -add_custom_command(  
88 - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS}  
89 - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN}  
90 - ${CPP_WRAPPER_SOURCES_APP}  
91 - ${PHONY_OUTPUT}  
92 - COMMAND ${CMAKE_COMMAND} -E env  
93 - ${FLUTTER_TOOL_ENVIRONMENT}  
94 - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat"  
95 - windows-x64 $<CONFIG>  
96 - VERBATIM  
97 -)  
98 -add_custom_target(flutter_assemble DEPENDS  
99 - "${FLUTTER_LIBRARY}"  
100 - ${FLUTTER_LIBRARY_HEADERS}  
101 - ${CPP_WRAPPER_SOURCES_CORE}  
102 - ${CPP_WRAPPER_SOURCES_PLUGIN}  
103 - ${CPP_WRAPPER_SOURCES_APP}  
104 -)  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -// clang-format off  
6 -  
7 -#include "generated_plugin_registrant.h"  
8 -  
9 -#include <syncfusion_pdfviewer_windows/syncfusion_pdfviewer_windows_plugin.h>  
10 -#include <url_launcher_windows/url_launcher_windows.h>  
11 -  
12 -void RegisterPlugins(flutter::PluginRegistry* registry) {  
13 - SyncfusionPdfviewerWindowsPluginRegisterWithRegistrar(  
14 - registry->GetRegistrarForPlugin("SyncfusionPdfviewerWindowsPlugin"));  
15 - UrlLauncherWindowsRegisterWithRegistrar(  
16 - registry->GetRegistrarForPlugin("UrlLauncherWindows"));  
17 -}  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -// clang-format off  
6 -  
7 -#ifndef GENERATED_PLUGIN_REGISTRANT_  
8 -#define GENERATED_PLUGIN_REGISTRANT_  
9 -  
10 -#include <flutter/plugin_registry.h>  
11 -  
12 -// Registers Flutter plugins.  
13 -void RegisterPlugins(flutter::PluginRegistry* registry);  
14 -  
15 -#endif // GENERATED_PLUGIN_REGISTRANT_  
1 -#  
2 -# Generated file, do not edit.  
3 -#  
4 -  
5 -list(APPEND FLUTTER_PLUGIN_LIST  
6 - syncfusion_pdfviewer_windows  
7 - url_launcher_windows  
8 -)  
9 -  
10 -list(APPEND FLUTTER_FFI_PLUGIN_LIST  
11 -)  
12 -  
13 -set(PLUGIN_BUNDLED_LIBRARIES)  
14 -  
15 -foreach(plugin ${FLUTTER_PLUGIN_LIST})  
16 - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin})  
17 - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)  
18 - list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)  
19 - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})  
20 -endforeach(plugin)  
21 -  
22 -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})  
23 - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})  
24 - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})  
25 -endforeach(ffi_plugin)  
1 -cmake_minimum_required(VERSION 3.14)  
2 -project(runner LANGUAGES CXX)  
3 -  
4 -# Define the application target. To change its name, change BINARY_NAME in the  
5 -# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer  
6 -# work.  
7 -#  
8 -# Any new source files that you add to the application should be added here.  
9 -add_executable(${BINARY_NAME} WIN32  
10 - "flutter_window.cpp"  
11 - "main.cpp"  
12 - "utils.cpp"  
13 - "win32_window.cpp"  
14 - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"  
15 - "Runner.rc"  
16 - "runner.exe.manifest"  
17 -)  
18 -  
19 -# Apply the standard set of build settings. This can be removed for applications  
20 -# that need different build settings.  
21 -apply_standard_settings(${BINARY_NAME})  
22 -  
23 -# Add preprocessor definitions for the build version.  
24 -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"")  
25 -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}")  
26 -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}")  
27 -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}")  
28 -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}")  
29 -  
30 -# Disable Windows macros that collide with C++ standard library functions.  
31 -target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX")  
32 -  
33 -# Add dependency libraries and include directories. Add any application-specific  
34 -# dependencies here.  
35 -target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app)  
36 -target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib")  
37 -target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}")  
38 -  
39 -# Run the Flutter tool portions of the build. This must not be removed.  
40 -add_dependencies(${BINARY_NAME} flutter_assemble)  
1 -// Microsoft Visual C++ generated resource script.  
2 -//  
3 -#pragma code_page(65001)  
4 -#include "resource.h"  
5 -  
6 -#define APSTUDIO_READONLY_SYMBOLS  
7 -/////////////////////////////////////////////////////////////////////////////  
8 -//  
9 -// Generated from the TEXTINCLUDE 2 resource.  
10 -//  
11 -#include "winres.h"  
12 -  
13 -/////////////////////////////////////////////////////////////////////////////  
14 -#undef APSTUDIO_READONLY_SYMBOLS  
15 -  
16 -/////////////////////////////////////////////////////////////////////////////  
17 -// English (United States) resources  
18 -  
19 -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)  
20 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US  
21 -  
22 -#ifdef APSTUDIO_INVOKED  
23 -/////////////////////////////////////////////////////////////////////////////  
24 -//  
25 -// TEXTINCLUDE  
26 -//  
27 -  
28 -1 TEXTINCLUDE  
29 -BEGIN  
30 - "resource.h\0"  
31 -END  
32 -  
33 -2 TEXTINCLUDE  
34 -BEGIN  
35 - "#include ""winres.h""\r\n"  
36 - "\0"  
37 -END  
38 -  
39 -3 TEXTINCLUDE  
40 -BEGIN  
41 - "\r\n"  
42 - "\0"  
43 -END  
44 -  
45 -#endif // APSTUDIO_INVOKED  
46 -  
47 -  
48 -/////////////////////////////////////////////////////////////////////////////  
49 -//  
50 -// Icon  
51 -//  
52 -  
53 -// Icon with lowest ID value placed first to ensure application icon  
54 -// remains consistent on all systems.  
55 -IDI_APP_ICON ICON "resources\\app_icon.ico"  
56 -  
57 -  
58 -/////////////////////////////////////////////////////////////////////////////  
59 -//  
60 -// Version  
61 -//  
62 -  
63 -#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD)  
64 -#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD  
65 -#else  
66 -#define VERSION_AS_NUMBER 1,0,0,0  
67 -#endif  
68 -  
69 -#if defined(FLUTTER_VERSION)  
70 -#define VERSION_AS_STRING FLUTTER_VERSION  
71 -#else  
72 -#define VERSION_AS_STRING "1.0.0"  
73 -#endif  
74 -  
75 -VS_VERSION_INFO VERSIONINFO  
76 - FILEVERSION VERSION_AS_NUMBER  
77 - PRODUCTVERSION VERSION_AS_NUMBER  
78 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK  
79 -#ifdef _DEBUG  
80 - FILEFLAGS VS_FF_DEBUG  
81 -#else  
82 - FILEFLAGS 0x0L  
83 -#endif  
84 - FILEOS VOS__WINDOWS32  
85 - FILETYPE VFT_APP  
86 - FILESUBTYPE 0x0L  
87 -BEGIN  
88 - BLOCK "StringFileInfo"  
89 - BEGIN  
90 - BLOCK "040904e4"  
91 - BEGIN  
92 - VALUE "CompanyName", "com.example" "\0"  
93 - VALUE "FileDescription", "example" "\0"  
94 - VALUE "FileVersion", VERSION_AS_STRING "\0"  
95 - VALUE "InternalName", "example" "\0"  
96 - VALUE "LegalCopyright", "Copyright (C) 2023 com.example. All rights reserved." "\0"  
97 - VALUE "OriginalFilename", "example.exe" "\0"  
98 - VALUE "ProductName", "example" "\0"  
99 - VALUE "ProductVersion", VERSION_AS_STRING "\0"  
100 - END  
101 - END  
102 - BLOCK "VarFileInfo"  
103 - BEGIN  
104 - VALUE "Translation", 0x409, 1252  
105 - END  
106 -END  
107 -  
108 -#endif // English (United States) resources  
109 -/////////////////////////////////////////////////////////////////////////////  
110 -  
111 -  
112 -  
113 -#ifndef APSTUDIO_INVOKED  
114 -/////////////////////////////////////////////////////////////////////////////  
115 -//  
116 -// Generated from the TEXTINCLUDE 3 resource.  
117 -//  
118 -  
119 -  
120 -/////////////////////////////////////////////////////////////////////////////  
121 -#endif // not APSTUDIO_INVOKED  
1 -#include "flutter_window.h"  
2 -  
3 -#include <optional>  
4 -  
5 -#include "flutter/generated_plugin_registrant.h"  
6 -  
7 -FlutterWindow::FlutterWindow(const flutter::DartProject& project)  
8 - : project_(project) {}  
9 -  
10 -FlutterWindow::~FlutterWindow() {}  
11 -  
12 -bool FlutterWindow::OnCreate() {  
13 - if (!Win32Window::OnCreate()) {  
14 - return false;  
15 - }  
16 -  
17 - RECT frame = GetClientArea();  
18 -  
19 - // The size here must match the window dimensions to avoid unnecessary surface  
20 - // creation / destruction in the startup path.  
21 - flutter_controller_ = std::make_unique<flutter::FlutterViewController>(  
22 - frame.right - frame.left, frame.bottom - frame.top, project_);  
23 - // Ensure that basic setup of the controller was successful.  
24 - if (!flutter_controller_->engine() || !flutter_controller_->view()) {  
25 - return false;  
26 - }  
27 - RegisterPlugins(flutter_controller_->engine());  
28 - SetChildContent(flutter_controller_->view()->GetNativeWindow());  
29 -  
30 - flutter_controller_->engine()->SetNextFrameCallback([&]() {  
31 - this->Show();  
32 - });  
33 -  
34 - return true;  
35 -}  
36 -  
37 -void FlutterWindow::OnDestroy() {  
38 - if (flutter_controller_) {  
39 - flutter_controller_ = nullptr;  
40 - }  
41 -  
42 - Win32Window::OnDestroy();  
43 -}  
44 -  
45 -LRESULT  
46 -FlutterWindow::MessageHandler(HWND hwnd, UINT const message,  
47 - WPARAM const wparam,  
48 - LPARAM const lparam) noexcept {  
49 - // Give Flutter, including plugins, an opportunity to handle window messages.  
50 - if (flutter_controller_) {  
51 - std::optional<LRESULT> result =  
52 - flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam,  
53 - lparam);  
54 - if (result) {  
55 - return *result;  
56 - }  
57 - }  
58 -  
59 - switch (message) {  
60 - case WM_FONTCHANGE:  
61 - flutter_controller_->engine()->ReloadSystemFonts();  
62 - break;  
63 - }  
64 -  
65 - return Win32Window::MessageHandler(hwnd, message, wparam, lparam);  
66 -}  
1 -#ifndef RUNNER_FLUTTER_WINDOW_H_  
2 -#define RUNNER_FLUTTER_WINDOW_H_  
3 -  
4 -#include <flutter/dart_project.h>  
5 -#include <flutter/flutter_view_controller.h>  
6 -  
7 -#include <memory>  
8 -  
9 -#include "win32_window.h"  
10 -  
11 -// A window that does nothing but host a Flutter view.  
12 -class FlutterWindow : public Win32Window {  
13 - public:  
14 - // Creates a new FlutterWindow hosting a Flutter view running |project|.  
15 - explicit FlutterWindow(const flutter::DartProject& project);  
16 - virtual ~FlutterWindow();  
17 -  
18 - protected:  
19 - // Win32Window:  
20 - bool OnCreate() override;  
21 - void OnDestroy() override;  
22 - LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam,  
23 - LPARAM const lparam) noexcept override;  
24 -  
25 - private:  
26 - // The project to run.  
27 - flutter::DartProject project_;  
28 -  
29 - // The Flutter instance hosted by this window.  
30 - std::unique_ptr<flutter::FlutterViewController> flutter_controller_;  
31 -};  
32 -  
33 -#endif // RUNNER_FLUTTER_WINDOW_H_  
1 -#include <flutter/dart_project.h>  
2 -#include <flutter/flutter_view_controller.h>  
3 -#include <windows.h>  
4 -  
5 -#include "flutter_window.h"  
6 -#include "utils.h"  
7 -  
8 -int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,  
9 - _In_ wchar_t *command_line, _In_ int show_command) {  
10 - // Attach to console when present (e.g., 'flutter run') or create a  
11 - // new console when running with a debugger.  
12 - if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) {  
13 - CreateAndAttachConsole();  
14 - }  
15 -  
16 - // Initialize COM, so that it is available for use in the library and/or  
17 - // plugins.  
18 - ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);  
19 -  
20 - flutter::DartProject project(L"data");  
21 -  
22 - std::vector<std::string> command_line_arguments =  
23 - GetCommandLineArguments();  
24 -  
25 - project.set_dart_entrypoint_arguments(std::move(command_line_arguments));  
26 -  
27 - FlutterWindow window(project);  
28 - Win32Window::Point origin(10, 10);  
29 - Win32Window::Size size(1280, 720);  
30 - if (!window.Create(L"example", origin, size)) {  
31 - return EXIT_FAILURE;  
32 - }  
33 - window.SetQuitOnClose(true);  
34 -  
35 - ::MSG msg;  
36 - while (::GetMessage(&msg, nullptr, 0, 0)) {  
37 - ::TranslateMessage(&msg);  
38 - ::DispatchMessage(&msg);  
39 - }  
40 -  
41 - ::CoUninitialize();  
42 - return EXIT_SUCCESS;  
43 -}  
1 -//{{NO_DEPENDENCIES}}  
2 -// Microsoft Visual C++ generated include file.  
3 -// Used by Runner.rc  
4 -//  
5 -#define IDI_APP_ICON 101  
6 -  
7 -// Next default values for new objects  
8 -//  
9 -#ifdef APSTUDIO_INVOKED  
10 -#ifndef APSTUDIO_READONLY_SYMBOLS  
11 -#define _APS_NEXT_RESOURCE_VALUE 102  
12 -#define _APS_NEXT_COMMAND_VALUE 40001  
13 -#define _APS_NEXT_CONTROL_VALUE 1001  
14 -#define _APS_NEXT_SYMED_VALUE 101  
15 -#endif  
16 -#endif  
1 -<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
2 -<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">  
3 - <application xmlns="urn:schemas-microsoft-com:asm.v3">  
4 - <windowsSettings>  
5 - <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>  
6 - </windowsSettings>  
7 - </application>  
8 - <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">  
9 - <application>  
10 - <!-- Windows 10 and Windows 11 -->  
11 - <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>  
12 - <!-- Windows 8.1 -->  
13 - <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>  
14 - <!-- Windows 8 -->  
15 - <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>  
16 - <!-- Windows 7 -->  
17 - <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>  
18 - </application>  
19 - </compatibility>  
20 -</assembly>  
1 -#include "utils.h"  
2 -  
3 -#include <flutter_windows.h>  
4 -#include <io.h>  
5 -#include <stdio.h>  
6 -#include <windows.h>  
7 -  
8 -#include <iostream>  
9 -  
10 -void CreateAndAttachConsole() {  
11 - if (::AllocConsole()) {  
12 - FILE *unused;  
13 - if (freopen_s(&unused, "CONOUT$", "w", stdout)) {  
14 - _dup2(_fileno(stdout), 1);  
15 - }  
16 - if (freopen_s(&unused, "CONOUT$", "w", stderr)) {  
17 - _dup2(_fileno(stdout), 2);  
18 - }  
19 - std::ios::sync_with_stdio();  
20 - FlutterDesktopResyncOutputStreams();  
21 - }  
22 -}  
23 -  
24 -std::vector<std::string> GetCommandLineArguments() {  
25 - // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use.  
26 - int argc;  
27 - wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc);  
28 - if (argv == nullptr) {  
29 - return std::vector<std::string>();  
30 - }  
31 -  
32 - std::vector<std::string> command_line_arguments;  
33 -  
34 - // Skip the first argument as it's the binary name.  
35 - for (int i = 1; i < argc; i++) {  
36 - command_line_arguments.push_back(Utf8FromUtf16(argv[i]));  
37 - }  
38 -  
39 - ::LocalFree(argv);  
40 -  
41 - return command_line_arguments;  
42 -}  
43 -  
44 -std::string Utf8FromUtf16(const wchar_t* utf16_string) {  
45 - if (utf16_string == nullptr) {  
46 - return std::string();  
47 - }  
48 - int target_length = ::WideCharToMultiByte(  
49 - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string,  
50 - -1, nullptr, 0, nullptr, nullptr);  
51 - std::string utf8_string;  
52 - if (target_length == 0 || target_length > utf8_string.max_size()) {  
53 - return utf8_string;  
54 - }  
55 - utf8_string.resize(target_length);  
56 - int converted_length = ::WideCharToMultiByte(  
57 - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string,  
58 - -1, utf8_string.data(),  
59 - target_length, nullptr, nullptr);  
60 - if (converted_length == 0) {  
61 - return std::string();  
62 - }  
63 - return utf8_string;  
64 -}  
1 -#ifndef RUNNER_UTILS_H_  
2 -#define RUNNER_UTILS_H_  
3 -  
4 -#include <string>  
5 -#include <vector>  
6 -  
7 -// Creates a console for the process, and redirects stdout and stderr to  
8 -// it for both the runner and the Flutter library.  
9 -void CreateAndAttachConsole();  
10 -  
11 -// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string  
12 -// encoded in UTF-8. Returns an empty std::string on failure.  
13 -std::string Utf8FromUtf16(const wchar_t* utf16_string);  
14 -  
15 -// Gets the command line arguments passed in as a std::vector<std::string>,  
16 -// encoded in UTF-8. Returns an empty std::vector<std::string> on failure.  
17 -std::vector<std::string> GetCommandLineArguments();  
18 -  
19 -#endif // RUNNER_UTILS_H_  
1 -#include "win32_window.h"  
2 -  
3 -#include <dwmapi.h>  
4 -#include <flutter_windows.h>  
5 -  
6 -#include "resource.h"  
7 -  
8 -namespace {  
9 -  
10 -/// Window attribute that enables dark mode window decorations.  
11 -///  
12 -/// Redefined in case the developer's machine has a Windows SDK older than  
13 -/// version 10.0.22000.0.  
14 -/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute  
15 -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE  
16 -#define DWMWA_USE_IMMERSIVE_DARK_MODE 20  
17 -#endif  
18 -  
19 -constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW";  
20 -  
21 -/// Registry key for app theme preference.  
22 -///  
23 -/// A value of 0 indicates apps should use dark mode. A non-zero or missing  
24 -/// value indicates apps should use light mode.  
25 -constexpr const wchar_t kGetPreferredBrightnessRegKey[] =  
26 - L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize";  
27 -constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme";  
28 -  
29 -// The number of Win32Window objects that currently exist.  
30 -static int g_active_window_count = 0;  
31 -  
32 -using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd);  
33 -  
34 -// Scale helper to convert logical scaler values to physical using passed in  
35 -// scale factor  
36 -int Scale(int source, double scale_factor) {  
37 - return static_cast<int>(source * scale_factor);  
38 -}  
39 -  
40 -// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module.  
41 -// This API is only needed for PerMonitor V1 awareness mode.  
42 -void EnableFullDpiSupportIfAvailable(HWND hwnd) {  
43 - HMODULE user32_module = LoadLibraryA("User32.dll");  
44 - if (!user32_module) {  
45 - return;  
46 - }  
47 - auto enable_non_client_dpi_scaling =  
48 - reinterpret_cast<EnableNonClientDpiScaling*>(  
49 - GetProcAddress(user32_module, "EnableNonClientDpiScaling"));  
50 - if (enable_non_client_dpi_scaling != nullptr) {  
51 - enable_non_client_dpi_scaling(hwnd);  
52 - }  
53 - FreeLibrary(user32_module);  
54 -}  
55 -  
56 -} // namespace  
57 -  
58 -// Manages the Win32Window's window class registration.  
59 -class WindowClassRegistrar {  
60 - public:  
61 - ~WindowClassRegistrar() = default;  
62 -  
63 - // Returns the singleton registar instance.  
64 - static WindowClassRegistrar* GetInstance() {  
65 - if (!instance_) {  
66 - instance_ = new WindowClassRegistrar();  
67 - }  
68 - return instance_;  
69 - }  
70 -  
71 - // Returns the name of the window class, registering the class if it hasn't  
72 - // previously been registered.  
73 - const wchar_t* GetWindowClass();  
74 -  
75 - // Unregisters the window class. Should only be called if there are no  
76 - // instances of the window.  
77 - void UnregisterWindowClass();  
78 -  
79 - private:  
80 - WindowClassRegistrar() = default;  
81 -  
82 - static WindowClassRegistrar* instance_;  
83 -  
84 - bool class_registered_ = false;  
85 -};  
86 -  
87 -WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr;  
88 -  
89 -const wchar_t* WindowClassRegistrar::GetWindowClass() {  
90 - if (!class_registered_) {  
91 - WNDCLASS window_class{};  
92 - window_class.hCursor = LoadCursor(nullptr, IDC_ARROW);  
93 - window_class.lpszClassName = kWindowClassName;  
94 - window_class.style = CS_HREDRAW | CS_VREDRAW;  
95 - window_class.cbClsExtra = 0;  
96 - window_class.cbWndExtra = 0;  
97 - window_class.hInstance = GetModuleHandle(nullptr);  
98 - window_class.hIcon =  
99 - LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON));  
100 - window_class.hbrBackground = 0;  
101 - window_class.lpszMenuName = nullptr;  
102 - window_class.lpfnWndProc = Win32Window::WndProc;  
103 - RegisterClass(&window_class);  
104 - class_registered_ = true;  
105 - }  
106 - return kWindowClassName;  
107 -}  
108 -  
109 -void WindowClassRegistrar::UnregisterWindowClass() {  
110 - UnregisterClass(kWindowClassName, nullptr);  
111 - class_registered_ = false;  
112 -}  
113 -  
114 -Win32Window::Win32Window() {  
115 - ++g_active_window_count;  
116 -}  
117 -  
118 -Win32Window::~Win32Window() {  
119 - --g_active_window_count;  
120 - Destroy();  
121 -}  
122 -  
123 -bool Win32Window::Create(const std::wstring& title,  
124 - const Point& origin,  
125 - const Size& size) {  
126 - Destroy();  
127 -  
128 - const wchar_t* window_class =  
129 - WindowClassRegistrar::GetInstance()->GetWindowClass();  
130 -  
131 - const POINT target_point = {static_cast<LONG>(origin.x),  
132 - static_cast<LONG>(origin.y)};  
133 - HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST);  
134 - UINT dpi = FlutterDesktopGetDpiForMonitor(monitor);  
135 - double scale_factor = dpi / 96.0;  
136 -  
137 - HWND window = CreateWindow(  
138 - window_class, title.c_str(), WS_OVERLAPPEDWINDOW,  
139 - Scale(origin.x, scale_factor), Scale(origin.y, scale_factor),  
140 - Scale(size.width, scale_factor), Scale(size.height, scale_factor),  
141 - nullptr, nullptr, GetModuleHandle(nullptr), this);  
142 -  
143 - if (!window) {  
144 - return false;  
145 - }  
146 -  
147 - UpdateTheme(window);  
148 -  
149 - return OnCreate();  
150 -}  
151 -  
152 -bool Win32Window::Show() {  
153 - return ShowWindow(window_handle_, SW_SHOWNORMAL);  
154 -}  
155 -  
156 -// static  
157 -LRESULT CALLBACK Win32Window::WndProc(HWND const window,  
158 - UINT const message,  
159 - WPARAM const wparam,  
160 - LPARAM const lparam) noexcept {  
161 - if (message == WM_NCCREATE) {  
162 - auto window_struct = reinterpret_cast<CREATESTRUCT*>(lparam);  
163 - SetWindowLongPtr(window, GWLP_USERDATA,  
164 - reinterpret_cast<LONG_PTR>(window_struct->lpCreateParams));  
165 -  
166 - auto that = static_cast<Win32Window*>(window_struct->lpCreateParams);  
167 - EnableFullDpiSupportIfAvailable(window);  
168 - that->window_handle_ = window;  
169 - } else if (Win32Window* that = GetThisFromHandle(window)) {  
170 - return that->MessageHandler(window, message, wparam, lparam);  
171 - }  
172 -  
173 - return DefWindowProc(window, message, wparam, lparam);  
174 -}  
175 -  
176 -LRESULT  
177 -Win32Window::MessageHandler(HWND hwnd,  
178 - UINT const message,  
179 - WPARAM const wparam,  
180 - LPARAM const lparam) noexcept {  
181 - switch (message) {  
182 - case WM_DESTROY:  
183 - window_handle_ = nullptr;  
184 - Destroy();  
185 - if (quit_on_close_) {  
186 - PostQuitMessage(0);  
187 - }  
188 - return 0;  
189 -  
190 - case WM_DPICHANGED: {  
191 - auto newRectSize = reinterpret_cast<RECT*>(lparam);  
192 - LONG newWidth = newRectSize->right - newRectSize->left;  
193 - LONG newHeight = newRectSize->bottom - newRectSize->top;  
194 -  
195 - SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth,  
196 - newHeight, SWP_NOZORDER | SWP_NOACTIVATE);  
197 -  
198 - return 0;  
199 - }  
200 - case WM_SIZE: {  
201 - RECT rect = GetClientArea();  
202 - if (child_content_ != nullptr) {  
203 - // Size and position the child window.  
204 - MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left,  
205 - rect.bottom - rect.top, TRUE);  
206 - }  
207 - return 0;  
208 - }  
209 -  
210 - case WM_ACTIVATE:  
211 - if (child_content_ != nullptr) {  
212 - SetFocus(child_content_);  
213 - }  
214 - return 0;  
215 -  
216 - case WM_DWMCOLORIZATIONCOLORCHANGED:  
217 - UpdateTheme(hwnd);  
218 - return 0;  
219 - }  
220 -  
221 - return DefWindowProc(window_handle_, message, wparam, lparam);  
222 -}  
223 -  
224 -void Win32Window::Destroy() {  
225 - OnDestroy();  
226 -  
227 - if (window_handle_) {  
228 - DestroyWindow(window_handle_);  
229 - window_handle_ = nullptr;  
230 - }  
231 - if (g_active_window_count == 0) {  
232 - WindowClassRegistrar::GetInstance()->UnregisterWindowClass();  
233 - }  
234 -}  
235 -  
236 -Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept {  
237 - return reinterpret_cast<Win32Window*>(  
238 - GetWindowLongPtr(window, GWLP_USERDATA));  
239 -}  
240 -  
241 -void Win32Window::SetChildContent(HWND content) {  
242 - child_content_ = content;  
243 - SetParent(content, window_handle_);  
244 - RECT frame = GetClientArea();  
245 -  
246 - MoveWindow(content, frame.left, frame.top, frame.right - frame.left,  
247 - frame.bottom - frame.top, true);  
248 -  
249 - SetFocus(child_content_);  
250 -}  
251 -  
252 -RECT Win32Window::GetClientArea() {  
253 - RECT frame;  
254 - GetClientRect(window_handle_, &frame);  
255 - return frame;  
256 -}  
257 -  
258 -HWND Win32Window::GetHandle() {  
259 - return window_handle_;  
260 -}  
261 -  
262 -void Win32Window::SetQuitOnClose(bool quit_on_close) {  
263 - quit_on_close_ = quit_on_close;  
264 -}  
265 -  
266 -bool Win32Window::OnCreate() {  
267 - // No-op; provided for subclasses.  
268 - return true;  
269 -}  
270 -  
271 -void Win32Window::OnDestroy() {  
272 - // No-op; provided for subclasses.  
273 -}  
274 -  
275 -void Win32Window::UpdateTheme(HWND const window) {  
276 - DWORD light_mode;  
277 - DWORD light_mode_size = sizeof(light_mode);  
278 - LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey,  
279 - kGetPreferredBrightnessRegValue,  
280 - RRF_RT_REG_DWORD, nullptr, &light_mode,  
281 - &light_mode_size);  
282 -  
283 - if (result == ERROR_SUCCESS) {  
284 - BOOL enable_dark_mode = light_mode == 0;  
285 - DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE,  
286 - &enable_dark_mode, sizeof(enable_dark_mode));  
287 - }  
288 -}  
1 -#ifndef RUNNER_WIN32_WINDOW_H_  
2 -#define RUNNER_WIN32_WINDOW_H_  
3 -  
4 -#include <windows.h>  
5 -  
6 -#include <functional>  
7 -#include <memory>  
8 -#include <string>  
9 -  
10 -// A class abstraction for a high DPI-aware Win32 Window. Intended to be  
11 -// inherited from by classes that wish to specialize with custom  
12 -// rendering and input handling  
13 -class Win32Window {  
14 - public:  
15 - struct Point {  
16 - unsigned int x;  
17 - unsigned int y;  
18 - Point(unsigned int x, unsigned int y) : x(x), y(y) {}  
19 - };  
20 -  
21 - struct Size {  
22 - unsigned int width;  
23 - unsigned int height;  
24 - Size(unsigned int width, unsigned int height)  
25 - : width(width), height(height) {}  
26 - };  
27 -  
28 - Win32Window();  
29 - virtual ~Win32Window();  
30 -  
31 - // Creates a win32 window with |title| that is positioned and sized using  
32 - // |origin| and |size|. New windows are created on the default monitor. Window  
33 - // sizes are specified to the OS in physical pixels, hence to ensure a  
34 - // consistent size this function will scale the inputted width and height as  
35 - // as appropriate for the default monitor. The window is invisible until  
36 - // |Show| is called. Returns true if the window was created successfully.  
37 - bool Create(const std::wstring& title, const Point& origin, const Size& size);  
38 -  
39 - // Show the current window. Returns true if the window was successfully shown.  
40 - bool Show();  
41 -  
42 - // Release OS resources associated with window.  
43 - void Destroy();  
44 -  
45 - // Inserts |content| into the window tree.  
46 - void SetChildContent(HWND content);  
47 -  
48 - // Returns the backing Window handle to enable clients to set icon and other  
49 - // window properties. Returns nullptr if the window has been destroyed.  
50 - HWND GetHandle();  
51 -  
52 - // If true, closing this window will quit the application.  
53 - void SetQuitOnClose(bool quit_on_close);  
54 -  
55 - // Return a RECT representing the bounds of the current client area.  
56 - RECT GetClientArea();  
57 -  
58 - protected:  
59 - // Processes and route salient window messages for mouse handling,  
60 - // size change and DPI. Delegates handling of these to member overloads that  
61 - // inheriting classes can handle.  
62 - virtual LRESULT MessageHandler(HWND window,  
63 - UINT const message,  
64 - WPARAM const wparam,  
65 - LPARAM const lparam) noexcept;  
66 -  
67 - // Called when CreateAndShow is called, allowing subclass window-related  
68 - // setup. Subclasses should return false if setup fails.  
69 - virtual bool OnCreate();  
70 -  
71 - // Called when Destroy is called.  
72 - virtual void OnDestroy();  
73 -  
74 - private:  
75 - friend class WindowClassRegistrar;  
76 -  
77 - // OS callback called by message pump. Handles the WM_NCCREATE message which  
78 - // is passed when the non-client area is being created and enables automatic  
79 - // non-client DPI scaling so that the non-client area automatically  
80 - // responsponds to changes in DPI. All other messages are handled by  
81 - // MessageHandler.  
82 - static LRESULT CALLBACK WndProc(HWND const window,  
83 - UINT const message,  
84 - WPARAM const wparam,  
85 - LPARAM const lparam) noexcept;  
86 -  
87 - // Retrieves a class instance pointer for |window|  
88 - static Win32Window* GetThisFromHandle(HWND const window) noexcept;  
89 -  
90 - // Update the window frame's theme to match the system theme.  
91 - static void UpdateTheme(HWND const window);  
92 -  
93 - bool quit_on_close_ = false;  
94 -  
95 - // window handle for top level window.  
96 - HWND window_handle_ = nullptr;  
97 -  
98 - // window handle for hosted content.  
99 - HWND child_content_ = nullptr;  
100 -};  
101 -  
102 -#endif // RUNNER_WIN32_WINDOW_H_  
1 -// This is a generated file; do not edit or check into version control.  
2 -FLUTTER_ROOT=/Users/sohag/Developer/flutter  
3 -FLUTTER_APPLICATION_PATH=/Users/sohag/Documents/Projects/Flutter/packages/flutter_packages/markdown_to_pdf  
4 -COCOAPODS_PARALLEL_CODE_SIGN=true  
5 -FLUTTER_TARGET=lib/main.dart  
6 -FLUTTER_BUILD_DIR=build  
7 -FLUTTER_BUILD_NAME=0.0.1  
8 -FLUTTER_BUILD_NUMBER=0.0.1  
9 -EXCLUDED_ARCHS[sdk=iphonesimulator*]=i386  
10 -EXCLUDED_ARCHS[sdk=iphoneos*]=armv7  
11 -DART_OBFUSCATION=false  
12 -TRACK_WIDGET_CREATION=true  
13 -TREE_SHAKE_ICONS=false  
14 -PACKAGE_CONFIG=.dart_tool/package_config.json  
1 -#!/bin/sh  
2 -# This is a generated file; do not edit or check into version control.  
3 -export "FLUTTER_ROOT=/Users/sohag/Developer/flutter"  
4 -export "FLUTTER_APPLICATION_PATH=/Users/sohag/Documents/Projects/Flutter/packages/flutter_packages/markdown_to_pdf"  
5 -export "COCOAPODS_PARALLEL_CODE_SIGN=true"  
6 -export "FLUTTER_TARGET=lib/main.dart"  
7 -export "FLUTTER_BUILD_DIR=build"  
8 -export "FLUTTER_BUILD_NAME=0.0.1"  
9 -export "FLUTTER_BUILD_NUMBER=0.0.1"  
10 -export "DART_OBFUSCATION=false"  
11 -export "TRACK_WIDGET_CREATION=true"  
12 -export "TREE_SHAKE_ICONS=false"  
13 -export "PACKAGE_CONFIG=.dart_tool/package_config.json"  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -// clang-format off  
6 -  
7 -#ifndef GeneratedPluginRegistrant_h  
8 -#define GeneratedPluginRegistrant_h  
9 -  
10 -#import <Flutter/Flutter.h>  
11 -  
12 -NS_ASSUME_NONNULL_BEGIN  
13 -  
14 -@interface GeneratedPluginRegistrant : NSObject  
15 -+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry;  
16 -@end  
17 -  
18 -NS_ASSUME_NONNULL_END  
19 -#endif /* GeneratedPluginRegistrant_h */  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -// clang-format off  
6 -  
7 -#import "GeneratedPluginRegistrant.h"  
8 -  
9 -@implementation GeneratedPluginRegistrant  
10 -  
11 -+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry {  
12 -}  
13 -  
14 -@end  
1 -import 'dart:io';  
2 -import 'package:markdown/markdown.dart' as markdown;  
3 -import 'package:pdf/pdf.dart';  
4 -import 'package:pdf/widgets.dart' as pdf;  
5 -  
6 -void convert(String text) {  
7 - final file = File(inputPath);  
8 - final markdownText = file.readAsStringSync();  
9 -}  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -// clang-format off  
6 -  
7 -#include "generated_plugin_registrant.h"  
8 -  
9 -  
10 -void fl_register_plugins(FlPluginRegistry* registry) {  
11 -}  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -// clang-format off  
6 -  
7 -#ifndef GENERATED_PLUGIN_REGISTRANT_  
8 -#define GENERATED_PLUGIN_REGISTRANT_  
9 -  
10 -#include <flutter_linux/flutter_linux.h>  
11 -  
12 -// Registers Flutter plugins.  
13 -void fl_register_plugins(FlPluginRegistry* registry);  
14 -  
15 -#endif // GENERATED_PLUGIN_REGISTRANT_  
1 -#  
2 -# Generated file, do not edit.  
3 -#  
4 -  
5 -list(APPEND FLUTTER_PLUGIN_LIST  
6 -)  
7 -  
8 -list(APPEND FLUTTER_FFI_PLUGIN_LIST  
9 -)  
10 -  
11 -set(PLUGIN_BUNDLED_LIBRARIES)  
12 -  
13 -foreach(plugin ${FLUTTER_PLUGIN_LIST})  
14 - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})  
15 - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)  
16 - list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)  
17 - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})  
18 -endforeach(plugin)  
19 -  
20 -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})  
21 - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})  
22 - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})  
23 -endforeach(ffi_plugin)  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -import FlutterMacOS  
6 -import Foundation  
7 -  
8 -  
9 -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {  
10 -}  
1 -// This is a generated file; do not edit or check into version control.  
2 -FLUTTER_ROOT=/Users/sohag/Developer/flutter  
3 -FLUTTER_APPLICATION_PATH=/Users/sohag/Documents/Projects/Flutter/packages/flutter_packages/markdown_to_pdf  
4 -COCOAPODS_PARALLEL_CODE_SIGN=true  
5 -FLUTTER_BUILD_DIR=build  
6 -FLUTTER_BUILD_NAME=0.0.1  
7 -FLUTTER_BUILD_NUMBER=0.0.1  
8 -DART_OBFUSCATION=false  
9 -TRACK_WIDGET_CREATION=true  
10 -TREE_SHAKE_ICONS=false  
11 -PACKAGE_CONFIG=.dart_tool/package_config.json  
1 -#!/bin/sh  
2 -# This is a generated file; do not edit or check into version control.  
3 -export "FLUTTER_ROOT=/Users/sohag/Developer/flutter"  
4 -export "FLUTTER_APPLICATION_PATH=/Users/sohag/Documents/Projects/Flutter/packages/flutter_packages/markdown_to_pdf"  
5 -export "COCOAPODS_PARALLEL_CODE_SIGN=true"  
6 -export "FLUTTER_BUILD_DIR=build"  
7 -export "FLUTTER_BUILD_NAME=0.0.1"  
8 -export "FLUTTER_BUILD_NUMBER=0.0.1"  
9 -export "DART_OBFUSCATION=false"  
10 -export "TRACK_WIDGET_CREATION=true"  
11 -export "TREE_SHAKE_ICONS=false"  
12 -export "PACKAGE_CONFIG=.dart_tool/package_config.json"  
1 -name: markdown_to_pdf  
2 -description: A new Flutter package project.  
3 -version: 0.0.1  
4 -homepage:  
5 -  
6 -environment:  
7 - sdk: '>=2.19.4 <3.0.0'  
8 - flutter: ">=1.17.0"  
9 -  
10 -dependencies:  
11 - flutter:  
12 - sdk: flutter  
13 - http: ^0.13.5  
14 - markdown: ^7.0.1  
15 - pdf: ^3.9.0  
16 - tex_text: ^0.0.7  
17 -  
18 -dev_dependencies:  
19 - flutter_test:  
20 - sdk: flutter  
21 - flutter_lints: ^2.0.0  
22 -  
23 -# For information on the generic Dart part of this file, see the  
24 -# following page: https://dart.dev/tools/pub/pubspec  
25 -  
26 -# The following section is specific to Flutter packages.  
27 -flutter:  
28 -  
29 - # To add assets to your package, add an assets section, like this:  
30 - # assets:  
31 - # - images/a_dot_burr.jpeg  
32 - # - images/a_dot_ham.jpeg  
33 - #  
34 - # For details regarding assets in packages, see  
35 - # https://flutter.dev/assets-and-images/#from-packages  
36 - #  
37 - # An image asset can refer to one or more resolution-specific "variants", see  
38 - # https://flutter.dev/assets-and-images/#resolution-aware  
39 -  
40 - # To add custom fonts to your package, add a fonts section here,  
41 - # in this "flutter" section. Each entry in this list should have a  
42 - # "family" key with the font family name, and a "fonts" key with a  
43 - # list giving the asset and other descriptors for the font. For  
44 - # example:  
45 - # fonts:  
46 - # - family: Schyler  
47 - # fonts:  
48 - # - asset: fonts/Schyler-Regular.ttf  
49 - # - asset: fonts/Schyler-Italic.ttf  
50 - # style: italic  
51 - # - family: Trajan Pro  
52 - # fonts:  
53 - # - asset: fonts/TrajanPro.ttf  
54 - # - asset: fonts/TrajanPro_Bold.ttf  
55 - # weight: 700  
56 - #  
57 - # For details regarding fonts in packages, see  
58 - # https://flutter.dev/custom-fonts/#from-packages  
1 -import 'package:flutter_test/flutter_test.dart';  
2 -  
3 -void main() {  
4 - test('adds one to input values', () {  
5 - // final calculator = Calculator();  
6 - // expect(calculator.addOne(2), 3);  
7 - // expect(calculator.addOne(-7), -6);  
8 - // expect(calculator.addOne(0), 1);  
9 - });  
10 -}  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -// clang-format off  
6 -  
7 -#include "generated_plugin_registrant.h"  
8 -  
9 -  
10 -void RegisterPlugins(flutter::PluginRegistry* registry) {  
11 -}  
1 -//  
2 -// Generated file. Do not edit.  
3 -//  
4 -  
5 -// clang-format off  
6 -  
7 -#ifndef GENERATED_PLUGIN_REGISTRANT_  
8 -#define GENERATED_PLUGIN_REGISTRANT_  
9 -  
10 -#include <flutter/plugin_registry.h>  
11 -  
12 -// Registers Flutter plugins.  
13 -void RegisterPlugins(flutter::PluginRegistry* registry);  
14 -  
15 -#endif // GENERATED_PLUGIN_REGISTRANT_  
1 -#  
2 -# Generated file, do not edit.  
3 -#  
4 -  
5 -list(APPEND FLUTTER_PLUGIN_LIST  
6 -)  
7 -  
8 -list(APPEND FLUTTER_FFI_PLUGIN_LIST  
9 -)  
10 -  
11 -set(PLUGIN_BUNDLED_LIBRARIES)  
12 -  
13 -foreach(plugin ${FLUTTER_PLUGIN_LIST})  
14 - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin})  
15 - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)  
16 - list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)  
17 - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})  
18 -endforeach(plugin)  
19 -  
20 -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})  
21 - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})  
22 - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})  
23 -endforeach(ffi_plugin)