diff --git a/FreshEssentials.nuspec b/FreshEssentials.nuspec index 4441f89..88229ae 100644 --- a/FreshEssentials.nuspec +++ b/FreshEssentials.nuspec @@ -62,5 +62,7 @@ Attached Properties + + \ No newline at end of file diff --git a/src/FreshEssentials.sln b/src/FreshEssentials.sln index 6f1f386..35d9faa 100644 --- a/src/FreshEssentials.sln +++ b/src/FreshEssentials.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -VisualStudioVersion = 14.0.25123.0 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreshEssentials", "FreshEssentials\FreshEssentials.csproj", "{99D84C84-D9FF-49AA-8AF0-3D7FD4E5C616}" EndProject @@ -13,6 +13,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreshEssentials.UWP", "UWP\ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Licenses", "Licenses", "{7463B33D-C1CF-4780-A10C-D34BA5F6E00B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreshEssentials.WinRT", "WinRT\FreshEssentials.WinRT.csproj", "{ACC040D3-4DAF-458B-B7E5-4A3992D2970A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -25,38 +27,6 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|ARM.ActiveCfg = Debug|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|ARM.Build.0 = Debug|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|x64.ActiveCfg = Debug|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|x64.Build.0 = Debug|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|x86.ActiveCfg = Debug|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|x86.Build.0 = Debug|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|Any CPU.Build.0 = Release|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|ARM.ActiveCfg = Release|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|ARM.Build.0 = Release|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|x64.ActiveCfg = Release|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|x64.Build.0 = Release|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|x86.ActiveCfg = Release|Any CPU - {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|x86.Build.0 = Release|Any CPU - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|Any CPU.Build.0 = Debug|Any CPU - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|ARM.ActiveCfg = Debug|ARM - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|ARM.Build.0 = Debug|ARM - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|x64.ActiveCfg = Debug|x64 - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|x64.Build.0 = Debug|x64 - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|x86.ActiveCfg = Debug|x86 - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|x86.Build.0 = Debug|x86 - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|Any CPU.ActiveCfg = Release|Any CPU - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|Any CPU.Build.0 = Release|Any CPU - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|ARM.ActiveCfg = Release|ARM - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|ARM.Build.0 = Release|ARM - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|x64.ActiveCfg = Release|x64 - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|x64.Build.0 = Release|x64 - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|x86.ActiveCfg = Release|x86 - {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|x86.Build.0 = Release|x86 {99D84C84-D9FF-49AA-8AF0-3D7FD4E5C616}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {99D84C84-D9FF-49AA-8AF0-3D7FD4E5C616}.Debug|Any CPU.Build.0 = Debug|Any CPU {99D84C84-D9FF-49AA-8AF0-3D7FD4E5C616}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -89,13 +59,59 @@ Global {BE93CF9E-D82C-40D8-A2E3-76C669BD13E8}.Release|x64.Build.0 = Release|Any CPU {BE93CF9E-D82C-40D8-A2E3-76C669BD13E8}.Release|x86.ActiveCfg = Release|Any CPU {BE93CF9E-D82C-40D8-A2E3-76C669BD13E8}.Release|x86.Build.0 = Release|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|ARM.ActiveCfg = Debug|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|ARM.Build.0 = Debug|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|x64.ActiveCfg = Debug|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|x64.Build.0 = Debug|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|x86.ActiveCfg = Debug|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Debug|x86.Build.0 = Debug|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|Any CPU.Build.0 = Release|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|ARM.ActiveCfg = Release|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|ARM.Build.0 = Release|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|x64.ActiveCfg = Release|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|x64.Build.0 = Release|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|x86.ActiveCfg = Release|Any CPU + {167E5096-F7F8-4069-9200-5AA0C350D96B}.Release|x86.Build.0 = Release|Any CPU + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|Any CPU.Build.0 = Debug|Any CPU + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|ARM.ActiveCfg = Debug|ARM + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|ARM.Build.0 = Debug|ARM + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|x64.ActiveCfg = Debug|x64 + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|x64.Build.0 = Debug|x64 + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|x86.ActiveCfg = Debug|x86 + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Debug|x86.Build.0 = Debug|x86 + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|Any CPU.ActiveCfg = Release|Any CPU + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|Any CPU.Build.0 = Release|Any CPU + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|ARM.ActiveCfg = Release|ARM + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|ARM.Build.0 = Release|ARM + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|x64.ActiveCfg = Release|x64 + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|x64.Build.0 = Release|x64 + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|x86.ActiveCfg = Release|x86 + {33C343D6-8FA2-46E1-B753-422CA1554E40}.Release|x86.Build.0 = Release|x86 + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Debug|ARM.ActiveCfg = Debug|ARM + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Debug|ARM.Build.0 = Debug|ARM + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Debug|x64.ActiveCfg = Debug|x64 + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Debug|x64.Build.0 = Debug|x64 + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Debug|x86.ActiveCfg = Debug|x86 + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Debug|x86.Build.0 = Debug|x86 + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Release|Any CPU.Build.0 = Release|Any CPU + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Release|ARM.ActiveCfg = Release|ARM + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Release|ARM.Build.0 = Release|ARM + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Release|x64.ActiveCfg = Release|x64 + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Release|x64.Build.0 = Release|x64 + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Release|x86.ActiveCfg = Release|x86 + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A}.Release|x86.Build.0 = Release|x86 EndGlobalSection - GlobalSection(NestedProjects) = preSolution + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution version = 1.1.0 EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection EndGlobal diff --git a/src/WinRT/FreshEssentials.WinRT.csproj b/src/WinRT/FreshEssentials.WinRT.csproj new file mode 100644 index 0000000..de12559 --- /dev/null +++ b/src/WinRT/FreshEssentials.WinRT.csproj @@ -0,0 +1,159 @@ + + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {ACC040D3-4DAF-458B-B7E5-4A3992D2970A} + Library + Properties + FreshEssentials.WinRT + FreshEssentials.WinRT + en-US + 8.1 + 12 + 512 + {BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_APP + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE;NETFX_CORE;WINDOWS_APP + prompt + 4 + + + true + bin\ARM\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_APP + ;2008 + full + ARM + false + prompt + true + + + bin\ARM\Release\ + TRACE;NETFX_CORE;WINDOWS_APP + true + ;2008 + pdbonly + ARM + false + prompt + true + + + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_APP + ;2008 + full + x64 + false + prompt + true + + + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_APP + true + ;2008 + pdbonly + x64 + false + prompt + true + + + true + bin\x86\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_APP + ;2008 + full + x86 + false + prompt + true + + + bin\x86\Release\ + TRACE;NETFX_CORE;WINDOWS_APP + true + ;2008 + pdbonly + x86 + false + prompt + true + + + + + {99d84c84-d9ff-49aa-8af0-3d7fd4e5c616} + FreshEssentials + + + + + + + + + ..\packages\Xamarin.Forms.2.3.0.107\lib\win81\Xamarin.Forms.Core.dll + True + + + ..\packages\Xamarin.Forms.2.3.0.107\lib\win81\Xamarin.Forms.Platform.dll + True + + + ..\packages\Xamarin.Forms.2.3.0.107\lib\win81\Xamarin.Forms.Platform.WinRT.dll + True + + + ..\packages\Xamarin.Forms.2.3.0.107\lib\win81\Xamarin.Forms.Platform.WinRT.Tablet.dll + True + + + ..\packages\Xamarin.Forms.2.3.0.107\lib\win81\Xamarin.Forms.Xaml.dll + True + + + + + + + 12.0 + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/src/WinRT/Properties/AssemblyInfo.cs b/src/WinRT/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..10f971a --- /dev/null +++ b/src/WinRT/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +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("FreshEssentials.WinRT")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("FreshEssentials.WinRT")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 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")] +[assembly: ComVisible(false)] \ No newline at end of file diff --git a/src/WinRT/Renderers/AdvancedFrameRendererWinRT.cs b/src/WinRT/Renderers/AdvancedFrameRendererWinRT.cs new file mode 100644 index 0000000..cdd6cdb --- /dev/null +++ b/src/WinRT/Renderers/AdvancedFrameRendererWinRT.cs @@ -0,0 +1,59 @@ +using FreshEssentials; +using System; +using Windows.UI.Xaml; +using Xamarin.Forms.Platform.WinRT; +using Xamarin.Forms; +using Windows.UI.Xaml.Media; +using System.ComponentModel; + +[assembly: ExportRenderer(typeof(AdvancedFrame), typeof(FreshEssentials.WinRT.AdvancedFrameRendererWinRT))] +namespace FreshEssentials.WinRT +{ + public class AdvancedFrameRendererWinRT : FrameRenderer + { + AdvancedFrame myFrame; + + protected override void OnElementChanged(ElementChangedEventArgs e) + { + base.OnElementChanged(e); + + if (e.NewElement != null) + { + myFrame = (e.NewElement as AdvancedFrame); + + int topLeft = myFrame.Corners == RoundedCorners.left || myFrame.Corners == RoundedCorners.all ? myFrame.CornerRadius : 0; + int topRight = myFrame.Corners == RoundedCorners.right || myFrame.Corners == RoundedCorners.all ? myFrame.CornerRadius : 0; + int bottomRight = myFrame.Corners == RoundedCorners.right || myFrame.Corners == RoundedCorners.all ? myFrame.CornerRadius : 0; + int bottomLeft = myFrame.Corners == RoundedCorners.left || myFrame.Corners == RoundedCorners.all ? myFrame.CornerRadius : 0; + + this.Control.CornerRadius = new CornerRadius(topLeft, topRight, bottomRight, bottomLeft); + + if (myFrame.InnerBackground != null) + this.Control.Background = new SolidColorBrush( + Windows.UI.Color.FromArgb( + (byte)Math.Round(myFrame.InnerBackground.A * 255), + (byte)Math.Round(myFrame.InnerBackground.R * 255), + (byte)Math.Round(myFrame.InnerBackground.G * 255), + (byte)Math.Round(myFrame.InnerBackground.B * 255) + )); + } + } + + protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) + { + base.OnElementPropertyChanged(sender, e); + + if (e.PropertyName == "InnerBackground" || e.PropertyName == "OutlineColor") + { + this.Control.Background = new SolidColorBrush( + Windows.UI.Color.FromArgb( + (byte)Math.Round(myFrame.InnerBackground.A * 255), + (byte)Math.Round(myFrame.InnerBackground.R * 255), + (byte)Math.Round(myFrame.InnerBackground.G * 255), + (byte)Math.Round(myFrame.InnerBackground.B * 255) + )); + } + } + + } +} \ No newline at end of file diff --git a/src/WinRT/packages.config b/src/WinRT/packages.config new file mode 100644 index 0000000..906d538 --- /dev/null +++ b/src/WinRT/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file