Remove regions from iOS and correct brace style.

This commit is contained in:
Jarl Gullberg 2017-07-28 12:01:28 +02:00
parent 15a0d86fe0
commit e7620a11b4
No known key found for this signature in database
GPG key ID: 750FF6F6BDA72D23
5 changed files with 129 additions and 22 deletions

View file

@ -227,7 +227,9 @@ namespace OpenTK
public override bool Equals(object obj)
{
if (obj is PointF)
{
return Equals((PointF)obj);
}
return false;
}
@ -286,7 +288,9 @@ namespace OpenTK
set
{
if (width < 0)
{
throw new ArgumentOutOfRangeException();
}
width = value;
}
}
@ -300,7 +304,9 @@ namespace OpenTK
set
{
if (height < 0)
{
throw new ArgumentOutOfRangeException();
}
height = value;
}
}
@ -353,7 +359,9 @@ namespace OpenTK
public override bool Equals(object obj)
{
if (obj is SizeF)
{
return Equals((SizeF)obj);
}
return false;
}
@ -578,7 +586,9 @@ namespace OpenTK
public override bool Equals(object obj)
{
if (obj is RectangleF)
{
return Equals((RectangleF)obj);
}
return false;
}
@ -789,7 +799,9 @@ namespace OpenTK
public override bool Equals(object obj)
{
if (!(obj is Color))
{
return false;
}
return Equals((Color)obj);
}

View file

@ -90,7 +90,10 @@ namespace OpenTK.Platform
Embedded = Default;
}
#if IPHONE
else if (Configuration.RunningOnIOS) Embedded = new iPhoneOS.iPhoneFactory();
else if (Configuration.RunningOnIOS)
{
Embedded = new iPhoneOS.iPhoneFactory();
}
#else
else if (Egl.Egl.IsSupported)
{

View file

@ -1,4 +1,3 @@
#region License
//
// The Open Toolkit Library License
//
@ -24,7 +23,6 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
//
#endregion
using System;
using System.Collections.Generic;
@ -38,8 +36,6 @@ namespace OpenTK.Platform.iPhoneOS
{
class iPhoneFactory : PlatformFactoryBase
{
#region IPlatformFactory Members
public override IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags)
{
return new iPhoneOS.iPhoneOSGraphicsContext(mode, window, shareContext, major, minor, flags);
@ -56,7 +52,9 @@ namespace OpenTK.Platform.iPhoneOS
EAGLContext c = EAGLContext.CurrentContext;
IntPtr h = IntPtr.Zero;
if (c != null)
{
h = c.Handle;
}
return new ContextHandle(h);
};
}
@ -85,7 +83,5 @@ namespace OpenTK.Platform.iPhoneOS
{
throw new NotImplementedException();
}
#endregion
}
}

View file

