From d2d3720d940566608ea14b14cb4aeb5890ff21e1 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Wed, 22 Feb 2012 03:36:18 +0100 Subject: FontSet (graph): get*(..) throws IOException - Proper passing and handling of IOException --- .../graph/demos/GPUTextRendererListenerBase01.java | 62 +++++++++++++++------- .../junit/graph/demos/GPUUISceneGLListener0A.java | 17 +++++- .../test/junit/graph/demos/ui/UIGLListener01.java | 43 ++++++++------- 3 files changed, 83 insertions(+), 39 deletions(-) (limited to 'src/test') diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java index ad662e000..97c9d905c 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java @@ -29,7 +29,6 @@ package com.jogamp.opengl.test.junit.graph.demos; import java.io.IOException; -import javax.media.opengl.FPSCounter; import javax.media.opengl.GL; import javax.media.opengl.GL2ES2; import javax.media.opengl.GLAnimatorControl; @@ -41,7 +40,6 @@ import com.jogamp.graph.curve.opengl.TextRenderer; import com.jogamp.graph.font.Font; import com.jogamp.graph.font.FontFactory; import com.jogamp.graph.geom.AABBox; -import com.jogamp.graph.geom.Vertex; import com.jogamp.newt.event.KeyEvent; import com.jogamp.newt.event.KeyListener; import com.jogamp.newt.opengl.GLWindow; @@ -103,13 +101,18 @@ public abstract class GPUTextRendererListenerBase01 extends GPURendererListenerB boolean userInput = false; public GPUTextRendererListenerBase01(RenderState rs, int modes, boolean debug, boolean trace) { - super(TextRenderer.create(rs, modes), modes, debug, trace); - this.font = FontFactory.get(fontSet).getDefault(); - dumpFontNames(); - - this.fontName = font.toString(); - this.fontNameBox = font.getStringBounds(fontName, fontSizeFixed*2); - switchHeadBox(); + super(TextRenderer.create(rs, modes), modes, debug, trace); + try { + this.font = FontFactory.get(fontSet).getDefault(); + dumpFontNames(); + + this.fontName = font.toString(); + this.fontNameBox = font.getStringBounds(fontName, fontSizeFixed*2); + switchHeadBox(); + } catch (IOException ioe) { + System.err.println("Catched: "+ioe.getMessage()); + ioe.printStackTrace(); + } } void dumpFontNames() { @@ -198,18 +201,39 @@ public abstract class GPUTextRendererListenerBase01 extends GPURendererListenerB dumpMatrix(true); } - public void nextFontSet() { - fontSet = ( fontSet == FontFactory.UBUNTU ) ? FontFactory.JAVA : FontFactory.UBUNTU ; - font = FontFactory.get(fontSet).getDefault(); - this.fontName = font.getFullFamilyName(null).toString(); - this.fontNameBox = font.getStringBounds(fontName, fontSizeFixed*3); - dumpFontNames(); + public boolean nextFontSet() { + try { + int set = ( fontSet == FontFactory.UBUNTU ) ? FontFactory.JAVA : FontFactory.UBUNTU ; + Font _font = FontFactory.get(set).getDefault(); + if(null != _font) { + fontSet = set; + font = _font; + fontName = font.getFullFamilyName(null).toString(); + fontNameBox = font.getStringBounds(fontName, fontSizeFixed*3); + dumpFontNames(); + return true; + } + } catch (IOException ex) { + System.err.println("Catched: "+ex.getMessage()); + } + return false; } - public void setFontSet(int set, int family, int stylebits) { - fontSet = set; - font = FontFactory.get(fontSet).get(family, stylebits); - dumpFontNames(); + public boolean setFontSet(int set, int family, int stylebits) { + try { + Font _font = FontFactory.get(set).get(family, stylebits); + if(null != _font) { + fontSet = set; + font = _font; + fontName = font.getFullFamilyName(null).toString(); + fontNameBox = font.getStringBounds(fontName, fontSizeFixed*3); + dumpFontNames(); + return true; + } + } catch (IOException ex) { + System.err.println("Catched: "+ex.getMessage()); + } + return false; } public boolean isUserInputMode() { return userInput; } diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java index 5abc181a8..c0d7f00e9 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java @@ -1,5 +1,7 @@ package com.jogamp.opengl.test.junit.graph.demos; +import java.io.IOException; + import javax.media.opengl.GL; import javax.media.opengl.GL2ES2; import javax.media.opengl.GLAnimatorControl; @@ -81,7 +83,12 @@ public class GPUUISceneGLListener0A implements GLEventListener { this.debug = debug; this.trace = trace; - font = FontFactory.get(FontFactory.UBUNTU).getDefault(); + try { + font = FontFactory.get(FontFactory.UBUNTU).getDefault(); + } catch (IOException ioe) { + System.err.println("Catched: "+ioe.getMessage()); + ioe.printStackTrace(); + } labelRegions = new UIRegion[3]; sceneUIController = new SceneUIController(); } @@ -211,7 +218,13 @@ public class GPUUISceneGLListener0A implements GLEventListener { gl = gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Trace", null, gl, new Object[] { System.err } ) ).getGL2ES2(); } - this.font = FontFactory.get(fontSet).getDefault(); + try { + font = FontFactory.get(fontSet).getDefault(); + } catch (IOException ioe) { + System.err.println("Catched: "+ioe.getMessage()); + ioe.printStackTrace(); + } + regionRenderer = RegionRenderer.create(rs, renderModes); gl.glEnable(GL2ES2.GL_DEPTH_TEST); diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java index 5f92f13ec..4da5cac10 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java @@ -28,6 +28,8 @@ package com.jogamp.opengl.test.junit.graph.demos.ui; +import java.io.IOException; + import javax.media.opengl.GL; import javax.media.opengl.GL2ES2; import javax.media.opengl.GLAutoDrawable; @@ -45,24 +47,29 @@ public class UIGLListener01 extends UIListenerBase01 { public UIGLListener01 (RenderState rs, boolean debug, boolean trace) { super(RegionRenderer.create(rs, 0), debug, trace); setMatrix(-20, 00, 0f, -50); - final Font font = FontFactory.get(FontFactory.UBUNTU).getDefault(); - button = new RIButton(SVertex.factory(), font, "Click me!", 4f, 3f){ - public void onClick() { - } - public void onPressed() { - } - public void onRelease() { - } - - }; - button.setPosition(2,1,0); - /** Button defaults ! - button.setLabelColor(1.0f,1.0f,1.0f); - button.setButtonColor(0.6f,0.6f,0.6f); - button.setCorner(1.0f); - button.setSpacing(2.0f); - */ - System.err.println(button); + try { + final Font font = FontFactory.get(FontFactory.UBUNTU).getDefault(); + button = new RIButton(SVertex.factory(), font, "Click me!", 4f, 3f){ + public void onClick() { + } + public void onPressed() { + } + public void onRelease() { + } + + }; + button.setPosition(2,1,0); + /** Button defaults ! + button.setLabelColor(1.0f,1.0f,1.0f); + button.setButtonColor(0.6f,0.6f,0.6f); + button.setCorner(1.0f); + button.setSpacing(2.0f); + */ + System.err.println(button); + } catch (IOException ex) { + System.err.println("Catched: "+ex.getMessage()); + ex.printStackTrace(); + } } public void init(GLAutoDrawable drawable) { -- cgit v1.2.3