aboutsummaryrefslogtreecommitdiffstats
path: root/gl4java/utils/textures/IOTextureLoader.java
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2000-11-18 06:43:49 +0000
committerSven Gothel <[email protected]>2000-11-18 06:43:49 +0000
commit880653d31a8f1ff8384fdbc75b84934bceecfdb8 (patch)
treebdafb71416f176d2a4b73bf716c9dc3f13685a8b /gl4java/utils/textures/IOTextureLoader.java
Initial revision
Diffstat (limited to 'gl4java/utils/textures/IOTextureLoader.java')
-rw-r--r--gl4java/utils/textures/IOTextureLoader.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/gl4java/utils/textures/IOTextureLoader.java b/gl4java/utils/textures/IOTextureLoader.java
new file mode 100644
index 0000000..4b06b93
--- /dev/null
+++ b/gl4java/utils/textures/IOTextureLoader.java
@@ -0,0 +1,67 @@
+package gl4java.utils.textures;
+
+import gl4java.*;
+import gl4java.utils.glut.*;
+
+import java.awt.*;
+import java.awt.Color.*;
+import java.awt.event.*;
+import java.applet.*;
+import java.io.*;
+import java.net.*;
+
+/**
+ * This abstract Class implements the
+ * file and url based methods "readTexture",
+ * to call the specialised implementation
+ * of the stream based "readTexture" method !
+ *
+ * @see TextureLoader
+ */
+public abstract class IOTextureLoader
+extends TextureLoader
+{
+ protected IOTextureLoader(GLFunc gl, GLUFunc glu)
+ { super(gl, glu); }
+
+ public boolean readTexture(String fname)
+ {
+ boolean result = false;
+ InputStream is= null;
+ try {
+ is= new java.io.FileInputStream(fname);
+ result = readTexture(is);
+ } catch (Exception ex) {
+ System.out.println("IOTextureLoader.readTexture <"+
+ fname+"> failed !\n"+ex);
+ }
+ try {
+ if(is!=null) is.close();
+ } catch (Exception ex) {}
+ return result;
+ }
+
+ public boolean readTexture(URL base, String uri)
+ {
+ boolean result = false;
+ InputStream is= null;
+ try {
+ URL url = new URL (base, uri);
+ URLConnection urlcon = url.openConnection();
+ urlcon.setDoOutput(false);
+ urlcon.setDoInput(true);
+ is = urlcon.getInputStream();
+ result = readTexture(is);
+ } catch (Exception ex) {
+ System.out.println("IOTextureLoader.readTexture <"+
+ base+" / "+uri+"> failed !\n"+ex);
+ }
+ try {
+ if(is!=null) is.close();
+ } catch (Exception ex) {}
+ return result;
+ }
+
+ protected abstract boolean readTexture(InputStream is);
+}
+