diff options
Diffstat (limited to 'demos/MiscDemos/glutFontStrokeTest.java')
-rw-r--r-- | demos/MiscDemos/glutFontStrokeTest.java | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/demos/MiscDemos/glutFontStrokeTest.java b/demos/MiscDemos/glutFontStrokeTest.java new file mode 100644 index 0000000..27d95fc --- /dev/null +++ b/demos/MiscDemos/glutFontStrokeTest.java @@ -0,0 +1,128 @@ +// Test program for GLUT Stroke font rendering functions +// by Pontus Lidman +// Copyright 2000 MathCore AB +// +// This file/package is licensed under the terms of the LPGL +// with the permission of Pontus Lidman / Mathcore ! +// + +import gl4java.utils.glut.*; +import gl4java.utils.glut.fonts.*; + +import gl4java.awt.*; +import java.applet.*; +import java.awt.*; +import java.awt.Dimension; +import gl4java.GLContext; +import gl4java.GLFunc; + +public class glutFontStrokeTest extends Applet { + + protected GLUTFunc glut = null; + + protected class MyCanvas extends GLCanvas { + + public MyCanvas(int w, int h) { + super(w,h); + GLContext.gljNativeDebug = false; + GLContext.gljClassDebug = false; + } + + public void init() { + glut = new GLUTFuncLightImplWithFonts(gl, glu); + + gl.glMatrixMode(GL_PROJECTION); + gl.glOrtho(-1000,1000,-1000,1000,-50.0,50.0); + gl.glMatrixMode(GL_MODELVIEW); + glj.gljCheckGL(); + } + + public void reshape(int w, int h) { + Dimension d=new Dimension(w,h); + if (!cvsIsInit()) return; + if( glj.gljMakeCurrent() == false ) { + System.out.println("problem in use() method"); + return; + } + setSize(d); + gl.glViewport(0,0,w,h); + glj.gljCheckGL(); + glj.gljFree(); + } + + public void display() { + int i; + + if( glj.gljMakeCurrent() == false ) { + System.out.println("problem in use() method"); + return; + } + + gl.glPushMatrix(); + gl.glClear(GL_COLOR_BUFFER_BIT); + glu.gluLookAt(0, 0, 20, 0, 0, 0, 0, 1, 0); + + gl.glColor3d(0.3,0,0); + + gl.glBegin(GL_POLYGON); + gl.glVertex2d(0,-0.5); + gl.glVertex2d(0.5,0.5); + gl.glVertex2d(-0.5,0.5); + gl.glEnd(); + + gl.glColor3d(1,1,1); + gl.glPushMatrix(); + gl.glTranslated(-900,-100,0); + glut.glutStrokeString(glut.GLUT_STROKE_ROMAN,"Roman Font"); + gl.glPopMatrix(); + gl.glPushMatrix(); + gl.glTranslated(-900,100,0); + glut.glutStrokeString(glut.GLUT_STROKE_MONO_ROMAN,"Mono Roman Font"); + gl.glPopMatrix(); + + gl.glPopMatrix(); + glj.gljSwap(); + glj.gljCheckGL(); + glj.gljFree(); + } + } + + protected MyCanvas cvs; + + public void init() + { + Dimension d = getSize(); + setLayout(new BorderLayout()); + cvs= new MyCanvas(d.width,d.height); + add("Center", cvs); + } + + public void start() + { + } + + + public void stop() + { + } + + public static void main(java.lang.String[] args) { + try { + Frame mainFrame = new Frame("Stroke Test"); + + glutFontStrokeTest applet=new glutFontStrokeTest(); + + applet.setSize(400, 400); + applet.init(); + applet.start(); + + mainFrame.add(applet); + + mainFrame.pack(); + mainFrame.setVisible(true); + } catch (Throwable exception) { + System.err.println("Exception occurred in main()"); + exception.printStackTrace(System.out); + } + } +} |