From 6ee1f0641fbefbb309217401708e61d0c7f248e9 Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Tue, 27 May 2014 04:25:26 +0200
Subject: Adapt to JOGL HiDPI (Bug 741) changes up-to commit
 bcda2dad1a6569ffd4eba07b231d50fdafc60b7f

---
 src/demos/j2d/TestOverlay.java | 67 ++++++++++++++++++++++++------------------
 1 file changed, 39 insertions(+), 28 deletions(-)

(limited to 'src/demos/j2d/TestOverlay.java')

diff --git a/src/demos/j2d/TestOverlay.java b/src/demos/j2d/TestOverlay.java
index 13cb39e..bc2bcef 100755
--- a/src/demos/j2d/TestOverlay.java
+++ b/src/demos/j2d/TestOverlay.java
@@ -1,21 +1,21 @@
 /*
  * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are
  * met:
- * 
+ *
  * - Redistribution of source code must retain the above copyright
  *   notice, this list of conditions and the following disclaimer.
- * 
+ *
  * - Redistribution in binary form must reproduce the above copyright
  *   notice, this list of conditions and the following disclaimer in the
  *   documentation and/or other materials provided with the distribution.
- * 
+ *
  * Neither the name of Sun Microsystems, Inc. or the names of
  * contributors may be used to endorse or promote products derived from
  * this software without specific prior written permission.
- * 
+ *
  * This software is provided "AS IS," without a warranty of any kind. ALL
  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
  * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
@@ -28,21 +28,19 @@
  * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
  * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
  * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
+ *
  * You acknowledge that this software is not designed or intended for use
  * in the design, construction, operation or maintenance of any nuclear
  * facility.
- * 
+ *
  * Sun gratefully acknowledges that this software was originally authored
  * and developed by Kenneth Bradley Russell and Christopher John Kline.
  */
 
 package demos.j2d;
 
-import com.jogamp.opengl.util.awt.Overlay;
-import demos.gears.Gears;
-import demos.util.*;
-import gleem.linalg.*;
+import gleem.linalg.Vec2f;
+
 import java.awt.AlphaComposite;
 import java.awt.Color;
 import java.awt.Font;
@@ -54,12 +52,19 @@ import java.awt.event.WindowEvent;
 import java.awt.font.FontRenderContext;
 import java.awt.font.GlyphVector;
 import java.text.DecimalFormat;
+
 import javax.media.opengl.GL;
 import javax.media.opengl.GLAutoDrawable;
 import javax.media.opengl.GLCapabilities;
 import javax.media.opengl.GLEventListener;
 import javax.media.opengl.awt.GLCanvas;
+
 import com.jogamp.opengl.util.Animator;
+import com.jogamp.opengl.util.awt.Overlay;
+
+import demos.gears.Gears;
+import demos.util.SystemTime;
+import demos.util.Time;
 
 /** A simple test of the Overlay utility class. Draws gears underneath
     with moving Java 2D-rendered text on top. */
