diff --git a/README.md b/README.md index 473f42ec7..2feabcf01 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,42 @@ Of course, `AvatarView` also supports `Source` for loading images plus a few oth ![AvatarView](./images/avatar-do.png) +## DrawingView + +### Using DrawingView on Xamarin.Forms + +```xml + + + +``` + +### Get Image from points + +``` +var stream = DrawingView.GetImageStream( + points, + new Size(GestureImage.Width, GestureImage.Height), + 10, Color.White, Color.Black); +GestureImage.Source = ImageSource.FromStream(() => stream); +``` + +or + +``` +var stream = DrawingViewControl.GetImageStream(GestureImage.Width, GestureImage.Height); +GestureImage.Source = ImageSource.FromStream(() => stream); +``` + ## Contributions welcome! If you have one or more of these common pieces of code that you are always replicating across apps, don't hesitate to contribute! We aim to be the first NuGet package you install when creating a new Xamarin app! diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Android/MainActivity.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Android/MainActivity.cs index effbc124f..c5295d92d 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Android/MainActivity.cs +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Android/MainActivity.cs @@ -16,7 +16,6 @@ protected override void OnCreate(Bundle savedInstanceState) base.OnCreate(savedInstanceState); - global::Xamarin.Forms.Forms.SetFlags("CollectionView_Experimental"); Platform.Init(this, savedInstanceState); global::Xamarin.Forms.Forms.Init(this, savedInstanceState); LoadApplication(new App()); diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Android/Xamarin.CommunityToolkit.Sample.Android.csproj b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Android/Xamarin.CommunityToolkit.Sample.Android.csproj index 66a95231f..9d54018f0 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Android/Xamarin.CommunityToolkit.Sample.Android.csproj +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Android/Xamarin.CommunityToolkit.Sample.Android.csproj @@ -20,6 +20,7 @@ true true Xamarin.Android.Net.AndroidClientHandler + true @@ -52,10 +53,10 @@ - + - 2.1.0.714 + 2.3.0.759 @@ -106,11 +107,11 @@ - + {81AADE72-D666-4AB0-83D9-8FE366E0755E} Xamarin.CommunityToolkit.Sample - + {b0dcdf81-953d-47da-a7d4-0565339bf07c} Xamarin.CommunityToolkit diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.GTK/Xamarin.CommunityToolkit.Sample.GTK.csproj b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.GTK/Xamarin.CommunityToolkit.Sample.GTK.csproj index 451ceb22b..b1c2c58eb 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.GTK/Xamarin.CommunityToolkit.Sample.GTK.csproj +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.GTK/Xamarin.CommunityToolkit.Sample.GTK.csproj @@ -80,18 +80,21 @@ - 4.8.0.1269 + 4.8.0.1451 - 4.8.0.1269 + 4.8.0.1451 + + + 2.3.0.759 - + {81aade72-d666-4ab0-83d9-8fe366e0755e} Xamarin.CommunityToolkit.Sample - + {b0dcdf81-953d-47da-a7d4-0565339bf07c} Xamarin.CommunityToolkit diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Tizen/Xamarin.CommunityToolkit.Sample.Tizen.csproj b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Tizen/Xamarin.CommunityToolkit.Sample.Tizen.csproj index 8c60ba8bd..763474686 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Tizen/Xamarin.CommunityToolkit.Sample.Tizen.csproj +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.Tizen/Xamarin.CommunityToolkit.Sample.Tizen.csproj @@ -6,8 +6,8 @@ - - + + diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.UWP/App.xaml.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.UWP/App.xaml.cs index f8d822e46..2d6825189 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.UWP/App.xaml.cs +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.UWP/App.xaml.cs @@ -1,18 +1,8 @@ using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; using Windows.ApplicationModel; using Windows.ApplicationModel.Activation; -using Windows.Foundation; -using Windows.Foundation.Collections; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Navigation; namespace Xamarin.CommunityToolkit.Sample.UWP @@ -28,8 +18,8 @@ sealed partial class App : Application /// public App() { - this.InitializeComponent(); - this.Suspending += OnSuspending; + InitializeComponent(); + Suspending += OnSuspending; } /// @@ -42,7 +32,7 @@ protected override void OnLaunched(LaunchActivatedEventArgs e) #if DEBUG if (System.Diagnostics.Debugger.IsAttached) { - this.DebugSettings.EnableFrameRateCounter = true; + DebugSettings.EnableFrameRateCounter = true; } #endif diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.UWP/Xamarin.CommunityToolkit.Sample.UWP.csproj b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.UWP/Xamarin.CommunityToolkit.Sample.UWP.csproj index 4c470943a..bb5ff9c39 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.UWP/Xamarin.CommunityToolkit.Sample.UWP.csproj +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.UWP/Xamarin.CommunityToolkit.Sample.UWP.csproj @@ -146,16 +146,16 @@ - + - + {81aade72-d666-4ab0-83d9-8fe366e0755e} Xamarin.CommunityToolkit.Sample - + {b0dcdf81-953d-47da-a7d4-0565339bf07c} Xamarin.CommunityToolkit diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.WPF/MainWindow.xaml.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.WPF/MainWindow.xaml.cs index c5595dcb7..8df09cfbc 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.WPF/MainWindow.xaml.cs +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.WPF/MainWindow.xaml.cs @@ -1,18 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Navigation; -using System.Windows.Shapes; -using Xamarin.Forms.PancakeView.Platforms.WPF; +using Xamarin.Forms.PancakeView.Platforms.WPF; using Xamarin.Forms.Platform.WPF; namespace Xamarin.CommunityToolkit.Sample.WPF @@ -25,7 +11,7 @@ public partial class MainWindow : FormsApplicationPage public MainWindow() { InitializeComponent(); - Xamarin.Forms.Forms.Init(); + Forms.Forms.Init(); PancakeViewRenderer.Init(); LoadApplication(new Xamarin.CommunityToolkit.Sample.App()); } diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.WPF/Xamarin.CommunityToolkit.Sample.WPF.csproj b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.WPF/Xamarin.CommunityToolkit.Sample.WPF.csproj index 58a6dd6b7..a4b7b5164 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.WPF/Xamarin.CommunityToolkit.Sample.WPF.csproj +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.WPF/Xamarin.CommunityToolkit.Sample.WPF.csproj @@ -1,125 +1,125 @@  - - - Debug - AnyCPU - {C4D6CD2D-8DF4-4D46-936C-1AB31C87B5EA} - WinExe - Xamarin.CommunityToolkit.Sample.WPF - Xamarin.CommunityToolkit.Sample.WPF - v4.7.2 - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - true - 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 - - - - - - - - {81aade72-d666-4ab0-83d9-8fe366e0755e} - Xamarin.CommunityToolkit.Sample - - - {b0dcdf81-953d-47da-a7d4-0565339bf07c} - Xamarin.CommunityToolkit - - - - - 3.0.1 - - - 3.0.1 - - - 4.8.0.1269 - - - 4.8.0.1269 - - - - + + + Debug + AnyCPU + {C4D6CD2D-8DF4-4D46-936C-1AB31C87B5EA} + WinExe + Xamarin.CommunityToolkit.Sample.WPF + Xamarin.CommunityToolkit.Sample.WPF + v4.7.2 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + 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 + + + + + + + + {81aade72-d666-4ab0-83d9-8fe366e0755e} + Xamarin.CommunityToolkit.Sample + + + {b0dcdf81-953d-47da-a7d4-0565339bf07c} + Xamarin.CommunityToolkit + + + + + 3.0.1 + + + 3.0.1 + + + 4.8.0.1451 + + + 4.8.0.1451 + + + + \ No newline at end of file diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.iOS/AppDelegate.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.iOS/AppDelegate.cs index 5b3a3540c..bf5ca64ed 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.iOS/AppDelegate.cs +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.iOS/AppDelegate.cs @@ -6,8 +6,8 @@ namespace Xamarin.CommunityToolkit.Sample.iOS // The UIApplicationDelegate for the application. This class is responsible for launching the // User Interface of the application, as well as listening (and optionally responding) to // application events from iOS. - [Register("AppDelegate")] - public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate + [Register(nameof(AppDelegate))] + public class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate { // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window @@ -16,7 +16,6 @@ public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsAppli // You have 17 seconds to return from this method, or iOS will terminate your application. public override bool FinishedLaunching(UIApplication app, NSDictionary options) { - global::Xamarin.Forms.Forms.SetFlags("CollectionView_Experimental"); global::Xamarin.Forms.Forms.Init(); LoadApplication(new App()); diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.iOS/Xamarin.CommunityToolkit.Sample.iOS.csproj b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.iOS/Xamarin.CommunityToolkit.Sample.iOS.csproj index 8600735c0..840b128f0 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.iOS/Xamarin.CommunityToolkit.Sample.iOS.csproj +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample.iOS/Xamarin.CommunityToolkit.Sample.iOS.csproj @@ -139,10 +139,10 @@ - + - 2.1.0.714 + 2.3.0.759 @@ -165,11 +165,11 @@ - + {81AADE72-D666-4AB0-83D9-8FE366E0755E} Xamarin.CommunityToolkit.Sample - + {b0dcdf81-953d-47da-a7d4-0565339bf07c} Xamarin.CommunityToolkit diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample/Pages/Views/DrawingViewPage.xaml b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample/Pages/Views/DrawingViewPage.xaml new file mode 100644 index 000000000..12ee78764 --- /dev/null +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.Sample/Pages/Views/DrawingViewPage.xaml @@ -0,0 +1,67 @@ + + + + + + + + + + + public Color BackgroundColor { get; set; } = DefaultBackgroundColor; - public static Color DefaultBackgroundColor { get; set; } = Color.Default; + public static Color DefaultBackgroundColor { get; set; } = Color.White; /// /// Is Right to left diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj b/src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj index 9edabee3c..743f4518c 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj @@ -57,7 +57,7 @@ true - UWP + $(DefineConstants);UAP10_0 @@ -139,6 +139,7 @@ + @@ -201,6 +202,9 @@ ..\..\..\Libs\gtk-sharp\gtk-sharp-2.0\pango-sharp.dll False + + ..\..\..\Libs\gtk-sharp\Mono.Cairo\Mono.Cairo.dll +