summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.MacOS/Renderers/OpenGLViewRenderer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.MacOS/Renderers/OpenGLViewRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.MacOS/Renderers/OpenGLViewRenderer.cs104
1 files changed, 0 insertions, 104 deletions
diff --git a/Xamarin.Forms.Platform.MacOS/Renderers/OpenGLViewRenderer.cs b/Xamarin.Forms.Platform.MacOS/Renderers/OpenGLViewRenderer.cs
deleted file mode 100644
index dda6ac50..00000000
--- a/Xamarin.Forms.Platform.MacOS/Renderers/OpenGLViewRenderer.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-using System;
-using System.ComponentModel;
-using CoreVideo;
-
-namespace Xamarin.Forms.Platform.MacOS
-{
- // ReSharper disable once InconsistentNaming
- internal class OpenGLViewRenderer : ViewRenderer<OpenGLView, MacOSOpenGLView>
- {
- CVDisplayLink _displayLink;
-
- public void Display(object sender, EventArgs eventArgs)
- {
- if (Element.HasRenderLoop)
- return;
- SetupRenderLoop(true);
- }
-
- protected override void Dispose(bool disposing)
- {
- if (_displayLink != null)
- {
- _displayLink.Dispose();
- _displayLink = null;
-
- if (Element != null)
- ((IOpenGlViewController)Element).DisplayRequested -= Display;
- }
-
- base.Dispose(disposing);
- }
-
- protected override void OnElementChanged(ElementChangedEventArgs<OpenGLView> e)
- {
- if (e.OldElement != null)
- ((IOpenGlViewController)e.OldElement).DisplayRequested -= Display;
-
- if (e.NewElement != null)
- {
- //var context = new EAGLContext(EAGLRenderingAPI.OpenGLES2);
- //var glkView = new GLKView(RectangleF.Empty) { Context = context, DrawableDepthFormat = GLKViewDrawableDepthFormat.Format24, Delegate = new Delegate(e.NewElement) };
- var glkView = new MacOSOpenGLView();
- SetNativeControl(glkView);
-
- ((IOpenGlViewController)e.NewElement).DisplayRequested += Display;
-
- SetupRenderLoop(false);
- }
-
- base.OnElementChanged(e);
- }
-
- protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
- {
- base.OnElementPropertyChanged(sender, e);
-
- if (e.PropertyName == OpenGLView.HasRenderLoopProperty.PropertyName)
- SetupRenderLoop(false);
- }
-
- void SetupRenderLoop(bool oneShot)
- {
- if (_displayLink != null)
- return;
- if (!oneShot && !Element.HasRenderLoop)
- return;
-
- _displayLink = new CVDisplayLink();
-
- //.Create(() =>
- //{
- // var control = Control;
- // var model = Element;
- // if (control != null)
- // control.Display();
- // if (control == null || model == null || !model.HasRenderLoop)
- // {
- // _displayLink.Invalidate();
- // _displayLink.Dispose();
- // _displayLink = null;
- // }
- //});
- //_displayLink.(NSRunLoop.Current, NSRunLoop.NSDefaultRunLoopMode);
- }
-
- //class Delegate : GLKViewDelegate
- //{
- // readonly OpenGLView _model;
-
- // public Delegate(OpenGLView model)
- // {
- // _model = model;
- // }
-
- // public override void DrawInRect(GLKView view, RectangleF rect)
- // {
- // var onDisplay = _model.OnDisplay;
- // if (onDisplay == null)
- // return;
- // onDisplay(rect.ToRectangle());
- // }
- //}
- }
-} \ No newline at end of file