<dependencies>
<group>
<dependency id="Xamarin.Forms" version="$version$" />
+ <dependency id="OpenTK" version="3.0.1" />
</group>
</dependencies>
</metadata>
<files>
- <file src="..\Xamarin.Forms.Platform.GTK\Libs\OpenTK\OpenTK.dll" target="lib\net45"/>
- <file src="..\Xamarin.Forms.Platform.GTK\Libs\OpenTK\OpenTK.dll.config" target="content"/>
<file src="..\Xamarin.Forms.Platform.GTK\Libs\webkit-sharp\webkit-sharp.dll" target="lib\net45"/>
<file src="..\Xamarin.Forms.Platform.GTK\Libs\webkit-sharp\webkit-sharp.dll.config" target="content"/>
<file src="..\Xamarin.Forms.Platform.GTK\bin\$Configuration$\Xamarin.Forms.Platform.GTK.dll" target="lib\net45"/>
<dependencies>
<group targetFramework="net45">
<dependency id="Xamarin.Forms" version="$version$"/>
- <dependency id="OpenTK" version="2.0.0"/>
- <dependency id="OpenTK.GLControl" version="1.1.2349.61993"/>
+ <dependency id="OpenTK" version="3.0.1"/>
+ <dependency id="OpenTK.GLControl" version="3.0.1"/>
</group>
</dependencies>
</metadata>
[assembly: Dependency (typeof (CacheService))]
[assembly: Dependency (typeof (TestCloudService))]
-[assembly: Dependency (typeof (StringProvider))]
[assembly: ExportRenderer (typeof (DisposePage), typeof (DisposePageRenderer))]
[assembly: ExportRenderer (typeof (DisposeLabel), typeof (DisposeLabelRenderer))]
[assembly: ExportRenderer (typeof (CustomButton), typeof (CustomButtonRenderer))]
--- /dev/null
+using System;
+using System.Collections.Generic;
+using Xamarin.Forms;
+using Xamarin.Forms.ControlGallery.Android;
+using Xamarin.Forms.Controls;
+
+[assembly: Dependency(typeof(PlatformSpecificCoreGalleryFactory))]
+
+namespace Xamarin.Forms.ControlGallery.Android
+{
+ public class PlatformSpecificCoreGalleryFactory : IPlatformSpecificCoreGalleryFactory
+ {
+ public string Title => "Android Core Gallery";
+
+ public IEnumerable<(Func<Page> Create, string Title)> GetPages()
+ {
+#if HAVE_OPENTK
+ yield return (() => new AdvancedOpenGLGallery(), "Advanced OpenGL Gallery - Legacy");
+#else
+ return null;
+#endif
+ }
+ }
+}
+++ /dev/null
-using Xamarin.Forms.Controls;
-
-namespace Xamarin.Forms.ControlGallery.Android
-{
- public class StringProvider : IStringProvider
- {
- public string CoreGalleryTitle
- {
- get
- {
- return "Android CoreGallery";
- }
- }
- }
-}
\ No newline at end of file
<AndroidEnableMultiDex>true</AndroidEnableMultiDex>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
+ <DefineConstants>HAVE_OPENTK</DefineConstants>
<AndroidKeyStore>True</AndroidKeyStore>
<AndroidSigningKeyStore>$(SolutionDir)debug.keystore</AndroidSigningKeyStore>
<AndroidSigningStorePass>android</AndroidSigningStorePass>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG</DefineConstants>
+ <DefineConstants>TRACE;DEBUG;HAVE_OPENTK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidLinkMode>Full</AndroidLinkMode>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>
</NoWarn>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
+ <DefineConstants>TRACE;HAVE_OPENTK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>
</NoWarn>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Xml" />
+ <Reference Include="OpenTK-1.0" />
</ItemGroup>
<ItemGroup>
<Compile Include="Activity1.cs" />
<Compile Include="FormsAppCompatActivity.cs" />
<Compile Include="MainApplication.cs" />
<Compile Include="PerformanceTrackerRenderer.cs" />
+ <Compile Include="PlatformSpecificCoreGalleryFactory.cs" />
<Compile Include="PreApplicationClassActivity.cs" />
<Compile Include="Properties\MapsKey.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="CustomRenderers.cs" />
<Compile Include="ColorPicker.cs" />
<Compile Include="SampleNativeControl.cs" />
- <Compile Include="StringProvider.cs" />
<Compile Include="TestCloudService.cs" />
<Compile Include="_1909CustomRenderer.cs" />
<Compile Include="_2489CustomRenderer.cs" />
<Compile Include="_58406EffectRenderer.cs" />
<Compile Include="_59457CustomRenderer.cs" />
<Compile Include="_60122ImageRenderer.cs" />
+ <Compile Include="..\Xamarin.Forms.Controls\GalleryPages\OpenGLGalleries\AdvancedOpenGLGallery.cs">
+ <Link>GalleryPages\AdvancedOpenGLGallery.cs</Link>
+ </Compile>
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\default.css" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="OpenTK" publicKeyToken="bad199fe84eb3df4" culture="neutral"/>
- <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
+ <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
--- /dev/null
+using System;
+using System.Collections.Generic;
+using Xamarin.Forms;
+using Xamarin.Forms.ControlGallery.GTK;
+using Xamarin.Forms.Controls;
+
+[assembly: Dependency(typeof(PlatformSpecificCoreGalleryFactory))]
+
+namespace Xamarin.Forms.ControlGallery.GTK
+{
+ public class PlatformSpecificCoreGalleryFactory : IPlatformSpecificCoreGalleryFactory
+ {
+ public string Title => "GTK# Core Gallery";
+
+ public IEnumerable<(Func<Page> Create, string Title)> GetPages()
+ {
+#if HAVE_OPENTK
+ yield return (() => new BasicOpenGLGallery(), "Basic OpenGL Gallery - Legacy");
+ yield return (() => new AdvancedOpenGLGallery(), "Advanced OpenGL Gallery - Legacy");
+#else
+ return null;
+#endif
+ }
+ }
+}
GtkOpenGL.Init();
GtkThemes.Init();
Gtk.Application.Init();
- FormsMaps.Init(string.Empty);
- Forms.Init();
+ FormsMaps.Init(string.Empty);
+ Forms.Init();
var app = new App();
- //var app = new BasicOpenGLApp();
- //var app = new AdvancedOpenGLApp();
var window = new FormsWindow();
window.LoadApplication(app);
window.SetApplicationTitle("Xamarin.Forms GTK# Backend");
+++ /dev/null
-using Xamarin.Forms;
-using Xamarin.Forms.ControlGallery.GTK;
-
-[assembly: Dependency(typeof(StringProvider))]
-namespace Xamarin.Forms.ControlGallery.GTK
-{
- public class StringProvider : Controls.IStringProvider
- {
- public string CoreGalleryTitle
- {
- get
- {
- return "GTK# CoreGallery";
- }
- }
- }
-}
\ No newline at end of file
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <DefineConstants>DEBUG;TRACE;HAVE_OPENTK;__GTK__</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
+ <DefineConstants>TRACE;HAVE_OPENTK;__GTK__</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<HintPath>..\Xamarin.Forms.Platform.GTK\Libs\gtk-sharp\gtk-sharp-2.0\gtk-sharp.dll</HintPath>
<Private>False</Private>
</Reference>
- <Reference Include="OpenTK, Version=2.0.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>..\Xamarin.Forms.Platform.GTK\Libs\OpenTK\OpenTK.dll</HintPath>
- </Reference>
<Reference Include="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Xamarin.Forms.Platform.GTK\Libs\gtk-sharp\gtk-sharp-2.0\pango-sharp.dll</HintPath>
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
- <Compile Include="AdvancedOpenGLView.cs" />
- <Compile Include="BasicOpenGLView.cs" />
+ <PackageReference Include="OpenTK" Version="3.0.1" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="..\xamarin.forms.controls\gallerypages\openglgalleries\AdvancedOpenGLGallery.cs">
+ <Link>GalleryPages\AdvancedOpenGLGallery.cs</Link>
+ </Compile>
+ <Compile Include="..\xamarin.forms.controls\gallerypages\openglgalleries\BasicOpenGLGallery.cs">
+ <Link>GalleryPages\BasicOpenGLGallery.cs</Link>
+ </Compile>
+ <Compile Include="PlatformSpecificCoreGalleryFactory.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RegistrarValidationService.cs" />
<Compile Include="SampleNativeControl.cs" />
- <Compile Include="StringProvider.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
using Xamarin.Forms.Platform.MacOS;
[assembly: Dependency(typeof(TestCloudService))]
-[assembly: Dependency(typeof(StringProvider))]
[assembly: Dependency(typeof(CacheService))]
[assembly: ExportRenderer(typeof(DisposePage), typeof(DisposePageRenderer))]
[assembly: ExportRenderer(typeof(DisposeLabel), typeof(DisposeLabelRenderer))]
}
}
- public class StringProvider : IStringProvider
- {
- public string CoreGalleryTitle
- {
- get { return "iOS Core Gallery"; }
- }
- }
-
public class TestCloudService : ITestCloudService
{
public bool IsOnTestCloud()
--- /dev/null
+using System;
+using System.Collections.Generic;
+using Xamarin.Forms;
+using Xamarin.Forms.ControlGallery.MacOS;
+using Xamarin.Forms.Controls;
+
+[assembly: Dependency(typeof(PlatformSpecificCoreGalleryFactory))]
+
+namespace Xamarin.Forms.ControlGallery.MacOS
+{
+ public class PlatformSpecificCoreGalleryFactory : IPlatformSpecificCoreGalleryFactory
+ {
+ public string Title => "macOS Core Gallery";
+
+ public IEnumerable<(Func<Page> Create, string Title)> GetPages()
+ {
+#if HAVE_OPENTK
+ yield return (() => new BasicOpenGLGallery(), "Basic OpenGL Gallery - Legacy");
+ yield return (() => new AdvancedOpenGLGallery(), "Advanced OpenGL Gallery - Legacy");
+#else
+ return null;
+#endif
+ }
+ }
+}
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
- <DefineConstants>DEBUG;</DefineConstants>
+ <DefineConstants>DEBUG;HAVE_OPENTK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</LinkMode>
<XamMacArch>
</XamMacArch>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
- <DefineConstants>
- </DefineConstants>
+ <DefineConstants>HAVE_OPENTK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</TlsProvider>
<XamMacArch>
</XamMacArch>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Net.Http" />
<Reference Include="Xamarin.Mac" />
<Reference Include="netstandard" />
+ <Reference Include="OpenTK" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
<Compile Include="NativeServices.cs" />
<Compile Include="BrokenNativeControl.cs" />
<Compile Include="CustomRenderers.cs" />
+ <Compile Include="PlatformSpecificCoreGalleryFactory.cs" />
<Compile Include="RegistrarValidationService.cs" />
<Compile Include="SampleNativeControl.cs" />
+ <Compile Include="..\Xamarin.Forms.Controls\GalleryPages\OpenGLGalleries\AdvancedOpenGLGallery.cs">
+ <Link>GalleryPages\AdvancedOpenGLGallery.cs</Link>
+ </Compile>
+ <Compile Include="..\Xamarin.Forms.Controls\GalleryPages\OpenGLGalleries\BasicOpenGLGallery.cs">
+ <Link>GalleryPages\BasicOpenGLGallery.cs</Link>
+ </Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Xamarin.Forms.Controls\Xamarin.Forms.Controls.csproj">
--- /dev/null
+using System;
+using System.Collections.Generic;
+using Xamarin.Forms;
+using Xamarin.Forms.ControlGallery.Tizen;
+using Xamarin.Forms.Controls;
+
+[assembly: Dependency(typeof(PlatformSpecificCoreGalleryFactory))]
+
+namespace Xamarin.Forms.ControlGallery.Tizen
+{
+ public class PlatformSpecificCoreGalleryFactory : IPlatformSpecificCoreGalleryFactory
+ {
+ public string Title => "Tizen Core Gallery";
+
+ public IEnumerable<(Func<Page> Create, string Title)> GetPages() => null;
+ }
+}
+++ /dev/null
-using Xamarin.Forms;
-using Xamarin.Forms.Controls;
-using Xamarin.Forms.ControlGallery.Tizen;
-
-[assembly: Dependency(typeof(StringProvider))]
-namespace Xamarin.Forms.ControlGallery.Tizen
-{
- public class StringProvider : IStringProvider
- {
- public string CoreGalleryTitle
- {
- get
- {
- return "Tizen CoreGallery";
- }
- }
- }
-}
\ No newline at end of file
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="OpenTK" publicKeyToken="bad199fe84eb3df4" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
+ <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Xamarin.Forms.Forms.Init();
FormsMaps.Init("");
LoadApplication(new Controls.App());
- //LoadApplication(new OpenGLViewApp());
}
}
}
+++ /dev/null
-using System;
-using OpenTK.Graphics.OpenGL;
-
-namespace Xamarin.Forms.ControlGallery.WPF
-{
- public class OpenGLViewApp : Application
- {
- public OpenGLViewApp()
- {
- MainPage = new OpenGLViewSample();
- }
- }
-
- public class OpenGLViewSample : ContentPage
- {
- private bool _initGl = false;
- private int _viewportWidth;
- private int _viewportHeight;
- private uint _mProgramHandle;
- private OpenGLView _openGLView = null;
-
- public OpenGLViewSample()
- {
- Title = "OpenGLView Sample";
-
- var titleLabel = new Label
- {
- Text = "OpenGLView",
- FontSize = 36
- };
-
- _openGLView = new OpenGLView
- {
- HeightRequest = 300,
- WidthRequest = 300,
- HasRenderLoop = false
- };
-
- _openGLView.OnDisplay = r =>
- {
- if (!_initGl)
- {
- double width_in_pixels = 300;
- double height_in_pixels = 300;
-
- InitGl((int)width_in_pixels, (int)height_in_pixels);
- }
-
- Render();
- };
-
- var stack = new StackLayout
- {
- Padding = new Size(12, 12),
- Children = { titleLabel, _openGLView }
- };
-
- Content = stack;
- }
-
- void InitGl(int width, int height)
- {
- _viewportHeight = width;
- _viewportWidth = height;
-
- _mProgramHandle = (uint)GL.CreateProgram();
- if (_mProgramHandle == 0)
- throw new InvalidOperationException("Unable to create program");
-
- GL.BindAttribLocation(_mProgramHandle, 0, "vPosition");
- GL.LinkProgram(_mProgramHandle);
-
- GL.Viewport(0, 0, _viewportWidth, _viewportHeight);
-
- GL.UseProgram(_mProgramHandle);
-
- _initGl = true;
- }
-
-
- void Render()
- {
- GL.ClearColor(0, 0, 0, 0);
- GL.Clear(ClearBufferMask.ColorBufferBit);
- GL.Color3(1.0f, 0.85f, 0.35f);
- GL.Begin(BeginMode.Triangles);
- GL.Vertex3(0.0, 0.6, 0.0);
- GL.Vertex3(-0.2, -0.3, 0.0);
- GL.Vertex3(0.2, -0.3, 0.0);
- GL.End();
- GL.Flush();
- }
- }
-
- public class ReferenceTime
- {
- private static DateTime reference_time;
- private static bool reference_time_set = false;
-
- public static double GetTimeFromReferenceMs()
- {
- if (!reference_time_set)
- {
- reference_time = DateTime.Now;
- reference_time_set = true;
-
- return 0.0;
- }
-
- DateTime actual_time = DateTime.Now;
- TimeSpan ts = new TimeSpan(actual_time.Ticks - reference_time.Ticks);
-
- return ts.TotalMilliseconds;
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-<configuration>
- <dllmap os="linux" dll="opengl32.dll" target="libGL.so.1"/>
- <dllmap os="linux" dll="glu32.dll" target="libGLU.so.1"/>
- <dllmap os="linux" dll="openal32.dll" target="libopenal.so.1"/>
- <dllmap os="linux" dll="alut.dll" target="libalut.so.0"/>
- <dllmap os="linux" dll="opencl.dll" target="libOpenCL.so"/>
- <dllmap os="linux" dll="libX11" target="libX11.so.6"/>
- <dllmap os="linux" dll="libXi" target="libXi.so.6"/>
- <dllmap os="linux" dll="SDL2.dll" target="libSDL2-2.0.so.0"/>
- <dllmap os="osx" dll="opengl32.dll" target="/System/Library/Frameworks/OpenGL.framework/OpenGL"/>
- <dllmap os="osx" dll="openal32.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" />
- <dllmap os="osx" dll="alut.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" />
- <dllmap os="osx" dll="libGLES.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
- <dllmap os="osx" dll="libGLESv1_CM.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
- <dllmap os="osx" dll="libGLESv2.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
- <dllmap os="osx" dll="opencl.dll" target="/System/Library/Frameworks/OpenCL.framework/OpenCL"/>
- <dllmap os="osx" dll="SDL2.dll" target="libSDL2.dylib"/>
- <!-- XQuartz compatibility (X11 on Mac) -->
- <dllmap os="osx" dll="libGL.so.1" target="/usr/X11/lib/libGL.dylib"/>
- <dllmap os="osx" dll="libX11" target="/usr/X11/lib/libX11.dylib"/>
- <dllmap os="osx" dll="libXcursor.so.1" target="/usr/X11/lib/libXcursor.dylib"/>
- <dllmap os="osx" dll="libXi" target="/usr/X11/lib/libXi.dylib"/>
- <dllmap os="osx" dll="libXinerama" target="/usr/X11/lib/libXinerama.dylib"/>
- <dllmap os="osx" dll="libXrandr.so.2" target="/usr/X11/lib/libXrandr.dylib"/>
-</configuration>
--- /dev/null
+using System;
+using System.Collections.Generic;
+using Xamarin.Forms;
+using Xamarin.Forms.ControlGallery.WPF;
+using Xamarin.Forms.Controls;
+
+[assembly: Dependency(typeof(PlatformSpecificCoreGalleryFactory))]
+
+namespace Xamarin.Forms.ControlGallery.WPF
+{
+ public class PlatformSpecificCoreGalleryFactory : IPlatformSpecificCoreGalleryFactory
+ {
+ public string Title => "WPF Core Gallery";
+
+ public IEnumerable<(Func<Page> Create, string Title)> GetPages()
+ {
+#if HAVE_OPENTK
+ yield return (() => new BasicOpenGLGallery(), "Basic OpenGL Gallery - Legacy");
+ yield return (() => new AdvancedOpenGLGallery(), "Advanced OpenGL Gallery - Legacy");
+#else
+ return null;
+#endif
+ }
+ }
+}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Xamarin.Forms;
-using Xamarin.Forms.ControlGallery.WPF;
-using Xamarin.Forms.Controls;
-
-[assembly: Dependency(typeof(StringProvider))]
-namespace Xamarin.Forms.ControlGallery.WPF
-{
- public class StringProvider : IStringProvider
- {
- public string CoreGalleryTitle
- {
- get { return "WPF Core Gallery"; }
- }
- }
-}
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <DefineConstants>DEBUG;TRACE;HAVE_OPENTK;__WPF__</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
+ <DefineConstants>TRACE;HAVE_OPENTK;__WPF__</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<ItemGroup>
<PackageReference Include="Meziantou.WpfFontAwesome" Version="4.7.0" />
<PackageReference Include="Microsoft.Maps.MapControl.WPF" Version="1.0.0.3" />
- <PackageReference Include="OpenTK" Version="2.0.0" />
- <PackageReference Include="OpenTK.GLControl" Version="1.1.2349.61993" />
+ <PackageReference Include="OpenTK" Version="3.0.1" />
+ <PackageReference Include="OpenTK.GLControl" Version="3.0.1" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
- <Compile Include="OpenGLViewApp.cs" />
+ <Compile Include="..\Xamarin.Forms.Controls\GalleryPages\OpenGLGalleries\AdvancedOpenGLGallery.cs">
+ <Link>GalleryPages\AdvancedOpenGLGallery.cs</Link>
+ </Compile>
+ <Compile Include="..\Xamarin.Forms.Controls\GalleryPages\OpenGLGalleries\BasicOpenGLGallery.cs">
+ <Link>GalleryPages\BasicOpenGLGallery.cs</Link>
+ </Compile>
+ <Compile Include="PlatformSpecificCoreGalleryFactory.cs" />
<Compile Include="RegistrarValidationService.cs" />
<Compile Include="SampleNativeControl.cs" />
- <Compile Include="StringProvider.cs" />
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</EmbeddedResource>
<Resource Include="Assets\fontawesome-webfont.ttf" />
<Resource Include="Assets\pickax.ttf" />
- <None Include="OpenTK.dll.config">
- <SubType>Designer</SubType>
- </None>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
--- /dev/null
+using System;
+using System.Collections.Generic;
+using Xamarin.Forms;
+using Xamarin.Forms.ControlGallery.WindowsUniversal;
+using Xamarin.Forms.Controls;
+
+[assembly: Dependency(typeof(PlatformSpecificCoreGalleryFactory))]
+
+namespace Xamarin.Forms.ControlGallery.WindowsUniversal
+{
+ public class PlatformSpecificCoreGalleryFactory : IPlatformSpecificCoreGalleryFactory
+ {
+ public string Title => "Windows Core Gallery";
+
+ public IEnumerable<(Func<Page> Create, string Title)> GetPages() => null;
+ }
+}
+++ /dev/null
-using Xamarin.Forms;
-using Xamarin.Forms.ControlGallery.WindowsUniversal;
-using Xamarin.Forms.Controls;
-
-[assembly: Dependency (typeof (StringProvider))]
-
-namespace Xamarin.Forms.ControlGallery.WindowsUniversal
-{
- public class StringProvider : IStringProvider
- {
- public string CoreGalleryTitle {
- get { return "Windows Core Gallery"; }
- }
- }
-}
<Compile Include="AttachedStateEffectRenderer.cs" />
<Compile Include="BorderEffect.cs" />
<Compile Include="DisposePageRenderer.cs" />
+ <Compile Include="PlatformSpecificCoreGalleryFactory.cs" />
<Compile Include="RegistrarValidationService.cs" />
<Compile Include="SampleNativeControl.cs" />
<Compile Include="_2489CustomRenderer.cs" />
<Content Include="Assets\Fonts\Lobster-Regular.ttf" />
<Content Include="Properties\default.rd.xml" />
<Compile Include="BrokenImageSourceHandler.cs" />
- <Compile Include="StringProvider.cs" />
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
</Compile>
using Xamarin.Forms.Platform.iOS;
[assembly: Dependency(typeof(TestCloudService))]
-[assembly: Dependency(typeof(StringProvider))]
[assembly: Dependency(typeof(CacheService))]
[assembly: ExportRenderer(typeof(DisposePage), typeof(DisposePageRenderer))]
[assembly: ExportRenderer(typeof(DisposeLabel), typeof(DisposeLabelRenderer))]
}
}
- public class StringProvider : IStringProvider
- {
- public string CoreGalleryTitle
- {
- get { return "iOS Core Gallery"; }
- }
- }
-
public class TestCloudService : ITestCloudService
{
public bool IsOnTestCloud()
--- /dev/null
+using System;
+using System.Collections.Generic;
+using Xamarin.Forms;
+using Xamarin.Forms.ControlGallery.iOS;
+using Xamarin.Forms.Controls;
+
+[assembly: Dependency(typeof(PlatformSpecificCoreGalleryFactory))]
+
+namespace Xamarin.Forms.ControlGallery.iOS
+{
+ public class PlatformSpecificCoreGalleryFactory : IPlatformSpecificCoreGalleryFactory
+ {
+ public string Title => "iOS Core Gallery";
+
+ public IEnumerable<(Func<Page> Create, string Title)> GetPages()
+ {
+#if HAVE_OPENTK
+ yield return (() => new AdvancedOpenGLGallery(), "Advanced OpenGL Gallery - Legacy");
+#else
+ return null;
+#endif
+ }
+ }
+}
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\iPhoneSimulator\Debug</OutputPath>
- <DefineConstants>DEBUG</DefineConstants>
+ <DefineConstants>DEBUG;HAVE_OPENTK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<MtouchFloat32>False</MtouchFloat32>
<CodesignKey>iPhone Developer</CodesignKey>
<CodesignProvision />
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\iPhoneSimulator\Release</OutputPath>
+ <DefineConstants>HAVE_OPENTK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<MtouchLink>None</MtouchLink>
<MtouchArch>i386, x86_64</MtouchArch>
<ConsolePause>false</ConsolePause>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\iPhone\Debug</OutputPath>
- <DefineConstants>DEBUG;__UNIFIED__;__MOBILE__;__IOS__</DefineConstants>
+ <DefineConstants>DEBUG;__UNIFIED__;__MOBILE__;__IOS__;HAVE_OPENTK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<CodesignExtraArgs />
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\iPhone\Release</OutputPath>
+ <DefineConstants>HAVE_OPENTK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<MtouchArch>ARMv7, ARM64</MtouchArch>
<CodesignKey>iPhone Developer</CodesignKey>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' ">
<AppExtensionDebugBundleId />
<Compile Include="AttachedStateEffectRenderer.cs" />
<Compile Include="BrokenImageSourceHandler.cs" />
<Compile Include="BrokenNativeControl.cs" />
+ <Compile Include="PlatformSpecificCoreGalleryFactory.cs" />
<Compile Include="SearchbarEffect.cs" />
<Compile Include="CustomRenderer40251.cs" />
<Compile Include="Main.cs" />
<Compile Include="CustomRenderers.cs" />
<Compile Include="CustomRendererBugzila38731.cs" />
<Compile Include="CustomApplication.cs" />
+ <Compile Include="..\xamarin.forms.controls\gallerypages\openglgalleries\AdvancedOpenGLGallery.cs">
+ <Link>GalleryPages\AdvancedOpenGLGallery.cs</Link>
+ </Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Xamarin.Forms.Controls\Xamarin.Forms.Controls.csproj">
<Reference Include="System.Core" />
<Reference Include="Xamarin.iOS" />
<Reference Include="netstandard" />
+ <Reference Include="OpenTK-1.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AdvancedColorPicker" Version="2.0.1" />
new GalleryPageFactory(() => new MultiGallery(), "Multi Gallery - Legacy"),
new GalleryPageFactory(() => new NavigationPropertiesGallery(), "Navigation Properties"),
#if HAVE_OPENTK
- new GalleryPageFactory(() => new OpenGLGallery(), "OpenGLGallery - Legacy"),
+ new GalleryPageFactory(() => new BasicOpenGLGallery(), "Basic OpenGL Gallery - Legacy"),
+ new GalleryPageFactory(() => new AdvancedOpenGLGallery(), "Advanced OpenGL Gallery - Legacy"),
#endif
new GalleryPageFactory(() => new PickerGallery(), "Picker Gallery - Legacy"),
new GalleryPageFactory(() => new ProgressBarGallery(), "ProgressBar Gallery - Legacy"),
public CorePageView(Page rootPage, NavigationBehavior navigationBehavior = NavigationBehavior.PushAsync)
{
+ var galleryFactory = DependencyService.Get<IPlatformSpecificCoreGalleryFactory>();
+
+ var platformPages = galleryFactory?.GetPages();
+ if (platformPages != null)
+ _pages.AddRange(platformPages.Select(p => new GalleryPageFactory(p.Create, p.Title + " (Platform Specifc)")));
+
_titleToPage = _pages.ToDictionary(o => o.Title);
// avoid NRE for root pages without NavigationBar
{
ValidateRegistrar();
- IStringProvider stringProvider = DependencyService.Get<IStringProvider>();
+ var galleryFactory = DependencyService.Get<IPlatformSpecificCoreGalleryFactory>();
- Title = stringProvider.CoreGalleryTitle;
+ Title = galleryFactory?.Title ?? "Core Gallery";
var corePageView = new CorePageView(rootPage, navigationBehavior);
}
[Preserve(AllMembers = true)]
- public interface IStringProvider
+ public interface IPlatformSpecificCoreGalleryFactory
{
- string CoreGalleryTitle { get; }
+ string Title { get; }
+
+ IEnumerable<(Func<Page> Create, string Title)> GetPages();
}
[Preserve(AllMembers = true)]
public static class CoreGallery
-using OpenTK;
-using OpenTK.Graphics.OpenGL;
+#if HAVE_OPENTK
using System;
+using OpenTK;
-namespace Xamarin.Forms.ControlGallery.GTK
-{
- public class AdvancedOpenGLApp : Application
- {
- public AdvancedOpenGLApp()
- {
- MainPage = new AdvancedOpenGLView();
- }
- }
+#if __WPF__ || __GTK__ || __MACOS__
+using OpenTK.Graphics.OpenGL;
+#elif __ANDROID__ || __IOS__
+using OpenTK.Graphics.ES20;
+#endif
- public class AdvancedOpenGLView : ContentPage
+namespace Xamarin.Forms.Controls
+{
+ public class AdvancedOpenGLGallery : ContentPage
{
private const string VertexShader = @"
uniform mat4 uMVPMatrix;
private Xamarin.Forms.OpenGLView _openGLView = null;
- public AdvancedOpenGLView()
+ public AdvancedOpenGLGallery()
{
Title = "Advanced OpenGLView Sample";
return ts.TotalMilliseconds;
}
}
-}
\ No newline at end of file
+}
+#endif
\ No newline at end of file
-using System;
+#if HAVE_OPENTK
+using System;
using OpenTK.Graphics.OpenGL;
-namespace Xamarin.Forms.ControlGallery.GTK
+namespace Xamarin.Forms.Controls
{
- public class BasicOpenGLApp : Application
- {
- public BasicOpenGLApp()
- {
- MainPage = new BasicOpenGLView();
- }
- }
-
- public class BasicOpenGLView : ContentPage
+ public class BasicOpenGLGallery : ContentPage
{
private bool _initGl = false;
private int _viewportWidth;
private uint _mProgramHandle;
private OpenGLView _openGLView = null;
- public BasicOpenGLView()
+ public BasicOpenGLGallery()
{
Title = "Basic OpenGLView Sample";
GL.Flush();
}
}
-}
\ No newline at end of file
+}
+#endif
\ No newline at end of file
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-#if HAVE_OPENTK
-using OpenTK.Graphics;
-using OpenTK.Graphics.ES20;
-#endif
-
-namespace Xamarin.Forms.Controls
-{
-#if HAVE_OPENTK
- public class OpenGLGallery : ContentPage
- {
- float red, green, blue;
-
- public OpenGLGallery ()
- {
- var view = new OpenGLView {HasRenderLoop = true};
- var toggle = new Switch {IsToggled = true};
- var button = new Button {Text = "Display"};
-
- view.HeightRequest = 300;
- view.WidthRequest = 300;
-
- view.OnDisplay = r =>{
- /*
- if (!inited) {
- var shader = GL.CreateShader (All.VertexShader);
- int length = 0;
- GL.ShaderSource (shader, 1, new string [] { "void main() { gl_FragColor = vec4(0.6, 1.0, 0.0, 1.0); }"}, ref length);
- GL.CompileShader (shader);
- int status = 0;
- GL.GetShader (shader, All.CompileStatus, ref status);
- if (status == 0) {
- GL.DeleteShader (shader);
- throw new Exception();
- }
-
- inited = true;
- }
- */
- GL.ClearColor (red, green, blue, 1.0f);
- GL.Clear ((ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit));
-
- red += 0.01f;
- if (red >= 1.0f)
- red -= 1.0f;
- green += 0.02f;
- if (green >= 1.0f)
- green -= 1.0f;
- blue += 0.03f;
- if (blue >= 1.0f)
- blue -= 1.0f;
- };
-
- toggle.Toggled += (s, a) => { view.HasRenderLoop = toggle.IsToggled; };
- button.Activated += (s, a) => view.Display ();
-
- var stack = new StackLayout {Padding = new Size (20, 20)};
- stack.Add (view);
- stack.Add (toggle);
- stack.Add (button);
-
- Content = stack;
- }
- }
-#endif
-}
using System.Resources;
using System.Text;
using System.Threading.Tasks;
-#if HAVE_OPENTK
-using OpenTK.Graphics;
-using OpenTK.Graphics.ES20;
-#endif
namespace Xamarin.Forms.Controls
{
<assemblyIdentity name="Mono.Cairo" publicKeyToken="0738eb9f132ed756" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
- <dependentAssembly>
- <assemblyIdentity name="OpenTK" publicKeyToken="bad199fe84eb3df4" culture="neutral"/>
- <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
- </dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/></startup></configuration>
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
- <None Include="app.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
- <runtime>
- <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
- <dependentAssembly>
- <assemblyIdentity name="OpenTK" publicKeyToken="bad199fe84eb3df4" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
- </dependentAssembly>
- </assemblyBinding>
- </runtime>
-</configuration>
\ No newline at end of file
+++ /dev/null
-<configuration>
- <dllmap os="linux" dll="opengl32.dll" target="libGL.so.1"/>
- <dllmap os="linux" dll="glu32.dll" target="libGLU.so.1"/>
- <dllmap os="linux" dll="openal32.dll" target="libopenal.so.1"/>
- <dllmap os="linux" dll="alut.dll" target="libalut.so.0"/>
- <dllmap os="linux" dll="opencl.dll" target="libOpenCL.so"/>
- <dllmap os="linux" dll="libX11" target="libX11.so.6"/>
- <dllmap os="linux" dll="libXi" target="libXi.so.6"/>
- <dllmap os="linux" dll="SDL2.dll" target="libSDL2-2.0.so.0"/>
- <dllmap os="osx" dll="opengl32.dll" target="/System/Library/Frameworks/OpenGL.framework/OpenGL"/>
- <dllmap os="osx" dll="openal32.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" />
- <dllmap os="osx" dll="alut.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" />
- <dllmap os="osx" dll="libGLES.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
- <dllmap os="osx" dll="libGLESv1_CM.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
- <dllmap os="osx" dll="libGLESv2.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
- <dllmap os="osx" dll="opencl.dll" target="/System/Library/Frameworks/OpenCL.framework/OpenCL"/>
- <dllmap os="osx" dll="SDL2.dll" target="libSDL2.dylib"/>
- <!-- XQuartz compatibility (X11 on Mac) -->
- <dllmap os="osx" dll="libGL.so.1" target="/usr/X11/lib/libGL.dylib"/>
- <dllmap os="osx" dll="libX11" target="/usr/X11/lib/libX11.dylib"/>
- <dllmap os="osx" dll="libXcursor.so.1" target="/usr/X11/lib/libXcursor.dylib"/>
- <dllmap os="osx" dll="libXi" target="/usr/X11/lib/libXi.dylib"/>
- <dllmap os="osx" dll="libXinerama" target="/usr/X11/lib/libXinerama.dylib"/>
- <dllmap os="osx" dll="libXrandr.so.2" target="/usr/X11/lib/libXrandr.dylib"/>
-</configuration>
+++ /dev/null
-https://github.com/opentk/opentk
\ No newline at end of file
<HintPath>Libs\gtk-sharp\Mono.Cairo\Mono.Cairo.dll</HintPath>
<Private>False</Private>
</Reference>
- <Reference Include="OpenTK, Version=3.0.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>Libs\OpenTK\OpenTK.dll</HintPath>
- </Reference>
<Reference Include="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>Libs\gtk-sharp\gtk-sharp-2.0\pango-sharp.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
+ <PackageReference Include="OpenTK" Version="3.0.1" />
+ </ItemGroup>
+ <ItemGroup>
<Compile Include="..\Xamarin.Forms.Core\Properties\GlobalAssemblyInfo.cs">
<Link>Properties\GlobalAssemblyInfo.cs</Link>
</Compile>
<Content Include="Libs\gtk-sharp\Mono.Cairo\Mono.Cairo.dll" />
<Content Include="Libs\gtk-sharp\Mono.Posix\Mono.Posix.dll" />
<Content Include="Libs\gtk-sharp\README.txt" />
- <Content Include="Libs\OpenTK\OpenTK.dll" />
- <Content Include="Libs\OpenTK\README.txt" />
<Content Include="Libs\webkit-sharp\webkit-sharp.dll.config" />
- <None Include="Libs\OpenTK\OpenTK.dll.config" />
<None Include="webkit-sharp.dll.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
+++ /dev/null
-<configuration>
- <dllmap os="linux" dll="opengl32.dll" target="libGL.so.1"/>
- <dllmap os="linux" dll="glu32.dll" target="libGLU.so.1"/>
- <dllmap os="linux" dll="openal32.dll" target="libopenal.so.1"/>
- <dllmap os="linux" dll="alut.dll" target="libalut.so.0"/>
- <dllmap os="linux" dll="opencl.dll" target="libOpenCL.so"/>
- <dllmap os="linux" dll="libX11" target="libX11.so.6"/>
- <dllmap os="linux" dll="libXi" target="libXi.so.6"/>
- <dllmap os="linux" dll="SDL2.dll" target="libSDL2-2.0.so.0"/>
- <dllmap os="osx" dll="opengl32.dll" target="/System/Library/Frameworks/OpenGL.framework/OpenGL"/>
- <dllmap os="osx" dll="openal32.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" />
- <dllmap os="osx" dll="alut.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" />
- <dllmap os="osx" dll="libGLES.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
- <dllmap os="osx" dll="libGLESv1_CM.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
- <dllmap os="osx" dll="libGLESv2.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
- <dllmap os="osx" dll="opencl.dll" target="/System/Library/Frameworks/OpenCL.framework/OpenCL"/>
- <dllmap os="osx" dll="SDL2.dll" target="libSDL2.dylib"/>
- <!-- XQuartz compatibility (X11 on Mac) -->
- <dllmap os="osx" dll="libGL.so.1" target="/usr/X11/lib/libGL.dylib"/>
- <dllmap os="osx" dll="libX11" target="/usr/X11/lib/libX11.dylib"/>
- <dllmap os="osx" dll="libXcursor.so.1" target="/usr/X11/lib/libXcursor.dylib"/>
- <dllmap os="osx" dll="libXi" target="/usr/X11/lib/libXi.dylib"/>
- <dllmap os="osx" dll="libXinerama" target="/usr/X11/lib/libXinerama.dylib"/>
- <dllmap os="osx" dll="libXrandr.so.2" target="/usr/X11/lib/libXrandr.dylib"/>
-</configuration>
<Reference Include="WindowsFormsIntegration" />
</ItemGroup>
<ItemGroup>
- <PackageReference Include="OpenTK" Version="2.0.0" />
- <PackageReference Include="OpenTK.GLControl" Version="1.1.2349.61993" />
+ <PackageReference Include="OpenTK" Version="3.0.1" />
+ <PackageReference Include="OpenTK.GLControl" Version="3.0.1" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\Xamarin.Forms.Platform.UAP\TextBlockExtensions.cs">
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="app.config" />
- <None Include="OpenTK.dll.config">
- <SubType>Designer</SubType>
- </None>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="OpenTK" publicKeyToken="bad199fe84eb3df4" culture="neutral" />
- <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
+ <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>