From 0089e8920209cb91b0ff54cb930aab3d6ff81b37 Mon Sep 17 00:00:00 2001 From: the_fiddler Date: Tue, 25 Aug 2009 10:36:14 +0000 Subject: [PATCH] Added EmbeddedGraphicsContext as the foundation of all ES context implementations and modified EglContext to inherit from this. --- Source/OpenTK/Platform/Egl/EglContext.cs | 9 +--- .../Platform/EmbeddedGraphicsContext.cs | 43 +++++++++++++++++++ 2 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 Source/OpenTK/Platform/EmbeddedGraphicsContext.cs diff --git a/Source/OpenTK/Platform/Egl/EglContext.cs b/Source/OpenTK/Platform/Egl/EglContext.cs index bbc9e4e9..10bb02de 100644 --- a/Source/OpenTK/Platform/Egl/EglContext.cs +++ b/Source/OpenTK/Platform/Egl/EglContext.cs @@ -33,7 +33,7 @@ using OpenTK.Platform.Windows; namespace OpenTK.Platform.Egl { - class EglContext : GraphicsContextBase + class EglContext : EmbeddedGraphicsContext { #region Fields @@ -122,13 +122,6 @@ namespace OpenTK.Platform.Egl #region IGraphicsContextInternal Members - public override void LoadAll() - { - new OpenTK.Graphics.ES10.GL().LoadAll(); - new OpenTK.Graphics.ES11.GL().LoadAll(); - new OpenTK.Graphics.ES20.GL().LoadAll(); - } - public override IntPtr GetAddress(string function) { return Egl.GetProcAddress(function); diff --git a/Source/OpenTK/Platform/EmbeddedGraphicsContext.cs b/Source/OpenTK/Platform/EmbeddedGraphicsContext.cs new file mode 100644 index 00000000..928c2a15 --- /dev/null +++ b/Source/OpenTK/Platform/EmbeddedGraphicsContext.cs @@ -0,0 +1,43 @@ + #region License + // + // The Open Toolkit Library License + // + // Copyright (c) 2006 - 2009 the Open Toolkit library. + // + // Permission is hereby granted, free of charge, to any person obtaining a copy + // of this software and associated documentation files (the "Software"), to deal + // in the Software without restriction, including without limitation the rights to + // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + // the Software, and to permit persons to whom the Software is furnished to do + // so, subject to the following conditions: + // + // The above copyright notice and this permission notice shall be included in all + // copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + // OTHER DEALINGS IN THE SOFTWARE. + // + #endregion + +using System; +using OpenTK.Graphics; + +namespace OpenTK.Platform +{ + // Provides the foundation for all desktop IGraphicsContext implementations. + abstract class EmbeddedGraphicsContext : GraphicsContextBase + { + public override void LoadAll() + { + new OpenTK.Graphics.ES10.GL().LoadAll(); + new OpenTK.Graphics.ES11.GL().LoadAll(); + new OpenTK.Graphics.ES20.GL().LoadAll(); + } + } +} \ No newline at end of file