diff --git a/Source/OpenTK/Platform/Windows/WinFactory.cs b/Source/OpenTK/Platform/Windows/WinFactory.cs new file mode 100644 index 00000000..ce61788a --- /dev/null +++ b/Source/OpenTK/Platform/Windows/WinFactory.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenTK.Platform.Windows +{ + using Graphics; + + class WinFactory : IPlatformFactory + { + #region IPlatformFactory Members + + public INativeGLWindow CreateGLNative() + { + return new WinGLNative(); + } + + public IGLControl CreateGLControl(GraphicsMode mode, GLControl owner) + { + return new WinGLControl(mode, owner); + } + + public IDisplayDeviceDriver CreateDisplayDeviceDriver() + { + return new WinDisplayDeviceDriver(); + } + + public IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool DirectRendering) + { + return new WinGLContext(mode, window, shareContext); + } + + public IGraphicsMode CreateGraphicsMode() + { + return new WinGraphicsMode(); + } + + #endregion + } +} diff --git a/Source/OpenTK/Platform/X11/X11Factory.cs b/Source/OpenTK/Platform/X11/X11Factory.cs new file mode 100644 index 00000000..f863968d --- /dev/null +++ b/Source/OpenTK/Platform/X11/X11Factory.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenTK.Platform.X11 +{ + using Graphics; + + class X11Factory : IPlatformFactory + { + #region IPlatformFactory Members + + public INativeGLWindow CreateGLNative() + { + return new X11GLNative(); + } + + public IGLControl CreateGLControl(GraphicsMode mode, GLControl owner) + { + return new X11GLControl(mode, owner); + } + + public IDisplayDeviceDriver CreateDisplayDeviceDriver() + { + return new X11XrandrDisplayDevice(); + } + + public IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool DirectRendering) + { + return new X11GLContext(mode, window, shareContext, DirectRendering); + } + + public IGraphicsMode CreateGraphicsMode() + { + return new X11GraphicsMode(); + } + + #endregion + } +}