diff --git a/SVG/SVG.sln b/SVG/SVG.sln index 2759cf5..9c79d5c 100644 --- a/SVG/SVG.sln +++ b/SVG/SVG.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 -VisualStudioVersion = 12.0.31101.0 +VisualStudioVersion = 12.0.40629.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVG.Forms.Plugin.Abstractions", "SVG\SVG.Forms.Plugin.Abstractions\SVG.Forms.Plugin.Abstractions.csproj", "{14C534B6-1984-41A9-A384-D3A5508588E3}" EndProject @@ -24,29 +24,38 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Ad-Hoc|Android = Ad-Hoc|Android + Ad-Hoc|ARM = Ad-Hoc|ARM Ad-Hoc|iPhone = Ad-Hoc|iPhone Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator Ad-Hoc|Nuget = Ad-Hoc|Nuget Ad-Hoc|WinPhone = Ad-Hoc|WinPhone + Ad-Hoc|x86 = Ad-Hoc|x86 AppStore|Android = AppStore|Android + AppStore|ARM = AppStore|ARM AppStore|iPhone = AppStore|iPhone AppStore|iPhoneSimulator = AppStore|iPhoneSimulator AppStore|Nuget = AppStore|Nuget AppStore|WinPhone = AppStore|WinPhone + AppStore|x86 = AppStore|x86 Debug|Android = Debug|Android + Debug|ARM = Debug|ARM Debug|iPhone = Debug|iPhone Debug|iPhoneSimulator = Debug|iPhoneSimulator Debug|Nuget = Debug|Nuget Debug|WinPhone = Debug|WinPhone + Debug|x86 = Debug|x86 Release|Android = Release|Android + Release|ARM = Release|ARM Release|iPhone = Release|iPhone Release|iPhoneSimulator = Release|iPhoneSimulator Release|Nuget = Release|Nuget Release|WinPhone = Release|WinPhone + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {14C534B6-1984-41A9-A384-D3A5508588E3}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Ad-Hoc|Android.Build.0 = Release|Any CPU + {14C534B6-1984-41A9-A384-D3A5508588E3}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -55,8 +64,10 @@ Global {14C534B6-1984-41A9-A384-D3A5508588E3}.Ad-Hoc|Nuget.Build.0 = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Ad-Hoc|WinPhone.ActiveCfg = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Ad-Hoc|WinPhone.Build.0 = Release|Any CPU + {14C534B6-1984-41A9-A384-D3A5508588E3}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.AppStore|Android.ActiveCfg = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.AppStore|Android.Build.0 = Release|Any CPU + {14C534B6-1984-41A9-A384-D3A5508588E3}.AppStore|ARM.ActiveCfg = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.AppStore|iPhone.ActiveCfg = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.AppStore|iPhone.Build.0 = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -65,8 +76,10 @@ Global {14C534B6-1984-41A9-A384-D3A5508588E3}.AppStore|Nuget.Build.0 = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.AppStore|WinPhone.ActiveCfg = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.AppStore|WinPhone.Build.0 = Release|Any CPU + {14C534B6-1984-41A9-A384-D3A5508588E3}.AppStore|x86.ActiveCfg = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Debug|Android.ActiveCfg = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Debug|Android.Build.0 = Debug|Any CPU + {14C534B6-1984-41A9-A384-D3A5508588E3}.Debug|ARM.ActiveCfg = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Debug|iPhone.ActiveCfg = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Debug|iPhone.Build.0 = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU @@ -75,8 +88,10 @@ Global {14C534B6-1984-41A9-A384-D3A5508588E3}.Debug|Nuget.Build.0 = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Debug|WinPhone.ActiveCfg = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Debug|WinPhone.Build.0 = Debug|Any CPU + {14C534B6-1984-41A9-A384-D3A5508588E3}.Debug|x86.ActiveCfg = Debug|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Release|Android.ActiveCfg = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Release|Android.Build.0 = Release|Any CPU + {14C534B6-1984-41A9-A384-D3A5508588E3}.Release|ARM.ActiveCfg = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Release|iPhone.ActiveCfg = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Release|iPhone.Build.0 = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -85,8 +100,10 @@ Global {14C534B6-1984-41A9-A384-D3A5508588E3}.Release|Nuget.Build.0 = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Release|WinPhone.ActiveCfg = Release|Any CPU {14C534B6-1984-41A9-A384-D3A5508588E3}.Release|WinPhone.Build.0 = Release|Any CPU + {14C534B6-1984-41A9-A384-D3A5508588E3}.Release|x86.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Ad-Hoc|Android.Build.0 = Release|Any CPU + {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -94,8 +111,10 @@ Global {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Ad-Hoc|Nuget.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Ad-Hoc|Nuget.Build.0 = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Ad-Hoc|WinPhone.ActiveCfg = Release|Any CPU + {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.AppStore|Android.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.AppStore|Android.Build.0 = Release|Any CPU + {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.AppStore|ARM.ActiveCfg = Debug|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.AppStore|iPhone.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.AppStore|iPhone.Build.0 = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -104,7 +123,9 @@ Global {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.AppStore|Nuget.Build.0 = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.AppStore|WinPhone.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.AppStore|WinPhone.Build.0 = Release|Any CPU + {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.AppStore|x86.ActiveCfg = Debug|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Debug|Android.ActiveCfg = Debug|Any CPU + {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Debug|ARM.ActiveCfg = Debug|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Debug|iPhone.ActiveCfg = Debug|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Debug|iPhone.Build.0 = Debug|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU @@ -112,8 +133,10 @@ Global {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Debug|Nuget.ActiveCfg = Debug|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Debug|Nuget.Build.0 = Debug|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Debug|WinPhone.ActiveCfg = Debug|Any CPU + {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Debug|x86.ActiveCfg = Debug|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Release|Android.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Release|Android.Build.0 = Release|Any CPU + {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Release|ARM.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Release|iPhone.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Release|iPhone.Build.0 = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -121,8 +144,10 @@ Global {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Release|Nuget.ActiveCfg = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Release|Nuget.Build.0 = Release|Any CPU {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Release|WinPhone.ActiveCfg = Release|Any CPU + {D525F236-6A2D-4010-B1CC-4A4B8581C90B}.Release|x86.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Ad-Hoc|Android.Build.0 = Release|Any CPU + {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -130,8 +155,10 @@ Global {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Ad-Hoc|Nuget.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Ad-Hoc|Nuget.Build.0 = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Ad-Hoc|WinPhone.ActiveCfg = Release|Any CPU + {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.AppStore|Android.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.AppStore|Android.Build.0 = Release|Any CPU + {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.AppStore|ARM.ActiveCfg = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.AppStore|iPhone.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.AppStore|iPhone.Build.0 = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -140,16 +167,20 @@ Global {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.AppStore|Nuget.Build.0 = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.AppStore|WinPhone.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.AppStore|WinPhone.Build.0 = Release|Any CPU + {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.AppStore|x86.ActiveCfg = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Debug|Android.ActiveCfg = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Debug|Android.Build.0 = Debug|Any CPU + {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Debug|ARM.ActiveCfg = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Debug|iPhone.ActiveCfg = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Debug|Nuget.ActiveCfg = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Debug|Nuget.Build.0 = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Debug|WinPhone.ActiveCfg = Debug|Any CPU + {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Debug|x86.ActiveCfg = Debug|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Release|Android.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Release|Android.Build.0 = Release|Any CPU + {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Release|ARM.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Release|iPhone.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Release|iPhone.Build.0 = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -157,8 +188,11 @@ Global {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Release|Nuget.ActiveCfg = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Release|Nuget.Build.0 = Release|Any CPU {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Release|WinPhone.ActiveCfg = Release|Any CPU + {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D}.Release|x86.ActiveCfg = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|Android.Build.0 = Release|Any CPU + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|ARM.ActiveCfg = Release|ARM + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|ARM.Build.0 = Release|ARM {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -167,8 +201,12 @@ Global {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|Nuget.Build.0 = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|WinPhone.ActiveCfg = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|WinPhone.Build.0 = Release|Any CPU + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|x86.ActiveCfg = Release|x86 + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Ad-Hoc|x86.Build.0 = Release|x86 {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|Android.ActiveCfg = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|Android.Build.0 = Release|Any CPU + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|ARM.ActiveCfg = Release|ARM + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|ARM.Build.0 = Release|ARM {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|iPhone.ActiveCfg = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|iPhone.Build.0 = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -177,7 +215,11 @@ Global {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|Nuget.Build.0 = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|WinPhone.ActiveCfg = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|WinPhone.Build.0 = Release|Any CPU + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|x86.ActiveCfg = Release|x86 + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.AppStore|x86.Build.0 = Release|x86 {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|Android.ActiveCfg = Debug|Any CPU + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|ARM.ActiveCfg = Debug|ARM + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|ARM.Build.0 = Debug|ARM {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|iPhone.ActiveCfg = Debug|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU @@ -185,8 +227,12 @@ Global {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|Nuget.Build.0 = Debug|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|WinPhone.ActiveCfg = Debug|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|WinPhone.Build.0 = Debug|Any CPU + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|x86.ActiveCfg = Debug|x86 + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Debug|x86.Build.0 = Debug|x86 {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|Android.ActiveCfg = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|Android.Build.0 = Release|Any CPU + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|ARM.ActiveCfg = Release|ARM + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|ARM.Build.0 = Release|ARM {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|iPhone.ActiveCfg = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|iPhone.Build.0 = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -195,8 +241,11 @@ Global {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|Nuget.Build.0 = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|WinPhone.ActiveCfg = Release|Any CPU {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|WinPhone.Build.0 = Release|Any CPU + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|x86.ActiveCfg = Release|x86 + {983B7EFF-7E75-4A87-890A-744A0B4C5232}.Release|x86.Build.0 = Release|x86 {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Ad-Hoc|Android.Build.0 = Release|Any CPU + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -205,8 +254,10 @@ Global {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Ad-Hoc|Nuget.Build.0 = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Ad-Hoc|WinPhone.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Ad-Hoc|WinPhone.Build.0 = Release|Any CPU + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.AppStore|Android.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.AppStore|Android.Build.0 = Release|Any CPU + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.AppStore|ARM.ActiveCfg = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.AppStore|iPhone.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.AppStore|iPhone.Build.0 = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -215,8 +266,10 @@ Global {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.AppStore|Nuget.Build.0 = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.AppStore|WinPhone.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.AppStore|WinPhone.Build.0 = Release|Any CPU + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.AppStore|x86.ActiveCfg = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Debug|Android.ActiveCfg = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Debug|Android.Build.0 = Debug|Any CPU + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Debug|ARM.ActiveCfg = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Debug|iPhone.ActiveCfg = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Debug|iPhone.Build.0 = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU @@ -224,8 +277,10 @@ Global {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Debug|Nuget.ActiveCfg = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Debug|WinPhone.ActiveCfg = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Debug|WinPhone.Build.0 = Debug|Any CPU + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Debug|x86.ActiveCfg = Debug|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Release|Android.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Release|Android.Build.0 = Release|Any CPU + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Release|ARM.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Release|iPhone.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Release|iPhone.Build.0 = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU @@ -233,37 +288,47 @@ Global {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Release|Nuget.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Release|WinPhone.ActiveCfg = Release|Any CPU {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Release|WinPhone.Build.0 = Release|Any CPU + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12}.Release|x86.ActiveCfg = Release|Any CPU {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Ad-Hoc|Android.ActiveCfg = Ad-Hoc|iPhone + {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Ad-Hoc|Nuget.ActiveCfg = Ad-Hoc|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Ad-Hoc|WinPhone.ActiveCfg = Ad-Hoc|iPhone + {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.AppStore|Android.ActiveCfg = AppStore|iPhone + {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.AppStore|ARM.ActiveCfg = AppStore|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.AppStore|iPhone.ActiveCfg = AppStore|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.AppStore|iPhone.Build.0 = AppStore|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.AppStore|Nuget.ActiveCfg = AppStore|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.AppStore|WinPhone.ActiveCfg = AppStore|iPhone + {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.AppStore|x86.ActiveCfg = AppStore|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Debug|Android.ActiveCfg = Debug|iPhone + {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Debug|iPhone.ActiveCfg = Debug|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Debug|iPhone.Build.0 = Debug|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Debug|Nuget.ActiveCfg = Debug|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Debug|WinPhone.ActiveCfg = Debug|iPhone + {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Release|Android.ActiveCfg = Release|iPhone + {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Release|ARM.ActiveCfg = Release|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Release|iPhone.ActiveCfg = Release|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Release|iPhone.Build.0 = Release|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Release|Nuget.ActiveCfg = Release|iPhone {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Release|WinPhone.ActiveCfg = Release|iPhone + {63BFB494-492C-42D1-A66C-68FAED7EB5C6}.Release|x86.ActiveCfg = Release|iPhoneSimulator {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|Android.Build.0 = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|Android.Deploy.0 = Release|Any CPU + {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU @@ -274,9 +339,11 @@ Global {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|Nuget.Build.0 = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|Nuget.Deploy.0 = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|WinPhone.ActiveCfg = Release|Any CPU + {937453F4-4FEC-45C9-8964-38971D0F3726}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|Android.ActiveCfg = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|Android.Build.0 = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|Android.Deploy.0 = Release|Any CPU + {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|ARM.ActiveCfg = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|iPhone.ActiveCfg = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|iPhone.Build.0 = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|iPhone.Deploy.0 = Release|Any CPU @@ -289,18 +356,22 @@ Global {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|WinPhone.ActiveCfg = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|WinPhone.Build.0 = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|WinPhone.Deploy.0 = Release|Any CPU + {937453F4-4FEC-45C9-8964-38971D0F3726}.AppStore|x86.ActiveCfg = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|Android.ActiveCfg = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|Android.Build.0 = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|Android.Deploy.0 = Debug|Any CPU + {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|ARM.ActiveCfg = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|iPhone.ActiveCfg = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|Nuget.ActiveCfg = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|WinPhone.ActiveCfg = Debug|Any CPU + {937453F4-4FEC-45C9-8964-38971D0F3726}.Debug|x86.ActiveCfg = Debug|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|Android.ActiveCfg = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|Android.Build.0 = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|Android.Deploy.0 = Release|Any CPU + {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|ARM.ActiveCfg = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|iPhone.ActiveCfg = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|iPhone.Build.0 = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|iPhone.Deploy.0 = Release|Any CPU @@ -309,9 +380,13 @@ Global {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|Nuget.ActiveCfg = Release|Any CPU {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|WinPhone.ActiveCfg = Release|Any CPU + {937453F4-4FEC-45C9-8964-38971D0F3726}.Release|x86.ActiveCfg = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|Android.ActiveCfg = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|Android.Build.0 = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|Android.Deploy.0 = Release|Any CPU + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|ARM.ActiveCfg = Release|ARM + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|ARM.Build.0 = Release|ARM + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|ARM.Deploy.0 = Release|ARM {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU @@ -324,9 +399,15 @@ Global {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|WinPhone.ActiveCfg = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|WinPhone.Build.0 = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|WinPhone.Deploy.0 = Release|Any CPU + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|x86.ActiveCfg = Release|x86 + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|x86.Build.0 = Release|x86 + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Ad-Hoc|x86.Deploy.0 = Release|x86 {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|Android.ActiveCfg = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|Android.Build.0 = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|Android.Deploy.0 = Release|Any CPU + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|ARM.ActiveCfg = Release|ARM + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|ARM.Build.0 = Release|ARM + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|ARM.Deploy.0 = Release|ARM {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|iPhone.ActiveCfg = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|iPhone.Build.0 = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|iPhone.Deploy.0 = Release|Any CPU @@ -339,7 +420,13 @@ Global {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|WinPhone.ActiveCfg = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|WinPhone.Build.0 = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|WinPhone.Deploy.0 = Release|Any CPU + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|x86.ActiveCfg = Release|x86 + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|x86.Build.0 = Release|x86 + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.AppStore|x86.Deploy.0 = Release|x86 {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|Android.ActiveCfg = Debug|Any CPU + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|ARM.ActiveCfg = Debug|ARM + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|ARM.Build.0 = Debug|ARM + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|ARM.Deploy.0 = Debug|ARM {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|iPhone.ActiveCfg = Debug|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU @@ -348,7 +435,13 @@ Global {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|WinPhone.ActiveCfg = Debug|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|WinPhone.Build.0 = Debug|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|WinPhone.Deploy.0 = Debug|Any CPU + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|x86.ActiveCfg = Debug|x86 + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|x86.Build.0 = Debug|x86 + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Debug|x86.Deploy.0 = Debug|x86 {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|Android.ActiveCfg = Release|Any CPU + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|ARM.ActiveCfg = Release|ARM + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|ARM.Build.0 = Release|ARM + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|ARM.Deploy.0 = Release|ARM {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|iPhone.ActiveCfg = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|iPhone.Build.0 = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|iPhone.Deploy.0 = Release|Any CPU @@ -358,6 +451,9 @@ Global {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|Nuget.ActiveCfg = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|WinPhone.ActiveCfg = Release|Any CPU {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|WinPhone.Build.0 = Release|Any CPU + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|x86.ActiveCfg = Release|x86 + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|x86.Build.0 = Release|x86 + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA}.Release|x86.Deploy.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/SVG/SVG/SVG.Forms.Plugin.Abstractions/ColorPair.cs b/SVG/SVG/SVG.Forms.Plugin.Abstractions/ColorPair.cs new file mode 100644 index 0000000..4db4b9e --- /dev/null +++ b/SVG/SVG/SVG.Forms.Plugin.Abstractions/ColorPair.cs @@ -0,0 +1,27 @@ +using Xamarin.Forms; +using System.Collections.ObjectModel; + +namespace SVG.Forms.Plugin.Abstractions +{ + public class ColorPairs : ObservableCollection + { + + } + + public class ColorPair + { + public Color OldColor { get; set; } + public Color NewColor { get; set; } + + public ColorPair( Color in_OldColor, Color in_NewColor ) : this( ) + { + OldColor = in_OldColor; + NewColor = in_NewColor; + } + + public ColorPair( ) + { + + } + } +} diff --git a/SVG/SVG/SVG.Forms.Plugin.Abstractions/ISvgImageRenderer.cs b/SVG/SVG/SVG.Forms.Plugin.Abstractions/ISvgImageRenderer.cs new file mode 100644 index 0000000..da2bd59 --- /dev/null +++ b/SVG/SVG/SVG.Forms.Plugin.Abstractions/ISvgImageRenderer.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SVG.Forms.Plugin.Abstractions +{ + public interface ISvgImageRenderer + { + void Render( ); + } +} diff --git a/SVG/SVG/SVG.Forms.Plugin.Abstractions/SVG.Forms.Plugin.Abstractions.csproj b/SVG/SVG/SVG.Forms.Plugin.Abstractions/SVG.Forms.Plugin.Abstractions.csproj index 9516a8a..714c65e 100644 --- a/SVG/SVG/SVG.Forms.Plugin.Abstractions/SVG.Forms.Plugin.Abstractions.csproj +++ b/SVG/SVG/SVG.Forms.Plugin.Abstractions/SVG.Forms.Plugin.Abstractions.csproj @@ -1,75 +1,80 @@ - - - - - 10.0 - Debug - AnyCPU - {14C534B6-1984-41A9-A384-D3A5508588E3} - Library - Properties - SVG.Forms.Plugin.Abstractions - SVG.Forms.Plugin.Abstractions - en-US - 512 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Profile78 - v4.5 - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - bin\Release\SVG.Forms.Plugin.Abstractions.XML - - - - - - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Core.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Platform.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Xaml.dll - True - - - - - - - - - - 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}. - - - + + + + + 10.0 + Debug + AnyCPU + {14C534B6-1984-41A9-A384-D3A5508588E3} + Library + Properties + SVG.Forms.Plugin.Abstractions + SVG.Forms.Plugin.Abstractions + en-US + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Profile78 + v4.5 + 32acdf3c + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + bin\Release\SVG.Forms.Plugin.Abstractions.XML + + + + + + + + + + + ext_bin\NGraphics.Custom.dll + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Core.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Platform.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Xaml.dll + True + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable 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/SVG/SVG/SVG.Forms.Plugin.Abstractions/SvgImage.cs b/SVG/SVG/SVG.Forms.Plugin.Abstractions/SvgImage.cs index 52434b4..28b262d 100644 --- a/SVG/SVG/SVG.Forms.Plugin.Abstractions/SvgImage.cs +++ b/SVG/SVG/SVG.Forms.Plugin.Abstractions/SvgImage.cs @@ -1,38 +1,109 @@ using System.Reflection; -using Xamarin.Forms; +using Xamarin.Forms; namespace SVG.Forms.Plugin.Abstractions { - public class SvgImage : Image - { - /// - /// The path to the svg file - /// - public static readonly BindableProperty SvgPathProperty = - BindableProperty.Create("SvgPath", typeof(string), typeof(SvgImage), default(string)); + public class SvgImage : Image + { + private bool _IsTemplateLoaded = false; + + #region Properties + /// + /// The path to the svg file + /// + public static readonly BindableProperty SvgPathProperty = BindableProperty.Create("SvgPath", typeof(string), typeof(SvgImage), default(string)); - /// - /// The path to the svg file - /// - public string SvgPath - { - get { return (string)GetValue(SvgPathProperty); } - set { SetValue(SvgPathProperty, value); } - } + /// + /// The path to the svg file + /// + public string SvgPath + { + get { return (string)GetValue(SvgPathProperty); } + set { SetValue(SvgPathProperty, value); } + } - /// - /// The assembly containing the svg file - /// - public static readonly BindableProperty SvgAssemblyProperty = - BindableProperty.Create("SvgAssembly", typeof(Assembly), typeof(SvgImage), default(Assembly)); + /// + /// The assembly containing the svg file + /// + public static readonly BindableProperty SvgAssemblyProperty = BindableProperty.Create("SvgAssembly", typeof(Assembly), typeof(SvgImage), default(Assembly)); - /// - /// The assembly containing the svg file - /// - public Assembly SvgAssembly - { - get { return (Assembly)GetValue(SvgAssemblyProperty); } - set { SetValue(SvgAssemblyProperty, value); } - } + /// + /// The assembly containing the svg file + /// + public Assembly SvgAssembly + { + get { return (Assembly)GetValue(SvgAssemblyProperty); } + set { SetValue(SvgAssemblyProperty, value); } + } + + /// + /// Colors to replace upon render. + /// + public static readonly BindableProperty ReplacementColorsProperty = BindableProperty.Create(w => w.ReplacementColors, null, BindingMode.Default, null, OnReplacementColorsPropertyChanged, null, null, null); + /// + /// Colors to replace upon render. + /// + public ColorPairs ReplacementColors + { + get { return (ColorPairs)GetValue(ReplacementColorsProperty); } + set { SetValue(ReplacementColorsProperty, value); } + } + #endregion + + #region Startup + public SvgImage( ) : base( ) + { + if( ReplacementColors == null ) + ReplacementColors = new ColorPairs( ); + + ApplyTemplate( ); + } + + private void ApplyTemplate( ) + { + _IsTemplateLoaded = true; + OnReplacementColorsChanged( ); + } + #endregion + + #region Property Changes + private static void OnReplacementColorsPropertyChanged( BindableObject d, ColorPairs in_OldValue, ColorPairs in_NewValue ) + { + SvgImage element = d as SvgImage; + + if( element == null ) + return; + + if( in_OldValue != null ) + in_OldValue.CollectionChanged -= element.ColorPairs_CollectionChanged; + + if( in_NewValue != null ) + { + in_NewValue.CollectionChanged -= element.ColorPairs_CollectionChanged; + in_NewValue.CollectionChanged += element.ColorPairs_CollectionChanged; + } + + if( in_NewValue == in_OldValue ) + return; + + element.OnReplacementColorsChanged( ); + } + + private void ColorPairs_CollectionChanged( object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e ) + { + // inefficient for now, should go by whats added and what is not --bwc + OnReplacementColorsChanged( ); + } + + private void OnReplacementColorsChanged( ) + { + if( !_IsTemplateLoaded ) + return; + + //ISvgImageRenderer renderer = RendererFactory.GetRenderer(this) as ISvgImageRenderer; + //if( renderer != null ) + // renderer.Render( ); + } + #endregion } } \ No newline at end of file diff --git a/SVG/SVG/SVG.Forms.Plugin.Abstractions/SvgImageRendererExtensions.cs b/SVG/SVG/SVG.Forms.Plugin.Abstractions/SvgImageRendererExtensions.cs new file mode 100644 index 0000000..d1ac453 --- /dev/null +++ b/SVG/SVG/SVG.Forms.Plugin.Abstractions/SvgImageRendererExtensions.cs @@ -0,0 +1,86 @@ +using NGraphics.Parsers; +using System; +using System.Collections.Generic; +using System.Linq; +using NGraphics; +using NGraphics.Models.Brushes; +using NGraphics.Interfaces; +using NGraphics.Models.Elements; + +namespace SVG.Forms.Plugin.Abstractions +{ + public static class SvgImageRendererExtensions + { + public static void ReplaceColors( this ISvgImageRenderer This, Graphic in_Graphic, IEnumerable in_Colors ) + { + if( (in_Colors == null) || (in_Graphic == null) ) + return; + + if( in_Colors.Count() == 0 ) + return; + + if( in_Graphic != null ) + { + foreach( NGraphics.Interfaces.IDrawable it in in_Graphic.Children ) + { + if( it is NGraphics.Models.Elements.Path ) + ReplaceColor(it as Path, in_Colors); + else if( it is NGraphics.Models.Elements.Group ) + ReplaceColor(it as Group, in_Colors); + } + } + } + + private static void ReplaceColor( Group in_Group, IEnumerable in_Colors ) + { + if( in_Group.Brush != null ) + ReplaceColor(in_Group.Brush, in_Colors); + + if( in_Group.Children.Count() == 0 ) + return; + + foreach( NGraphics.Interfaces.IDrawable it in in_Group.Children ) + { + if( it is Group ) + ReplaceColor(it as Group, in_Colors); + else if( it is Path ) + ReplaceColor((it as Path), in_Colors); + } + } + + private static void ReplaceColor( Path in_Path, IEnumerable in_Colors ) + { + if( (in_Path == null) || (in_Colors == null) ) + return; + + ReplaceColor(in_Path.Brush, in_Colors); + } + + private static void ReplaceColor( BaseBrush in_Brush, IEnumerable in_Colors ) + { + if( (in_Brush == null) || (in_Colors == null) ) + return; + + if( in_Colors.Count( ) == 0 ) + return; + + if( in_Brush is NGraphics.Models.Brushes.GradientBrush ) + { + GradientBrush typedBrush = in_Brush as GradientBrush; + foreach( GradientStop stop in typedBrush.Stops ) + { + ColorPair pair = in_Colors.FirstOrDefault(x => (stop.Color.Red == x.OldColor.R) && (stop.Color.Green == x.OldColor.G) && (stop.Color.Blue == x.OldColor.B) && (stop.Color.Alpha == x.OldColor.A)); + if( pair != null ) + stop.Color = new NGraphics.Models.Color(pair.NewColor.R, pair.NewColor.G, pair.NewColor.B, pair.NewColor.A); + } + } + else if( in_Brush is NGraphics.Models.Brushes.SolidBrush ) + { + SolidBrush typedBrush = in_Brush as SolidBrush; + ColorPair pair = in_Colors.FirstOrDefault(x => (typedBrush.Color.Red == x.OldColor.R) && (typedBrush.Color.Green == x.OldColor.G) && (typedBrush.Color.Blue == x.OldColor.B) && (typedBrush.Color.Alpha == x.OldColor.A)); + if( pair != null ) + typedBrush.Color = new NGraphics.Models.Color(pair.NewColor.R, pair.NewColor.G, pair.NewColor.B, pair.NewColor.A); + } + } + } +} diff --git a/SVG/SVG/SVG.Forms.Plugin.Abstractions/ext_bin/NGraphics.Custom.dll b/SVG/SVG/SVG.Forms.Plugin.Abstractions/ext_bin/NGraphics.Custom.dll new file mode 100644 index 0000000..7949ebe Binary files /dev/null and b/SVG/SVG/SVG.Forms.Plugin.Abstractions/ext_bin/NGraphics.Custom.dll differ diff --git a/SVG/SVG/SVG.Forms.Plugin.Abstractions/packages.config b/SVG/SVG/SVG.Forms.Plugin.Abstractions/packages.config index 5db09b6..72af26a 100644 --- a/SVG/SVG/SVG.Forms.Plugin.Abstractions/packages.config +++ b/SVG/SVG/SVG.Forms.Plugin.Abstractions/packages.config @@ -1,4 +1,4 @@ - - - + + + \ No newline at end of file diff --git a/SVG/SVG/SVG.Forms.Plugin.Android/SVG.Forms.Plugin.Android.csproj b/SVG/SVG/SVG.Forms.Plugin.Android/SVG.Forms.Plugin.Android.csproj index a95dc82..f251356 100644 --- a/SVG/SVG/SVG.Forms.Plugin.Android/SVG.Forms.Plugin.Android.csproj +++ b/SVG/SVG/SVG.Forms.Plugin.Android/SVG.Forms.Plugin.Android.csproj @@ -14,9 +14,8 @@ Off True True - - - v5.0 + 881002e2 + v5.1 true @@ -39,8 +38,8 @@ false - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\MonoAndroid10\FormsViewGroup.dll + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\MonoAndroid10\FormsViewGroup.dll True @@ -59,24 +58,24 @@ - - ..\..\packages\Xamarin.Android.Support.v4.22.2.1.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll + + ..\..\packages\Xamarin.Android.Support.v4.23.0.0.0-rc1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll True - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\MonoAndroid10\Xamarin.Forms.Core.dll + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\MonoAndroid10\Xamarin.Forms.Core.dll True - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\MonoAndroid10\Xamarin.Forms.Platform.dll + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\MonoAndroid10\Xamarin.Forms.Platform.dll True - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll True - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll True @@ -106,11 +105,11 @@ --> - + - 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}. + This project references NuGet package(s) that are missing on this computer. Enable 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/SVG/SVG/SVG.Forms.Plugin.Android/SvgImageRenderer.cs b/SVG/SVG/SVG.Forms.Plugin.Android/SvgImageRenderer.cs index d9b6989..e8b5e09 100644 --- a/SVG/SVG/SVG.Forms.Plugin.Android/SvgImageRenderer.cs +++ b/SVG/SVG/SVG.Forms.Plugin.Android/SvgImageRenderer.cs @@ -8,13 +8,17 @@ using System.Threading.Tasks; using Android.Runtime; using NGraphics; -using NGraphics.Parsers; +using NGraphics.Parsers; +using NGraphics.Models.Brushes; +using System.Linq; +using Android.Widget; +using System.Collections.ObjectModel; [assembly: ExportRenderer (typeof(SvgImage), typeof(SvgImageRenderer))] namespace SVG.Forms.Plugin.Droid { - [Preserve(AllMembers = true)] - public class SvgImageRenderer : ViewRenderer + [Preserve(AllMembers = true)] + public class SvgImageRenderer : ViewRenderer, ISvgImageRenderer { public static void Init () { @@ -25,61 +29,61 @@ private SvgImage _formsControl { get { return Element as SvgImage; } - } + } + + public async void Render( ) + { + //added check because both *may* not be set at the same time, this negates the error throwing unfortuantely. --bwc + if( String.IsNullOrEmpty(Element.SvgPath) || (Element.SvgAssembly == null) ) + return; + + if( _formsControl != null ) + { + await Task.Run(async ( ) => + { + Stream svgStream = _formsControl.SvgAssembly.GetManifestResourceStream(_formsControl.SvgPath); + + if( svgStream == null ) + throw new Exception(string.Format("Error retrieving {0} make sure Build Action is Embedded Resource", _formsControl.SvgPath)); + + SvgReader r = new SvgReader(new StreamReader(svgStream), new StylesParser(new ValuesParser( )), new ValuesParser( )); + + this.ReplaceColors(r.Graphic, Element.ReplacementColors); + + Graphic graphics = r.Graphic; + int width = PixelToDP((int)_formsControl.WidthRequest <= 0 ? 100 : (int)_formsControl.WidthRequest); + int height = PixelToDP((int)_formsControl.HeightRequest <= 0 ? 100 : (int)_formsControl.HeightRequest); + double scale = 1.0; + + if( height >= width ) + scale = height / graphics.Size.Height; + else + scale = width / graphics.Size.Width; + + IImageCanvas canvas = new AndroidPlatform( ).CreateImageCanvas(graphics.Size, scale); + + graphics.Draw(canvas); + BitmapImage image = (BitmapImage)canvas.GetImage( ); + + + return image; + }).ContinueWith(taskResult => + { + Device.BeginInvokeOnMainThread(( ) => + { + var imageView = new ImageView(Context); + imageView.SetScaleType(ImageView.ScaleType.FitXy); + imageView.SetImageBitmap(taskResult.Result.Bitmap); + SetNativeControl(imageView); + }); + }); + } + } protected override async void OnElementChanged (ElementChangedEventArgs e) { - base.OnElementChanged (e); - - if (_formsControl != null) - { - await Task.Run(async () => - { - var svgStream = _formsControl.SvgAssembly.GetManifestResourceStream(_formsControl.SvgPath); - - if (svgStream == null) - { - throw new Exception(string.Format("Error retrieving {0} make sure Build Action is Embedded Resource", - _formsControl.SvgPath)); - } - - var r = new SvgReader(new StreamReader(svgStream), new StylesParser(new ValuesParser()), new ValuesParser()); - - var graphics = r.Graphic; - - var width = PixelToDP((int)_formsControl.WidthRequest <= 0 ? 100 : (int)_formsControl.WidthRequest); - var height = PixelToDP((int)_formsControl.HeightRequest <= 0 ? 100 : (int)_formsControl.HeightRequest); - - var scale = 1.0; - - if (height >= width) - { - scale = height / graphics.Size.Height; - } - else - { - scale = width / graphics.Size.Width; - } - - var canvas = new AndroidPlatform().CreateImageCanvas(graphics.Size, scale); - graphics.Draw(canvas); - var image = (BitmapImage)canvas.GetImage(); - - return image; - }).ContinueWith(taskResult => - { - Device.BeginInvokeOnMainThread(() => - { - var imageView = new ImageView(Context); - - imageView.SetScaleType(ImageView.ScaleType.FitXy); - imageView.SetImageBitmap(taskResult.Result.Bitmap); - - SetNativeControl(imageView); - }); - - }); - } + base.OnElementChanged (e); + Render( ); } public override SizeRequest GetDesiredSize (int widthConstraint, int heightConstraint) diff --git a/SVG/SVG/SVG.Forms.Plugin.Android/packages.config b/SVG/SVG/SVG.Forms.Plugin.Android/packages.config index 6d5349f..ef12b3f 100644 --- a/SVG/SVG/SVG.Forms.Plugin.Android/packages.config +++ b/SVG/SVG/SVG.Forms.Plugin.Android/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SVG.Forms.Plugin.WindowsPhone.csproj b/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SVG.Forms.Plugin.WindowsPhone.csproj index 31200af..3585245 100644 --- a/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SVG.Forms.Plugin.WindowsPhone.csproj +++ b/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SVG.Forms.Plugin.WindowsPhone.csproj @@ -1,146 +1,146 @@ - - - - Debug - AnyCPU - {983B7EFF-7E75-4A87-890A-744A0B4C5232} - {C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} - Library - Properties - SVG.Forms.Plugin.WindowsPhone - SVG.Forms.Plugin.WindowsPhone - WindowsPhone - v8.0 - $(TargetFrameworkVersion) - false - true - 11.0 - true - - - - - true - full - false - Bin\Debug - DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - pdbonly - true - Bin\Release - TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - bin\Release\SVG.Forms.Plugin.WindowsPhone.XML - - - true - full - false - Bin\x86\Debug - DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - pdbonly - true - Bin\x86\Release - TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - true - full - false - Bin\ARM\Debug - DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - pdbonly - true - Bin\ARM\Release - TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - - - - - - - - - - - - - - False - ..\..\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\WP80\Xamarin.Forms.Core.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\WP80\Xamarin.Forms.Platform.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\WP80\Xamarin.Forms.Platform.WP8.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\WP80\Xamarin.Forms.Xaml.dll - True - - - - - - - - {14c534b6-1984-41a9-a384-d3a5508588e3} - SVG.Forms.Plugin.Abstractions - - - - - - - - - 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}. - - - + + + + Debug + AnyCPU + {983B7EFF-7E75-4A87-890A-744A0B4C5232} + {C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + SVG.Forms.Plugin.WindowsPhone + SVG.Forms.Plugin.WindowsPhone + WindowsPhone + v8.0 + $(TargetFrameworkVersion) + false + true + 11.0 + true + 2fe758f5 + + + true + full + false + Bin\Debug + DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + pdbonly + true + Bin\Release + TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + bin\Release\SVG.Forms.Plugin.WindowsPhone.XML + + + true + full + false + Bin\x86\Debug + DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + pdbonly + true + Bin\x86\Release + TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + true + full + false + Bin\ARM\Debug + DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + pdbonly + true + Bin\ARM\Release + TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + + + + + + + + + + + + + + + False + ..\..\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\WP80\Xamarin.Forms.Core.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\WP80\Xamarin.Forms.Platform.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\WP80\Xamarin.Forms.Platform.WP8.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\WP80\Xamarin.Forms.Xaml.dll + True + + + + + + + + {14c534b6-1984-41a9-a384-d3a5508588e3} + SVG.Forms.Plugin.Abstractions + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable 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/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SvgImageRenderer.cs b/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SvgImageRenderer.cs index 1311c6f..32b5277 100644 --- a/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SvgImageRenderer.cs +++ b/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SvgImageRenderer.cs @@ -1,86 +1,96 @@ -using System; -using System.IO; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Markup; -using System.Windows.Media; -using SVG.Forms.Plugin.Abstractions; -using Xamarin.Forms; -using SVG.Forms.Plugin.WindowsPhone; -using Xamarin.Forms.Platform.WinPhone; - -[assembly: ExportRenderer(typeof(SvgImage), typeof(SvgImageRenderer))] - -namespace SVG.Forms.Plugin.WindowsPhone -{ - /// - /// SVG Renderer - /// - public class SvgImageRenderer : ViewRenderer - { - /// - /// Used for registration with dependency service - /// - public static void Init() - { - var temp = DateTime.Now; - } - - private SvgImage _formsControl - { - get { return Element as SvgImage; } - } - - protected override void OnElementChanged(ElementChangedEventArgs e) - { - base.OnElementChanged(e); - - if (_formsControl != null && !string.IsNullOrWhiteSpace(_formsControl.SvgPath)) - { - var xamlFilePath = _formsControl.SvgPath.Replace(".svg", ".xaml"); - var xamlStream = _formsControl.SvgAssembly.GetManifestResourceStream(xamlFilePath); - - if (xamlStream == null) - throw new Exception( - string.Format( - "Not able to retrieve xaml file {0}. Make sure the Build Action is set to Embedded Resource", - xamlFilePath)); - - using (var reader = new StreamReader(xamlStream)) - { - var xamlString = reader.ReadToEnd(); - - try - { - var xaml = (Viewbox)XamlReader.Load(xamlString); - - switch (_formsControl.Aspect) - { - case Aspect.AspectFill: - xaml.Stretch = Stretch.UniformToFill; - break; - case Aspect.AspectFit: - xaml.Stretch = Stretch.Uniform; - break; - case Aspect.Fill: - xaml.Stretch = Stretch.Fill; - break; - default: - xaml.Stretch = Stretch.None; - break; - } - - SetNativeControl(xaml); - } - catch (Exception) - { - throw new Exception( - string.Format( - "Not able to convert xaml file {0} to Viewbox. Make sure the root element of the xaml file is a Viewbox", - xamlFilePath)); - } - } - } - } - } +using System; +//using System.IO; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Markup; +using System.Windows.Media; +using SVG.Forms.Plugin.Abstractions; +using Xamarin.Forms; +using SVG.Forms.Plugin.WindowsPhone; +using Xamarin.Forms.Platform.WinPhone; +using System.Collections.Generic; +using System.Windows.Shapes; +using System.Linq; + +[assembly: ExportRenderer(typeof(SvgImage), typeof(SvgImageRenderer))] +namespace SVG.Forms.Plugin.WindowsPhone +{ + /// + /// SVG Renderer + /// + public class SvgImageRenderer : ViewRenderer, ISvgImageRenderer + { + /// + /// Used for registration with dependency service + /// + public static void Init() + { + var temp = DateTime.Now; + } + + private SvgImage _formsControl + { + get { return Element as SvgImage; } + } + + public async void Render( ) + { + if( _formsControl != null && !string.IsNullOrWhiteSpace(_formsControl.SvgPath) ) + { + var xamlFilePath = _formsControl.SvgPath.Replace(".svg", ".xaml"); + var xamlStream = _formsControl.SvgAssembly.GetManifestResourceStream(xamlFilePath); + + if( xamlStream == null ) + throw new Exception( + string.Format( + "Not able to retrieve xaml file {0}. Make sure the Build Action is set to Embedded Resource", + xamlFilePath)); + + using( var reader = new System.IO.StreamReader(xamlStream) ) + { + var xamlString = reader.ReadToEnd( ); + + try + { + Viewbox xaml = (Viewbox)XamlReader.Load(xamlString); + if( Element.ReplacementColors != null ) + { + if( Element.ReplacementColors.Count > 0 ) + SvgImageRendererExtensions.ReplaceColors(xaml, Element.ReplacementColors); + } + switch( _formsControl.Aspect ) + { + case Aspect.AspectFill: + xaml.Stretch = Stretch.UniformToFill; + break; + case Aspect.AspectFit: + xaml.Stretch = Stretch.Uniform; + break; + case Aspect.Fill: + xaml.Stretch = Stretch.Fill; + break; + default: + xaml.Stretch = Stretch.None; + break; + } + + SetNativeControl(xaml); + } + catch( Exception ) + { + throw new Exception( + string.Format( + "Not able to convert xaml file {0} to Viewbox. Make sure the root element of the xaml file is a Viewbox", + xamlFilePath)); + } + } + } + } + + protected override void OnElementChanged(ElementChangedEventArgs e) + { + base.OnElementChanged(e); + Render( ); + } + } } \ No newline at end of file diff --git a/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SvgImageRendererExtensions.cs b/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SvgImageRendererExtensions.cs new file mode 100644 index 0000000..78ff81b --- /dev/null +++ b/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/SvgImageRendererExtensions.cs @@ -0,0 +1,110 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Media; +using SVG.Forms.Plugin.Abstractions; +using System.Windows.Shapes; +using System.Windows.Controls; +using System.Windows; + +namespace SVG.Forms.Plugin.WindowsPhone +{ + public static class SvgImageRendererExtensions + { + // Cant get extension working? Still not needed, just wanted to keep in line with other code. --bwc + //public static List ReplaceColors(this ISvgImageRenderer This, Viewbox in_View, IEnumerable in_Colors ) + public static List ReplaceColors( Viewbox in_View, IEnumerable in_Colors ) + { + List ret = new List( ); + + FillList(in_View.Child, ret); + + foreach( Path it in ret ) + { + ReplaceColor(it.Fill, in_Colors); + ReplaceColor(it.Stroke, in_Colors); + } + + return ret; + } + + public static void ReplaceColor( Brush in_Brush, IEnumerable in_Colors ) + { + if( (in_Brush == null) || (in_Colors == null) ) + return; + + if( in_Brush is SolidColorBrush ) + { + SolidColorBrush brush = in_Brush as SolidColorBrush; + double R = Convert.ToDouble(brush.Color.R / 255.0); + double G = Convert.ToDouble(brush.Color.G / 255.0); + double B = Convert.ToDouble(brush.Color.B / 255.0); + double A = Convert.ToDouble(brush.Color.A / 255.0); + ColorPair pair = in_Colors.FirstOrDefault(x => (R == x.OldColor.R) && (G == x.OldColor.G) && (B == x.OldColor.B) && (A == x.OldColor.A)); + + if( pair != null ) + brush.Color = new System.Windows.Media.Color( ) { R=Convert.ToByte(pair.NewColor.R * 255), G=Convert.ToByte(pair.NewColor.G * 255), B=Convert.ToByte(pair.NewColor.B * 255), A=Convert.ToByte(pair.NewColor.A * 255) }; + } + else if( in_Brush is RadialGradientBrush ) + { + RadialGradientBrush brush = in_Brush as RadialGradientBrush; + + foreach( GradientStop stop in brush.GradientStops ) + { + ReplaceColor(stop, in_Colors); + } + } + else if( in_Brush is LinearGradientBrush ) + { + LinearGradientBrush brush = in_Brush as LinearGradientBrush; + foreach( GradientStop stop in brush.GradientStops ) + { + ReplaceColor(stop, in_Colors); + } + } + } + + public static void ReplaceColor( GradientStop in_Stop, IEnumerable in_Colors ) + { + if( (in_Stop == null) || (in_Colors == null) ) + return; + + if( in_Colors.Count( ) == 0 ) + return; + + double R = Convert.ToDouble(in_Stop.Color.R / 255.0); + double G = Convert.ToDouble(in_Stop.Color.G / 255.0); + double B = Convert.ToDouble(in_Stop.Color.B / 255.0); + double A = Convert.ToDouble(in_Stop.Color.A / 255.0); + ColorPair pair = in_Colors.FirstOrDefault(x => (R == x.OldColor.R) && (G == x.OldColor.G) && (B == x.OldColor.B) && (A == x.OldColor.A)); + + if( pair != null ) + in_Stop.Color = new System.Windows.Media.Color( ) { R=Convert.ToByte(pair.NewColor.R * 255), G=Convert.ToByte(pair.NewColor.G * 255), B=Convert.ToByte(pair.NewColor.B * 255), A=Convert.ToByte(pair.NewColor.A * 255) }; + } + + public static void FillList( UIElement in_Element, List out_List ) + { + if( in_Element == null ) + return; + + if( in_Element is Path ) + out_List.Add(in_Element as Path); + + if( in_Element is Panel ) + { + foreach( UIElement it in (in_Element as Panel).Children ) + { + FillList(it, out_List); + } + } + else if( in_Element is Border ) + { + FillList((in_Element as Border).Child, out_List); + } + else if( in_Element is ContentControl ) + { + FillList((in_Element as ContentControl).Content as UIElement, out_List); + } + } + } +} diff --git a/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/packages.config b/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/packages.config index 76aa99d..46aad2a 100644 --- a/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/packages.config +++ b/SVG/SVG/SVG.Forms.Plugin.WindowsPhone/packages.config @@ -1,5 +1,5 @@ - - - - + + + + \ No newline at end of file diff --git a/SVG/SVG/SVG.Forms.Plugin.iOS/SVG.Forms.Plugin.iOS.csproj b/SVG/SVG/SVG.Forms.Plugin.iOS/SVG.Forms.Plugin.iOS.csproj index f5cefd4..fc44cf4 100644 --- a/SVG/SVG/SVG.Forms.Plugin.iOS/SVG.Forms.Plugin.iOS.csproj +++ b/SVG/SVG/SVG.Forms.Plugin.iOS/SVG.Forms.Plugin.iOS.csproj @@ -1,91 +1,90 @@ - - - - Debug - AnyCPU - {D525F236-6A2D-4010-B1CC-4A4B8581C90B} - {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - SVG.Forms.Plugin.iOS - Resources - SVG.Forms.Plugin.iOS - - - Xamarin.iOS - - - true - full - false - bin\iPhone\Debug - DEBUG - prompt - 4 - false - true - iPhone Developer - - - none - true - bin\iPhone\Release - prompt - 4 - false - iPhone Developer - bin\iPhone\Release\SVG.Forms.Plugin.iOS.XML - - - - - - - - ext_bin\NGraphics.Custom.dll - - - ext_bin\NGraphics.iOS.Custom.dll - - - - - - - - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll - True - - - - - - {14C534B6-1984-41A9-A384-D3A5508588E3} - SVG.Forms.Plugin.Abstractions - - - - - - - - - - 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}. - - - + + + + Debug + AnyCPU + {D525F236-6A2D-4010-B1CC-4A4B8581C90B} + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + SVG.Forms.Plugin.iOS + Resources + SVG.Forms.Plugin.iOS + 0d14b5ee + Xamarin.iOS + + + true + full + false + bin\iPhone\Debug + DEBUG + prompt + 4 + false + true + iPhone Developer + + + none + true + bin\iPhone\Release + prompt + 4 + false + iPhone Developer + bin\iPhone\Release\SVG.Forms.Plugin.iOS.XML + + + + + + + + ext_bin\NGraphics.Custom.dll + + + ext_bin\NGraphics.iOS.Custom.dll + + + + + + + + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll + True + + + + + + {14C534B6-1984-41A9-A384-D3A5508588E3} + SVG.Forms.Plugin.Abstractions + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable 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/SVG/SVG/SVG.Forms.Plugin.iOS/SvgImageRenderer.cs b/SVG/SVG/SVG.Forms.Plugin.iOS/SvgImageRenderer.cs index afa4f4d..bb3d3f1 100644 --- a/SVG/SVG/SVG.Forms.Plugin.iOS/SvgImageRenderer.cs +++ b/SVG/SVG/SVG.Forms.Plugin.iOS/SvgImageRenderer.cs @@ -16,8 +16,8 @@ namespace SVG.Forms.Plugin.iOS /// /// SVG Renderer /// - [Preserve(AllMembers = true)] - public class SvgImageRenderer : ImageRenderer + [Preserve(AllMembers = true)] + public class SvgImageRenderer : ImageRenderer, ISvgImageRenderer { /// /// Used for registration with dependency service @@ -30,49 +30,55 @@ public static void Init() private SvgImage _formsControl { get { return Element as SvgImage; } + } + + + public async void Render( ) + { + if( _formsControl != null ) + { + var svgStream = _formsControl.SvgAssembly.GetManifestResourceStream(_formsControl.SvgPath); + + if( svgStream == null ) + { + throw new Exception(string.Format("Error retrieving {0} make sure Build Action is Embedded Resource", + _formsControl.SvgPath)); + } + + var r = new SvgReader(new StreamReader(svgStream), new StylesParser(new ValuesParser( )), new ValuesParser( )); + this.ReplaceColors(r.Graphic, _formsControl.ReplacementColors); + + var graphics = r.Graphic; + + var width = _formsControl.WidthRequest <= 0 ? 100 : _formsControl.WidthRequest; + var height = _formsControl.HeightRequest <= 0 ? 100 : _formsControl.HeightRequest; + + var scale = 1.0; + + if( height >= width ) + { + scale = height/graphics.Size.Height; + } + else + { + scale = width/graphics.Size.Width; + } + + var scaleFactor = UIScreen.MainScreen.Scale; + + var canvas = new ApplePlatform( ).CreateImageCanvas(graphics.Size, scale*scaleFactor); + graphics.Draw(canvas); + var image = canvas.GetImage( ); + + var uiImage = image.GetUIImage( ); + Control.Image = uiImage; + } } protected override void OnElementChanged(ElementChangedEventArgs e) { - base.OnElementChanged(e); - - if (_formsControl != null) - { - var svgStream = _formsControl.SvgAssembly.GetManifestResourceStream(_formsControl.SvgPath); - - if (svgStream == null) - { - throw new Exception(string.Format("Error retrieving {0} make sure Build Action is Embedded Resource", - _formsControl.SvgPath)); - } - - var r = new SvgReader(new StreamReader(svgStream), new StylesParser(new ValuesParser()), new ValuesParser()); - - var graphics = r.Graphic; - - var width = _formsControl.WidthRequest <= 0 ? 100 : _formsControl.WidthRequest; - var height = _formsControl.HeightRequest <= 0 ? 100 : _formsControl.HeightRequest; - - var scale = 1.0; - - if (height >= width) - { - scale = height/graphics.Size.Height; - } - else - { - scale = width/graphics.Size.Width; - } - - var scaleFactor = UIScreen.MainScreen.Scale; - - var canvas = new ApplePlatform().CreateImageCanvas(graphics.Size, scale*scaleFactor); - graphics.Draw(canvas); - var image = canvas.GetImage(); - - var uiImage = image.GetUIImage(); - Control.Image = uiImage; - } + base.OnElementChanged(e); + Render( ); } } } \ No newline at end of file diff --git a/SVG/SVG/SVG.Forms.Plugin.iOS/packages.config b/SVG/SVG/SVG.Forms.Plugin.iOS/packages.config index 22ef6ca..2316250 100644 --- a/SVG/SVG/SVG.Forms.Plugin.iOS/packages.config +++ b/SVG/SVG/SVG.Forms.Plugin.iOS/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/SVG/SampleApp/SampleApp.Droid/SampleApp.Droid.csproj b/SVG/SampleApp/SampleApp.Droid/SampleApp.Droid.csproj index a4c79c6..a67ff98 100644 --- a/SVG/SampleApp/SampleApp.Droid/SampleApp.Droid.csproj +++ b/SVG/SampleApp/SampleApp.Droid/SampleApp.Droid.csproj @@ -1,134 +1,133 @@ - - - - Debug - AnyCPU - {937453F4-4FEC-45C9-8964-38971D0F3726} - {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties - SampleApp.Droid - SampleApp.Droid - 512 - true - Resources\Resource.Designer.cs - Off - Properties\AndroidManifest.xml - True - armeabi,armeabi-v7a,x86 - - - - - - v5.0 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - None - True - 1G - - - armeabi;armeabi-v7a;x86 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - False - - - - - - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\MonoAndroid10\FormsViewGroup.dll - True - - - - - - - - - ..\..\packages\Xamarin.Android.Support.v4.22.2.1.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\MonoAndroid10\Xamarin.Forms.Core.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\MonoAndroid10\Xamarin.Forms.Platform.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll - True - - - - - - - - - - - - - - - - - - - - - - - - {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D} - SVG.Forms.Plugin.Android - - - SampleApp - {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12} - - - {14C534B6-1984-41A9-A384-D3A5508588E3} - SVG.Forms.Plugin.Abstractions - - - - - - - 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}. - - - + + + + Debug + AnyCPU + {937453F4-4FEC-45C9-8964-38971D0F3726} + {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Properties + SampleApp.Droid + SampleApp.Droid + 512 + true + Resources\Resource.Designer.cs + Off + Properties\AndroidManifest.xml + True + armeabi,armeabi-v7a,x86 + + + + 06e0edfb + v5.1 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + None + True + 1G + + + armeabi;armeabi-v7a;x86 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + False + + + + + + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\MonoAndroid10\FormsViewGroup.dll + True + + + + + + + + + ..\..\packages\Xamarin.Android.Support.v4.23.0.0.0-rc1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\MonoAndroid10\Xamarin.Forms.Core.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\MonoAndroid10\Xamarin.Forms.Platform.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll + True + + + + + + + + + + + + + + + + + + + + + + + + {AD2D2DB4-E781-4CF1-9B62-3AAD264F196D} + SVG.Forms.Plugin.Android + + + SampleApp + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12} + + + {14C534B6-1984-41A9-A384-D3A5508588E3} + SVG.Forms.Plugin.Abstractions + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable 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/SVG/SampleApp/SampleApp.Droid/packages.config b/SVG/SampleApp/SampleApp.Droid/packages.config index 0009441..ef12b3f 100644 --- a/SVG/SampleApp/SampleApp.Droid/packages.config +++ b/SVG/SampleApp/SampleApp.Droid/packages.config @@ -1,5 +1,5 @@ - - - - + + + + \ No newline at end of file diff --git a/SVG/SampleApp/SampleApp.WinPhone/SampleApp.WinPhone.csproj b/SVG/SampleApp/SampleApp.WinPhone/SampleApp.WinPhone.csproj index b2f959e..b67749c 100644 --- a/SVG/SampleApp/SampleApp.WinPhone/SampleApp.WinPhone.csproj +++ b/SVG/SampleApp/SampleApp.WinPhone/SampleApp.WinPhone.csproj @@ -1,207 +1,210 @@ - - - - Debug - AnyCPU - {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA} - {C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} - Library - Properties - SampleApp.WinPhone - SampleApp.WinPhone - WindowsPhone - v8.0 - $(TargetFrameworkVersion) - true - - - true - true - PhoneApp1_$(Configuration)_$(Platform).xap - Properties\AppManifest.xml - SampleApp.WinPhone.App - true - 11.0 - true - - - - - true - full - false - Bin\Debug - DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - pdbonly - true - Bin\Release - TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - true - full - false - Bin\x86\Debug - DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - pdbonly - true - Bin\x86\Release - TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - true - full - false - Bin\ARM\Debug - DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - pdbonly - true - Bin\ARM\Release - TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - - App.xaml - - - - MainPage.xaml - - - - True - True - AppResources.resx - - - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - - - - - Designer - - - - - - PreserveNewest - - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - - - - - - - - PublicResXFileCodeGenerator - AppResources.Designer.cs - - - - - {983b7eff-7e75-4a87-890a-744a0b4c5232} - SVG.Forms.Plugin.WindowsPhone - - - SampleApp - - - - - ..\..\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\WP80\Xamarin.Forms.Core.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\WP80\Xamarin.Forms.Platform.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\WP80\Xamarin.Forms.Platform.WP8.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\WP80\Xamarin.Forms.Xaml.dll - True - - - - + + + + Debug + AnyCPU + {90C968B7-E0B3-448F-89BD-49DA7BB2D3DA} + {C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + SampleApp.WinPhone + SampleApp.WinPhone + WindowsPhone + v8.0 + $(TargetFrameworkVersion) + true + + + true + true + PhoneApp1_$(Configuration)_$(Platform).xap + Properties\AppManifest.xml + SampleApp.WinPhone.App + true + 11.0 + true + ca56d8ac + + + true + full + false + Bin\Debug + DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + pdbonly + true + Bin\Release + TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + true + full + false + Bin\x86\Debug + DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + pdbonly + true + Bin\x86\Release + TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + true + full + false + Bin\ARM\Debug + DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + pdbonly + true + Bin\ARM\Release + TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + + App.xaml + + + + MainPage.xaml + + + + True + True + AppResources.resx + + + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + + + + + Designer + + + + + + PreserveNewest + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + + + + + + PublicResXFileCodeGenerator + AppResources.Designer.cs + + + + + {14c534b6-1984-41a9-a384-d3a5508588e3} + SVG.Forms.Plugin.Abstractions + + + {983b7eff-7e75-4a87-890a-744a0b4c5232} + SVG.Forms.Plugin.WindowsPhone + + + SampleApp + + + + + ..\..\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\WP80\Xamarin.Forms.Core.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\WP80\Xamarin.Forms.Platform.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\WP80\Xamarin.Forms.Platform.WP8.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\WP80\Xamarin.Forms.Xaml.dll + True + + + + - - - - - 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}. - - - + --> + + + + + This project references NuGet package(s) that are missing on this computer. Enable 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/SVG/SampleApp/SampleApp.WinPhone/packages.config b/SVG/SampleApp/SampleApp.WinPhone/packages.config index 76aa99d..46aad2a 100644 --- a/SVG/SampleApp/SampleApp.WinPhone/packages.config +++ b/SVG/SampleApp/SampleApp.WinPhone/packages.config @@ -1,5 +1,5 @@ - - - - + + + + \ No newline at end of file diff --git a/SVG/SampleApp/SampleApp.iOS/SampleApp.iOS.csproj b/SVG/SampleApp/SampleApp.iOS/SampleApp.iOS.csproj index c4b2dcc..7e20417 100644 --- a/SVG/SampleApp/SampleApp.iOS/SampleApp.iOS.csproj +++ b/SVG/SampleApp/SampleApp.iOS/SampleApp.iOS.csproj @@ -1,158 +1,161 @@ - - - - Debug - iPhoneSimulator - {63BFB494-492C-42D1-A66C-68FAED7EB5C6} - {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Exe - SampleApp.iOS - Resources - SampleAppiOS - - - - - true - full - false - bin\iPhoneSimulator\Debug - DEBUG - prompt - 4 - false - i386, x86_64 - None - true - Entitlements.plist - - - none - true - bin\iPhoneSimulator\Release - prompt - 4 - None - i386, x86_64 - false - Entitlements.plist - - - true - full - false - bin\iPhone\Debug - DEBUG - prompt - 4 - false - ARMv7, ARM64 - iPhone Developer - true - Entitlements.plist - - - none - true - bin\iPhone\Release - prompt - 4 - ARMv7, ARM64 - false - iPhone Developer - Entitlements.plist - - - none - True - bin\iPhone\Ad-Hoc - prompt - 4 - False - ARMv7, ARM64 - True - Automatic:AdHoc - iPhone Distribution - Entitlements.plist - - - none - True - bin\iPhone\AppStore - prompt - 4 - False - ARMv7, ARM64 - Automatic:AppStore - iPhone Distribution - Entitlements.plist - - - - - - - - - - - - - - SampleApp - {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12} - - - {D525F236-6A2D-4010-B1CC-4A4B8581C90B} - SVG.Forms.Plugin.iOS - - - - - - - - - - - - - - - - - - - - - - - - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll - True - - - - - - - - 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}. - - - + + + + Debug + iPhoneSimulator + {63BFB494-492C-42D1-A66C-68FAED7EB5C6} + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + SampleApp.iOS + Resources + SampleAppiOS + 34bb97cf + + + true + full + false + bin\iPhoneSimulator\Debug + DEBUG + prompt + 4 + false + i386, x86_64 + None + true + Entitlements.plist + + + none + true + bin\iPhoneSimulator\Release + prompt + 4 + None + i386, x86_64 + false + Entitlements.plist + + + true + full + false + bin\iPhone\Debug + DEBUG + prompt + 4 + false + ARMv7, ARM64 + iPhone Developer + true + Entitlements.plist + + + none + true + bin\iPhone\Release + prompt + 4 + ARMv7, ARM64 + false + iPhone Developer + Entitlements.plist + + + none + True + bin\iPhone\Ad-Hoc + prompt + 4 + False + ARMv7, ARM64 + True + Automatic:AdHoc + iPhone Distribution + Entitlements.plist + + + none + True + bin\iPhone\AppStore + prompt + 4 + False + ARMv7, ARM64 + Automatic:AppStore + iPhone Distribution + Entitlements.plist + + + + + + + + + + + + + + {14c534b6-1984-41a9-a384-d3a5508588e3} + SVG.Forms.Plugin.Abstractions + + + SampleApp + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12} + + + {D525F236-6A2D-4010-B1CC-4A4B8581C90B} + SVG.Forms.Plugin.iOS + + + + + + + + + + + + + + + + + + + + + + + + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll + True + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable 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/SVG/SampleApp/SampleApp.iOS/packages.config b/SVG/SampleApp/SampleApp.iOS/packages.config index 6c3ac1d..2316250 100644 --- a/SVG/SampleApp/SampleApp.iOS/packages.config +++ b/SVG/SampleApp/SampleApp.iOS/packages.config @@ -1,4 +1,4 @@ - - - + + + \ No newline at end of file diff --git a/SVG/SampleApp/SampleApp/App.cs b/SVG/SampleApp/SampleApp/App.cs index 6d2e201..eb62aa7 100644 --- a/SVG/SampleApp/SampleApp/App.cs +++ b/SVG/SampleApp/SampleApp/App.cs @@ -11,8 +11,9 @@ public App () tabbedPage.Children.Add (new ViaCode ()); tabbedPage.Children.Add (new ViaXaml ()); - tabbedPage.Children.Add(new ViaResources()); - tabbedPage.Children.Add(new Listview()); + tabbedPage.Children.Add(new ViaResources()); + tabbedPage.Children.Add(new Listview()); + tabbedPage.Children.Add(new ColorReplacementView( )); MainPage = tabbedPage; } diff --git a/SVG/SampleApp/SampleApp/Pages/ColorReplacementView.xaml b/SVG/SampleApp/SampleApp/Pages/ColorReplacementView.xaml new file mode 100644 index 0000000..e1b38f6 --- /dev/null +++ b/SVG/SampleApp/SampleApp/Pages/ColorReplacementView.xaml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SVG/SampleApp/SampleApp/Pages/ColorReplacementView.xaml.cs b/SVG/SampleApp/SampleApp/Pages/ColorReplacementView.xaml.cs new file mode 100644 index 0000000..faa9907 --- /dev/null +++ b/SVG/SampleApp/SampleApp/Pages/ColorReplacementView.xaml.cs @@ -0,0 +1,13 @@ +using SampleApp.ViewModel; + +namespace SampleApp.Pages +{ + public partial class ColorReplacementView + { + public ColorReplacementView( ) + { + InitializeComponent(); + BindingContext = new ViaXamlViewModel(); + } + } +} \ No newline at end of file diff --git a/SVG/SampleApp/SampleApp/SampleApp.csproj b/SVG/SampleApp/SampleApp/SampleApp.csproj index 79e1b3c..343be9a 100644 --- a/SVG/SampleApp/SampleApp/SampleApp.csproj +++ b/SVG/SampleApp/SampleApp/SampleApp.csproj @@ -1,139 +1,147 @@ - - - - - 10.0 - Debug - AnyCPU - {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12} - Library - Properties - SampleApp - SampleApp - v4.5 - Profile78 - 512 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - Listview.xaml - - - - ViaXaml.xaml - - - - - - ViaResources.xaml - - - - - Designer - - - MSBuild:UpdateDesignTimeXaml - - - - - - MSBuild:Compile - Designer - - - - - Designer - - - - - MSBuild:Compile - Designer - - - - - - - - MSBuild:Compile - Designer - - - - - {14C534B6-1984-41A9-A384-D3A5508588E3} - SVG.Forms.Plugin.Abstractions - - - - - Designer - MSBuild:Compile - - - - - MSBuild:UpdateDesignTimeXaml - Designer - - - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Core.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Platform.dll - True - - - ..\..\packages\Xamarin.Forms.1.4.4.6392\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Xaml.dll - True - - - - - - - - - - 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}. - - - + + + + + 10.0 + Debug + AnyCPU + {EBD9C7E2-C5C5-47E3-A7F0-6A6BC41FCC12} + Library + Properties + SampleApp + SampleApp + v4.5 + Profile78 + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 5d831c01 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + ColorReplacementView.xaml + + + Listview.xaml + + + + ViaXaml.xaml + + + + + + ViaResources.xaml + + + + + Designer + + + MSBuild:UpdateDesignTimeXaml + + + + + + MSBuild:Compile + Designer + + + + + Designer + + + + + MSBuild:Compile + Designer + + + + + + + + MSBuild:Compile + Designer + + + + + {14C534B6-1984-41A9-A384-D3A5508588E3} + SVG.Forms.Plugin.Abstractions + + + + + Designer + MSBuild:Compile + + + + + MSBuild:UpdateDesignTimeXaml + Designer + + + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Core.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Platform.dll + True + + + ..\..\packages\Xamarin.Forms.1.5.0.6404-pre3\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Xaml.dll + True + + + + + + + + MSBuild:UpdateDesignTimeXaml + Designer + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable 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/SVG/SampleApp/SampleApp/packages.config b/SVG/SampleApp/SampleApp/packages.config index 5db09b6..72af26a 100644 --- a/SVG/SampleApp/SampleApp/packages.config +++ b/SVG/SampleApp/SampleApp/packages.config @@ -1,4 +1,4 @@ - - - + + + \ No newline at end of file