@ -1,4 +1,3 @@
#region --- License ---
/* Licensed under the MIT/X11 license.
* Copyright (c) 2009 Novell, Inc.
* Copyright 2013 Xamarin Inc
@ -6,7 +5,6 @@
* See license.txt for licensing detailed licensing details.
*/
// Copyright 2011 Xamarin Inc. All rights reserved.
#endregion
using System;
using System.ComponentModel;
@ -149,7 +147,9 @@ namespace OpenTK.Platform.iPhoneOS
this.view = view;
if (displayLink != null)
{
displayLink.Invalidate ();
}
displayLink = CADisplayLink.Create (this, selRunIteration);
displayLink.FrameInterval = frameInterval;
@ -211,8 +211,10 @@ namespace OpenTK.Platform.iPhoneOS
public void Resume ()
{
if (timeout != new TimeSpan (-1))
{
timer = NSTimer.CreateRepeatingScheduledTimer (timeout, view.RunIteration);
}
}
public void Invalidate ()
{
@ -262,14 +264,18 @@ namespace OpenTK.Platform.iPhoneOS
void AssertValid()
{
if (disposed)
{
throw new ObjectDisposedException("");
}
}
void AssertContext()
{
if (GraphicsContext == null)
{
throw new InvalidOperationException("Operation requires a GraphicsContext, which hasn't been created yet.");
}
}
EAGLRenderingAPI api;
public EAGLRenderingAPI ContextRenderingApi {
@ -280,7 +286,9 @@ namespace OpenTK.Platform.iPhoneOS
set {
AssertValid();
if (GraphicsContext != null)
{
throw new NotSupportedException("Can't change RenderingApi after GraphicsContext is constructed.");
}
this.api = value;
}
}
@ -292,13 +300,17 @@ namespace OpenTK.Platform.iPhoneOS
if (GraphicsContext != null) {
iPhoneOSGraphicsContext c = GraphicsContext as iPhoneOSGraphicsContext;
if (c != null)
{
return c.EAGLContext;
}
var i = GraphicsContext as IGraphicsContextInternal;
IGraphicsContext ic = i == null ? null : i.Implementation;
c = ic as iPhoneOSGraphicsContext;
if (c != null)
{
return c.EAGLContext;
}
}
return null;
}
}
@ -312,7 +324,9 @@ namespace OpenTK.Platform.iPhoneOS
set {
AssertValid();
if (GraphicsContext != null)
{
throw new NotSupportedException("Can't change LayerRetainsBacking after GraphicsContext is constructed.");
}
retainedBacking = value;
}
}
@ -326,7 +340,9 @@ namespace OpenTK.Platform.iPhoneOS
set {
AssertValid();
if (GraphicsContext != null)
{
throw new NotSupportedException("Can't change LayerColorFormat after GraphicsContext is constructed.");
}
colorFormat = value;
}
}
@ -347,7 +363,9 @@ namespace OpenTK.Platform.iPhoneOS
while (r != null) {
var c = r as UIViewController;
if (c != null)
{
return c;
}
r = r.NextResponder;
}
return null;
@ -358,7 +376,9 @@ namespace OpenTK.Platform.iPhoneOS
AssertValid();
var c = GetViewController();
if (c != null)
{
return c.Title;
}
throw new NotSupportedException();
}
set {
@ -371,16 +391,20 @@ namespace OpenTK.Platform.iPhoneOS
}
}
else
{
throw new NotSupportedException();
}
}
}
protected virtual void OnTitleChanged(EventArgs e)
{
var h = TitleChanged;
if (h != null)
{
h (this, EventArgs.Empty);
}
}
bool INativeWindow.Focused {
get {throw new NotImplementedException();}
@ -404,8 +428,10 @@ namespace OpenTK.Platform.iPhoneOS
{
var h = VisibleChanged;
if (h != null)
{
h (this, EventArgs.Empty);
}
}
bool INativeWindow.Exists {
get {throw new NotImplementedException();}
@ -427,7 +453,9 @@ namespace OpenTK.Platform.iPhoneOS
#else
if (c != null && c.WantsFullScreenLayout)
#endif
{
return WindowState.Fullscreen;
}
return WindowState.Normal;
}
set {
@ -454,8 +482,10 @@ namespace OpenTK.Platform.iPhoneOS
{
var h = WindowStateChanged;
if (h != null)
{
h (this, EventArgs.Empty);
}
}
public virtual WindowBorder WindowBorder {
get {
@ -494,8 +524,10 @@ namespace OpenTK.Platform.iPhoneOS
{
var h = Resize;
if (h != null)
{
h (this, e);
}
}
int INativeWindow.X {
get {throw new NotSupportedException();}
@ -531,7 +563,9 @@ namespace OpenTK.Platform.iPhoneOS
{
AssertValid();
if (LayerColorFormat == null)
{
throw new InvalidOperationException("Set the LayerColorFormat property to an EAGLColorFormat value before calling Run().");
}
CAEAGLLayer eaglLayer = (CAEAGLLayer) Layer;
eaglLayer.DrawableProperties = NSDictionary.FromObjectsAndKeys (
@ -573,16 +607,22 @@ namespace OpenTK.Platform.iPhoneOS
AssertContext();
EAGLContext oldContext = EAGLContext.CurrentContext;
if (!GraphicsContext.IsCurrent)
{
MakeCurrent();
}
gl.DeleteFramebuffers (1, ref framebuffer);
gl.DeleteRenderbuffers (1, ref renderbuffer);
framebuffer = renderbuffer = 0;
if (oldContext != EAGLContext)
{
EAGLContext.SetCurrentContext(oldContext);
}
else
{
EAGLContext.SetCurrentContext(null);
}
GraphicsContext.Dispose();
GraphicsContext = null;
@ -646,34 +686,46 @@ namespace OpenTK.Platform.iPhoneOS
{
var h = Closed;
if (h != null)
{
h (this, e);
}
}
protected override void Dispose(bool disposing)
{
if (disposed)
{
return;
}
if (disposing) {
if (timesource != null)
{
timesource.Invalidate ();
}
timesource = null;
if (stopwatch != null)
{
stopwatch.Stop();
}
stopwatch = null;
DestroyFrameBuffer();
}
base.Dispose (disposing);
disposed = true;
if (disposing)
{
OnDisposed(EventArgs.Empty);
}
}
protected virtual void OnDisposed(EventArgs e)
{
var h = Disposed;
if (h != null)
{
h (this, e);
}
}
void INativeWindow.ProcessEvents()
{
@ -694,7 +746,9 @@ namespace OpenTK.Platform.iPhoneOS
{
base.LayoutSubviews ();
if (GraphicsContext == null)
{
return;
}
var bounds = Bounds;
if (AutoResize && (Math.Round(bounds.Width) != Size.Width ||
@ -730,7 +784,9 @@ namespace OpenTK.Platform.iPhoneOS
public void Run (double updatesPerSecond)
{
if (updatesPerSecond < 0.0)
{
throw new ArgumentException ("updatesPerSecond");
}
if (updatesPerSecond == 0.0) {
RunWithFrameInterval (1);
@ -738,7 +794,9 @@ namespace OpenTK.Platform.iPhoneOS
}
if (timesource != null)
{
timesource.Invalidate ();
}
timesource = new NSTimerTimeSource (this, updatesPerSecond);
@ -758,10 +816,14 @@ namespace OpenTK.Platform.iPhoneOS
AssertValid ();
if (frameInterval < 1)
{
throw new ArgumentException ("frameInterval");
}
if (timesource != null)
{
timesource.Invalidate ();
}
timesource = new CADisplayLinkTimeSource (this, frameInterval);
@ -791,7 +853,9 @@ namespace OpenTK.Platform.iPhoneOS
void Suspend ()
{
if (timesource != null)
{
timesource.Suspend ();
}
stopwatch.Stop();
suspended = true;
}
@ -799,7 +863,9 @@ namespace OpenTK.Platform.iPhoneOS
void Resume ()
{
if (timesource != null)
{
timesource.Resume ();
}
stopwatch.Start();
suspended = false;
}
@ -869,7 +935,9 @@ namespace OpenTK.Platform.iPhoneOS
public override void WillMoveToWindow(UIWindow window)
{
if (window == null && !suspended)
{
Suspend();
}
else if (window != null && suspended) {
if (frameBufferLayer != null && ((CALayer)frameBufferLayer.Target) != Layer ||
frameBufferWindow != null && ((UIWindow)frameBufferWindow.Target) != window) {
@ -910,30 +978,38 @@ namespace OpenTK.Platform.iPhoneOS
{
var h = Load;
if (h != null)
{
h (this, e);
}
}
protected virtual void OnUnload(EventArgs e)
{
var h = Unload;
DestroyFrameBuffer();
if (h != null)
{
h (this, e);
}
}
protected virtual void OnUpdateFrame(FrameEventArgs e)
{
var h = UpdateFrame;
if (h != null)
{
h (this, e);
}
}
protected virtual void OnRenderFrame(FrameEventArgs e)
{
var h = RenderFrame;
if (h != null)
{
h (this, e);
}
}
event EventHandler<EventArgs> INativeWindow.Move {
add {throw new NotSupportedException();}

View file

@ -1,11 +1,9 @@
#region --- License ---
/* Licensed under the MIT/X11 license.
* Copyright (c) 2009 Novell, Inc.
* Copyright 2013 Xamarin Inc
* This notice may not be removed from any source distribution.
* See license.txt for licensing detailed licensing details.
*/
#endregion
using System;
@ -33,13 +31,21 @@ namespace OpenTK.Platform.iPhoneOS {
EAGLRenderingAPI version = 0;
if (major == 1 && minor == 1)
{
version = EAGLRenderingAPI.OpenGLES1;
}
else if (major == 2 && minor == 0)
{
version = EAGLRenderingAPI.OpenGLES2;
}
else if (major == 3 && minor == 0)
{
version = EAGLRenderingAPI.OpenGLES3;
}
else
{
throw new ArgumentException (string.Format("Unsupported GLES version {0}.{1}.", major, minor));
}
if (handle.Handle == IntPtr.Zero) {
EAGLContext = shared != null && shared.EAGLContext != null
@ -60,13 +66,21 @@ namespace OpenTK.Platform.iPhoneOS {
EAGLRenderingAPI version = 0;
if (major == 1 && minor == 1)
{
version = EAGLRenderingAPI.OpenGLES1;
}
else if (major == 2 && minor == 0)
{
version = EAGLRenderingAPI.OpenGLES2;
}
else if (major == 3 && minor == 0)
{
version = EAGLRenderingAPI.OpenGLES3;
}
else
{
throw new ArgumentException (string.Format("Unsupported GLES version {0}.{1}.", major, minor));
}
EAGLContext = shared != null && shared.EAGLContext != null
? new EAGLContext(version, shared.EAGLContext.ShareGroup)
@ -77,14 +91,18 @@ namespace OpenTK.Platform.iPhoneOS {
public override void SwapBuffers()
{
if (!EAGLContext.PresentRenderBuffer((uint) OpenTK.Graphics.ES11.All.RenderbufferOes))
{
throw new InvalidOperationException ("EAGLContext.PresentRenderbuffer failed.");
}
}
public override void MakeCurrent(IWindowInfo window)
{
if (!EAGLContext.SetCurrentContext(window != null ? EAGLContext : null))
{
throw new InvalidOperationException("Unable to change current EAGLContext.");
}
}
public override bool IsCurrent
{
@ -111,7 +129,9 @@ namespace OpenTK.Platform.iPhoneOS {
if (disposing)
{
if (EAGLContext != null)
{
EAGLContext.Dispose();
}
EAGLContext = null;
}
IsDisposed = true;