[samples] Added a basic iOS sample

This commit is contained in:
Matthew Leibowitz 2017-12-20 05:31:29 +02:00
Родитель 6b015ee8c4
Коммит 37b5770873
12 изменённых файлов: 705 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,136 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26430.13
MinimumVisualStudioVersion = 10.0.40219.1
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Binding", "..\..\..\Binding\Binding\Binding.shproj", "{9C502B9A-25D4-473F-89BD-5A13DDE16354}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.iOS", "..\..\..\Binding\SkiaSharp.iOS\SkiaSharp.iOS.csproj", "{6A678CFB-21A7-4E81-8909-FD72ABBFD408}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Views.iOS", "..\..\..\source\SkiaSharp.Views\SkiaSharp.Views.iOS\SkiaSharp.Views.iOS.csproj", "{74C78108-9199-4A7A-928C-FC4DC57D0AE4}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Views.Apple", "..\..\..\source\SkiaSharp.Views\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.shproj", "{CBCA14E7-96C9-4697-909C-19B1EF7298F7}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Views.AppleiOS", "..\..\..\source\SkiaSharp.Views\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.shproj", "{FF4C9F9F-7A6A-44D1-8338-D30E39E4E9D4}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Views.Shared", "..\..\..\source\SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.shproj", "{5A67972C-1C04-4913-9950-06A03BFE9533}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "source", "source", "{56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Binding.Shared", "..\..\..\Binding\Binding.Shared\Binding.Shared.shproj", "{6F8349DC-90AC-441D-8B8B-BE623F46BE6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharpSample", "SkiaSharpSample\SkiaSharpSample.csproj", "{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Shared\SkiaSharp.Views.Forms.Shared.projitems*{1555d119-8598-4e4d-91ac-d313f94a1673}*SharedItemsImports = 4
..\binding\HarfBuzzSharp.Shared\HarfBuzzSharp.Shared.projitems*{1aaa8f60-6138-4dfe-b240-5a0f3fb87e0f}*SharedItemsImports = 13
..\Binding\Binding.Shared\Binding.Shared.projitems*{2ae5d8c5-eac6-4515-89f2-a4994b41c925}*SharedItemsImports = 4
..\binding\HarfBuzzSharp.Shared\HarfBuzzSharp.Shared.projitems*{2ae5d8c5-eac6-4515-89f2-a4994b41c925}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Native.Shared\SkiaSharp.Views.Forms.Native.Shared.projitems*{2f94f024-1841-47e8-b521-74aa4e3eba54}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Shared\SkiaSharp.Views.Forms.Shared.projitems*{2f94f024-1841-47e8-b521-74aa4e3eba54}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Shared\SkiaSharp.Views.Forms.Shared.projitems*{314fb505-9858-4e03-b799-91b0ba627d05}*SharedItemsImports = 13
..\Binding\Binding.Shared\Binding.Shared.projitems*{4588a759-3853-49b8-8a68-6c7917be9220}*SharedItemsImports = 4
..\Binding\Binding\Binding.projitems*{4588a759-3853-49b8-8a68-6c7917be9220}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Native.Shared\SkiaSharp.Views.Forms.Native.Shared.projitems*{4ac36d63-bf11-445f-81ee-107c0cef4fc9}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Shared\SkiaSharp.Views.Forms.Shared.projitems*{4ac36d63-bf11-445f-81ee-107c0cef4fc9}*SharedItemsImports = 4
..\Binding\Binding.Shared\Binding.Shared.projitems*{5180e370-a455-42bb-99f9-97bd269b8a52}*SharedItemsImports = 4
..\Binding\Binding\Binding.projitems*{5180e370-a455-42bb-99f9-97bd269b8a52}*SharedItemsImports = 4
..\Binding\Binding.Shared\Binding.Shared.projitems*{099A4BAD-6CF7-4898-9D16-266BDD844F95}*SharedItemsImports = 4
..\Binding\Binding\Binding.projitems*{099A4BAD-6CF7-4898-9D16-266BDD844F95}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{5a67972c-1c04-4913-9950-06a03bfe9533}*SharedItemsImports = 13
..\Binding\Binding.Shared\Binding.Shared.projitems*{6a678cfb-21a7-4e81-8909-fd72abbfd408}*SharedItemsImports = 4
..\Binding\Binding\Binding.projitems*{6a678cfb-21a7-4e81-8909-fd72abbfd408}*SharedItemsImports = 4
..\Binding\Binding.Shared\Binding.Shared.projitems*{6f8349dc-90ac-441d-8b8b-be623f46be6d}*SharedItemsImports = 13
SkiaSharp.Views\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
SkiaSharp.HarfBuzz\SkiaSharp.HarfBuzz.Shared\SkiaSharp.HarfBuzz.Shared.projitems*{7cad1912-05a5-42e5-b7ba-81bb051f0566}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{809a15dc-e675-4a24-83fa-df13160f7e4c}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{809a15dc-e675-4a24-83fa-df13160f7e4c}*SharedItemsImports = 4
..\Binding\Binding.Shared\Binding.Shared.projitems*{8d646738-458a-441f-b69b-253ef058a812}*SharedItemsImports = 4
..\binding\HarfBuzzSharp.Shared\HarfBuzzSharp.Shared.projitems*{8d646738-458a-441f-b69b-253ef058a812}*SharedItemsImports = 4
..\Binding\Binding.Shared\Binding.Shared.projitems*{0C940695-4868-4CF7-7D16-266BDD88A812}*SharedItemsImports = 4
..\binding\HarfBuzzSharp.Shared\HarfBuzzSharp.Shared.projitems*{0C940695-4868-4CF7-7D16-266BDD88A812}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{926c8d29-e047-4f4e-8b35-852e47bfa9f5}*SharedItemsImports = 4
..\Binding\Binding\Binding.projitems*{9c502b9a-25d4-473f-89bd-5a13dde16354}*SharedItemsImports = 13
SkiaSharp.HarfBuzz\SkiaSharp.HarfBuzz.Shared\SkiaSharp.HarfBuzz.Shared.projitems*{c3e63b2d-95d4-4c3f-b10f-7a0aacf94980}*SharedItemsImports = 13
..\Binding\Binding.Shared\Binding.Shared.projitems*{c737dc80-5b71-4b26-a2dc-da30421788b0}*SharedItemsImports = 4
..\Binding\Binding\Binding.projitems*{c737dc80-5b71-4b26-a2dc-da30421788b0}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{cbca14e7-96c9-4697-909c-19b1ef7298f7}*SharedItemsImports = 13
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Native.Shared\SkiaSharp.Views.Forms.Native.Shared.projitems*{cebd25fd-dd4f-4d5f-b809-d50d02176f41}*SharedItemsImports = 13
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Native.Shared\SkiaSharp.Views.Forms.Native.Shared.projitems*{da5da4d8-4885-4af2-96bb-ae803c344ab0}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Shared\SkiaSharp.Views.Forms.Shared.projitems*{da5da4d8-4885-4af2-96bb-ae803c344ab0}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{9E850CCA-54CC-4CEB-B2C2-E32EF4A17D61}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{9E850CCA-54CC-4CEB-B2C2-E32EF4A17D61}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{9E850CCA-54CC-4CEB-B2C2-E32EF4A17D61}*SharedItemsImports = 4
..\Binding\Binding.Shared\Binding.Shared.projitems*{e6b786c4-3bf9-4a42-9a4a-08002ae3fdad}*SharedItemsImports = 4
..\binding\HarfBuzzSharp.Shared\HarfBuzzSharp.Shared.projitems*{e6b786c4-3bf9-4a42-9a4a-08002ae3fdad}*SharedItemsImports = 4
..\Binding\Binding.Shared\Binding.Shared.projitems*{e8192110-fcf9-4972-9472-7408bc2ca56b}*SharedItemsImports = 4
..\binding\HarfBuzzSharp.Shared\HarfBuzzSharp.Shared.projitems*{e8192110-fcf9-4972-9472-7408bc2ca56b}*SharedItemsImports = 4
..\Binding\Binding.Shared\Binding.Shared.projitems*{eb1bbdcc-fb07-40d5-8b9e-0079e2c2f2df}*SharedItemsImports = 4
..\Binding\Binding\Binding.projitems*{eb1bbdcc-fb07-40d5-8b9e-0079e2c2f2df}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{ff4c9f9f-7a6a-44d1-8338-d30e39e4e9d4}*SharedItemsImports = 13
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Debug|iPhone = Debug|iPhone
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Release|Any CPU.Build.0 = Release|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Release|iPhone.ActiveCfg = Release|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Release|iPhone.Build.0 = Release|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{74C78108-9199-4A7A-928C-FC4DC57D0AE4}.Debug|iPhone.Build.0 = Debug|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Release|Any CPU.Build.0 = Release|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Release|iPhone.ActiveCfg = Release|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Release|iPhone.Build.0 = Release|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{6A678CFB-21A7-4E81-8909-FD72ABBFD408}.Debug|iPhone.Build.0 = Debug|Any CPU
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Release|Any CPU.ActiveCfg = Release|iPhone
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Release|Any CPU.Build.0 = Release|iPhone
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Release|iPhone.ActiveCfg = Release|iPhone
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Release|iPhone.Build.0 = Release|iPhone
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Debug|iPhone.ActiveCfg = Debug|iPhone
{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}.Debug|iPhone.Build.0 = Debug|iPhone
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{74C78108-9199-4A7A-928C-FC4DC57D0AE4} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
{CBCA14E7-96C9-4697-909C-19B1EF7298F7} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
{FF4C9F9F-7A6A-44D1-8338-D30E39E4E9D4} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
{5A67972C-1C04-4913-9950-06A03BFE9533} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
{9C502B9A-25D4-473F-89BD-5A13DDE16354} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
{6A678CFB-21A7-4E81-8909-FD72ABBFD408} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
{6F8349DC-90AC-441D-8B8B-BE623F46BE6D} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,16 @@
using Foundation;
using UIKit;
namespace SkiaSharpSample
{
[Register(nameof(AppDelegate))]
public class AppDelegate : UIApplicationDelegate
{
public override UIWindow Window { get; set; }
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
return true;
}
}
}