@@ -76,12 +81,14 @@ public class TestOverlay implements GLEventListener {
     frame.setSize(512, 512);
     final Animator animator = new Animator(canvas);
     frame.addWindowListener(new WindowAdapter() {
-        public void windowClosing(WindowEvent e) {
+        @Override
+		public void windowClosing(WindowEvent e) {
           // Run this on another thread than the AWT event queue to
           // make sure the call to Animator.stop() completes before
           // exiting
           new Thread(new Runnable() {
-              public void run() {
+              @Override
+			public void run() {
                 animator.stop();
                 System.exit(0);
               }
@@ -95,21 +102,22 @@ public class TestOverlay implements GLEventListener {
   private Overlay overlay;
   private Time time;
   private Font font;
-  private Color TRANSPARENT_BLACK = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+  private final Color TRANSPARENT_BLACK = new Color(0.0f, 0.0f, 0.0f, 0.0f);
   private FontRenderContext frc;
   private GlyphVector gv;
-  private Vec2f velocity = new Vec2f(100.0f, 150.0f);
+  private final Vec2f velocity = new Vec2f(100.0f, 150.0f);
   private Vec2f position;
   private Rectangle textBounds;
   private Rectangle lastTextBounds;
-  private String TEST_STRING = "Java 2D Text";
+  private final String TEST_STRING = "Java 2D Text";
   private long startTime;
   private int frameCount;
-  private DecimalFormat format = new DecimalFormat("####.00");
+  private final DecimalFormat format = new DecimalFormat("####.00");
 
   private Rectangle fpsBounds;
 
-  public void init(GLAutoDrawable drawable) {
+  @Override
+public void init(GLAutoDrawable drawable) {
     GL gl = drawable.getGL();
     gl.setSwapInterval(0);
 
@@ -118,20 +126,22 @@ public class TestOverlay implements GLEventListener {
     ((SystemTime) time).rebase();
 
     // Start the text half way up the left side
-    position = new Vec2f(0.0f, drawable.getHeight() / 2);
+    position = new Vec2f(0.0f, drawable.getSurfaceHeight() / 2);
 
     // Create the font, render context, and glyph vector
     font = new Font("SansSerif", Font.BOLD, 36);
   }
 
-  public void dispose(GLAutoDrawable drawable) {
+  @Override
+public void dispose(GLAutoDrawable drawable) {
     font = null;
     overlay = null;
     time = null;
     position = null;
   }
 
-  public void display(GLAutoDrawable drawable) {
+  @Override
+public void display(GLAutoDrawable drawable) {
     if (startTime == 0) {
       startTime = System.currentTimeMillis();
     }
@@ -140,7 +150,7 @@ public class TestOverlay implements GLEventListener {
 
     if (++frameCount == 30) {
       long endTime = System.currentTimeMillis();
-      float fps = 30.0f / (float) (endTime - startTime) * 1000;
+      float fps = 30.0f / (endTime - startTime) * 1000;
       frameCount = 0;
       startTime = System.currentTimeMillis();
 
@@ -148,8 +158,8 @@ public class TestOverlay implements GLEventListener {
       String fpsString = "FPS: " + format.format(fps);
       GlyphVector gv = font.createGlyphVector(frc, TEST_STRING);
       fpsBounds = gv.getPixelBounds(frc, 0, 0);
-      int x = drawable.getWidth() - fpsBounds.width - 20;
-      int y = drawable.getHeight() - 20;
+      int x = drawable.getSurfaceWidth() - fpsBounds.width - 20;
+      int y = drawable.getSurfaceHeight() - 20;
       g2d.setFont(font);
       g2d.setComposite(AlphaComposite.Src);
       g2d.setColor(TRANSPARENT_BLACK);
@@ -174,12 +184,12 @@ public class TestOverlay implements GLEventListener {
     textBounds = gv.getPixelBounds(frc, position.x(), position.y());
     if (textBounds.getMinX() < 0) {
       velocity.setX(Math.abs(velocity.x()));
-    } else if (textBounds.getMaxX() > drawable.getWidth()) {
+    } else if (textBounds.getMaxX() > drawable.getSurfaceWidth()) {
       velocity.setX(-1.0f * Math.abs(velocity.x()));
     }
     if (textBounds.getMinY() < 0) {
       velocity.setY(Math.abs(velocity.y()));
-    } else if (textBounds.getMaxY() > drawable.getHeight()) {
+    } else if (textBounds.getMaxY() > drawable.getSurfaceHeight()) {
       velocity.setY(-1.0f * Math.abs(velocity.y()));
     }
 
@@ -190,7 +200,7 @@ public class TestOverlay implements GLEventListener {
                    (int) (lastTextBounds.getWidth() + 1), (int) (lastTextBounds.getHeight() + 1));
     } else if (overlay.contentsLost()) {
       g2d.setColor(TRANSPARENT_BLACK);
-      g2d.fillRect(0, 0, drawable.getWidth(), drawable.getHeight());
+      g2d.fillRect(0, 0, drawable.getSurfaceWidth(), drawable.getSurfaceHeight());
     }
     g2d.setColor(Color.WHITE);
     g2d.drawString(TEST_STRING, position.x(), position.y());
@@ -213,6 +223,7 @@ public class TestOverlay implements GLEventListener {
   }
 
   // Unused methods
-  public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {}
+  @Override
+public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {}
   public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) {}
 }
-- 
cgit v1.2.3