From 083137884b41e0efd0858ff6825794bf06214381 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Wed, 17 Jan 2007 12:58:38 +0000 Subject: [PATCH] Remove the rest of the implementation reflection --- src/java/org/lwjgl/Sys.java | 1 - src/java/org/lwjgl/opengl/AWTGLCanvas.java | 24 +++++++--------------- src/java/org/lwjgl/opengl/Context.java | 24 +++++++--------------- src/java/org/lwjgl/opengl/Display.java | 20 +++--------------- 4 files changed, 17 insertions(+), 52 deletions(-) diff --git a/src/java/org/lwjgl/Sys.java b/src/java/org/lwjgl/Sys.java index 030a0bd5..e6ce0698 100644 --- a/src/java/org/lwjgl/Sys.java +++ b/src/java/org/lwjgl/Sys.java @@ -108,7 +108,6 @@ public final class Sys { } private static SysImplementation createImplementation() { - String class_name; switch (LWJGLUtil.getPlatform()) { case LWJGLUtil.PLATFORM_LINUX: return new LinuxSysImplementation(); diff --git a/src/java/org/lwjgl/opengl/AWTGLCanvas.java b/src/java/org/lwjgl/opengl/AWTGLCanvas.java index 6b11228f..3f30677f 100644 --- a/src/java/org/lwjgl/opengl/AWTGLCanvas.java +++ b/src/java/org/lwjgl/opengl/AWTGLCanvas.java @@ -86,30 +86,20 @@ public class AWTGLCanvas extends Canvas implements Drawable, ComponentListener, static { Sys.initialize(); - String class_name; + implementation = createImplementation(); + } + + private static AWTCanvasImplementation createImplementation() { switch (LWJGLUtil.getPlatform()) { case LWJGLUtil.PLATFORM_LINUX: - class_name = "org.lwjgl.opengl.LinuxCanvasImplementation"; - break; + return new LinuxCanvasImplementation(); case LWJGLUtil.PLATFORM_WINDOWS: - class_name = "org.lwjgl.opengl.WindowsCanvasImplementation"; - break; + return new WindowsCanvasImplementation(); case LWJGLUtil.PLATFORM_MACOSX: - class_name = "org.lwjgl.opengl.MacOSXCanvasImplementation"; - break; + return new MacOSXCanvasImplementation(); default: throw new IllegalStateException("Unsupported platform"); } - try { - Class impl_class = Class.forName(class_name); - implementation = (AWTCanvasImplementation)impl_class.newInstance(); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } catch (IllegalAccessException e) { - throw new RuntimeException(e); - } catch (InstantiationException e) { - throw new RuntimeException(e); - } } /** diff --git a/src/java/org/lwjgl/opengl/Context.java b/src/java/org/lwjgl/opengl/Context.java index 776aabf7..85e8b5f3 100644 --- a/src/java/org/lwjgl/opengl/Context.java +++ b/src/java/org/lwjgl/opengl/Context.java @@ -73,30 +73,20 @@ final class Context { static { Sys.initialize(); - String class_name; + implementation = createImplementation(); + } + + private static ContextImplementation createImplementation() { switch (LWJGLUtil.getPlatform()) { case LWJGLUtil.PLATFORM_LINUX: - class_name = "org.lwjgl.opengl.LinuxContextImplementation"; - break; + return new LinuxContextImplementation(); case LWJGLUtil.PLATFORM_WINDOWS: - class_name = "org.lwjgl.opengl.WindowsContextImplementation"; - break; + return new WindowsContextImplementation(); case LWJGLUtil.PLATFORM_MACOSX: - class_name = "org.lwjgl.opengl.MacOSXContextImplementation"; - break; + return new MacOSXContextImplementation(); default: throw new IllegalStateException("Unsupported platform"); } - try { - Class impl_class = Class.forName(class_name); - implementation = (ContextImplementation)impl_class.newInstance(); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } catch (IllegalAccessException e) { - throw new RuntimeException(e); - } catch (InstantiationException e) { - throw new RuntimeException(e); - } } PeerInfo getPeerInfo() { diff --git a/src/java/org/lwjgl/opengl/Display.java b/src/java/org/lwjgl/opengl/Display.java index 9a5c1133..4a570cb1 100644 --- a/src/java/org/lwjgl/opengl/Display.java +++ b/src/java/org/lwjgl/opengl/Display.java @@ -133,30 +133,16 @@ public final class Display { } private static DisplayImplementation createDisplayImplementation() { - String class_name; switch (LWJGLUtil.getPlatform()) { case LWJGLUtil.PLATFORM_LINUX: - class_name = "org.lwjgl.opengl.LinuxDisplay"; - break; + return new LinuxDisplay(); case LWJGLUtil.PLATFORM_WINDOWS: - class_name = "org.lwjgl.opengl.WindowsDisplay"; - break; + return new WindowsDisplay(); case LWJGLUtil.PLATFORM_MACOSX: - class_name = "org.lwjgl.opengl.MacOSXDisplay"; - break; + return new MacOSXDisplay(); default: throw new IllegalStateException("Unsupported platform"); } - try { - Class display_class = Class.forName(class_name); - return (DisplayImplementation)display_class.newInstance(); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } catch (IllegalAccessException e) { - throw new RuntimeException(e); - } catch (InstantiationException e) { - throw new RuntimeException(e); - } } /**