FrameEventArgs throws an exception when setting the Time to a value <=
0. With that knowledge, both the Android and the IOS implementations
had a bug when setting the time.
On IOS, that bug would cause a crash on the first tick, as the first
tick would always set to 0.
On Android the bug was probably harmless but there was a redundant
check there (and also removed the unneeded allocation that was there on
every tick).
Showed warning "Missing XML comment for publicly visible type or member 'OpenTK.Box2.GetHashCode()' (CS1591) ", because there were five / instead of three / to indicate an XML comment.
This fixes#416.
The problem with this printout (as explained in the issue) is that on
Windows (at least for specific devices/OS) GetMouseMovePointsEx can
return duplicate points, so it’s either adding a check in the Windows
layer or remove the printout. Adding a check in the Windows layer looks
redundant though, as this is already checked in NativeWindowBase, so
removing the printout looks preferable.
This looks like it was once a Xamarin limitation, but it’s not anymore.
Note: tested this on Android, but not on IOS (tested compilation on IOS
only).
Fixes#447
HasSurface is called by ReadyToRender property to query if the surface
was created, but it’s possible that the window info was not created
yet, added a missing null check.
This fix will keep existing behavior (forced sharing) in the default case, but adds a new constructor that allows explicitly specifying the shared context. A user can now explicitly specify null for the shared context to get a new non-shared context.
Both WindowInfo and PlatformFactory wrap the actual platform-specific WindowInfo and PlatformFactory.
For offscreen rendering, AngleWindowInfo can be used with a DummyWindowInfo.
The API to add additional surfaces was added to IAngleWindowInfo, since all those calls need the Display parameter that is only available on EglWindowInfo (which is not exposed to users).
+ GraphicsContextFlags now has Angle and Offscreen flags.
+ Egl now has PLATFORM_ANGLE related const ints.
+ Added eglGetPlatformDisplayEXT p/invoke definition
+ Added eglQuerySurfacePointerANGLE p/invoke definition
+ EglWindowInfo.CreatePbufferSurface was commented out. Enabled and fixed it.
+ GraphicsContextFlags.Offscreen will make the context create a PbufferSurface instead of a WindowSurface in EglContext
+ SurfaceType enum to select surface type for SelectGraphicsMode
* Remove JoystickButton enum (Use zero-based int as button index instead)
* Change to using a long to store button states
* Max buttons now 64 (Unable to go further without using an array)