diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..8e39950 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,21 @@ +version: 2 +updates: +- package-ecosystem: nuget + directory: "/" + schedule: + interval: daily + time: "03:00" + open-pull-requests-limit: 10 + ignore: + - dependency-name: Microsoft.NETCore.UniversalWindowsPlatform + versions: + - 6.2.11 + - dependency-name: Xamarin.Forms + versions: + - 4.3.0.991211 + - dependency-name: Win2D.uwp + versions: + - 1.25.0 + - dependency-name: MSBuild.Sdk.Extras + versions: + - 3.0.22 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..61118dd --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,34 @@ +name: XamarinSignaturePad + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the WPF branch +on: + push: + branches: [ WPF ] + pull_request: + branches: [ WPF ] + +jobs: + buildOnWindows: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + + - name: Install tools + shell: cmd + run: choco install mono -x86 + + - name: Run build + shell: pwsh + run: ./build.ps1 + + buildOnMac: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v2 + + - name: Run build + shell: bash + run: ./build.sh diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index 4938791..d93b495 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -20,10 +20,10 @@ - Last known good version: - IDE: - Platform Target Frameworks: - - Android: + - Android: - iOS: - UWP: - - Xamarin.Forms: + - Xamarin.Forms: - Target Devices: - diff --git a/README.md b/README.md index 469a24e..f8aff23 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,13 @@ -# Signature Pad +# Important + +The packages which are published in nuget support Android, iOS and UWP. If you develop for another platforms (macOS, WPF, GTK), follow the [link](https://ci.appveyor.com/project/VladislavAntonyuk/signaturepad/build/artifacts) and download artifacts. + +## If you find any defects, feel free to create a pull request. + +# Signature Pad -[![Build Status](https://jenkins.mono-project.com/buildStatus/icon?job=Components-SignaturePad-Windows)](https://jenkins.mono-project.com/view/Components/job/Components-SignaturePad-Windows/) [![Build Status](https://jenkins.mono-project.com/buildStatus/icon?job=Components-SignaturePad)](https://jenkins.mono-project.com/view/Components/job/Components-SignaturePad/) +[![Build status](https://ci.appveyor.com/api/projects/status/qy7aaendnt5n2g3w?svg=true)](https://ci.appveyor.com/project/VladislavAntonyuk/signaturepad) ![XamarinSignaturePad](https://github.com/VladislavAntonyuk/SignaturePad/workflows/XamarinSignaturePad/badge.svg) [![SignaturePad NuGet](https://img.shields.io/nuget/v/Xamarin.Controls.SignaturePad.svg?label=SignaturePad%20NuGet)](https://www.nuget.org/packages/Xamarin.Controls.SignaturePad) [![SignaturePad Xamairn.Forms NuGet](https://img.shields.io/nuget/v/Xamarin.Controls.SignaturePad.Forms.svg?label=SignaturePad.Forms%20NuGet)](https://www.nuget.org/packages/Xamarin.Controls.SignaturePad.Forms) diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..ab33b32 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,33 @@ +version: 1.0.{build} + +pull_requests: + do_not_increment_build_number: true + +image: + - Visual Studio 2019 Preview + +environment: + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + +nuget: + disable_publish_on_pr: true + +install: + - ps: >- + echo "Install software"; + choco install mono -x86; + +build_script: + - pwsh: >- + echo "Run build"; + ./build.ps1; + $host.SetShouldExit($LastExitCode); + +artifacts: + - path: output + name: output + +test: off + +deploy: off \ No newline at end of file diff --git a/build.cake b/build.cake index c1ce253..ecdd2da 100644 --- a/build.cake +++ b/build.cake @@ -1,18 +1,56 @@ +#tool nuget:?package=vswhere + /////////////////////////////////////////////////////////////////////////////// // ARGUMENTS /////////////////////////////////////////////////////////////////////////////// -var CURRENT_PACKAGE_VERSION = "3.0.0"; +var CURRENT_PACKAGE_VERSION = "3.2.0"; var target = Argument("target", "Default"); var configuration = Argument("configuration", "Release"); var packageVersion = Argument("packageVersion", CURRENT_PACKAGE_VERSION); var majorVersion = $"{packageVersion.Substring(0, packageVersion.IndexOf("."))}.0.0.0"; -var buildVersion = Argument("buildVersion", EnvironmentVariable("BUILD_NUMBER") ?? ""); +var buildVersion = Argument("buildVersion", EnvironmentVariable("APPVEYOR_BUILD_NUMBER") ?? ""); if (!string.IsNullOrEmpty(buildVersion)) { buildVersion = $"-{buildVersion}"; } +MSBuildSettings CreateSettings() +{ + var settings = new MSBuildSettings + { + Configuration = configuration, + MSBuildPlatform = MSBuildPlatform.x86, + Properties = { + { "AssemblyVersion", new [] { majorVersion } }, + { "Version", new [] { packageVersion } }, + }, + ArgumentCustomization = args => { + return args.Append("/restore"); + } + }; + + if (IsRunningOnWindows()) + { + DirectoryPath vsLatest = VSWhereLatest(new VSWhereLatestSettings{IncludePrerelease = true}); + FilePath msBuildPath = vsLatest?.CombineWithFilePath("./MSBuild/Current/Bin/MSBuild.exe"); + + if (!FileExists(msBuildPath)) + { + throw new Exception($"Failed to find MSBuild: {msBuildPath}"); + } + + Information("Building using MSBuild at " + msBuildPath); + settings.ToolPath = msBuildPath; + } + else + { + settings.ToolPath = Context.Tools.Resolve("msbuild"); + } + + return settings; +} + /////////////////////////////////////////////////////////////////////////////// // TASKS /////////////////////////////////////////////////////////////////////////////// @@ -21,34 +59,33 @@ Task("libs") .Does(() => { var sln = IsRunningOnWindows() ? "./src/SignaturePad.sln" : "./src/SignaturePad.Mac.sln"; - - MSBuild(sln, new MSBuildSettings { - Verbosity = Verbosity.Minimal, - Configuration = configuration, - PlatformTarget = PlatformTarget.MSIL, - MSBuildPlatform = MSBuildPlatform.x86, - ArgumentCustomization = args => args.Append("/restore"), - Properties = { - { "AssemblyVersion", new [] { majorVersion } }, - { "Version", new [] { packageVersion } }, - }, - }); + MSBuild(sln, CreateSettings()); EnsureDirectoryExists("./output/android/"); + EnsureDirectoryExists("./output/wpf/"); + EnsureDirectoryExists("./output/gtk/"); + EnsureDirectoryExists("./output/mac/"); EnsureDirectoryExists("./output/ios/"); - EnsureDirectoryExists("./output/uwp/"); - EnsureDirectoryExists("./output/uwp/Themes"); + EnsureDirectoryExists("./output/uwp/SignaturePad/Themes"); EnsureDirectoryExists("./output/netstandard/"); CopyFiles($"./src/SignaturePad.Android/bin/{configuration}/SignaturePad.*", "./output/android/"); CopyFiles($"./src/SignaturePad.iOS/bin/{configuration}/SignaturePad.*", "./output/ios/"); + CopyFiles($"./src/SignaturePad.MacOS/bin/{configuration}/SignaturePad.*", "./output/mac/"); + CopyFiles($"./src/SignaturePad.WPF/bin/{configuration}/SignaturePad.*", "./output/wpf/"); + CopyFiles($"./src/SignaturePad.GTK/bin/{configuration}/SignaturePad.*", "./output/gtk/"); CopyFiles($"./src/SignaturePad.UWP/bin/{configuration}/SignaturePad.*", "./output/uwp/"); - CopyFiles($"./src/SignaturePad.UWP/bin/{configuration}/Themes/*", "./output/uwp/Themes"); + CopyFiles($"./src/SignaturePad.UWP/bin/{configuration}/SignaturePad/*", "./output/uwp/SignaturePad"); + CopyFiles($"./src/SignaturePad.UWP/bin/{configuration}/SignaturePad/Themes/*", "./output/uwp/SignaturePad/Themes"); CopyFiles($"./src/SignaturePad.Forms.Droid/bin/{configuration}/SignaturePad.Forms.*", "./output/android/"); CopyFiles($"./src/SignaturePad.Forms.iOS/bin/{configuration}/SignaturePad.Forms.*", "./output/ios/"); + CopyFiles($"./src/SignaturePad.Forms.MacOS/bin/{configuration}/SignaturePad.Forms.*", "./output/mac/"); + CopyFiles($"./src/SignaturePad.Forms.WPF/bin/{configuration}/SignaturePad.Forms.*", "./output/wpf/"); + CopyFiles($"./src/SignaturePad.Forms.GTK/bin/{configuration}/SignaturePad.Forms.*", "./output/gtk/"); CopyFiles($"./src/SignaturePad.Forms.UWP/bin/{configuration}/SignaturePad.Forms.*", "./output/uwp/"); - CopyFiles($"./src/SignaturePad.Forms.UWP/bin/{configuration}/Themes/*", "./output/uwp/Themes"); + CopyFiles($"./src/SignaturePad.Forms.UWP/bin/{configuration}/SignaturePad/*", "./output/uwp/SignaturePad/"); + CopyFiles($"./src/SignaturePad.Forms.UWP/bin/{configuration}/SignaturePad/Themes/*", "./output/uwp/SignaturePad/Themes"); CopyFiles($"./src/SignaturePad.Forms/bin/{configuration}/SignaturePad.Forms.*", "./output/netstandard/"); }); @@ -57,7 +94,6 @@ Task("nuget") .WithCriteria(IsRunningOnWindows()) .Does(() => { - var nuget = Context.Tools.Resolve("nuget.exe"); var nuspecs = GetFiles("./nuget/*.nuspec"); var settings = new NuGetPackSettings { BasePath = ".", @@ -80,23 +116,33 @@ Task("samples") .IsDependentOn("libs") .Does(() => { - var settings = new MSBuildSettings { - Verbosity = Verbosity.Minimal, - Configuration = configuration, - PlatformTarget = PlatformTarget.MSIL, - MSBuildPlatform = MSBuildPlatform.x86, - ArgumentCustomization = args => args.Append("/restore"), + var settings = CreateSettings(); + var settingsIos = CreateSettings(); + settingsIos.ArgumentCustomization = args => { + return args.Append($"/p:Platform=\"iPhoneSimulator\""); }; if (IsRunningOnWindows()) { + NuGetRestore("./samples/Sample.Android/Sample.Android.sln"); MSBuild("./samples/Sample.Android/Sample.Android.sln", settings); - MSBuild("./samples/Sample.iOS/Sample.iOS.sln", settings); + + NuGetRestore("./samples/Sample.iOS/Sample.iOS.sln"); + MSBuild("./samples/Sample.iOS/Sample.iOS.sln", settingsIos); + + NuGetRestore("./samples/Sample.UWP/Sample.UWP.sln"); MSBuild("./samples/Sample.UWP/Sample.UWP.sln", settings); - MSBuild("./samples/Sample.Forms/Sample.Forms.sln", settings); + + NuGetRestore("./samples/Sample.Forms/Sample.Forms.sln"); + MSBuild("./samples/Sample.Forms/Sample.Forms.sln", settingsIos); } else { + NuGetRestore("./samples/Sample.Android/Sample.Android.sln"); MSBuild("./samples/Sample.Android/Sample.Android.sln", settings); - MSBuild("./samples/Sample.iOS/Sample.iOS.sln", settings); - MSBuild("./samples/Sample.Forms/Sample.Forms.Mac.sln", settings); + + NuGetRestore("./samples/Sample.iOS/Sample.iOS.sln"); + MSBuild("./samples/Sample.iOS/Sample.iOS.sln", settingsIos); + + NuGetRestore("./samples/Sample.Forms/Sample.Forms.Mac.sln"); + MSBuild("./samples/Sample.Forms/Sample.Forms.Mac.sln", settingsIos); } }); @@ -106,7 +152,4 @@ Task("Default") .IsDependentOn("nuget") .IsDependentOn("samples"); -Task("CI") - .IsDependentOn("Default"); - RunTarget(target); diff --git a/nuget/Xamarin.Controls.SignaturePad.Forms.nuspec b/nuget/Xamarin.Controls.SignaturePad.Forms.nuspec index d7176d5..f0535ff 100644 --- a/nuget/Xamarin.Controls.SignaturePad.Forms.nuspec +++ b/nuget/Xamarin.Controls.SignaturePad.Forms.nuspec @@ -20,18 +20,32 @@ - + - + + + + + + + + + + + + + + + - + - - + + @@ -39,6 +53,15 @@ + + + + + + + + + @@ -46,9 +69,11 @@ - - - + + + + + \ No newline at end of file diff --git a/nuget/Xamarin.Controls.SignaturePad.nuspec b/nuget/Xamarin.Controls.SignaturePad.nuspec index c86265a..7f4bffd 100644 --- a/nuget/Xamarin.Controls.SignaturePad.nuspec +++ b/nuget/Xamarin.Controls.SignaturePad.nuspec @@ -1,4 +1,4 @@ - + @@ -19,7 +19,10 @@ + + + @@ -31,14 +34,23 @@ + + + + + + + + + - - + + diff --git a/samples/Sample.Android/Properties/AndroidManifest.xml b/samples/Sample.Android/Properties/AndroidManifest.xml index 45b47e9..dcb4e6d 100644 --- a/samples/Sample.Android/Properties/AndroidManifest.xml +++ b/samples/Sample.Android/Properties/AndroidManifest.xml @@ -1,7 +1,7 @@  - + - \ No newline at end of file + diff --git a/samples/Sample.Android/Sample.Android.csproj b/samples/Sample.Android/Sample.Android.csproj index 5950baf..0b71fcc 100644 --- a/samples/Sample.Android/Sample.Android.csproj +++ b/samples/Sample.Android/Sample.Android.csproj @@ -16,8 +16,8 @@ Resources\Resource.designer.cs Sample.Android Properties\AndroidManifest.xml - v7.1 - False + v10.0 + True True @@ -41,7 +41,6 @@ 4 False False - armeabi,armeabi-v7a,x86,x86_64,arm64-v8a Full True Xamarin @@ -54,10 +53,10 @@ - - - - + + + + diff --git a/samples/Sample.Forms/Sample.Forms.Mac.sln b/samples/Sample.Forms/Sample.Forms.Mac.sln index c160445..030d86c 100644 --- a/samples/Sample.Forms/Sample.Forms.Mac.sln +++ b/samples/Sample.Forms/Sample.Forms.Mac.sln @@ -19,6 +19,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.Android", "Samples. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.iOS", "Samples.iOS\Samples.iOS.csproj", "{2142B859-21E9-484D-880A-26AD708569DB}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignaturePad.MacOS", "..\..\src\SignaturePad.MacOS\SignaturePad.MacOS.csproj", "{EB7F9F29-7348-4DAE-B7E0-198FF0E14474}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignaturePad.Forms.MacOS", "..\..\src\SignaturePad.Forms.MacOS\SignaturePad.Forms.MacOS.csproj", "{C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.MacOS", "Samples.MacOS\Samples.MacOS.csproj", "{5131B6A0-D5EA-4EB0-A44A-7538192EC275}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -131,6 +137,68 @@ Global {2142B859-21E9-484D-880A-26AD708569DB}.Release|iPhone.Build.0 = Release|iPhone {2142B859-21E9-484D-880A-26AD708569DB}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator {2142B859-21E9-484D-880A-26AD708569DB}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|ARM.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|ARM.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|iPhone.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|x64.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|x64.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|x86.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|x86.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|Any CPU.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|ARM.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|ARM.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|iPhone.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|iPhone.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|x64.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|x64.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|x86.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|x86.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|ARM.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|ARM.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|iPhone.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|x64.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|x64.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|x86.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|x86.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|Any CPU.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|ARM.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|ARM.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|iPhone.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|iPhone.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|x64.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|x64.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|x86.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|x86.Build.0 = Release|Any CPU + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|iPhone.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|ARM.ActiveCfg = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|iPhone.ActiveCfg = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|x64.ActiveCfg = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|x86.ActiveCfg = Release|iPhoneSimulator EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/samples/Sample.Forms/Sample.Forms.sln b/samples/Sample.Forms/Sample.Forms.sln index d3a14a7..8849765 100644 --- a/samples/Sample.Forms/Sample.Forms.sln +++ b/samples/Sample.Forms/Sample.Forms.sln @@ -25,6 +25,18 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignaturePad.UWP", "..\..\s EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignaturePad.Forms.UWP", "..\..\src\SignaturePad.Forms.UWP\SignaturePad.Forms.UWP.csproj", "{6FC62387-6717-4577-A48B-D15848741F08}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignaturePad.WPF", "..\..\src\SignaturePad.WPF\SignaturePad.WPF.csproj", "{89547259-5482-43FC-B100-EEA0BB2C91A3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignaturePad.Forms.WPF", "..\..\src\SignaturePad.Forms.WPF\SignaturePad.Forms.WPF.csproj", "{713B7BF4-24CB-4CE7-87D2-44E347CFED19}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.WPF", "Samples.WPF\Samples.WPF.csproj", "{497C984A-6F4A-4522-A043-E3AB050670A8}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignaturePad.MacOS", "..\..\src\SignaturePad.MacOS\SignaturePad.MacOS.csproj", "{EB7F9F29-7348-4DAE-B7E0-198FF0E14474}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignaturePad.Forms.MacOS", "..\..\src\SignaturePad.Forms.MacOS\SignaturePad.Forms.MacOS.csproj", "{C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.MacOS", "Samples.MacOS\Samples.MacOS.csproj", "{5131B6A0-D5EA-4EB0-A44A-7538192EC275}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -329,6 +341,140 @@ Global {6FC62387-6717-4577-A48B-D15848741F08}.Release|x64.Build.0 = Release|Any CPU {6FC62387-6717-4577-A48B-D15848741F08}.Release|x86.ActiveCfg = Release|Any CPU {6FC62387-6717-4577-A48B-D15848741F08}.Release|x86.Build.0 = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|ARM.ActiveCfg = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|ARM.Build.0 = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|iPhone.Build.0 = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|x64.ActiveCfg = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|x64.Build.0 = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|x86.ActiveCfg = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Debug|x86.Build.0 = Debug|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|Any CPU.Build.0 = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|ARM.ActiveCfg = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|ARM.Build.0 = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|iPhone.ActiveCfg = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|iPhone.Build.0 = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|x64.ActiveCfg = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|x64.Build.0 = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|x86.ActiveCfg = Release|Any CPU + {89547259-5482-43FC-B100-EEA0BB2C91A3}.Release|x86.Build.0 = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|Any CPU.Build.0 = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|ARM.ActiveCfg = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|ARM.Build.0 = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|iPhone.Build.0 = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|x64.ActiveCfg = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|x64.Build.0 = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|x86.ActiveCfg = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Debug|x86.Build.0 = Debug|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|Any CPU.ActiveCfg = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|Any CPU.Build.0 = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|ARM.ActiveCfg = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|ARM.Build.0 = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|iPhone.ActiveCfg = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|iPhone.Build.0 = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|x64.ActiveCfg = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|x64.Build.0 = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|x86.ActiveCfg = Release|Any CPU + {713B7BF4-24CB-4CE7-87D2-44E347CFED19}.Release|x86.Build.0 = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|ARM.ActiveCfg = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|ARM.Build.0 = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|iPhone.Build.0 = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|x64.ActiveCfg = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|x64.Build.0 = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|x86.ActiveCfg = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Debug|x86.Build.0 = Debug|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|Any CPU.Build.0 = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|ARM.ActiveCfg = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|ARM.Build.0 = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|iPhone.ActiveCfg = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|iPhone.Build.0 = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|x64.ActiveCfg = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|x64.Build.0 = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|x86.ActiveCfg = Release|Any CPU + {497C984A-6F4A-4522-A043-E3AB050670A8}.Release|x86.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|ARM.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|ARM.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|iPhone.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|x64.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|x64.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|x86.ActiveCfg = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Debug|x86.Build.0 = Debug|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|Any CPU.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|ARM.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|ARM.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|iPhone.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|iPhone.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|x64.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|x64.Build.0 = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|x86.ActiveCfg = Release|Any CPU + {EB7F9F29-7348-4DAE-B7E0-198FF0E14474}.Release|x86.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|ARM.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|ARM.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|iPhone.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|x64.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|x64.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|x86.ActiveCfg = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Debug|x86.Build.0 = Debug|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|Any CPU.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|ARM.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|ARM.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|iPhone.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|iPhone.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|x64.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|x64.Build.0 = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|x86.ActiveCfg = Release|Any CPU + {C6FA17D7-0F22-49B6-8C17-C6AE0AC39489}.Release|x86.Build.0 = Release|Any CPU + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|iPhone.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|ARM.ActiveCfg = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|iPhone.ActiveCfg = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|x64.ActiveCfg = Release|iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275}.Release|x86.ActiveCfg = Release|iPhoneSimulator EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/samples/Sample.Forms/Samples.Android/Properties/AndroidManifest.xml b/samples/Sample.Forms/Samples.Android/Properties/AndroidManifest.xml index 38ad0de..446c389 100644 --- a/samples/Sample.Forms/Samples.Android/Properties/AndroidManifest.xml +++ b/samples/Sample.Forms/Samples.Android/Properties/AndroidManifest.xml @@ -1,7 +1,7 @@  - + - \ No newline at end of file + diff --git a/samples/Sample.Forms/Samples.Android/Samples.Android.csproj b/samples/Sample.Forms/Samples.Android/Samples.Android.csproj index 086b919..92093a6 100644 --- a/samples/Sample.Forms/Samples.Android/Samples.Android.csproj +++ b/samples/Sample.Forms/Samples.Android/Samples.Android.csproj @@ -14,8 +14,7 @@ Resources\Resource.Designer.cs Off Properties\AndroidManifest.xml - v7.1 - false + v10.0 true @@ -27,7 +26,6 @@ 4 None True - armeabi-v7a;x86 pdbonly @@ -37,7 +35,6 @@ prompt 4 False - armeabi-v7a,x86 @@ -47,7 +44,7 @@ - + diff --git a/samples/Sample.Forms/Samples.MacOS/AppDelegate.cs b/samples/Sample.Forms/Samples.MacOS/AppDelegate.cs new file mode 100644 index 0000000..546191e --- /dev/null +++ b/samples/Sample.Forms/Samples.MacOS/AppDelegate.cs @@ -0,0 +1,57 @@ +// +// Vladislav Antonyuk. All rights reserved. +// +// Vladislav Antonyuk + +namespace Samples.MacOS +{ + using System.IO; + using System.Threading.Tasks; + using AppKit; + using Foundation; + using Photos; + using Xamarin.Forms; + using Xamarin.Forms.Platform.MacOS; + + [Register(nameof(AppDelegate))] + public class AppDelegate : FormsApplicationDelegate + { + public AppDelegate() + { + MainWindow = UiService.MainWindow; + } + + public override NSWindow MainWindow { get; } + + public override void DidFinishLaunching(NSNotification notification) + { + Forms.Init(); + LoadApplication(new App (OnSaveSignature)); + base.DidFinishLaunching(notification); + } + private async Task OnSaveSignature (Stream bitmap, string filename) + { + var tcs = new TaskCompletionSource (); + + NSImage image = bitmap == null ? null : NSImage.FromStream(bitmap); + + var status = await PHPhotoLibrary.RequestAuthorizationAsync (); + if (status == PHAuthorizationStatus.Authorized) + { + //image.SaveToPhotosAlbum ((i, error) => + //{ + // image.Dispose (); + + // tcs.TrySetResult (error == null); + //}); + tcs.TrySetResult (true); + } + else + { + tcs.TrySetResult (false); + } + + return await tcs.Task; + } + } +} diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png new file mode 100644 index 0000000..d114e15 Binary files /dev/null and b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png differ diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png new file mode 100644 index 0000000..3b98e88 Binary files /dev/null and b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png differ diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png new file mode 100644 index 0000000..02bd0f4 Binary files /dev/null and b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png differ diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png new file mode 100644 index 0000000..f5ffabc Binary files /dev/null and b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png differ diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png new file mode 100644 index 0000000..3b98e88 Binary files /dev/null and b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png differ diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png new file mode 100644 index 0000000..b9e2163 Binary files /dev/null and b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png differ diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png new file mode 100644 index 0000000..f5ffabc Binary files /dev/null and b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png differ diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png new file mode 100644 index 0000000..c324492 Binary files /dev/null and b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png differ diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png new file mode 100644 index 0000000..b9e2163 Binary files /dev/null and b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png differ diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png new file mode 100644 index 0000000..52cd731 Binary files /dev/null and b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png differ diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..6b28545 --- /dev/null +++ b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images": [ + { + "filename": "AppIcon-16.png", + "size": "16x16", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-16@2x.png", + "size": "16x16", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-32.png", + "size": "32x32", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-32@2x.png", + "size": "32x32", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-128.png", + "size": "128x128", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-128@2x.png", + "size": "128x128", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-256.png", + "size": "256x256", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-256@2x.png", + "size": "256x256", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-512.png", + "size": "512x512", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-512@2x.png", + "size": "512x512", + "scale": "2x", + "idiom": "mac" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/Contents.json b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/Contents.json new file mode 100644 index 0000000..033a618 --- /dev/null +++ b/samples/Sample.Forms/Samples.MacOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/samples/Sample.Forms/Samples.MacOS/Entitlements.plist b/samples/Sample.Forms/Samples.MacOS/Entitlements.plist new file mode 100644 index 0000000..9ae5993 --- /dev/null +++ b/samples/Sample.Forms/Samples.MacOS/Entitlements.plist @@ -0,0 +1,6 @@ + + + + + + diff --git a/samples/Sample.Forms/Samples.MacOS/Info.plist b/samples/Sample.Forms/Samples.MacOS/Info.plist new file mode 100644 index 0000000..a1d10f4 --- /dev/null +++ b/samples/Sample.Forms/Samples.MacOS/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleName + Draw & GO + CFBundleIdentifier + com.vladislavantonyuk.drawgo + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + 10.13 + CFBundleDevelopmentRegion + en + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + NSPrincipalClass + NSApplication + XSAppIconAssets + Assets.xcassets/AppIcon.appiconset + LSApplicationCategoryType + public.app-category.utilities + + diff --git a/samples/Sample.Forms/Samples.MacOS/Main.cs b/samples/Sample.Forms/Samples.MacOS/Main.cs new file mode 100644 index 0000000..cf4876c --- /dev/null +++ b/samples/Sample.Forms/Samples.MacOS/Main.cs @@ -0,0 +1,20 @@ +// +// Vladislav Antonyuk. All rights reserved. +// +// Vladislav Antonyuk + +namespace Samples.MacOS +{ + using AppKit; + + public class Application + { + // This is the main entry point of the application. + private static void Main(string[] args) + { + NSApplication.Init(); + NSApplication.SharedApplication.Delegate = new AppDelegate(); + NSApplication.Main(args); + } + } +} diff --git a/samples/Sample.Forms/Samples.MacOS/Properties/AssemblyInfo.cs b/samples/Sample.Forms/Samples.MacOS/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..e08f99a --- /dev/null +++ b/samples/Sample.Forms/Samples.MacOS/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("DrawGo.Mac.iOS")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("DrawGo.Mac.iOS")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("72bdc44f-c588-44f3-b6df-9aace7daafdd")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/samples/Sample.Forms/Samples.MacOS/Samples.MacOS.csproj b/samples/Sample.Forms/Samples.MacOS/Samples.MacOS.csproj new file mode 100644 index 0000000..86e269d --- /dev/null +++ b/samples/Sample.Forms/Samples.MacOS/Samples.MacOS.csproj @@ -0,0 +1,106 @@ + + + + Debug + iPhoneSimulator + {5131B6A0-D5EA-4EB0-A44A-7538192EC275} + {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + Samples.MacOS + Samples MacOS + Resources + v2.0 + Xamarin.Mac + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + false + Mac Developer + false + false + false + true + true + true + HttpClientHandler + None + x86_64 + 3rd Party Mac Developer Installer + None + + + pdbonly + true + bin\Release + + + prompt + 4 + false + true + false + true + true + true + SdkOnly + HttpClientHandler + + + None + + + + + + + + + + + + + + + + + + + + + + + + {c6fa17d7-0f22-49b6-8c17-c6ae0ac39489} + SignaturePad.Forms.MacOS + + + {eb7f9f29-7348-4dae-b7e0-198ff0e14474} + SignaturePad.MacOS + + + {cc18e151-5792-4da5-ade6-7cfba16a593e} + Samples + + + + + + + + + + + + + + 4.5.0.495 + + + + \ No newline at end of file diff --git a/samples/Sample.Forms/Samples.MacOS/UiService.cs b/samples/Sample.Forms/Samples.MacOS/UiService.cs new file mode 100644 index 0000000..b4b8b79 --- /dev/null +++ b/samples/Sample.Forms/Samples.MacOS/UiService.cs @@ -0,0 +1,31 @@ +// +// Vladislav Antonyuk. All rights reserved. +// +// Vladislav Antonyuk + +namespace Samples.MacOS +{ + using AppKit; + using CoreGraphics; + + internal static class UiService + { + static UiService() + { + var mainWindowStyle = NSWindowStyle.Closable | NSWindowStyle.Miniaturizable | NSWindowStyle.Resizable | + NSWindowStyle.Titled; + var mainWindowSize = new CGSize(550, 330); + var mainWindowRect = new CGRect( + NSScreen.MainScreen.Frame.Width / 2 - mainWindowSize.Width / 2, + NSScreen.MainScreen.Frame.Height / 2 - mainWindowSize.Height / 2, + mainWindowSize.Width, + mainWindowSize.Height); + MainWindow = new NSWindow(mainWindowRect, mainWindowStyle, NSBackingStore.Buffered, false) + { + TitleVisibility = NSWindowTitleVisibility.Visible + }; + } + + internal static NSWindow MainWindow { get; } + } +} diff --git a/samples/Sample.Forms/Samples.UWP/Samples.UWP.csproj b/samples/Sample.Forms/Samples.UWP/Samples.UWP.csproj index b62fe0f..3363bf6 100644 --- a/samples/Sample.Forms/Samples.UWP/Samples.UWP.csproj +++ b/samples/Sample.Forms/Samples.UWP/Samples.UWP.csproj @@ -11,14 +11,15 @@ Samples.UWP en-US UAP - 10.0.14393.0 - 10.0.10586.0 + 10.0.18362.0 + 10.0.18362.0 14 true 512 {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Samples.UWP_TemporaryKey.pfx - 5D80C6709564B0BBADBD1B115AFCADCB0B9307AB + 5D960AE791CAC02D3474DF1DC282595DB26746BB + True true @@ -90,9 +91,9 @@ true - - - + + + diff --git a/samples/Sample.Forms/Samples.UWP/Samples.UWP_TemporaryKey.pfx b/samples/Sample.Forms/Samples.UWP/Samples.UWP_TemporaryKey.pfx index f25d3f3..bfff14a 100644 Binary files a/samples/Sample.Forms/Samples.UWP/Samples.UWP_TemporaryKey.pfx and b/samples/Sample.Forms/Samples.UWP/Samples.UWP_TemporaryKey.pfx differ diff --git a/samples/Sample.Forms/Samples.WPF/App.config b/samples/Sample.Forms/Samples.WPF/App.config new file mode 100644 index 0000000..7c47a67 --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/App.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/Sample.Forms/Samples.WPF/App.xaml b/samples/Sample.Forms/Samples.WPF/App.xaml new file mode 100644 index 0000000..ec34f60 --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/samples/Sample.Forms/Samples.WPF/App.xaml.cs b/samples/Sample.Forms/Samples.WPF/App.xaml.cs new file mode 100644 index 0000000..e47fdc2 --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/App.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace Samples.WPF +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } +} diff --git a/samples/Sample.Forms/Samples.WPF/MainWindow.xaml b/samples/Sample.Forms/Samples.WPF/MainWindow.xaml new file mode 100644 index 0000000..077a9c6 --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/MainWindow.xaml @@ -0,0 +1,8 @@ + + \ No newline at end of file diff --git a/samples/Sample.Forms/Samples.WPF/MainWindow.xaml.cs b/samples/Sample.Forms/Samples.WPF/MainWindow.xaml.cs new file mode 100644 index 0000000..9e3e3fe --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/MainWindow.xaml.cs @@ -0,0 +1,36 @@ +// +// Vladislav Antonyuk. All rights reserved. +// +// Vladislav Antonyuk + +namespace Samples.WPF +{ + using System; + using System.IO; + using System.Threading.Tasks; + using SignaturePad.Forms; + using Xamarin.Forms; + using Xamarin.Forms.Platform.WPF; + + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : FormsApplicationPage + { + public MainWindow () + { + InitializeComponent (); + Forms.Init (); + LoadApplication (new Samples.App (OnSaveSignature)); + } + + private async Task OnSaveSignature (Stream bitmap, string filename) + { + var file = File.Create (filename); + if (bitmap != null) + await bitmap.CopyToAsync (file); + + return true; + } + } +} diff --git a/samples/Sample.Forms/Samples.WPF/Properties/AssemblyInfo.cs b/samples/Sample.Forms/Samples.WPF/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..d54437b --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/Properties/AssemblyInfo.cs @@ -0,0 +1,55 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle ("Samples.WPF")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("Samples.WPF")] +[assembly: AssemblyCopyright ("Copyright © 2018")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible (false)] + +//In order to begin building localizable applications, set +//CultureYouAreCodingWith in your .csproj file +//inside a . For example, if you are using US english +//in your source files, set the to en-US. Then uncomment +//the NeutralResourceLanguage attribute below. Update the "en-US" in +//the line below to match the UICulture setting in the project file. + +//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] + + +[assembly: ThemeInfo ( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] + + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion ("1.0.0.0")] +[assembly: AssemblyFileVersion ("1.0.0.0")] diff --git a/samples/Sample.Forms/Samples.WPF/Properties/Resources.Designer.cs b/samples/Sample.Forms/Samples.WPF/Properties/Resources.Designer.cs new file mode 100644 index 0000000..77c1860 --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Samples.WPF.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute ("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute ()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute ()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute ("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources () + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute (global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager ("Samples.WPF.Properties.Resources", typeof (Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute (global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/samples/Sample.Forms/Samples.WPF/Properties/Resources.resx b/samples/Sample.Forms/Samples.WPF/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/samples/Sample.Forms/Samples.WPF/Properties/Settings.Designer.cs b/samples/Sample.Forms/Samples.WPF/Properties/Settings.Designer.cs new file mode 100644 index 0000000..c5501bb --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Samples.WPF.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute ()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute ("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized (new Settings ()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/samples/Sample.Forms/Samples.WPF/Properties/Settings.settings b/samples/Sample.Forms/Samples.WPF/Properties/Settings.settings new file mode 100644 index 0000000..033d7a5 --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/samples/Sample.Forms/Samples.WPF/Samples.WPF.csproj b/samples/Sample.Forms/Samples.WPF/Samples.WPF.csproj new file mode 100644 index 0000000..6d5f02b --- /dev/null +++ b/samples/Sample.Forms/Samples.WPF/Samples.WPF.csproj @@ -0,0 +1,130 @@ + + + + + Debug + AnyCPU + {497C984A-6F4A-4522-A043-E3AB050670A8} + WinExe + Samples.WPF + Samples.WPF + v4.7.2 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + 4.0 + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + MainWindow.xaml + Code + + + + + Code + + + True + True + Resources.resx + + + True + Settings.settings + True + + + ResXFileCodeGenerator + Resources.Designer.cs + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + {713B7BF4-24CB-4CE7-87D2-44E347CFED19} + SignaturePad.Forms.WPF + + + {89547259-5482-43fc-b100-eea0bb2c91a3} + SignaturePad.WPF + + + {cc18e151-5792-4da5-ade6-7cfba16a593e} + Samples + + + + + 3.1.0 + + + 3.1.0 + + + 1.0.3 + + + 4.5.0.495 + + + 4.5.0.495 + + + + \ No newline at end of file diff --git a/samples/Sample.Forms/Samples.iOS/Samples.iOS.csproj b/samples/Sample.Forms/Samples.iOS/Samples.iOS.csproj index a44a4b4..aa20cb1 100644 --- a/samples/Sample.Forms/Samples.iOS/Samples.iOS.csproj +++ b/samples/Sample.Forms/Samples.iOS/Samples.iOS.csproj @@ -68,7 +68,7 @@ - + diff --git a/samples/Sample.Forms/Samples/EventsPage.xaml b/samples/Sample.Forms/Samples/EventsPage.xaml index 1958eeb..7a47100 100644 --- a/samples/Sample.Forms/Samples/EventsPage.xaml +++ b/samples/Sample.Forms/Samples/EventsPage.xaml @@ -1,4 +1,4 @@ - + SignatureLineColor="#B8860B" BackgroundColor="#FAFAD2" + IsSingleLine="true"/>