aboutsummaryrefslogtreecommitdiffstats
path: root/demos/MiscDemos/GLImageViewerWorld.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 /demos/MiscDemos/GLImageViewerWorld.java
Initial revision
Diffstat (limited to 'demos/MiscDemos/GLImageViewerWorld.java')
-rwxr-xr-xdemos/MiscDemos/GLImageViewerWorld.java112
1 files changed, 112 insertions, 0 deletions
diff --git a/demos/MiscDemos/GLImageViewerWorld.java b/demos/MiscDemos/GLImageViewerWorld.java
new file mode 100755
index 0000000..f00bd06
--- /dev/null
+++ b/demos/MiscDemos/GLImageViewerWorld.java
@@ -0,0 +1,112 @@
+import gl4java.*;
+import gl4java.awt.*;
+import gl4java.utils.textures.*;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.net.*;
+
+public class GLImageViewerWorld extends Frame
+ implements ActionListener
+{
+ GLImageWorld1 glImageCanvas = null;
+
+ private Choice fileTypeChoice = null;
+ private Button loadButton = null;
+ private Button saveButton = null;
+ private Button normalButton = null;
+
+ public GLImageViewerWorld(String title)
+ {
+ super(title);
+ setSize(500, 300);
+ Dimension d = getSize();
+ setLayout(new BorderLayout());
+
+ addWindowListener( new WindowAdapter()
+ {
+ public void windowClosed(WindowEvent e)
+ {
+ System.exit(0);
+ }
+ public void windowClosing(WindowEvent e)
+ {
+ windowClosed(e);
+ }
+ }
+ );
+
+ Panel filePanel = new Panel();
+ filePanel.setLayout(new FlowLayout(FlowLayout.CENTER));
+
+ fileTypeChoice = new Choice();
+ fileTypeChoice.add("any");
+ fileTypeChoice.add("tga");
+ fileTypeChoice.add("png");
+ fileTypeChoice.add("ppm");
+ filePanel.add(fileTypeChoice);
+
+ loadButton = new Button("load..");
+ loadButton.addActionListener(this);
+ filePanel.add(loadButton);
+
+ saveButton = new Button("save..");
+ saveButton.addActionListener(this);
+ filePanel.add(saveButton);
+
+ normalButton = new Button("normal");
+ normalButton.addActionListener(this);
+ filePanel.add(normalButton);
+
+ add("North", filePanel);
+
+ glImageCanvas = new GLImageWorld1(d.width, d.height);
+ glImageCanvas.setName("GLImageWorld1");
+ add("Center", glImageCanvas);
+
+ pack();
+ setVisible(true);
+ }
+
+ public void actionPerformed(ActionEvent e)
+ {
+ Object src = e.getSource();
+ if(src.equals(loadButton))
+ {
+ FileDialog fd = new FileDialog(this,"Bitmap Load Menu",
+ FileDialog.LOAD);
+ fd.show();
+ String fname = fd.getDirectory() + fd.getFile() ;
+ fname = fname.replace('\\','/');
+ fname = fname.trim();
+
+ setTitle(fname);
+ glImageCanvas.loadTexture(fname,
+ fileTypeChoice.getSelectedItem() );
+ repaint();
+ } else if(src.equals(saveButton))
+ {
+ FileDialog fd = new FileDialog(this,"TGA-Image Save Menu",
+ FileDialog.SAVE);
+ fd.show();
+ String fname = fd.getDirectory() + fd.getFile() ;
+ fname = fname.replace('\\','/');
+ fname = fname.trim();
+
+ setTitle(fname);
+ glImageCanvas.snapshot( new TGATextureGrabber(glImageCanvas.gl),
+ fname);
+ repaint();
+ } else if(src.equals(normalButton))
+ {
+ glImageCanvas.setOriginalPerspective();
+ }
+ }
+
+ public static void main( String args[] )
+ {
+ GLImageViewerWorld applet =
+ new GLImageViewerWorld("GLImageViewerWorld");
+ }
+}
+