| 123456789101112131415161718192021222324252627282930 |
- using Avalonia.OpenGL.Egl;
- using Avalonia.OpenGL.Surfaces;
- namespace Avalonia.Android.OpenGL
- {
- internal sealed class GlPlatformSurface : EglGlPlatformSurfaceBase
- {
- private readonly EglPlatformOpenGlInterface _egl;
- private readonly IEglWindowGlPlatformSurfaceInfo _info;
- private GlPlatformSurface(EglPlatformOpenGlInterface egl, IEglWindowGlPlatformSurfaceInfo info)
- {
- _egl = egl;
- _info = info;
- }
- public override IGlPlatformSurfaceRenderTarget CreateGlRenderTarget() =>
- new GlRenderTarget(_egl, _info, _egl.CreateWindowSurface(_info.Handle), _info.Handle);
- public static GlPlatformSurface TryCreate(IEglWindowGlPlatformSurfaceInfo info)
- {
- if (EglPlatformOpenGlInterface.TryCreate() is EglPlatformOpenGlInterface egl)
- {
- return new GlPlatformSurface(egl, info);
- }
- return null;
- }
- }
- }
|