Renamed the Apple types from SKView to SKCanvasView
- SKView belongs to SpriteKit - Renamed in Android and layers for consistency - Added events to all view
This commit is contained in:
Родитель
f12930f9a9
Коммит
6434eb0ae5
|
@ -7,30 +7,30 @@ using Android.Views;
|
|||
|
||||
namespace SkiaSharp.Views
|
||||
{
|
||||
public class SKView : View
|
||||
public class SKCanvasView : View
|
||||
{
|
||||
private Bitmap bitmap;
|
||||
private SKImageInfo info;
|
||||
|
||||
public SKView(Context context)
|
||||
public SKCanvasView(Context context)
|
||||
: base(context)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
public SKView(Context context, IAttributeSet attrs)
|
||||
public SKCanvasView(Context context, IAttributeSet attrs)
|
||||
: base(context, attrs)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
public SKView(Context context, IAttributeSet attrs, int defStyleAttr)
|
||||
public SKCanvasView(Context context, IAttributeSet attrs, int defStyleAttr)
|
||||
: base(context, attrs, defStyleAttr)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
protected SKView(IntPtr javaReference, JniHandleOwnership transfer)
|
||||
protected SKCanvasView(IntPtr javaReference, JniHandleOwnership transfer)
|
||||
: base(javaReference, transfer)
|
||||
{
|
||||
Initialize();
|
||||
|
@ -76,9 +76,11 @@ namespace SkiaSharp.Views
|
|||
info.Height = h;
|
||||
}
|
||||
|
||||
public event EventHandler<SKPaintSurfaceEventArgs> PaintSurface;
|
||||
|
||||
protected virtual void OnDraw(SKSurface surface, SKImageInfo info)
|
||||
{
|
||||
// empty
|
||||
PaintSurface?.Invoke(this, new SKPaintSurfaceEventArgs(surface, info));
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
|
@ -57,7 +57,7 @@ namespace SkiaSharp.Views
|
|||
gl.GlGetIntegerv(GLES20.GlFramebufferBinding, framebuffers, 0);
|
||||
|
||||
// create the SkiaSharp context
|
||||
var glInterface = GRGlInterface.CreateNativeInterface();
|
||||
var glInterface = GRGlInterface.CreateNativeGlInterface();
|
||||
context = GRContext.Create(GRBackend.OpenGL, glInterface);
|
||||
|
||||
// create the render target
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
<Link>Properties\SkiaSharpViewsAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Resources\Resource.designer.cs" />
|
||||
<Compile Include="SKView.cs" />
|
||||
<Compile Include="SKCanvasView.cs" />
|
||||
<Compile Include="SKGLSurfaceViewRenderer.cs" />
|
||||
<Compile Include="SKGLSurfaceView.cs" />
|
||||
<Compile Include="SKSurfaceView.cs" />
|
||||
|
@ -61,5 +61,6 @@
|
|||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="..\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
|
||||
</Project>
|
|
@ -1,6 +1,6 @@
|
|||
namespace SkiaSharp.Views
|
||||
{
|
||||
public interface ISKLayerDelegate
|
||||
public interface ISKCanvasLayerDelegate
|
||||
{
|
||||
void DrawInSurface(SKSurface surface, SKImageInfo info);
|
||||
}
|
|
@ -1,13 +1,14 @@
|
|||
using System;
|
||||
using CoreAnimation;
|
||||
using CoreGraphics;
|
||||
|
||||
namespace SkiaSharp.Views
|
||||
{
|
||||
public class SKLayer : CALayer
|
||||
public class SKCanvasLayer : CALayer
|
||||
{
|
||||
private readonly SKDrawable drawable;
|
||||
|
||||
public SKLayer()
|
||||
public SKCanvasLayer()
|
||||
{
|
||||
drawable = new SKDrawable();
|
||||
|
||||
|
@ -15,7 +16,7 @@ namespace SkiaSharp.Views
|
|||
NeedsDisplayOnBoundsChange = true;
|
||||
}
|
||||
|
||||
public ISKLayerDelegate SKDelegate { get; set; }
|
||||
public ISKCanvasLayerDelegate SKDelegate { get; set; }
|
||||
|
||||
public override void DrawInContext(CGContext ctx)
|
||||
{
|
||||
|
@ -33,8 +34,11 @@ namespace SkiaSharp.Views
|
|||
drawable.DrawSurface(ctx, Bounds, info, surface);
|
||||
}
|
||||
|
||||
public event EventHandler<SKPaintSurfaceEventArgs> PaintSurface;
|
||||
|
||||
public virtual void DrawInSurface(SKSurface surface, SKImageInfo info)
|
||||
{
|
||||
PaintSurface?.Invoke(this, new SKPaintSurfaceEventArgs(surface, info));
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
|
@ -6,11 +6,11 @@
|
|||
<SharedGUID>{CBCA14E7-96C9-4697-909C-19B1EF7298F7}</SharedGUID>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<Import_RootNamespace>SkiaSharp.Views.Apple</Import_RootNamespace>
|
||||
<Import_RootNamespace>SkiaSharp.Views</Import_RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ISKLayerDelegate.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)SKLayer.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ISKCanvasLayerDelegate.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)SKCanvasLayer.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)SKDrawable.cs">
|
||||
<Link>SKDrawable.cs</Link>
|
||||
</Compile>
|
||||
|
|
|
@ -1,31 +1,37 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using CoreGraphics;
|
||||
using Foundation;
|
||||
using UIKit;
|
||||
|
||||
namespace SkiaSharp.Views
|
||||
{
|
||||
[Register(nameof(SKCanvasView))]
|
||||
[DesignTimeVisible(true)]
|
||||
public class SKView : UIView
|
||||
public class SKCanvasView : UIView, IComponent
|
||||
{
|
||||
// for IComponent
|
||||
public ISite Site { get; set; }
|
||||
public event EventHandler Disposed;
|
||||
private bool designMode;
|
||||
|
||||
private SKDrawable drawable;
|
||||
|
||||
// created in code
|
||||
public SKView()
|
||||
public SKCanvasView()
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
// created in code
|
||||
public SKView(CGRect frame)
|
||||
public SKCanvasView(CGRect frame)
|
||||
: base(frame)
|
||||
{
|
||||
Frame = frame;
|
||||
|
||||
Initialize();
|
||||
}
|
||||
|
||||
// created via designer
|
||||
public SKView(IntPtr p)
|
||||
public SKCanvasView(IntPtr p)
|
||||
: base(p)
|
||||
{
|
||||
}
|
||||
|
@ -33,6 +39,8 @@ namespace SkiaSharp.Views
|
|||
// created via designer
|
||||
public override void AwakeFromNib()
|
||||
{
|
||||
designMode = Site?.DesignMode == true;
|
||||
|
||||
Initialize();
|
||||
}
|
||||
|
||||
|
@ -52,15 +60,17 @@ namespace SkiaSharp.Views
|
|||
var surface = drawable.CreateSurface(Bounds, ContentScaleFactor, out info);
|
||||
|
||||
// draw on the image using SKiaSharp
|
||||
Draw(surface, info);
|
||||
DrawInSurface(surface, info);
|
||||
|
||||
// draw the surface to the context
|
||||
drawable.DrawSurface(ctx, Bounds, info, surface);
|
||||
}
|
||||
|
||||
public virtual void Draw(SKSurface surface, SKImageInfo info)
|
||||
public event EventHandler<SKPaintSurfaceEventArgs> PaintSurface;
|
||||
|
||||
public virtual void DrawInSurface(SKSurface surface, SKImageInfo info)
|
||||
{
|
||||
// empty
|
||||
PaintSurface?.Invoke(this, new SKPaintSurfaceEventArgs(surface, info));
|
||||
}
|
||||
|
||||
public override void LayoutSubviews()
|
|
@ -1,3 +1,4 @@
|
|||
using System;
|
||||
using CoreAnimation;
|
||||
using CoreGraphics;
|
||||
using OpenGLES;
|
||||
|
@ -67,8 +68,11 @@ namespace SkiaSharp.Views
|
|||
}
|
||||
}
|
||||
|
||||
public event EventHandler<SKPaintGLSurfaceEventArgs> PaintSurface;
|
||||
|
||||
public virtual void DrawInSurface(SKSurface surface, GRBackendRenderTargetDesc renderTarget)
|
||||
{
|
||||
PaintSurface?.Invoke(this, new SKPaintGLSurfaceEventArgs(surface, renderTarget));
|
||||
}
|
||||
|
||||
public virtual void PrepareGLContexts()
|
||||
|
@ -88,7 +92,7 @@ namespace SkiaSharp.Views
|
|||
GL.FramebufferRenderbuffer(FramebufferTarget.Framebuffer, FramebufferSlot.ColorAttachment0, RenderbufferTarget.Renderbuffer, renderBuffer);
|
||||
|
||||
// get the bits for SkiaSharp
|
||||
var glInterface = GRGlInterface.CreateNativeInterface();
|
||||
var glInterface = GRGlInterface.CreateNativeGlInterface();
|
||||
context = GRContext.Create(GRBackend.OpenGL, glInterface);
|
||||
|
||||
// finished
|
||||
|
|
|
@ -1,21 +1,51 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using CoreGraphics;
|
||||
using Foundation;
|
||||
using GLKit;
|
||||
using OpenGLES;
|
||||
|
||||
namespace SkiaSharp.Views
|
||||
{
|
||||
[Register(nameof(SKGLView))]
|
||||
[DesignTimeVisible(true)]
|
||||
public class SKGLView : GLKView, IGLKViewDelegate
|
||||
public class SKGLView : GLKView, IGLKViewDelegate, IComponent
|
||||
{
|
||||
// for IComponent
|
||||
public ISite Site { get; set; }
|
||||
public event EventHandler Disposed;
|
||||
private bool designMode;
|
||||
|
||||
private GRContext context;
|
||||
private GRBackendRenderTargetDesc renderTarget;
|
||||
|
||||
// created in code
|
||||
public SKGLView()
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
// created in code
|
||||
public SKGLView(CGRect frame)
|
||||
: base(frame)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
// created via designer
|
||||
public SKGLView(IntPtr p)
|
||||
: base(p)
|
||||
{
|
||||
}
|
||||
|
||||
// created via designer
|
||||
public override void AwakeFromNib()
|
||||
{
|
||||
designMode = Site?.DesignMode == true;
|
||||
|
||||
Initialize();
|
||||
}
|
||||
|
||||
private void Initialize()
|
||||
{
|
||||
// create the GL context
|
||||
|
@ -33,7 +63,7 @@ namespace SkiaSharp.Views
|
|||
{
|
||||
if (context == null)
|
||||
{
|
||||
var glInterface = GRGlInterface.CreateNativeInterface();
|
||||
var glInterface = GRGlInterface.CreateNativeGlInterface();
|
||||
context = GRContext.Create(GRBackend.OpenGL, glInterface);
|
||||
|
||||
// get the initial details
|
||||
|
@ -57,8 +87,11 @@ namespace SkiaSharp.Views
|
|||
context.Flush();
|
||||
}
|
||||
|
||||
public event EventHandler<SKPaintGLSurfaceEventArgs> PaintSurface;
|
||||
|
||||
public virtual void DrawInSurface(SKSurface surface, GRBackendRenderTargetDesc renderTarget)
|
||||
{
|
||||
PaintSurface?.Invoke(this, new SKPaintGLSurfaceEventArgs(surface, renderTarget));
|
||||
}
|
||||
|
||||
public override CGRect Frame
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
|
@ -6,10 +6,10 @@
|
|||
<SharedGUID>{FF4C9F9F-7A6A-44D1-8338-D30E39E4E9D4}</SharedGUID>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<Import_RootNamespace>SkiaSharp.Views.AppleiOS</Import_RootNamespace>
|
||||
<Import_RootNamespace>SkiaSharp.Views</Import_RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)SKView.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)SKCanvasView.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)SKGLLayer.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)SKGLView.cs" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -34,7 +34,7 @@ namespace SkiaSharp.Views
|
|||
// create the contexts if not done already
|
||||
if (grContext == null)
|
||||
{
|
||||
var glInterface = GRGlInterface.CreateNativeInterface();
|
||||
var glInterface = GRGlInterface.CreateNativeGlInterface();
|
||||
grContext = GRContext.Create(GRBackend.OpenGL, glInterface);
|
||||
|
||||
// get initial details
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="..\SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.Windows\SkiaSharp.Views.Windows.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\SkiaSharp.1.54.1\build\net45\SkiaSharp.targets" Condition="Exists('..\packages\SkiaSharp.1.54.1\build\net45\SkiaSharp.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
|
|
|
@ -22,12 +22,16 @@ Global
|
|||
SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{809a15dc-e675-4a24-83fa-df13160f7e4c}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems*{809a15dc-e675-4a24-83fa-df13160f7e4c}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{809a15dc-e675-4a24-83fa-df13160f7e4c}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{926c8d29-e047-4f4e-8b35-852e47bfa9f5}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{cbca14e7-96c9-4697-909c-19b1ef7298f7}*SharedItemsImports = 13
|
||||
SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{ff4c9f9f-7a6a-44d1-8338-d30e39e4e9d4}*SharedItemsImports = 13
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
|
|
@ -2,22 +2,24 @@
|
|||
using System.ComponentModel;
|
||||
using AppKit;
|
||||
using CoreGraphics;
|
||||
using Foundation;
|
||||
|
||||
namespace SkiaSharp.Views
|
||||
{
|
||||
[Register(nameof(SKCanvasView))]
|
||||
[DesignTimeVisible(true)]
|
||||
public class SKView : NSView
|
||||
public class SKCanvasView : NSView
|
||||
{
|
||||
private SKDrawable drawable;
|
||||
|
||||
// created in code
|
||||
public SKView()
|
||||
public SKCanvasView()
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
// created in code
|
||||
public SKView(CGRect frame)
|
||||
public SKCanvasView(CGRect frame)
|
||||
: base(frame)
|
||||
{
|
||||
|
||||
|
@ -25,7 +27,7 @@ namespace SkiaSharp.Views
|
|||
}
|
||||
|
||||
// created via designer
|
||||
public SKView(IntPtr p)
|
||||
public SKCanvasView(IntPtr p)
|
||||
: base(p)
|
||||
{
|
||||
}
|
||||
|
@ -41,9 +43,11 @@ namespace SkiaSharp.Views
|
|||
drawable = new SKDrawable();
|
||||
}
|
||||
|
||||
public virtual void Draw(SKSurface surface, SKImageInfo info)
|
||||
public event EventHandler<SKPaintSurfaceEventArgs> PaintSurface;
|
||||
|
||||
public virtual void DrawInSurface(SKSurface surface, SKImageInfo info)
|
||||
{
|
||||
// empty
|
||||
PaintSurface?.Invoke(this, new SKPaintSurfaceEventArgs(surface, info));
|
||||
}
|
||||
|
||||
public override void DrawRect(CGRect dirtyRect)
|
||||
|
@ -57,7 +61,7 @@ namespace SkiaSharp.Views
|
|||
var surface = drawable.CreateSurface(Bounds, Window.BackingScaleFactor, out info);
|
||||
|
||||
// draw on the image using SKiaSharp
|
||||
Draw(surface, info);
|
||||
DrawInSurface(surface, info);
|
||||
|
||||
// draw the surface to the context
|
||||
drawable.DrawSurface(ctx, Bounds, info, surface);
|
|
@ -1,3 +1,4 @@
|
|||
using System;
|
||||
using CoreAnimation;
|
||||
using CoreVideo;
|
||||
using OpenGL;
|
||||
|
@ -17,8 +18,11 @@ namespace SkiaSharp.Views
|
|||
|
||||
public ISKGLLayerDelegate SKDelegate { get; set; }
|
||||
|
||||
public event EventHandler<SKPaintGLSurfaceEventArgs> PaintSurface;
|
||||
|
||||
public virtual void DrawInSurface(SKSurface surface, GRBackendRenderTargetDesc renderTarget)
|
||||
{
|
||||
PaintSurface?.Invoke(this, new SKPaintGLSurfaceEventArgs(surface, renderTarget));
|
||||
}
|
||||
|
||||
public override void DrawInCGLContext(CGLContext glContext, CGLPixelFormat pixelFormat, double timeInterval, ref CVTimeStamp timeStamp)
|
||||
|
@ -28,7 +32,7 @@ namespace SkiaSharp.Views
|
|||
if (context == null)
|
||||
{
|
||||
// get the bits for SkiaSharp
|
||||
var glInterface = GRGlInterface.CreateNativeInterface();
|
||||
var glInterface = GRGlInterface.CreateNativeGlInterface();
|
||||
context = GRContext.Create(GRBackend.OpenGL, glInterface);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,21 +1,44 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using AppKit;
|
||||
using CoreGraphics;
|
||||
using Foundation;
|
||||
using OpenTK.Graphics.OpenGL;
|
||||
|
||||
namespace SkiaSharp.Views
|
||||
{
|
||||
[Register(nameof(SKGLView))]
|
||||
[DesignTimeVisible(true)]
|
||||
public class SKGLView : NSOpenGLView
|
||||
{
|
||||
private GRContext context;
|
||||
private GRBackendRenderTargetDesc renderTarget;
|
||||
|
||||
// created in code
|
||||
public SKGLView()
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
// created in code
|
||||
public SKGLView(CGRect frame)
|
||||
: base(frame)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
// created via designer
|
||||
public SKGLView(IntPtr p)
|
||||
: base(p)
|
||||
{
|
||||
}
|
||||
|
||||
// created via designer
|
||||
public override void AwakeFromNib()
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
private void Initialize()
|
||||
{
|
||||
WantsBestResolutionOpenGLSurface = true;
|
||||
|
@ -26,7 +49,7 @@ namespace SkiaSharp.Views
|
|||
base.PrepareOpenGL();
|
||||
|
||||
// create the context
|
||||
var glInterface = GRGlInterface.CreateNativeInterface();
|
||||
var glInterface = GRGlInterface.CreateNativeGlInterface();
|
||||
context = GRContext.Create(GRBackend.OpenGL, glInterface);
|
||||
|
||||
renderTarget = SKGLDrawable.CreateRenderTarget();
|
||||
|
@ -54,8 +77,11 @@ namespace SkiaSharp.Views
|
|||
GL.Flush();
|
||||
}
|
||||
|
||||
public event EventHandler<SKPaintGLSurfaceEventArgs> PaintSurface;
|
||||
|
||||
public virtual void DrawInSurface(SKSurface surface, GRBackendRenderTargetDesc renderTarget)
|
||||
{
|
||||
PaintSurface?.Invoke(this, new SKPaintGLSurfaceEventArgs(surface, renderTarget));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,8 @@
|
|||
<HttpClientHandler>HttpClientHandler</HttpClientHandler>
|
||||
<TlsProvider>Default</TlsProvider>
|
||||
<LinkMode>None</LinkMode>
|
||||
<XamMacArch></XamMacArch>
|
||||
<XamMacArch>
|
||||
</XamMacArch>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Optimize>true</Optimize>
|
||||
|
@ -46,7 +47,8 @@
|
|||
<HttpClientHandler>HttpClientHandler</HttpClientHandler>
|
||||
<TlsProvider>Default</TlsProvider>
|
||||
<LinkMode>None</LinkMode>
|
||||
<XamMacArch></XamMacArch>
|
||||
<XamMacArch>
|
||||
</XamMacArch>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
|
@ -61,7 +63,7 @@
|
|||
<Compile Include="..\SkiaSharp.Views\Properties\SkiaSharpViewsAssemblyInfo.cs">
|
||||
<Link>Properties\SkiaSharpViewsAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="SKView.cs" />
|
||||
<Compile Include="SKCanvasView.cs" />
|
||||
<Compile Include="SKGLView.cs" />
|
||||
<Compile Include="SKGLLayer.cs" />
|
||||
</ItemGroup>
|
||||
|
@ -70,6 +72,7 @@
|
|||
</ItemGroup>
|
||||
<Import Project="..\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
|
||||
<Import Project="..\packages\SkiaSharp.1.54.1\build\XamarinMac\SkiaSharp.targets" Condition="Exists('..\packages\SkiaSharp.1.54.1\build\XamarinMac\SkiaSharp.targets')" />
|
||||
</Project>
|
|
@ -6,7 +6,7 @@
|
|||
<SharedGUID>5a67972c-1c04-4913-9950-06a03bfe9533</SharedGUID>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<Import_RootNamespace>SkiaSharp.Views.Windows</Import_RootNamespace>
|
||||
<Import_RootNamespace>SkiaSharp.Views</Import_RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)SKPaintGLSurfaceEventArgs.cs" />
|
|
@ -8,6 +8,6 @@
|
|||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
|
||||
<PropertyGroup />
|
||||
<Import Project="SkiaSharp.Views.Windows.projitems" Label="Shared" />
|
||||
<Import Project="SkiaSharp.Views.Shared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
|
||||
</Project>
|
|
@ -58,7 +58,7 @@
|
|||
</None>
|
||||
<EmbeddedResource Include="Properties\SkiaSharp.Views.UWP.rd.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="..\SkiaSharp.Views.Windows\SkiaSharp.Views.Windows.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems" Label="Shared" />
|
||||
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' ">
|
||||
<VisualStudioVersion>14.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -8,15 +8,15 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Views.OpenTK", "S
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Views.UWP", "SkiaSharp.Views.UWP\SkiaSharp.Views.UWP.csproj", "{8BB20362-91A2-4206-944D-634070EAC6F3}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Views.Windows", "SkiaSharp.Views.Windows\SkiaSharp.Views.Windows.shproj", "{5A67972C-1C04-4913-9950-06A03BFE9533}"
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Views.Shared", "SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.shproj", "{5A67972C-1C04-4913-9950-06A03BFE9533}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
SkiaSharp.Views.Windows\SkiaSharp.Views.Windows.projitems*{5a67972c-1c04-4913-9950-06a03bfe9533}*SharedItemsImports = 13
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{5a67972c-1c04-4913-9950-06a03bfe9533}*SharedItemsImports = 13
|
||||
SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems*{6d28c491-7d4a-44c3-959b-01a9913bff52}*SharedItemsImports = 13
|
||||
SkiaSharp.Views.Windows\SkiaSharp.Views.Windows.projitems*{8bb20362-91a2-4206-944d-634070eac6f3}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{8bb20362-91a2-4206-944d-634070eac6f3}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems*{e5a90865-c185-45ad-88d1-6da7d6004b03}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Windows\SkiaSharp.Views.Windows.projitems*{e5a90865-c185-45ad-88d1-6da7d6004b03}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{e5a90865-c185-45ad-88d1-6da7d6004b03}*SharedItemsImports = 4
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
|
@ -29,7 +29,8 @@
|
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release</OutputPath>
|
||||
<DefineConstants></DefineConstants>
|
||||
<DefineConstants>
|
||||
</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<MtouchUseSGen>true</MtouchUseSGen>
|
||||
|
@ -62,5 +63,6 @@
|
|||
<Import Project="..\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
|
||||
</Project>
|
|
@ -20,24 +20,28 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Views.OpenTK", "S
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Views.UWP", "SkiaSharp.Views.UWP\SkiaSharp.Views.UWP.csproj", "{8BB20362-91A2-4206-944D-634070EAC6F3}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Views.Windows", "SkiaSharp.Views.Windows\SkiaSharp.Views.Windows.shproj", "{5A67972C-1C04-4913-9950-06A03BFE9533}"
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Views.Shared", "SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.shproj", "{5A67972C-1C04-4913-9950-06A03BFE9533}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
SkiaSharp.Views.Windows\SkiaSharp.Views.Windows.projitems*{5a67972c-1c04-4913-9950-06a03bfe9533}*SharedItemsImports = 13
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{5a67972c-1c04-4913-9950-06a03bfe9533}*SharedItemsImports = 13
|
||||
SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems*{6d28c491-7d4a-44c3-959b-01a9913bff52}*SharedItemsImports = 13
|
||||
SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{74c78108-9199-4a7a-928c-fc4dc57d0ae4}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{809a15dc-e675-4a24-83fa-df13160f7e4c}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems*{809a15dc-e675-4a24-83fa-df13160f7e4c}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Windows\SkiaSharp.Views.Windows.projitems*{8bb20362-91a2-4206-944d-634070eac6f3}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{809a15dc-e675-4a24-83fa-df13160f7e4c}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{8bb20362-91a2-4206-944d-634070eac6f3}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{926c8d29-e047-4f4e-8b35-852e47bfa9f5}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{cbca14e7-96c9-4697-909c-19b1ef7298f7}*SharedItemsImports = 13
|
||||
SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems*{e5a90865-c185-45ad-88d1-6da7d6004b03}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Windows\SkiaSharp.Views.Windows.projitems*{e5a90865-c185-45ad-88d1-6da7d6004b03}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{e5a90865-c185-45ad-88d1-6da7d6004b03}*SharedItemsImports = 4
|
||||
SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{ff4c9f9f-7a6a-44d1-8338-d30e39e4e9d4}*SharedItemsImports = 13
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
|
|
@ -62,5 +62,6 @@
|
|||
<Import Project="..\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.OpenTK\SkiaSharp.Views.OpenTK.projitems" Label="Shared" />
|
||||
<Import Project="..\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\TVOS\Xamarin.TVOS.CSharp.targets" />
|
||||
</Project>
|
Загрузка…
Ссылка в новой задаче