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)