├── .gitattributes ├── IllustrokeClient.dpr ├── IllustrokeClient.dproj ├── IllustrokeClient.res ├── LICENSE ├── README.md ├── screenshot.png ├── uMainForm.fmx └── uMainForm.pas /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /IllustrokeClient.dpr: -------------------------------------------------------------------------------- 1 | program IllustrokeClient; 2 | 3 | uses 4 | System.StartUpCopy, 5 | FMX.Forms, 6 | Skia.FMX, 7 | uMainForm in 'uMainForm.pas' {MainForm}; 8 | 9 | {$R *.res} 10 | 11 | begin 12 | GlobalUseSkia := True; 13 | Application.Initialize; 14 | Application.CreateForm(TMainForm, MainForm); 15 | Application.Run; 16 | end. 17 | -------------------------------------------------------------------------------- /IllustrokeClient.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {3E2F6958-67EB-4385-A3D5-28B08C859DAE} 4 | 19.5 5 | FMX 6 | True 7 | Debug 8 | Win32 9 | 693267 10 | Application 11 | IllustrokeClient.dpr 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Base 34 | true 35 | 36 | 37 | true 38 | Base 39 | true 40 | 41 | 42 | true 43 | Base 44 | true 45 | 46 | 47 | true 48 | Base 49 | true 50 | 51 | 52 | true 53 | Base 54 | true 55 | 56 | 57 | true 58 | Base 59 | true 60 | 61 | 62 | true 63 | Cfg_1 64 | true 65 | true 66 | 67 | 68 | true 69 | Cfg_1 70 | true 71 | true 72 | 73 | 74 | true 75 | Base 76 | true 77 | 78 | 79 | true 80 | Cfg_2 81 | true 82 | true 83 | 84 | 85 | true 86 | Cfg_2 87 | true 88 | true 89 | 90 | 91 | .\$(Platform)\$(Config) 92 | .\$(Platform)\$(Config) 93 | false 94 | false 95 | false 96 | false 97 | false 98 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) 99 | true 100 | true 101 | true 102 | true 103 | true 104 | true 105 | true 106 | true 107 | $(BDS)\bin\delphi_PROJECTICON.ico 108 | $(BDS)\bin\delphi_PROJECTICNS.icns 109 | SKIA;$(DCC_Define) 110 | IllustrokeClient 111 | 112 | 113 | fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;FrameStandPackage_11_1;IndyProtocols;Skia.Package.RTL;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;Skia.Package.FMX;CustomIPTransport;JVEsoft;DBXInterBaseDriver;IndySystem;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 114 | package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= 115 | Debug 116 | true 117 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png 118 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png 119 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png 120 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png 121 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png 122 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png 123 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png 124 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png 125 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png 126 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png 127 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png 128 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png 129 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png 130 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png 131 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png 132 | annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar 133 | 134 | 135 | fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;FrameStandPackage_11_1;IndyProtocols;Skia.Package.RTL;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;dbrtl;FireDACDBXDriver;Skia.Package.FMX;CustomIPTransport;JVEsoft;DBXInterBaseDriver;IndySystem;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 136 | package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= 137 | Debug 138 | true 139 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png 140 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png 141 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png 142 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png 143 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png 144 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png 145 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png 146 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png 147 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png 148 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png 149 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png 150 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png 151 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png 152 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png 153 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png 154 | annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar 155 | 156 | 157 | fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;Skia.Package.RTL;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;Skia.Package.FMX;CustomIPTransport;JVEsoft;DBXInterBaseDriver;IndySystem;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 158 | CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers 159 | iPhoneAndiPad 160 | true 161 | Debug 162 | $(MSBuildProjectName) 163 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png 164 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png 165 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png 166 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png 167 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png 168 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png 169 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png 170 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png 171 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png 172 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png 173 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png 174 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png 175 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png 176 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png 177 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png 178 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png 179 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png 180 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png 181 | $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png 182 | $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png 183 | 184 | 185 | fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;CustomIPTransport;DBXInterBaseDriver;IndySystem;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 186 | CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers 187 | iPhoneAndiPad 188 | true 189 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png 190 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png 191 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png 192 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png 193 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png 194 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png 195 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png 196 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png 197 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png 198 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png 199 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png 200 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png 201 | $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png 202 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png 203 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png 204 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png 205 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png 206 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png 207 | $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png 208 | $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png 209 | 210 | 211 | DataSnapServer;fmx;DbxCommonDriver;bindengine;IndyIPCommon;FireDACCommonODBC;emsclient;FireDACCommonDriver;FrameStandPackage_11_1;IndyProtocols;Skia.Package.RTL;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;DBXFirebirdDriver;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;fmxFireDAC;dbexpress;DBXMySQLDriver;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;FireDACOracleDriver;Skia.Package.FMX;fmxdae;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;JVEsoft;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;DBXInformixDriver;fmxobj;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 212 | CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers 213 | Debug 214 | true 215 | 216 | 217 | DataSnapServer;fmx;DbxCommonDriver;bindengine;IndyIPCommon;FireDACCommonODBC;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;DBXFirebirdDriver;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;fmxFireDAC;dbexpress;DBXMySQLDriver;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;DBXInformixDriver;fmxobj;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 218 | CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers 219 | Debug 220 | true 221 | 222 | 223 | vclwinx;DataSnapServer;fmx;emshosting;DbxCommonDriver;vclie;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;FrameStandPackage_11_1;appanalytics;IndyProtocols;vclx;Skia.Package.RTL;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;SVGIconImageListFMX;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;KastriAdMob;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;DBXOdbcDriver;dbrtl;FireDACDBXDriver;FireDACOracleDriver;Skia.Package.FMX;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;SVGIconPackage;DataSnapIndy10ServerTransport;DataSnapConnectors;JVEsoft;vcldsnap;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;KastriFMX;FireDACTDataDriver;Skia.Package.VCL;vcldb;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;DOSCommandDR;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;TMSiCLPkgDXE14;fmxobj;bindcompvclsmp;FMXTee;DataSnapNativeClient;DatasnapConnectorsFreePascal;soaprtl;SVGIconImageList;soapserver;FireDACIBDriver;$(DCC_UsePackage) 224 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 225 | Debug 226 | true 227 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= 228 | 1033 229 | $(BDS)\bin\default_app.manifest 230 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png 231 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png 232 | 233 | 234 | vclwinx;DataSnapServer;fmx;emshosting;DbxCommonDriver;vclie;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;FrameStandPackage_11_1;appanalytics;IndyProtocols;vclx;Skia.Package.RTL;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;SVGIconImageListFMX;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;DBXOdbcDriver;dbrtl;FireDACDBXDriver;FireDACOracleDriver;Skia.Package.FMX;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;SVGIconPackage;DataSnapIndy10ServerTransport;DataSnapConnectors;JVEsoft;vcldsnap;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;Skia.Package.VCL;vcldb;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;DOSCommandDR;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;fmxobj;bindcompvclsmp;FMXTee;DataSnapNativeClient;DatasnapConnectorsFreePascal;soaprtl;SVGIconImageList;soapserver;FireDACIBDriver;$(DCC_UsePackage) 235 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) 236 | Debug 237 | true 238 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= 239 | 1033 240 | $(BDS)\bin\default_app.manifest 241 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png 242 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png 243 | 244 | 245 | DEBUG;$(DCC_Define) 246 | true 247 | false 248 | true 249 | true 250 | true 251 | true 252 | true 253 | 254 | 255 | false 256 | PerMonitorV2 257 | 258 | 259 | PerMonitorV2 260 | 261 | 262 | false 263 | RELEASE;$(DCC_Define) 264 | 0 265 | 0 266 | 267 | 268 | PerMonitorV2 269 | 270 | 271 | PerMonitorV2 272 | 273 | 274 | 275 | MainSource 276 | 277 | 278 |
MainForm
279 | fmx 280 |
281 | 282 | Base 283 | 284 | 285 | Cfg_1 286 | Base 287 | 288 | 289 | Cfg_2 290 | Base 291 | 292 |
293 | 294 | Delphi.Personality.12 295 | Application 296 | 297 | 298 | 299 | IllustrokeClient.dpr 300 | 301 | 302 | 303 | 304 | 305 | .\ 306 | 0 307 | sk4d.dll 308 | true 309 | 310 | 311 | 312 | 313 | .\ 314 | 0 315 | sk4d.dll 316 | true 317 | 318 | 319 | 320 | 321 | library\lib\armeabi-v7a\ 322 | 1 323 | libsk4d.so 324 | true 325 | 326 | 327 | 328 | 329 | library\lib\armeabi-v7a\ 330 | 1 331 | libsk4d.so 332 | true 333 | 334 | 335 | 336 | 337 | library\lib\armeabi-v7a\ 338 | 1 339 | libsk4d.so 340 | true 341 | 342 | 343 | 344 | 345 | library\lib\armeabi-v7a\ 346 | 1 347 | libsk4d.so 348 | true 349 | 350 | 351 | 352 | 353 | library\lib\arm64-v8a\ 354 | 1 355 | libsk4d.so 356 | true 357 | 358 | 359 | 360 | 361 | library\lib\arm64-v8a\ 362 | 1 363 | libsk4d.so 364 | true 365 | 366 | 367 | 368 | 369 | Contents\MacOS\ 370 | 1 371 | libsk4d.dylib 372 | true 373 | 374 | 375 | 376 | 377 | Contents\MacOS\ 378 | 1 379 | libsk4d.dylib 380 | true 381 | 382 | 383 | 384 | 385 | Contents\MacOS\ 386 | 1 387 | libsk4d.dylib 388 | true 389 | 390 | 391 | 392 | 393 | Contents\MacOS\ 394 | 1 395 | libsk4d.dylib 396 | true 397 | 398 | 399 | 400 | 401 | .\ 402 | 0 403 | sk4d.dll 404 | true 405 | 406 | 407 | 408 | 409 | .\ 410 | 0 411 | sk4d.dll 412 | true 413 | 414 | 415 | 416 | 417 | true 418 | 419 | 420 | 421 | 422 | true 423 | 424 | 425 | 426 | 427 | true 428 | 429 | 430 | 431 | 432 | library\lib\arm64-v8a\ 433 | 1 434 | libsk4d.so 435 | true 436 | 437 | 438 | 439 | 440 | library\lib\arm64-v8a\ 441 | 1 442 | libsk4d.so 443 | true 444 | 445 | 446 | 447 | 448 | library\lib\armeabi-v7a\ 449 | 1 450 | libsk4d.so 451 | true 452 | 453 | 454 | 455 | 456 | library\lib\armeabi-v7a\ 457 | 1 458 | libsk4d.so 459 | true 460 | 461 | 462 | 463 | 464 | library\lib\armeabi-v7a\ 465 | 1 466 | libsk4d.so 467 | true 468 | 469 | 470 | 471 | 472 | library\lib\armeabi-v7a\ 473 | 1 474 | libsk4d.so 475 | true 476 | 477 | 478 | 479 | 480 | Contents\MacOS\ 481 | 1 482 | libsk4d.dylib 483 | true 484 | 485 | 486 | 487 | 488 | Contents\MacOS\ 489 | 1 490 | libsk4d.dylib 491 | true 492 | 493 | 494 | 495 | 496 | Contents\MacOS\ 497 | 1 498 | libsk4d.dylib 499 | true 500 | 501 | 502 | 503 | 504 | Contents\MacOS\ 505 | 1 506 | libsk4d.dylib 507 | true 508 | 509 | 510 | 511 | 512 | .\ 513 | 0 514 | sk4d.dll 515 | true 516 | 517 | 518 | 519 | 520 | .\ 521 | 0 522 | sk4d.dll 523 | true 524 | 525 | 526 | 527 | 528 | .\ 529 | 0 530 | sk4d.dll 531 | true 532 | 533 | 534 | 535 | 536 | .\ 537 | 0 538 | sk4d.dll 539 | true 540 | 541 | 542 | 543 | 544 | IllustrokeClient.exe 545 | true 546 | 547 | 548 | 549 | 550 | 1 551 | 552 | 553 | Contents\MacOS 554 | 1 555 | 556 | 557 | 0 558 | 559 | 560 | 561 | 562 | classes 563 | 64 564 | 565 | 566 | classes 567 | 64 568 | 569 | 570 | 571 | 572 | res\xml 573 | 1 574 | 575 | 576 | res\xml 577 | 1 578 | 579 | 580 | 581 | 582 | library\lib\armeabi-v7a 583 | 1 584 | 585 | 586 | 587 | 588 | library\lib\armeabi 589 | 1 590 | 591 | 592 | library\lib\armeabi 593 | 1 594 | 595 | 596 | 597 | 598 | library\lib\armeabi-v7a 599 | 1 600 | 601 | 602 | 603 | 604 | library\lib\mips 605 | 1 606 | 607 | 608 | library\lib\mips 609 | 1 610 | 611 | 612 | 613 | 614 | library\lib\armeabi-v7a 615 | 1 616 | 617 | 618 | library\lib\arm64-v8a 619 | 1 620 | 621 | 622 | 623 | 624 | library\lib\armeabi-v7a 625 | 1 626 | 627 | 628 | 629 | 630 | res\drawable 631 | 1 632 | 633 | 634 | res\drawable 635 | 1 636 | 637 | 638 | 639 | 640 | res\values 641 | 1 642 | 643 | 644 | res\values 645 | 1 646 | 647 | 648 | 649 | 650 | res\values-v21 651 | 1 652 | 653 | 654 | res\values-v21 655 | 1 656 | 657 | 658 | 659 | 660 | res\values 661 | 1 662 | 663 | 664 | res\values 665 | 1 666 | 667 | 668 | 669 | 670 | res\drawable 671 | 1 672 | 673 | 674 | res\drawable 675 | 1 676 | 677 | 678 | 679 | 680 | res\drawable-xxhdpi 681 | 1 682 | 683 | 684 | res\drawable-xxhdpi 685 | 1 686 | 687 | 688 | 689 | 690 | res\drawable-xxxhdpi 691 | 1 692 | 693 | 694 | res\drawable-xxxhdpi 695 | 1 696 | 697 | 698 | 699 | 700 | res\drawable-ldpi 701 | 1 702 | 703 | 704 | res\drawable-ldpi 705 | 1 706 | 707 | 708 | 709 | 710 | res\drawable-mdpi 711 | 1 712 | 713 | 714 | res\drawable-mdpi 715 | 1 716 | 717 | 718 | 719 | 720 | res\drawable-hdpi 721 | 1 722 | 723 | 724 | res\drawable-hdpi 725 | 1 726 | 727 | 728 | 729 | 730 | res\drawable-xhdpi 731 | 1 732 | 733 | 734 | res\drawable-xhdpi 735 | 1 736 | 737 | 738 | 739 | 740 | res\drawable-mdpi 741 | 1 742 | 743 | 744 | res\drawable-mdpi 745 | 1 746 | 747 | 748 | 749 | 750 | res\drawable-hdpi 751 | 1 752 | 753 | 754 | res\drawable-hdpi 755 | 1 756 | 757 | 758 | 759 | 760 | res\drawable-xhdpi 761 | 1 762 | 763 | 764 | res\drawable-xhdpi 765 | 1 766 | 767 | 768 | 769 | 770 | res\drawable-xxhdpi 771 | 1 772 | 773 | 774 | res\drawable-xxhdpi 775 | 1 776 | 777 | 778 | 779 | 780 | res\drawable-xxxhdpi 781 | 1 782 | 783 | 784 | res\drawable-xxxhdpi 785 | 1 786 | 787 | 788 | 789 | 790 | res\drawable-small 791 | 1 792 | 793 | 794 | res\drawable-small 795 | 1 796 | 797 | 798 | 799 | 800 | res\drawable-normal 801 | 1 802 | 803 | 804 | res\drawable-normal 805 | 1 806 | 807 | 808 | 809 | 810 | res\drawable-large 811 | 1 812 | 813 | 814 | res\drawable-large 815 | 1 816 | 817 | 818 | 819 | 820 | res\drawable-xlarge 821 | 1 822 | 823 | 824 | res\drawable-xlarge 825 | 1 826 | 827 | 828 | 829 | 830 | res\values 831 | 1 832 | 833 | 834 | res\values 835 | 1 836 | 837 | 838 | 839 | 840 | 1 841 | 842 | 843 | Contents\MacOS 844 | 1 845 | 846 | 847 | 0 848 | 849 | 850 | 851 | 852 | Contents\MacOS 853 | 1 854 | .framework 855 | 856 | 857 | Contents\MacOS 858 | 1 859 | .framework 860 | 861 | 862 | Contents\MacOS 863 | 1 864 | .framework 865 | 866 | 867 | 0 868 | 869 | 870 | 871 | 872 | 1 873 | .dylib 874 | 875 | 876 | 1 877 | .dylib 878 | 879 | 880 | 1 881 | .dylib 882 | 883 | 884 | Contents\MacOS 885 | 1 886 | .dylib 887 | 888 | 889 | Contents\MacOS 890 | 1 891 | .dylib 892 | 893 | 894 | Contents\MacOS 895 | 1 896 | .dylib 897 | 898 | 899 | 0 900 | .dll;.bpl 901 | 902 | 903 | 904 | 905 | 1 906 | .dylib 907 | 908 | 909 | 1 910 | .dylib 911 | 912 | 913 | 1 914 | .dylib 915 | 916 | 917 | Contents\MacOS 918 | 1 919 | .dylib 920 | 921 | 922 | Contents\MacOS 923 | 1 924 | .dylib 925 | 926 | 927 | Contents\MacOS 928 | 1 929 | .dylib 930 | 931 | 932 | 0 933 | .bpl 934 | 935 | 936 | 937 | 938 | 0 939 | 940 | 941 | 0 942 | 943 | 944 | 0 945 | 946 | 947 | 0 948 | 949 | 950 | 0 951 | 952 | 953 | Contents\Resources\StartUp\ 954 | 0 955 | 956 | 957 | Contents\Resources\StartUp\ 958 | 0 959 | 960 | 961 | Contents\Resources\StartUp\ 962 | 0 963 | 964 | 965 | 0 966 | 967 | 968 | 969 | 970 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 971 | 1 972 | 973 | 974 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 975 | 1 976 | 977 | 978 | 979 | 980 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 981 | 1 982 | 983 | 984 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 985 | 1 986 | 987 | 988 | 989 | 990 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 991 | 1 992 | 993 | 994 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 995 | 1 996 | 997 | 998 | 999 | 1000 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1001 | 1 1002 | 1003 | 1004 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1005 | 1 1006 | 1007 | 1008 | 1009 | 1010 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1011 | 1 1012 | 1013 | 1014 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1015 | 1 1016 | 1017 | 1018 | 1019 | 1020 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1021 | 1 1022 | 1023 | 1024 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1025 | 1 1026 | 1027 | 1028 | 1029 | 1030 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1031 | 1 1032 | 1033 | 1034 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1035 | 1 1036 | 1037 | 1038 | 1039 | 1040 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1041 | 1 1042 | 1043 | 1044 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1045 | 1 1046 | 1047 | 1048 | 1049 | 1050 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1051 | 1 1052 | 1053 | 1054 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1055 | 1 1056 | 1057 | 1058 | 1059 | 1060 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1061 | 1 1062 | 1063 | 1064 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1065 | 1 1066 | 1067 | 1068 | 1069 | 1070 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1071 | 1 1072 | 1073 | 1074 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1075 | 1 1076 | 1077 | 1078 | 1079 | 1080 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1081 | 1 1082 | 1083 | 1084 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1085 | 1 1086 | 1087 | 1088 | 1089 | 1090 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1091 | 1 1092 | 1093 | 1094 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1095 | 1 1096 | 1097 | 1098 | 1099 | 1100 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1101 | 1 1102 | 1103 | 1104 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 1105 | 1 1106 | 1107 | 1108 | 1109 | 1110 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1111 | 1 1112 | 1113 | 1114 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1115 | 1 1116 | 1117 | 1118 | 1119 | 1120 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1121 | 1 1122 | 1123 | 1124 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1125 | 1 1126 | 1127 | 1128 | 1129 | 1130 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1131 | 1 1132 | 1133 | 1134 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1135 | 1 1136 | 1137 | 1138 | 1139 | 1140 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1141 | 1 1142 | 1143 | 1144 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1145 | 1 1146 | 1147 | 1148 | 1149 | 1150 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1151 | 1 1152 | 1153 | 1154 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1155 | 1 1156 | 1157 | 1158 | 1159 | 1160 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1161 | 1 1162 | 1163 | 1164 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 1165 | 1 1166 | 1167 | 1168 | 1169 | 1170 | 1 1171 | 1172 | 1173 | 1 1174 | 1175 | 1176 | 1177 | 1178 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1179 | 1 1180 | 1181 | 1182 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1183 | 1 1184 | 1185 | 1186 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1187 | 1 1188 | 1189 | 1190 | 1191 | 1192 | ..\ 1193 | 1 1194 | 1195 | 1196 | ..\ 1197 | 1 1198 | 1199 | 1200 | ..\ 1201 | 1 1202 | 1203 | 1204 | 1205 | 1206 | 1 1207 | 1208 | 1209 | 1 1210 | 1211 | 1212 | 1 1213 | 1214 | 1215 | 1216 | 1217 | ..\$(PROJECTNAME).launchscreen 1218 | 64 1219 | 1220 | 1221 | ..\$(PROJECTNAME).launchscreen 1222 | 64 1223 | 1224 | 1225 | 1226 | 1227 | 1 1228 | 1229 | 1230 | 1 1231 | 1232 | 1233 | 1 1234 | 1235 | 1236 | 1237 | 1238 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1239 | 1 1240 | 1241 | 1242 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1243 | 1 1244 | 1245 | 1246 | 1247 | 1248 | ..\ 1249 | 1 1250 | 1251 | 1252 | ..\ 1253 | 1 1254 | 1255 | 1256 | ..\ 1257 | 1 1258 | 1259 | 1260 | 1261 | 1262 | Contents 1263 | 1 1264 | 1265 | 1266 | Contents 1267 | 1 1268 | 1269 | 1270 | Contents 1271 | 1 1272 | 1273 | 1274 | 1275 | 1276 | Contents\Resources 1277 | 1 1278 | 1279 | 1280 | Contents\Resources 1281 | 1 1282 | 1283 | 1284 | Contents\Resources 1285 | 1 1286 | 1287 | 1288 | 1289 | 1290 | library\lib\armeabi-v7a 1291 | 1 1292 | 1293 | 1294 | library\lib\arm64-v8a 1295 | 1 1296 | 1297 | 1298 | 1 1299 | 1300 | 1301 | 1 1302 | 1303 | 1304 | 1 1305 | 1306 | 1307 | 1 1308 | 1309 | 1310 | Contents\MacOS 1311 | 1 1312 | 1313 | 1314 | Contents\MacOS 1315 | 1 1316 | 1317 | 1318 | Contents\MacOS 1319 | 1 1320 | 1321 | 1322 | 0 1323 | 1324 | 1325 | 1326 | 1327 | library\lib\armeabi-v7a 1328 | 1 1329 | 1330 | 1331 | 1332 | 1333 | 1 1334 | 1335 | 1336 | 1 1337 | 1338 | 1339 | 1340 | 1341 | Assets 1342 | 1 1343 | 1344 | 1345 | Assets 1346 | 1 1347 | 1348 | 1349 | 1350 | 1351 | Assets 1352 | 1 1353 | 1354 | 1355 | Assets 1356 | 1 1357 | 1358 | 1359 | 1360 | 1361 | 1362 | 1363 | 1364 | 1365 | 1366 | 1367 | 1368 | 1369 | 1370 | 1371 | 1372 | True 1373 | True 1374 | False 1375 | True 1376 | True 1377 | False 1378 | True 1379 | True 1380 | True 1381 | True 1382 | 1383 | 1384 | 12 1385 | 1386 | 1387 | 1388 | 1389 |
1390 | -------------------------------------------------------------------------------- /IllustrokeClient.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FMXExpress/Text-To-Vector-Desktop-Client/00cca428a74f516aa8090e5c2e39136295bcdcc1/IllustrokeClient.res -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 fusionchartsexpress 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Text-To-Vector-Desktop-Client 2 | Create SVGs using text to vector AI from Illustroke. 3 | 4 | Get an API key at: https://illustroke.com/ 5 | 6 | ![Illustroke Client](/screenshot.png?raw=true "Illustroke Client") 7 | 8 | Other Delphi AI clients: 9 | 10 | [Generative AI Prompts](https://github.com/FMXExpress/Generative-AI-Prompts) 11 | 12 | [Stable Diffusion Text To Image Prompts](https://github.com/FMXExpress/Stable-Diffusion-Text-To-Image-Prompts) 13 | 14 | [Dreambooth Desktop Client](https://github.com/FMXExpress/DreamBooth-Desktop-Client) 15 | 16 | Requires https://github.com/skia4delphi/skia4delphi 17 | 18 | Built using [Delphi](https://www.embarcadero.com/products/delphi) 19 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FMXExpress/Text-To-Vector-Desktop-Client/00cca428a74f516aa8090e5c2e39136295bcdcc1/screenshot.png -------------------------------------------------------------------------------- /uMainForm.pas: -------------------------------------------------------------------------------- 1 | unit uMainForm; 2 | 3 | interface 4 | 5 | uses 6 | System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, 7 | FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, REST.Types, 8 | FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param, 9 | FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf, 10 | Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client, REST.Response.Adapter, 11 | REST.Client, Data.Bind.Components, Data.Bind.ObjectScope, FMX.Layouts, 12 | FMX.StdCtrls, FMX.Edit, FMX.Controls.Presentation, Skia, Skia.FMX; 13 | 14 | type 15 | TMainForm = class(TForm) 16 | RESTClient1: TRESTClient; 17 | RESTRequest1: TRESTRequest; 18 | RESTResponse1: TRESTResponse; 19 | RESTResponseDataSetAdapter1: TRESTResponseDataSetAdapter; 20 | FDMemTable1: TFDMemTable; 21 | Button1: TButton; 22 | MaterialOxfordBlueSB: TStyleBook; 23 | Layout1: TLayout; 24 | Edit1: TEdit; 25 | Label1: TLabel; 26 | GridPanelLayout1: TGridPanelLayout; 27 | SkSvg2: TSkSvg; 28 | SkSvg3: TSkSvg; 29 | SkSvg1: TSkSvg; 30 | Layout2: TLayout; 31 | VertScrollBox1: TVertScrollBox; 32 | procedure Button1Click(Sender: TObject); 33 | procedure FormCreate(Sender: TObject); 34 | private 35 | { Private declarations } 36 | public 37 | { Public declarations } 38 | end; 39 | const 40 | API_KEY = 'your api key'; 41 | 42 | var 43 | MainForm: TMainForm; 44 | 45 | implementation 46 | 47 | {$R *.fmx} 48 | 49 | uses 50 | System.Hash, System.IOUtils; 51 | 52 | procedure TMainForm.Button1Click(Sender: TObject); 53 | begin 54 | RestRequest1.Execute; 55 | 56 | var I := 1; 57 | FDMemTable1.First; 58 | while not FDMemTable1.EOF do 59 | begin 60 | case I of 61 | 1: SkSVG1.Svg.Source := FDMemTable1.FieldByName('Array').AsWideString; 62 | 2: SkSVG2.Svg.Source := FDMemTable1.FieldByName('Array').AsWideString; 63 | 3: SkSVG3.Svg.Source := FDMemTable1.FieldByName('Array').AsWideString; 64 | end; 65 | Inc(I); 66 | var LSL := TStringList.Create; 67 | LSL.Text := FDMemTable1.FieldByName('Array').AsWideString; 68 | LSL.SaveToFile(TPath.Combine(ExtractFilePath(ParamStr(0)),THashMD5.GetHashString(LSL.Text)+'.svg')); 69 | LSL.Free; 70 | 71 | var LSVG := TSkSVG.Create(Self); 72 | LSVG.Svg.Source := FDMemTable1.FieldByName('Array').AsWideString; 73 | LSVG.Height := VertScrollBox1.Width; 74 | LSVG.Position.Y := -1; 75 | LSVG.Align := TAlignLayout.Top; 76 | LSVG.Parent := VertScrollBox1; 77 | 78 | 79 | FDMemTable1.Next; 80 | end; 81 | 82 | end; 83 | 84 | procedure TMainForm.FormCreate(Sender: TObject); 85 | begin 86 | RestRequest1.Params[0].Value := RestRequest1.Params[0].Value + API_KEY; 87 | end; 88 | 89 | end. 90 | --------------------------------------------------------------------------------