Просмотреть файл

@ -0,0 +1,202 @@
{
"images" : [
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "83.5x83.5",
"scale" : "2x"
},
{
"idiom" : "ios-marketing",
"size" : "1024x1024",
"scale" : "1x"
},
{
"size" : "24x24",
"idiom" : "watch",
"scale" : "2x",
"role" : "notificationCenter",
"subtype" : "38mm"
},
{
"size" : "27.5x27.5",
"idiom" : "watch",
"scale" : "2x",
"role" : "notificationCenter",
"subtype" : "42mm"
},
{
"size" : "29x29",
"idiom" : "watch",
"role" : "companionSettings",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "watch",
"role" : "companionSettings",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "watch",
"scale" : "2x",
"role" : "appLauncher",
"subtype" : "38mm"
},
{
"size" : "44x44",
"idiom" : "watch",
"scale" : "2x",
"role" : "longLook",
"subtype" : "42mm"
},
{
"size" : "86x86",
"idiom" : "watch",
"scale" : "2x",
"role" : "quickLook",
"subtype" : "38mm"
},
{
"size" : "98x98",
"idiom" : "watch",
"scale" : "2x",
"role" : "quickLook",
"subtype" : "42mm"
},
{
"idiom" : "mac",
"size" : "16x16",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "16x16",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "32x32",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "32x32",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "128x128",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "128x128",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "256x256",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "256x256",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "512x512",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "512x512",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Просмотреть файл

@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

Просмотреть файл

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>SkiaSharpSample</string>
<key>CFBundleIdentifier</key>
<string>com.companyname.skiasharpsample</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>9.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/AppIcon.appiconset</string>
</dict>
</plist>

Просмотреть файл

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
<dependencies>
<deployment identifier="iOS" />
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530" />
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb" />
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok" />
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="600" height="600" />
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES" />
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite" />
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder" />
</objects>
<point key="canvasLocation" x="53" y="375" />
</scene>
</scenes>
</document>

Просмотреть файл

@ -0,0 +1,12 @@
using UIKit;
namespace SkiaSharpSample
{
public class Application
{
static void Main(string[] args)
{
UIApplication.Main(args, null, nameof(AppDelegate));
}
}
}

Просмотреть файл

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="216">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<subviews>
<view contentMode="scaleToFill" id="199" customClass="SKCanvasView" translatesAutoresizingMaskIntoConstraints="NO" fixedFrame="YES">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<autoresizingMask key="autoresizingMask" heightSizable="YES" widthSizable="YES"/>
</view>
</subviews>
</view>
<navigationItem title="SkiaSharp Sample" id="287" key="navigationItem"/>
<connections>
<outlet property="skiaView" destination="199" id="name-outlet-199"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="205" y="-45"/>
</scene>
<scene sceneID="215">
<objects>
<navigationController id="216" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="218">
<rect key="frame" x="0.0" y="20" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue id="288" destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="219" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-296" y="-46"/>
</scene>
</scenes>
</document>

Просмотреть файл

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform>
<ProjectGuid>{6BF66A7C-7E8A-4BFE-9753-8462F394B0CD}</ProjectGuid>
<ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Exe</OutputType>
<RootNamespace>SkiaSharpSample</RootNamespace>
<AssemblyName>SkiaSharpSample</AssemblyName>
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\iPhoneSimulator\Debug</OutputPath>
<DefineConstants>DEBUG;ENABLE_TEST_CLOUD;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodesignKey>iPhone Developer</CodesignKey>
<MtouchDebug>true</MtouchDebug>
<MtouchNoSymbolStrip>true</MtouchNoSymbolStrip>
<MtouchFastDev>true</MtouchFastDev>
<MtouchProfiling>true</MtouchProfiling>
<IOSDebuggerPort>41640</IOSDebuggerPort>
<MtouchLink>None</MtouchLink>
<MtouchArch>x86_64</MtouchArch>
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
<DeviceSpecificBuild>false</DeviceSpecificBuild>
<MtouchVerbosity></MtouchVerbosity>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\iPhone\Release</OutputPath>
<DefineConstants></DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodesignKey>iPhone Developer</CodesignKey>
<MtouchFloat32>true</MtouchFloat32>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<MtouchLink>SdkOnly</MtouchLink>
<MtouchArch>ARM64</MtouchArch>
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
<MtouchVerbosity></MtouchVerbosity>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\iPhoneSimulator\Release</OutputPath>
<DefineConstants></DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodesignKey>iPhone Developer</CodesignKey>
<MtouchNoSymbolStrip>true</MtouchNoSymbolStrip>
<MtouchLink>None</MtouchLink>
<MtouchArch>x86_64</MtouchArch>
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
<MtouchVerbosity></MtouchVerbosity>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\iPhone\Debug</OutputPath>
<DefineConstants>DEBUG;ENABLE_TEST_CLOUD;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodesignKey>iPhone Developer</CodesignKey>
<DeviceSpecificBuild>true</DeviceSpecificBuild>
<MtouchDebug>true</MtouchDebug>
<MtouchNoSymbolStrip>true</MtouchNoSymbolStrip>
<MtouchFastDev>true</MtouchFastDev>
<MtouchProfiling>true</MtouchProfiling>
<MtouchFloat32>true</MtouchFloat32>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<IOSDebuggerPort>59169</IOSDebuggerPort>
<MtouchLink>SdkOnly</MtouchLink>
<MtouchArch>ARM64</MtouchArch>
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
<MtouchVerbosity></MtouchVerbosity>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="Xamarin.iOS" />
</ItemGroup>
<ItemGroup>
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json" />
<ImageAsset Include="Assets.xcassets\Contents.json" />
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\" />
</ItemGroup>
<ItemGroup>
<InterfaceDefinition Include="LaunchScreen.storyboard" />
<InterfaceDefinition Include="Main.storyboard" />
</ItemGroup>
<ItemGroup>
<None Include="Info.plist" />
<None Include="Entitlements.plist" />
</ItemGroup>
<ItemGroup>
<Compile Include="Main.cs" />
<Compile Include="AppDelegate.cs" />
<Compile Include="ViewController.cs" />
<Compile Include="ViewController.designer.cs">
<DependentUpon>ViewController.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\Binding\SkiaSharp.iOS\SkiaSharp.iOS.csproj">
<Project>{6A678CFB-21A7-4E81-8909-FD72ABBFD408}</Project>
<Name>SkiaSharp.iOS</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\source\SkiaSharp.Views\SkiaSharp.Views.iOS\SkiaSharp.Views.iOS.csproj">
<Project>{74C78108-9199-4A7A-928C-FC4DC57D0AE4}</Project>
<Name>SkiaSharp.Views.iOS</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
</Project>

Просмотреть файл

@ -0,0 +1,51 @@
using System;
using UIKit;
using SkiaSharp;
using SkiaSharp.Views.iOS;
namespace SkiaSharpSample
{
public partial class ViewController : UIViewController
{
protected ViewController(IntPtr handle)
: base(handle)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
skiaView.PaintSurface += OnPaintSurface;
}
private void OnPaintSurface(object sender, SKPaintSurfaceEventArgs e)
{
// the the canvas and properties
var canvas = e.Surface.Canvas;
// get the screen density for scaling
var scale = (float)skiaView.ContentScaleFactor;
var scaledSize = new SKSize(e.Info.Width / scale, e.Info.Height / scale);
// handle the device screen density
canvas.Scale(scale);
// make sure the canvas is blank
canvas.Clear(SKColors.White);
// draw some text
var paint = new SKPaint
{
Color = SKColors.Black,
IsAntialias = true,
Style = SKPaintStyle.Fill,
TextAlign = SKTextAlign.Center,
TextSize = 24
};
var coord = new SKPoint(scaledSize.Width / 2, (scaledSize.Height + paint.TextSize) / 2);
canvas.DrawText("SkiaSharp", coord, paint);
}
}
}

28
samples/Basic/iOS/SkiaSharpSample/ViewController.designer.cs сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,28 @@
// WARNING
//
// This file has been generated automatically by Visual Studio from the outlets and
// actions declared in your storyboard file.
// Manual changes to this file will not be maintained.
//
using Foundation;
using System;
using System.CodeDom.Compiler;
namespace SkiaSharpSample
{
[Register ("ViewController")]
partial class ViewController
{
[Outlet]
[GeneratedCode ("iOS Designer", "1.0")]
SkiaSharp.Views.iOS.SKCanvasView skiaView { get; set; }
void ReleaseDesignerOutlets ()
{
if (skiaView != null) {
skiaView.Dispose ();
skiaView = null;
}
}
}
}