From 5e9c02bce7b241a0bf95c8abca9a91cd25e51ed3 Mon Sep 17 00:00:00 2001 From: Harvey Harrison Date: Thu, 17 Oct 2013 22:27:27 -0700 Subject: jogl: remove all trailing whitespace Signed-off-by: Harvey Harrison --- src/newt/classes/com/jogamp/newt/Display.java | 32 +- .../classes/com/jogamp/newt/MonitorDevice.java | 46 +- src/newt/classes/com/jogamp/newt/MonitorMode.java | 84 ++-- src/newt/classes/com/jogamp/newt/NewtFactory.java | 24 +- src/newt/classes/com/jogamp/newt/NewtVersion.java | 10 +- src/newt/classes/com/jogamp/newt/Screen.java | 34 +- src/newt/classes/com/jogamp/newt/Window.java | 32 +- .../classes/com/jogamp/newt/awt/NewtCanvasAWT.java | 158 +++--- .../jogamp/newt/awt/applet/JOGLNewtApplet1Run.java | 24 +- .../jogamp/newt/awt/applet/JOGLNewtAppletBase.java | 22 +- .../jogamp/newt/event/DoubleTapScrollGesture.java | 66 +-- .../com/jogamp/newt/event/GestureHandler.java | 60 +-- .../classes/com/jogamp/newt/event/InputEvent.java | 56 +-- .../classes/com/jogamp/newt/event/KeyAdapter.java | 10 +- .../classes/com/jogamp/newt/event/KeyEvent.java | 256 +++++----- .../classes/com/jogamp/newt/event/KeyListener.java | 22 +- .../com/jogamp/newt/event/MonitorEvent.java | 12 +- .../com/jogamp/newt/event/MouseAdapter.java | 10 +- .../classes/com/jogamp/newt/event/MouseEvent.java | 164 +++--- .../com/jogamp/newt/event/MouseListener.java | 20 +- .../classes/com/jogamp/newt/event/NEWTEvent.java | 30 +- .../com/jogamp/newt/event/NEWTEventConsumer.java | 14 +- .../com/jogamp/newt/event/NEWTEventFiFo.java | 10 +- .../com/jogamp/newt/event/NEWTEventListener.java | 12 +- .../classes/com/jogamp/newt/event/OutputEvent.java | 2 +- .../com/jogamp/newt/event/PinchToZoomGesture.java | 48 +- .../com/jogamp/newt/event/TraceKeyAdapter.java | 10 +- .../com/jogamp/newt/event/TraceMouseAdapter.java | 10 +- .../com/jogamp/newt/event/TraceWindowAdapter.java | 10 +- .../com/jogamp/newt/event/WindowAdapter.java | 10 +- .../classes/com/jogamp/newt/event/WindowEvent.java | 16 +- .../com/jogamp/newt/event/WindowListener.java | 18 +- .../com/jogamp/newt/event/WindowUpdateEvent.java | 10 +- .../com/jogamp/newt/event/awt/AWTAdapter.java | 36 +- .../com/jogamp/newt/event/awt/AWTKeyAdapter.java | 12 +- .../com/jogamp/newt/event/awt/AWTMouseAdapter.java | 12 +- .../jogamp/newt/event/awt/AWTWindowAdapter.java | 24 +- .../classes/com/jogamp/newt/opengl/GLWindow.java | 38 +- .../classes/com/jogamp/newt/swt/NewtCanvasSWT.java | 130 ++--- src/newt/classes/com/jogamp/newt/util/EDTUtil.java | 30 +- .../classes/com/jogamp/newt/util/MainThread.java | 90 ++-- .../com/jogamp/newt/util/MonitorModeUtil.java | 18 +- src/newt/classes/jogamp/newt/Debug.java | 18 +- src/newt/classes/jogamp/newt/DefaultEDTUtil.java | 36 +- src/newt/classes/jogamp/newt/DisplayImpl.java | 66 +-- .../classes/jogamp/newt/MonitorDeviceImpl.java | 28 +- src/newt/classes/jogamp/newt/MonitorModeProps.java | 44 +- src/newt/classes/jogamp/newt/NEWTJNILibLoader.java | 16 +- src/newt/classes/jogamp/newt/OffscreenWindow.java | 28 +- src/newt/classes/jogamp/newt/ScreenImpl.java | 98 ++-- .../classes/jogamp/newt/ScreenMonitorState.java | 18 +- src/newt/classes/jogamp/newt/WindowImpl.java | 554 ++++++++++----------- .../classes/jogamp/newt/awt/NewtFactoryAWT.java | 16 +- .../jogamp/newt/awt/event/AWTNewtEventFactory.java | 74 +-- .../newt/awt/event/AWTParentWindowAdapter.java | 20 +- .../jogamp/newt/driver/DriverClearFocus.java | 6 +- .../jogamp/newt/driver/DriverUpdatePosition.java | 8 +- .../classes/jogamp/newt/driver/awt/AWTCanvas.java | 40 +- .../classes/jogamp/newt/driver/awt/AWTEDTUtil.java | 32 +- .../jogamp/newt/driver/awt/DisplayDriver.java | 16 +- .../jogamp/newt/driver/awt/ScreenDriver.java | 28 +- .../jogamp/newt/driver/awt/WindowDriver.java | 50 +- .../jogamp/newt/driver/bcm/egl/DisplayDriver.java | 12 +- .../jogamp/newt/driver/bcm/egl/ScreenDriver.java | 20 +- .../jogamp/newt/driver/bcm/egl/WindowDriver.java | 22 +- .../newt/driver/bcm/vc/iv/DisplayDriver.java | 10 +- .../jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java | 22 +- .../jogamp/newt/driver/bcm/vc/iv/WindowDriver.java | 30 +- .../newt/driver/intel/gdl/DisplayDriver.java | 12 +- .../jogamp/newt/driver/intel/gdl/ScreenDriver.java | 22 +- .../jogamp/newt/driver/intel/gdl/WindowDriver.java | 18 +- .../jogamp/newt/driver/kd/DisplayDriver.java | 12 +- .../jogamp/newt/driver/kd/ScreenDriver.java | 26 +- .../jogamp/newt/driver/kd/WindowDriver.java | 22 +- .../newt/driver/linux/LinuxEventDeviceTracker.java | 16 +- .../newt/driver/linux/LinuxMouseTracker.java | 46 +- .../jogamp/newt/driver/macosx/DisplayDriver.java | 18 +- .../jogamp/newt/driver/macosx/MacKeyUtil.java | 38 +- .../jogamp/newt/driver/macosx/ScreenDriver.java | 32 +- .../jogamp/newt/driver/macosx/WindowDriver.java | 126 ++--- .../jogamp/newt/driver/windows/DisplayDriver.java | 18 +- .../jogamp/newt/driver/windows/ScreenDriver.java | 28 +- .../jogamp/newt/driver/windows/WindowDriver.java | 90 ++-- .../jogamp/newt/driver/x11/DisplayDriver.java | 28 +- src/newt/classes/jogamp/newt/driver/x11/RandR.java | 22 +- .../classes/jogamp/newt/driver/x11/RandR11.java | 66 +-- .../classes/jogamp/newt/driver/x11/RandR13.java | 60 +-- .../jogamp/newt/driver/x11/ScreenDriver.java | 68 +-- .../jogamp/newt/driver/x11/WindowDriver.java | 92 ++-- .../classes/jogamp/newt/event/NEWTEventTask.java | 10 +- src/newt/classes/jogamp/newt/swt/SWTEDTUtil.java | 46 +- .../jogamp/newt/swt/event/SWTNewtEventFactory.java | 48 +- 92 files changed, 2004 insertions(+), 2004 deletions(-) (limited to 'src/newt/classes') diff --git a/src/newt/classes/com/jogamp/newt/Display.java b/src/newt/classes/com/jogamp/newt/Display.java index 382a5d583..83383d23c 100644 --- a/src/newt/classes/com/jogamp/newt/Display.java +++ b/src/newt/classes/com/jogamp/newt/Display.java @@ -114,9 +114,9 @@ public abstract class Display { */ public abstract int removeReference(); - /** - * Return the {@link AbstractGraphicsDevice} used for depending resources lifecycle, - * i.e. {@link Screen} and {@link Window}, as well as the event dispatching (EDT). */ + /** + * Return the {@link AbstractGraphicsDevice} used for depending resources lifecycle, + * i.e. {@link Screen} and {@link Window}, as well as the event dispatching (EDT). */ public abstract AbstractGraphicsDevice getGraphicsDevice(); /** @@ -136,8 +136,8 @@ public abstract class Display { public abstract int getId(); /** - * @return This display connection name as defined at creation time. - * The display connection name is a technical platform specific detail, see {@link AbstractGraphicsDevice#getConnection()}. + * @return This display connection name as defined at creation time. + * The display connection name is a technical platform specific detail, see {@link AbstractGraphicsDevice#getConnection()}. * * @see AbstractGraphicsDevice#getConnection() */ @@ -154,11 +154,11 @@ public abstract class Display { /** * Sets a new {@link EDTUtil} and returns the previous one. *

- * If usrEDTUtil is null, + * If usrEDTUtil is null, * the device's default EDTUtil is created and used. *

*

- * If a previous one exists and it differs from usrEDTUtil, + * If a previous one exists and it differs from usrEDTUtil, * it's being stopped, wait-until-idle. *

*

@@ -167,7 +167,7 @@ public abstract class Display { *

*/ public abstract EDTUtil setEDTUtil(EDTUtil usrEDTUtil); - + public abstract EDTUtil getEDTUtil(); /** @@ -176,7 +176,7 @@ public abstract class Display { public abstract boolean isEDTRunning(); public abstract void dispatchMessages(); - + // Global Displays protected static final ArrayList> displayList = new ArrayList>(); protected static int displaysActive = 0; @@ -193,12 +193,12 @@ public abstract class Display { } /** - * + * * @param type * @param name * @param fromIndex start index, then increasing until found or end of list - * @paran shared if true, only shared instances are found, otherwise also exclusive - * @return + * @paran shared if true, only shared instances are found, otherwise also exclusive + * @return */ public static Display getFirstDisplayOf(String type, String name, int fromIndex, boolean shared) { return getDisplayOfImpl(type, name, fromIndex, 1, shared); @@ -209,7 +209,7 @@ public abstract class Display { * @param type * @param name * @param fromIndex start index, then decreasing until found or end of list. -1 is interpreted as size - 1. - * @paran shared if true, only shared instances are found, otherwise also exclusive + * @paran shared if true, only shared instances are found, otherwise also exclusive * @return */ public static Display getLastDisplayOf(String type, String name, int fromIndex, boolean shared) { @@ -231,7 +231,7 @@ public abstract class Display { } else { if( display.getType().equals(type) && display.getName().equals(name) && - ( !shared || shared && !display.isExclusive() ) + ( !shared || shared && !display.isExclusive() ) ) { return display; } @@ -241,7 +241,7 @@ public abstract class Display { } return null; } - + protected static void addDisplay2List(Display display) { synchronized(displayList) { // GC before add @@ -256,7 +256,7 @@ public abstract class Display { displayList.add(new WeakReference(display)); } } - + /** Returns the global display collection */ public static Collection getAllDisplays() { ArrayList list; diff --git a/src/newt/classes/com/jogamp/newt/MonitorDevice.java b/src/newt/classes/com/jogamp/newt/MonitorDevice.java index 42ac34240..625a7b39f 100644 --- a/src/newt/classes/com/jogamp/newt/MonitorDevice.java +++ b/src/newt/classes/com/jogamp/newt/MonitorDevice.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt; import java.util.List; @@ -36,7 +36,7 @@ import javax.media.nativewindow.util.RectangleImmutable; import com.jogamp.common.util.ArrayHashSet; -/** +/** * Visual output device, i.e. a CRT, LED ..consisting of it's components:
* *
  • Immutable @@ -55,7 +55,7 @@ import com.jogamp.common.util.ArrayHashSet; */ public abstract class MonitorDevice { protected final Screen screen; // backref - protected final int nativeId; // unique monitor device ID + protected final int nativeId; // unique monitor device ID protected final DimensionImmutable sizeMM; // in [mm] protected final MonitorMode originalMode; protected final ArrayHashSet supportedModes; // FIXME: May need to support mutable mode, i.e. adding modes on the fly! @@ -73,14 +73,14 @@ public abstract class MonitorDevice { this.viewport = viewport; this.modeChanged = false; } - + /** Returns the {@link Screen} owning this monitor. */ public final Screen getScreen() { return screen; } - + /** - * Tests equality of two MonitorDevice objects + * Tests equality of two MonitorDevice objects * by evaluating equality of it's components:
    *
      *
    • nativeID
    • @@ -105,10 +105,10 @@ public abstract class MonitorDevice { public final int hashCode() { return nativeId; } - + /** @return the immutable unique native Id of this monitor device. */ public final int getId() { return nativeId; } - + /** * @return the immutable monitor size in millimeters. */ @@ -140,11 +140,11 @@ public abstract class MonitorDevice { return supportedModes.getData(); } - /** Returns the {@link RectangleImmutable rectangular} portion of the rotated virtual {@link Screen} size represented by this monitor. */ + /** Returns the {@link RectangleImmutable rectangular} portion of the rotated virtual {@link Screen} size represented by this monitor. */ public final RectangleImmutable getViewport() { return viewport; } - + /** Returns true if given coordinates are contained by this {@link #getViewport() viewport}, otherwise false. */ public final boolean contains(int x, int y) { return x >= viewport.getX() && @@ -152,8 +152,8 @@ public abstract class MonitorDevice { y >= viewport.getY() && y < viewport.getY() + viewport.getHeight() ; } - - /** + + /** * Returns the coverage of given rectangle w/ this this {@link #getViewport() viewport}, i.e. between 0.0 and 1.0. *

      * Coverage is computed by: @@ -161,12 +161,12 @@ public abstract class MonitorDevice { * isect = viewport.intersection(r); * coverage = area( isect ) / area( viewport ) ; * - *

      + *

      */ public final float coverage(RectangleImmutable r) { return viewport.coverage(r); } - + /** * Returns the union of the given monitor's {@link #getViewport() viewport}. * @param result storage for result, will be returned @@ -186,14 +186,14 @@ public abstract class MonitorDevice { result.set(x1, y1, x2 - x1, y2 - y1); return result; } - + public final boolean isOriginalMode() { return currentMode.hashCode() == originalMode.hashCode(); } - + /** * Returns true if the {@link MonitorMode} - * has been changed programmatic via this API only, otherwise false. + * has been changed programmatic via this API only, otherwise false. *

      * Note: We cannot guarantee that we won't interfere w/ another running * application's screen mode change or vice versa. @@ -202,7 +202,7 @@ public abstract class MonitorDevice { public final boolean isModeChangedByUs() { return modeChanged && !isOriginalMode(); } - + /** * Returns the cached current {@link MonitorMode} w/o native query. *

      @@ -212,7 +212,7 @@ public abstract class MonitorDevice { public final MonitorMode getCurrentMode() { return currentMode; } - + /** * Returns the current {@link MonitorMode} resulting from a native query. *

      diff --git a/src/newt/classes/com/jogamp/newt/MonitorMode.java b/src/newt/classes/com/jogamp/newt/MonitorMode.java index 218cd8bd5..175d6e5f2 100644 --- a/src/newt/classes/com/jogamp/newt/MonitorMode.java +++ b/src/newt/classes/com/jogamp/newt/MonitorMode.java @@ -37,7 +37,7 @@ import javax.media.nativewindow.util.SurfaceSize; import com.jogamp.newt.util.MonitorModeUtil; -/** +/** * Immutable MonitorMode Class, consisting of it's read only components:
      *

        *
      • nativeId
      • @@ -79,7 +79,7 @@ import com.jogamp.newt.util.MonitorModeUtil; // Pick the monitor: // Either the one used by a window .. MonitorDevice monitor = window.getMainMonitor(); - + // Or arbitrary from the list .. List allMonitor = getMonitorDevices(); MonitorDevice monitor = allMonitor.get(0); @@ -87,7 +87,7 @@ import com.jogamp.newt.util.MonitorModeUtil; // Current and original modes .. MonitorMode mmCurrent = monitor.queryCurrentMode(); MonitorMode mmOrig = monitor.getOriginalMode(); - + // Target resolution Dimension res = new Dimension(800, 600); @@ -102,7 +102,7 @@ import com.jogamp.newt.util.MonitorModeUtil; monitorModes = MonitorModeUtil.filterByFlags(monitorModes, 0); // no interlace, double-scan etc monitorModes = MonitorModeUtil.filterByRotation(monitorModes, rot); monitorModes = MonitorModeUtil.filterByResolution(monitorModes, res); - monitorModes = MonitorModeUtil.filterByRate(monitorModes, freq); + monitorModes = MonitorModeUtil.filterByRate(monitorModes, freq); monitorModes = MonitorModeUtil.getHighestAvailableBpp(monitorModes); // pick 1st one and set to current .. @@ -111,20 +111,20 @@ import com.jogamp.newt.util.MonitorModeUtil; * */ public class MonitorMode implements Comparable { - + /** Comparator for 2 {@link MonitorMode}s, following comparison order as described in {@link MonitorMode#compareTo(MonitorMode)}, returning the ascending order. */ public static final Comparator monitorModeComparator = new Comparator() { public int compare(MonitorMode mm1, MonitorMode mm2) { return mm1.compareTo(mm2); } }; - + /** Comparator for 2 {@link MonitorMode}s, following comparison order as described in {@link MonitorMode#compareTo(MonitorMode)}, returning the descending order. */ public static final Comparator monitorModeComparatorInv = new Comparator() { public int compare(MonitorMode mm1, MonitorMode mm2) { return mm2.compareTo(mm1); } }; - - /** + + /** * Immutable surfaceSize, flags and refreshRate Class, consisting of it's read only components:
        *
          *
        • nativeId
        • @@ -141,7 +141,7 @@ public class MonitorMode implements Comparable { /** Vertical refresh rate */ public final float refreshRate; public final int hashCode; - + public SizeAndRRate(SurfaceSize surfaceSize, float refreshRate, int flags) { if(null==surfaceSize) { throw new IllegalArgumentException("surfaceSize must be set ("+surfaceSize+")"); @@ -151,11 +151,11 @@ public class MonitorMode implements Comparable { this.refreshRate=refreshRate; this.hashCode = getHashCode(); } - + private final static String STR_INTERLACE = "Interlace"; private final static String STR_DOUBLESCAN = "DoubleScan"; private final static String STR_SEP = ", "; - + public static final StringBuilder flags2String(int flags) { final StringBuilder sb = new StringBuilder(); boolean sp = false; @@ -175,11 +175,11 @@ public class MonitorMode implements Comparable { public final String toString() { return new String(surfaceSize+" @ "+refreshRate+" Hz, flags ["+flags2String(flags).toString()+"]"); } - + /** *

          * Compares {@link SurfaceSize#compareTo(SurfaceSize) surfaceSize} 1st, then {@link #flags}, then {@link #refreshRate}. - *

          + *

          *

          * Flags are compared as follows: *

          @@ -196,7 +196,7 @@ public class MonitorMode implements Comparable {
                       final int rssz = surfaceSize.compareTo(sszr.surfaceSize);
                       if( 0 != rssz ) {
                           return rssz;
          -            }            
          +            }
                       final int tflags = 0 == flags ? Integer.MAX_VALUE : flags; // normalize NONE
                       final int xflags = 0 == sszr.flags ? Integer.MAX_VALUE : sszr.flags; // normalize NONE
                       if( tflags == xflags ) {
          @@ -218,9 +218,9 @@ public class MonitorMode implements Comparable {
                           return 0;
                       }
                   }
          -        
          +
                   /**
          -         * Tests equality of two {@link SizeAndRRate} objects 
          +         * Tests equality of two {@link SizeAndRRate} objects
                    * by evaluating equality of it's components:
          *
            *
          • surfaceSize
          • @@ -238,7 +238,7 @@ public class MonitorMode implements Comparable { } return false; } - + /** * Returns a combined hash code of it's elements:
            *
              @@ -249,16 +249,16 @@ public class MonitorMode implements Comparable { */ public final int hashCode() { return hashCode; - } + } private final int getHashCode() { // 31 * x == (x << 5) - x int hash = 31 + surfaceSize.hashCode(); hash = ((hash << 5) - hash) + flags; hash = ((hash << 5) - hash) + (int)(refreshRate*100.0f); return hash; - } + } } - + /** zero rotation, compared to normal settings */ public static final int ROTATE_0 = 0; @@ -270,15 +270,15 @@ public class MonitorMode implements Comparable { /** 270 degrees CCW rotation */ public static final int ROTATE_270 = 270; - + /** Frame is split into two fields. See {@link #getFlags()}. */ public static final int FLAG_INTERLACE = 1 << 0; - + /** Lines are doubled. See {@link #getFlags()}. */ public static final int FLAG_DOUBLESCAN = 1 << 1; /** The immutable native Id of this instance, which may not be unique. */ - private final int nativeId; + private final int nativeId; private final SizeAndRRate sizeAndRRate; private final int rotation; private final int hashCode; @@ -301,7 +301,7 @@ public class MonitorMode implements Comparable { this.rotation = rotation; this.hashCode = getHashCode(); } - + /** * Creates a user instance w/o {@link #getId() identity} to filter our matching modes w/ identity. *

              @@ -314,16 +314,16 @@ public class MonitorMode implements Comparable { */ public MonitorMode(SurfaceSize surfaceSize, float refreshRate, int flags, int rotation) { this(0, new SizeAndRRate(surfaceSize, refreshRate, flags), rotation); - } + } /** @return the immutable native Id of this mode, may not be unique, may be 0. */ public final int getId() { return nativeId; } - + /** Returns the surfaceSize and refreshRate instance. */ - public final SizeAndRRate getSizeAndRRate() { + public final SizeAndRRate getSizeAndRRate() { return sizeAndRRate; } - + /** Returns the unrotated {@link SurfaceSize} */ public final SurfaceSize getSurfaceSize() { return sizeAndRRate.surfaceSize; @@ -338,23 +338,23 @@ public class MonitorMode implements Comparable { public final int getFlags() { return sizeAndRRate.flags; } - + /** Returns the CCW rotation of this mode */ public final int getRotation() { return rotation; } - - /** Returns the rotated screen width, + + /** Returns the rotated screen width, * derived from getMonitorMode().getSurfaceSize().getResolution() - * and getRotation() + * and getRotation() */ public final int getRotatedWidth() { return getRotatedWH(true); } - - /** Returns the rotated screen height, + + /** Returns the rotated screen height, * derived from getMonitorMode().getSurfaceSize().getResolution() - * and getRotation() + * and getRotation() */ public final int getRotatedHeight() { return getRotatedWH(false); @@ -367,9 +367,9 @@ public class MonitorMode implements Comparable { /** *

              * Compares {@link SizeAndRRate#compareTo(SizeAndRRate) sizeAndRRate} 1st, then {@link #rotation}. - *

              + *

              *

              - * Rotation is compared inverted, i.e. 360 - rotation, + * Rotation is compared inverted, i.e. 360 - rotation, * so the lowest rotation reflects a higher value. *

              *

              @@ -380,7 +380,7 @@ public class MonitorMode implements Comparable { *

            • flags
            • *
            • refresh rate
            • *
            • rotation
            • - *
            + *
          *

          * {@inheritDoc} */ @@ -399,9 +399,9 @@ public class MonitorMode implements Comparable { } return 0; } - + /** - * Tests equality of two {@link MonitorMode} objects + * Tests equality of two {@link MonitorMode} objects * by evaluating equality of it's components:
          *
            *
          • nativeId
          • @@ -438,7 +438,7 @@ public class MonitorMode implements Comparable { hash = ((hash << 5) - hash) + getRotation(); return hash; } - + private final int getRotatedWH(boolean width) { final DimensionImmutable d = sizeAndRRate.surfaceSize.getResolution(); final boolean swap = MonitorMode.ROTATE_90 == rotation || MonitorMode.ROTATE_270 == rotation ; @@ -446,5 +446,5 @@ public class MonitorMode implements Comparable { return d.getHeight(); } return d.getWidth(); - } + } } diff --git a/src/newt/classes/com/jogamp/newt/NewtFactory.java b/src/newt/classes/com/jogamp/newt/NewtFactory.java index e66b2f624..7116877a3 100644 --- a/src/newt/classes/com/jogamp/newt/NewtFactory.java +++ b/src/newt/classes/com/jogamp/newt/NewtFactory.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package com.jogamp.newt; @@ -53,16 +53,16 @@ public class NewtFactory { public static final boolean DEBUG_IMPLEMENTATION = Debug.debug("Window"); public static final String DRIVER_DEFAULT_ROOT_PACKAGE = "jogamp.newt.driver"; - + static { AccessController.doPrivileged(new PrivilegedAction() { public Object run() { NativeWindowFactory.initSingleton(); // last resort .. - + // Work-around for initialization order problems on Mac OS X // between native Newt and (apparently) Fmod WindowImpl.init(NativeWindowFactory.getNativeWindowType(true)); - + return null; } } ); } @@ -75,7 +75,7 @@ public class NewtFactory { clazzName = DRIVER_DEFAULT_ROOT_PACKAGE + packageName + "." + classBaseName ; } else { clazzName = packageName + "." + classBaseName ; - } + } try { clazz = Class.forName(clazzName); } catch (Throwable t) { @@ -90,7 +90,7 @@ public class NewtFactory { private static boolean useEDT = true; - /** + /** * Toggles the usage of an EventDispatchThread while creating a Display.
            * The default is enabled.
            * The EventDispatchThread is thread local to the Display instance.
            @@ -108,7 +108,7 @@ public class NewtFactory { * Native creation is lazily done at usage, ie. {@link Display#addReference()}. *

            *

            - * An already existing display connection of the same name will be reused. + * An already existing display connection of the same name will be reused. *

            * @param name the display connection name which is a technical platform specific detail, * see {@link AbstractGraphicsDevice#getConnection()}. Use null for default. diff --git a/src/newt/classes/com/jogamp/newt/NewtVersion.java b/src/newt/classes/com/jogamp/newt/NewtVersion.java index 9adb7aac5..e70d63f88 100644 --- a/src/newt/classes/com/jogamp/newt/NewtVersion.java +++ b/src/newt/classes/com/jogamp/newt/NewtVersion.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt; import com.jogamp.common.GlueGenVersion; diff --git a/src/newt/classes/com/jogamp/newt/Screen.java b/src/newt/classes/com/jogamp/newt/Screen.java index f56ee344b..1274b3459 100644 --- a/src/newt/classes/com/jogamp/newt/Screen.java +++ b/src/newt/classes/com/jogamp/newt/Screen.java @@ -39,7 +39,7 @@ import javax.media.nativewindow.NativeWindowException; import javax.media.nativewindow.util.Rectangle; import javax.media.nativewindow.util.RectangleImmutable; -/** +/** * A screen may span multiple {@link MonitorDevice}s representing their combined virtual size. */ public abstract class Screen { @@ -102,7 +102,7 @@ public abstract class Screen { /** * See {@link Display#addReference()} - * + * * @return number of references post operation * @throws NativeWindowException if the native creation failed. * @see #removeReference() @@ -113,7 +113,7 @@ public abstract class Screen { /** * See {@link Display#removeReference()} - * + * * @return number of references post operation * @see #addReference() * @see #setDestroyWhenUnused(boolean) @@ -132,12 +132,12 @@ public abstract class Screen { * @return the x position of the virtual viewport's top-left origin. */ public abstract int getX(); - + /** * @return the y position of the virtual viewport's top-left origin. */ public abstract int getY(); - + /** * @return the rotated virtual viewport's width. */ @@ -152,19 +152,19 @@ public abstract class Screen { * @return the rotated virtual viewport, i.e. origin and size. */ public abstract RectangleImmutable getViewport(); - + /** * @return the associated Display */ public abstract Display getDisplay(); - /** + /** * @return The screen fully qualified Screen name, * which is a key of {@link com.jogamp.newt.Display#getFQName()} + {@link #getIndex()}. */ public abstract String getFQName(); - /** + /** * Return a list of all {@link MonitorMode}s for all {@link MonitorDevice}s. *

            * The list is ordered in descending order, @@ -173,23 +173,23 @@ public abstract class Screen { */ public abstract List getMonitorModes(); - /** + /** * Return a list of available {@link MonitorDevice}s. */ public abstract List getMonitorDevices(); /** - * Returns the {@link MonitorDevice} which {@link MonitorDevice#getViewport() viewport} + * Returns the {@link MonitorDevice} which {@link MonitorDevice#getViewport() viewport} * {@link MonitorDevice#coverage(RectangleImmutable) covers} the given rectangle the most. *

            - * If no coverage is detected the first {@link MonitorDevice} is returned. + * If no coverage is detected the first {@link MonitorDevice} is returned. *

            */ public final MonitorDevice getMainMonitor(RectangleImmutable r) { MonitorDevice res = null; float maxCoverage = Float.MIN_VALUE; final List monitors = getMonitorDevices(); - for(int i=monitors.size()-1; i>=0; i--) { + for(int i=monitors.size()-1; i>=0; i--) { final MonitorDevice monitor = monitors.get(i); final float coverage = monitor.coverage(r); if( coverage > maxCoverage ) { @@ -207,14 +207,14 @@ public abstract class Screen { * Returns the union of all monitor's {@link MonitorDevice#getViewport() viewport}. *

            * Should be equal to {@link #getX()}, {@link #getY()}, {@link #getWidth()} and {@link #getHeight()}, - * however, some native toolkits may choose a different virtual screen area. + * however, some native toolkits may choose a different virtual screen area. *

            * @param result storage for result, will be returned */ public final Rectangle unionOfMonitorViewportSize(final Rectangle result) { return MonitorDevice.unionOfViewports(result, getMonitorDevices()); } - + /** * @param sml {@link MonitorModeListener} to be added for {@link MonitorEvent} */ @@ -274,7 +274,7 @@ public abstract class Screen { } return null; } - + protected static void addScreen2List(Screen screen) { synchronized(screenList) { // GC before add @@ -289,7 +289,7 @@ public abstract class Screen { screenList.add(new WeakReference(screen)); } } - + /** Returns the global screen collection */ public static Collection getAllScreens() { ArrayList list; @@ -308,7 +308,7 @@ public abstract class Screen { } return list; } - + public static int getActiveScreenNumber() { synchronized(screenList) { return screensActive; diff --git a/src/newt/classes/com/jogamp/newt/Window.java b/src/newt/classes/com/jogamp/newt/Window.java index 02727353f..04eb07a25 100644 --- a/src/newt/classes/com/jogamp/newt/Window.java +++ b/src/newt/classes/com/jogamp/newt/Window.java @@ -58,8 +58,8 @@ import javax.media.nativewindow.util.RectangleImmutable; *
          • ... and more
          • * *

            - * One use case is {@link com.jogamp.newt.opengl.GLWindow}, which delegates - * window operation to an instance of this interface while providing OpenGL + * One use case is {@link com.jogamp.newt.opengl.GLWindow}, which delegates + * window operation to an instance of this interface while providing OpenGL * functionality. *

            */ @@ -90,14 +90,14 @@ public interface Window extends NativeWindow, WindowClosingProtocol { Screen getScreen(); /** - * Returns the {@link MonitorDevice} which {@link MonitorDevice#getViewport() viewport} + * Returns the {@link MonitorDevice} which {@link MonitorDevice#getViewport() viewport} * {@link MonitorDevice#coverage(RectangleImmutable) covers} this window the most. *

            - * If no coverage is detected the first {@link MonitorDevice} is returned. + * If no coverage is detected the first {@link MonitorDevice} is returned. *

            */ MonitorDevice getMainMonitor(); - + /** * Set the CapabilitiesChooser to help determine the native visual type. * @@ -129,7 +129,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol { * Visibility is set to false. *

            *

            - * Method sends out {@link WindowEvent#EVENT_WINDOW_DESTROY_NOTIFY pre-} and + * Method sends out {@link WindowEvent#EVENT_WINDOW_DESTROY_NOTIFY pre-} and * {@link WindowEvent#EVENT_WINDOW_DESTROYED post-} destruction events * to all of it's {@link WindowListener}. *

            @@ -151,7 +151,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol { * Set a custom action handling destruction issued by a {@link WindowImpl#windowDestroyNotify(boolean) toolkit triggered window destroy} * replacing the default {@link #destroy()} action. *

            - * The custom action shall call {@link #destroy()} + * The custom action shall call {@link #destroy()} * but may perform further tasks before and after. *

            */ @@ -369,7 +369,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol { * @param x new top-level position, use -1 for default position. * @param y new top-level position, use -1 for default position. * @param forceDestroyCreate if true, uses re-creation strategy for reparenting, default is false. - * + * * @return The issued reparent action type (strategy) as defined in Window.ReparentAction * @see #reparentWindow(NativeWindow) */ @@ -378,7 +378,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol { /** * Enable or disable fullscreen mode for this window. *

            - * Fullscreen mode is established on the {@link #getMainMonitor() main monitor}. + * Fullscreen mode is established on the {@link #getMainMonitor() main monitor}. *

            * @param fullscreen enable or disable fullscreen mode * @return success @@ -393,14 +393,14 @@ public interface Window extends NativeWindow, WindowClosingProtocol { *

            * Disable fullscreen via {@link #setFullscreen(boolean)}. *

            - * @param monitors if null fullscreen will be spanned across all {@link MonitorDevice}s, + * @param monitors if null fullscreen will be spanned across all {@link MonitorDevice}s, * otherwise across the given list of {@link MonitorDevice}. * @return success * @see #setFullscreen(boolean) * @see #isFullscreen() */ boolean setFullscreen(List monitors); - + boolean isFullscreen(); static interface FocusRunnable { @@ -429,7 +429,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol { * and to perform focus traversal with a 3rd party toolkit. *

            *

            - * The {@link KeyListener} methods are not invoked for {@link KeyEvent#isAutoRepeat() auto-repeat} events. + * The {@link KeyListener} methods are not invoked for {@link KeyEvent#isAutoRepeat() auto-repeat} events. *

            * @param l */ @@ -469,7 +469,7 @@ public interface Window extends NativeWindow, WindowClosingProtocol { /** * Send a {@link WindowEvent} to all {@link WindowListener}. - * @param eventType a {@link WindowEvent} type, e.g. {@link WindowEvent#EVENT_WINDOW_REPAINT}. + * @param eventType a {@link WindowEvent} type, e.g. {@link WindowEvent#EVENT_WINDOW_REPAINT}. */ public void sendWindowEvent(int eventType); @@ -585,8 +585,8 @@ public interface Window extends NativeWindow, WindowClosingProtocol { * Returns all {@link MouseListener} */ MouseListener[] getMouseListeners(); - - /** Enable or disable default {@link GestureHandler}. Default is enabled. */ + + /** Enable or disable default {@link GestureHandler}. Default is enabled. */ void setDefaultGesturesEnabled(boolean enable); /** Return true if default {@link GestureHandler} are enabled. */ boolean areDefaultGesturesEnabled(); @@ -627,5 +627,5 @@ public interface Window extends NativeWindow, WindowClosingProtocol { /** * Removes the given {@link GestureHandler.GestureListener} from the list. */ - void removeGestureListener(GestureHandler.GestureListener gl); + void removeGestureListener(GestureHandler.GestureListener gl); } diff --git a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java index 13affdf49..de1b7224f 100644 --- a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java +++ b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt.awt; @@ -84,11 +84,11 @@ import com.jogamp.opengl.util.TileRenderer; /** * AWT {@link java.awt.Canvas Canvas} containing a NEWT {@link Window} using native parenting. - * + * *
            Offscreen Layer Remarks
            - * + * * {@link OffscreenLayerOption#setShallUseOffscreenLayer(boolean) setShallUseOffscreenLayer(true)} - * maybe called to use an offscreen drawable (FBO or PBuffer) allowing + * maybe called to use an offscreen drawable (FBO or PBuffer) allowing * the underlying JAWT mechanism to composite the image, if supported. */ @SuppressWarnings("serial") @@ -104,7 +104,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto private AWTParentWindowAdapter awtAdapter = null; private AWTAdapter awtMouseAdapter = null; private AWTAdapter awtKeyAdapter = null; - + private AWTWindowClosingProtocol awtWindowClosingProtocol = new AWTWindowClosingProtocol(this, new Runnable() { public void run() { @@ -115,7 +115,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto if( newtChild != null ) { newtChild.sendWindowEvent(WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY); } - } + } } ); /** @@ -147,36 +147,36 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto super(gc); setNEWTChild(child); } - + public void setShallUseOffscreenLayer(boolean v) { shallUseOffscreenLayer = v; } - + public final boolean getShallUseOffscreenLayer() { - return shallUseOffscreenLayer; + return shallUseOffscreenLayer; } - - public final boolean isOffscreenLayerSurfaceEnabled() { + + public final boolean isOffscreenLayerSurfaceEnabled() { return jawtWindow.isOffscreenLayerSurfaceEnabled(); } - - /** - * Returns true if the AWT component is parented to an {@link java.applet.Applet}, - * otherwise false. This information is valid only after {@link #addNotify()} is issued, - * ie. before adding the component to the AWT tree and make it visible. + + /** + * Returns true if the AWT component is parented to an {@link java.applet.Applet}, + * otherwise false. This information is valid only after {@link #addNotify()} is issued, + * ie. before adding the component to the AWT tree and make it visible. */ public boolean isApplet() { return jawtWindow.isApplet(); } boolean isParent() { - return null!=newtChild && jawtWindow == newtChild.getParent(); + return null!=newtChild && jawtWindow == newtChild.getParent(); } - + boolean isFullscreen() { return null != newtChild && newtChild.isFullscreen(); } - + class FocusAction implements Window.FocusRunnable { public boolean run() { final boolean isParent = isParent(); @@ -199,7 +199,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } } private FocusAction focusAction = new FocusAction(); - + WindowListener clearAWTMenusOnNewtFocus = new WindowAdapter() { @Override public void windowResized(WindowEvent e) { @@ -224,15 +224,15 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto handleKey(e, true); } } - - void handleKey(KeyEvent evt, boolean onRelease) { + + void handleKey(KeyEvent evt, boolean onRelease) { if(null == keyboardFocusManager) { throw new InternalError("XXX"); } final AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke(evt.getKeyCode(), evt.getModifiers(), onRelease); boolean suppress = false; if(null != ks) { - final Set fwdKeys = keyboardFocusManager.getDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS); + final Set fwdKeys = keyboardFocusManager.getDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS); final Set bwdKeys = keyboardFocusManager.getDefaultFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS); if(fwdKeys.contains(ks)) { final Component nextFocus = AWTMisc.getNextFocus(NewtCanvasAWT.this, true /* forward */); @@ -253,38 +253,38 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } } if(suppress) { - evt.setConsumed(true); + evt.setConsumed(true); } if(DEBUG) { System.err.println("NewtCanvasAWT.focusKey: XXX: "+ks); } } } - private final FocusTraversalKeyListener newtFocusTraversalKeyListener = new FocusTraversalKeyListener(); + private final FocusTraversalKeyListener newtFocusTraversalKeyListener = new FocusTraversalKeyListener(); class FocusPropertyChangeListener implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent evt) { final Object oldF = evt.getOldValue(); final Object newF = evt.getNewValue(); final boolean isParent = isParent(); - final boolean isFullscreen = isFullscreen(); + final boolean isFullscreen = isFullscreen(); if(DEBUG) { System.err.println("NewtCanvasAWT.FocusProperty: "+evt.getPropertyName()+", src "+evt.getSource()+", "+oldF+" -> "+newF+", isParent "+isParent+", isFS "+isFullscreen); } if(isParent && !isFullscreen) { if(newF == NewtCanvasAWT.this) { - if(DEBUG) { + if(DEBUG) { System.err.println("NewtCanvasAWT.FocusProperty: AWT focus -> NEWT focus traversal"); } requestFocusNEWTChild(); } else if(oldF == NewtCanvasAWT.this && newF == null) { // focus traversal to NEWT - NOP - if(DEBUG) { + if(DEBUG) { System.err.println("NewtCanvasAWT.FocusProperty: NEWT focus"); } } else if(null != newF && newF != NewtCanvasAWT.this) { // focus traversal to another AWT component - if(DEBUG) { + if(DEBUG) { System.err.println("NewtCanvasAWT.FocusProperty: lost focus - clear focus"); } if(newtChild.getDelegatedWindow() instanceof DriverClearFocus) { @@ -292,7 +292,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } } } - } + } } private final FocusPropertyChangeListener focusPropertyChangeListener = new FocusPropertyChangeListener(); private volatile KeyboardFocusManager keyboardFocusManager = null; @@ -300,7 +300,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto private final void requestFocusNEWTChild() { if(null!=newtChild) { newtChild.setFocusAction(null); - if(isOnscreen) { + if(isOnscreen) { KeyboardFocusManager.getCurrentKeyboardFocusManager().clearGlobalFocusOwner(); } newtChild.requestFocus(); @@ -308,17 +308,17 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } } - /** + /** * Sets a new NEWT child, provoking reparenting. *

            * A previously detached newChild will be released to top-level status - * and made invisible. + * and made invisible. *

            *

            - * Note: When switching NEWT child's, detaching the previous first via setNEWTChild(null) - * produced much cleaner visual results. + * Note: When switching NEWT child's, detaching the previous first via setNEWTChild(null) + * produced much cleaner visual results. *

            - * @return the previous attached newt child. + * @return the previous attached newt child. */ public Window setNEWTChild(Window newChild) { final Window prevChild = newtChild; @@ -336,17 +336,17 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto updateLayoutSize(); // will be done later at paint/display/..: attachNewtChild(cont); - + return prevChild; } - + private final void updateLayoutSize() { if( null != newtChild ) { // use NEWT child's size for min/pref size! java.awt.Dimension minSize = new java.awt.Dimension(newtChild.getWidth(), newtChild.getHeight()); setMinimumSize(minSize); setPreferredSize(minSize); - } + } } /** @return the current NEWT child */ @@ -357,7 +357,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto /** @return this AWT Canvas NativeWindow representation, may be null in case {@link #removeNotify()} has been called, * or {@link #addNotify()} hasn't been called yet.*/ public NativeWindow getNativeWindow() { return jawtWindow; } - + public WindowClosingMode getDefaultCloseOperation() { return awtWindowClosingProtocol.getDefaultCloseOperation(); } @@ -373,16 +373,16 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } else { // before native peer is valid: X11 disableBackgroundErase(); - + // creates the native peer super.addNotify(); - + // after native peer is valid: Windows disableBackgroundErase(); - - jawtWindow = NewtFactoryAWT.getNativeWindow(this, null != newtChild ? newtChild.getRequestedCapabilities() : null); + + jawtWindow = NewtFactoryAWT.getNativeWindow(this, null != newtChild ? newtChild.getRequestedCapabilities() : null); jawtWindow.setShallUseOffscreenLayer(shallUseOffscreenLayer); - + if(DEBUG) { // if ( isShowing() == false ) -> Container was not visible yet. // if ( isShowing() == true ) -> Container is already visible. @@ -397,7 +397,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto @Override public void removeNotify() { awtWindowClosingProtocol.removeClosingListener(); - + if( Beans.isDesignTime() ) { super.removeNotify(); } else { @@ -419,7 +419,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto public final void destroy() { destroyImpl(false /* removeNotify */, false /* windowClosing */); } - + private final void destroyImpl(boolean removeNotify, boolean windowClosing) { if( null !=newtChild ) { java.awt.Container cont = AWTMisc.getContainer(this); @@ -427,7 +427,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto System.err.println("NewtCanvasAWT.destroy(removeNotify "+removeNotify+", windowClosing "+windowClosing+"): nw "+newtWinHandleToHexString(newtChild)+", from "+cont); } detachNewtChild(cont); - + if( !removeNotify ) { final Window cWin = newtChild; final Window dWin = cWin.getDelegatedWindow(); @@ -437,14 +437,14 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } else { cWin.destroy(); } - } + } } if( ( removeNotify || windowClosing ) && null!=jawtWindow ) { NewtFactoryAWT.destroyNativeWindow(jawtWindow); jawtWindow=null; - } + } } - + @Override public void paint(Graphics g) { if( validateComponent(true) && !printActive ) { @@ -469,9 +469,9 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } } } - + private volatile boolean printActive = false; - private GLAnimatorControl printAnimator = null; + private GLAnimatorControl printAnimator = null; private GLAutoDrawable printGLAD = null; private AWTTilePainter printAWTTiles = null; @@ -481,15 +481,15 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } return null; } - + @Override public void setupPrint(double scaleMatX, double scaleMatY, int numSamples, int tileWidth, int tileHeight) { - printActive = true; + printActive = true; final int componentCount = isOpaque() ? 3 : 4; final TileRenderer printRenderer = new TileRenderer(); printAWTTiles = new AWTTilePainter(printRenderer, componentCount, scaleMatX, scaleMatY, numSamples, tileWidth, tileHeight, DEBUG); AWTEDTExecutor.singleton.invoke(getTreeLock(), true /* allowOnNonEDT */, true /* wait */, setupPrintOnEDT); - } + } private final Runnable setupPrintOnEDT = new Runnable() { @Override public void run() { @@ -497,14 +497,14 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto if(DEBUG) { System.err.println(getThreadName()+": Info: NewtCanvasAWT setupPrint - skipped GL render, drawable not valid yet"); } - printActive = false; + printActive = false; return; // not yet available .. } if( !isVisible() ) { if(DEBUG) { System.err.println(getThreadName()+": Info: NewtCanvasAWT setupPrint - skipped GL render, drawable visible"); } - printActive = false; + printActive = false; return; // not yet available .. } final GLAutoDrawable glad = getGLAD(); @@ -512,14 +512,14 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto if( DEBUG ) { System.err.println("AWT print.setup exit, newtChild not a GLAutoDrawable: "+newtChild); } - printActive = false; + printActive = false; return; } printAnimator = glad.getAnimator(); if( null != printAnimator ) { printAnimator.remove(glad); } - printGLAD = glad; // _not_ default, shall be replaced by offscreen GLAD + printGLAD = glad; // _not_ default, shall be replaced by offscreen GLAD final GLCapabilities caps = (GLCapabilities)glad.getChosenGLCapabilities().cloneMutable(); final int printNumSamples = printAWTTiles.getNumSamples(caps); GLDrawable printDrawable = printGLAD.getDelegatedDrawable(); @@ -527,7 +527,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto final boolean reqNewGLADSize = printAWTTiles.customTileWidth != -1 && printAWTTiles.customTileWidth != printDrawable.getWidth() || printAWTTiles.customTileHeight != -1 && printAWTTiles.customTileHeight != printDrawable.getHeight(); final boolean reqNewGLADOnscrn = caps.isOnscreen(); - + // It is desired to use a new offscreen GLAD, however Bug 830 forbids this for AA onscreen context. // Bug 830: swapGLContextAndAllGLEventListener and onscreen MSAA w/ NV/GLX final boolean reqNewGLAD = !caps.getSampleBuffers() && ( reqNewGLADOnscrn || reqNewGLADSamples || reqNewGLADSize ); @@ -546,8 +546,8 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto caps.setNumSamples(printNumSamples); } final GLDrawableFactory factory = GLDrawableFactory.getFactory(caps.getGLProfile()); - printGLAD = factory.createOffscreenAutoDrawable(null, caps, null, - printAWTTiles.customTileWidth != -1 ? printAWTTiles.customTileWidth : DEFAULT_PRINT_TILE_SIZE, + printGLAD = factory.createOffscreenAutoDrawable(null, caps, null, + printAWTTiles.customTileWidth != -1 ? printAWTTiles.customTileWidth : DEFAULT_PRINT_TILE_SIZE, printAWTTiles.customTileHeight != -1 ? printAWTTiles.customTileHeight : DEFAULT_PRINT_TILE_SIZE, null); GLDrawableUtil.swapGLContextAndAllGLEventListener(glad, printGLAD); @@ -634,7 +634,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto System.err.println("AWT print.X: "+printAWTTiles); } } - + private final boolean validateComponent(boolean attachNewtChild) { if( Beans.isDesignTime() || !isDisplayable() ) { return false; @@ -645,14 +645,14 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto if( 0 >= getWidth() || 0 >= getHeight() ) { return false; } - + if( attachNewtChild && !newtChildAttached && null != newtChild ) { attachNewtChild(); } return true; } - + private final void configureNewtChild(boolean attach) { if(null!=awtAdapter) { awtAdapter.removeFrom(this); @@ -670,13 +670,13 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto keyboardFocusManager.removePropertyChangeListener("focusOwner", focusPropertyChangeListener); keyboardFocusManager = null; } - + if( null != newtChild ) { newtChild.setKeyboardFocusHandler(null); if(attach) { if(null == jawtWindow.getGraphicsConfiguration()) { throw new InternalError("XXX"); - } + } isOnscreen = jawtWindow.getGraphicsConfiguration().getChosenCapabilities().isOnscreen(); awtAdapter = (AWTParentWindowAdapter) new AWTParentWindowAdapter(jawtWindow, newtChild).addTo(this); awtAdapter.removeWindowClosingFrom(this); // we utilize AWTWindowClosingProtocol triggered destruction! @@ -733,13 +733,13 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto newtChild.reparentWindow(jawtWindow); newtChild.addSurfaceUpdatedListener(jawtWindow); if( jawtWindow.isOffscreenLayerSurfaceEnabled() && - 0 != ( JAWTUtil.JAWT_OSX_CALAYER_QUIRK_POSITION & JAWTUtil.getOSXCALayerQuirks() ) ) { + 0 != ( JAWTUtil.JAWT_OSX_CALAYER_QUIRK_POSITION & JAWTUtil.getOSXCALayerQuirks() ) ) { AWTEDTExecutor.singleton.invoke(false, forceRelayout); } newtChild.setVisible(true); configureNewtChild(true); newtChild.sendWindowEvent(WindowEvent.EVENT_WINDOW_RESIZED); // trigger a resize/relayout to listener - + if(DEBUG) { System.err.println("NewtCanvasAWT.attachNewtChild.X: win "+newtWinHandleToHexString(newtChild)+", EDTUtil: cur "+newtChild.getScreen().getDisplay().getEDTUtil()+", comp "+this); } @@ -759,7 +759,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto System.err.println("NewtCanvasAWT.forceRelayout.X"); } } }; - + private final void detachNewtChild(java.awt.Container cont) { if( null == newtChild || null == jawtWindow || !newtChildAttached ) { return; // nop @@ -773,14 +773,14 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto ", cont "+cont); } - newtChild.removeSurfaceUpdatedListener(jawtWindow); + newtChild.removeSurfaceUpdatedListener(jawtWindow); newtChildAttached = false; newtChild.setFocusAction(null); // no AWT focus traversal .. configureNewtChild(false); newtChild.setVisible(false); - + newtChild.reparentWindow(null); // will destroy context (offscreen -> onscreen) and implicit detachSurfaceLayer - + if(DEBUG) { System.err.println("NewtCanvasAWT.detachNewtChild.X: win "+newtWinHandleToHexString(newtChild)+", EDTUtil: cur "+newtChild.getScreen().getDisplay().getEDTUtil()+", comp "+this); } @@ -837,7 +837,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } protected static String getThreadName() { return Thread.currentThread().getName(); } - + static String newtWinHandleToHexString(Window w) { return null != w ? toHexString(w.getWindowHandle()) : "nil"; } diff --git a/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java b/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java index c7153840f..9b1b82297 100644 --- a/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java +++ b/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java @@ -47,12 +47,12 @@ import jogamp.nativewindow.jawt.JAWTUtil; import com.jogamp.newt.awt.NewtCanvasAWT; import com.jogamp.newt.opengl.GLWindow; -/** +/** * Simple GLEventListener deployment as an applet using JOGL. This demo must be * referenced from a web page via an <applet> tag. - * + * *

            - * Example of an applet tag using GearsES2 within the applet area (normal case): + * Example of an applet tag using GearsES2 within the applet area (normal case): *

                     <applet width=100 height=100>
                        <param name="java_arguments" value="-Dsun.java2d.noddraw=true">
            @@ -65,9 +65,9 @@ import com.jogamp.newt.opengl.GLWindow;
                     </applet>Hello Gears !
              *  
            *

            - * + * *

            - * Example of an applet tag using GearsES2 in an undecorated, translucent, closeable and always-on-top window: + * Example of an applet tag using GearsES2 in an undecorated, translucent, closeable and always-on-top window: *

                     <applet width=1 height=1>
                        <param name="java_arguments" value="-Dsun.java2d.noddraw=true">
            @@ -95,12 +95,12 @@ import com.jogamp.newt.opengl.GLWindow;
             @SuppressWarnings("serial")
             public class JOGLNewtApplet1Run extends Applet {
                 public static final boolean DEBUG = JOGLNewtAppletBase.DEBUG;
            -    
            +
                 GLWindow glWindow = null;
                 NewtCanvasAWT newtCanvasAWT = null;
                 JOGLNewtAppletBase base = null;
                 /** if valid glStandalone:=true (own window) ! */
            -    int glXd=Integer.MAX_VALUE, glYd=Integer.MAX_VALUE, glWidth=Integer.MAX_VALUE, glHeight=Integer.MAX_VALUE; 
            +    int glXd=Integer.MAX_VALUE, glYd=Integer.MAX_VALUE, glWidth=Integer.MAX_VALUE, glHeight=Integer.MAX_VALUE;
             
                 public void init() {
                     if(DEBUG) {
            @@ -135,7 +135,7 @@ public class JOGLNewtApplet1Run extends Applet {
                         glCloseable = JOGLNewtAppletBase.str2Bool(getParameter("gl_closeable"), glCloseable);
                         glOpaque = JOGLNewtAppletBase.str2Bool(getParameter("gl_opaque"), glOpaque);
                         glAlphaBits = JOGLNewtAppletBase.str2Int(getParameter("gl_alpha"), glAlphaBits);
            -            glNumMultisampleBuffer = JOGLNewtAppletBase.str2Int(getParameter("gl_multisamplebuffer"), glNumMultisampleBuffer); 
            +            glNumMultisampleBuffer = JOGLNewtAppletBase.str2Int(getParameter("gl_multisamplebuffer"), glNumMultisampleBuffer);
                         glXd = JOGLNewtAppletBase.str2Int(getParameter("gl_dx"), glXd);
                         glYd = JOGLNewtAppletBase.str2Int(getParameter("gl_dy"), glYd);
                         glWidth = JOGLNewtAppletBase.str2Int(getParameter("gl_width"), glWidth);
            @@ -168,8 +168,8 @@ public class JOGLNewtApplet1Run extends Applet {
                         System.err.println("glNumMultisampleBuffer: "+glNumMultisampleBuffer);
                         System.err.println("glNoDefaultKeyListener: "+glNoDefaultKeyListener);
                     }
            -        
            -        base = new JOGLNewtAppletBase(glEventListenerClazzName, 
            +
            +        base = new JOGLNewtAppletBase(glEventListenerClazzName,
                                                   glSwapInterval,
                                                   glNoDefaultKeyListener,
                                                   glCloseable,
            @@ -252,9 +252,9 @@ public class JOGLNewtApplet1Run extends Applet {
                         System.err.println("GLWindow: "+glWindow);
                     }
                     base.start();
            -        if( null != newtCanvasAWT && 
            +        if( null != newtCanvasAWT &&
                         newtCanvasAWT.isOffscreenLayerSurfaceEnabled() &&
            -            0 != ( JAWTUtil.JAWT_OSX_CALAYER_QUIRK_POSITION & JAWTUtil.getOSXCALayerQuirks() ) ) {          
            +            0 != ( JAWTUtil.JAWT_OSX_CALAYER_QUIRK_POSITION & JAWTUtil.getOSXCALayerQuirks() ) ) {
                         // force relayout
                         final int cW = newtCanvasAWT.getWidth();
                         final int cH = newtCanvasAWT.getHeight();
            diff --git a/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java b/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java
            index 1004adb8e..a6a30a8bf 100644
            --- a/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java
            +++ b/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java
            @@ -57,7 +57,7 @@ import com.jogamp.opengl.util.Animator;
             
             public class JOGLNewtAppletBase implements KeyListener, GLEventListener {
                 public static final boolean DEBUG = Debug.debug("Applet");
            -    
            +
                 String glEventListenerClazzName;
                 int glSwapInterval;
                 boolean noDefaultKeyListener;
            @@ -71,13 +71,13 @@ public class JOGLNewtAppletBase implements KeyListener, GLEventListener {
                 boolean isValid = false;
                 NativeWindow awtParent;
             
            -    public JOGLNewtAppletBase(String glEventListenerClazzName, 
            +    public JOGLNewtAppletBase(String glEventListenerClazzName,
                                           int glSwapInterval,
                                           boolean noDefaultKeyListener,
                                           boolean glClosable,
                                           boolean glDebug,
                                           boolean glTrace) {
            -    
            +
                     this.glEventListenerClazzName=glEventListenerClazzName;
                     this.glSwapInterval=glSwapInterval;
                     this.noDefaultKeyListener = noDefaultKeyListener;
            @@ -174,8 +174,8 @@ public class JOGLNewtAppletBase implements KeyListener, GLEventListener {
                                                 glWindow.reparentWindow(awtParent);
                                             }
                                            }
            -                            }).start();                         
            -                        }                        
            +                            }).start();
            +                        }
                                 }
                             } } );
             
            @@ -203,7 +203,7 @@ public class JOGLNewtAppletBase implements KeyListener, GLEventListener {
                         if(glEventListener instanceof KeyListener) {
                             glWindow.addKeyListener((KeyListener)glEventListener);
                         }
            -            
            +
                         if(!noDefaultKeyListener) {
                             glWindow.addKeyListener(this);
                         }
            @@ -216,7 +216,7 @@ public class JOGLNewtAppletBase implements KeyListener, GLEventListener {
                         glAnimator.setThreadGroup(tg);
                         glAnimator.add(glWindow);
                         glAnimator.setUpdateFPSFrames(FPSCounter.DEFAULT_FRAMES_PER_INTERVAL, null);
            -            
            +
                     } catch (Throwable t) {
                         throw new RuntimeException(t);
                     }
            @@ -262,14 +262,14 @@ public class JOGLNewtAppletBase implements KeyListener, GLEventListener {
                     if(glDebug) {
                         try {
                             _gl = _gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Debug", null, _gl, null) );
            -            } catch (Exception e) {e.printStackTrace();} 
            +            } catch (Exception e) {e.printStackTrace();}
                     }
             
                     if(glTrace) {
                         try {
                             // Trace ..
                             _gl = _gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Trace", null, _gl, new Object[] { System.err } ) );
            -            } catch (Exception e) {e.printStackTrace();} 
            +            } catch (Exception e) {e.printStackTrace();}
                     }
             
                     if(glSwapInterval>=0) {
            @@ -317,9 +317,9 @@ public class JOGLNewtAppletBase implements KeyListener, GLEventListener {
                         }
                    }
                 }
            -    
            +
                 @Override
            -    public void keyReleased(KeyEvent e) { 
            +    public void keyReleased(KeyEvent e) {
                 }
             }
             
            diff --git a/src/newt/classes/com/jogamp/newt/event/DoubleTapScrollGesture.java b/src/newt/classes/com/jogamp/newt/event/DoubleTapScrollGesture.java
            index bc67cbee6..7dda47534 100644
            --- a/src/newt/classes/com/jogamp/newt/event/DoubleTapScrollGesture.java
            +++ b/src/newt/classes/com/jogamp/newt/event/DoubleTapScrollGesture.java
            @@ -41,15 +41,15 @@ import jogamp.newt.Debug;
              *
              *    - touchSlop (scaled in pixels):
              *       - Min. movement w/ 2 pointer within ScaledDoubleTapSlop starting 'scroll' mode
            - *       
            + *
              *    - Avoid computation if not within gesture, especially for MOVE/DRAG
            - *    
            + *
              *    - Only allow gesture to start with PRESS
            - *    
            - *    - Leave gesture completely with RELEASE of both/all fingers, or dist-diff exceeds doubleTapSlop 
            - *    
            + *
            + *    - Leave gesture completely with RELEASE of both/all fingers, or dist-diff exceeds doubleTapSlop
            + *
              *    - Tolerate temporary lift 1 of 2 pointer
            - *    
            + *
              *     - Always validate pointer-id
              * 
            *

            @@ -74,27 +74,27 @@ public class DoubleTapScrollGesture implements GestureHandler { public static final int SCROLL_SLOP_PIXEL; /** Two pointer 'double tap' slop in pixels (fallback), defaults to 104 pixels. Can be overriden by integer property newt.event.double_tap_slop_pixel.*/ public static final int DOUBLE_TAP_SLOP_PIXEL; - + /** Scroll threshold in millimeter, defaults to 3 mm. Can be overriden by integer property newt.event.scroll_slop_mm.*/ public static final float SCROLL_SLOP_MM; /** Two pointer 'double tap' slop in millimeter, defaults to 20 mm. Can be overriden by integer property newt.event.double_tap_slop_mm.*/ public static final float DOUBLE_TAP_SLOP_MM; - + static { Debug.initSingleton(); - + SCROLL_SLOP_PIXEL = Debug.getIntProperty("newt.event.scroll_slop_pixel", true, 16); DOUBLE_TAP_SLOP_PIXEL = Debug.getIntProperty("newt.event.double_tap_slop_pixel", true, 104); SCROLL_SLOP_MM = Debug.getIntProperty("newt.event.scroll_slop_mm", true, 3); DOUBLE_TAP_SLOP_MM = Debug.getIntProperty("newt.event.double_tap_slop_mm", true, 20); } - + private static final int ST_NONE = 0; private static final int ST_1PRESS = 1; private static final int ST_2PRESS_T = 2; private static final int ST_2PRESS_C = 3; private static final int ST_SCROLL = 4; - + private final int scrollSlop, scrollSlopSquare, doubleTapSlop, doubleTapSlopSquare; private final float[] scrollDistance = new float[] { 0f, 0f }; private int[] pIds = new int[] { -1, -1 }; @@ -104,18 +104,18 @@ public class DoubleTapScrollGesture implements GestureHandler { private int lastX, lastY; private int pointerDownCount; private MouseEvent hitGestureEvent; - + private static final int getSquareDistance(float x1, float y1, float x2, float y2) { final int deltaX = (int) x1 - (int) x2; final int deltaY = (int) y1 - (int) y2; return deltaX * deltaX + deltaY * deltaY; } - + private int gesturePointers(final MouseEvent e, final int excludeIndex) { - int j = 0; + int j = 0; for(int i=e.getPointerCount()-1; i>=0; i--) { if( excludeIndex != i ) { - final int id = e.getPointerId(i); + final int id = e.getPointerId(i); if( pIds[0] == id || pIds[1] == id ) { j++; } @@ -123,10 +123,10 @@ public class DoubleTapScrollGesture implements GestureHandler { } return j; } - + /** * scaledScrollSlop < scaledDoubleTapSlop - * @param scaledScrollSlop Distance a pointer can wander before we think the user is scrolling in pixels. + * @param scaledScrollSlop Distance a pointer can wander before we think the user is scrolling in pixels. * @param scaledDoubleTapSlop Distance in pixels between the first touch and second touch to still be considered a double tap. */ public DoubleTapScrollGesture(int scaledScrollSlop, int scaledDoubleTapSlop) { @@ -137,9 +137,9 @@ public class DoubleTapScrollGesture implements GestureHandler { pointerDownCount = 0; clear(true); if(DEBUG) { - System.err.println("DoubleTapScroll scrollSlop (scaled) "+scrollSlop); - System.err.println("DoubleTapScroll doubleTapSlop (scaled) "+doubleTapSlop); - } + System.err.println("DoubleTapScroll scrollSlop (scaled) "+scrollSlop); + System.err.println("DoubleTapScroll doubleTapSlop (scaled) "+doubleTapSlop); + } } public String toString() { @@ -160,17 +160,17 @@ public class DoubleTapScrollGesture implements GestureHandler { lastY = 0; } } - + @Override public boolean isWithinGesture() { return ST_2PRESS_C <= gestureState; } - + @Override public boolean hasGesture() { return null != hitGestureEvent; } - + @Override public InputEvent getGestureEvent() { if( null != hitGestureEvent ) { @@ -184,17 +184,17 @@ public class DoubleTapScrollGesture implements GestureHandler { modifiers |= com.jogamp.newt.event.InputEvent.SHIFT_MASK; } return new MouseEvent(MouseEvent.EVENT_MOUSE_WHEEL_MOVED, ge.getSource(), ge.getWhen(), modifiers, - ge.getAllPointerTypes(), ge.getAllPointerIDs(), - ge.getAllX(), ge.getAllY(), ge.getAllPressures(), ge.getMaxPressure(), + ge.getAllPointerTypes(), ge.getAllPointerIDs(), + ge.getAllX(), ge.getAllY(), ge.getAllPressures(), ge.getMaxPressure(), ge.getButton(), ge.getClickCount(), rotationXYZ, scrollSlop); } return null; } - + public final float[] getScrollDistanceXY() { return scrollDistance; } - + @Override public boolean process(final InputEvent in) { if( null != hitGestureEvent || !(in instanceof MouseEvent) ) { @@ -220,7 +220,7 @@ public class DoubleTapScrollGesture implements GestureHandler { final int y1 = pe.getY(1); final int xm = (x0+x1)/2; final int ym = (y0+y1)/2; - + if( ST_1PRESS == gestureState ) { final int sqDist = getSquareDistance(x0, y0, x1, y1); final boolean isDistWithinDoubleTapSlop = sqDist < doubleTapSlopSquare; @@ -254,7 +254,7 @@ public class DoubleTapScrollGesture implements GestureHandler { System.err.println(this+".pressed: gPtr "+gPtr+", this "+lastX+"/"+lastY+", "+pe); } } break; - + case MouseEvent.EVENT_MOUSE_RELEASED: { pointerDownCount--; // lifted final int gPtr = gesturePointers(pe, 0); // w/o lifted pointer @@ -269,7 +269,7 @@ public class DoubleTapScrollGesture implements GestureHandler { System.err.println(this+".released: gPtr "+gPtr+", "+pe); } } break; - + case MouseEvent.EVENT_MOUSE_DRAGGED: { if( 2 == pointerDownCount && ST_1PRESS < gestureState ) { final int gPtr = gesturePointers(pe, -1); @@ -289,11 +289,11 @@ public class DoubleTapScrollGesture implements GestureHandler { gestureState = ST_SCROLL; } } break; - + case ST_2PRESS_C: gestureState = ST_SCROLL; break; - + case ST_SCROLL: scrollDistance[0] = lastX - xm; scrollDistance[1] = lastY - ym; @@ -338,7 +338,7 @@ public class DoubleTapScrollGesture implements GestureHandler { } } } break; - + default: } return null != hitGestureEvent; diff --git a/src/newt/classes/com/jogamp/newt/event/GestureHandler.java b/src/newt/classes/com/jogamp/newt/event/GestureHandler.java index 2c8f29bb7..2e98a8a01 100644 --- a/src/newt/classes/com/jogamp/newt/event/GestureHandler.java +++ b/src/newt/classes/com/jogamp/newt/event/GestureHandler.java @@ -30,7 +30,7 @@ package com.jogamp.newt.event; import jogamp.newt.Debug; /** - * Generic gesture handler interface designed to allow pass-through + * Generic gesture handler interface designed to allow pass-through * filtering of {@link InputEvent}s. *

            * To avoid negative impact on event processing, @@ -44,18 +44,18 @@ import jogamp.newt.Debug; */ public interface GestureHandler { public static final boolean DEBUG = Debug.debug("Window.MouseEvent"); - + /** A custom gesture event */ @SuppressWarnings("serial") public static class GestureEvent extends InputEvent { /** A gesture has been detected. */ public static final short EVENT_GESTURE_DETECTED = 400; - + private final GestureHandler handler; - + /** * Creates a gesture event with default type {@link #EVENT_GESTURE_DETECTED}. - * + * * @param source * @param when * @param modifiers @@ -65,7 +65,7 @@ public interface GestureHandler { super(EVENT_GESTURE_DETECTED, source, when, modifiers); this.handler = handler; } - + /** * Creates a gesture event with custom event_type ! * @param event_type must lie within [400..599] @@ -78,14 +78,14 @@ public interface GestureHandler { super(event_type, source, when, modifiers); this.handler = handler; } - + /** Return the {@link GestureHandler}, which produced the event. */ public final GestureHandler getHandler() { return handler; } } - + /** * Listener for {@link GestureEvent}s. - * + * * @see GestureEvent */ public static interface GestureListener extends NEWTEventListener @@ -93,50 +93,50 @@ public interface GestureHandler { /** {@link GestureHandler} {@link GestureHandler#hasGesture() has detected} the gesture. */ public void gestureDetected(GestureEvent gh); } - - /** - * Clears state of handler, i.e. resets all states incl. previous detected gesture. + + /** + * Clears state of handler, i.e. resets all states incl. previous detected gesture. * @param clearStarted if true, also clears {@link #isWithinGesture() started} state, * otherwise stay within gesture - if appropriate. - * Staying within a gesture allows fluent continuous gesture sequence, - * e.g. for scrolling. + * Staying within a gesture allows fluent continuous gesture sequence, + * e.g. for scrolling. */ public void clear(boolean clearStarted); - - /** + + /** * Returns true if a previous {@link #process(InputEvent)} command produced a gesture, - * which has not been {@link #clear(boolean) cleared}. + * which has not been {@link #clear(boolean) cleared}. * Otherwise returns false. - */ + */ public boolean hasGesture(); - - /** + + /** * Returns the corresponding {@link InputEvent} for the gesture as detected by * a previous {@link #process(InputEvent)}, which has not been {@link #clear(boolean) cleared}. * Otherwise returns null. *

            * Only implemented for gestures mapping to {@link InputEvent}s. - *

            - */ + *

            + */ public InputEvent getGestureEvent(); - - /** + + /** * Returns true if within a gesture as detected by a previous {@link #process(InputEvent)} command, - * which has not been {@link #clear(boolean) cleared}. + * which has not been {@link #clear(boolean) cleared}. * Otherwise returns false. - */ + */ public boolean isWithinGesture(); /** * Process the given {@link InputEvent} and returns true if it produced the gesture. * Otherwise returns false. *

            - * If a gesture was already detected previously and has not been cleared, - * method does not process the event and returns true. + * If a gesture was already detected previously and has not been cleared, + * method does not process the event and returns true. *

            *

            - * Besides validation of the event's details, - * the handler may also validate the {@link InputEvent.InputClass} and/or {@link InputEvent.InputType}. + * Besides validation of the event's details, + * the handler may also validate the {@link InputEvent.InputClass} and/or {@link InputEvent.InputType}. *

            */ public boolean process(InputEvent e); diff --git a/src/newt/classes/com/jogamp/newt/event/InputEvent.java b/src/newt/classes/com/jogamp/newt/event/InputEvent.java index 1bd67efa5..6520dafcf 100644 --- a/src/newt/classes/com/jogamp/newt/event/InputEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/InputEvent.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package com.jogamp.newt.event; @@ -43,17 +43,17 @@ public abstract class InputEvent extends NEWTEvent /** Interface marking class of input types */ public static interface InputClass { } - + /** Interface marking type of input devices */ public static interface InputType { } - + public static final int SHIFT_MASK = 1 << 0; public static final int CTRL_MASK = 1 << 1; public static final int META_MASK = 1 << 2; public static final int ALT_MASK = 1 << 3; public static final int ALT_GRAPH_MASK = 1 << 4; - + public static final int BUTTON1_MASK = 1 << 5; public static final int BUTTON2_MASK = 1 << 6; public static final int BUTTON3_MASK = 1 << 7; @@ -63,23 +63,23 @@ public abstract class InputEvent extends NEWTEvent public static final int BUTTON7_MASK = 1 << 11; public static final int BUTTON8_MASK = 1 << 12; public static final int BUTTON9_MASK = 1 << 13; - + public static final int BUTTONLAST_MASK = 1 << 20; // 16 buttons public static final int BUTTONALL_MASK = 0xffff << 5 ; // 16 buttons - + /** Event is caused by auto-repeat. */ public static final int AUTOREPEAT_MASK = 1 << 29; - + /** Pointer is confined, see {@link Window#confinePointer(boolean)}. */ public static final int CONFINED_MASK = 1 << 30; - + /** Pointer is invisible, see {@link Window#setPointerVisible(boolean)}. */ public static final int INVISIBLE_MASK = 1 << 31; - /** + /** * Returns the corresponding button mask for the given button. *

            - * In case the given button lies outside + * In case the given button lies outside * of the valid range [{@link MouseEvent#BUTTON1} .. {@link MouseEvent#BUTTON_COUNT}], * null is returned. *

            @@ -90,7 +90,7 @@ public abstract class InputEvent extends NEWTEvent } return 0; } - + protected InputEvent(short eventType, Object source, long when, int modifiers) { super(eventType, source, when); this.modifiers=modifiers; @@ -128,11 +128,11 @@ public abstract class InputEvent extends NEWTEvent public boolean isConfined() { return (modifiers&CONFINED_MASK)!=0; } - /** {@link #getModifiers()} contains {@link #INVISIBLE_MASK}. Pointer is invisible, see {@link Window#setPointerVisible(boolean)}. */ + /** {@link #getModifiers()} contains {@link #INVISIBLE_MASK}. Pointer is invisible, see {@link Window#setPointerVisible(boolean)}. */ public boolean isInvisible() { return (modifiers&INVISIBLE_MASK)!=0; } - + public StringBuilder getModifiersString(StringBuilder sb) { if(null == sb) { sb = new StringBuilder(); @@ -141,7 +141,7 @@ public abstract class InputEvent extends NEWTEvent boolean isFirst = true; if(isShiftDown()) { if(!isFirst) { sb.append(", "); } isFirst = false; sb.append("shift"); } if(isControlDown()) { if(!isFirst) { sb.append(", "); } isFirst = false; sb.append("ctrl"); } - if(isMetaDown()) { if(!isFirst) { sb.append(", "); } isFirst = false; sb.append("meta"); } + if(isMetaDown()) { if(!isFirst) { sb.append(", "); } isFirst = false; sb.append("meta"); } if(isAltDown()) { if(!isFirst) { sb.append(", "); } isFirst = false; sb.append("alt"); } if(isAltGraphDown()) { if(!isFirst) { sb.append(", "); } isFirst = false; sb.append("altgr"); } if(isAutoRepeat()) { if(!isFirst) { sb.append(", "); } isFirst = false; sb.append("repeat"); } @@ -151,18 +151,18 @@ public abstract class InputEvent extends NEWTEvent if(isConfined()) { if(!isFirst) { sb.append(", "); } isFirst = false; sb.append("confined"); } if(isInvisible()) { if(!isFirst) { sb.append(", "); } isFirst = false; sb.append("invisible"); } sb.append("]"); - + return sb; } /** * See also {@link MouseEvent}'s section about Multiple-Pointer Events. - * @return Array of pressed mouse buttons [{@link MouseEvent#BUTTON1} .. {@link MouseEvent#BUTTON6}]. + * @return Array of pressed mouse buttons [{@link MouseEvent#BUTTON1} .. {@link MouseEvent#BUTTON6}]. * If none is down, the resulting array is of length 0. */ public final short[] getButtonsDown() { final int len = getButtonDownCount(); - + final short[] res = new short[len]; int j = 0; for(int i=1; i<=MouseEvent.BUTTON_COUNT; i++) { @@ -174,13 +174,13 @@ public abstract class InputEvent extends NEWTEvent /** * See also {@link MouseEvent}'s section about Multiple-Pointer Events. * @param button the button to test - * @return true if the given button is down + * @return true if the given button is down */ public final boolean isButtonDown(int button) { return ( modifiers & getButtonMask(button) ) != 0; } - /** + /** * Returns the number of pressed buttons by counting the set bits: *
               *     getBitCount(modifiers & BUTTONALL_MASK);
            @@ -194,8 +194,8 @@ public abstract class InputEvent extends NEWTEvent
              public final int getButtonDownCount() {
                  return IntBitfield.getBitCount(modifiers & BUTTONALL_MASK);
              }
            - 
            - /** 
            +
            + /**
               * Returns true if at least one button is pressed, otherwise false:
               * 
               *     0 != ( modifiers & BUTTONALL_MASK )
            @@ -209,11 +209,11 @@ public abstract class InputEvent extends NEWTEvent
              public final boolean isAnyButtonDown() {
                  return 0 != ( modifiers & BUTTONALL_MASK );
              }
            - 
            +
              public String toString() {
                  return toString(null).toString();
              }
            - 
            +
              public StringBuilder toString(StringBuilder sb) {
                  if(null == sb) {
                      sb = new StringBuilder();
            diff --git a/src/newt/classes/com/jogamp/newt/event/KeyAdapter.java b/src/newt/classes/com/jogamp/newt/event/KeyAdapter.java
            index 42ebea722..a89148574 100644
            --- a/src/newt/classes/com/jogamp/newt/event/KeyAdapter.java
            +++ b/src/newt/classes/com/jogamp/newt/event/KeyAdapter.java
            @@ -4,14 +4,14 @@
              *
              * Redistribution and use in source and binary forms, with or without modification, are
              * permitted provided that the following conditions are met:
            - * 
            + *
              *    1. Redistributions of source code must retain the above copyright notice, this list of
              *       conditions and the following disclaimer.
            - * 
            + *
              *    2. Redistributions 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.
            - * 
            + *
              * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
              * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
              * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
            @@ -21,12 +21,12 @@
              * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
              * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
              * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
            - * 
            + *
              * The views and conclusions contained in the software and documentation are those of the
              * authors and should not be interpreted as representing official policies, either expressed
              * or implied, of JogAmp Community.
              */
            - 
            +
             package com.jogamp.newt.event;
             
             public abstract class KeyAdapter implements KeyListener
            diff --git a/src/newt/classes/com/jogamp/newt/event/KeyEvent.java b/src/newt/classes/com/jogamp/newt/event/KeyEvent.java
            index 085f598dc..81680bf32 100644
            --- a/src/newt/classes/com/jogamp/newt/event/KeyEvent.java
            +++ b/src/newt/classes/com/jogamp/newt/event/KeyEvent.java
            @@ -1,22 +1,22 @@
             /*
              * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
              * Copyright (c) 2010 JogAmp Community. 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
            @@ -29,7 +29,7 @@
              * 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.
            - * 
            + *
              */
             
             package com.jogamp.newt.event;
            @@ -37,8 +37,8 @@ package com.jogamp.newt.event;
             import com.jogamp.common.util.IntBitfield;
             
             /**
            - * 
            KeyEvent Delivery
            - * + *
            KeyEvent Delivery
            + * * Key events are delivered in the following order: *

            * @@ -48,10 +48,10 @@ import com.jogamp.common.util.IntBitfield; *
            *

            * In case the native platform does not - * deliver keyboard events in the above order or skip events, - * the NEWT driver will reorder and inject synthetic events if required. + * deliver keyboard events in the above order or skip events, + * the NEWT driver will reorder and inject synthetic events if required. *

            - * Besides regular modifiers like {@link InputEvent#SHIFT_MASK} etc., + * Besides regular modifiers like {@link InputEvent#SHIFT_MASK} etc., * the {@link InputEvent#AUTOREPEAT_MASK} bit is added if repetition is detected, following above constraints. *

            *

            @@ -60,38 +60,38 @@ import com.jogamp.common.util.IntBitfield; P = pressed, R = released 0 = normal, 1 = auto-repeat - P(0), [ R(1), P(1), R(1), ..], R(0) + P(0), [ R(1), P(1), R(1), ..], R(0) *

            * The idea is if you mask out auto-repeat in your event listener * you just get one long pressed P/R tuple for {@link #isPrintableKey() printable} and {@link #isActionKey() Action} keys. *

            *

            - * {@link #isActionKey() Action} keys will produce {@link #EVENT_KEY_PRESSED pressed} + * {@link #isActionKey() Action} keys will produce {@link #EVENT_KEY_PRESSED pressed} * and {@link #EVENT_KEY_RELEASED released} events including {@link #isAutoRepeat() auto-repeat}. *

            *

            * {@link #isPrintableKey() Printable} keys will produce {@link #EVENT_KEY_PRESSED pressed} and {@link #EVENT_KEY_RELEASED released} events. *

            *

            - * {@link #isModifierKey() Modifier} keys will produce {@link #EVENT_KEY_PRESSED pressed} and {@link #EVENT_KEY_RELEASED released} events + * {@link #isModifierKey() Modifier} keys will produce {@link #EVENT_KEY_PRESSED pressed} and {@link #EVENT_KEY_RELEASED released} events * excluding {@link #isAutoRepeat() auto-repeat}. * They will also influence subsequent event's {@link #getModifiers() modifier} bits while pressed. *

            - * + * *
            Unicode Mapping
            *

            - * {@link #getKeyChar() Key-chars}, as well as + * {@link #getKeyChar() Key-chars}, as well as * {@link #isPrintableKey() printable} {@link #getKeyCode() key-codes} and {@link #getKeySymbol() key-symbols} - * use the UTF-16 unicode space w/o collision. - * + * use the UTF-16 unicode space w/o collision. + * *

            *

            - * Non-{@link #isPrintableKey() printable} {@link #getKeyCode() key-codes} and {@link #getKeySymbol() key-symbols}, + * Non-{@link #isPrintableKey() printable} {@link #getKeyCode() key-codes} and {@link #getKeySymbol() key-symbols}, * i.e. {@link #isModifierKey() modifier-} and {@link #isActionKey() action-}keys, * are mapped to unicode's control and private range and do not collide w/ {@link #isPrintableKey() printable} unicode values * with the following exception. *

            - * + * *
            Unicode Collision
            *

            * The following {@link #getKeyCode() Key-code}s and {@link #getKeySymbol() key-symbol}s collide w/ unicode space:
            @@ -103,9 +103,9 @@ import com.jogamp.common.util.IntBitfield; *

            * Collision was chosen for {@link #getKeyCode() Key-code} and {@link #getKeySymbol() key-symbol} mapping * to allow a minimal code range, i.e. [0..255]. - * The reduced code range in turn allows the implementation to utilize fast and small lookup tables, - * e.g. to implement a key-press state tracker. - *

            + * The reduced code range in turn allows the implementation to utilize fast and small lookup tables, + * e.g. to implement a key-press state tracker. + *

            *
              * http://www.utf8-chartable.de/unicode-utf8-table.pl
              * http://www.unicode.org/Public/5.1.0/ucd/PropList.txt
            @@ -136,7 +136,7 @@ public class KeyEvent extends InputEvent
                             }
                         }
                         flags = _flags;
            -            
            +
                         //
                         // Validate flags
                         //
            @@ -147,12 +147,12 @@ public class KeyEvent extends InputEvent
                         }
                     }
                 }
            -    
            +
                 public static KeyEvent create(short eventType, Object source, long when, int modifiers, short keyCode, short keySym, char keyChar) {
                     return new KeyEvent(eventType, source, when, modifiers, keyCode, keySym, getModifierMask(keySym), keyChar);
                 }
             
            -    /** 
            +    /**
                  * Returns the UTF-16 character reflecting the {@link #getKeySymbol() key symbol}
                  * incl. active {@link #isModifierKey() modifiers}.
                  * @see #getKeySymbol()
            @@ -162,12 +162,12 @@ public class KeyEvent extends InputEvent
                     return keyChar;
                 }
             
            -    /** 
            +    /**
                  * Returns the virtual key symbol reflecting the current keyboard layout.
                  * 

            * For {@link #isPrintableKey() printable keys}, the key symbol is the {@link #isModifierKey() unmodified} - * representation of the UTF-16 {@link #getKeyChar() key char}.
            - * E.g. symbol [{@link #VK_A}, 'A'] for char 'a'. + * representation of the UTF-16 {@link #getKeyChar() key char}.
            + * E.g. symbol [{@link #VK_A}, 'A'] for char 'a'. *

            * @see #isPrintableKey() * @see #getKeyChar() @@ -176,18 +176,18 @@ public class KeyEvent extends InputEvent public final short getKeySymbol() { return keySym; } - - /** + + /** * Returns the virtual key code using a fixed mapping to the US keyboard layout. *

            - * In contrast to {@link #getKeySymbol() key symbol}, key code - * uses a fixed US keyboard layout and therefore is keyboard layout independent. + * In contrast to {@link #getKeySymbol() key symbol}, key code + * uses a fixed US keyboard layout and therefore is keyboard layout independent. *

            *

            - * E.g. virtual key code {@link #VK_Y} denotes the same physical key - * regardless whether keyboard layout QWERTY or + * E.g. virtual key code {@link #VK_Y} denotes the same physical key + * regardless whether keyboard layout QWERTY or * QWERTZ is active. The {@link #getKeySymbol() key symbol} of the former is - * {@link #VK_Y}, where the latter produces {@link #VK_Y}. + * {@link #VK_Y}, where the latter produces {@link #VK_Y}. *

            * @see #getKeyChar() * @see #getKeySymbol() @@ -228,9 +228,9 @@ public class KeyEvent extends InputEvent } return (short) keyChar; } - - /** - * Returns true if the given virtualKey represents a modifier key, otherwise false. + + /** + * Returns true if the given virtualKey represents a modifier key, otherwise false. *

            * A modifier key is one of {@link #VK_SHIFT}, {@link #VK_CONTROL}, {@link #VK_ALT}, {@link #VK_ALT_GRAPH}, {@link #VK_META}. *

            @@ -247,10 +247,10 @@ public class KeyEvent extends InputEvent return false; } } - + /** * If vKey is a {@link #isModifierKey() modifier key}, method returns the corresponding modifier mask, - * otherwise 0. + * otherwise 0. */ public static int getModifierMask(short vKey) { switch (vKey) { @@ -266,10 +266,10 @@ public class KeyEvent extends InputEvent } return 0; } - - /** + + /** * Returns true if {@link #getKeySymbol() key symbol} represents a modifier key, - * otherwise false. + * otherwise false. *

            * See {@link #isModifierKey(short)} for details. *

            @@ -280,8 +280,8 @@ public class KeyEvent extends InputEvent public final boolean isModifierKey() { return 0 != ( F_MODIFIER_MASK & flags ) ; } - - /** + + /** * Returns true if {@link #getKeySymbol() key symbol} represents a non-printable and * non-{@link #isModifierKey(short) modifier} action key, otherwise false. *

            @@ -289,12 +289,12 @@ public class KeyEvent extends InputEvent * A = U - ( P + M ) *

            * @see #isPrintableKey() - * @see #isModifierKey() + * @see #isModifierKey() */ public final boolean isActionKey() { return 0 != ( F_ACTION_MASK & flags ) ; } - + /** * Returns true if given uniChar represents a printable character, * i.e. a value other than {@link #VK_UNDEFINED} and not a control or non-printable private code. @@ -307,7 +307,7 @@ public class KeyEvent extends InputEvent *

            * Distinction of key character and virtual key code is made due to unicode collision. *

            - * + * * @param uniChar the UTF-16 unicode value, which maybe a virtual key code or key character. * @param isKeyChar true if uniChar is a key character, otherwise a virtual key code */ @@ -333,9 +333,9 @@ public class KeyEvent extends InputEvent return VK_UNDEFINED != uniChar; } - /** - * Returns true if {@link #getKeySymbol() key symbol} and {@link #getKeyChar() key char} - * represents a printable character, i.e. a value other than {@link #VK_UNDEFINED} + /** + * Returns true if {@link #getKeySymbol() key symbol} and {@link #getKeyChar() key char} + * represents a printable character, i.e. a value other than {@link #VK_UNDEFINED} * and not a control or non-printable private code. *

            * A printable character is neither a {@link #isModifierKey(short) modifier key}, nor an {@link #isActionKey(short) action key}. @@ -347,7 +347,7 @@ public class KeyEvent extends InputEvent public final boolean isPrintableKey() { return 0 != ( F_PRINTABLE_MASK & flags ) ; } - + private final short keyCode; private final short keySym; private final char keyChar; @@ -370,7 +370,7 @@ public class KeyEvent extends InputEvent public static class NonPrintableRange { /** min. unicode value, inclusive */ - public short min; + public short min; /** max. unicode value, inclusive */ public short max; /** true if valid for keyChar values as well, otherwise only valid for keyCode and keySym due to collision. */ @@ -381,7 +381,7 @@ public class KeyEvent extends InputEvent this.inclKeyChar = inclKeyChar; } }; - /** + /** * Non printable key ranges, currently fixed to an array of size 4. *

            * Not included, queried upfront: @@ -390,98 +390,98 @@ public class KeyEvent extends InputEvent *

          • {@link #VK_TAB}
          • *
          • {@link #VK_ENTER}
          • * - *

            + *

            */ - public final static NonPrintableRange[] nonPrintableKeys = { + public final static NonPrintableRange[] nonPrintableKeys = { new NonPrintableRange( (short)0x0000, (short)0x001F, true ), // Unicode: Non printable controls: [0x00 - 0x1F], see exclusion above new NonPrintableRange( (short)0x0061, (short)0x0078, false), // Small 'a' thru 'z' (0x61 - 0x7a) - Not used for keyCode / keySym - Re-used for Fn (collision) - new NonPrintableRange( (short)0x008F, (short)0x009F, true ), // Unicode: Non printable controls: [0x7F - 0x9F], Numpad keys [0x7F - 0x8E] are printable! + new NonPrintableRange( (short)0x008F, (short)0x009F, true ), // Unicode: Non printable controls: [0x7F - 0x9F], Numpad keys [0x7F - 0x8E] are printable! new NonPrintableRange( (short)0xE000, (short)0xF8FF, true ) // Unicode: Private 0xE000 - 0xF8FF (Marked Non-Printable) }; - + // // Unicode: Non printable controls: [0x00 - 0x1F] // - + /** * This value, {@value}, is used to indicate that the keyCode is unknown. */ public static final short VK_UNDEFINED = (short) 0x0; - + static final short VK_FREE01 = (short) 0x01; - + /** Constant for the HOME function key. ASCII: Start Of Text. */ public static final short VK_HOME = (short) 0x02; - + /** Constant for the END function key. ASCII: End Of Text. */ public static final short VK_END = (short) 0x03; - + /** Constant for the END function key. ASCII: End Of Transmission. */ public static final short VK_FINAL = (short) 0x04; /** Constant for the PRINT function key. ASCII: Enquiry. */ public static final short VK_PRINTSCREEN = (short) 0x05; - + static final short VK_FREE06 = (short) 0x06; static final short VK_FREE07 = (short) 0x07; - + /** Constant for the BACK SPACE key "\b", matching ASCII. Printable! */ public static final short VK_BACK_SPACE = (short) 0x08; - + /** Constant for the HORIZ TAB key "\t", matching ASCII. Printable! */ public static final short VK_TAB = (short) 0x09; - + /** LINE_FEED "\n", matching ASCII, n/a on keyboard. */ static final short VK_FREE0A = (short) 0x0A; - + /** Constant for the PAGE DOWN function key. ASCII: Vertical Tabulation. */ public static final short VK_PAGE_DOWN = (short) 0x0B; - + /** Constant for the CLEAR key, i.e. FORM FEED, matching ASCII. */ public static final short VK_CLEAR = (short) 0x0C; - + /** Constant for the ENTER key, i.e. CARRIAGE RETURN, matching ASCII. Printable! */ public static final short VK_ENTER = (short) 0x0D; - + static final short VK_FREE0E = (short) 0x0E; - + /** Constant for the CTRL function key. ASCII: shift-in. */ public static final short VK_SHIFT = (short) 0x0F; /** Constant for the PAGE UP function key. ASCII: Data Link Escape. */ public static final short VK_PAGE_UP = (short) 0x10; - + /** Constant for the CTRL function key. ASCII: device-ctrl-one. */ public static final short VK_CONTROL = (short) 0x11; - + /** Constant for the left ALT function key. ASCII: device-ctrl-two. */ public static final short VK_ALT = (short) 0x12; - + /** Constant for the ALT_GRAPH function key, i.e. right ALT key. ASCII: device-ctrl-three. */ public static final short VK_ALT_GRAPH = (short) 0x13; - + /** Constant for the CAPS LOCK function key. ASCII: device-ctrl-four. */ public static final short VK_CAPS_LOCK = (short) 0x14; - + static final short VK_FREE15 = (short) 0x15; - + /** Constant for the PAUSE function key. ASCII: sync-idle. */ public static final short VK_PAUSE = (short) 0x16; - + /** scroll lock key. ASCII: End Of Transmission Block. */ public static final short VK_SCROLL_LOCK = (short) 0x17; - + /** Constant for the CANCEL function key. ASCII: Cancel. */ public static final short VK_CANCEL = (short) 0x18; - + static final short VK_FREE19 = (short) 0x19; - + /** Constant for the INSERT function key. ASCII: Substitute. */ public static final short VK_INSERT = (short) 0x1A; - + /** Constant for the ESCAPE function key. ASCII: Escape. */ public static final short VK_ESCAPE = (short) 0x1B; - + /** Constant for the Convert function key, Japanese "henkan". ASCII: File Separator. */ public static final short VK_CONVERT = (short) 0x1C; @@ -496,48 +496,48 @@ public class KeyEvent extends InputEvent // // Unicode: Printable [0x20 - 0x7E] - // NOTE: Collision of 'a' - 'x' [0x61 .. 0x78], used for keyCode/keySym Fn function keys + // NOTE: Collision of 'a' - 'x' [0x61 .. 0x78], used for keyCode/keySym Fn function keys // - + /** Constant for the SPACE function key. ASCII: SPACE. */ public static final short VK_SPACE = (short) 0x20; - + /** Constant for the "!" key. */ public static final short VK_EXCLAMATION_MARK = (short) 0x21; /** Constant for the """ key. */ public static final short VK_QUOTEDBL = (short) 0x22; - + /** Constant for the "#" key. */ public static final short VK_NUMBER_SIGN = (short) 0x23; /** Constant for the "$" key. */ public static final short VK_DOLLAR = (short) 0x24; - + /** Constant for the "%" key. */ public static final short VK_PERCENT = (short) 0x25; - + /** Constant for the "&" key. */ public static final short VK_AMPERSAND = (short) 0x26; - + /** Constant for the "'" key. */ public static final short VK_QUOTE = (short) 0x27; - + /** Constant for the "(" key. */ public static final short VK_LEFT_PARENTHESIS = (short) 0x28; - + /** Constant for the ")" key. */ public static final short VK_RIGHT_PARENTHESIS = (short) 0x29; - + /** Constant for the "*" key */ public static final short VK_ASTERISK = (short) 0x2A; - + /** Constant for the "+" key. */ public static final short VK_PLUS = (short) 0x2B; - + /** Constant for the comma key, "," */ public static final short VK_COMMA = (short) 0x2C; - + /** Constant for the minus key, "-" */ public static final short VK_MINUS = (short) 0x2D; @@ -582,13 +582,13 @@ public class KeyEvent extends InputEvent /** Constant for the equals key, ">" */ public static final short VK_GREATER = (short) 0x3E; - + /** Constant for the equals key, "?" */ public static final short VK_QUESTIONMARK = (short) 0x3F; - + /** Constant for the equals key, "@" */ public static final short VK_AT = (short) 0x40; - + /** VK_A thru VK_Z are the same as Capital UTF16/ASCII 'A' thru 'Z' (0x41 - 0x5A) */ public static final short VK_A = (short) 0x41; /** See {@link #VK_A}. */ @@ -656,17 +656,17 @@ public class KeyEvent extends InputEvent /** Constant for the "_" key */ public static final short VK_UNDERSCORE = (short) 0x5F; - + /** Constant for the "`" key */ public static final short VK_BACK_QUOTE = (short) 0x60; - + /** Small UTF/ASCII 'a' thru 'z' (0x61 - 0x7a) - Not used for keyCode / keySym. */ - - /** - * Constant for the Fn function keys. + + /** + * Constant for the Fn function keys. *

            * F1..F24, i.e. Fn, are mapped from on 0x60+n -> [0x61 .. 0x78]. - *

            + *

            *

            * Warning: The Fn function keys do collide with unicode characters small 'a' thru 'x'!
            * See Unicode Collision for details. @@ -743,26 +743,26 @@ public class KeyEvent extends InputEvent /** Constant for the F24 function key. See {@link #VK_F1}. */ public static final short VK_F24 = (short) ( 0x60+24 ); - + /** Constant for the "{" key */ public static final short VK_LEFT_BRACE = (short) 0x7B; /** Constant for the "|" key */ public static final short VK_PIPE = (short) 0x7C; /** Constant for the "}" key */ public static final short VK_RIGHT_BRACE = (short) 0x7D; - + /** Constant for the "~" key, matching ASCII */ public static final short VK_TILDE = (short) 0x7E; - + // // Unicode: Non printable controls: [0x7F - 0x9F] // // Numpad keys [0x7F - 0x8E] are printable // - + /** Numeric keypad decimal separator key. Non printable UTF control. */ public static final short VK_SEPARATOR = (short) 0x7F; - + /** Numeric keypad VK_NUMPAD0 thru VK_NUMPAD9 are mapped to UTF control (0x80 - 0x89). Non printable UTF control. */ public static final short VK_NUMPAD0 = (short) 0x80; /** See {@link #VK_NUMPAD0}. */ @@ -783,28 +783,28 @@ public class KeyEvent extends InputEvent public static final short VK_NUMPAD8 = (short) 0x88; /** See {@link #VK_NUMPAD0}. */ public static final short VK_NUMPAD9 = (short) 0x89; - + /** Numeric keypad decimal separator key. Non printable UTF control. */ public static final short VK_DECIMAL = (short) 0x8A; - + /** Numeric keypad add key. Non printable UTF control. */ public static final short VK_ADD = (short) 0x8B; /** Numeric keypad subtract key. Non printable UTF control. */ public static final short VK_SUBTRACT = (short) 0x8C; - + /** Numeric keypad multiply key. Non printable UTF control. */ public static final short VK_MULTIPLY = (short) 0x8D; - + /** Numeric keypad divide key. Non printable UTF control. */ public static final short VK_DIVIDE = (short) 0x8E; - + /** Constant for the DEL key, matching ASCII. Non printable UTF control. */ public static final short VK_DELETE = (short) 0x93; - + /** Numeric keypad num lock key. Non printable UTF control. */ public static final short VK_NUM_LOCK = (short) 0x94; - + /** Constant for the cursor- or numerical-pad left arrow key. Non printable UTF control. */ public static final short VK_LEFT = (short) 0x95; @@ -816,22 +816,22 @@ public class KeyEvent extends InputEvent /** Constant for the cursor- or numerical pad down arrow key. Non printable UTF control. */ public static final short VK_DOWN = (short) 0x98; - + /** Constant for the Context Menu key. Non printable UTF control. */ public static final short VK_CONTEXT_MENU = (short) 0x99; /** * Constant for the MS "Windows" function key. - * It is used for both the left and right version of the key. + * It is used for both the left and right version of the key. */ public static final short VK_WINDOWS = (short) 0x9A; /** Constant for the Meta function key. */ public static final short VK_META = (short) 0x9B; - + /** Constant for the Help function key. */ public static final short VK_HELP = (short) 0x9C; - + /** Constant for the Compose function key. */ public static final short VK_COMPOSE = (short) 0x9D; @@ -840,21 +840,21 @@ public class KeyEvent extends InputEvent /** Constant for the Stop function key. */ public static final short VK_STOP = (short) 0x9F; - + // // Unicode: Printable [0x00A0 - 0xDFFF] // - + /** Constant for the inverted exclamation mark key. */ public static final short VK_INVERTED_EXCLAMATION_MARK = (short) 0xA1; - + /** Constant for the Euro currency sign key. */ public static final short VK_EURO_SIGN = (short) 0x20AC; // // Unicode: Private 0xE000 - 0xF8FF (Marked Non-Printable) // - + /* for Sun keyboards */ public static final short VK_CUT = (short) 0xF879; public static final short VK_COPY = (short) 0xF87A; @@ -871,7 +871,7 @@ public class KeyEvent extends InputEvent */ /* Japanese PC 106 keyboard: kanji. Japanese Solaris keyboard: nihongo */ public static final short VK_INPUT_METHOD_ON_OFF = (short) 0xF890; - + /** * Constant for the Code Input function key. */ diff --git a/src/newt/classes/com/jogamp/newt/event/KeyListener.java b/src/newt/classes/com/jogamp/newt/event/KeyListener.java index b3927d81a..4b16ab61e 100644 --- a/src/newt/classes/com/jogamp/newt/event/KeyListener.java +++ b/src/newt/classes/com/jogamp/newt/event/KeyListener.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,22 +29,22 @@ * 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. - * + * */ package com.jogamp.newt.event; /** * Listener for {@link KeyEvent}s. - * + * * @see KeyEvent */ public interface KeyListener extends NEWTEventListener { /** A key has been {@link KeyEvent#EVENT_KEY_PRESSED pressed}, excluding {@link #isAutoRepeat() auto-repeat} {@link #isModifierKey() modifier} keys. See {@link KeyEvent}. */ public void keyPressed(KeyEvent e); - - /** + + /** * A key has been {@link KeyEvent#EVENT_KEY_RELEASED released}, excluding {@link #isAutoRepeat() auto-repeat} {@link #isModifierKey() modifier} keys. See {@link KeyEvent}. *

            * To simulated the removed keyTyped(KeyEvent e) semantics, @@ -52,9 +52,9 @@ public interface KeyListener extends NEWTEventListener *

                     if( !e.isPrintableKey() || e.isAutoRepeat() ) {
                         return;
            -        }            
            +        }
                  * 
            - *

            + *

            */ public void keyReleased(KeyEvent e); } diff --git a/src/newt/classes/com/jogamp/newt/event/MonitorEvent.java b/src/newt/classes/com/jogamp/newt/event/MonitorEvent.java index c47936a7a..77c66a2da 100644 --- a/src/newt/classes/com/jogamp/newt/event/MonitorEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/MonitorEvent.java @@ -35,19 +35,19 @@ import com.jogamp.newt.MonitorMode; public class MonitorEvent extends OutputEvent { public static final short EVENT_MONITOR_MODE_CHANGE_NOTIFY = 600; public static final short EVENT_MONITOR_MODE_CHANGED = 601; - + private final MonitorMode mode; - + public MonitorEvent (short eventType, MonitorDevice source, long when, MonitorMode mode) { super(eventType, source, when); this.mode = mode; } - + /** Returns the {@link #getSource() source}, which is a {@link MonitorDevice}. */ public final MonitorDevice getMonitor() { return (MonitorDevice)source; } - + public final MonitorMode getMode() { return mode; } - + public static String getEventTypeString(short type) { switch(type) { case EVENT_MONITOR_MODE_CHANGE_NOTIFY: return "EVENT_MONITOR_MODE_CHANGE_NOTIFY"; @@ -55,7 +55,7 @@ public class MonitorEvent extends OutputEvent { default: return "unknown (" + type + ")"; } } - + public final String toString() { return toString(null).toString(); } diff --git a/src/newt/classes/com/jogamp/newt/event/MouseAdapter.java b/src/newt/classes/com/jogamp/newt/event/MouseAdapter.java index 3607ae634..652f87d5b 100644 --- a/src/newt/classes/com/jogamp/newt/event/MouseAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/MouseAdapter.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt.event; public abstract class MouseAdapter implements MouseListener diff --git a/src/newt/classes/com/jogamp/newt/event/MouseEvent.java b/src/newt/classes/com/jogamp/newt/event/MouseEvent.java index 57dd7e68c..4d7cc3b36 100644 --- a/src/newt/classes/com/jogamp/newt/event/MouseEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/MouseEvent.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package com.jogamp.newt.event; @@ -37,12 +37,12 @@ package com.jogamp.newt.event; /** * Pointer event of type {@link PointerType}. *

            - * The historical misleading class name may change in the future to PointerEvent. + * The historical misleading class name may change in the future to PointerEvent. *

            *

            * http://www.w3.org/Submission/pointer-events/#pointerevent-interface *

            - *
            Multiple-Pointer Events
            + *
            Multiple-Pointer Events
            *

            * In case an instance represents a multiple-pointer event, i.e. {@link #getPointerCount()} is > 1, * the first data element of the multiple-pointer fields represents the pointer triggering this event.
            @@ -62,10 +62,10 @@ package com.jogamp.newt.event; *

            *

            * If representing a multiple-pointer event, the {@link #getButton() button number} is mapped to the first {@link #getPointerId(int) pointer ID} - * triggering the event and the {@link InputEvent#BUTTON1_MASK button mask bits} in the {@link #getModifiers() modifiers} + * triggering the event and the {@link InputEvent#BUTTON1_MASK button mask bits} in the {@link #getModifiers() modifiers} * field represent the pressed pointer IDs.
            * Hence users can query the pressed button count as well as the pressed pointer count via {@link InputEvent#getButtonDownCount()} - * or use the simple query {@link InputEvent#isAnyButtonDown()}. + * or use the simple query {@link InputEvent#isAnyButtonDown()}. *

            */ @SuppressWarnings("serial") @@ -75,7 +75,7 @@ public class MouseEvent extends InputEvent public static enum PointerClass implements InputEvent.InputClass { Offscreen, Onscreen, Undefined; } - + /** Type of pointer devices */ public static enum PointerType implements InputEvent.InputType { /** {@link PointerClass#Offscreen} mouse. Ordinal 0. */ @@ -88,10 +88,10 @@ public class MouseEvent extends InputEvent Pen(PointerClass.Onscreen), /** {@link PointerClass#Undefined} ?. Ordinal 4. */ Undefined(PointerClass.Undefined); - + public PointerClass getPointerClass() { return pc; } - - /** + + /** * Returns the matching PointerType value corresponding to the given PointerType's integer ordinal. *
                      *   given:
            @@ -108,8 +108,8 @@ public class MouseEvent extends InputEvent
                         }
                         throw new IllegalArgumentException("Ordinal "+ordinal+" out of range of PointerType.values()[0.."+(all.length-1)+"]");
                     }
            -        
            -        /** 
            +
            +        /**
                      * Returns the PointerType array of matching PointerType values corresponding to the given PointerType's integer ordinal values.
                      * 

            * See {@link #valueOf(int)}. @@ -124,13 +124,13 @@ public class MouseEvent extends InputEvent } return types; } - + private PointerType(PointerClass pc) { this.pc = pc; } PointerClass pc; } - + /** ID for button 1, value 1 */ public static final short BUTTON1 = 1; /** ID for button 2, value 2 */ @@ -149,17 +149,17 @@ public class MouseEvent extends InputEvent public static final short BUTTON8 = 8; /** ID for button 6, value 9 */ public static final short BUTTON9 = 9; - + /** Maximum number of buttons, value 16 */ public static final short BUTTON_COUNT = 16; - /** + /** * Maximum number of buttons, value 16. * @deprecated Use {@link #BUTTON_COUNT} .. semantics. */ public static final short BUTTON_NUMBER = 16; - - /** Returns the 3-axis XYZ rotation array by given rotation on Y axis or X axis (if SHIFT_MASK is given in mods). */ + + /** Returns the 3-axis XYZ rotation array by given rotation on Y axis or X axis (if SHIFT_MASK is given in mods). */ public static final float[] getRotationXYZ(final float rotationXorY, final int mods) { final float[] rotationXYZ = new float[] { 0f, 0f, 0f }; if( 0 != ( mods & InputEvent.SHIFT_MASK ) ) { @@ -169,14 +169,14 @@ public class MouseEvent extends InputEvent } return rotationXYZ; } - - public static final short getClickTimeout() { - return 300; + + public static final short getClickTimeout() { + return 300; } - - /** + + /** * Constructor for traditional one-pointer event. - * + * * @param eventType * @param source * @param when @@ -193,7 +193,7 @@ public class MouseEvent extends InputEvent int modifiers, int x, int y, short clickCount, short button, float[] rotationXYZ, float rotationScale) { - super(eventType, source, when, modifiers); + super(eventType, source, when, modifiers); this.x = new int[]{x}; this.y = new int[]{y}; switch(eventType) { @@ -214,15 +214,15 @@ public class MouseEvent extends InputEvent this.pointerType = constMousePointerTypes; } - /** + /** * Constructor for a multiple-pointer event. *

            * First element of multiple-pointer arrays represents the pointer which triggered the event! *

            - *

            + *

            * See details for multiple-pointer events. *

            - * + * * @param eventType * @param source * @param when @@ -239,12 +239,12 @@ public class MouseEvent extends InputEvent * @param rotationXYZ Rotation of all axis * @param rotationScale Rotation scale */ - public MouseEvent(short eventType, Object source, long when, int modifiers, - PointerType pointerType[], short[] pointerID, - int[] x, int[] y, float[] pressure, float maxPressure, + public MouseEvent(short eventType, Object source, long when, int modifiers, + PointerType pointerType[], short[] pointerID, + int[] x, int[] y, float[] pressure, float maxPressure, short button, short clickCount, float[] rotationXYZ, float rotationScale) { - super(eventType, source, when, modifiers); + super(eventType, source, when, modifiers); this.x = x; this.y = y; final int pointerCount = pointerType.length; @@ -266,12 +266,12 @@ public class MouseEvent extends InputEvent this.rotationScale = rotationScale; this.pointerType = pointerType; } - + public MouseEvent createVariant(short newEventType) { return new MouseEvent(newEventType, source, getWhen(), getModifiers(), pointerType, pointerID, x, y, pressure, maxPressure, button, clickCount, rotationXYZ, rotationScale); } - + /** * See details for multiple-pointer events. * @return the count of pointers involved in this event @@ -279,7 +279,7 @@ public class MouseEvent extends InputEvent public final int getPointerCount() { return pointerType.length; } - + /** * See details for multiple-pointer events. * @return the {@link PointerType} for the data at index or null if index not available. @@ -290,7 +290,7 @@ public class MouseEvent extends InputEvent } return pointerType[index]; } - + /** * See details for multiple-pointer events. * @return array of all {@link PointerType}s for all pointers @@ -298,10 +298,10 @@ public class MouseEvent extends InputEvent public final PointerType[] getAllPointerTypes() { return pointerType; } - + /** * Return the pointer id for the given index or -1 if index not available. - *

            + *

            * IDs start w/ 0 and are consecutive numbers. *

            *

            @@ -317,7 +317,7 @@ public class MouseEvent extends InputEvent } return pointerID[index]; } - + /** * See details for multiple-pointer events. * @return the pointer index for the given pointer id or -1 if id not available. @@ -332,7 +332,7 @@ public class MouseEvent extends InputEvent } return -1; } - + /** * See details for multiple-pointer events. * @return array of all pointer IDs for all pointers. IDs start w/ 0 and are consecutive numbers. @@ -340,15 +340,15 @@ public class MouseEvent extends InputEvent public final short[] getAllPointerIDs() { return pointerID; } - - /** + + /** * Returns the button number, e.g. [{@link #BUTTON1}..{@link #BUTTON_COUNT}-1]. *

            * A button value of 0 denotes no button activity, i.e. {@link PointerType#Mouse} move. *

            *

            * See details for multiple-pointer events. - *

            + *

            */ public final short getButton() { return button; @@ -357,16 +357,16 @@ public class MouseEvent extends InputEvent public final short getClickCount() { return clickCount; } - + public final int getX() { return x[0]; } - + public final int getY() { return y[0]; } - /** + /** * See details for multiple-pointer events. * @param index pointer-index within [0 .. {@link #getPointerCount()}-1] * @return X-Coord associated with the pointer-index. @@ -376,7 +376,7 @@ public class MouseEvent extends InputEvent return x[index]; } - /** + /** * See details for multiple-pointer events. * @param index pointer-index within [0 .. {@link #getPointerCount()}-1] * @return Y-Coord associated with the pointer-index. @@ -385,7 +385,7 @@ public class MouseEvent extends InputEvent public final int getY(int index) { return y[index]; } - + /** * See details for multiple-pointer events. * @return array of all X-Coords for all pointers @@ -393,7 +393,7 @@ public class MouseEvent extends InputEvent public final int[] getAllX() { return x; } - + /** * See details for multiple-pointer events. * @return array of all Y-Coords for all pointers @@ -401,9 +401,9 @@ public class MouseEvent extends InputEvent public final int[] getAllY() { return y; } - + /** - * @param normalized if true, method returns the normalized pressure, i.e. pressure / maxPressure + * @param normalized if true, method returns the normalized pressure, i.e. pressure / maxPressure * @return The pressure associated with the pointer-index 0. * The value of zero is return if not available. * @see #getMaxPressure() @@ -411,11 +411,11 @@ public class MouseEvent extends InputEvent public final float getPressure(boolean normalized){ return normalized ? pressure[0] / maxPressure : pressure[0]; } - + /** * See details for multiple-pointer events. * @param index pointer-index within [0 .. {@link #getPointerCount()}-1] - * @param normalized if true, method returns the normalized pressure, i.e. pressure / maxPressure + * @param normalized if true, method returns the normalized pressure, i.e. pressure / maxPressure * @return The pressure associated with the pointer-index. * The value of zero is return if not available. * @see #getMaxPressure() @@ -423,7 +423,7 @@ public class MouseEvent extends InputEvent public final float getPressure(int index, boolean normalized){ return normalized ? pressure[index] / maxPressure : pressure[index]; } - + /** * See details for multiple-pointer events. * @return array of all raw, un-normalized pressures for all pointers @@ -431,12 +431,12 @@ public class MouseEvent extends InputEvent public final float[] getAllPressures() { return pressure; } - - /** + + /** * Returns the maximum pressure known for the input device generating this event. *

            * This value may be self calibrating on devices/OS, where no known maximum pressure is known. - * Hence subsequent events may return a higher value. + * Hence subsequent events may return a higher value. *

            *

            * Self calibrating maximum pressure is performed on: @@ -448,25 +448,25 @@ public class MouseEvent extends InputEvent public final float getMaxPressure() { return maxPressure; } - + /** * Returns a 3-component float array filled with the values of the rotational axis * in the following order: horizontal-, vertical- and z-axis. - *

            + *

            * A vertical rotation of > 0.0f is up and < 0.0f is down. *

            *

            - * A horizontal rotation of > 0.0f is left and < 0.0f is right. + * A horizontal rotation of > 0.0f is left and < 0.0f is right. *

            *

            - * A z-axis rotation of > 0.0f is back and < 0.0f is front. + * A z-axis rotation of > 0.0f is back and < 0.0f is front. *

            *

            * However, on some OS this might be flipped due to the OS default behavior. * The latter is true for OS X 10.7 (Lion) for example. *

            *

            - * On PointerClass {@link PointerClass#Onscreen onscreen} devices, i.e. {@link PointerType#TouchScreen touch screens}, + * On PointerClass {@link PointerClass#Onscreen onscreen} devices, i.e. {@link PointerType#TouchScreen touch screens}, * rotation events are usually produced by a 2-finger movement, where horizontal and vertical rotation values are filled. *

            *

            @@ -475,13 +475,13 @@ public class MouseEvent extends InputEvent *

            *

            * The {@link InputEvent#SHIFT_MASK} modifier is set in case |horizontal| > |vertical| value.
            - * This can be utilized to implement only one 2d rotation direction, you may use {@link #isShiftDown()} to query it. + * This can be utilized to implement only one 2d rotation direction, you may use {@link #isShiftDown()} to query it. *

            *

            * In case the pointer type is {@link PointerType#Mouse mouse}, * events are usually send in steps of one, ie. -1.0f and 1.0f. * Higher values may result due to fast scrolling. - * Fractional values may result due to slow scrolling with high resolution devices.
            + * Fractional values may result due to slow scrolling with high resolution devices.
            * Here the button number refers to the wheel number. *

            *

            @@ -492,24 +492,24 @@ public class MouseEvent extends InputEvent public final float[] getRotation() { return rotationXYZ; } - - /** + + /** * Returns the scale used to determine the {@link #getRotation() rotation value}, * which semantics depends on the {@link #getPointerType() pointer type's} {@link PointerClass}. *

            * For {@link PointerClass#Offscreen}, the scale is usually 1.0f and denominates * an abstract value without association to a physical value. - *

            + *

            *

            * For {@link PointerClass#Onscreen}, the scale varies and denominates - * the divisor of the distance the finger[s] have moved on the screen. - * Hence scale * rotation reproduces the screen distance in pixels the finger[s] have moved. - *

            + * the divisor of the distance the finger[s] have moved on the screen. + * Hence scale * rotation reproduces the screen distance in pixels the finger[s] have moved. + *

            */ public final float getRotationScale() { return rotationScale; } - + public final String toString() { return toString(null).toString(); } @@ -533,7 +533,7 @@ public class MouseEvent extends InputEvent .append("p[").append(pressure[i]).append("/").append(maxPressure).append("=").append(pressure[i]/maxPressure).append("]"); } sb.append("]"); - } + } sb.append(", "); return super.toString(sb).append("]"); } @@ -551,14 +551,14 @@ public class MouseEvent extends InputEvent default: return "unknown (" + type + ")"; } } - + /** PointerType for each pointer (multiple pointer) */ private final PointerType pointerType[]; - /** + /** * Pointer-ID for each pointer (multiple pointer). IDs start w/ 0 and are consecutive numbers. - *

            + *

            * A pointer-ID of -1 may also denote no pointer/button activity, i.e. {@link PointerType#Mouse} move. - *

            + *

            */ private final short pointerID[]; /** X-axis for each pointer (multiple pointer) */ @@ -581,11 +581,11 @@ public class MouseEvent extends InputEvent /** Rotation scale */ private final float rotationScale; private final float maxPressure; - + private static final float[] constMousePressure0 = new float[]{0f}; private static final float[] constMousePressure1 = new float[]{1f}; private static final PointerType[] constMousePointerTypes = new PointerType[] { PointerType.Mouse }; - + public static final short EVENT_MOUSE_CLICKED = 200; public static final short EVENT_MOUSE_ENTERED = 201; public static final short EVENT_MOUSE_EXITED = 202; diff --git a/src/newt/classes/com/jogamp/newt/event/MouseListener.java b/src/newt/classes/com/jogamp/newt/event/MouseListener.java index ce6796081..5378080b9 100644 --- a/src/newt/classes/com/jogamp/newt/event/MouseListener.java +++ b/src/newt/classes/com/jogamp/newt/event/MouseListener.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package com.jogamp.newt.event; @@ -38,7 +38,7 @@ import com.jogamp.newt.event.MouseEvent.PointerType; /** * Listener for {@link MouseEvent}s. - * + * * @see MouseEvent */ public interface MouseListener extends NEWTEventListener @@ -50,13 +50,13 @@ public interface MouseListener extends NEWTEventListener public void mouseReleased(MouseEvent e); public void mouseMoved(MouseEvent e); public void mouseDragged(MouseEvent e); - + /** * Traditional event name originally produced by a {@link PointerType#Mouse mouse} pointer type. *

            * Triggered for any rotational pointer events, see - * {@link MouseEvent#getRotation()} and {@link MouseEvent#getRotationScale()}. - *

            + * {@link MouseEvent#getRotation()} and {@link MouseEvent#getRotationScale()}. + *

            */ public void mouseWheelMoved(MouseEvent e); } diff --git a/src/newt/classes/com/jogamp/newt/event/NEWTEvent.java b/src/newt/classes/com/jogamp/newt/event/NEWTEvent.java index 02bb4f929..022e2d0e1 100644 --- a/src/newt/classes/com/jogamp/newt/event/NEWTEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/NEWTEvent.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package com.jogamp.newt.event; @@ -50,7 +50,7 @@ package com.jogamp.newt.event; */ @SuppressWarnings("serial") public class NEWTEvent extends java.util.EventObject { - /** + /** * See {@link #setConsumed(boolean)} for description. */ public static final Object consumedTag = new Object(); @@ -78,11 +78,11 @@ public class NEWTEvent extends java.util.EventObject { return when; } - /** + /** * Attach the passed object to this event.
            * If an object was previously attached, it will be replaced.
            * Attachments to NEWT events allow users to pass on information - * from one custom listener to another, ie custom listener to listener + * from one custom listener to another, ie custom listener to listener * communication. * @param attachment User application specific object */ @@ -90,14 +90,14 @@ public class NEWTEvent extends java.util.EventObject { this.attachment = attachment; } - /** + /** * @return The user application specific attachment, or null */ public final Object getAttachment() { return attachment; } - - /** + + /** * Returns true if this events has been {@link #setConsumed(boolean) consumed}, * otherwise false. * @see #setConsumed(boolean) @@ -105,8 +105,8 @@ public class NEWTEvent extends java.util.EventObject { public final boolean isConsumed() { return consumedTag == attachment; } - - /** + + /** * If consumed is true, this event is marked as consumed, * ie. the event will not be propagated any further to potential other event listener. * Otherwise the event will be propagated to other event listener, the default. @@ -130,7 +130,7 @@ public class NEWTEvent extends java.util.EventObject { setAttachment( null ); } } - + public String toString() { return toString(null).toString(); } diff --git a/src/newt/classes/com/jogamp/newt/event/NEWTEventConsumer.java b/src/newt/classes/com/jogamp/newt/event/NEWTEventConsumer.java index 6aa19e5f8..14fba6742 100644 --- a/src/newt/classes/com/jogamp/newt/event/NEWTEventConsumer.java +++ b/src/newt/classes/com/jogamp/newt/event/NEWTEventConsumer.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,18 +20,18 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt.event; public interface NEWTEventConsumer { - /** - * Consume the event + /** + * Consume the event * * @return true if the event has been consumed, * otherwise it returns false for later propagation. diff --git a/src/newt/classes/com/jogamp/newt/event/NEWTEventFiFo.java b/src/newt/classes/com/jogamp/newt/event/NEWTEventFiFo.java index fe224bba6..7dd56ad1e 100644 --- a/src/newt/classes/com/jogamp/newt/event/NEWTEventFiFo.java +++ b/src/newt/classes/com/jogamp/newt/event/NEWTEventFiFo.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt.event; import java.util.LinkedList; diff --git a/src/newt/classes/com/jogamp/newt/event/NEWTEventListener.java b/src/newt/classes/com/jogamp/newt/event/NEWTEventListener.java index 677136573..f7ee3d739 100644 --- a/src/newt/classes/com/jogamp/newt/event/NEWTEventListener.java +++ b/src/newt/classes/com/jogamp/newt/event/NEWTEventListener.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package com.jogamp.newt.event; diff --git a/src/newt/classes/com/jogamp/newt/event/OutputEvent.java b/src/newt/classes/com/jogamp/newt/event/OutputEvent.java index 86fa95877..80c7780f8 100644 --- a/src/newt/classes/com/jogamp/newt/event/OutputEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/OutputEvent.java @@ -39,7 +39,7 @@ public abstract class OutputEvent extends NEWTEvent public String toString() { return toString(null).toString(); } - + public StringBuilder toString(StringBuilder sb) { if(null == sb) { sb = new StringBuilder(); diff --git a/src/newt/classes/com/jogamp/newt/event/PinchToZoomGesture.java b/src/newt/classes/com/jogamp/newt/event/PinchToZoomGesture.java index eceea053d..d275eab46 100644 --- a/src/newt/classes/com/jogamp/newt/event/PinchToZoomGesture.java +++ b/src/newt/classes/com/jogamp/newt/event/PinchToZoomGesture.java @@ -35,7 +35,7 @@ import jogamp.newt.Debug; * 2 pointer zoom, a.k.a. pinch to zoom, gesture handler processing {@link MouseEvent}s * while producing {@link ZoomEvent}s if gesture is completed. *

            - * Zoom value lies within [0..2], with 1 as 1:1. + * Zoom value lies within [0..2], with 1 as 1:1. *

            *
              *   - choosing the smallest surface edge (width/height -> x/y)
            @@ -44,7 +44,7 @@ import jogamp.newt.Debug;
              */
             public class PinchToZoomGesture implements GestureHandler {
                 public static final boolean DEBUG = Debug.debug("Window.MouseEvent");
            -    
            +
                 /** A {@link GestureHandler.GestureEvent} denominating zoom. */
                 @SuppressWarnings("serial")
                 public static class ZoomEvent extends GestureEvent {
            @@ -57,10 +57,10 @@ public class PinchToZoomGesture implements GestureHandler {
                     }
                     /** Triggering {@link MouseEvent} */
                     public final MouseEvent getTrigger() { return pe; }
            -        /** Zoom value lies within [0..2], with 1 as 1:1. */ 
            +        /** Zoom value lies within [0..2], with 1 as 1:1. */
                     public final float getZoom() { return zoom; }
                 }
            -    
            +
                 private final NativeSurface surface;
                 private float zoom;
                 private int zoomLastEdgeDist;
            @@ -68,7 +68,7 @@ public class PinchToZoomGesture implements GestureHandler {
                 private boolean zoomMode;
                 private ZoomEvent zoomEvent;
                 private short[] pIds = new short[] { -1, -1 };
            -    
            +
                 public PinchToZoomGesture(NativeSurface surface) {
                     clear(true);
                     this.surface = surface;
            @@ -80,10 +80,10 @@ public class PinchToZoomGesture implements GestureHandler {
                 }
             
                 private int gesturePointers(final MouseEvent e, final int excludeIndex) {
            -        int j = 0;       
            +        int j = 0;
                     for(int i=e.getPointerCount()-1; i>=0; i--) {
                         if( excludeIndex != i ) {
            -                final int id = e.getPointerId(i); 
            +                final int id = e.getPointerId(i);
                             if( pIds[0] == id || pIds[1] == id ) {
                                 j++;
                             }
            @@ -91,7 +91,7 @@ public class PinchToZoomGesture implements GestureHandler {
                     }
                     return j;
                 }
            -    
            +
                 @Override
                 public void clear(boolean clearStarted) {
                     zoomEvent = null;
            @@ -103,31 +103,31 @@ public class PinchToZoomGesture implements GestureHandler {
                         pIds[1] = -1;
                     }
                 }
            -    
            +
                 @Override
                 public boolean isWithinGesture() {
                     return zoomMode;
                 }
            -    
            +
                 @Override
                 public boolean hasGesture() {
                     return null != zoomEvent;
                 }
            -    
            +
                 @Override
                 public InputEvent getGestureEvent() {
                     return zoomEvent;
                 }
            -    
            -    /** Zoom value lies within [0..2], with 1 as 1:1. */ 
            +
            +    /** Zoom value lies within [0..2], with 1 as 1:1. */
                 public final float getZoom() {
                     return zoom;
                 }
            -    /** Set zoom value within [0..2], with 1 as 1:1. */ 
            +    /** Set zoom value within [0..2], with 1 as 1:1. */
                 public final void setZoom(float zoom) {
                     this.zoom=zoom;
                 }
            -    
            +
                 @Override
                 public boolean process(final InputEvent in) {
                     if( null != zoomEvent || !(in instanceof MouseEvent) ) {
            @@ -137,15 +137,15 @@ public class PinchToZoomGesture implements GestureHandler {
                     if( pe.getPointerType(0).getPointerClass() != MouseEvent.PointerClass.Onscreen ) {
                         return false;
                     }
            -        
            +
                     final int pointerDownCount = pe.getPointerCount();
                     final int eventType = pe.getEventType();
                     final boolean useY = surface.getWidth() >= surface.getHeight(); // use smallest dimension
                     switch ( eventType ) {
                         case MouseEvent.EVENT_MOUSE_PRESSED: {
                             if( 1 == pointerDownCount ) {
            -                    pIds[0] = pe.getPointerId(0);                    
            -                    pIds[1] = -1;                    
            +                    pIds[0] = pe.getPointerId(0);
            +                    pIds[1] = -1;
                             } else if ( 2 <= pointerDownCount ) { // && 1 == gesturePointers(pe, 0) /* w/o pressed pointer */) {
                                 pIds[0] = pe.getPointerId(0);
                                 pIds[1] = pe.getPointerId(1);
            @@ -155,13 +155,13 @@ public class PinchToZoomGesture implements GestureHandler {
                                 System.err.println(this+".pressed: down "+pointerDownCount+", gPtr "+gesturePointers(pe, -1)+", event "+pe);
                             }
                         } break;
            -            
            +
                         case MouseEvent.EVENT_MOUSE_RELEASED: {
                             final int gPtr = gesturePointers(pe, 0); // w/o lifted pointer
                             if ( 1 == gPtr ) {
                                 zoomFirstTouch = true;
                                 zoomMode = false;
            -                } else if( 0 == gPtr ) { 
            +                } else if( 0 == gPtr ) {
                                 // all lifted
                                 clear(true);
                             }
            @@ -169,7 +169,7 @@ public class PinchToZoomGesture implements GestureHandler {
                                 System.err.println(this+".released: down "+pointerDownCount+", gPtr "+gPtr+", event "+pe);
                             }
                         } break;
            -            
            +
                         case MouseEvent.EVENT_MOUSE_DRAGGED: {
                             if( 2 <= pointerDownCount ) {
                                 final int gPtr = gesturePointers(pe, -1);
            @@ -187,13 +187,13 @@ public class PinchToZoomGesture implements GestureHandler {
                                             zoomMode = true;
                                         } else if( zoomMode ) {
                                             final int d = Math.abs(edge0-edge1);
            -                                final int dd = d - zoomLastEdgeDist;                        
            +                                final int dd = d - zoomLastEdgeDist;
                                             final float screenEdge = useY ? surface.getHeight() : surface.getWidth();
                                             final float incr = (float)dd / screenEdge; // [-1..1]
                                             if(DEBUG) {
                                                 System.err.println("XXX2: id0 "+pIds[0]+" -> idx0 "+p0Idx+", id1 "+pIds[1]+" -> idx1 "+p1Idx);
                                                 System.err.println("XXX3: d "+d+", ld "+zoomLastEdgeDist+", dd "+dd+", screen "+screenEdge+" -> incr "+incr+", zoom "+zoom+" -> "+(zoom+incr));
            -                                }        
            +                                }
                                             zoom += incr;
                                             // clip value
                                             if( 2f < zoom ) {
            @@ -211,7 +211,7 @@ public class PinchToZoomGesture implements GestureHandler {
                                 }
                             }
                         } break;
            -            
            +
                         default:
                     }
                     return null != zoomEvent;
            diff --git a/src/newt/classes/com/jogamp/newt/event/TraceKeyAdapter.java b/src/newt/classes/com/jogamp/newt/event/TraceKeyAdapter.java
            index 629dc50d7..e826f4a6a 100644
            --- a/src/newt/classes/com/jogamp/newt/event/TraceKeyAdapter.java
            +++ b/src/newt/classes/com/jogamp/newt/event/TraceKeyAdapter.java
            @@ -3,14 +3,14 @@
              *
              * Redistribution and use in source and binary forms, with or without modification, are
              * permitted provided that the following conditions are met:
            - * 
            + *
              *    1. Redistributions of source code must retain the above copyright notice, this list of
              *       conditions and the following disclaimer.
            - * 
            + *
              *    2. Redistributions 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.
            - * 
            + *
              * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
              * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
              * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
            @@ -20,12 +20,12 @@
              * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
              * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
              * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
            - * 
            + *
              * The views and conclusions contained in the software and documentation are those of the
              * authors and should not be interpreted as representing official policies, either expressed
              * or implied, of JogAmp Community.
              */
            - 
            +
             package com.jogamp.newt.event;
             
             public class TraceKeyAdapter implements KeyListener {
            diff --git a/src/newt/classes/com/jogamp/newt/event/TraceMouseAdapter.java b/src/newt/classes/com/jogamp/newt/event/TraceMouseAdapter.java
            index 14ee633a0..d035091c4 100644
            --- a/src/newt/classes/com/jogamp/newt/event/TraceMouseAdapter.java
            +++ b/src/newt/classes/com/jogamp/newt/event/TraceMouseAdapter.java
            @@ -3,14 +3,14 @@
              *
              * Redistribution and use in source and binary forms, with or without modification, are
              * permitted provided that the following conditions are met:
            - * 
            + *
              *    1. Redistributions of source code must retain the above copyright notice, this list of
              *       conditions and the following disclaimer.
            - * 
            + *
              *    2. Redistributions 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.
            - * 
            + *
              * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
              * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
              * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
            @@ -20,12 +20,12 @@
              * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
              * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
              * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
            - * 
            + *
              * The views and conclusions contained in the software and documentation are those of the
              * authors and should not be interpreted as representing official policies, either expressed
              * or implied, of JogAmp Community.
              */
            - 
            +
             package com.jogamp.newt.event;
             
             public class TraceMouseAdapter implements MouseListener {
            diff --git a/src/newt/classes/com/jogamp/newt/event/TraceWindowAdapter.java b/src/newt/classes/com/jogamp/newt/event/TraceWindowAdapter.java
            index 8542820c4..630e85303 100644
            --- a/src/newt/classes/com/jogamp/newt/event/TraceWindowAdapter.java
            +++ b/src/newt/classes/com/jogamp/newt/event/TraceWindowAdapter.java
            @@ -3,14 +3,14 @@
              *
              * Redistribution and use in source and binary forms, with or without modification, are
              * permitted provided that the following conditions are met:
            - * 
            + *
              *    1. Redistributions of source code must retain the above copyright notice, this list of
              *       conditions and the following disclaimer.
            - * 
            + *
              *    2. Redistributions 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.
            - * 
            + *
              * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
              * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
              * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
            @@ -20,12 +20,12 @@
              * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
              * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
              * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
            - * 
            + *
              * The views and conclusions contained in the software and documentation are those of the
              * authors and should not be interpreted as representing official policies, either expressed
              * or implied, of JogAmp Community.
              */
            - 
            +
             package com.jogamp.newt.event;
             
             public class TraceWindowAdapter implements WindowListener {
            diff --git a/src/newt/classes/com/jogamp/newt/event/WindowAdapter.java b/src/newt/classes/com/jogamp/newt/event/WindowAdapter.java
            index b9e487e9b..e237c0d80 100644
            --- a/src/newt/classes/com/jogamp/newt/event/WindowAdapter.java
            +++ b/src/newt/classes/com/jogamp/newt/event/WindowAdapter.java
            @@ -3,14 +3,14 @@
              *
              * Redistribution and use in source and binary forms, with or without modification, are
              * permitted provided that the following conditions are met:
            - * 
            + *
              *    1. Redistributions of source code must retain the above copyright notice, this list of
              *       conditions and the following disclaimer.
            - * 
            + *
              *    2. Redistributions 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.
            - * 
            + *
              * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
              * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
              * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
            @@ -20,12 +20,12 @@
              * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
              * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
              * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
            - * 
            + *
              * The views and conclusions contained in the software and documentation are those of the
              * authors and should not be interpreted as representing official policies, either expressed
              * or implied, of JogAmp Community.
              */
            - 
            +
             package com.jogamp.newt.event;
             
             public abstract class WindowAdapter implements WindowListener
            diff --git a/src/newt/classes/com/jogamp/newt/event/WindowEvent.java b/src/newt/classes/com/jogamp/newt/event/WindowEvent.java
            index 24b3b380a..8c7abfe99 100644
            --- a/src/newt/classes/com/jogamp/newt/event/WindowEvent.java
            +++ b/src/newt/classes/com/jogamp/newt/event/WindowEvent.java
            @@ -1,22 +1,22 @@
             /*
              * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
              * Copyright (c) 2010 JogAmp Community. 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
            @@ -29,7 +29,7 @@
              * 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.
            - * 
            + *
              */
             
             package com.jogamp.newt.event;
            @@ -42,7 +42,7 @@ package com.jogamp.newt.event;
             @SuppressWarnings("serial")
             public class WindowEvent extends NEWTEvent {
                 public static final short EVENT_WINDOW_RESIZED = 100;
            -    public static final short EVENT_WINDOW_MOVED   = 101; 
            +    public static final short EVENT_WINDOW_MOVED   = 101;
                 public static final short EVENT_WINDOW_DESTROY_NOTIFY = 102;
                 public static final short EVENT_WINDOW_GAINED_FOCUS = 103;
                 public static final short EVENT_WINDOW_LOST_FOCUS = 104;
            @@ -65,7 +65,7 @@ public class WindowEvent extends NEWTEvent {
                         default: return "unknown (" + type + ")";
                     }
                 }
            -    
            +
                 public String toString() {
                     return toString(null).toString();
                 }
            diff --git a/src/newt/classes/com/jogamp/newt/event/WindowListener.java b/src/newt/classes/com/jogamp/newt/event/WindowListener.java
            index dde182510..e097edf23 100644
            --- a/src/newt/classes/com/jogamp/newt/event/WindowListener.java
            +++ b/src/newt/classes/com/jogamp/newt/event/WindowListener.java
            @@ -1,22 +1,22 @@
             /*
              * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
              * Copyright (c) 2010 JogAmp Community. 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
            @@ -29,7 +29,7 @@
              * 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.
            - * 
            + *
              */
             
             package com.jogamp.newt.event;
            @@ -44,17 +44,17 @@ public interface WindowListener extends NEWTEventListener {
                 /** Window has been moved. */
                 public void windowMoved(WindowEvent e);
             
            -    /** 
            +    /**
                  * Window destruction has been requested.
                  * 

            * Depending on the {@link WindowClosingProtocol#getDefaultCloseOperation() default close operation}, * the window maybe destroyed or not. *

            - * In case the window will be destroyed (see above), release of resources is recommended. + * In case the window will be destroyed (see above), release of resources is recommended. **/ public void windowDestroyNotify(WindowEvent e); - /** + /** * Window has been destroyed. */ public void windowDestroyed(WindowEvent e); diff --git a/src/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java b/src/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java index a0f6e2cb4..8a204d234 100644 --- a/src/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt.event; import javax.media.nativewindow.util.Rectangle; diff --git a/src/newt/classes/com/jogamp/newt/event/awt/AWTAdapter.java b/src/newt/classes/com/jogamp/newt/event/awt/AWTAdapter.java index 6de2eee45..e3bf18448 100644 --- a/src/newt/classes/com/jogamp/newt/event/awt/AWTAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/awt/AWTAdapter.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt.event.awt; import jogamp.newt.Debug; @@ -48,10 +48,10 @@ import jogamp.newt.Debug; * Common:
            *
                 // your demo/render code
            -    javax.media.opengl.GLEvenListener demo1 = new javax.media.opengl.GLEvenListener() { ... } ; 
            +    javax.media.opengl.GLEvenListener demo1 = new javax.media.opengl.GLEvenListener() { ... } ;
             
                 // your AWT agnostic NEWT mouse listener code
            -    com.jogamp.newt.event.MouseListener mouseListener = new com.jogamp.newt.event.MouseAdapter() { ... } ; 
            +    com.jogamp.newt.event.MouseListener mouseListener = new com.jogamp.newt.event.MouseAdapter() { ... } ;
              * 

            *

            * Default NEWT use case, without using the AWTAdapter:
            @@ -96,7 +96,7 @@ import jogamp.newt.Debug;
            new AWTMouseAdapter(mouseListener, glWindow).addTo(comp);
            *

            - * + * * Last but not least, the AWTAdapter maybe used as a general AWT event forwarder to NEWT.
            * *

            @@ -108,7 +108,7 @@ import jogamp.newt.Debug;
            new AWTMouseAdapter(glWindow).addTo(comp); // forward all AWT events to glWindow, as NEWT events
            *

            - * + * * @see #attachTo */ public abstract class AWTAdapter implements java.util.EventListener @@ -118,7 +118,7 @@ public abstract class AWTAdapter implements java.util.EventListener com.jogamp.newt.event.NEWTEventListener newtListener; com.jogamp.newt.Window newtWindow; - /** + /** * Simply wrap aroung a NEWT EventListener, exposed as an AWT EventListener.
            * The NEWT EventListener will be called when an event happens.
            */ @@ -130,7 +130,7 @@ public abstract class AWTAdapter implements java.util.EventListener this.newtWindow = null; } - /** + /** * Wrap aroung a NEWT EventListener, exposed as an AWT EventListener,
            * where the given NEWT Window impersonates as the event's source. * The NEWT EventListener will be called when an event happens.
            @@ -146,7 +146,7 @@ public abstract class AWTAdapter implements java.util.EventListener this.newtWindow = newtProxy; } - /** + /** * Create a pipeline adapter, AWT EventListener.
            * Once attached to an AWT component, it sends the converted AWT events to the NEWT downstream window.
            * This is only supported with EDT enabled! @@ -162,15 +162,15 @@ public abstract class AWTAdapter implements java.util.EventListener } } - public final com.jogamp.newt.Window getNewtWindow() { - return newtWindow; + public final com.jogamp.newt.Window getNewtWindow() { + return newtWindow; } - + public final com.jogamp.newt.event.NEWTEventListener getNewtEventListener() { - return newtListener; + return newtListener; } - - /** + + /** * Due to the fact that some NEWT {@link com.jogamp.newt.event.NEWTEventListener} * are mapped to more than one {@link java.util.EventListener}, * this method is for your convenience to use this Adapter as a listener for all types.
            diff --git a/src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java b/src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java index bef2e5d0f..1b53671ba 100644 --- a/src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,18 +20,18 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt.event.awt; import jogamp.newt.awt.event.AWTNewtEventFactory; /** - * AWT: + * AWT: * printable: PRESSED (t0), TYPED (t0), RELEASED (t1) * non-printable: PRESSED (t0), RELEASED (t1) */ diff --git a/src/newt/classes/com/jogamp/newt/event/awt/AWTMouseAdapter.java b/src/newt/classes/com/jogamp/newt/event/awt/AWTMouseAdapter.java index 115743a0d..ab4bf7a3f 100644 --- a/src/newt/classes/com/jogamp/newt/event/awt/AWTMouseAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/awt/AWTMouseAdapter.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,17 +20,17 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt.event.awt; import jogamp.newt.awt.event.AWTNewtEventFactory; -public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseListener, +public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener { diff --git a/src/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java b/src/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java index e91bb2f82..8c9781b77 100644 --- a/src/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,20 +20,20 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package com.jogamp.newt.event.awt; import java.awt.Dimension; import jogamp.newt.awt.event.AWTNewtEventFactory; -public class AWTWindowAdapter - extends AWTAdapter +public class AWTWindowAdapter + extends AWTAdapter implements java.awt.event.ComponentListener, java.awt.event.WindowListener, java.awt.event.FocusListener { WindowClosingListener windowClosingListener; @@ -63,17 +63,17 @@ public class AWTWindowAdapter if(awtComponent instanceof java.awt.Window) { ((java.awt.Window)awtComponent).addWindowListener(this); } - return this; + return this; } - + public AWTAdapter removeWindowClosingFrom(java.awt.Component awtComponent) { java.awt.Window win = getWindow(awtComponent); if( null != win && null != windowClosingListener ) { win.removeWindowListener(windowClosingListener); } - return this; + return this; } - + public AWTAdapter removeFrom(java.awt.Component awtComponent) { awtComponent.removeFocusListener(this); awtComponent.removeComponentListener(this); @@ -225,7 +225,7 @@ public class AWTWindowAdapter enqueueEvent(true, event); } } - public void windowClosed(java.awt.event.WindowEvent e) { + public void windowClosed(java.awt.event.WindowEvent e) { com.jogamp.newt.event.WindowEvent event = AWTNewtEventFactory.createWindowEvent(e, newtWindow); if(null!=newtListener) { ((com.jogamp.newt.event.WindowListener)newtListener).windowDestroyed(event); diff --git a/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java b/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java index cae1a06a2..ac81e8469 100644 --- a/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java +++ b/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java @@ -127,7 +127,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind } @Override - public void windowResized(WindowEvent e) { + public void windowResized(WindowEvent e) { defaultWindowResizedOp(getWidth(), getHeight()); } @@ -139,7 +139,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind public final Object getUpstreamWidget() { return window; } - + /** * Creates a new GLWindow attaching a new Window referencing a * new default Screen and default Display with the given GLCapabilities. @@ -218,7 +218,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind @Override public final CapabilitiesImmutable getChosenCapabilities() { final GLDrawable _drawable = drawable; - return null != _drawable ? _drawable.getChosenGLCapabilities() : window.getChosenCapabilities(); + return null != _drawable ? _drawable.getChosenGLCapabilities() : window.getChosenCapabilities(); } @Override @@ -339,7 +339,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind public final int getY() { return window.getY(); } - + @Override public final int getWidth() { return window.getWidth(); @@ -349,7 +349,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind public final int getHeight() { return window.getHeight(); } - + @Override public final void setPosition(int x, int y) { window.setPosition(x, y); @@ -363,7 +363,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind public final boolean setFullscreen(boolean fullscreen) { return window.setFullscreen(fullscreen); } - + @Override public boolean setFullscreen(List monitors) { return window.setFullscreen(monitors); @@ -418,7 +418,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind public void setWindowDestroyNotifyAction(Runnable r) { window.setWindowDestroyNotifyAction(r); } - + @Override public final void setVisible(boolean visible) { window.setVisible(visible); @@ -450,7 +450,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind public void preserveGLStateAtDestroy(boolean value) { GLWindow.this.preserveGLStateAtDestroy(value); } - + @Override public synchronized void destroyActionPreLock() { // nop @@ -464,7 +464,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind //Exception e1 = new Exception(msg); //e1.printStackTrace(); } - + destroyImplInLock(); if(Window.DEBUG_IMPLEMENTATION) { @@ -493,7 +493,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind } else { t0 = 0; } - + if (null == drawable && visible && 0 != window.getWindowHandle() && 0 * At native creation, {@link #setVisible(boolean) setVisible(true)}, @@ -619,7 +619,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind setVisible(true); } } - + /** * {@inheritDoc} *

            @@ -643,7 +643,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind public final void swapBuffers() throws GLException { defaultSwapBuffers(); } - + //---------------------------------------------------------------------- // NEWTEventConsumer // @@ -807,7 +807,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind public final void removeGestureListener(GestureHandler.GestureListener gl) { window.removeGestureListener(gl); } - + //---------------------------------------------------------------------- // NativeWindow completion // @@ -893,7 +893,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind _forceGL3 = true; } else if(args[i].equals("-gl4es3")) { _forceGL4ES3 = true; - } + } } } forceES2 = _forceES2; @@ -905,7 +905,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind System.err.println("forceES3 "+forceES3); System.err.println("forceGL3 "+forceGL3); System.err.println("forceGL4ES3 "+forceGL4ES3); - + System.err.println(VersionUtil.getPlatformInfo()); System.err.println(GlueGenVersion.getInstance()); System.err.println(JoglVersion.getInstance()); diff --git a/src/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java b/src/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java index a2135273b..a25b43777 100644 --- a/src/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java +++ b/src/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,7 +20,7 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. @@ -71,9 +71,9 @@ import com.jogamp.newt.util.EDTUtil; public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { private static final boolean DEBUG = Debug.debug("Window"); private static final boolean isOSX = NativeWindowFactory.TYPE_MACOSX == NativeWindowFactory.getNativeWindowType(false); - - private final AbstractGraphicsScreen screen; - + + private final AbstractGraphicsScreen screen; + private WindowClosingMode newtChildCloseOp = WindowClosingMode.DISPOSE_ON_CLOSE; private volatile Rectangle clientArea; @@ -82,22 +82,22 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { private volatile boolean newtChildReady = false; // ready if SWTEDTUtil is set and newtChild parented private volatile boolean postSetSize = false; // pending resize - /** - * Creates an instance using {@link #NewtCanvasSWT(Composite, int, Window)} + /** + * Creates an instance using {@link #NewtCanvasSWT(Composite, int, Window)} * on the SWT thread. - * + * *

            * Note: The NEWT child {@link Display}'s {@link EDTUtil} is being set to an SWT conform implementation - * via {@link Display#setEDTUtil(EDTUtil)}. + * via {@link Display#setEDTUtil(EDTUtil)}. *

            - * + * * @param parent the SWT composite - * @param style additional styles to SWT#NO_BACKGROUND - * @param child optional preassigned {@link #Window}, maybe null + * @param style additional styles to SWT#NO_BACKGROUND + * @param child optional preassigned {@link #Window}, maybe null * @return a new instance */ public static NewtCanvasSWT create(final Composite parent, final int style, final Window child) { - final NewtCanvasSWT[] res = new NewtCanvasSWT[] { null }; + final NewtCanvasSWT[] res = new NewtCanvasSWT[] { null }; parent.getDisplay().syncExec( new Runnable() { public void run() { res[0] = new NewtCanvasSWT( parent, style, child); @@ -105,22 +105,22 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { }); return res[0]; } - + /** * Instantiates a NewtCanvas with a NEWT child. - * + * *

            * Note: The NEWT child {@link Display}'s {@link EDTUtil} is being set to an SWT conform implementation - * via {@link Display#setEDTUtil(EDTUtil)}. + * via {@link Display#setEDTUtil(EDTUtil)}. *

            - * + * * @param parent the SWT composite - * @param style additional styles to SWT#NO_BACKGROUND - * @param child optional preassigned {@link #Window}, maybe null + * @param style additional styles to SWT#NO_BACKGROUND + * @param child optional preassigned {@link #Window}, maybe null */ public NewtCanvasSWT(final Composite parent, final int style, Window child) { super(parent, style | SWT.NO_BACKGROUND); - + SWTAccessor.setRealized(this, true); clientArea = getClientArea(); @@ -128,7 +128,7 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { final AbstractGraphicsDevice device = SWTAccessor.getDevice(this); screen = SWTAccessor.getScreen(device, -1 /* default */); nativeWindow = null; - + if(null != child) { setNEWTChild(child); } @@ -161,12 +161,12 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { addListener (SWT.Paint, listener); addListener (SWT.Dispose, listener); } - + /** assumes nativeWindow == null ! */ protected final boolean validateNative() { updateSizeCheck(); final Rectangle nClientArea = clientArea; - if(0 >= nClientArea.width || 0 >= nClientArea.height) { + if(0 >= nClientArea.width || 0 >= nClientArea.height) { return false; } screen.getDevice().open(); @@ -177,9 +177,9 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { final boolean visualIDValid = NativeWindowFactory.isNativeVisualIDValidForProcessing(visualID); if(DEBUG) { System.err.println("NewtCanvasSWT.validateNative() windowHandle 0x"+Long.toHexString(nativeWindowHandle)+", visualID 0x"+Integer.toHexString(visualID)+", valid "+visualIDValid); - } + } if( visualIDValid ) { - /* Get the nativewindow-Graphics Device associated with this control (which is determined by the parent Composite). + /* Get the nativewindow-Graphics Device associated with this control (which is determined by the parent Composite). * Note: SWT is owner of the native handle, hence no closing operation will be a NOP. */ final CapabilitiesImmutable caps = new Capabilities(); final GraphicsConfigurationFactory factory = GraphicsConfigurationFactory.getFactory(screen.getDevice(), caps); @@ -187,7 +187,7 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { if(DEBUG) { System.err.println("NewtCanvasSWT.validateNative() factory: "+factory+", windowHandle 0x"+Long.toHexString(nativeWindowHandle)+", visualID 0x"+Integer.toHexString(visualID)+", chosen config: "+config); // Thread.dumpStack(); - } + } if (null == config) { throw new NativeWindowException("Error choosing GraphicsConfiguration creating window: "+this); } @@ -198,11 +198,11 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { return null != nativeWindow; } - + protected final void updateSizeCheck() { final Rectangle oClientArea = clientArea; final Rectangle nClientArea = getClientArea(); - if ( nClientArea != null && + if ( nClientArea != null && ( nClientArea.width != oClientArea.width || nClientArea.height != oClientArea.height ) ) { clientArea = nClientArea; // write back new value @@ -217,12 +217,12 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { } } } - + @Override public void update() { // don't paint background etc .. nop avoids flickering } - + /** * Destroys this resource: *
              @@ -248,12 +248,12 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { } screen.getDevice().close(); nativeWindow = null; - super.dispose(); + super.dispose(); } - + /** @return this SWT Canvas NativeWindow representation, may be null in case it has not been realized. */ public NativeWindow getNativeWindow() { return nativeWindow; } - + public WindowClosingMode getDefaultCloseOperation() { return newtChildCloseOp; // TODO: implement ?! } @@ -264,28 +264,28 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { boolean isParent() { - return null!=newtChild ; + return null!=newtChild ; } boolean isFullscreen() { return null != newtChild && newtChild.isFullscreen(); } - /** + /** * Sets a new NEWT child, provoking reparenting. *

              * A previously detached newChild will be released to top-level status - * and made invisible. + * and made invisible. *

              *

              - * Note: When switching NEWT child's, detaching the previous first via setNEWTChild(null) - * produced much cleaner visual results. + * Note: When switching NEWT child's, detaching the previous first via setNEWTChild(null) + * produced much cleaner visual results. *

              *

              * Note: The NEWT child {@link Display}'s {@link EDTUtil} is being set to an SWT conform implementation - * via {@link Display#setEDTUtil(EDTUtil)}. + * via {@link Display#setEDTUtil(EDTUtil)}. *

              - * @return the previous attached newt child. + * @return the previous attached newt child. */ public Window setNEWTChild(final Window newChild) { final Window prevChild = newtChild; @@ -302,14 +302,14 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { if(null != nativeWindow && null != newChild) { reparentWindow( true ); } - return prevChild; + return prevChild; } - + /** @return the current NEWT child */ public Window getNEWTChild() { return newtChild; } - + @Override public boolean setParent(Composite parent) { return super.setParent(parent); @@ -319,11 +319,11 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { newtChildReady = attach; if( null != newtChild ) { newtChild.setKeyboardFocusHandler(null); - if(attach) { - newtChildCloseOp = newtChild.setDefaultCloseOperation(WindowClosingMode.DO_NOTHING_ON_CLOSE); + if(attach) { + newtChildCloseOp = newtChild.setDefaultCloseOperation(WindowClosingMode.DO_NOTHING_ON_CLOSE); } else { newtChild.setFocusAction(null); - newtChild.setDefaultCloseOperation(newtChildCloseOp); + newtChild.setDefaultCloseOperation(newtChildCloseOp); } } } @@ -335,13 +335,13 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { if(DEBUG) { System.err.println("NewtCanvasSWT.reparentWindow.0: add="+add+", win "+newtWinHandleToHexString(newtChild)+", EDTUtil: cur "+newtChild.getScreen().getDisplay().getEDTUtil()); } - + newtChild.setFocusAction(null); // no AWT focus traversal .. if(add) { updateSizeCheck(); final int w = clientArea.width; final int h = clientArea.height; - + // set SWT EDT and start it { final Display newtDisplay = newtChild.getScreen().getDisplay(); @@ -349,14 +349,14 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { edtUtil.start(); newtDisplay.setEDTUtil( edtUtil ); } - - newtChild.setSize(w, h); + + newtChild.setSize(w, h); newtChild.reparentWindow(nativeWindow); newtChild.setVisible(true); - configureNewtChild(true); + configureNewtChild(true); newtChild.sendWindowEvent(WindowEvent.EVENT_WINDOW_RESIZED); // trigger a resize/relayout to listener - - // force this SWT Canvas to be focus-able, + + // force this SWT Canvas to be focus-able, // since it is completely covered by the newtChild (z-order). setEnabled(true); } else { @@ -375,19 +375,19 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { newtChild.requestFocus(); } } - + @Override public boolean forceFocus() { final boolean res = NewtCanvasSWT.super.forceFocus(); requestFocusNEWTChild(); - return res; + return res; } - + private class SWTNativeWindow implements NativeWindow { private final AbstractGraphicsConfiguration config; private final long nativeWindowHandle; private final InsetsImmutable insets; // only required to allow proper client position calculation on OSX - + public SWTNativeWindow(AbstractGraphicsConfiguration config, long nativeWindowHandle) { this.config = config; this.nativeWindowHandle = nativeWindowHandle; @@ -397,7 +397,7 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { this.insets = new Insets(0, 0, 0, 0); } } - + @Override public int lockSurface() throws NativeWindowException, RuntimeException { return NativeSurface.LOCK_SUCCESS; @@ -432,7 +432,7 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { public void removeSurfaceUpdatedListener(SurfaceUpdatedListener l) { } @Override - public long getSurfaceHandle() { + public long getSurfaceHandle() { return 0; } @@ -462,7 +462,7 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { } @Override - public void surfaceUpdated(Object updater, NativeSurface ns, long when) { } + public void surfaceUpdated(Object updater, NativeSurface ns, long when) { } @Override public void destroy() { } @@ -497,7 +497,7 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { if( isOSX ) { final Point los = OSXUtil.GetLocationOnScreen(nativeWindowHandle, false, 0, 0); // top-level position -> client window position - los.set(los.getX() + insets.getLeftWidth(), los.getY() + insets.getTopHeight()); + los.set(los.getX() + insets.getLeftWidth(), los.getY() + insets.getTopHeight()); if(null!=point) { return point.translate(los); } else { @@ -506,7 +506,7 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { } else { // client position on 'normal' windowing systems is 0/0 if(null == point) { - point = new Point(0, 0); + point = new Point(0, 0); } return point; } @@ -515,7 +515,7 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { @Override public boolean hasFocus() { return isFocusControl(); - } + } }; static String newtWinHandleToHexString(Window w) { diff --git a/src/newt/classes/com/jogamp/newt/util/EDTUtil.java b/src/newt/classes/com/jogamp/newt/util/EDTUtil.java index 52ca95682..582dc3e1f 100644 --- a/src/newt/classes/com/jogamp/newt/util/EDTUtil.java +++ b/src/newt/classes/com/jogamp/newt/util/EDTUtil.java @@ -63,17 +63,17 @@ public interface EDTUtil { * @param ms poll period in milliseconds */ public void setPollPeriod(long ms); - + /** * Starts the EDT after it's creation or after {@link #invokeStop(boolean, Runnable) stopping}. *

              * If the EDT is running, it must be {@link #invokeStop(boolean, Runnable) stopped} first * and the caller should wait {@link #waitUntilStopped() until it's stopped}. *

              - * + * * @return true if EDT has been successfully restarted, otherwise false * @throws IllegalStateException if EDT is running and not subject to be stopped, i.e. {@link #isRunning()} returns true - * + * * @see #invokeStop(boolean, java.lang.Runnable) * @see #waitUntilStopped() */ @@ -82,11 +82,11 @@ public interface EDTUtil { /** * Returns true if the current thread is the event dispatch thread (EDT). *

              - * The EDT is the platform specific thread dispatching toolkit-events + * The EDT is the platform specific thread dispatching toolkit-events * and executing toolkit-tasks enqueued via {@link #invoke(boolean, Runnable)}. *

              *

              - * Usually it is the same thread as used to dequeue informal {@link NEWTEvent}s (NEDT), see {@link #isCurrentThreadNEDT()}, + * Usually it is the same thread as used to dequeue informal {@link NEWTEvent}s (NEDT), see {@link #isCurrentThreadNEDT()}, * however, this may differ, e.g. SWT and AWT implementation. *

              */ @@ -95,28 +95,28 @@ public interface EDTUtil { /** * Returns true if the current thread is the internal NEWT event dequeue thread (NEDT). *

              - * The NEDT is the NEWT thread used to dequeue informal {@link NEWTEvent}s enqueued internally + * The NEDT is the NEWT thread used to dequeue informal {@link NEWTEvent}s enqueued internally * via {@link DisplayImpl#enqueueEvent(boolean, NEWTEvent)}. *

              *

              - * Usually it is the same thread as the EDT, see {@link #isCurrentThreadEDT()}, + * Usually it is the same thread as the EDT, see {@link #isCurrentThreadEDT()}, * however, this may differ, e.g. SWT and AWT implementation. *

              */ public boolean isCurrentThreadNEDT(); - + /** * Returns true if either {@link #isCurrentThreadEDT()} or {@link #isCurrentThreadNEDT()} is true, * otherwise false. */ public boolean isCurrentThreadEDTorNEDT(); - + /** * @return True if EDT is running and not subject to be stopped. */ public boolean isRunning(); - /** + /** * Append the final task to the EDT task queue, * signals EDT to stop. *

              @@ -133,22 +133,22 @@ public interface EDTUtil { *

            • {@link #start()} may follow immediately, ie creating a new EDT
            • *
            *

            - * @return true if task has been executed or queued for later execution, otherwise false + * @return true if task has been executed or queued for later execution, otherwise false */ public boolean invokeStop(boolean wait, Runnable finalTask); - /** + /** * Appends task to the EDT task queue if current thread is not EDT, - * otherwise execute task immediately. + * otherwise execute task immediately. *

            * Wait until execution is finished if wait == true. *

            * Can be issued from within EDT, ie from within an enqueued task.
            - * @return true if task has been executed or queued for later execution, otherwise false + * @return true if task has been executed or queued for later execution, otherwise false */ public boolean invoke(boolean wait, Runnable task); - /** + /** * Wait until the EDT task queue is empty.
            * The last task may still be in execution when this method returns. * @return true if waited for idle, otherwise false, i.e. in case of current thread is EDT or NEDT diff --git a/src/newt/classes/com/jogamp/newt/util/MainThread.java b/src/newt/classes/com/jogamp/newt/util/MainThread.java index 5e79e9b49..049320b21 100644 --- a/src/newt/classes/com/jogamp/newt/util/MainThread.java +++ b/src/newt/classes/com/jogamp/newt/util/MainThread.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. @@ -54,13 +54,13 @@ import jogamp.newt.NEWTJNILibLoader; * NEWT Utility class MainThread

            * *

            - * FIXME: Update this documentation! + * FIXME: Update this documentation! * This class just provides a main-thread utility, forking of a main java class * on another thread while being able to continue doing platform specific things * on the main-thread. The latter is essential for eg. MacOSX, where we continue * to run NSApp.run(). *

            - * + * * This class provides a startup singleton main thread, * from which a new thread with the users main class is launched.
            * @@ -72,17 +72,17 @@ import jogamp.newt.NEWTJNILibLoader; * use a NEWT multithreaded application with window handling within the different threads, * even on these restricted platforms.
            * - * To support your NEWT Window platform, + * To support your NEWT Window platform, * you have to pass your main thread actions to {@link #invoke invoke(..)}, * have a look at the {@link jogamp.newt.driver.macosx.WindowDriver NEWT Mac OSX Window} driver implementation.
            - * TODO: Some hardcoded dependencies exist in this implementation, + * TODO: Some hardcoded dependencies exist in this implementation, * where you have to patch this code or factor it out.

            - * + * * If your platform is not Mac OS X, but you want to test your code without modifying * this class, you have to set the system property newt.MainThread.force to true.

            * * The code is compatible with all other platform, which support multithreaded windowing handling. - * Since those platforms won't trigger the main thread serialization, the main method + * Since those platforms won't trigger the main thread serialization, the main method * will be simply executed, in case you haven't set newt.MainThread.force to true.

            * * Test case on Mac OS X (or any other platform): @@ -96,35 +96,35 @@ public class MainThread { private static final Platform.OSType osType; private static final boolean isMacOSX; private static final ThreadGroup rootThreadGroup; - + /** if true, use the main thread EDT, otherwise AWT's EDT */ public static final boolean HINT_USE_MAIN_THREAD; - + static { NativeWindowFactory.initSingleton(); NEWTJNILibLoader.loadNEWT(); - HINT_USE_MAIN_THREAD = !NativeWindowFactory.isAWTAvailable() || + HINT_USE_MAIN_THREAD = !NativeWindowFactory.isAWTAvailable() || Debug.getBooleanProperty("newt.MainThread.force", true); osType = Platform.getOSType(); isMacOSX = osType == Platform.OSType.MACOS; rootThreadGroup = getRootThreadGroup(); } - + public static boolean useMainThread = false; - + protected static final boolean DEBUG = Debug.debug("MainThread"); private static final MainThread singletonMainThread = new MainThread(); // one singleton MainThread - + private static final ThreadGroup getRootThreadGroup() { ThreadGroup rootGroup = Thread.currentThread( ).getThreadGroup( ); ThreadGroup parentGroup; while ( ( parentGroup = rootGroup.getParent() ) != null ) { rootGroup = parentGroup; } - return rootGroup; + return rootGroup; } - + private static final Thread[] getAllThreads(int[] count) { int tn; Thread[] threads = new Thread[ rootThreadGroup.activeCount() ]; @@ -149,17 +149,17 @@ public class MainThread { t.printStackTrace(); } } - return res; + return res; } private static final int getNonDaemonThreadCount(List ignoreThreads) { int res = 0; int[] tn = { 0 }; Thread[] threads = getAllThreads(tn); - + for(int i = tn[0] - 1; i >= 0; i--) { final Thread thread = threads[i]; try { - if(thread.isAlive() && !thread.isDaemon() && !ignoreThreads.contains(thread)) { + if(thread.isAlive() && !thread.isDaemon() && !ignoreThreads.contains(thread)) { res++; if(DEBUG) System.err.println("MainAction.run(): non daemon thread: "+thread); } @@ -167,9 +167,9 @@ public class MainThread { t.printStackTrace(); } } - return res; + return res; } - + static class UserApp extends Thread { private final String mainClassNameShort; private final String mainClassName; @@ -181,7 +181,7 @@ public class MainThread { super(); this.mainClassName=mainClassName; this.mainClassArgs=mainClassArgs; - + final Class mainClass = ReflectionUtil.getClass(mainClassName, true, getClass().getClassLoader()); if(null==mainClass) { throw new ClassNotFoundException("MainAction couldn't find main class "+mainClassName); @@ -192,7 +192,7 @@ public class MainThread { setName(getName()+"-UserApp-"+mainClassNameShort); setDaemon(false); - + if(DEBUG) System.err.println("MainAction(): instantiated: "+getName()+", is daemon "+isDaemon()+", main-class: "+mainClass.getName()); } @@ -230,32 +230,32 @@ public class MainThread { if(isMacOSX) { try { if(DEBUG) { - System.err.println("MainAction.main(): "+Thread.currentThread()+" MainAction fin - stopNSApp.0"); + System.err.println("MainAction.main(): "+Thread.currentThread()+" MainAction fin - stopNSApp.0"); } - ReflectionUtil.callStaticMethod(MACOSXDisplayClassName, "stopNSApplication", + ReflectionUtil.callStaticMethod(MACOSXDisplayClassName, "stopNSApplication", null, null, MainThread.class.getClassLoader()); if(DEBUG) { - System.err.println("MainAction.main(): "+Thread.currentThread()+" MainAction fin - stopNSApp.X"); + System.err.println("MainAction.main(): "+Thread.currentThread()+" MainAction fin - stopNSApp.X"); } } catch (Exception e) { e.printStackTrace(); } } else { if(DEBUG) System.err.println("MainAction.run(): "+Thread.currentThread().getName()+" MainAction fin - System.exit(0)"); - System.exit(0); - } + System.exit(0); + } } } } private static UserApp mainAction; - /** Your new java application main entry, which pipelines your application - * @throws ClassNotFoundException - * @throws NoSuchMethodException + /** Your new java application main entry, which pipelines your application + * @throws ClassNotFoundException + * @throws NoSuchMethodException * @throws SecurityException */ public static void main(String[] args) throws SecurityException, NoSuchMethodException, ClassNotFoundException { final Thread cur = Thread.currentThread(); - + useMainThread = HINT_USE_MAIN_THREAD; if(DEBUG) { @@ -268,7 +268,7 @@ public class MainThread { if(!useMainThread && !NativeWindowFactory.isAWTAvailable()) { throw new RuntimeException("!USE_MAIN_THREAD and no AWT available"); } - + if(args.length==0) { return; } @@ -282,7 +282,7 @@ public class MainThread { mainAction = new UserApp(mainClassName, mainClassArgs); if(isMacOSX) { - ReflectionUtil.callStaticMethod(MACOSXDisplayClassName, "initSingleton", + ReflectionUtil.callStaticMethod(MACOSXDisplayClassName, "initSingleton", null, null, MainThread.class.getClassLoader()); } @@ -290,24 +290,24 @@ public class MainThread { try { cur.setName(cur.getName()+"-MainThread"); } catch (Exception e) {} - + // dispatch user's main thread .. mainAction.start(); - + if(isMacOSX) { try { if(DEBUG) { - System.err.println("MainThread.main(): "+cur.getName()+"- runNSApp"); + System.err.println("MainThread.main(): "+cur.getName()+"- runNSApp"); } - ReflectionUtil.callStaticMethod(MACOSXDisplayClassName, "runNSApplication", + ReflectionUtil.callStaticMethod(MACOSXDisplayClassName, "runNSApplication", null, null, MainThread.class.getClassLoader()); } catch (Exception e) { e.printStackTrace(); } - } - if(DEBUG) { System.err.println("MainThread - wait until last non daemon thread ends ..."); } + } + if(DEBUG) { System.err.println("MainThread - wait until last non daemon thread ends ..."); } } else { - // run user's main in this thread + // run user's main in this thread mainAction.run(); } } diff --git a/src/newt/classes/com/jogamp/newt/util/MonitorModeUtil.java b/src/newt/classes/com/jogamp/newt/util/MonitorModeUtil.java index c30b427d6..fdd7985fe 100644 --- a/src/newt/classes/com/jogamp/newt/util/MonitorModeUtil.java +++ b/src/newt/classes/com/jogamp/newt/util/MonitorModeUtil.java @@ -42,7 +42,7 @@ import javax.media.nativewindow.util.SurfaceSize; * filters etc. */ public class MonitorModeUtil { - + public static int getIndex(List monitorModes, MonitorMode search) { return monitorModes.indexOf(search); } @@ -69,7 +69,7 @@ public class MonitorModeUtil { } return null; } - + /** Sort the given {@link MonitorMode} collection w/ {@link MonitorMode#compareTo(MonitorMode)} function. */ public static void sort(List monitorModes, boolean ascendingOrder) { if( ascendingOrder ) { @@ -78,9 +78,9 @@ public class MonitorModeUtil { Collections.sort(monitorModes, MonitorMode.monitorModeComparatorInv); } } - + /** - * + * * @param monitorModes * @param surfaceSize * @return modes with exact {@link SurfaceSize}. May return zero sized list for non. @@ -99,7 +99,7 @@ public class MonitorModeUtil { } /** - * + * * @param monitorModes * @param rotation * @return modes with exact rotation. May return zero sized list for non. @@ -118,7 +118,7 @@ public class MonitorModeUtil { } /** - * + * * @param monitorModes * @param bitsPerPixel * @return modes with exact bpp. May return zero sized list for non. @@ -137,7 +137,7 @@ public class MonitorModeUtil { } /** - * + * * @param monitorModes * @param flags * @return modes with exact flags. May return zero sized list for non. @@ -165,7 +165,7 @@ public class MonitorModeUtil { if( null!=monitorModes && monitorModes.size()>0 ) { final int resolution_sq = resolution.getHeight()*resolution.getWidth(); int mode_dsq=Integer.MAX_VALUE, mode_dsq_idx=0; - + for (int i=0; null!=monitorModes && i() { public Object run() { PropertyAccess.addTrustedPrefix("newt."); return null; } } ); - + verbose = isPropertyDefined("newt.verbose", true); debugAll = isPropertyDefined("newt.debug", true); if (verbose) { diff --git a/src/newt/classes/jogamp/newt/DefaultEDTUtil.java b/src/newt/classes/jogamp/newt/DefaultEDTUtil.java index 3d1037ad5..f33b4744e 100644 --- a/src/newt/classes/jogamp/newt/DefaultEDTUtil.java +++ b/src/newt/classes/jogamp/newt/DefaultEDTUtil.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. @@ -51,7 +51,7 @@ public class DefaultEDTUtil implements EDTUtil { public static final boolean DEBUG = Debug.debug("EDT"); private final Object edtLock = new Object(); // locking the EDT start/stop state - private /* final */ ThreadGroup threadGroup; + private /* final */ ThreadGroup threadGroup; private final String name; private final Runnable dispatchMessages; private NEDT edt = null; @@ -75,7 +75,7 @@ public class DefaultEDTUtil implements EDTUtil { final public void setPollPeriod(long ms) { pollPeriod = ms; } - + @Override public final boolean start() throws IllegalStateException { synchronized(edtLock) { @@ -117,7 +117,7 @@ public class DefaultEDTUtil implements EDTUtil { public final boolean isCurrentThreadEDT() { return edt == Thread.currentThread(); // EDT == NEDT } - + @Override public final boolean isCurrentThreadNEDT() { return edt == Thread.currentThread(); // EDT == NEDT @@ -126,8 +126,8 @@ public class DefaultEDTUtil implements EDTUtil { @Override public final boolean isCurrentThreadEDTorNEDT() { return edt == Thread.currentThread(); // EDT == NEDT - } - + } + @Override public final boolean isRunning() { return edt.isRunning() ; @@ -149,9 +149,9 @@ public class DefaultEDTUtil implements EDTUtil { private static Runnable nullTask = new Runnable() { @Override - public void run() { } + public void run() { } }; - + private final boolean invokeImpl(boolean wait, Runnable task, boolean stop) { Throwable throwable = null; RunnableTask rTask = null; @@ -201,7 +201,7 @@ public class DefaultEDTUtil implements EDTUtil { synchronized(edt.tasks) { rTask = new RunnableTask(task, wait ? rTaskLock : null, - true /* always catch and report Exceptions, don't disturb EDT */, + true /* always catch and report Exceptions, don't disturb EDT */, wait ? null : System.err); if(stop) { rTask.setAttachment(new Boolean(true)); // mark final task, will imply shouldStop:=true @@ -305,8 +305,8 @@ public class DefaultEDTUtil implements EDTUtil { throw new InternalError("XXX"); } } - - /** + + /** * Utilizing locking only on tasks and its execution, * not for event dispatching. */ @@ -315,7 +315,7 @@ public class DefaultEDTUtil implements EDTUtil { if(DEBUG) { System.err.println(getName()+": Default-EDT run() START "+ getName()); } - if(Lock.DEBUG) { + if(Lock.DEBUG) { validateNoRecursiveLocksHold(); } RuntimeException error = null; @@ -368,7 +368,7 @@ public class DefaultEDTUtil implements EDTUtil { } finally { if(DEBUG) { RunnableTask rt = ( tasks.size() > 0 ) ? tasks.get(0) : null ; - System.err.println(getName()+": Default-EDT run() END "+ getName()+", tasks: "+tasks.size()+", "+rt+", "+error); + System.err.println(getName()+": Default-EDT run() END "+ getName()+", tasks: "+tasks.size()+", "+rt+", "+error); } synchronized(edtLock) { isRunning = false; diff --git a/src/newt/classes/jogamp/newt/DisplayImpl.java b/src/newt/classes/jogamp/newt/DisplayImpl.java index 0f47c87a0..c6cb706a4 100644 --- a/src/newt/classes/jogamp/newt/DisplayImpl.java +++ b/src/newt/classes/jogamp/newt/DisplayImpl.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt; @@ -60,16 +60,16 @@ public abstract class DisplayImpl extends Display { } }); } - + /** Ensure static init has been run. */ /* pp */static void initSingleton() { } - - private static Class getDisplayClass(String type) - throws ClassNotFoundException + + private static Class getDisplayClass(String type) + throws ClassNotFoundException { final Class displayClass = NewtFactory.getCustomClass(type, "DisplayDriver"); if(null==displayClass) { - throw new ClassNotFoundException("Failed to find NEWT Display Class <"+type+".DisplayDriver>"); + throw new ClassNotFoundException("Failed to find NEWT Display Class <"+type+".DisplayDriver>"); } return displayClass; } @@ -100,7 +100,7 @@ public abstract class DisplayImpl extends Display { display.setEDTUtil( display.edtUtil ); // device's default if EDT is used, or null Display.addDisplay2List(display); } - + if(DEBUG) { System.err.println("Display.create() NEW: "+display+" "+getThreadName()); } @@ -109,7 +109,7 @@ public abstract class DisplayImpl extends Display { throw new RuntimeException(e); } } - + @Override public boolean equals(Object obj) { if (obj == null) { @@ -168,7 +168,7 @@ public abstract class DisplayImpl extends Display { protected EDTUtil createEDTUtil() { final EDTUtil def; if(NewtFactory.useEDT()) { - def = new DefaultEDTUtil(Thread.currentThread().getThreadGroup(), "Display-"+getFQName(), dispatchMessagesRunnable); + def = new DefaultEDTUtil(Thread.currentThread().getThreadGroup(), "Display-"+getFQName(), dispatchMessagesRunnable); if(DEBUG) { System.err.println("Display.createEDTUtil("+getFQName()+"): "+def.getClass().getName()); } @@ -271,7 +271,7 @@ public abstract class DisplayImpl extends Display { if(DEBUG) { System.err.println("Display.destroy(): "+this+", active "+displaysActive+" "+getThreadName()); } - } + } final DisplayImpl f_dpy = this; final AbstractGraphicsDevice f_aDevice = aDevice; aDevice = null; @@ -287,10 +287,10 @@ public abstract class DisplayImpl extends Display { dumpDisplayList("Display.destroy("+getFQName()+") END"); } } - + /** May be utilized at a shutdown hook, impl. does not block. */ /* pp */ static final void shutdownAll() { - final int dCount = displayList.size(); + final int dCount = displayList.size(); if(DEBUG) { dumpDisplayList("Display.shutdownAll "+dCount+" instances, on thread "+getThreadName()); } @@ -306,7 +306,7 @@ public abstract class DisplayImpl extends Display { final EDTUtil edtUtil = d.getEDTUtil(); final AbstractGraphicsDevice f_aDevice = d.aDevice; d.aDevice = null; - d.refCount=0; + d.refCount=0; final Runnable closeNativeTask = new Runnable() { public void run() { if ( null != d.getGraphicsDevice() ) { @@ -381,7 +381,7 @@ public abstract class DisplayImpl extends Display { public final String getFQName() { return fqname; } - + @Override public final boolean isExclusive() { return exclusive; @@ -438,7 +438,7 @@ public abstract class DisplayImpl extends Display { @Override public String toString() { final EDTUtil _edtUtil = edtUtil; - final boolean _edtUtilRunning = ( null != _edtUtil ) ? _edtUtil.isRunning() : false; + final boolean _edtUtilRunning = ( null != _edtUtil ) ? _edtUtil.isRunning() : false; return "NEWT-Display["+getFQName()+", excl "+exclusive+", refCount "+refCount+", hasEDT "+(null!=_edtUtil)+", edtRunning "+_edtUtilRunning+", "+aDevice+"]"; } @@ -455,8 +455,8 @@ public abstract class DisplayImpl extends Display { } }; final void dispatchMessage(final NEWTEvent event) { - try { - final Object source = event.getSource(); + try { + final Object source = event.getSource(); if(source instanceof NEWTEventConsumer) { final NEWTEventConsumer consumer = (NEWTEventConsumer) source ; if(!consumer.consumeEvent(event)) { @@ -476,10 +476,10 @@ public abstract class DisplayImpl extends Display { throw re; } } - + final void dispatchMessage(final NEWTEventTask eventTask) { final NEWTEvent event = eventTask.get(); - try { + try { if(null == event) { // Ooops ? System.err.println("Warning: event of eventTask is NULL"); @@ -495,15 +495,15 @@ public abstract class DisplayImpl extends Display { throw re; } } - eventTask.notifyCaller(); + eventTask.notifyCaller(); } - + @Override public void dispatchMessages() { // System.err.println("Display.dispatchMessages() 0 "+this+" "+getThreadName()); - if(0==refCount || // no screens + if(0==refCount || // no screens null==getGraphicsDevice() // no native device - ) + ) { return; } @@ -541,13 +541,13 @@ public abstract class DisplayImpl extends Display { } return; } - + // can't wait if we are on EDT or NEDT -> consume right away if(wait && _edtUtil.isCurrentThreadEDTorNEDT() ) { dispatchMessage(e); return; } - + final Object lock = new Object(); final NEWTEventTask eTask = new NEWTEventTask(e, wait?lock:null); synchronized(lock) { @@ -565,13 +565,13 @@ public abstract class DisplayImpl extends Display { if( null != eTask.getException() ) { throw eTask.getException(); } - } + } } } public interface DisplayRunnable { T run(long dpy); - } + } public static final T runWithLockedDevice(AbstractGraphicsDevice device, DisplayRunnable action) { T res; device.lock(); @@ -589,7 +589,7 @@ public abstract class DisplayImpl extends Display { } return runWithLockedDevice(device, action); } - + protected volatile EDTUtil edtUtil = null; protected int id; protected String name; diff --git a/src/newt/classes/jogamp/newt/MonitorDeviceImpl.java b/src/newt/classes/jogamp/newt/MonitorDeviceImpl.java index 43d558515..9e10879c4 100644 --- a/src/newt/classes/jogamp/newt/MonitorDeviceImpl.java +++ b/src/newt/classes/jogamp/newt/MonitorDeviceImpl.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package jogamp.newt; import javax.media.nativewindow.util.DimensionImmutable; @@ -41,7 +41,7 @@ public class MonitorDeviceImpl extends MonitorDevice { public MonitorDeviceImpl(ScreenImpl screen, int nativeId, DimensionImmutable sizeMM, Rectangle viewport, MonitorMode currentMode, ArrayHashSet supportedModes) { super(screen, nativeId, sizeMM, viewport, currentMode, supportedModes); } - + @Override public final MonitorMode queryCurrentMode() { final ScreenImpl screenImpl = (ScreenImpl)screen; @@ -54,7 +54,7 @@ public class MonitorDeviceImpl extends MonitorDevice { } MonitorMode mmU = supportedModes.get(mm0); // unified instance if( null == mmU ) { - // add new mode avoiding exception! + // add new mode avoiding exception! mmU = sms.getMonitorModes().getOrAdd(mm0); mmU = supportedModes.getOrAdd(mmU); if( Screen.DEBUG ) { @@ -89,21 +89,21 @@ public class MonitorDeviceImpl extends MonitorDevice { if( mmU.equals( mmC ) ) { if(Screen.DEBUG) { System.err.println("Screen.setCurrentMode: 0.0 is-current (skip) "+mmU+" == "+mmC); - } + } return true; } final long tStart; if(Screen.DEBUG) { - tStart = System.currentTimeMillis(); + tStart = System.currentTimeMillis(); } else { tStart = 0; } - + sms.fireMonitorModeChangeNotify(this, mmU); if(Screen.DEBUG) { System.err.println("Screen.setCurrentMode ("+(System.currentTimeMillis()-tStart)+"ms): fireModeChangeNotify() "+mmU); } - + boolean success = screenImpl.setCurrentMonitorModeImpl(this, mmU); if(success) { if(Screen.DEBUG) { @@ -135,13 +135,13 @@ public class MonitorDeviceImpl extends MonitorDevice { private final void setCurrentModeValue(MonitorMode currentMode) { this.currentMode = currentMode; } - + /* pp */ final void setViewportValue(Rectangle viewport) { this.viewport = viewport; } - + /* pp */ ArrayHashSet getSupportedModesImpl() { return supportedModes; } - + } diff --git a/src/newt/classes/jogamp/newt/MonitorModeProps.java b/src/newt/classes/jogamp/newt/MonitorModeProps.java index 820807e15..9d8f4919c 100644 --- a/src/newt/classes/jogamp/newt/MonitorModeProps.java +++ b/src/newt/classes/jogamp/newt/MonitorModeProps.java @@ -54,12 +54,12 @@ public class MonitorModeProps { * 1: bpp */ public static final int NUM_SURFACE_SIZE_PROPERTIES = 1; - + /** WARNING: must be synchronized with ScreenMode.h, native implementation * 2: refresh-rate (Hz*100), flags */ public static final int NUM_SIZEANDRATE_PROPERTIES = 2; - + /** WARNING: must be synchronized with ScreenMode.h, native implementation * 2: id, rotation */ @@ -69,7 +69,7 @@ public class MonitorModeProps { * count + all the above */ public static final int NUM_MONITOR_MODE_PROPERTIES_ALL = 8; - + public static final int IDX_MONITOR_MODE_BPP = 1 // count + MonitorModeProps.NUM_RESOLUTION_PROPERTIES ; @@ -79,7 +79,7 @@ public class MonitorModeProps { + MonitorModeProps.NUM_SIZEANDRATE_PROPERTIES + 1 // id of MonitorModeProps.NUM_MONITOR_MODE_PROPERTIES ; - + /** WARNING: must be synchronized with ScreenMode.h, native implementation * 10: count + id, ScreenSizeMM[width, height], rotated Viewport[x, y, width, height], currentMonitorModeId, rotation, supportedModeId+ */ @@ -89,15 +89,15 @@ public class MonitorModeProps { + 1 // native mode + MonitorModeProps.NUM_RESOLUTION_PROPERTIES // sizeMM ; - + public static class Cache { public final ArrayHashSet resolutions = new ArrayHashSet(); public final ArrayHashSet surfaceSizes = new ArrayHashSet(); - public final ArrayHashSet sizeAndRates = new ArrayHashSet(); + public final ArrayHashSet sizeAndRates = new ArrayHashSet(); public final ArrayHashSet monitorModes = new ArrayHashSet(); public final ArrayHashSet monitorDevices = new ArrayHashSet(); } - + /** WARNING: must be synchronized with ScreenMode.h, native implementation */ private static DimensionImmutable streamInResolution(int[] resolutionProperties, int offset) { Dimension resolution = new Dimension(resolutionProperties[offset++], resolutionProperties[offset++]); @@ -116,7 +116,7 @@ public class MonitorModeProps { final int flags = sizeAndRRateProperties[offset++]; return new MonitorMode.SizeAndRRate(surfaceSize, refreshRate, flags); } - + /** WARNING: must be synchronized with ScreenMode.h, native implementation */ private static MonitorMode streamInMonitorMode0(MonitorMode.SizeAndRRate sizeAndRate, int[] modeProperties, int offset) { final int id = modeProperties[offset++]; @@ -161,7 +161,7 @@ public class MonitorModeProps { if(null!=cache) { sizeAndRate = cache.sizeAndRates.getOrAdd(sizeAndRate); } - + MonitorMode monitorMode = MonitorModeProps.streamInMonitorMode0(sizeAndRate, modeProperties, offset); if(null!=cache) { monitorMode = cache.monitorModes.getOrAdd(monitorMode); @@ -193,12 +193,12 @@ public class MonitorModeProps { } return data; } - - /** + + /** * WARNING: must be synchronized with ScreenMode.h, native implementation *

            * Note: This variant only works for impl. w/ a unique mode key pair modeId, rotation. - *

            + *

            * @param mode_idx if not null, returns the index of resulting {@link MonitorDevice} within {@link Cache#monitorDevices}. * @param cache hash arrays of unique {@link MonitorMode} components and {@link MonitorDevice}s, allowing to avoid duplicates * @param modeProperties the input data @@ -218,7 +218,7 @@ public class MonitorModeProps { if(count > monitorProperties.length-offset) { throw new RuntimeException("properties array too short (count), should be >= "+count+", is "+(monitorProperties.length-offset)); } - final int limit = offset + count; + final int limit = offset + count; offset++; final List allMonitorModes = cache.monitorModes.getData(); final int id = monitorProperties[offset++]; @@ -252,7 +252,7 @@ public class MonitorModeProps { monitor_idx[0] = _monitorIdx; } return monitorDevice; - } + } private static MonitorMode getByNativeIdAndRotation(List monitorModes, int modeId, int rotation) { if( null!=monitorModes && monitorModes.size()>0 ) { for (int i=0; i * This variant expects count to be {@link MIN_MONITOR_DEVICE_PROPERTIES} - 1 - {@link NUM_MONITOR_MODE_PROPERTIES}, - * due to lack of supported mode and current mode. + * due to lack of supported mode and current mode. *

            * * @param mode_idx if not null, returns the index of resulting {@link MonitorDevice} within {@link Cache#monitorDevices}. @@ -310,7 +310,7 @@ public class MonitorModeProps { } return monitorDevice; } - + /** WARNING: must be synchronized with ScreenMode.h, native implementation */ public static int[] streamOutMonitorDevice (MonitorDevice monitorDevice) { // min 11: count, id, ScreenSizeMM[width, height], Viewport[x, y, width, height], currentMonitorModeId, rotation, supportedModeId+ @@ -339,7 +339,7 @@ public class MonitorModeProps { } return data; } - + public final void swapRotatePair(int rotation, int[] pairs, int offset, int numPairs) { if( MonitorMode.ROTATE_0 == rotation || MonitorMode.ROTATE_180 == rotation ) { // nop @@ -347,9 +347,9 @@ public class MonitorModeProps { } for(int i=0; i() { public Boolean run() { diff --git a/src/newt/classes/jogamp/newt/OffscreenWindow.java b/src/newt/classes/jogamp/newt/OffscreenWindow.java index 0a302d76b..eba844230 100644 --- a/src/newt/classes/jogamp/newt/OffscreenWindow.java +++ b/src/newt/classes/jogamp/newt/OffscreenWindow.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt; @@ -50,7 +50,7 @@ import com.jogamp.newt.MonitorDevice; public class OffscreenWindow extends WindowImpl implements MutableSurface { long surfaceHandle; - + public OffscreenWindow() { surfaceHandle = 0; } @@ -72,7 +72,7 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { synchronized(OffscreenWindow.class) { setWindowHandle(nextWindowHandle++); } - visibleChanged(false, true); + visibleChanged(false, true); } protected void closeNativeImpl() { @@ -92,7 +92,7 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { @Override public long getSurfaceHandle() { return surfaceHandle; - } + } protected void requestFocusImpl(boolean reparented) { } @@ -101,7 +101,7 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { public void setPosition(int x, int y) { // nop } - + @Override public boolean setFullscreen(boolean fullscreen) { return false; // nop @@ -112,7 +112,7 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { return false; // nop } - + protected boolean reconfigureWindowImpl(int x, int y, int width, int height, int flags) { sizeChanged(false, width, height, false); if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) ) { @@ -137,13 +137,13 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { } return new Point(0,0); } - + protected Point getLocationOnScreenImpl(int x, int y) { return new Point(x,y); } - + protected void updateInsetsImpl(Insets insets) { - // nop .. + // nop .. } } diff --git a/src/newt/classes/jogamp/newt/ScreenImpl.java b/src/newt/classes/jogamp/newt/ScreenImpl.java index 7068d7464..d7e6c641c 100644 --- a/src/newt/classes/jogamp/newt/ScreenImpl.java +++ b/src/newt/classes/jogamp/newt/ScreenImpl.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt; @@ -56,7 +56,7 @@ import com.jogamp.newt.util.MonitorModeUtil; public abstract class ScreenImpl extends Screen implements MonitorModeListener { protected static final boolean DEBUG_TEST_SCREENMODE_DISABLED; - + static { Debug.initSingleton(); DEBUG_TEST_SCREENMODE_DISABLED = Debug.isPropertyDefined("newt.test.Screen.disableScreenMode", true); @@ -67,14 +67,14 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { public static final int default_sm_heightmm = 324; public static final int default_sm_rate = 60; public static final int default_sm_rotation = 0; - + static { DisplayImpl.initSingleton(); } - + /** Ensure static init has been run. */ /* pp */static void initSingleton() { } - + protected DisplayImpl display; protected int screen_idx; protected String fqname; @@ -85,14 +85,14 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { protected static Dimension usrSize = null; // property values: newt.ws.swidth and newt.ws.sheight protected static volatile boolean usrSizeQueried = false; private ArrayList refMonitorModeListener = new ArrayList(); - + private long tCreated; // creationTime - private static Class getScreenClass(String type) throws ClassNotFoundException + private static Class getScreenClass(String type) throws ClassNotFoundException { final Class screenClass = NewtFactory.getCustomClass(type, "ScreenDriver"); if(null==screenClass) { - throw new ClassNotFoundException("Failed to find NEWT Screen Class <"+type+".ScreenDriver>"); + throw new ClassNotFoundException("Failed to find NEWT Screen Class <"+type+".ScreenDriver>"); } return screenClass; } @@ -104,7 +104,7 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { if(!usrSizeQueried) { usrSizeQueried = true; final int w = Debug.getIntProperty("newt.ws.swidth", true, 0); - final int h = Debug.getIntProperty("newt.ws.sheight", true, 0); + final int h = Debug.getIntProperty("newt.ws.sheight", true, 0); if(w>0 && h>0) { usrSize = new Dimension(w, h); System.err.println("User screen size "+usrSize); @@ -135,7 +135,7 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { System.err.println("Screen.create() NEW: "+screen+" "+Display.getThreadName()); } return screen; - } + } } catch (Exception e) { throw new RuntimeException(e); } @@ -167,16 +167,16 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { @Override public synchronized final void createNative() throws NativeWindowException - { + { if(null == aScreen) { if(DEBUG) { tCreated = System.nanoTime(); System.err.println("Screen.createNative() START ("+DisplayImpl.getThreadName()+", "+this+")"); } else { tCreated = 0; - } + } display.addReference(); - + createNativeImpl(); if(null == aScreen) { throw new NativeWindowException("Screen.createNative() failed to instanciate an AbstractGraphicsScreen"); @@ -249,7 +249,7 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { protected abstract void createNativeImpl(); protected abstract void closeNativeImpl(); - + /** * Returns the validated screen index, which is either the passed idx * value or 0. @@ -258,23 +258,23 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { *

            */ protected abstract int validateScreenIndex(int idx); - + /** * Stores the virtual origin and virtual rotated screen size. *

            - * This method is called after the MonitorMode has been set or changed, + * This method is called after the MonitorMode has been set or changed, * hence you may utilize it. *

            *

            * Default implementation uses the union of all monitor's viewport, - * calculated via {@link #unionOfMonitorViewportSize()}. + * calculated via {@link #unionOfMonitorViewportSize()}. *

            * @param vOriginSize storage for result */ - protected void calcVirtualScreenOriginAndSize(final Rectangle vOriginSize) { + protected void calcVirtualScreenOriginAndSize(final Rectangle vOriginSize) { unionOfMonitorViewportSize(vOriginSize); } - + @Override public final String getFQName() { return fqname; @@ -335,15 +335,15 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { } // - // MonitorDevice and MonitorMode + // MonitorDevice and MonitorMode // - + /** * To be implemented by the native specification.
            * Is called within a thread safe environment.
            * Is called only to collect the {@link MonitorMode}s and {@link MonitorDevice}s, usually at startup setting up modes.
            *
            - * WARNING: must be synchronized with + * WARNING: must be synchronized with *
              *
            • {@link MonitorModeProps#NUM_SCREEN_MODE_PROPERTIES} and
            • *
            • {@link MonitorModeProps#MIN_MONITOR_DEVICE_PROPERTIES}
            • @@ -356,19 +356,19 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { * @param cache memory pool caching the result */ protected abstract void collectNativeMonitorModesAndDevicesImpl(MonitorModeProps.Cache cache); - + protected Rectangle getNativeMonitorDeviceViewportImpl(MonitorDevice monitor) { return null; } - + /** * To be implemented by the native specification.
              * Is called within a thread safe environment.
              *

              - * Implementation shall not unify the result w/ monitor's supported modes or a locally + * Implementation shall not unify the result w/ monitor's supported modes or a locally * saved {@link MonitorModeProps.Cache}, since caller will perform such tasks. *

              */ protected abstract MonitorMode queryCurrentMonitorModeImpl(MonitorDevice monitor); - + /** * To be implemented by the native specification.
              * Is called within a thread safe environment.
              @@ -378,13 +378,13 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { @Override public final List getMonitorModes() { final ScreenMonitorState sms = getScreenMonitorStatus(false); - return null != sms ? sms.getMonitorModes().getData() : null; + return null != sms ? sms.getMonitorModes().getData() : null; } - + @Override public final List getMonitorDevices() { final ScreenMonitorState sms = getScreenMonitorStatus(false); - return null != sms ? sms.getMonitorDevices().getData() : null; + return null != sms ? sms.getMonitorDevices().getData() : null; } final ScreenMonitorState getScreenMonitorStatus(boolean throwException) { @@ -395,7 +395,7 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { } return res; } - + @Override public void monitorModeChangeNotify(MonitorEvent me) { if(DEBUG) { @@ -417,9 +417,9 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { if( null != newViewport ) { monitor.setViewportValue(newViewport); } - } + } } - + @Override public void monitorModeChanged(MonitorEvent me, boolean success) { if(success) { @@ -443,9 +443,9 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { public synchronized final void removeMonitorModeListener(MonitorModeListener sml) { refMonitorModeListener.remove(sml); } - + /** - * + * * @param cache optional .. * @param modeId * @return @@ -468,7 +468,7 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { } /** - * + * * @param cache mandatory ! * @param monitorId * @param currentMode @@ -493,7 +493,7 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { } return MonitorModeProps.streamInMonitorDevice(null, cache, this, props, 0); } - + /** * Utilizes {@link #getCurrentMonitorModeImpl()}, if the latter returns null it uses * the current screen size and dummy values. @@ -530,7 +530,7 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { sms = ScreenMonitorState.getScreenMonitorState(this.getFQName()); if(null==sms) { final MonitorModeProps.Cache cache = new MonitorModeProps.Cache(); - if( 0 >= collectNativeMonitorModes(cache) ) { + if( 0 >= collectNativeMonitorModes(cache) ) { updateVirtualScreenOriginAndSize(); vScrnSizeUpdated = true; final MonitorMode mode = getVirtualMonitorMode(cache, 0); @@ -557,7 +557,7 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { System.err.println("["+i+"]["+j+"]: "+iMode.next()); } } - } + } sms = new ScreenMonitorState(cache.monitorDevices, cache.monitorModes); ScreenMonitorState.mapScreenMonitorState(this.getFQName(), sms); } @@ -580,7 +580,7 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { * Collects {@link MonitorDevice}s and {@link MonitorMode}s within the given cache. *

              */ - private final int collectNativeMonitorModes(MonitorModeProps.Cache cache) { + private final int collectNativeMonitorModes(MonitorModeProps.Cache cache) { if(!DEBUG_TEST_SCREENMODE_DISABLED) { collectNativeMonitorModesAndDevicesImpl(cache); } @@ -639,12 +639,12 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { } finally { sms.unlock(); } - } + } } finally { ScreenMonitorState.unlockScreenMonitorState(); } } - + private final void shutdown() { ScreenMonitorState sms = ScreenMonitorState.getScreenMonitorStateUnlocked(getFQName()); if(null != sms) { @@ -661,11 +661,11 @@ public abstract class ScreenImpl extends Screen implements MonitorModeListener { } } ScreenMonitorState.unmapScreenMonitorStateUnlocked(getFQName()); - } + } } - + /** pp */ static final void shutdownAll() { - final int sCount = screenList.size(); + final int sCount = screenList.size(); if(DEBUG) { System.err.println("Screen.shutdownAll "+sCount+" instances, on thread "+Display.getThreadName()); } diff --git a/src/newt/classes/jogamp/newt/ScreenMonitorState.java b/src/newt/classes/jogamp/newt/ScreenMonitorState.java index 66e75be16..01e6cfee9 100644 --- a/src/newt/classes/jogamp/newt/ScreenMonitorState.java +++ b/src/newt/classes/jogamp/newt/ScreenMonitorState.java @@ -42,7 +42,7 @@ import java.util.HashMap; public class ScreenMonitorState { private static boolean DEBUG = Screen.DEBUG; - + private final RecursiveLock lock = LockFactory.createRecursiveLock(); private final ArrayHashSet allMonitors; private final ArrayHashSet allMonitorModes; @@ -105,21 +105,21 @@ public class ScreenMonitorState { protected static void unlockScreenMonitorState() { screen2ScreenMonitorState.unlock(); } - + public ScreenMonitorState(ArrayHashSet allMonitors, ArrayHashSet allMonitorModes) { - this.allMonitors = allMonitors; + this.allMonitors = allMonitors; this.allMonitorModes = allMonitorModes; } - protected ArrayHashSet getMonitorDevices() { + protected ArrayHashSet getMonitorDevices() { return allMonitors; } - - protected ArrayHashSet getMonitorModes() { + + protected ArrayHashSet getMonitorModes() { return allMonitorModes; } - + protected final int addListener(MonitorModeListener l) { lock(); try { @@ -151,14 +151,14 @@ public class ScreenMonitorState { protected final MonitorDevice getMonitor(MonitorDevice monitor) { return allMonitors.get(monitor); } - + protected final void validateMonitor(MonitorDevice monitor) { final MonitorDevice md = allMonitors.get(monitor); if( null == md ) { throw new InternalError("Monitor unknown: "+monitor); } } - + protected final void fireMonitorModeChangeNotify(MonitorDevice monitor, MonitorMode desiredMode) { lock(); try { diff --git a/src/newt/classes/jogamp/newt/WindowImpl.java b/src/newt/classes/jogamp/newt/WindowImpl.java index a35d89408..a0ef8816b 100644 --- a/src/newt/classes/jogamp/newt/WindowImpl.java +++ b/src/newt/classes/jogamp/newt/WindowImpl.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt; @@ -87,19 +87,19 @@ import jogamp.nativewindow.SurfaceUpdatedHelper; public abstract class WindowImpl implements Window, NEWTEventConsumer { public static final boolean DEBUG_TEST_REPARENT_INCOMPATIBLE; - + static { Debug.initSingleton(); DEBUG_TEST_REPARENT_INCOMPATIBLE = Debug.isPropertyDefined("newt.test.Window.reparent.incompatible", true); - + ScreenImpl.initSingleton(); } - - protected static final ArrayList> windowList = new ArrayList>(); - + + protected static final ArrayList> windowList = new ArrayList>(); + /** Maybe utilized at a shutdown hook, impl. does not block. */ public static final void shutdownAll() { - final int wCount = windowList.size(); + final int wCount = windowList.size(); if(DEBUG_IMPLEMENTATION) { System.err.println("Window.shutdownAll "+wCount+" instances, on thread "+getThreadName()); } @@ -132,25 +132,25 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } } - + /** Timeout of queued events (repaint and resize) */ - static final long QUEUED_EVENT_TO = 1200; // ms + static final long QUEUED_EVENT_TO = 1200; // ms private static final PointerType[] constMousePointerTypes = new PointerType[] { PointerType.Mouse }; - + // // Volatile: Multithread Mutable Access - // + // private volatile long windowHandle = 0; // lifecycle critical private volatile boolean visible = false; // lifecycle critical - private volatile boolean hasFocus = false; + private volatile boolean hasFocus = false; private volatile int width = 128, height = 128; // client-area size w/o insets, default: may be overwritten by user private volatile int x = 64, y = 64; // client-area pos w/o insets private volatile Insets insets = new Insets(); // insets of decoration (if top-level && decorated) - + private RecursiveLock windowLock = LockFactory.createRecursiveLock(); // Window instance wide lock private int surfaceLockCount = 0; // surface lock recursion count - + private ScreenImpl screen; // never null after create - may change reference though (reparent) private boolean screenReferenceAdded = false; private NativeWindow parentWindow = null; @@ -162,7 +162,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer private List fullscreenMonitors = null; private boolean fullscreenUseMainMonitor = true; private boolean autoPosition = true; // default: true (allow WM to choose top-level position, if not set by user) - + private int nfs_width, nfs_height, nfs_x, nfs_y; // non fullscreen client-area size/pos w/o insets private NativeWindow nfs_parent = null; // non fullscreen parent, in case explicit reparenting is performed (offscreen) private String title = "Newt Window"; @@ -178,26 +178,26 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer private KeyListener keyboardFocusHandler = null; private SurfaceUpdatedHelper surfaceUpdatedHelper = new SurfaceUpdatedHelper(); - + private Object childWindowsLock = new Object(); private ArrayList childWindows = new ArrayList(); private ArrayList mouseListeners = new ArrayList(); - + /** from event passing: {@link WindowImpl#consumePointerEvent(MouseEvent)}. */ private static class PointerState0 { /** mouse entered window - is inside the window (may be synthetic) */ boolean insideWindow = false; - + /** last time when a mouse button was pressed */ long lastButtonPressTime = 0; - + void clearButton() { lastButtonPressTime = 0; } } private PointerState0 pState0 = new PointerState0(); - + /** from direct input: {@link WindowImpl#doPointerEvent(boolean, boolean, int[], short, int, int, boolean, short[], int[], int[], float[], float, float[], float)}. */ private static class PointerState1 extends PointerState0 { /** current pressed mouse button number */ @@ -206,15 +206,15 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer int buttonPressedMask = 0; /** last mouse button click count */ short lastButtonClickCount = (short)0; - + final void clearButton() { super.clearButton(); lastButtonPressTime = 0; - lastButtonClickCount = (short)0; + lastButtonClickCount = (short)0; buttonPressed = 0; - buttonPressedMask = 0; + buttonPressedMask = 0; } - + /** last pointer-move position for 8 touch-down pointers */ final Point[] movePositions = new Point[] { new Point(), new Point(), new Point(), new Point(), @@ -227,16 +227,16 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } private PointerState1 pState1 = new PointerState1(); - + /** pointer names -> pointer ID (consecutive index, starting w/ 0) */ private final ArrayHashSet pName2pID = new ArrayHashSet(); - + private boolean defaultGestureHandlerEnabled = true; private DoubleTapScrollGesture gesture2PtrTouchScroll = null; private ArrayList pointerGestureHandler = new ArrayList(); - + private ArrayList gestureListeners = new ArrayList(); - + private ArrayList keyListeners = new ArrayList(); private ArrayList windowListeners = new ArrayList(); @@ -267,7 +267,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer { final Class windowClass = NewtFactory.getCustomClass(type, "WindowDriver"); if(null==windowClass) { - throw new ClassNotFoundException("Failed to find NEWT Window Class <"+type+".WindowDriver>"); + throw new ClassNotFoundException("Failed to find NEWT Window Class <"+type+".WindowDriver>"); } return windowClass; } @@ -293,7 +293,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer throw new NativeWindowException(t); } } - + public static WindowImpl create(Object[] cstrArguments, Screen screen, CapabilitiesImmutable caps) { try { Class windowClass = getWindowClass(screen.getDisplay().getType()); @@ -329,11 +329,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer hasFocus = false; parentWindowHandle = 0; } - + protected final void setGraphicsConfiguration(AbstractGraphicsConfiguration cfg) { config = cfg; } - + public static interface LifecycleHook { /** * Reset of internal state counter, ie totalFrames, etc. @@ -341,8 +341,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer */ public abstract void resetCounter(); - /** - * Invoked after Window setVisible, + /** + * Invoked after Window setVisible, * allows allocating resources depending on the native Window. * Called from EDT while window is locked. */ @@ -354,9 +354,9 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer * @param value true to set the one-shot preservation if supported, otherwise clears it. */ void preserveGLStateAtDestroy(boolean value); - - /** - * Invoked before Window destroy action, + + /** + * Invoked before Window destroy action, * allows releasing of resources depending on the native Window.
              * Surface not locked yet.
              * Called not necessarily from EDT. @@ -388,12 +388,12 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer * @see #pauseRenderingAction() */ void resumeRenderingAction(); - + /** * Shutdown rendering action (thread) abnormally. *

              * Should be called only at shutdown, if necessary. - *

              + *

              */ void shutdownRenderingAction(); } @@ -406,14 +406,14 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } else { tStart = 0; } - - if( null != parentWindow && + + if( null != parentWindow && NativeSurface.LOCK_SURFACE_NOT_READY >= parentWindow.lockSurface() ) { throw new NativeWindowException("Parent surface lock: not ready: "+parentWindow); } - + // child window: position defaults to 0/0, no auto position, no negative position - if( null != parentWindow && ( autoPosition || 0>getX() || 0>getY() ) ) { + if( null != parentWindow && ( autoPosition || 0>getX() || 0>getY() ) ) { definePosition(0, 0); } boolean postParentlockFocus = false; @@ -556,28 +556,28 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer /** * Notifies the driver impl. that the instantiation is finished, - * ie. instance created and all fields set. + * ie. instance created and all fields set. */ protected void instantiationFinished() { // nop } - + protected boolean canCreateNativeImpl() { return true; // default: always able to be created } - - /** + + /** * The native implementation must set the native windowHandle.
              * *

              * The implementation shall respect the states {@link #isAlwaysOnTop()}/{@link #FLAG_IS_ALWAYSONTOP} and * {@link #isUndecorated()}/{@link #FLAG_IS_UNDECORATED}, ie. the created window shall reflect those settings. *

              - * + * *

              * The implementation should invoke the referenced java state callbacks * to notify this Java object of state changes.

              - * + * * @see #windowDestroyNotify(boolean) * @see #focusChanged(boolean, boolean) * @see #visibleChanged(boolean, boolean) @@ -589,16 +589,16 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer protected abstract void closeNativeImpl(); - /** + /** * Async request which shall be performed within {@link #TIMEOUT_NATIVEWINDOW}. *

              - * If if force == false the native implementation + * If if force == false the native implementation * may only request focus if not yet owner.

              *

              * {@link #focusChanged(boolean, boolean)} should be called - * to notify about the focus traversal. - *

              - * + * to notify about the focus traversal. + *

              + * * @param force if true, bypass {@link #focusChanged(boolean, boolean)} and force focus request */ protected abstract void requestFocusImpl(boolean force); @@ -608,7 +608,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public static final int FLAG_CHANGE_FULLSCREEN = 1 << 2; public static final int FLAG_CHANGE_ALWAYSONTOP = 1 << 3; public static final int FLAG_CHANGE_VISIBILITY = 1 << 4; - + public static final int FLAG_HAS_PARENT = 1 << 8; public static final int FLAG_IS_UNDECORATED = 1 << 9; public static final int FLAG_IS_FULLSCREEN = 1 << 10; @@ -619,12 +619,12 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer /** * The native implementation should invoke the referenced java state callbacks * to notify this Java object of state changes. - * + * *

              * Implementations shall set x/y to 0, in case it's negative. This could happen due * to insets and positioning a decorated window to 0/0, which would place the frame * outside of the screen.

              - * + * * @param x client-area position, or <0 if unchanged * @param y client-area position, or <0 if unchanged * @param width client-area size, or <=0 if unchanged @@ -635,12 +635,12 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer * @see #positionChanged(boolean,int, int) */ protected abstract boolean reconfigureWindowImpl(int x, int y, int width, int height, int flags); - - /** + + /** * Tests whether a single reconfigure flag is supported by implementation. *

              * Default is all but {@link #FLAG_IS_FULLSCREEN_SPAN} - *

              + *

              */ protected boolean isReconfigureFlagSupported(int changeFlags) { return 0 == ( changeFlags & FLAG_IS_FULLSCREEN_SPAN ); @@ -656,14 +656,14 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer protected static String getReconfigureFlagsAsString(StringBuilder sb, int flags) { if(null == sb) { sb = new StringBuilder(); } sb.append("["); - + if( 0 != ( FLAG_CHANGE_PARENTING & flags) ) { sb.append("*"); } sb.append("PARENT_"); sb.append(0 != ( FLAG_HAS_PARENT & flags)); sb.append(", "); - + if( 0 != ( FLAG_CHANGE_FULLSCREEN & flags) ) { sb.append("*"); } @@ -679,24 +679,24 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer sb.append("UNDECOR_"); sb.append(0 != ( FLAG_IS_UNDECORATED & flags)); sb.append(", "); - + if( 0 != ( FLAG_CHANGE_ALWAYSONTOP & flags) ) { sb.append("*"); } sb.append("ALWAYSONTOP_"); sb.append(0 != ( FLAG_IS_ALWAYSONTOP & flags)); sb.append(", "); - + if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) ) { sb.append("*"); } sb.append("VISIBLE_"); sb.append(0 != ( FLAG_IS_VISIBLE & flags)); - + sb.append("]"); return sb.toString(); } - + protected void setTitleImpl(String title) {} /** @@ -713,11 +713,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer * @return if not null, the screen location of the given coordinates */ protected abstract Point getLocationOnScreenImpl(int x, int y); - + /** Triggered by user via {@link #getInsets()}.
              - * Implementations may implement this hook to update the insets.
              + * Implementations may implement this hook to update the insets.
              * However, they may prefer the event driven path via {@link #insetsChanged(boolean, int, int, int, int)}. - * + * * @see #getInsets() * @see #insetsChanged(boolean, int, int, int, int) */ @@ -726,7 +726,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer protected boolean setPointerVisibleImpl(boolean pointerVisible) { return false; } protected boolean confinePointerImpl(boolean confine) { return false; } protected void warpPointerImpl(int x, int y) { } - + //---------------------------------------------------------------------- // NativeSurface // @@ -791,7 +791,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public final RecursiveLock getLock() { return windowLock; } - + @Override public long getSurfaceHandle() { return windowHandle; // default: return window handle @@ -810,7 +810,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer @Override public final long getDisplayHandle() { return config.getNativeGraphicsConfiguration().getScreen().getDevice().getHandle(); - } + } @Override public final int getScreenIndex() { @@ -879,19 +879,19 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public final Screen getScreen() { return screen; } - + @Override public final MonitorDevice getMainMonitor() { return screen.getMainMonitor(new Rectangle(getX(), getY(), getWidth(), getHeight())); } - + protected final void setVisibleImpl(boolean visible, int x, int y, int width, int height) { - reconfigureWindowImpl(x, y, width, height, getReconfigureFlags(FLAG_CHANGE_VISIBILITY, visible)); - } + reconfigureWindowImpl(x, y, width, height, getReconfigureFlags(FLAG_CHANGE_VISIBILITY, visible)); + } final void setVisibleActionImpl(boolean visible) { boolean nativeWindowCreated = false; boolean madeVisible = false; - + final RecursiveLock _lock = windowLock; _lock.lock(); try { @@ -911,7 +911,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer madeVisible = nativeWindowCreated; } // always flag visible, allowing a retry .. - WindowImpl.this.visible = true; + WindowImpl.this.visible = true; } else if(WindowImpl.this.visible != visible) { if(isNativeValid()) { setVisibleImpl(visible, getX(), getY(), getWidth(), getHeight()); @@ -965,14 +965,14 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer if(DEBUG_IMPLEMENTATION) { System.err.println("Window setVisible: START ("+getThreadName()+") "+getX()+"/"+getY()+" "+getWidth()+"x"+getHeight()+", fs "+fullscreen+", windowHandle "+toHexString(windowHandle)+", visible: "+this.visible+" -> "+visible+", parentWindowHandle "+toHexString(parentWindowHandle)+", parentWindow "+(null!=parentWindow)); } - runOnEDTIfAvail(wait, new VisibleAction(visible)); + runOnEDTIfAvail(wait, new VisibleAction(visible)); } @Override public void setVisible(boolean visible) { setVisible(true, visible); } - + private class SetSizeAction implements Runnable { int width, height; boolean disregardFS; @@ -1024,11 +1024,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer private void setFullscreenSize(int width, int height) { runOnEDTIfAvail(true, new SetSizeAction(width, height, true)); - } + } @Override public void setSize(int width, int height) { runOnEDTIfAvail(true, new SetSizeAction(width, height, false)); - } + } @Override public void setTopLevelSize(int width, int height) { setSize(width - getInsets().getTotalWidth(), height - getInsets().getTotalHeight()); @@ -1049,10 +1049,10 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer if(DEBUG_IMPLEMENTATION) { System.err.println("Window DestroyAction() hasScreen "+(null != screen)+", isNativeValid "+isNativeValid()+" - "+getThreadName()); } - + // send synced destroy-notify notification sendWindowEvent(WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY); - + // Childs first .. synchronized(childWindowsLock) { if(childWindows.size()>0) { @@ -1111,30 +1111,30 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer if(animatorPaused) { lifecycleHook.resumeRenderingAction(); } - + // these refs shall be kept alive - resurrection via setVisible(true) /** if(null!=parentWindow && parentWindow instanceof Window) { ((Window)parentWindow).removeChild(WindowImpl.this); - } + } childWindows = null; surfaceUpdatedListeners = null; mouseListeners = null; keyListeners = null; capsRequested = null; lifecycleHook = null; - - screen = null; + + screen = null; windowListeners = null; parentWindow = null; - */ + */ } } private final DestroyAction destroyAction = new DestroyAction(); @Override public void destroy() { - visible = false; // Immediately mark synchronized visibility flag, avoiding possible recreation + visible = false; // Immediately mark synchronized visibility flag, avoiding possible recreation runOnEDTIfAvail(true, destroyAction); } @@ -1144,15 +1144,15 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } destroy(); } - + /** * @param cWin child window, must not be null * @param pWin parent window, may be null - * @return true if at least one of both window's configurations is offscreen + * @return true if at least one of both window's configurations is offscreen */ protected static boolean isOffscreenInstance(NativeWindow cWin, NativeWindow pWin) { boolean ofs = false; - final AbstractGraphicsConfiguration cWinCfg = cWin.getGraphicsConfiguration(); + final AbstractGraphicsConfiguration cWinCfg = cWin.getGraphicsConfiguration(); if( null != cWinCfg ) { ofs = !cWinCfg.getChosenCapabilities().isOnscreen(); } @@ -1164,7 +1164,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } return ofs; } - + private class ReparentAction implements Runnable { final NativeWindow newParentWindow; final int topLevelX, topLevelY; @@ -1187,7 +1187,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer removeScreenReference(); screen = newScreen; } - + public final void run() { boolean animatorPaused = false; if(null!=lifecycleHook) { @@ -1198,7 +1198,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer lifecycleHook.resumeRenderingAction(); } } - + private void reparent() { // mirror pos/size so native change notification can get overwritten final int oldX = getX(); @@ -1209,7 +1209,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer int width = oldWidth; int height = oldHeight; boolean wasVisible; - + final RecursiveLock _lock = windowLock; _lock.lock(); try { @@ -1217,7 +1217,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer // force recreation if offscreen, since it may become onscreen forceDestroyCreate |= isOffscreenInstance(WindowImpl.this, newParentWindow); } - + wasVisible = isVisible(); Window newParentWindowNEWT = null; @@ -1233,7 +1233,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer if(null!=newParentWindow) { // REPARENT TO CHILD WINDOW - + // reset position to 0/0 within parent space x = 0; y = 0; @@ -1278,7 +1278,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer operation = ReparentOperation.ACTION_NATIVE_CREATION_PENDING; } } else if ( forceDestroyCreate || !NewtFactory.isScreenCompatible(newParentWindow, screen) ) { - // Destroy this window, may create a new compatible Screen/Display, while trying to preserve resources if becoming visible again. + // Destroy this window, may create a new compatible Screen/Display, while trying to preserve resources if becoming visible again. destroy( wasVisible ); if(null!=newParentWindowNEWT) { setScreen( (ScreenImpl) newParentWindowNEWT.getScreen() ); @@ -1333,11 +1333,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer if ( ReparentOperation.ACTION_INVALID == operation ) { throw new NativeWindowException("Internal Error: reparentAction not set"); } - + if(DEBUG_IMPLEMENTATION) { System.err.println("Window.reparent: ACTION ("+getThreadName()+") windowHandle "+toHexString(windowHandle)+" new parentWindowHandle "+toHexString(newParentWindowHandle)+", reparentAction "+operation+", pos/size "+x+"/"+y+" "+width+"x"+height+", visible "+wasVisible); } - + if( ReparentOperation.ACTION_NOP == operation ) { return; } @@ -1401,18 +1401,18 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } if(ok) { requestFocusInt( 0 == parentWindowHandle /* skipFocusAction if top-level */); - display.dispatchMessagesNative(); // status up2date + display.dispatchMessagesNative(); // status up2date } } } if(!ok || !wasVisible) { - // make size and position persistent manual, + // make size and position persistent manual, // since we don't have a WM feedback (invisible or recreation) definePosition(x, y); defineSize(width, height); } - + if(!ok) { // native reparent failed -> try creation, while trying to preserve resources if becoming visible again. if(DEBUG_IMPLEMENTATION) { @@ -1430,7 +1430,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer definePosition(x, y); defineSize(width, height); } - + if(DEBUG_IMPLEMENTATION) { System.err.println("Window.reparent: END-1 ("+getThreadName()+") windowHandle "+toHexString(windowHandle)+", visible: "+visible+", parentWindowHandle "+toHexString(parentWindowHandle)+", parentWindow "+ Display.hashCodeNullSafe(parentWindow)+" "+getX()+"/"+getY()+" "+getWidth()+"x"+getHeight()); } @@ -1451,7 +1451,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer // This may run on the new Display/Screen connection, hence a new EDT task runOnEDTIfAvail(true, reparentActionRecreate); break; - + default: } } @@ -1566,7 +1566,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer if(WindowImpl.this.alwaysOnTop != alwaysOnTop) { // set current state WindowImpl.this.alwaysOnTop = alwaysOnTop; - + if( isNativeValid() ) { // Mirror pos/size so native change notification can get overwritten final int x = getX(); @@ -1591,12 +1591,12 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public final void setAlwaysOnTop(boolean value) { runOnEDTIfAvail(true, new AlwaysOnTopAction(value)); } - + @Override public final boolean isAlwaysOnTop() { return alwaysOnTop; } - + @Override public String getTitle() { return title; @@ -1624,7 +1624,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer setVal = setPointerVisibleImpl(pointerVisible); } if(setVal) { - this.pointerVisible = pointerVisible; + this.pointerVisible = pointerVisible; } } } @@ -1632,7 +1632,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public boolean isPointerConfined() { return pointerConfined; } - + @Override public void confinePointer(boolean confine) { if(this.pointerConfined != confine) { @@ -1652,18 +1652,18 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } if(setVal) { - this.pointerConfined = confine; + this.pointerConfined = confine; } - } + } } - + @Override public void warpPointer(int x, int y) { if(0 != getWindowHandle()) { warpPointerImpl(x, y); } } - + @Override public final InsetsImmutable getInsets() { if(isUndecorated()) { @@ -1672,7 +1672,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer updateInsetsImpl(insets); return insets; } - + @Override public final int getWidth() { return width; @@ -1694,8 +1694,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } protected final boolean autoPosition() { return autoPosition; } - - /** Sets the position fields {@link #x} and {@link #y} to the given values and {@link #autoPosition} to false. */ + + /** Sets the position fields {@link #x} and {@link #y} to the given values and {@link #autoPosition} to false. */ protected final void definePosition(int x, int y) { if(DEBUG_IMPLEMENTATION) { System.err.println("definePosition: "+this.x+"/"+this.y+" -> "+x+"/"+y); @@ -1705,7 +1705,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer this.x = x; this.y = y; } - /** Sets the size fields {@link #width} and {@link #height} to the given values. */ + /** Sets the size fields {@link #width} and {@link #height} to the given values. */ protected final void defineSize(int width, int height) { if(DEBUG_IMPLEMENTATION) { System.err.println("defineSize: "+this.width+"x"+this.height+" -> "+width+"x"+height); @@ -1713,7 +1713,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } this.width = width; this.height = height; } - + @Override public final boolean isVisible() { return visible; @@ -1732,7 +1732,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public final Window getDelegatedWindow() { return this; } - + //---------------------------------------------------------------------- // WindowImpl // @@ -1755,8 +1755,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer return old; } - /** - * If this Window actually wraps a {@link NativeSurface} from another instance or toolkit, + /** + * If this Window actually wraps a {@link NativeSurface} from another instance or toolkit, * it will return such reference. Otherwise returns null. */ public NativeSurface getWrappedSurface() { @@ -1768,13 +1768,13 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer windowDestroyNotifyAction = r; } - /** - * Returns the non delegated {@link AbstractGraphicsConfiguration}, + /** + * Returns the non delegated {@link AbstractGraphicsConfiguration}, * see {@link #getGraphicsConfiguration()}. */ public final AbstractGraphicsConfiguration getPrivateGraphicsConfiguration() { return config; } - + protected final long getParentWindowHandle() { return isFullscreen() ? 0 : parentWindowHandle; } @@ -1864,7 +1864,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public void requestFocus(boolean wait) { requestFocus(wait /* wait */, false /* skipFocusAction */, brokenFocusChange /* force */); } - + private void requestFocus(boolean wait, boolean skipFocusAction, boolean force) { if( isNativeValid() && ( force || !hasFocus() ) && @@ -1872,7 +1872,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer runOnEDTIfAvail(wait, force ? requestFocusActionForced : requestFocusAction); } } - + /** Internally forcing request focus on current thread */ private void requestFocusInt(boolean skipFocusAction) { if( skipFocusAction || !focusAction() ) { @@ -1880,14 +1880,14 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer System.err.println("Window.RequestFocusInt: forcing - ("+getThreadName()+"): skipFocusAction "+skipFocusAction+", focus "+hasFocus+" -> true - windowHandle "+toHexString(windowHandle)+" parentWindowHandle "+toHexString(parentWindowHandle)); } requestFocusImpl(true); - } + } } - + @Override public void setFocusAction(FocusRunnable focusAction) { this.focusAction = focusAction; } - + private boolean focusAction() { if(DEBUG_IMPLEMENTATION) { System.err.println("Window.focusAction() START - "+getThreadName()+", focusAction: "+focusAction+" - windowHandle "+toHexString(getWindowHandle())); @@ -1903,16 +1903,16 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } return res; } - + protected void setBrokenFocusChange(boolean v) { brokenFocusChange = v; } - + @Override public void setKeyboardFocusHandler(KeyListener l) { keyboardFocusHandler = l; } - + private class SetPositionAction implements Runnable { int x, y; @@ -1932,7 +1932,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer if(isNativeValid()) { // this.x/this.y will be set by sizeChanged, triggered by windowing event system reconfigureWindowImpl(x, y, getWidth(), getHeight(), getReconfigureFlags(0, isVisible())); - + // Wait until custom position is reached within tolerances waitForPosition(true, x, y, Window.TIMEOUT_NATIVEWINDOW); } else { @@ -1950,16 +1950,16 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer autoPosition = false; runOnEDTIfAvail(true, new SetPositionAction(x, y)); } - + @Override public void setTopLevelPosition(int x, int y) { setPosition(x + getInsets().getLeftWidth(), y + getInsets().getTopHeight()); } - + private class FullScreenAction implements Runnable { boolean fullscreen; - private boolean init(boolean fullscreen) { + private boolean init(boolean fullscreen) { if(isNativeValid()) { this.fullscreen = fullscreen; return isFullscreen() != fullscreen; @@ -1967,7 +1967,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer WindowImpl.this.fullscreen = fullscreen; // set current state for createNative(..) return false; } - } + } public boolean fsOn() { return fullscreen; } public final void run() { @@ -1981,9 +1981,9 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer final int oldY = getY(); final int oldWidth = getWidth(); final int oldHeight = getHeight(); - + int x,y,w,h; - + final RectangleImmutable sviewport = screen.getViewport(); final RectangleImmutable viewport; final int fs_span_flag; @@ -2007,7 +2007,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer nfs_y = oldY; nfs_width = oldWidth; nfs_height = oldHeight; - x = viewport.getX(); + x = viewport.getX(); y = viewport.getY(); w = viewport.getWidth(); h = viewport.getHeight(); @@ -2020,12 +2020,12 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer y = nfs_y; w = nfs_width; h = nfs_height; - + if(null!=parentWindow) { // reset position to 0/0 within parent space x = 0; y = 0; - + // refit if size is bigger than parent if( w > parentWindow.getWidth() ) { w = parentWindow.getWidth(); @@ -2044,7 +2044,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer final DisplayImpl display = (DisplayImpl) screen.getDisplay(); display.dispatchMessagesNative(); // status up2date final boolean wasVisible = isVisible(); - + // Lock parentWindow only during reparenting (attempt) final NativeWindow parentWindowLocked; if( null != parentWindow ) { @@ -2065,8 +2065,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer parentWindowLocked = null; } try { - reconfigureWindowImpl(x, y, w, h, - getReconfigureFlags( ( ( null != parentWindowLocked ) ? FLAG_CHANGE_PARENTING : 0 ) | + reconfigureWindowImpl(x, y, w, h, + getReconfigureFlags( ( ( null != parentWindowLocked ) ? FLAG_CHANGE_PARENTING : 0 ) | fs_span_flag | FLAG_CHANGE_FULLSCREEN | FLAG_CHANGE_DECORATION, isVisible()) ); } finally { if(null!=parentWindowLocked) { @@ -2074,7 +2074,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } display.dispatchMessagesNative(); // status up2date - + if(wasVisible) { setVisibleImpl(true, x, y, w, h); boolean ok = 0 <= WindowImpl.this.waitForVisible(true, false); @@ -2086,7 +2086,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } if(ok) { requestFocusInt(fullscreen /* skipFocusAction if fullscreen */); - display.dispatchMessagesNative(); // status up2date + display.dispatchMessagesNative(); // status up2date } if(DEBUG_IMPLEMENTATION) { System.err.println("Window fs done: ok " + ok + ", " + WindowImpl.this); @@ -2098,24 +2098,24 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer sendWindowEvent(WindowEvent.EVENT_WINDOW_RESIZED); // trigger a resize/relayout and repaint to listener } } - private final FullScreenAction fullScreenAction = new FullScreenAction(); + private final FullScreenAction fullScreenAction = new FullScreenAction(); @Override public boolean setFullscreen(boolean fullscreen) { return setFullscreenImpl(fullscreen, true, null); } - + @Override public boolean setFullscreen(List monitors) { return setFullscreenImpl(true, false, monitors); } - + private boolean setFullscreenImpl(boolean fullscreen, boolean useMainMonitor, List monitors) { synchronized(fullScreenAction) { fullscreenMonitors = monitors; fullscreenUseMainMonitor = useMainMonitor; if( fullScreenAction.init(fullscreen) ) { - if(fullScreenAction.fsOn() && isOffscreenInstance(WindowImpl.this, parentWindow)) { + if(fullScreenAction.fsOn() && isOffscreenInstance(WindowImpl.this, parentWindow)) { // enable fullscreen on offscreen instance if(null != parentWindow) { nfs_parent = parentWindow; @@ -2124,19 +2124,19 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer throw new InternalError("Offscreen instance w/o parent unhandled"); } } - + runOnEDTIfAvail(true, fullScreenAction); - + if(!fullScreenAction.fsOn() && null != nfs_parent) { // disable fullscreen on offscreen instance reparentWindow(nfs_parent, -1, -1, true /* forceDestroyCreate */); nfs_parent = null; } } - return this.fullscreen; + return this.fullscreen; } } - + private class MonitorModeListenerImpl implements MonitorModeListener { boolean animatorPaused = false; boolean hadFocus = false; @@ -2226,7 +2226,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer //---------------------------------------------------------------------- // Child Window Management - // + // @Override public final boolean removeChild(NativeWindow win) { @@ -2282,7 +2282,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer if(DEBUG_IMPLEMENTATION) { System.err.println("Window.consumeEvent: REPAINT "+Thread.currentThread().getName()+" - queued "+e+", discard-to "+discardTO); // Thread.dumpStack(); - } + } return discardTO; // discardTO:=true -> consumed } return true; @@ -2343,11 +2343,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer // // MouseListener/Event Support // - + // // Native MouseEvents pre-processed to be enqueued or consumed directly // - + public final void sendMouseEvent(short eventType, int modifiers, int x, int y, short button, float rotation) { doMouseEvent(false, false, eventType, modifiers, x, y, button, MouseEvent.getRotationXYZ(rotation, modifiers), 1f); @@ -2369,11 +2369,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer int x, int y, short button, float[] rotationXYZ, float rotationScale) { doMouseEvent(true, wait, eventType, modifiers, x, y, button, rotationXYZ, rotationScale); } */ - + /** * Send mouse event (one-pointer) either to be directly consumed or to be enqueued - * - * @param enqueue if true, event will be {@link #enqueueEvent(boolean, NEWTEvent) enqueued}, + * + * @param enqueue if true, event will be {@link #enqueueEvent(boolean, NEWTEvent) enqueued}, * otherwise {@link #consumeEvent(NEWTEvent) consumed} directly. * @param wait if true wait until {@link #consumeEvent(NEWTEvent) consumed}. */ @@ -2383,7 +2383,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer throw new NativeWindowException("Invalid mouse button number" + button); } doPointerEvent(enqueue, wait, constMousePointerTypes, eventType, modifiers, - 0 /*actionIdx*/, new short[] { (short)(button-1) }, + 0 /*actionIdx*/, new short[] { (short)(button-1) }, new int[]{x}, new int[]{y}, new float[]{0f} /*pressure*/, 1f /*maxPressure*/, rotationXYZ, rotationScale); } @@ -2396,11 +2396,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer *

              *

              * The given pointer names, pNames, are mapped to consecutive pointer IDs starting w/ 0 - * using a hash-map if normalPNames is false. - * Otherwise a simple int to short type cast is performed. + * using a hash-map if normalPNames is false. + * Otherwise a simple int to short type cast is performed. *

              - * - * @param enqueue if true, event will be {@link #enqueueEvent(boolean, NEWTEvent) enqueued}, + * + * @param enqueue if true, event will be {@link #enqueueEvent(boolean, NEWTEvent) enqueued}, * otherwise {@link #consumeEvent(NEWTEvent) consumed} directly. * @param wait if true wait until {@link #consumeEvent(NEWTEvent) consumed}. * @param pTypes {@link MouseEvent.PointerType} for each pointer (multiple pointer) @@ -2410,14 +2410,14 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer * @param normalPNames see pName below. * @param pNames Pointer name for each pointer (multiple pointer). * We assume consecutive pointer names starting w/ 0 if normalPIDs is true. - * Otherwise we hash-map the values during state pressed to retrieve the normal ID. + * Otherwise we hash-map the values during state pressed to retrieve the normal ID. * @param pX X-axis for each pointer (multiple pointer) * @param pY Y-axis for each pointer (multiple pointer) * @param pPressure Pressure for each pointer (multiple pointer) * @param maxPressure Maximum pointer pressure for all pointer */ public final void doPointerEvent(boolean enqueue, boolean wait, - final PointerType[] pTypes, short eventType, int modifiers, + final PointerType[] pTypes, short eventType, int modifiers, int actionIdx, boolean normalPNames, final int[] pNames, final int[] pX, final int[] pY, float[] pPressure, float maxPressure, final float[] rotationXYZ, final float rotationScale) { @@ -2447,25 +2447,25 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer pIDs[i] = (short)pNames[i]; } } - doPointerEvent(enqueue, wait, pTypes, eventType, modifiers, actionIdx, pIDs, + doPointerEvent(enqueue, wait, pTypes, eventType, modifiers, actionIdx, pIDs, pX, pY, pPressure, maxPressure, rotationXYZ, rotationScale); } - + /** * Send multiple-pointer event either to be directly consumed or to be enqueued *

              * The index for the element of multiple-pointer arrays represents the pointer which triggered the event * is passed via actionIdx. - *

              - * - * @param enqueue if true, event will be {@link #enqueueEvent(boolean, NEWTEvent) enqueued}, + *

              + * + * @param enqueue if true, event will be {@link #enqueueEvent(boolean, NEWTEvent) enqueued}, * otherwise {@link #consumeEvent(NEWTEvent) consumed} directly. * @param wait if true wait until {@link #consumeEvent(NEWTEvent) consumed}. * @param pTypes {@link MouseEvent.PointerType} for each pointer (multiple pointer) * @param eventType * @param modifiers * @param pActionIdx index of multiple-pointer arrays representing the pointer which triggered the event - * @param pID Pointer ID for each pointer (multiple pointer). We assume consecutive pointerIDs starting w/ 0. + * @param pID Pointer ID for each pointer (multiple pointer). We assume consecutive pointerIDs starting w/ 0. * A pointer-ID of -1 may also denote no pointer/button activity, i.e. {@link PointerType#Mouse} move. * @param pX X-axis for each pointer (multiple pointer) * @param pY Y-axis for each pointer (multiple pointer) @@ -2473,14 +2473,14 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer * @param maxPressure Maximum pointer pressure for all pointer */ public final void doPointerEvent(boolean enqueue, boolean wait, - final PointerType[] pTypes, short eventType, int modifiers, + final PointerType[] pTypes, short eventType, int modifiers, int pActionIdx, final short[] pID, final int[] pX, final int[] pY, final float[] pPressure, float maxPressure, final float[] rotationXYZ, float rotationScale) { final long when = System.currentTimeMillis(); final int pCount = pTypes.length; - + if( 0 > pActionIdx || pActionIdx >= pCount) { - throw new IllegalArgumentException("actionIdx out of bounds [0.."+(pCount-1)+"]"); + throw new IllegalArgumentException("actionIdx out of bounds [0.."+(pCount-1)+"]"); } if( 0 < pActionIdx ) { // swap values to make idx 0 the triggering pointer @@ -2518,11 +2518,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer button = com.jogamp.newt.event.MouseEvent.BUTTON1; } } - + // // - Determine ENTERED/EXITED state // - Remove redundant move/drag events - // - Reset states if applicable + // - Reset states if applicable // int x = pX[0]; int y = pY[0]; @@ -2537,7 +2537,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer movePositionP0.set(0, 0); } // Fall through intended! - + case MouseEvent.EVENT_MOUSE_ENTERED: // clip coordinates to window dimension x = Math.min(Math.max(x, 0), getWidth()-1); @@ -2545,11 +2545,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer pState1.insideWindow = eventType == MouseEvent.EVENT_MOUSE_ENTERED; pState1.clearButton(); break; - + case MouseEvent.EVENT_MOUSE_MOVED: case MouseEvent.EVENT_MOUSE_DRAGGED: if( null != movePositionP0 ) { - if( pState1.insideWindow && movePositionP0.getX() == x && movePositionP0.getY() == y ) { + if( pState1.insideWindow && movePositionP0.getX() == x && movePositionP0.getY() == y ) { if(DEBUG_MOUSE_EVENT) { System.err.println("doPointerEvent: skip "+MouseEvent.getEventTypeString(eventType)+" w/ same position: "+movePositionP0); } @@ -2557,16 +2557,16 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } movePositionP0.set(x, y); } - + // Fall through intended ! - + default: if(!pState1.insideWindow) { - pState1.insideWindow = true; + pState1.insideWindow = true; pState1.clearButton(); } } - + if( x < 0 || y < 0 || x >= getWidth() || y >= getHeight() ) { if(DEBUG_MOUSE_EVENT) { System.err.println("doPointerEvent: drop: "+MouseEvent.getEventTypeString(eventType)+ @@ -2582,29 +2582,29 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer final int buttonMask = InputEvent.getButtonMask(button); modifiers |= buttonMask; // Always add current button to modifier mask (Bug 571) modifiers |= pState1.buttonPressedMask; // Always add currently pressed mouse buttons to modifier mask - + if( isPointerConfined() ) { modifiers |= InputEvent.CONFINED_MASK; } if( !isPointerVisible() ) { modifiers |= InputEvent.INVISIBLE_MASK; } - + pX[0] = x; pY[0] = y; - + // // - Determine CLICK COUNT // - Ignore sent CLICKED // - Track buttonPressed incl. buttonPressedMask // - Fix MOVED/DRAGGED event // - final MouseEvent e; + final MouseEvent e; switch( eventType ) { case MouseEvent.EVENT_MOUSE_CLICKED: e = null; break; - + case MouseEvent.EVENT_MOUSE_PRESSED: if( 0 >= pPressure[0] ) { pPressure[0] = maxPressure; @@ -2618,16 +2618,16 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } pState1.lastButtonPressTime = when; pState1.buttonPressed = button; - e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, + e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, pX, pY, pPressure, maxPressure, button, pState1.lastButtonClickCount, rotationXYZ, rotationScale); } else { - e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, + e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, pX, pY, pPressure, maxPressure, button, (short)1, rotationXYZ, rotationScale); } break; case MouseEvent.EVENT_MOUSE_RELEASED: if( 1 == pCount ) { - e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, + e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, pX, pY, pPressure, maxPressure, button, pState1.lastButtonClickCount, rotationXYZ, rotationScale); if( when - pState1.lastButtonPressTime >= MouseEvent.getClickTimeout() ) { pState1.lastButtonClickCount = (short)0; @@ -2635,7 +2635,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } pState1.buttonPressed = 0; } else { - e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, + e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, pX, pY, pPressure, maxPressure, button, (short)1, rotationXYZ, rotationScale); } pState1.buttonPressedMask &= ~buttonMask; @@ -2645,10 +2645,10 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer break; case MouseEvent.EVENT_MOUSE_MOVED: if ( 0 != pState1.buttonPressedMask ) { // any button or pointer move -> drag - e = new MouseEvent(MouseEvent.EVENT_MOUSE_DRAGGED, this, when, modifiers, pTypes, pID, + e = new MouseEvent(MouseEvent.EVENT_MOUSE_DRAGGED, this, when, modifiers, pTypes, pID, pX, pY, pPressure, maxPressure, pState1.buttonPressed, (short)1, rotationXYZ, rotationScale); } else { - e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, + e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, pX, pY, pPressure, maxPressure, button, (short)0, rotationXYZ, rotationScale); } break; @@ -2658,12 +2658,12 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } // Fall through intended! default: - e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, + e = new MouseEvent(eventType, this, when, modifiers, pTypes, pID, pX, pY, pPressure, maxPressure, button, (short)0, rotationXYZ, rotationScale); } doEvent(enqueue, wait, e); // actual mouse event } - + @Override public final void addMouseListener(MouseListener l) { addMouseListener(-1, l); @@ -2676,8 +2676,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } @SuppressWarnings("unchecked") ArrayList clonedListeners = (ArrayList) mouseListeners.clone(); - if(0>index) { - index = clonedListeners.size(); + if(0>index) { + index = clonedListeners.size(); } clonedListeners.add(index, l); mouseListeners = clonedListeners; @@ -2698,8 +2698,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public final MouseListener getMouseListener(int index) { @SuppressWarnings("unchecked") ArrayList clonedListeners = (ArrayList) mouseListeners.clone(); - if(0>index) { - index = clonedListeners.size()-1; + if(0>index) { + index = clonedListeners.size()-1; } return clonedListeners.get(index); } @@ -2717,7 +2717,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public final boolean areDefaultGesturesEnabled() { return defaultGestureHandlerEnabled; } - + @Override public final void addGestureHandler(GestureHandler gh) { addGestureHandler(-1, gh); @@ -2729,7 +2729,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } @SuppressWarnings("unchecked") ArrayList cloned = (ArrayList) pointerGestureHandler.clone(); - if(0>index) { + if(0>index) { index = cloned.size(); } cloned.add(index, gh); @@ -2756,7 +2756,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } @SuppressWarnings("unchecked") ArrayList cloned = (ArrayList) gestureListeners.clone(); - if(0>index) { + if(0>index) { index = cloned.size(); } cloned.add(index, gl); @@ -2772,11 +2772,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer cloned.remove(gl); gestureListeners= cloned; } - + private static int step(int lower, int edge, int value) { return value < edge ? lower : value; } - + /** * Consume the {@link MouseEvent}, i.e. *
              @@ -2786,18 +2786,18 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer
                    *   - dispatch event to listener
                    * 
              */ - protected void consumePointerEvent(MouseEvent pe) { + protected void consumePointerEvent(MouseEvent pe) { int x = pe.getX(); int y = pe.getY(); - + if(DEBUG_MOUSE_EVENT) { System.err.println("consumePointerEvent.in: "+pe); } - + // // - Determine ENTERED/EXITED state // - Synthesize ENTERED event - // - Reset states if applicable + // - Reset states if applicable // final long when = pe.getWhen(); int eventType = pe.getEventType(); @@ -2812,7 +2812,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer pState0.clearButton(); eEntered = null; break; - + default: if(!pState0.insideWindow) { pState0.insideWindow = true; @@ -2833,12 +2833,12 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } return; // .. invalid .. } - + // // Handle Default Gestures // if( defaultGestureHandlerEnabled && - pe.getPointerType(0).getPointerClass() == MouseEvent.PointerClass.Onscreen ) + pe.getPointerType(0).getPointerClass() == MouseEvent.PointerClass.Onscreen ) { if( null == gesture2PtrTouchScroll ) { final int scaledScrollSlop; @@ -2849,16 +2849,16 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer final float pixWPerMM = (float)monitor.getCurrentMode().getRotatedWidth() / (float)mm.getWidth(); final float pixHPerMM = (float)monitor.getCurrentMode().getRotatedHeight() / (float)mm.getHeight(); final float pixPerMM = Math.min(pixHPerMM, pixWPerMM); - scaledScrollSlop = Math.round(DoubleTapScrollGesture.SCROLL_SLOP_MM * pixPerMM); - scaledDoubleTapSlop = Math.round(DoubleTapScrollGesture.DOUBLE_TAP_SLOP_MM * pixPerMM); + scaledScrollSlop = Math.round(DoubleTapScrollGesture.SCROLL_SLOP_MM * pixPerMM); + scaledDoubleTapSlop = Math.round(DoubleTapScrollGesture.DOUBLE_TAP_SLOP_MM * pixPerMM); if(DEBUG_MOUSE_EVENT) { System.err.println("consumePointerEvent.gscroll: scrollSlop "+scaledScrollSlop+", doubleTapSlop "+scaledDoubleTapSlop+", pixPerMM "+pixPerMM+", "+monitor); } } else { scaledScrollSlop = DoubleTapScrollGesture.SCROLL_SLOP_PIXEL; - scaledDoubleTapSlop = DoubleTapScrollGesture.DOUBLE_TAP_SLOP_PIXEL; + scaledDoubleTapSlop = DoubleTapScrollGesture.DOUBLE_TAP_SLOP_PIXEL; } - gesture2PtrTouchScroll = new DoubleTapScrollGesture(step(DoubleTapScrollGesture.SCROLL_SLOP_PIXEL, DoubleTapScrollGesture.SCROLL_SLOP_PIXEL/2, scaledScrollSlop), + gesture2PtrTouchScroll = new DoubleTapScrollGesture(step(DoubleTapScrollGesture.SCROLL_SLOP_PIXEL, DoubleTapScrollGesture.SCROLL_SLOP_PIXEL/2, scaledScrollSlop), step(DoubleTapScrollGesture.DOUBLE_TAP_SLOP_PIXEL, DoubleTapScrollGesture.DOUBLE_TAP_SLOP_PIXEL/2, scaledDoubleTapSlop)); } if( gesture2PtrTouchScroll.process(pe) ) { @@ -2903,11 +2903,11 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } } - + // // - Synthesize mouse CLICKED // - Ignore sent CLICKED - // + // final MouseEvent eClicked; switch( eventType ) { case MouseEvent.EVENT_MOUSE_PRESSED: @@ -2921,7 +2921,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer eClicked = pe.createVariant(MouseEvent.EVENT_MOUSE_CLICKED); } else { eClicked = null; - pState0.lastButtonPressTime = 0; + pState0.lastButtonPressTime = 0; } break; case MouseEvent.EVENT_MOUSE_CLICKED: @@ -2935,7 +2935,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer default: eClicked = null; } - + if( null != pe ) { if(DEBUG_MOUSE_EVENT) { System.err.println("consumePointerEvent.send.1: "+pe); @@ -2949,7 +2949,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer dispatchMouseEvent(eClicked); } } - + private final void dispatchMouseEvent(MouseEvent e) { for(int i = 0; !e.isConsumed() && i < mouseListeners.size(); i++ ) { MouseListener l = mouseListeners.get(i); @@ -2989,15 +2989,15 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer // private static final int keyTrackingRange = 255; private final IntBitfield keyPressedState = new IntBitfield( keyTrackingRange + 1 ); - + protected final boolean isKeyCodeTracked(final short keyCode) { return ( 0xFFFF & (int)keyCode ) <= keyTrackingRange; } - + /** * @param keyCode the keyCode to set pressed state * @param pressed true if pressed, otherwise false - * @return the previus pressed value + * @return the previus pressed value */ protected final boolean setKeyPressed(short keyCode, boolean pressed) { final int v = 0xFFFF & (int)keyCode; @@ -3008,7 +3008,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } /** * @param keyCode the keyCode to test pressed state - * @return true if pressed, otherwise false + * @return true if pressed, otherwise false */ protected final boolean isKeyPressed(short keyCode) { final int v = 0xFFFF & (int)keyCode; @@ -3017,7 +3017,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } return false; } - + public void sendKeyEvent(short eventType, int modifiers, short keyCode, short keySym, char keyChar) { // Always add currently pressed mouse buttons to modifier mask consumeKeyEvent( KeyEvent.create(eventType, this, System.currentTimeMillis(), modifiers | pState1.buttonPressedMask, keyCode, keySym, keyChar) ); @@ -3027,12 +3027,12 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer // Always add currently pressed mouse buttons to modifier mask enqueueEvent(wait, KeyEvent.create(eventType, this, System.currentTimeMillis(), modifiers | pState1.buttonPressedMask, keyCode, keySym, keyChar) ); } - + @Override public final void setKeyboardVisible(boolean visible) { if(isNativeValid()) { // We don't skip the impl. if it seems that there is no state change, - // since we cannot assume the impl. reliably gives us it's current state. + // since we cannot assume the impl. reliably gives us it's current state. final boolean ok = setKeyboardVisibleImpl(visible); if(DEBUG_IMPLEMENTATION || DEBUG_KEY_EVENT) { System.err.println("setKeyboardVisible(native): visible "+keyboardVisible+" -- op[visible:"+visible +", ok "+ok+"] -> "+(visible && ok)); @@ -3046,13 +3046,13 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public final boolean isKeyboardVisible() { return keyboardVisible; } - /** + /** * Returns true if operation was successful, otherwise false. *

              * We assume that a failed invisible operation is due to an already invisible keyboard, - * hence even if an invisible operation failed, the keyboard is considered invisible! - *

              - */ + * hence even if an invisible operation failed, the keyboard is considered invisible! + *

              + */ protected boolean setKeyboardVisibleImpl(boolean visible) { return false; // nop } @@ -3066,7 +3066,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } protected boolean keyboardVisible = false; - + @Override public void addKeyListener(KeyListener l) { addKeyListener(-1, l); @@ -3079,7 +3079,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } @SuppressWarnings("unchecked") ArrayList clonedListeners = (ArrayList) keyListeners.clone(); - if(0>index) { + if(0>index) { index = clonedListeners.size(); } clonedListeners.add(index, l); @@ -3101,7 +3101,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public KeyListener getKeyListener(int index) { @SuppressWarnings("unchecked") ArrayList clonedListeners = (ArrayList) keyListeners.clone(); - if(0>index) { + if(0>index) { index = clonedListeners.size()-1; } return clonedListeners.get(index); @@ -3125,7 +3125,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } return e.isConsumed(); } - + protected void consumeKeyEvent(KeyEvent e) { boolean consumedE = false; if( null != keyboardFocusHandler && !e.isAutoRepeat() ) { @@ -3164,7 +3164,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } @Override - public void addWindowListener(int index, WindowListener l) + public void addWindowListener(int index, WindowListener l) throws IndexOutOfBoundsException { if(l == null) { @@ -3172,8 +3172,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } @SuppressWarnings("unchecked") ArrayList clonedListeners = (ArrayList) windowListeners.clone(); - if(0>index) { - index = clonedListeners.size(); + if(0>index) { + index = clonedListeners.size(); } clonedListeners.add(index, l); windowListeners = clonedListeners; @@ -3194,8 +3194,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer public WindowListener getWindowListener(int index) { @SuppressWarnings("unchecked") ArrayList clonedListeners = (ArrayList) windowListeners.clone(); - if(0>index) { - index = clonedListeners.size()-1; + if(0>index) { + index = clonedListeners.size()-1; } return clonedListeners.get(index); } @@ -3234,7 +3234,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer l.windowRepaint((WindowUpdateEvent)e); break; default: - throw + throw new NativeWindowException("Unexpected window event type " + e.getEventType()); } @@ -3248,7 +3248,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer System.err.println("Window.focusChanged: ("+getThreadName()+"): (defer: "+defer+") "+this.hasFocus+" -> "+focusGained+" - windowHandle "+toHexString(windowHandle)+" parentWindowHandle "+toHexString(parentWindowHandle)); } hasFocus = focusGained; - final int evt = focusGained ? WindowEvent.EVENT_WINDOW_GAINED_FOCUS : WindowEvent.EVENT_WINDOW_LOST_FOCUS ; + final int evt = focusGained ? WindowEvent.EVENT_WINDOW_GAINED_FOCUS : WindowEvent.EVENT_WINDOW_LOST_FOCUS ; if(!defer) { sendWindowEvent(evt); } else { @@ -3256,7 +3256,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } } - + /** Triggered by implementation's WM events to update the visibility state. */ protected void visibleChanged(boolean defer, boolean visible) { if(this.visible != visible) { @@ -3282,7 +3282,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer display.dispatchMessagesNative(); // status up2date } if(this.visible != visible) { - final String msg = "Visibility not reached as requested within "+timeOut+"ms : requested "+visible+", is "+this.visible; + final String msg = "Visibility not reached as requested within "+timeOut+"ms : requested "+visible+", is "+this.visible; if(failFast) { throw new NativeWindowException(msg); } else if (DEBUG_IMPLEMENTATION) { @@ -3297,7 +3297,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } - /** Triggered by implementation's WM events to update the client-area size w/o insets/decorations. */ + /** Triggered by implementation's WM events to update the client-area size w/o insets/decorations. */ protected void sizeChanged(boolean defer, int newWidth, int newHeight, boolean force) { if(force || getWidth() != newWidth || getHeight() != newHeight) { if(DEBUG_IMPLEMENTATION) { @@ -3316,7 +3316,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } } - + private boolean waitForSize(int w, int h, boolean failFast, long timeOut) { final DisplayImpl display = (DisplayImpl) screen.getDisplay(); display.dispatchMessagesNative(); // status up2date @@ -3338,8 +3338,8 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer return true; } } - - /** Triggered by implementation's WM events to update the position. */ + + /** Triggered by implementation's WM events to update the position. */ protected void positionChanged(boolean defer, int newX, int newY) { if ( getX() != newX || getY() != newY ) { if(DEBUG_IMPLEMENTATION) { @@ -3352,7 +3352,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer enqueueWindowEvent(false, WindowEvent.EVENT_WINDOW_MOVED); } } else { - autoPosition = false; // ensure it's off even w/ same position + autoPosition = false; // ensure it's off even w/ same position } } @@ -3396,10 +3396,10 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } return ok; } - + /** - * Triggered by implementation's WM events to update the insets. - * + * Triggered by implementation's WM events to update the insets. + * * @see #getInsets() * @see #updateInsetsImpl(Insets) */ @@ -3409,7 +3409,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer if(DEBUG_IMPLEMENTATION) { System.err.println("Window.insetsChanged: skip insets change for undecoration mode"); } - } else if ( (left != insets.getLeftWidth() || right != insets.getRightWidth() || + } else if ( (left != insets.getLeftWidth() || right != insets.getRightWidth() || top != insets.getTopHeight() || bottom != insets.getBottomHeight() ) ) { insets.set(left, right, top, bottom); @@ -3419,10 +3419,10 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } } - + /** * Triggered by implementation's WM events or programmatic while respecting {@link #getDefaultCloseOperation()}. - * + * * @param force if true, overrides {@link #setDefaultCloseOperation(WindowClosingMode)} with {@link WindowClosingProtocol#DISPOSE_ON_CLOSE} * and hence force destruction. Otherwise is follows the user settings. * @return true if this window is no more valid and hence has been destroyed, otherwise false. @@ -3434,9 +3434,9 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer System.err.println("Window.windowDestroyNotify(isNativeValid: "+isNativeValid()+", force: "+force+", mode "+defMode+" -> "+mode+") "+getThreadName()+": "+this); // Thread.dumpStack(); } - + final boolean destroyed; - + if( isNativeValid() ) { if( WindowClosingMode.DISPOSE_ON_CLOSE == mode ) { if(force) { @@ -3457,7 +3457,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer // send synced destroy notifications sendWindowEvent(WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY); } - + destroyed = !isNativeValid(); } else { destroyed = true; @@ -3465,19 +3465,19 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer if(DEBUG_IMPLEMENTATION) { System.err.println("Window.windowDestroyNotify(isNativeValid: "+isNativeValid()+", force: "+force+", mode "+mode+") END "+getThreadName()+": destroyed "+destroyed+", "+this); - } - + } + return destroyed; } @Override public void windowRepaint(int x, int y, int width, int height) { - windowRepaint(false, x, y, width, height); + windowRepaint(false, x, y, width, height); } - + /** * Triggered by implementation's WM events to update the content - */ + */ protected void windowRepaint(boolean defer, int x, int y, int width, int height) { width = ( 0 >= width ) ? getWidth() : width; height = ( 0 >= height ) ? getHeight() : height; @@ -3542,7 +3542,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer protected final void shouldNotCallThis() { throw new NativeWindowException("Should not call this"); } - + public static String getThreadName() { return Display.getThreadName(); } diff --git a/src/newt/classes/jogamp/newt/awt/NewtFactoryAWT.java b/src/newt/classes/jogamp/newt/awt/NewtFactoryAWT.java index 861a6d6be..2ba5b3460 100644 --- a/src/newt/classes/jogamp/newt/awt/NewtFactoryAWT.java +++ b/src/newt/classes/jogamp/newt/awt/NewtFactoryAWT.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package jogamp.newt.awt; import javax.media.nativewindow.AbstractGraphicsConfiguration; @@ -76,12 +76,12 @@ public class NewtFactoryAWT extends NewtFactory { } return (JAWTWindow)nw; } - + public static void destroyNativeWindow(JAWTWindow jawtWindow) { final AbstractGraphicsConfiguration config = jawtWindow.getGraphicsConfiguration(); jawtWindow.destroy(); - config.getScreen().getDevice().close(); + config.getScreen().getDevice().close(); } - + } diff --git a/src/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java b/src/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java index d71ad175b..0ee3cc0cd 100644 --- a/src/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java +++ b/src/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,26 +20,26 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package jogamp.newt.awt.event; import com.jogamp.newt.event.MouseEvent; /** * - *
              AWT Event Modifier Mapping
              + *
              AWT Event Modifier Mapping
              *
                   Modifier       AWT Constant                     AWT Bit  AWT Ex  NEWT Constant              NEWT Bit
                   -------------  -------------------------------  -------  ------  -------------------------  --------
              -    Shift          Event.SHIFT_MASK                 0                
              -    Ctrl           Event.CTRL_MASK                  1                
              -    Meta           Event.META_MASK                  2                
              -    Alt            Event.ALT_MASK                   3               
              +    Shift          Event.SHIFT_MASK                 0
              +    Ctrl           Event.CTRL_MASK                  1
              +    Meta           Event.META_MASK                  2
              +    Alt            Event.ALT_MASK                   3
                   Button1        InputEvent.BUTTON1_MASK          4
                   Button2        InputEvent.BUTTON2_MASK          3
                   Button3        InputEvent.BUTTON3_MASK          2
              @@ -88,10 +88,10 @@ public class AWTNewtEventFactory {
                           Method _getMaskForButtonMethod = null;
                           try {
                               _getMaskForButtonMethod = ReflectionUtil.getMethod(java.awt.event.InputEvent.class, "getMaskForButton", int.class);
              -            } catch(Throwable t) {}        
              +            } catch(Throwable t) {}
                           getMaskForButtonMethod = _getMaskForButtonMethod;
                       } */
              -        
              +
                       awtButtonDownMasks = new int[com.jogamp.newt.event.MouseEvent.BUTTON_COUNT] ; // java.awt.MouseInfo.getNumberOfButtons() ;
                       for (int n = 0 ; n < awtButtonDownMasks.length ; ++n) {
                           awtButtonDownMasks[n] = getAWTButtonDownMaskImpl(n+1);
              @@ -112,12 +112,12 @@ public class AWTNewtEventFactory {
                           case java.awt.event.WindowEvent.WINDOW_LOST_FOCUS: return com.jogamp.newt.event.WindowEvent.EVENT_WINDOW_LOST_FOCUS;
                           case java.awt.event.FocusEvent.FOCUS_LOST: return com.jogamp.newt.event.WindowEvent.EVENT_WINDOW_LOST_FOCUS;
                           // n/a case java.awt.event.WindowEvent.WINDOW_STATE_CHANGED: return com.jogamp.newt.event.WindowEvent.EVENT_WINDOW_STATE_CHANGED;
              -    
              +
                           case java.awt.event.ComponentEvent.COMPONENT_MOVED: return com.jogamp.newt.event.WindowEvent.EVENT_WINDOW_MOVED;
                           case java.awt.event.ComponentEvent.COMPONENT_RESIZED: return com.jogamp.newt.event.WindowEvent.EVENT_WINDOW_RESIZED;
                           // n/a case java.awt.event.ComponentEvent.COMPONENT_SHOWN: return com.jogamp.newt.event.WindowEvent.EVENT_WINDOW_SHOWN;
                           // n/a case java.awt.event.ComponentEvent.COMPONENT_HIDDEN: return com.jogamp.newt.event.WindowEvent.EVENT_WINDOW_HIDDEN;
              -    
              +
                           case java.awt.event.MouseEvent.MOUSE_CLICKED: return com.jogamp.newt.event.MouseEvent.EVENT_MOUSE_CLICKED;
                           case java.awt.event.MouseEvent.MOUSE_PRESSED: return com.jogamp.newt.event.MouseEvent.EVENT_MOUSE_PRESSED;
                           case java.awt.event.MouseEvent.MOUSE_RELEASED: return com.jogamp.newt.event.MouseEvent.EVENT_MOUSE_RELEASED;
              @@ -126,17 +126,17 @@ public class AWTNewtEventFactory {
                           case java.awt.event.MouseEvent.MOUSE_EXITED: return com.jogamp.newt.event.MouseEvent.EVENT_MOUSE_EXITED;
                           case java.awt.event.MouseEvent.MOUSE_DRAGGED: return com.jogamp.newt.event.MouseEvent.EVENT_MOUSE_DRAGGED;
                           case java.awt.event.MouseEvent.MOUSE_WHEEL: return com.jogamp.newt.event.MouseEvent.EVENT_MOUSE_WHEEL_MOVED;
              -    
              +
                           case java.awt.event.KeyEvent.KEY_PRESSED: return com.jogamp.newt.event.KeyEvent.EVENT_KEY_PRESSED;
                           case java.awt.event.KeyEvent.KEY_RELEASED: return com.jogamp.newt.event.KeyEvent.EVENT_KEY_RELEASED;
                       }
                       return (short)0;
                   }
              -    
              +
                   private static int getAWTButtonDownMaskImpl(int button) {
                       /**
                        * java.awt.event.InputEvent.getMaskForButton(button);
              -         * 
              +         *
                       if(null != getMaskForButtonMethod) {
                           Object r=null;
                           try {
              @@ -157,16 +157,16 @@ public class AWTNewtEventFactory {
                                   m = 1 << ( 10 + button ) ; // b4 = 1<<14, b5 = 1<<15, etc
                               } else {
                                   m = 0;
              -                }                
              +                }
                       }
                       return m;
                   }
              -    
              +
                   /**
                    * 

              * See AWT event modifier mapping details. *

              - * + * * @param button * @return */ @@ -175,9 +175,9 @@ public class AWTNewtEventFactory { return awtButtonDownMasks[button-1]; } else { return 0; - } + } } - + public static final short awtButton2Newt(int awtButton) { if( 0 < awtButton && awtButton <= com.jogamp.newt.event.MouseEvent.BUTTON_COUNT ) { return (short)awtButton; @@ -185,32 +185,32 @@ public class AWTNewtEventFactory { return (short)0; } } - + /** * Converts the specified set of AWT event modifiers and extended event * modifiers to the equivalent NEWT event modifiers. - * + * *

              * See AWT event modifier mapping details. *

              - * + * * @param awtMods * The AWT event modifiers. - * + * * @param awtModsEx * The AWT extended event modifiers. * AWT passes mouse button specific bits here and are the preferred way check the mouse button state. */ public static final int awtModifiers2Newt(final int awtMods, final int awtModsEx) { int newtMods = 0; - + /** Redundant old modifiers .. if ((awtMods & java.awt.event.InputEvent.SHIFT_MASK) != 0) newtMods |= com.jogamp.newt.event.InputEvent.SHIFT_MASK; if ((awtMods & java.awt.event.InputEvent.CTRL_MASK) != 0) newtMods |= com.jogamp.newt.event.InputEvent.CTRL_MASK; if ((awtMods & java.awt.event.InputEvent.META_MASK) != 0) newtMods |= com.jogamp.newt.event.InputEvent.META_MASK; if ((awtMods & java.awt.event.InputEvent.ALT_MASK) != 0) newtMods |= com.jogamp.newt.event.InputEvent.ALT_MASK; if ((awtMods & java.awt.event.InputEvent.ALT_GRAPH_MASK) != 0) newtMods |= com.jogamp.newt.event.InputEvent.ALT_GRAPH_MASK; */ - + if ((awtModsEx & java.awt.event.InputEvent.SHIFT_DOWN_MASK) != 0) newtMods |= com.jogamp.newt.event.InputEvent.SHIFT_MASK; if ((awtModsEx & java.awt.event.InputEvent.CTRL_DOWN_MASK) != 0) newtMods |= com.jogamp.newt.event.InputEvent.CTRL_MASK; if ((awtModsEx & java.awt.event.InputEvent.META_DOWN_MASK) != 0) newtMods |= com.jogamp.newt.event.InputEvent.META_MASK; @@ -221,7 +221,7 @@ public class AWTNewtEventFactory { // being ignored intentionally. The AWT docs say that the // BUTTON1_DOWN_MASK etc bits in the extended modifiers are // the preferred place to check current button state. - + if( 0 != awtModsEx ) { for (int n = 0 ; n < awtButtonDownMasks.length ; ++n) { if ( (awtModsEx & awtButtonDownMasks[n]) != 0 ) { @@ -232,7 +232,7 @@ public class AWTNewtEventFactory { return newtMods; } - + public static short awtKeyCode2NewtKeyCode(final int awtKeyCode) { final short defNEWTKeyCode = (short)awtKeyCode; switch (awtKeyCode) { @@ -371,7 +371,7 @@ public class AWTNewtEventFactory { case java.awt.event.KeyEvent.VK_MULTIPLY : return com.jogamp.newt.event.KeyEvent.VK_MULTIPLY; case java.awt.event.KeyEvent.VK_DIVIDE : return com.jogamp.newt.event.KeyEvent.VK_DIVIDE; case java.awt.event.KeyEvent.VK_NUM_LOCK : return com.jogamp.newt.event.KeyEvent.VK_NUM_LOCK; - case java.awt.event.KeyEvent.VK_KP_LEFT : /** Fall through intended .. */ + case java.awt.event.KeyEvent.VK_KP_LEFT : /** Fall through intended .. */ case java.awt.event.KeyEvent.VK_LEFT : return com.jogamp.newt.event.KeyEvent.VK_LEFT; case java.awt.event.KeyEvent.VK_KP_UP : /** Fall through intended .. */ case java.awt.event.KeyEvent.VK_UP : return com.jogamp.newt.event.KeyEvent.VK_UP; @@ -381,7 +381,7 @@ public class AWTNewtEventFactory { case java.awt.event.KeyEvent.VK_DOWN : return com.jogamp.newt.event.KeyEvent.VK_DOWN; case java.awt.event.KeyEvent.VK_CONTEXT_MENU : return com.jogamp.newt.event.KeyEvent.VK_CONTEXT_MENU; case java.awt.event.KeyEvent.VK_WINDOWS : return com.jogamp.newt.event.KeyEvent.VK_WINDOWS; - case java.awt.event.KeyEvent.VK_META : return com.jogamp.newt.event.KeyEvent.VK_META; + case java.awt.event.KeyEvent.VK_META : return com.jogamp.newt.event.KeyEvent.VK_META; case java.awt.event.KeyEvent.VK_HELP : return com.jogamp.newt.event.KeyEvent.VK_HELP; case java.awt.event.KeyEvent.VK_COMPOSE : return com.jogamp.newt.event.KeyEvent.VK_COMPOSE; case java.awt.event.KeyEvent.VK_BEGIN : return com.jogamp.newt.event.KeyEvent.VK_BEGIN; @@ -558,7 +558,7 @@ public class AWTNewtEventFactory { case com.jogamp.newt.event.KeyEvent.VK_DOWN : return java.awt.event.KeyEvent.VK_DOWN; case com.jogamp.newt.event.KeyEvent.VK_CONTEXT_MENU : return java.awt.event.KeyEvent.VK_CONTEXT_MENU; case com.jogamp.newt.event.KeyEvent.VK_WINDOWS : return java.awt.event.KeyEvent.VK_WINDOWS; - case com.jogamp.newt.event.KeyEvent.VK_META : return java.awt.event.KeyEvent.VK_META; + case com.jogamp.newt.event.KeyEvent.VK_META : return java.awt.event.KeyEvent.VK_META; case com.jogamp.newt.event.KeyEvent.VK_HELP : return java.awt.event.KeyEvent.VK_HELP; case com.jogamp.newt.event.KeyEvent.VK_COMPOSE : return java.awt.event.KeyEvent.VK_COMPOSE; case com.jogamp.newt.event.KeyEvent.VK_BEGIN : return java.awt.event.KeyEvent.VK_BEGIN; @@ -636,7 +636,7 @@ public class AWTNewtEventFactory { } return new com.jogamp.newt.event.MouseEvent( newtType, (null==newtSource)?(Object)event.getComponent():(Object)newtSource, event.getWhen(), - mods, event.getX(), event.getY(), (short)event.getClickCount(), + mods, event.getX(), event.getY(), (short)event.getClickCount(), newtButton, MouseEvent.getRotationXYZ(rotation, mods), 1f); } return null; // no mapping .. @@ -650,11 +650,11 @@ public class AWTNewtEventFactory { if( (short)0 != newtType ) { final short newtKeyCode = awtKeyCode2NewtKeyCode( event.getKeyCode() ); return com.jogamp.newt.event.KeyEvent.create( - newtType, (null==newtSource)?(Object)event.getComponent():(Object)newtSource, event.getWhen(), - awtModifiers2Newt(event.getModifiers(), event.getModifiersEx()), + newtType, (null==newtSource)?(Object)event.getComponent():(Object)newtSource, event.getWhen(), + awtModifiers2Newt(event.getModifiers(), event.getModifiersEx()), newtKeyCode, newtKeyCode, event.getKeyChar()); } return null; // no mapping .. } - + } diff --git a/src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java b/src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java index fa494adca..325f17278 100644 --- a/src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java +++ b/src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package jogamp.newt.awt.event; import java.awt.KeyboardFocusManager; @@ -45,7 +45,7 @@ import com.jogamp.newt.event.awt.AWTWindowAdapter; public class AWTParentWindowAdapter extends AWTWindowAdapter implements java.awt.event.HierarchyListener { NativeWindow downstreamParent; - + public AWTParentWindowAdapter(NativeWindow downstreamParent, com.jogamp.newt.Window downstream) { super(downstream); this.downstreamParent = downstreamParent; @@ -111,12 +111,12 @@ public class AWTParentWindowAdapter extends AWTWindowAdapter implements java.awt public void componentMoved(java.awt.event.ComponentEvent e) { if(DEBUG_IMPLEMENTATION) { - System.err.println("AWT: componentMoved: "+e); + System.err.println("AWT: componentMoved: "+e); } final Window newtWindow = getNewtWindow(); if(newtWindow.getDelegatedWindow() instanceof DriverUpdatePosition) { ((DriverUpdatePosition)newtWindow.getDelegatedWindow()).updatePosition(0, 0); - } + } } public void windowActivated(java.awt.event.WindowEvent e) { @@ -130,7 +130,7 @@ public class AWTParentWindowAdapter extends AWTWindowAdapter implements java.awt public void hierarchyChanged(java.awt.event.HierarchyEvent e) { if( null == getNewtEventListener() ) { long bits = e.getChangeFlags(); - final java.awt.Component changed = e.getChanged(); + final java.awt.Component changed = e.getChanged(); if( 0 != ( java.awt.event.HierarchyEvent.SHOWING_CHANGED & bits ) ) { final boolean showing = changed.isShowing(); if(DEBUG_IMPLEMENTATION) { @@ -142,7 +142,7 @@ public class AWTParentWindowAdapter extends AWTWindowAdapter implements java.awt getNewtWindow().setVisible(showing); } }}); - } + } if(DEBUG_IMPLEMENTATION) { if( 0 != ( java.awt.event.HierarchyEvent.DISPLAYABILITY_CHANGED & bits ) ) { final boolean displayability = changed.isDisplayable(); diff --git a/src/newt/classes/jogamp/newt/driver/DriverClearFocus.java b/src/newt/classes/jogamp/newt/driver/DriverClearFocus.java index 0a824e83b..0ff86fe93 100644 --- a/src/newt/classes/jogamp/newt/driver/DriverClearFocus.java +++ b/src/newt/classes/jogamp/newt/driver/DriverClearFocus.java @@ -1,10 +1,10 @@ package jogamp.newt.driver; -/** +/** * Interface tagging driver requirement of clearing the focus. *

              - * Some drivers require a programmatic {@link #clearFocus()} when traversing the focus. - *

              + * Some drivers require a programmatic {@link #clearFocus()} when traversing the focus. + *

              */ public interface DriverClearFocus { /** Programmatic clear the focus */ diff --git a/src/newt/classes/jogamp/newt/driver/DriverUpdatePosition.java b/src/newt/classes/jogamp/newt/driver/DriverUpdatePosition.java index 2ec327187..e5f9b6a68 100644 --- a/src/newt/classes/jogamp/newt/driver/DriverUpdatePosition.java +++ b/src/newt/classes/jogamp/newt/driver/DriverUpdatePosition.java @@ -1,14 +1,14 @@ package jogamp.newt.driver; -/** +/** * Interface tagging driver requirement of absolute positioning, ie. depend on parent position. */ public interface DriverUpdatePosition { - /** + /** * Programmatic update the top-left corner * of the client area relative to it's parent. - * - * @param x x-component + * + * @param x x-component * @param y y-component **/ void updatePosition(int x, int y); diff --git a/src/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java b/src/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java index 9a1632130..14cc9c69d 100644 --- a/src/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java +++ b/src/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.awt; @@ -100,7 +100,7 @@ public class AWTCanvas extends Canvas { @Override public void paint(Graphics g) { } - + public boolean hasDeviceChanged() { boolean res = displayConfigChanged; displayConfigChanged=false; @@ -154,12 +154,12 @@ public class AWTCanvas extends Canvas { public NativeWindow getNativeWindow() { final JAWTWindow _jawtWindow = jawtWindow; return (null != _jawtWindow) ? _jawtWindow : null; - } - + } + public boolean isOffscreenLayerSurfaceEnabled() { - return null != jawtWindow ? jawtWindow.isOffscreenLayerSurfaceEnabled() : false; + return null != jawtWindow ? jawtWindow.isOffscreenLayerSurfaceEnabled() : false; } - + public void removeNotify() { try { dispose(); @@ -188,7 +188,7 @@ public class AWTCanvas extends Canvas { } } } - + private String getThreadName() { return Thread.currentThread().getName(); } /** @@ -200,7 +200,7 @@ public class AWTCanvas extends Canvas { * Workaround for problems with Xinerama and java.awt.Component.checkGD * when adding to a container on a different graphics device than the * one that this Canvas is associated with. - * + * * GC will be null unless: * - A native peer has assigned it. This means we have a native * peer, and are already comitted to a graphics configuration. @@ -214,7 +214,7 @@ public class AWTCanvas extends Canvas { * chosen is only non-null on platforms where the GLDrawableFactory * returns a non-null GraphicsConfiguration (in the GLCanvas * constructor). - * + * * if gc is from this Canvas' native peer then it should equal chosen, * otherwise it is from an ancestor component that this Canvas is being * added to, and we go into this block. @@ -224,21 +224,21 @@ public class AWTCanvas extends Canvas { * Check for compatibility with gc. If they differ by only the * device then return a new GCconfig with the super-class' GDevice * (and presumably the same visual ID in Xinerama). - * + * */ if (!chosen.getDevice().getIDstring().equals(gc.getDevice().getIDstring())) { /* * Here we select a GraphicsConfiguration on the alternate * device that is presumably identical to the chosen * configuration, but on the other device. - * + * * Should really check to ensure that we select a configuration * with the same X visual ID for Xinerama screens, otherwise the * GLDrawable may have the wrong visual ID (I don't think this * ever gets updated). May need to add a method to * X11GLDrawableFactory to do this in a platform specific * manner. - * + * * However, on platforms where we can actually get into this * block, both devices should have the same visual list, and the * same configuration should be selected here. @@ -265,7 +265,7 @@ public class AWTCanvas extends Canvas { chosen = compatible; if( !config.getChosenCapabilities().equals(awtConfig.getChosenCapabilities())) { displayConfigChanged=true; - } + } awtConfig = config; } } @@ -275,7 +275,7 @@ public class AWTCanvas extends Canvas { * return the GC that was selected in the constructor (and might * cause an exception in Component.checkGD when adding to a * container, but in this case that would be the desired behavior). - * + * */ return chosen; } else if (gc == null) { @@ -299,7 +299,7 @@ public class AWTCanvas extends Canvas { CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, GraphicsDevice device) { - final AbstractGraphicsScreen aScreen = null != device ? + final AbstractGraphicsScreen aScreen = null != device ? AWTGraphicsScreen.createScreenDevice(device, AbstractGraphicsDevice.DEFAULT_UNIT): AWTGraphicsScreen.createDefault(); AWTGraphicsConfiguration config = (AWTGraphicsConfiguration) diff --git a/src/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java b/src/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java index 02f4be0cd..bddb43b30 100644 --- a/src/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java +++ b/src/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java @@ -40,9 +40,9 @@ import jogamp.newt.Debug; public class AWTEDTUtil implements EDTUtil { public static final boolean DEBUG = Debug.debug("EDT"); - + private final Object edtLock = new Object(); // locking the EDT start/stop state - private final ThreadGroup threadGroup; + private final ThreadGroup threadGroup; private final String name; private final Runnable dispatchMessages; private NEDT nedt = null; @@ -66,7 +66,7 @@ public class AWTEDTUtil implements EDTUtil { final public void setPollPeriod(long ms) { pollPeriod = ms; } - + @Override public final boolean start() throws IllegalStateException { synchronized(edtLock) { @@ -107,12 +107,12 @@ public class AWTEDTUtil implements EDTUtil { public final boolean isCurrentThreadNEDT() { return nedt == Thread.currentThread(); } - + @Override public final boolean isCurrentThreadEDTorNEDT() { - return EventQueue.isDispatchThread() || nedt == Thread.currentThread(); + return EventQueue.isDispatchThread() || nedt == Thread.currentThread(); } - + @Override final public boolean isRunning() { return nedt.isRunning() ; @@ -127,12 +127,12 @@ public class AWTEDTUtil implements EDTUtil { public final boolean invoke(boolean wait, Runnable task) { return invokeImpl(wait, task, false); } - + private static Runnable nullTask = new Runnable() { @Override - public void run() { } + public void run() { } }; - + private final boolean invokeImpl(boolean wait, Runnable task, boolean stop) { Throwable throwable = null; RunnableTask rTask = null; @@ -145,7 +145,7 @@ public class AWTEDTUtil implements EDTUtil { if(DEBUG) { Thread.dumpStack(); } - return false; + return false; } if( isCurrentThreadEDT() ) { if(null != task) { @@ -181,7 +181,7 @@ public class AWTEDTUtil implements EDTUtil { if(null != task) { rTask = new RunnableTask(task, wait ? rTaskLock : null, - true /* always catch and report Exceptions, don't disturb EDT */, + true /* always catch and report Exceptions, don't disturb EDT */, wait ? null : System.err); AWTEDTExecutor.singleton.invoke(false, rTask); } @@ -205,7 +205,7 @@ public class AWTEDTUtil implements EDTUtil { } return true; } - } + } @Override final public boolean waitUntilIdle() { @@ -241,7 +241,7 @@ public class AWTEDTUtil implements EDTUtil { } } } - + class NEDT extends Thread { volatile boolean shouldStop = false; volatile boolean isRunning = false; @@ -261,7 +261,7 @@ public class AWTEDTUtil implements EDTUtil { super.start(); } - /** + /** * Utilizing locking only on tasks and its execution, * not for event dispatching. */ @@ -302,7 +302,7 @@ public class AWTEDTUtil implements EDTUtil { } } finally { if(DEBUG) { - System.err.println(getName()+": AWT-EDT run() END "+ getName()+", "+error); + System.err.println(getName()+": AWT-EDT run() END "+ getName()+", "+error); } synchronized(edtLock) { isRunning = false; @@ -317,7 +317,7 @@ public class AWTEDTUtil implements EDTUtil { } // finally } // run() } // EventDispatchThread - + } diff --git a/src/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java index 30449f9bc..9e716d544 100644 --- a/src/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.awt; @@ -57,7 +57,7 @@ public class DisplayDriver extends DisplayImpl { protected EDTUtil createEDTUtil() { final EDTUtil def; if(NewtFactory.useEDT()) { - def = new AWTEDTUtil(Thread.currentThread().getThreadGroup(), "AWTDisplay-"+getFQName(), dispatchMessagesRunnable); + def = new AWTEDTUtil(Thread.currentThread().getThreadGroup(), "AWTDisplay-"+getFQName(), dispatchMessagesRunnable); if(DEBUG) { System.err.println("Display.createNative("+getFQName()+") Create EDTUtil: "+def.getClass().getName()); } @@ -67,7 +67,7 @@ public class DisplayDriver extends DisplayImpl { return def; } - protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { + protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { aDevice.close(); } diff --git a/src/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java index 126143e1e..a2430e2bb 100644 --- a/src/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java @@ -1,21 +1,21 @@ /* * Copyright (c) 2008 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,7 +28,7 @@ * 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. - * + * */ package jogamp.newt.driver.awt; @@ -66,10 +66,10 @@ public class ScreenDriver extends ScreenImpl { } protected void closeNativeImpl() { } - + protected int validateScreenIndex(int idx) { - return idx; // pass through ... - } + return idx; // pass through ... + } private static MonitorMode getModeProps(Cache cache, DisplayMode mode) { int rate = mode.getRefreshRate(); @@ -90,16 +90,16 @@ public class ScreenDriver extends ScreenImpl { props[i++] = 0; // flags props[i++] = 0; // mode_idx props[i++] = 0; // rotation - return MonitorModeProps.streamInMonitorMode(null, cache, props, 0); + return MonitorModeProps.streamInMonitorMode(null, cache, props, 0); } - + @Override protected void collectNativeMonitorModesAndDevicesImpl(Cache cache) { final GraphicsDevice awtGD = ((AWTGraphicsDevice)getDisplay().getGraphicsDevice()).getGraphicsDevice(); final DisplayMode[] awtModes = awtGD.getDisplayModes(); for(int i=0; i=0 || y>=0) { System.err.println("BCEGL Window.setPositionImpl n/a in BroadcomEGL"); } - + if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) ) { visibleChanged(false, 0 != ( FLAG_IS_VISIBLE & flags)); } @@ -122,7 +122,7 @@ public class WindowDriver extends jogamp.newt.WindowImpl { } protected void updateInsetsImpl(Insets insets) { - // nop .. + // nop .. } @Override diff --git a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/DisplayDriver.java index 4872a9071..52c92a5da 100644 --- a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/DisplayDriver.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,7 +20,7 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. @@ -72,7 +72,7 @@ public class DisplayDriver extends DisplayImpl { DispatchMessages(); } - protected static native boolean initIDs(); + protected static native boolean initIDs(); private native void DispatchMessages(); } diff --git a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java index be99052d7..5a1917419 100644 --- a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,7 +20,7 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. @@ -53,9 +53,9 @@ public class ScreenDriver extends ScreenImpl { protected void closeNativeImpl() { } protected int validateScreenIndex(int idx) { - return 0; // only one screen available - } - + return 0; // only one screen available + } + @Override protected final void collectNativeMonitorModesAndDevicesImpl(MonitorModeProps.Cache cache) { int[] props = new int[ MonitorModeProps.NUM_MONITOR_MODE_PROPERTIES_ALL ]; @@ -92,20 +92,20 @@ public class ScreenDriver extends ScreenImpl { protected boolean setCurrentMonitorModeImpl(final MonitorDevice monitor, final MonitorMode mode) { return false; } - + @Override protected void calcVirtualScreenOriginAndSize(Rectangle vOriginSize) { vOriginSize.set(0, 0, cachedWidth, cachedHeight); } - + /** Called from {@link #initNative()}. */ protected void setScreenSize(int width, int height) { cachedWidth = width; cachedHeight = height; } - + private static int cachedWidth = 0; - private static int cachedHeight = 0; + private static int cachedHeight = 0; protected static native boolean initIDs(); protected native void initNative(); diff --git a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java index e820439d0..560e49e96 100644 --- a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,7 +20,7 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. @@ -65,7 +65,7 @@ public class WindowDriver extends WindowImpl { final EGLGraphicsDevice aDevice = (EGLGraphicsDevice) aScreen.getDevice(); final EGLGraphicsDevice eglDevice = EGLDisplayUtil.eglCreateEGLGraphicsDevice(aDevice.getNativeDisplayID(), aDevice.getConnection(), aDevice.getUnitID()); final DefaultGraphicsScreen eglScreen = new DefaultGraphicsScreen(eglDevice, aScreen.getIndex()); - + final AbstractGraphicsConfiguration cfg = GraphicsConfigurationFactory.getFactory(getScreen().getDisplay().getGraphicsDevice(), capsRequested).chooseGraphicsConfiguration( capsRequested, capsRequested, capabilitiesChooser, eglScreen, VisualIDHolder.VID_UNDEFINED); if (null == cfg) { @@ -89,24 +89,24 @@ public class WindowDriver extends WindowImpl { windowHandleClose = nativeWindowHandle; addWindowListener(LinuxMouseTracker.getSingleton()); addWindowListener(LinuxEventDeviceTracker.getSingleton()); - focusChanged(false, true); + focusChanged(false, true); } protected void closeNativeImpl() { final EGLGraphicsDevice eglDevice = (EGLGraphicsDevice) getGraphicsConfiguration().getScreen().getDevice(); - + removeWindowListener(LinuxMouseTracker.getSingleton()); removeWindowListener(LinuxEventDeviceTracker.getSingleton()); - + if(0!=windowHandleClose) { CloseWindow(windowHandleClose, windowUserData); windowUserData=0; } - + eglDevice.close(); } - protected void requestFocusImpl(boolean reparented) { + protected void requestFocusImpl(boolean reparented) { focusChanged(false, true); } @@ -115,7 +115,7 @@ public class WindowDriver extends WindowImpl { setVisible0(nativeWindowHandle, 0 != ( FLAG_IS_VISIBLE & flags)); visibleChanged(false, 0 != ( FLAG_IS_VISIBLE & flags)); } - + if(0!=nativeWindowHandle) { if(0 != ( FLAG_CHANGE_FULLSCREEN & flags)) { final boolean fs = 0 != ( FLAG_IS_FULLSCREEN & flags) ; @@ -135,11 +135,11 @@ public class WindowDriver extends WindowImpl { System.err.println("setPosition n/a in KD"); } } - + if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) ) { visibleChanged(false, 0 != ( FLAG_IS_VISIBLE & flags)); } - + return true; } @@ -148,9 +148,9 @@ public class WindowDriver extends WindowImpl { } protected void updateInsetsImpl(Insets insets) { - // nop .. + // nop .. } - + //---------------------------------------------------------------------- // Internals only // diff --git a/src/newt/classes/jogamp/newt/driver/intel/gdl/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/intel/gdl/DisplayDriver.java index ee93eb932..4cb566bc2 100644 --- a/src/newt/classes/jogamp/newt/driver/intel/gdl/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/intel/gdl/DisplayDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2012 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.intel.gdl; diff --git a/src/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java index 27b776562..b5202aaf9 100644 --- a/src/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2012 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.intel.gdl; @@ -62,9 +62,9 @@ public class ScreenDriver extends jogamp.newt.ScreenImpl { protected void closeNativeImpl() { } protected int validateScreenIndex(int idx) { - return 0; // only one screen available + return 0; // only one screen available } - + @Override protected final void collectNativeMonitorModesAndDevicesImpl(MonitorModeProps.Cache cache) { int[] props = new int[ MonitorModeProps.NUM_MONITOR_MODE_PROPERTIES_ALL ]; @@ -101,11 +101,11 @@ public class ScreenDriver extends jogamp.newt.ScreenImpl { protected boolean setCurrentMonitorModeImpl(final MonitorDevice monitor, final MonitorMode mode) { return false; } - + protected void calcVirtualScreenOriginAndSize(Rectangle vOriginSize) { vOriginSize.set(0, 0, cachedWidth, cachedHeight); } - + //---------------------------------------------------------------------- // Internals only // @@ -118,7 +118,7 @@ public class ScreenDriver extends jogamp.newt.ScreenImpl { cachedWidth = width; cachedHeight = height; } - + private static int cachedWidth = 0; private static int cachedHeight = 0; } diff --git a/src/newt/classes/jogamp/newt/driver/intel/gdl/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/intel/gdl/WindowDriver.java index 98335f192..80821d4da 100644 --- a/src/newt/classes/jogamp/newt/driver/intel/gdl/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/intel/gdl/WindowDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2012 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.intel.gdl; @@ -108,7 +108,7 @@ public class WindowDriver extends jogamp.newt.WindowImpl { } visibleChanged(false, 0 != ( FLAG_IS_VISIBLE & flags)); } - + return true; } @@ -126,9 +126,9 @@ public class WindowDriver extends jogamp.newt.WindowImpl { } protected void updateInsetsImpl(Insets insets) { - // nop .. + // nop .. } - + //---------------------------------------------------------------------- // Internals only // diff --git a/src/newt/classes/jogamp/newt/driver/kd/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/kd/DisplayDriver.java index 3cd72e971..1b92ca586 100644 --- a/src/newt/classes/jogamp/newt/driver/kd/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/kd/DisplayDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2012 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.kd; diff --git a/src/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java index f893275ca..17cc5dd2f 100644 --- a/src/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2012 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.kd; @@ -58,9 +58,9 @@ public class ScreenDriver extends ScreenImpl { protected void closeNativeImpl() { } protected int validateScreenIndex(int idx) { - return 0; // only one screen available - } - + return 0; // only one screen available + } + @Override protected final void collectNativeMonitorModesAndDevicesImpl(MonitorModeProps.Cache cache) { int[] props = new int[ MonitorModeProps.NUM_MONITOR_MODE_PROPERTIES_ALL ]; @@ -97,16 +97,16 @@ public class ScreenDriver extends ScreenImpl { protected boolean setCurrentMonitorModeImpl(final MonitorDevice monitor, final MonitorMode mode) { return false; } - + protected void calcVirtualScreenOriginAndSize(Rectangle vOriginSize) { vOriginSize.set(0, 0, cachedWidth, cachedHeight); } - + protected void sizeChanged(int w, int h) { cachedWidth = w; cachedHeight = h; } - + private static int cachedWidth = 0; - private static int cachedHeight = 0; + private static int cachedHeight = 0; } diff --git a/src/newt/classes/jogamp/newt/driver/kd/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/kd/WindowDriver.java index c733a3e94..d30d4f025 100644 --- a/src/newt/classes/jogamp/newt/driver/kd/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/kd/WindowDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2012 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.kd; @@ -97,7 +97,7 @@ public class WindowDriver extends WindowImpl { setVisible0(eglWindowHandle, 0 != ( FLAG_IS_VISIBLE & flags)); visibleChanged(false, 0 != ( FLAG_IS_VISIBLE & flags)); } - + if(0!=eglWindowHandle) { if(0 != ( FLAG_CHANGE_FULLSCREEN & flags)) { final boolean fs = 0 != ( FLAG_IS_FULLSCREEN & flags) ; @@ -117,11 +117,11 @@ public class WindowDriver extends WindowImpl { System.err.println("setPosition n/a in KD"); } } - + if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) ) { visibleChanged(false, 0 != ( FLAG_IS_VISIBLE & flags)); } - + return true; } @@ -130,9 +130,9 @@ public class WindowDriver extends WindowImpl { } protected void updateInsetsImpl(Insets insets) { - // nop .. + // nop .. } - + //---------------------------------------------------------------------- // Internals only // diff --git a/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java b/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java index e68b91d82..b7c86a26d 100644 --- a/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java +++ b/src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,7 +20,7 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. @@ -126,7 +126,7 @@ public class LinuxEventDeviceTracker implements WindowListener { try { while(true) { Thread.sleep(1000); - } + } } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -186,7 +186,7 @@ public class LinuxEventDeviceTracker implements WindowListener { /** * The Linux input event interface. * http://www.kernel.org/doc/Documentation/input/input.txt - * + * * struct input_event { * struct timeval time; * unsigned short type; @@ -262,7 +262,7 @@ public class LinuxEventDeviceTracker implements WindowListener { break; case 1: // EV_KEY keyCode = LinuxEVKey2NewtVKey(code); // The device independent code. - keyChar = NewtVKey2Unicode(keyCode, modifiers); // The printable character w/ key modifiers. + keyChar = NewtVKey2Unicode(keyCode, modifiers); // The printable character w/ key modifiers. if(Window.DEBUG_KEY_EVENT) { System.out.println("[EV_KEY: [time "+timeSeconds+":"+timeSecondFraction+"] type "+type+" / code "+code+" = value "+value); } @@ -946,7 +946,7 @@ public class LinuxEventDeviceTracker implements WindowListener { case 248: // mic mute break; // FIXME - default: + default: } if(Window.DEBUG_KEY_EVENT) { diff --git a/src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java b/src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java index 0d6278bfb..1e314b7f4 100644 --- a/src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java +++ b/src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,7 +20,7 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. @@ -48,16 +48,16 @@ import com.jogamp.newt.event.WindowUpdateEvent; * within it's own polling thread. */ public class LinuxMouseTracker implements WindowListener { - + private static final LinuxMouseTracker lmt; - + static { lmt = new LinuxMouseTracker(); final Thread t = new Thread(lmt.mouseDevicePoller, "NEWT-LinuxMouseTracker"); t.setDaemon(true); t.start(); } - + public static LinuxMouseTracker getSingleton() { return lmt; } @@ -71,7 +71,7 @@ public class LinuxMouseTracker implements WindowListener { private short old_buttonDown = 0; private WindowImpl focusedWindow = null; private MouseDevicePoller mouseDevicePoller = new MouseDevicePoller(); - + @Override public void windowResized(WindowEvent e) { } @@ -107,7 +107,7 @@ public class LinuxMouseTracker implements WindowListener { @Override public void windowRepaint(WindowUpdateEvent e) { } - + class MouseDevicePoller implements Runnable { @Override public void run() { @@ -150,17 +150,17 @@ public class LinuxMouseTracker implements WindowListener { yo=(b[0]&128)>0; xd=b[1]; yd=b[2]; - + x+=xd; y-=yd; - + if(x<0) { x=0; } if(y<0) { y=0; } - + buttonDown = 0; if(lb) { buttonDown = MouseEvent.BUTTON1; @@ -171,7 +171,7 @@ public class LinuxMouseTracker implements WindowListener { if(rb) { buttonDown = MouseEvent.BUTTON3; } - + if(null != focusedWindow) { if( x >= focusedWindow.getScreen().getWidth() ) { x = focusedWindow.getScreen().getWidth() - 1; @@ -179,31 +179,31 @@ public class LinuxMouseTracker implements WindowListener { if( y >= focusedWindow.getScreen().getHeight() ) { y = focusedWindow.getScreen().getHeight() - 1; } - int wx = x - focusedWindow.getX(), wy = y - focusedWindow.getY(); - + int wx = x - focusedWindow.getX(), wy = y - focusedWindow.getY(); + if(old_x != x || old_y != y) { // mouse moved - focusedWindow.sendMouseEvent(MouseEvent.EVENT_MOUSE_MOVED, 0, wx, wy, (short)0, 0 ); + focusedWindow.sendMouseEvent(MouseEvent.EVENT_MOUSE_MOVED, 0, wx, wy, (short)0, 0 ); } - + if(old_buttonDown != buttonDown) { // press/release if( 0 != buttonDown ) { - focusedWindow.sendMouseEvent(MouseEvent.EVENT_MOUSE_PRESSED, 0, wx, wy, buttonDown, 0 ); + focusedWindow.sendMouseEvent(MouseEvent.EVENT_MOUSE_PRESSED, 0, wx, wy, buttonDown, 0 ); } else { - focusedWindow.sendMouseEvent(MouseEvent.EVENT_MOUSE_RELEASED, 0, wx, wy, old_buttonDown, 0 ); + focusedWindow.sendMouseEvent(MouseEvent.EVENT_MOUSE_RELEASED, 0, wx, wy, old_buttonDown, 0 ); } - } + } } else { if(Window.DEBUG_MOUSE_EVENT) { System.out.println(x+"/"+y+", hs="+hs+",vs="+vs+",lb="+lb+",rb="+rb+",mb="+mb+",xo="+xo+",yo="+yo+"xd="+xd+",yd="+yd); } } - + old_x = x; old_y = y; old_buttonDown = buttonDown; - + } if(null != fis) { try { @@ -214,5 +214,5 @@ public class LinuxMouseTracker implements WindowListener { } } } - } + } } diff --git a/src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java index a99bc4f23..2dbdfdce7 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2012 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.macosx; @@ -60,19 +60,19 @@ public class DisplayDriver extends DisplayImpl { public static void initSingleton() { // just exist to ensure static init has been run } - + public DisplayDriver() { } protected void dispatchMessagesNative() { // nop } - + protected void createNativeImpl() { aDevice = new MacOSXGraphicsDevice(AbstractGraphicsDevice.DEFAULT_UNIT); } - protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { + protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { aDevice.close(); } diff --git a/src/newt/classes/jogamp/newt/driver/macosx/MacKeyUtil.java b/src/newt/classes/jogamp/newt/driver/macosx/MacKeyUtil.java index baa94facd..a89150d7c 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/MacKeyUtil.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/MacKeyUtil.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,7 +20,7 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. @@ -30,7 +30,7 @@ package jogamp.newt.driver.macosx; import com.jogamp.newt.event.KeyEvent; public class MacKeyUtil { - + // // KeyCodes (Layout Dependent) // @@ -64,17 +64,17 @@ public class MacKeyUtil { private static final short kVK_ANSI_8 = 0x1C; private static final short kVK_ANSI_0 = 0x1D; private static final short kVK_ANSI_RightBracket = 0x1E; - private static final short kVK_ANSI_O = 0x1F; + private static final short kVK_ANSI_O = 0x1F; private static final short kVK_ANSI_U = 0x20; private static final short kVK_ANSI_LeftBracket = 0x21; private static final short kVK_ANSI_I = 0x22; private static final short kVK_ANSI_P = 0x23; private static final short kVK_ANSI_L = 0x25; private static final short kVK_ANSI_J = 0x26; - private static final short kVK_ANSI_Quote = 0x27; + private static final short kVK_ANSI_Quote = 0x27; private static final short kVK_ANSI_K = 0x28; private static final short kVK_ANSI_Semicolon = 0x29; - private static final short kVK_ANSI_Backslash = 0x2A; + private static final short kVK_ANSI_Backslash = 0x2A; private static final short kVK_ANSI_Comma = 0x2B; private static final short kVK_ANSI_Slash = 0x2C; private static final short kVK_ANSI_N = 0x2D; @@ -99,7 +99,7 @@ public class MacKeyUtil { private static final short kVK_ANSI_Keypad7 = 0x59; private static final short kVK_ANSI_Keypad8 = 0x5B; private static final short kVK_ANSI_Keypad9 = 0x5C; - + // // KeyCodes (Layout Independent) // @@ -150,7 +150,7 @@ public class MacKeyUtil { private static final short kVK_RightArrow = 0x7C; private static final short kVK_DownArrow = 0x7D; private static final short kVK_UpArrow = 0x7E; - + // // Key constants handled differently on Mac OS X than other platforms // @@ -230,8 +230,8 @@ public class MacKeyUtil { private static final char NSHelpFunctionKey = 0xF746; private static final char NSModeSwitchFunctionKey = 0xF747; */ - - static short validateKeyCode(short keyCode, char keyChar) { + + static short validateKeyCode(short keyCode, char keyChar) { // OS X Virtual Keycodes switch(keyCode) { // @@ -267,17 +267,17 @@ public class MacKeyUtil { case kVK_ANSI_8: return KeyEvent.VK_8; case kVK_ANSI_0: return KeyEvent.VK_0; case kVK_ANSI_RightBracket: return KeyEvent.VK_CLOSE_BRACKET; - case kVK_ANSI_O: return KeyEvent.VK_O; + case kVK_ANSI_O: return KeyEvent.VK_O; case kVK_ANSI_U: return KeyEvent.VK_U; case kVK_ANSI_LeftBracket: return KeyEvent.VK_OPEN_BRACKET; case kVK_ANSI_I: return KeyEvent.VK_I; case kVK_ANSI_P: return KeyEvent.VK_P; case kVK_ANSI_L: return KeyEvent.VK_L; case kVK_ANSI_J: return KeyEvent.VK_J; - case kVK_ANSI_Quote: return KeyEvent.VK_QUOTE; + case kVK_ANSI_Quote: return KeyEvent.VK_QUOTE; case kVK_ANSI_K: return KeyEvent.VK_K; case kVK_ANSI_Semicolon: return KeyEvent.VK_SEMICOLON; - case kVK_ANSI_Backslash: return KeyEvent.VK_BACK_SLASH; + case kVK_ANSI_Backslash: return KeyEvent.VK_BACK_SLASH; case kVK_ANSI_Comma: return KeyEvent.VK_COMMA; case kVK_ANSI_Slash: return KeyEvent.VK_SLASH; case kVK_ANSI_N: return KeyEvent.VK_N; @@ -302,7 +302,7 @@ public class MacKeyUtil { case kVK_ANSI_Keypad7: return KeyEvent.VK_7; case kVK_ANSI_Keypad8: return KeyEvent.VK_8; case kVK_ANSI_Keypad9: return KeyEvent.VK_9; - + // // KeyCodes (Layout Independent) // @@ -321,7 +321,7 @@ public class MacKeyUtil { case kVK_RightControl: return KeyEvent.VK_CONTROL; // case kVK_Function: return KeyEvent.VK_F; case kVK_F17: return KeyEvent.VK_F17; - // case kVK_VolumeUp: + // case kVK_VolumeUp: // case kVK_VolumeDown: // case kVK_Mute: case kVK_F18: return KeyEvent.VK_F18; @@ -354,7 +354,7 @@ public class MacKeyUtil { case kVK_DownArrow: return KeyEvent.VK_DOWN; case kVK_UpArrow: return KeyEvent.VK_UP; } - + switch (keyChar) { case NSUpArrowFunctionKey: return KeyEvent.VK_UP; case NSDownArrowFunctionKey: return KeyEvent.VK_DOWN; @@ -422,5 +422,5 @@ public class MacKeyUtil { } return (short) keyChar; // let's hope for the best (compatibility of keyChar/keyCode's) - } + } } diff --git a/src/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java index a3bb26731..5d3b7287b 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2011 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.macosx; @@ -44,7 +44,7 @@ import com.jogamp.newt.MonitorDevice; import com.jogamp.newt.MonitorMode; public class ScreenDriver extends ScreenImpl { - + static { DisplayDriver.initSingleton(); } @@ -68,7 +68,7 @@ public class ScreenDriver extends ScreenImpl { } return res; } - + @Override protected final void collectNativeMonitorModesAndDevicesImpl(MonitorModeProps.Cache cache) { int crtIdx = 0; @@ -85,16 +85,16 @@ public class ScreenDriver extends ScreenImpl { final MonitorMode currentMode = getMonitorModeImpl(cache, crtIdx, -1); if ( null == currentMode ) { throw new InternalError("Could not gather current mode of device "+crtIdx+", but gathered "+modeIdx+" modes"); - } + } final int[] monitorProps = getMonitorProps0(crtIdx); if ( null == monitorProps ) { throw new InternalError("Could not gather device "+crtIdx+", but gathered "+modeIdx+" modes"); - } + } // merge monitor-props + supported modes MonitorModeProps.streamInMonitorDevice(null, cache, this, supportedModes, currentMode, monitorProps, 0); - + // next monitor, 1st mode - supportedModes= new ArrayHashSet(); + supportedModes= new ArrayHashSet(); crtIdx++; modeIdx=0; } else { @@ -108,16 +108,16 @@ public class ScreenDriver extends ScreenImpl { protected MonitorMode queryCurrentMonitorModeImpl(MonitorDevice monitor) { return getMonitorModeImpl(null, monitor.getId(), -1); } - + @Override protected boolean setCurrentMonitorModeImpl(MonitorDevice monitor, MonitorMode mode) { return setMonitorMode0(monitor.getId(), mode.getId(), mode.getRotation()); } - + protected int validateScreenIndex(int idx) { - return 0; // big-desktop w/ multiple monitor attached, only one screen available + return 0; // big-desktop w/ multiple monitor attached, only one screen available } - + private native int[] getMonitorProps0(int crt_idx); private native int[] getMonitorMode0(int crt_index, int mode_idx); private native boolean setMonitorMode0(int crt_index, int nativeId, int rot); diff --git a/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java index 08638d868..f36d32772 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.macosx; @@ -53,14 +53,14 @@ import com.jogamp.newt.event.InputEvent; import com.jogamp.newt.event.KeyEvent; public class WindowDriver extends WindowImpl implements MutableSurface, DriverClearFocus, DriverUpdatePosition { - + static { DisplayDriver.initSingleton(); } public WindowDriver() { } - + @Override protected void createNativeImpl() { final AbstractGraphicsConfiguration cfg = GraphicsConfigurationFactory.getFactory(getScreen().getDisplay().getGraphicsDevice(), capsRequested).chooseGraphicsConfiguration( @@ -69,7 +69,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl throw new NativeWindowException("Error choosing GraphicsConfiguration creating window: "+this); } setGraphicsConfiguration(cfg); - reconfigureWindowImpl(getX(), getY(), getWidth(), getHeight(), getReconfigureFlags(FLAG_CHANGE_VISIBILITY, true)); + reconfigureWindowImpl(getX(), getY(), getWidth(), getHeight(), getReconfigureFlags(FLAG_CHANGE_VISIBILITY, true)); if (0 == getWindowHandle()) { throw new NativeWindowException("Error creating window"); } @@ -79,7 +79,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl protected void closeNativeImpl() { try { if(DEBUG_IMPLEMENTATION) { System.err.println("MacWindow.CloseAction "+Thread.currentThread().getName()); } - final long handle = getWindowHandle(); + final long handle = getWindowHandle(); visibleChanged(true, false); setWindowHandle(0); surfaceHandle = 0; @@ -92,16 +92,16 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl } } ); } } catch (Throwable t) { - if(DEBUG_IMPLEMENTATION) { + if(DEBUG_IMPLEMENTATION) { Exception e = new Exception("Warning: closeNative failed - "+Thread.currentThread().getName(), t); e.printStackTrace(); } } } - + @Override protected int lockSurfaceImpl() { - /** + /** * if( isOffscreenInstance ) { * return LOCK_SUCCESS; * } @@ -116,7 +116,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl @Override protected void unlockSurfaceImpl() { - /** + /** * if( isOffscreenInstance ) { * return; * } @@ -129,7 +129,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl } } } - + @Override public final long getSurfaceHandle() { return 0 != sscSurfaceHandle ? sscSurfaceHandle : surfaceHandle; @@ -147,14 +147,14 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl public void run() { orderOut0( 0 != getParentWindowHandle() ? getParentWindowHandle() : getWindowHandle() ); } } ); - } /** this is done by recreation! + } /** this is done by recreation! else if (isVisible()){ OSXUtil.RunOnMainThread(false, new Runnable() { public void run() { orderFront0( 0!=getParentWindowHandle() ? getParentWindowHandle() : getWindowHandle() ); } } ); } */ - } + } } @Override @@ -179,7 +179,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl focusChanged(false, true); } } - + @Override public final void clearFocus() { if(DEBUG_IMPLEMENTATION) { @@ -194,9 +194,9 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl focusChanged(false, false); } } - + private boolean useParent(NativeWindow parent) { return null != parent && 0 != parent.getWindowHandle(); } - + @Override public void updatePosition(int x, int y) { final long handle = getWindowHandle(); @@ -215,8 +215,8 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl // no native event (fullscreen, some reparenting) positionChanged(true, x, y); } - } - + } + @Override protected void sizeChanged(boolean defer, int newWidth, int newHeight, boolean force) { final long handle = getWindowHandle(); @@ -237,7 +237,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl } super.sizeChanged(defer, newWidth, newHeight, force); } - + @Override protected boolean reconfigureWindowImpl(final int x, final int y, final int width, final int height, int flags) { final boolean _isOffscreenInstance = isOffscreenInstance(this, this.getParent()); @@ -250,11 +250,11 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl final boolean useParent = useParent(parent); if( useParent ) { pClientLevelOnSreen = getLocationOnScreenImpl(x, y, parent, useParent); - } else { + } else { pClientLevelOnSreen = new Point(x, y); } } - + if(DEBUG_IMPLEMENTATION) { final AbstractGraphicsConfiguration cWinCfg = this.getGraphicsConfiguration(); final NativeWindow pWin = getParent(); @@ -269,9 +269,9 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl "\n\t, "+getReconfigureFlagsAsString(null, flags)); // Thread.dumpStack(); } - + final boolean setVisible = 0 != ( FLAG_IS_VISIBLE & flags); - + if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) && !setVisible ) { if ( !isOffscreenInstance ) { OSXUtil.RunOnMainThread(false, new Runnable() { @@ -290,11 +290,11 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl if(isOffscreenInstance) { createWindow(true, 0 != getWindowHandle(), pClientLevelOnSreen, 64, 64, false, setVisible, false); } else { - createWindow(false, 0 != getWindowHandle(), pClientLevelOnSreen, width, height, + createWindow(false, 0 != getWindowHandle(), pClientLevelOnSreen, width, height, 0 != ( FLAG_IS_FULLSCREEN & flags), setVisible, 0 != ( FLAG_IS_ALWAYSONTOP & flags)); } } else { - if( width>0 && height>0 ) { + if( width>0 && height>0 ) { if( !isOffscreenInstance ) { OSXUtil.RunOnMainThread(false, new Runnable() { public void run() { @@ -306,7 +306,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl sizeChanged(true, width, height, false); } if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) && setVisible ) { - if( !isOffscreenInstance ) { + if( !isOffscreenInstance ) { OSXUtil.RunOnMainThread(false, new Runnable() { public void run() { orderFront0(getWindowHandle()); @@ -321,7 +321,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl } } if(DEBUG_IMPLEMENTATION) { - System.err.println("MacWindow reconfig.X: clientPos "+pClientLevelOnSreen+", "+width+"x"+height+" -> clientPos "+getLocationOnScreenImpl(0, 0)+", insets: "+getInsets()); + System.err.println("MacWindow reconfig.X: clientPos "+pClientLevelOnSreen+", "+width+"x"+height+" -> clientPos "+getLocationOnScreenImpl(0, 0)+", insets: "+getInsets()); } return true; } @@ -332,28 +332,28 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl final boolean useParent = useParent(parent); return getLocationOnScreenImpl(x, y, parent, useParent); } - + private Point getLocationOnScreenImpl(final int x, final int y, final NativeWindow parent, final boolean useParent) { if( !useParent && !isOffscreenInstance && 0 != surfaceHandle) { return OSXUtil.GetLocationOnScreen(surfaceHandle, true, x, y); } - + final Point p = new Point(x, y); if( useParent ) { p.translate( parent.getLocationOnScreen(null) ); } return p; } - + @Override protected void updateInsetsImpl(Insets insets) { // nop - using event driven insetsChange(..) } - + /** Callback for native screen position change event of the client area. */ - protected void screenPositionChanged(boolean defer, int newX, int newY) { + protected void screenPositionChanged(boolean defer, int newX, int newY) { // passed coordinates are in screen position of the client area - if(getWindowHandle()!=0) { + if(getWindowHandle()!=0) { final NativeWindow parent = getParent(); if( null == parent || isOffscreenInstance ) { if(DEBUG_IMPLEMENTATION) { @@ -362,7 +362,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl positionChanged(defer, newX, newY); } else { // screen position -> rel child window position - Point absPos = new Point(newX, newY); + Point absPos = new Point(newX, newY); Point parentOnScreen = parent.getLocationOnScreen(null); absPos.translate( parentOnScreen.scale(-1, -1) ); if(DEBUG_IMPLEMENTATION) { @@ -374,10 +374,10 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl System.err.println("MacWindow.positionChanged.2 (Screen Pos - IGN): ("+getThreadName()+"): (defer: "+defer+") "+getX()+"/"+getY()+" -> "+newX+"/"+newY); } } - + @Override protected boolean setPointerVisibleImpl(final boolean pointerVisible) { - if( !isOffscreenInstance ) { + if( !isOffscreenInstance ) { return setPointerVisible0(getWindowHandle(), hasFocus(), pointerVisible); } // else may need offscreen solution ? FIXME return false; @@ -385,29 +385,29 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl @Override protected boolean confinePointerImpl(final boolean confine) { - if( !isOffscreenInstance ) { + if( !isOffscreenInstance ) { return confinePointer0(getWindowHandle(), confine); } // else may need offscreen solution ? FIXME return false; } - + @Override protected void warpPointerImpl(final int x, final int y) { - if( !isOffscreenInstance ) { + if( !isOffscreenInstance ) { warpPointer0(getWindowHandle(), x, y); } // else may need offscreen solution ? FIXME } - + @Override public final void sendKeyEvent(short eventType, int modifiers, short keyCode, short keySym, char keyChar) { throw new InternalError("XXX: Adapt Java Code to Native Code Changes"); } - + @Override public final void enqueueKeyEvent(boolean wait, short eventType, int modifiers, short _keyCode, short _keySym, char keyChar) { - throw new InternalError("XXX: Adapt Java Code to Native Code Changes"); + throw new InternalError("XXX: Adapt Java Code to Native Code Changes"); } - + protected final void enqueueKeyEvent(boolean wait, short eventType, int modifiers, short _keyCode, char keyChar, char keySymChar) { // Note that we send the key char for the key code on this // platform -- we do not get any useful key codes out of the system @@ -427,7 +427,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl ", was: pressed "+isKeyPressed(keyCode)+", isModifierKeyCode "+isModifierKeyCode+ ", nativeValid "+isNativeValid()+", isOffscreen "+isOffscreenInstance); } */ - + // OSX delivery order is PRESSED (t0), RELEASED (t1) and TYPED (t2) -> NEWT order: PRESSED (t0) and RELEASED (t1) // Auto-Repeat: OSX delivers only PRESSED, inject auto-repeat RELEASE key _before_ PRESSED switch(eventType) { @@ -451,15 +451,15 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl //---------------------------------------------------------------------- // Internals only - // - - private void createWindow(final boolean offscreenInstance, final boolean recreate, - final PointImmutable pS, final int width, final int height, + // + + private void createWindow(final boolean offscreenInstance, final boolean recreate, + final PointImmutable pS, final int width, final int height, final boolean fullscreen, final boolean visible, final boolean alwaysOnTop) { final long parentWinHandle = getParentWindowHandle(); final long preWinHandle = getWindowHandle(); - + if(DEBUG_IMPLEMENTATION) { System.err.println("MacWindow.createWindow on thread "+Thread.currentThread().getName()+ ": offscreen "+offscreenInstance+", recreate "+recreate+ @@ -474,7 +474,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl setWindowHandle(0); if( 0 == surfaceHandle ) { throw new NativeWindowException("Internal Error - create w/ window, but no Newt NSView"); - } + } OSXUtil.RunOnMainThread(false, new Runnable() { public void run() { changeContentView0(parentWinHandle, preWinHandle, 0); @@ -483,14 +483,14 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl } else { if( 0 != surfaceHandle ) { throw new NativeWindowException("Internal Error - create w/o window, but has Newt NSView"); - } + } surfaceHandle = createView0(pS.getX(), pS.getY(), width, height, fullscreen); if( 0 == surfaceHandle ) { throw new NativeWindowException("Could not create native view "+Thread.currentThread().getName()+" "+this); } } - - final long newWin = createWindow0( pS.getX(), pS.getY(), width, height, fullscreen, + + final long newWin = createWindow0( pS.getX(), pS.getY(), width, height, fullscreen, ( isUndecorated() || offscreenInstance ) ? NSBorderlessWindowMask : NSTitledWindowMask|NSClosableWindowMask|NSMiniaturizableWindowMask|NSResizableWindowMask, NSBackingStoreBuffered, surfaceHandle); @@ -498,9 +498,9 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl throw new NativeWindowException("Could not create native window "+Thread.currentThread().getName()+" "+this); } setWindowHandle( newWin ); - + final boolean isOpaque = getGraphicsConfiguration().getChosenCapabilities().isBackgroundOpaque() && !offscreenInstance; - // Blocking initialization on main-thread! + // Blocking initialization on main-thread! OSXUtil.RunOnMainThread(true, new Runnable() { public void run() { initWindow0( parentWinHandle, newWin, pS.getX(), pS.getY(), width, height, @@ -517,7 +517,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl ie.printStackTrace(); } } - + protected static native boolean initIDs0(); private native long createView0(int x, int y, int w, int h, boolean fullscreen); private native long createWindow0(int x, int y, int w, int h, boolean fullscreen, int windowStyle, int backingStoreType, long view); @@ -543,7 +543,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl private native void changeContentView0(long parentWindowOrView, long window, long view); /** Must be called on Main-Thread */ private native void setWindowClientTopLeftPointAndSize0(long window, int x, int y, int w, int h, boolean display); - /** Must be called on Main-Thread */ + /** Must be called on Main-Thread */ private native void setWindowClientTopLeftPoint0(long window, int x, int y, boolean display); /** Must be called on Main-Thread */ private native void setAlwaysOnTop0(long window, boolean atop); @@ -551,7 +551,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl private static native boolean setPointerVisible0(long windowHandle, boolean hasFocus, boolean visible); private static native boolean confinePointer0(long windowHandle, boolean confine); private static native void warpPointer0(long windowHandle, int x, int y); - + // Window styles private static final int NSBorderlessWindowMask = 0; private static final int NSTitledWindowMask = 1 << 0; @@ -567,5 +567,5 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl private volatile long surfaceHandle = 0; private long sscSurfaceHandle = 0; private boolean isOffscreenInstance = false; - + } diff --git a/src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java index 595d5e952..d3c7416cc 100644 --- a/src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.windows; @@ -52,10 +52,10 @@ public class DisplayDriver extends DisplayImpl { NEWTJNILibLoader.loadNEWT(); sharedClassFactory = new RegisteredClassFactory(newtClassBaseName, WindowDriver.getNewtWndProc0()); - + if (!WindowDriver.initIDs0(RegisteredClassFactory.getHInstance())) { throw new NativeWindowException("Failed to initialize WindowsWindow jmethodIDs"); - } + } } public static void initSingleton() { @@ -76,7 +76,7 @@ public class DisplayDriver extends DisplayImpl { aDevice = new WindowsGraphicsDevice(AbstractGraphicsDevice.DEFAULT_UNIT); } - protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { + protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { sharedClassFactory.releaseSharedClass(); aDevice.close(); } diff --git a/src/newt/classes/jogamp/newt/driver/windows/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/windows/ScreenDriver.java index 621091320..e789b995f 100644 --- a/src/newt/classes/jogamp/newt/driver/windows/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/windows/ScreenDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.windows; @@ -60,7 +60,7 @@ public class ScreenDriver extends ScreenImpl { protected void createNativeImpl() { aScreen = new DefaultGraphicsScreen(getDisplay().getGraphicsDevice(), screen_idx); } - + @Override protected void closeNativeImpl() { } @@ -71,7 +71,7 @@ public class ScreenDriver extends ScreenImpl { private final String getActiveMonitorName(String adapterName, int monitor_idx) { return getActiveMonitorName0(adapterName, monitor_idx); } - + private final MonitorMode getMonitorModeImpl(MonitorModeProps.Cache cache, String adapterName, int crtModeIdx) { if( null == adapterName ) { return null; @@ -107,7 +107,7 @@ public class ScreenDriver extends ScreenImpl { final int[] monitorProps = getMonitorDevice0(adapterName, crtIdx); // merge monitor-props + supported modes MonitorModeProps.streamInMonitorDevice(null, cache, this, supportedModes, currentMode, monitorProps, 0); - + // next monitor, 1st mode supportedModes= new ArrayHashSet(); } @@ -116,7 +116,7 @@ public class ScreenDriver extends ScreenImpl { adapterName = getAdapterName(crtIdx); } } - + @Override protected Rectangle getNativeMonitorDeviceViewportImpl(MonitorDevice monitor) { final String adapterName = getAdapterName(monitor.getId()); @@ -135,7 +135,7 @@ public class ScreenDriver extends ScreenImpl { protected MonitorMode queryCurrentMonitorModeImpl(MonitorDevice monitor) { return getMonitorModeImpl(null, getAdapterName(monitor.getId()), -1); } - + @Override protected boolean setCurrentMonitorModeImpl(MonitorDevice monitor, MonitorMode mode) { return setMonitorMode0(monitor.getId(), @@ -150,14 +150,14 @@ public class ScreenDriver extends ScreenImpl { @Override protected int validateScreenIndex(int idx) { - return 0; // big-desktop w/ multiple monitor attached, only one screen available + return 0; // big-desktop w/ multiple monitor attached, only one screen available } - + @Override protected void calcVirtualScreenOriginAndSize(Rectangle vOriginSize) { vOriginSize.set(getVirtualOriginX0(), getVirtualOriginY0(), getVirtualWidthImpl0(), getVirtualHeightImpl0()); } - + // Native calls private native int getVirtualOriginX0(); private native int getVirtualOriginY0(); diff --git a/src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java index b2e175415..30405aa05 100644 --- a/src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.windows; @@ -74,26 +74,26 @@ public class WindowDriver extends WindowImpl { } final long hWnd = getWindowHandle(); hdc = GDI.GetDC(hWnd); - + // return ( 0 == hdc ) ? LOCK_SURFACE_NOT_READY : ( hdc_old != hdc ) ? LOCK_SURFACE_CHANGED : LOCK_SUCCESS ; - if( 0 == hdc ) { + if( 0 == hdc ) { return LOCK_SURFACE_NOT_READY; - } + } hmon = MonitorFromWindow0(hWnd); - + // Let's not trigger on HDC change, GLDrawableImpl.'s destroy/create is a nop here anyways. // FIXME: Validate against EGL surface creation: ANGLE uses HWND -> fine! - return LOCK_SUCCESS; - + return LOCK_SUCCESS; + /** if( hdc_old == hdc ) { return LOCK_SUCCESS; } - if(DEBUG_IMPLEMENTATION) { + if(DEBUG_IMPLEMENTATION) { System.err.println("WindowsWindow: surface change "+toHexString(hdc_old)+" -> "+toHexString(hdc)); // Thread.dumpStack(); } - return LOCK_SURFACE_CHANGED; */ + return LOCK_SURFACE_CHANGED; */ } @Override @@ -137,24 +137,24 @@ public class WindowDriver extends WindowImpl { } setGraphicsConfiguration(cfg); final VersionNumber winVer = Platform.getOSVersionNumber(); - final int flags = getReconfigureFlags(0, true) & + final int flags = getReconfigureFlags(0, true) & ( FLAG_IS_ALWAYSONTOP | FLAG_IS_UNDECORATED ) ; final long _windowHandle = CreateWindow0(DisplayDriver.getHInstance(), display.getWindowClassName(), display.getWindowClassName(), winVer.getMajor(), winVer.getMinor(), - getParentWindowHandle(), getX(), getY(), getWidth(), getHeight(), autoPosition(), flags); + getParentWindowHandle(), getX(), getY(), getWidth(), getHeight(), autoPosition(), flags); if ( 0 == _windowHandle ) { throw new NativeWindowException("Error creating window"); } setWindowHandle(_windowHandle); windowHandleClose = _windowHandle; - + if(DEBUG_IMPLEMENTATION) { Exception e = new Exception("Info: Window new window handle "+Thread.currentThread().getName()+ " (Parent HWND "+toHexString(getParentWindowHandle())+ ") : HWND "+toHexString(_windowHandle)+", "+Thread.currentThread()); e.printStackTrace(); } - } + } protected void closeNativeImpl() { if(windowHandleClose != 0) { @@ -162,7 +162,7 @@ public class WindowDriver extends WindowImpl { try { GDI.ReleaseDC(windowHandleClose, hdc); } catch (Throwable t) { - if(DEBUG_IMPLEMENTATION) { + if(DEBUG_IMPLEMENTATION) { Exception e = new Exception("Warning: closeNativeImpl failed - "+Thread.currentThread().getName(), t); e.printStackTrace(); } @@ -188,14 +188,14 @@ public class WindowDriver extends WindowImpl { System.err.println("WindowsWindow reconfig: "+x+"/"+y+" "+width+"x"+height+", "+ getReconfigureFlagsAsString(null, flags)); } - + if(0 == ( FLAG_IS_UNDECORATED & flags)) { final InsetsImmutable i = getInsets(); - + // client position -> top-level window position x -= i.getLeftWidth() ; y -= i.getTopHeight() ; - + if(0 top-level window size width += i.getTotalWidth(); @@ -203,9 +203,9 @@ public class WindowDriver extends WindowImpl { } } reconfigureWindow0( getParentWindowHandle(), getWindowHandle(), x, y, width, height, flags); - + if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) ) { - visibleChanged(false, 0 != ( FLAG_IS_VISIBLE & flags)); + visibleChanged(false, 0 != ( FLAG_IS_VISIBLE & flags)); } return true; } @@ -222,7 +222,7 @@ public class WindowDriver extends WindowImpl { @Override protected boolean setPointerVisibleImpl(final boolean pointerVisible) { final boolean[] res = new boolean[] { false }; - + this.runOnEDTIfAvail(true, new Runnable() { public void run() { res[0] = setPointerVisible0(getWindowHandle(), pointerVisible); @@ -234,19 +234,19 @@ public class WindowDriver extends WindowImpl { @Override protected boolean confinePointerImpl(final boolean confine) { final Boolean[] res = new Boolean[] { Boolean.FALSE }; - + this.runOnEDTIfAvail(true, new Runnable() { public void run() { final Point p0 = getLocationOnScreenImpl(0, 0); - res[0] = Boolean.valueOf(confinePointer0(getWindowHandle(), confine, + res[0] = Boolean.valueOf(confinePointer0(getWindowHandle(), confine, p0.getX(), p0.getY(), p0.getX()+getWidth(), p0.getY()+getHeight())); } }); return res[0].booleanValue(); } - + @Override - protected void warpPointerImpl(final int x, final int y) { + protected void warpPointerImpl(final int x, final int y) { this.runOnEDTIfAvail(true, new Runnable() { public void run() { final Point sPos = getLocationOnScreenImpl(x, y); @@ -255,44 +255,44 @@ public class WindowDriver extends WindowImpl { }); return; } - + protected Point getLocationOnScreenImpl(int x, int y) { return GDIUtil.GetRelativeLocation( getWindowHandle(), 0 /*root win*/, x, y); } protected void updateInsetsImpl(Insets insets) { - // nop - using event driven insetsChange(..) + // nop - using event driven insetsChange(..) } - + // // PointerEvent Handling // /** * Send multiple-pointer {@link MouseEvent.PointerType#TouchScreen} event to be directly consumed *

              - * Assumes non normal pointer names and rotation/scroll will be determined by a gesture handler. + * Assumes non normal pointer names and rotation/scroll will be determined by a gesture handler. *

              *

              * See {@link #doPointerEvent(boolean, boolean, PointerType[], short, int, int, boolean, int[], int[], int[], float[], float, float[], float)} * for details. *

              */ - public final void sendTouchScreenEvent(short eventType, int modifiers, + public final void sendTouchScreenEvent(short eventType, int modifiers, int pActionIdx, int[] pNames, int[] pX, int[] pY, float[] pPressure, float maxPressure) { final int pCount = pNames.length; final MouseEvent.PointerType[] pTypes = new MouseEvent.PointerType[pCount]; for(int i=pCount-1; i>=0; i--) { pTypes[i] = PointerType.TouchScreen; } - doPointerEvent(false /*enqueue*/, false /*wait*/, - pTypes, eventType, modifiers, pActionIdx, false /*normalPNames*/, pNames, + doPointerEvent(false /*enqueue*/, false /*wait*/, + pTypes, eventType, modifiers, pActionIdx, false /*normalPNames*/, pNames, pX, pY, pPressure, maxPressure, new float[] { 0f, 0f, 0f} /*rotationXYZ*/, 1f/*rotationScale*/); } - + // // KeyEvent Handling // private short repeatedKey = KeyEvent.VK_UNDEFINED; - + private final boolean handlePressTypedAutoRepeat(boolean isModifierKey, int modifiers, short keyCode, short keySym, char keyChar) { if( setKeyPressed(keyCode, true) ) { // AR: Key was already pressed: Either [enter | within] AR mode @@ -308,18 +308,18 @@ public class WindowDriver extends WindowImpl { super.sendKeyEvent(KeyEvent.EVENT_KEY_RELEASED, modifiers, keyCode, keySym, keyChar); } return true; - } + } return false; } - + @Override public final void sendKeyEvent(short eventType, int modifiers, short keyCode, short keySym, char keyChar) { final boolean isModifierKey = KeyEvent.isModifierKey(keySym); // System.err.println("*** sendKeyEvent: event "+KeyEvent.getEventTypeString(eventType)+", keyCode "+toHexString(keyCode)+", keyChar <"+keyChar+">, mods "+toHexString(modifiers)+ // ", isKeyCodeTracked "+isKeyCodeTracked(keyCode)+", was: pressed "+isKeyPressed(keyCode)+", printableKey "+KeyEvent.isPrintableKey(keyCode, false)+" [modifierKey "+isModifierKey+"] - "+System.currentTimeMillis()); - + // Reorder: WINDOWS delivery order is PRESSED (t0), TYPED (t0) and RELEASED (t1) -> NEWT order: PRESSED (t0) and RELEASED (t1) - // Auto-Repeat: WINDOWS delivers only PRESSED (t0) and TYPED (t0). + // Auto-Repeat: WINDOWS delivers only PRESSED (t0) and TYPED (t0). switch(eventType) { case KeyEvent.EVENT_KEY_RELEASED: if( isKeyCodeTracked(keyCode) ) { @@ -339,12 +339,12 @@ public class WindowDriver extends WindowImpl { break; } } - + @Override public final void enqueueKeyEvent(boolean wait, short eventType, int modifiers, short keyCode, short keySym, char keyChar) { throw new InternalError("XXX: Adapt Java Code to Native Code Changes"); } - + //---------------------------------------------------------------------- // Internals only // @@ -361,5 +361,5 @@ public class WindowDriver extends WindowImpl { private static native boolean setPointerVisible0(long windowHandle, boolean visible); private static native boolean confinePointer0(long windowHandle, boolean grab, int l, int t, int r, int b); - private static native void warpPointer0(long windowHandle, int x, int y); + private static native void warpPointer0(long windowHandle, int x, int y); } diff --git a/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java index d911483b0..aa8067520 100644 --- a/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.x11; @@ -83,7 +83,7 @@ public class DisplayDriver extends DisplayImpl { CompleteDisplay0(aDevice.getHandle()); } catch(RuntimeException e) { closeNativeImpl(aDevice); - throw e; + throw e; } } @@ -114,14 +114,14 @@ public class DisplayDriver extends DisplayImpl { protected long getJavaObjectAtom() { return javaObjectAtom; } protected long getWindowDeleteAtom() { return windowDeleteAtom; } // protected long getKbdHandle() { return kbdHandle; } // XKB disabled for now - - /** Returns null if !{@link #isNativeValid()}, otherwise the Boolean value of {@link X11GraphicsDevice#isXineramaEnabled()}. */ + + /** Returns null if !{@link #isNativeValid()}, otherwise the Boolean value of {@link X11GraphicsDevice#isXineramaEnabled()}. */ protected Boolean isXineramaEnabled() { return isNativeValid() ? Boolean.valueOf(((X11GraphicsDevice)aDevice).isXineramaEnabled()) : null; } - + //---------------------------------------------------------------------- // Internals only // - + private static native boolean initIDs0(boolean debug); private native void CompleteDisplay0(long handle); @@ -137,10 +137,10 @@ public class DisplayDriver extends DisplayImpl { /** X11 Window delete atom marker used on EDT */ private long windowDeleteAtom; - + /** X11 Window java object property used on EDT */ - private long javaObjectAtom; - + private long javaObjectAtom; + /** X11 Keyboard handle used on EDT */ // private long kbdHandle; // XKB disabled for now } diff --git a/src/newt/classes/jogamp/newt/driver/x11/RandR.java b/src/newt/classes/jogamp/newt/driver/x11/RandR.java index e39a6c63a..8b065d1f0 100644 --- a/src/newt/classes/jogamp/newt/driver/x11/RandR.java +++ b/src/newt/classes/jogamp/newt/driver/x11/RandR.java @@ -38,18 +38,18 @@ import com.jogamp.newt.MonitorDevice; import com.jogamp.newt.MonitorMode; public interface RandR { - public static final VersionNumber version110 = new VersionNumber(1, 1, 0); + public static final VersionNumber version110 = new VersionNumber(1, 1, 0); public static final VersionNumber version130 = new VersionNumber(1, 3, 0); public static final VersionNumber version140 = new VersionNumber(1, 4, 0); VersionNumber getVersion(); - + void dumpInfo(final long dpy, final int screen_idx); - + /** - * Encapsulate initial device query allowing caching of internal data structures. + * Encapsulate initial device query allowing caching of internal data structures. * Methods covered: - *
                + *
                  *
                • {@link #getMonitorDeviceCount(long, ScreenDriver)}
                • *
                • {@link #getAvailableRotations(long, ScreenDriver, int)}
                • *
                • {@link #getMonitorModeProps(long, ScreenDriver, int)}
                • @@ -57,7 +57,7 @@ public interface RandR { *
                • {@link #getMonitorDeviceProps(long, ScreenDriver, List, int, MonitorMode)}
                • *
                *

                - * Above methods may be called w/o begin/end, in which case no + * Above methods may be called w/o begin/end, in which case no * internal data structures can be cached: *

                * @param dpy TODO @@ -66,11 +66,11 @@ public interface RandR { */ boolean beginInitialQuery(long dpy, ScreenDriver screen); void endInitialQuery(long dpy, ScreenDriver screen); - + int getMonitorDeviceCount(final long dpy, final ScreenDriver screen); int[] getAvailableRotations(final long dpy, final ScreenDriver screen, final int crt_idx); /** - * + * * @param dpy * @param screen * @param mode_idx w/o indexing rotation @@ -80,7 +80,7 @@ public interface RandR { int[] getMonitorDeviceProps(final long dpy, final ScreenDriver screen, MonitorModeProps.Cache cache, final int crt_idx); int[] getMonitorDeviceViewport(final long dpy, final ScreenDriver screen, final int crt_idx); int[] getCurrentMonitorModeProps(final long dpy, final ScreenDriver screen, final int crt_idx); - boolean setCurrentMonitorMode(final long dpy, final ScreenDriver screen, MonitorDevice monitor, final MonitorMode mode); - - public void updateScreenViewport(final long dpy, final ScreenDriver screen, RectangleImmutable viewport); + boolean setCurrentMonitorMode(final long dpy, final ScreenDriver screen, MonitorDevice monitor, final MonitorMode mode); + + public void updateScreenViewport(final long dpy, final ScreenDriver screen, RectangleImmutable viewport); } diff --git a/src/newt/classes/jogamp/newt/driver/x11/RandR11.java b/src/newt/classes/jogamp/newt/driver/x11/RandR11.java index 877607f72..6c22a3fc6 100644 --- a/src/newt/classes/jogamp/newt/driver/x11/RandR11.java +++ b/src/newt/classes/jogamp/newt/driver/x11/RandR11.java @@ -38,8 +38,8 @@ import com.jogamp.newt.MonitorMode; class RandR11 implements RandR { private static final boolean DEBUG = ScreenDriver.DEBUG; - - RandR11() { + + RandR11() { } @Override @@ -51,13 +51,13 @@ class RandR11 implements RandR { public void dumpInfo(final long dpy, final int screen_idx) { // NOP } - + private int widthMM=0, heightMM=0; private int modeCount = 0; private int resolutionCount = 0; private int[][] nrates = null; // [nres_number][nrate_number] private int[] idx_rate = null, idx_res = null; - + @Override public boolean beginInitialQuery(long dpy, ScreenDriver screen) { // initialize iterators and static data @@ -76,11 +76,11 @@ class RandR11 implements RandR { return false; } } - + for(int nresIdx=0; nresIdx < resolutionCount; nresIdx++) { modeCount += nrates[nresIdx].length; } - + idx_rate = new int[modeCount]; idx_res = new int[modeCount]; @@ -94,23 +94,23 @@ class RandR11 implements RandR { } return true; } - + @Override public void endInitialQuery(long dpy, ScreenDriver screen) { idx_rate=null; - idx_res=null; - nrates=null; + idx_res=null; + nrates=null; } - + @Override public int getMonitorDeviceCount(final long dpy, final ScreenDriver screen) { return 1; } - + @Override public int[] getAvailableRotations(final long dpy, final ScreenDriver screen, final int crt_idx) { if( 0 < crt_idx ) { - // RandR11 only supports 1 CRT + // RandR11 only supports 1 CRT return null; } final int screen_idx = screen.getIndex(); @@ -120,17 +120,17 @@ class RandR11 implements RandR { } return availRotations; } - + @Override public int[] getMonitorModeProps(final long dpy, final ScreenDriver screen, final int mode_idx) { if( mode_idx >= modeCount ) { return null; - } + } final int screen_idx = screen.getIndex(); - + final int nres_index = idx_res[mode_idx]; final int nrate_index = idx_rate[mode_idx]; - + final int[] res = getScreenResolution0(dpy, screen_idx, nres_index); if(null==res || 0==res.length) { return null; @@ -144,7 +144,7 @@ class RandR11 implements RandR { if( res[3] > heightMM ) { heightMM = res[3]; } - + int rate = nrates[nres_index][nrate_index]; if(0>=rate) { rate = ScreenImpl.default_sm_rate; @@ -166,13 +166,13 @@ class RandR11 implements RandR { if( MonitorModeProps.NUM_MONITOR_MODE_PROPERTIES_ALL != i ) { throw new InternalError("XX"); } - return props; + return props; } - + @Override public int[] getMonitorDeviceProps(final long dpy, final ScreenDriver screen, final MonitorModeProps.Cache cache, final int crt_idx) { if( 0 < crt_idx ) { - // RandR11 only supports 1 CRT + // RandR11 only supports 1 CRT return null; } final int[] currentModeProps = getCurrentMonitorModeProps(dpy, screen, crt_idx); @@ -194,15 +194,15 @@ class RandR11 implements RandR { props[i++] = currentMode.getId(); // current mode id props[i++] = currentMode.getRotation(); for(int j=0; jresId || resId>=resolutionCount) { throw new RuntimeException("Invalid resolution index: ! 0 < "+resId+" < "+resolutionCount+", "+monitor+", "+mode); - } + } final int f = (int)mode.getRefreshRate(); // simply cut-off, orig is int final int r = mode.getRotation(); @@ -335,11 +335,11 @@ class RandR11 implements RandR { } return done; } - + @Override public final void updateScreenViewport(final long dpy, final ScreenDriver screen, RectangleImmutable viewport) { // nop - } + } /** @return int[] { rot1, .. } */ private static native int[] getAvailableScreenRotations0(long display, int screen_index); @@ -353,7 +353,7 @@ class RandR11 implements RandR { private static native long getScreenConfiguration0(long display, int screen_index); private static native void freeScreenConfiguration0(long screenConfiguration); - + private static native int getCurrentScreenResolutionIndex0(long screenConfiguration); private static native int getCurrentScreenRate0(long screenConfiguration); private static native int getCurrentScreenRotation0(long screenConfiguration); @@ -361,5 +361,5 @@ class RandR11 implements RandR { /** needs own Display connection for XRANDR event handling */ private static native boolean setCurrentScreenModeStart0(long display, int screen_index, long screenConfiguration, int mode_index, int freq, int rot); private static native boolean setCurrentScreenModePollEnd0(long display, int screen_index, int mode_index, int freq, int rot); - + } diff --git a/src/newt/classes/jogamp/newt/driver/x11/RandR13.java b/src/newt/classes/jogamp/newt/driver/x11/RandR13.java index ac83fc5f2..a08741d9e 100644 --- a/src/newt/classes/jogamp/newt/driver/x11/RandR13.java +++ b/src/newt/classes/jogamp/newt/driver/x11/RandR13.java @@ -43,19 +43,19 @@ import com.jogamp.newt.MonitorMode; *
                  * MonitorMode.id   == XRR mode-id (not index)
                  * MonitorDevice.id == XRR monitor-idx (not id)
                - * 
                + *
              */ class RandR13 implements RandR { private static final boolean DEBUG = ScreenDriver.DEBUG; - - RandR13() { + + RandR13() { } - + @Override public final VersionNumber getVersion() { return version130; } - + @Override public void dumpInfo(final long dpy, final int screen_idx) { long screenResources = getScreenResources0(dpy, screen_idx); @@ -66,12 +66,12 @@ class RandR13 implements RandR { dumpInfo0(dpy, screen_idx, screenResources); } finally { freeScreenResources0(screenResources); - } + } } - + long sessionScreenResources = 0; IntLongHashMap crtInfoHandleMap = null; - + @Override public boolean beginInitialQuery(long dpy, ScreenDriver screen) { final int screen_idx = screen.getIndex(); @@ -84,7 +84,7 @@ class RandR13 implements RandR { return false; } } - + @Override public void endInitialQuery(long dpy, ScreenDriver screen) { if( null != crtInfoHandleMap ) { @@ -100,7 +100,7 @@ class RandR13 implements RandR { sessionScreenResources = 0; } } - + private final long getScreenResourceHandle(final long dpy, final int screen_idx) { if( 0 != sessionScreenResources ) { return sessionScreenResources; @@ -112,7 +112,7 @@ class RandR13 implements RandR { freeScreenResources0( screenResourceHandle ); } } - + private final long getMonitorInfoHandle(final long dpy, final int screen_idx, long screenResources, final int monitor_idx) { if( null != crtInfoHandleMap ) { long h = crtInfoHandleMap.get(monitor_idx); @@ -129,8 +129,8 @@ class RandR13 implements RandR { if( null == crtInfoHandleMap ) { freeMonitorInfoHandle0(monitorInfoHandle); } - } - + } + @Override public int getMonitorDeviceCount(final long dpy, final ScreenDriver screen) { final int screen_idx = screen.getIndex(); @@ -141,7 +141,7 @@ class RandR13 implements RandR { releaseScreenResourceHandle(screenResources); } } - + @Override public int[] getAvailableRotations(final long dpy, final ScreenDriver screen, final int crt_idx) { final int screen_idx = screen.getIndex(); @@ -152,7 +152,7 @@ class RandR13 implements RandR { final int[] availRotations = getAvailableRotations0(monitorInfo); if(null==availRotations || 0==availRotations.length) { return null; - } + } return availRotations; } finally { releaseMonitorInfoHandle(monitorInfo); @@ -161,7 +161,7 @@ class RandR13 implements RandR { releaseScreenResourceHandle(screenResources); } } - + @Override public int[] getMonitorModeProps(final long dpy, final ScreenDriver screen, final int mode_idx) { final int screen_idx = screen.getIndex(); @@ -172,7 +172,7 @@ class RandR13 implements RandR { releaseScreenResourceHandle(screenResources); } } - + @Override public int[] getMonitorDeviceProps(final long dpy, final ScreenDriver screen, MonitorModeProps.Cache cache, final int crt_idx) { final int screen_idx = screen.getIndex(); @@ -188,9 +188,9 @@ class RandR13 implements RandR { releaseScreenResourceHandle(screenResources); } } - + @Override - public int[] getMonitorDeviceViewport(final long dpy, final ScreenDriver screen, final int crt_idx) { + public int[] getMonitorDeviceViewport(final long dpy, final ScreenDriver screen, final int crt_idx) { final int screen_idx = screen.getIndex(); final long screenResources = getScreenResourceHandle(dpy, screen_idx); try { @@ -204,7 +204,7 @@ class RandR13 implements RandR { releaseScreenResourceHandle(screenResources); } } - + @Override public int[] getCurrentMonitorModeProps(final long dpy, final ScreenDriver screen, final int crt_idx) { final int screen_idx = screen.getIndex(); @@ -220,7 +220,7 @@ class RandR13 implements RandR { releaseScreenResourceHandle(screenResources); } } - + @Override public boolean setCurrentMonitorMode(final long dpy, final ScreenDriver screen, MonitorDevice monitor, final MonitorMode mode) { final int screen_idx = screen.getIndex(); @@ -229,7 +229,7 @@ class RandR13 implements RandR { try { final long monitorInfo = getMonitorInfoHandle(dpy, screen_idx, screenResources, monitor.getId()); try { - res = setMonitorMode0(dpy, screenResources, monitorInfo, monitor.getId(), mode.getId(), mode.getRotation(), + res = setMonitorMode0(dpy, screenResources, monitorInfo, monitor.getId(), mode.getId(), mode.getRotation(), -1, -1); // no fixed position! } finally { releaseMonitorInfoHandle(monitorInfo); @@ -239,36 +239,36 @@ class RandR13 implements RandR { } return res; } - + @Override public final void updateScreenViewport(final long dpy, final ScreenDriver screen, final RectangleImmutable viewport) { final int screen_idx = screen.getIndex(); final long screenResources = getScreenResourceHandle(dpy, screen_idx); try { - setScreenViewport0(dpy, screen_idx, screenResources, viewport.getX(), viewport.getY(), viewport.getWidth(), viewport.getHeight()); + setScreenViewport0(dpy, screen_idx, screenResources, viewport.getX(), viewport.getY(), viewport.getWidth(), viewport.getHeight()); } finally { dumpInfo0(dpy, screen_idx, screenResources); releaseScreenResourceHandle(screenResources); } } - + private static native long getScreenResources0(long display, int screen_index); private static native void freeScreenResources0(long screenResources); private static native void dumpInfo0(long display, int screen_index, long screenResources); - + private static native int getMonitorDeviceCount0(long screenResources); - + private static native long getMonitorInfoHandle0(long display, int screen_index, long screenResources, int monitor_index); private static native void freeMonitorInfoHandle0(long monitorInfoHandle); - + private static native int[] getAvailableRotations0(long monitorInfo); private static native int[] getMonitorViewport0(long monitorInfo); private static native int[] getMonitorCurrentMode0(long monitorInfo); - + private static native int[] getMonitorMode0(long screenResources, int mode_index); private static native int[] getMonitorCurrentMode0(long screenResources, long monitorInfo); private static native int[] getMonitorDevice0(long display, long screenResources, long monitorInfo, int monitor_idx); - + private static native boolean setMonitorMode0(long display, long screenResources, long monitorInfo, int monitor_idx, int mode_id, int rotation, int x, int y); private static native boolean setScreenViewport0(long display, int screen_index, long screenResources, int x, int y, int width, int height); } diff --git a/src/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java index c01d899f8..7f75e03f0 100644 --- a/src/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.x11; @@ -54,19 +54,19 @@ import com.jogamp.nativewindow.x11.X11GraphicsScreen; import com.jogamp.newt.MonitorDevice; import com.jogamp.newt.MonitorMode; -public class ScreenDriver extends ScreenImpl { +public class ScreenDriver extends ScreenImpl { protected static final boolean DEBUG_TEST_RANDR13_DISABLED; - + static { Debug.initSingleton(); DEBUG_TEST_RANDR13_DISABLED = Debug.isPropertyDefined("newt.test.Screen.disableRandR13", true); - + DisplayDriver.initSingleton(); } /** Ensure static init has been run. */ /* pp */static void initSingleton() { } - + public ScreenDriver() { } @@ -74,14 +74,14 @@ public class ScreenDriver extends ScreenImpl { protected void createNativeImpl() { // validate screen index Long handle = runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { - public Long run(long dpy) { + public Long run(long dpy) { return new Long(GetScreen0(dpy, screen_idx)); } } ); if (handle.longValue() == 0) { throw new RuntimeException("Error creating screen: " + screen_idx); } - final X11GraphicsDevice x11dev = (X11GraphicsDevice) getDisplay().getGraphicsDevice(); - final long dpy = x11dev.getHandle(); + final X11GraphicsDevice x11dev = (X11GraphicsDevice) getDisplay().getGraphicsDevice(); + final long dpy = x11dev.getHandle(); aScreen = new X11GraphicsScreen(x11dev, screen_idx); { int v[] = getRandRVersion0(dpy); @@ -118,7 +118,7 @@ public class ScreenDriver extends ScreenImpl { if( rAndR.beginInitialQuery(device.getHandle(), this) ) { try { final int crtCount = rAndR.getMonitorDeviceCount(device.getHandle(), this); - + // Gather all available rotations final ArrayHashSet availableRotations = new ArrayHashSet(); for(int i = 0; i < crtCount; i++) { @@ -129,7 +129,7 @@ public class ScreenDriver extends ScreenImpl { availableRotations.addAll(rotationList); } } - + // collect all modes, while injecting all available rotations { int modeIdx = 0; @@ -147,8 +147,8 @@ public class ScreenDriver extends ScreenImpl { if( cache.monitorModes.size() > 0 ) { for(int i = 0; i < crtCount; i++) { final int[] monitorProps = rAndR.getMonitorDeviceProps(device.getHandle(), this, cache, i); - if( null != monitorProps && - MonitorModeProps.MIN_MONITOR_DEVICE_PROPERTIES <= monitorProps[0] && // Enabled ? I.e. contains active modes ? + if( null != monitorProps && + MonitorModeProps.MIN_MONITOR_DEVICE_PROPERTIES <= monitorProps[0] && // Enabled ? I.e. contains active modes ? MonitorModeProps.MIN_MONITOR_DEVICE_PROPERTIES <= monitorProps.length ) { MonitorModeProps.streamInMonitorDevice(null, cache, this, monitorProps, 0); } @@ -174,11 +174,11 @@ public class ScreenDriver extends ScreenImpl { device.unlock(); } } - + @Override protected MonitorMode queryCurrentMonitorModeImpl(final MonitorDevice monitor) { if( null == rAndR ) { return null; } - + return runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { public MonitorMode run(long dpy) { final int[] currentModeProps = rAndR.getCurrentMonitorModeProps(dpy, ScreenDriver.this, monitor.getId()); @@ -189,14 +189,14 @@ public class ScreenDriver extends ScreenImpl { @Override protected boolean setCurrentMonitorModeImpl(final MonitorDevice monitor, final MonitorMode mode) { if( null == rAndR ) { return false; } - + final long t0 = System.currentTimeMillis(); boolean done = runWithOptTempDisplayHandle( new DisplayImpl.DisplayRunnable() { public Boolean run(long dpy) { return Boolean.valueOf( rAndR.setCurrentMonitorMode(dpy, ScreenDriver.this, monitor, mode) ); - } + } }).booleanValue(); - + if(DEBUG || !done) { System.err.println("X11Screen.setCurrentMonitorModeImpl: TO ("+SCREEN_MODE_CHANGE_TIMEOUT+") reached: "+ (System.currentTimeMillis()-t0)+"ms; "+monitor.getCurrentMode()+" -> "+mode); @@ -205,10 +205,10 @@ public class ScreenDriver extends ScreenImpl { } private DisplayImpl.DisplayRunnable xineramaEnabledQueryWithTemp = new DisplayImpl.DisplayRunnable() { - public Boolean run(long dpy) { - return new Boolean(X11Util.XineramaIsEnabled(dpy)); + public Boolean run(long dpy) { + return new Boolean(X11Util.XineramaIsEnabled(dpy)); } }; - + @Override protected int validateScreenIndex(final int idx) { final DisplayDriver x11Display = (DisplayDriver) getDisplay(); @@ -219,7 +219,7 @@ public class ScreenDriver extends ScreenImpl { return runWithTempDisplayHandle( xineramaEnabledQueryWithTemp ).booleanValue() ? 0 : idx; } } - + @Override protected void calcVirtualScreenOriginAndSize(final Rectangle vOriginSize) { final RectangleImmutable ov = (RectangleImmutable) getViewport().cloneMutable(); @@ -244,17 +244,17 @@ public class ScreenDriver extends ScreenImpl { System.err.println("X11Screen.calcVirtualScreenOriginAndSize: Querying X11: "+ov+" -> "+vOriginSize); } } - } - + } + //---------------------------------------------------------------------- // Internals only - // + // private final T runWithLockedDisplayDevice(DisplayRunnable action) { return display.runWithLockedDisplayDevice(action); } - + private final T runWithTempDisplayHandle(DisplayRunnable action) { - final long displayHandle = X11Util.openDisplay(display.getName()); + final long displayHandle = X11Util.openDisplay(display.getName()); if(0 == displayHandle) { throw new RuntimeException("null device"); } @@ -266,7 +266,7 @@ public class ScreenDriver extends ScreenImpl { } return res; } - + private final T runWithOptTempDisplayHandle(DisplayRunnable action) { if( null != rAndR && rAndR.getVersion().compareTo(RandR.version130) >= 0 ) { return display.runWithLockedDisplayDevice(action); @@ -274,12 +274,12 @@ public class ScreenDriver extends ScreenImpl { return runWithTempDisplayHandle(action); } } - + private static native long GetScreen0(long dpy, int scrn_idx); private static native int getWidth0(long display, int scrn_idx); private static native int getHeight0(long display, int scrn_idx); - + private static native int[] getRandRVersion0(long display); } diff --git a/src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java index 806dd270c..02f80c0c3 100644 --- a/src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java @@ -1,22 +1,22 @@ /* * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) 2010 JogAmp Community. 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 @@ -29,7 +29,7 @@ * 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. - * + * */ package jogamp.newt.driver.x11; @@ -57,7 +57,7 @@ public class WindowDriver extends WindowImpl { private static final int X11_WHEEL_ONE_DOWN_BUTTON = 5; private static final int X11_WHEEL_TWO_UP_BUTTON = 6; private static final int X11_WHEEL_TWO_DOWN_BUTTON = 7; - + static { ScreenDriver.initSingleton(); } @@ -70,21 +70,21 @@ public class WindowDriver extends WindowImpl { final ScreenDriver screen = (ScreenDriver) getScreen(); final DisplayDriver display = (DisplayDriver) screen.getDisplay(); final AbstractGraphicsDevice edtDevice = display.getGraphicsDevice(); - - // Decoupled X11 Device/Screen allowing X11 display lock-free off-thread rendering + + // Decoupled X11 Device/Screen allowing X11 display lock-free off-thread rendering final long renderDeviceHandle = X11Util.openDisplay(edtDevice.getConnection()); if( 0 == renderDeviceHandle ) { throw new RuntimeException("Error creating display(GfxCfg/Render): "+edtDevice.getConnection()); } renderDevice = new X11GraphicsDevice(renderDeviceHandle, AbstractGraphicsDevice.DEFAULT_UNIT, true /* owner */); final AbstractGraphicsScreen renderScreen = new X11GraphicsScreen(renderDevice, screen.getIndex()); - + final GraphicsConfigurationFactory factory = GraphicsConfigurationFactory.getFactory(display.getGraphicsDevice(), capsRequested); final AbstractGraphicsConfiguration cfg = factory.chooseGraphicsConfiguration( capsRequested, capsRequested, capabilitiesChooser, renderScreen, VisualIDHolder.VID_UNDEFINED); if(DEBUG_IMPLEMENTATION) { System.err.println("X11Window.createNativeImpl() factory: "+factory+", chosen config: "+cfg); - } + } if (null == cfg) { throw new NativeWindowException("Error choosing GraphicsConfiguration creating window: "+this); } @@ -93,13 +93,13 @@ public class WindowDriver extends WindowImpl { throw new NativeWindowException("Chosen Configuration w/o native visual ID: "+cfg); } setGraphicsConfiguration(cfg); - final int flags = getReconfigureFlags(0, true) & + final int flags = getReconfigureFlags(0, true) & ( FLAG_IS_ALWAYSONTOP | FLAG_IS_UNDECORATED ) ; edtDevice.lock(); - try { + try { setWindowHandle(CreateWindow0(getParentWindowHandle(), - edtDevice.getHandle(), screen.getIndex(), visualID, - display.getJavaObjectAtom(), display.getWindowDeleteAtom(), + edtDevice.getHandle(), screen.getIndex(), visualID, + display.getJavaObjectAtom(), display.getWindowDeleteAtom(), getX(), getY(), getWidth(), getHeight(), autoPosition(), flags)); } finally { edtDevice.unlock(); @@ -117,10 +117,10 @@ public class WindowDriver extends WindowImpl { final AbstractGraphicsDevice edtDevice = display.getGraphicsDevice(); edtDevice.lock(); try { - CloseWindow0(edtDevice.getHandle(), windowHandleClose, + CloseWindow0(edtDevice.getHandle(), windowHandleClose, display.getJavaObjectAtom(), display.getWindowDeleteAtom() /* , display.getKbdHandle() */); // XKB disabled for now } catch (Throwable t) { - if(DEBUG_IMPLEMENTATION) { + if(DEBUG_IMPLEMENTATION) { Exception e = new Exception("Warning: closeNativeImpl failed - "+Thread.currentThread().getName(), t); e.printStackTrace(); } @@ -135,7 +135,7 @@ public class WindowDriver extends WindowImpl { } } - /** + /** *

              * X11 Window supports {@link #FLAG_IS_FULLSCREEN_SPAN} *

              @@ -145,7 +145,7 @@ public class WindowDriver extends WindowImpl { protected boolean isReconfigureFlagSupported(int changeFlags) { return true; // all flags! } - + @Override protected boolean reconfigureWindowImpl(final int x, final int y, final int width, final int height, int flags) { if(DEBUG_IMPLEMENTATION) { @@ -153,8 +153,8 @@ public class WindowDriver extends WindowImpl { } final int _x, _y; if(0 == ( FLAG_IS_UNDECORATED & flags)) { - final InsetsImmutable i = getInsets(); - + final InsetsImmutable i = getInsets(); + // client position -> top-level window position _x = x - i.getLeftWidth() ; _y = y - i.getTopHeight() ; @@ -177,7 +177,7 @@ public class WindowDriver extends WindowImpl { final DisplayDriver display = (DisplayDriver) getScreen().getDisplay(); runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { public Object run(long dpy) { - reconfigureWindow0( dpy, getScreenIndex(), + reconfigureWindow0( dpy, getScreenIndex(), getParentWindowHandle(), getWindowHandle(), display.getWindowDeleteAtom(), _x, _y, width, height, fflags); return null; @@ -205,23 +205,23 @@ public class WindowDriver extends WindowImpl { public Object run(long dpy) { reconfigureWindow0( dpy, getScreenIndex(), getParentWindowHandle(), getWindowHandle(), display.getWindowDeleteAtom(), - getX(), getY(), getWidth(), getHeight(), flags); + getX(), getY(), getWidth(), getHeight(), flags); return null; } }); } super.focusChanged(defer, focusGained); } - + protected void reparentNotify(long newParentWindowHandle) { if(DEBUG_IMPLEMENTATION) { final long p0 = getParentWindowHandle(); System.err.println("Window.reparentNotify ("+getThreadName()+"): "+toHexString(p0)+" -> "+toHexString(newParentWindowHandle)); } } - + @Override - protected void requestFocusImpl(final boolean force) { + protected void requestFocusImpl(final boolean force) { runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { public Object run(long dpy) { requestFocus0(dpy, getWindowHandle(), force); @@ -239,7 +239,7 @@ public class WindowDriver extends WindowImpl { } }); } - + @Override protected boolean setPointerVisibleImpl(final boolean pointerVisible) { return runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { @@ -257,7 +257,7 @@ public class WindowDriver extends WindowImpl { } }).booleanValue(); } - + @Override protected void warpPointerImpl(final int x, final int y) { runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { @@ -267,7 +267,7 @@ public class WindowDriver extends WindowImpl { } }); } - + @Override protected Point getLocationOnScreenImpl(final int x, final int y) { return runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { @@ -279,9 +279,9 @@ public class WindowDriver extends WindowImpl { @Override protected void updateInsetsImpl(Insets insets) { - // nop - using event driven insetsChange(..) + // nop - using event driven insetsChange(..) } - + @Override protected final void doMouseEvent(boolean enqueue, boolean wait, short eventType, int modifiers, int x, int y, short button, float[] rotationXYZ, float rotationScale) { @@ -321,34 +321,34 @@ public class WindowDriver extends WindowImpl { rotationXYZ[0] = -1; modifiers |= InputEvent.SHIFT_MASK; break; - } + } break; } super.doMouseEvent(enqueue, wait, eventType, modifiers, x, y, button, rotationXYZ, rotationScale); } - + /** Called by native TK */ protected final void sendKeyEvent(short eventType, int modifiers, short keyCode, short keySym, char keyChar0, String keyString) { // handleKeyEvent(true, false, eventType, modifiers, keyCode, keyChar); final boolean isModifierKey = KeyEvent.isModifierKey(keyCode); final boolean isAutoRepeat = 0 != ( KeyEvent.AUTOREPEAT_MASK & modifiers ); - final char keyChar = ( null != keyString ) ? keyString.charAt(0) : keyChar0; + final char keyChar = ( null != keyString ) ? keyString.charAt(0) : keyChar0; // System.err.println("*** sendKeyEvent: event "+KeyEvent.getEventTypeString(eventType)+", keyCode "+toHexString(keyCode)+", keyChar <"+keyChar0+">/<"+keyChar+">, keyString "+keyString+", mods "+toHexString(modifiers)+ // ", isKeyCodeTracked "+isKeyCodeTracked(keyCode)+", was: pressed "+isKeyPressed(keyCode)+", repeat "+isAutoRepeat+", [modifierKey "+isModifierKey+"] - "+System.currentTimeMillis()); - + if( !isAutoRepeat || !isModifierKey ) { // ! ( isModifierKey && isAutoRepeat ) switch(eventType) { case KeyEvent.EVENT_KEY_PRESSED: super.sendKeyEvent(KeyEvent.EVENT_KEY_PRESSED, modifiers, keyCode, keySym, keyChar); break; - + case KeyEvent.EVENT_KEY_RELEASED: super.sendKeyEvent(KeyEvent.EVENT_KEY_RELEASED, modifiers, keyCode, keySym, keyChar); break; } } } - + @Override public final void sendKeyEvent(short eventType, int modifiers, short keyCode, short keySym, char keyChar) { throw new InternalError("XXX: Adapt Java Code to Native Code Changes"); @@ -357,33 +357,33 @@ public class WindowDriver extends WindowImpl { public final void enqueueKeyEvent(boolean wait, short eventType, int modifiers, short keyCode, short keySym, char keyChar) { throw new InternalError("XXX: Adapt Java Code to Native Code Changes"); } - + //---------------------------------------------------------------------- // Internals only // private static final String getCurrentThreadName() { return Thread.currentThread().getName(); } // Callback for JNI private static final void dumpStack() { Thread.dumpStack(); } // Callback for JNI - + private final T runWithLockedDisplayDevice(DisplayRunnable action) { return ((DisplayDriver) getScreen().getDisplay()).runWithLockedDisplayDevice(action); } protected static native boolean initIDs0(); - - private native long CreateWindow0(long parentWindowHandle, long display, int screen_index, - int visualID, long javaObjectAtom, long windowDeleteAtom, - int x, int y, int width, int height, boolean autoPosition, int flags); + + private native long CreateWindow0(long parentWindowHandle, long display, int screen_index, + int visualID, long javaObjectAtom, long windowDeleteAtom, + int x, int y, int width, int height, boolean autoPosition, int flags); private native void CloseWindow0(long display, long windowHandle, long javaObjectAtom, long windowDeleteAtom /*, long kbdHandle*/ ); // XKB disabled for now private native void reconfigureWindow0(long display, int screen_index, long parentWindowHandle, long windowHandle, - long windowDeleteAtom, int x, int y, int width, int height, int flags); + long windowDeleteAtom, int x, int y, int width, int height, int flags); private native void requestFocus0(long display, long windowHandle, boolean force); - + private static native void setTitle0(long display, long windowHandle, String title); private static native long getParentWindow0(long display, long windowHandle); private static native boolean setPointerVisible0(long display, long windowHandle, boolean visible); private static native boolean confinePointer0(long display, long windowHandle, boolean grab); private static native void warpPointer0(long display, long windowHandle, int x, int y); - + private long windowHandleClose; private X11GraphicsDevice renderDevice; } diff --git a/src/newt/classes/jogamp/newt/event/NEWTEventTask.java b/src/newt/classes/jogamp/newt/event/NEWTEventTask.java index 93d5e2fb9..38a434279 100644 --- a/src/newt/classes/jogamp/newt/event/NEWTEventTask.java +++ b/src/newt/classes/jogamp/newt/event/NEWTEventTask.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package jogamp.newt.event; import com.jogamp.newt.event.NEWTEvent; diff --git a/src/newt/classes/jogamp/newt/swt/SWTEDTUtil.java b/src/newt/classes/jogamp/newt/swt/SWTEDTUtil.java index 6024195e3..08eacdee5 100644 --- a/src/newt/classes/jogamp/newt/swt/SWTEDTUtil.java +++ b/src/newt/classes/jogamp/newt/swt/SWTEDTUtil.java @@ -40,16 +40,16 @@ import com.jogamp.newt.util.EDTUtil; */ public class SWTEDTUtil implements EDTUtil { public static final boolean DEBUG = Debug.debug("EDT"); - + private final Object edtLock = new Object(); // locking the EDT start/stop state - private final ThreadGroup threadGroup; + private final ThreadGroup threadGroup; private final String name; private final Runnable dispatchMessages; private final org.eclipse.swt.widgets.Display swtDisplay; private NEDT nedt = null; private int start_iter=0; private static long pollPeriod = EDTUtil.defaultEDTPollPeriod; - + public SWTEDTUtil(final com.jogamp.newt.Display newtDisplay, org.eclipse.swt.widgets.Display swtDisplay) { this.threadGroup = Thread.currentThread().getThreadGroup(); this.name=Thread.currentThread().getName()+"-SWTDisplay-"+newtDisplay.getFQName()+"-EDT-"; @@ -61,11 +61,11 @@ public class SWTEDTUtil implements EDTUtil { this.nedt = new NEDT(threadGroup, name); this.nedt.setDaemon(true); // don't stop JVM from shutdown .. } - + public final org.eclipse.swt.widgets.Display getDisplay() { return swtDisplay; } - + @Override public long getPollPeriod() { return pollPeriod; @@ -116,7 +116,7 @@ public class SWTEDTUtil implements EDTUtil { } nedt.start(); } - + @Override public boolean isCurrentThreadEDT() { return !swtDisplay.isDisposed() && swtDisplay.getThread() == Thread.currentThread(); @@ -126,18 +126,18 @@ public class SWTEDTUtil implements EDTUtil { public final boolean isCurrentThreadNEDT() { return nedt == Thread.currentThread(); } - + @Override public final boolean isCurrentThreadEDTorNEDT() { final Thread ct = Thread.currentThread(); return ( !swtDisplay.isDisposed() && ct == swtDisplay.getThread() ) || ct == nedt ; } - + @Override public boolean isRunning() { return nedt.isRunning(); } - + @Override public final boolean invokeStop(boolean wait, Runnable task) { return invokeImpl(wait, task, true); @@ -147,12 +147,12 @@ public class SWTEDTUtil implements EDTUtil { public final boolean invoke(boolean wait, Runnable task) { return invokeImpl(wait, task, false); } - + private static Runnable nullTask = new Runnable() { @Override - public void run() { } + public void run() { } }; - + private final boolean invokeImpl(boolean wait, Runnable task, boolean stop) { Throwable throwable = null; RunnableTask rTask = null; @@ -165,12 +165,12 @@ public class SWTEDTUtil implements EDTUtil { System.err.println(Thread.currentThread()+": Warning: SWT-EDT about (1) to stop, won't enqueue new task: "+nedt+", isRunning "+nedt.isRunning+", shouldStop "+nedt.shouldStop); Thread.dumpStack(); } - return false; + return false; } if( swtDisplay.isDisposed() ) { stop = true; } - + if( isCurrentThreadEDT() ) { if(null != task) { task.run(); @@ -179,7 +179,7 @@ public class SWTEDTUtil implements EDTUtil { if( stop ) { nedt.shouldStop = true; } - } else { + } else { if( !nedt.isRunning && !swtDisplay.isDisposed() ) { if( null != task ) { if( stop ) { @@ -210,11 +210,11 @@ public class SWTEDTUtil implements EDTUtil { return false; } } - + if( null != task ) { rTask = new RunnableTask(task, wait ? rTaskLock : null, - true /* always catch and report Exceptions, don't disturb EDT */, + true /* always catch and report Exceptions, don't disturb EDT */, wait ? null : System.err); swtDisplay.asyncExec(rTask); } @@ -238,7 +238,7 @@ public class SWTEDTUtil implements EDTUtil { } return true; } - } + } @Override final public boolean waitUntilIdle() { @@ -278,7 +278,7 @@ public class SWTEDTUtil implements EDTUtil { } } } - + class NEDT extends Thread { volatile boolean shouldStop = false; volatile boolean isRunning = false; @@ -298,7 +298,7 @@ public class SWTEDTUtil implements EDTUtil { super.start(); } - /** + /** * Utilizing locking only on tasks and its execution, * not for event dispatching. */ @@ -315,7 +315,7 @@ public class SWTEDTUtil implements EDTUtil { // EDT invoke thread is SWT-EDT, // hence dispatching is required to run on SWT-EDT as well. // Otherwise a deadlock may happen due to dispatched event's - // triggering a locking action. + // triggering a locking action. if ( !swtDisplay.isDisposed() ) { swtDisplay.syncExec(dispatchMessages); } else { @@ -343,7 +343,7 @@ public class SWTEDTUtil implements EDTUtil { } } finally { if(DEBUG) { - System.err.println(getName()+": SWT-EDT run() END "+ getName()+", "+error); + System.err.println(getName()+": SWT-EDT run() END "+ getName()+", "+error); } synchronized(edtLock) { isRunning = false; @@ -358,5 +358,5 @@ public class SWTEDTUtil implements EDTUtil { } // finally } // run() } // EventDispatchThread - + } diff --git a/src/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java b/src/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java index 3782a1186..b5c45c1aa 100644 --- a/src/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java +++ b/src/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions 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. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,12 +20,12 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ - + package jogamp.newt.swt.event; import org.eclipse.swt.SWT; @@ -206,7 +206,7 @@ public class SWTNewtEventFactory { } return res; } - + public static final com.jogamp.newt.event.MouseEvent createMouseEvent(org.eclipse.swt.widgets.Event event, Object source) { switch(event.type) { case SWT.MouseDown: @@ -229,7 +229,7 @@ public class SWTNewtEventFactory { } int mods = swtModifiers2Newt(event.stateMask, true); - + if( source instanceof com.jogamp.newt.Window) { final com.jogamp.newt.Window newtSource = (com.jogamp.newt.Window)source; if(newtSource.isPointerConfined()) { @@ -239,7 +239,7 @@ public class SWTNewtEventFactory { mods |= InputEvent.INVISIBLE_MASK; } } - + return new com.jogamp.newt.event.MouseEvent( type, (null==source)?(Object)event.data:source, (0xFFFFFFFFL & (long)event.time), mods, event.x, event.y, (short)event.count, (short)event.button, MouseEvent.getRotationXYZ(rotation, mods), 1f); @@ -260,32 +260,32 @@ public class SWTNewtEventFactory { final short newtKeyCode = swtKeyCode2NewtKeyCode( event.keyCode ); return com.jogamp.newt.event.KeyEvent.create( type, (null==source)?(Object)event.data:source, (0xFFFFFFFFL & (long)event.time), - swtModifiers2Newt(event.stateMask, false), + swtModifiers2Newt(event.stateMask, false), newtKeyCode, newtKeyCode, event.character); } return null; // no mapping .. } - + // // // - + short dragButtonDown = 0; - + public SWTNewtEventFactory() { resetButtonsDown(); } - + final void resetButtonsDown() { dragButtonDown = 0; } - + public final boolean dispatchMouseEvent(org.eclipse.swt.widgets.Event event, Object source, com.jogamp.newt.event.MouseListener l) { com.jogamp.newt.event.MouseEvent res = createMouseEvent(event, source); if(null != res) { if(null != l) { switch(event.type) { - case SWT.MouseDown: + case SWT.MouseDown: dragButtonDown = (short) event.button; l.mousePressed(res); break; case SWT.MouseUp: @@ -293,7 +293,7 @@ public class SWTNewtEventFactory { l.mouseReleased(res); { final com.jogamp.newt.event.MouseEvent res2 = new com.jogamp.newt.event.MouseEvent( - com.jogamp.newt.event.MouseEvent.EVENT_MOUSE_CLICKED, + com.jogamp.newt.event.MouseEvent.EVENT_MOUSE_CLICKED, res.getSource(), res.getWhen(), res.getModifiers(), res.getX(), res.getY(), res.getClickCount(), @@ -304,7 +304,7 @@ public class SWTNewtEventFactory { case SWT.MouseMove: if( 0 < dragButtonDown ) { final com.jogamp.newt.event.MouseEvent res2 = new com.jogamp.newt.event.MouseEvent( - com.jogamp.newt.event.MouseEvent.EVENT_MOUSE_DRAGGED, + com.jogamp.newt.event.MouseEvent.EVENT_MOUSE_DRAGGED, res.getSource(), res.getWhen(), res.getModifiers(), res.getX(), res.getY(), res.getClickCount(), @@ -315,14 +315,14 @@ public class SWTNewtEventFactory { } break; case SWT.MouseEnter: - l.mouseEntered(res); + l.mouseEntered(res); break; case SWT.MouseExit: resetButtonsDown(); - l.mouseExited(res); + l.mouseExited(res); break; case SWT.MouseVerticalWheel: - l.mouseWheelMoved(res); + l.mouseWheelMoved(res); break; } } @@ -337,7 +337,7 @@ public class SWTNewtEventFactory { if(null != l) { switch(event.type) { case SWT.KeyDown: - l.keyPressed(res); + l.keyPressed(res); break; case SWT.KeyUp: l.keyReleased(res); @@ -347,9 +347,9 @@ public class SWTNewtEventFactory { return true; } return false; - } - - public final void attachDispatchListener(final org.eclipse.swt.widgets.Control ctrl, final Object source, + } + + public final void attachDispatchListener(final org.eclipse.swt.widgets.Control ctrl, final Object source, final com.jogamp.newt.event.MouseListener ml, final com.jogamp.newt.event.KeyListener kl) { final Listener listener = new Listener () { -- cgit v1.2.3 From f1ae8ddb87c88a57dce4593f006881ef6a7f0932 Mon Sep 17 00:00:00 2001 From: Harvey Harrison Date: Thu, 17 Oct 2013 22:51:47 -0700 Subject: jogl: add missing @Override annotations Signed-off-by: Harvey Harrison --- .../com/jogamp/audio/windows/waveout/Mixer.java | 2 ++ .../com/jogamp/audio/windows/waveout/Vec3f.java | 1 + .../gluegen/opengl/BuildComposablePipeline.java | 31 +++++++++++++++++ .../com/jogamp/gluegen/opengl/GLEmitter.java | 3 ++ .../jogamp/gluegen/opengl/ant/StaticGLGenTask.java | 1 + .../NativeSignatureJavaMethodBindingEmitter.java | 6 ++++ .../runtime/opengl/GLProcAddressResolver.java | 1 + .../com/jogamp/graph/curve/OutlineShape.java | 3 ++ .../com/jogamp/graph/curve/opengl/RenderState.java | 1 + src/jogl/classes/com/jogamp/graph/font/Font.java | 1 + .../classes/com/jogamp/graph/geom/Outline.java | 3 ++ .../classes/com/jogamp/graph/geom/Triangle.java | 1 + src/jogl/classes/com/jogamp/graph/geom/Vertex.java | 1 + .../com/jogamp/graph/geom/opengl/SVertex.java | 21 ++++++++++++ src/jogl/classes/com/jogamp/opengl/FBObject.java | 4 +++ .../com/jogamp/opengl/GLRendererQuirks.java | 1 + .../opengl/cg/CgDynamicLibraryBundleInfo.java | 1 + .../com/jogamp/opengl/math/geom/AABBox.java | 3 ++ .../classes/com/jogamp/opengl/swt/GLCanvas.java | 1 + .../com/jogamp/opengl/util/AWTAnimatorImpl.java | 3 ++ .../classes/com/jogamp/opengl/util/Animator.java | 13 ++++++++ .../com/jogamp/opengl/util/AnimatorBase.java | 4 +++ .../jogamp/opengl/util/DefaultAnimatorImpl.java | 2 ++ .../com/jogamp/opengl/util/FPSAnimator.java | 14 ++++++++ .../com/jogamp/opengl/util/GLArrayDataClient.java | 1 + .../jogamp/opengl/util/GLArrayDataEditable.java | 1 + .../com/jogamp/opengl/util/GLArrayDataServer.java | 5 +++ .../com/jogamp/opengl/util/GLPixelBuffer.java | 2 ++ .../com/jogamp/opengl/util/ImmModeSink.java | 2 ++ .../classes/com/jogamp/opengl/util/PMVMatrix.java | 1 + .../com/jogamp/opengl/util/TileRendererBase.java | 1 + .../classes/com/jogamp/opengl/util/TimeFrameI.java | 1 + .../com/jogamp/opengl/util/av/AudioSink.java | 3 ++ .../com/jogamp/opengl/util/av/GLMediaPlayer.java | 1 + .../jogamp/opengl/util/awt/AWTGLPixelBuffer.java | 4 +++ .../com/jogamp/opengl/util/awt/TextRenderer.java | 32 ++++++++++++++++++ .../com/jogamp/opengl/util/glsl/ShaderCode.java | 3 ++ .../com/jogamp/opengl/util/glsl/ShaderProgram.java | 3 ++ .../jogamp/opengl/util/glsl/sdk/CompileShader.java | 1 + .../opengl/util/glsl/sdk/CompileShaderNVidia.java | 4 +++ .../com/jogamp/opengl/util/packrect/Level.java | 2 ++ .../com/jogamp/opengl/util/packrect/Rect.java | 1 + .../opengl/util/packrect/RectanglePacker.java | 2 ++ .../com/jogamp/opengl/util/texture/Texture.java | 1 + .../jogamp/opengl/util/texture/TextureCoords.java | 1 + .../jogamp/opengl/util/texture/TextureData.java | 1 + .../com/jogamp/opengl/util/texture/TextureIO.java | 14 ++++++++ .../opengl/util/texture/TextureSequence.java | 1 + .../jogamp/opengl/util/texture/TextureState.java | 1 + .../jogamp/opengl/util/texture/spi/JPEGImage.java | 2 ++ .../opengl/util/texture/spi/LEDataInputStream.java | 18 ++++++++++ .../util/texture/spi/LEDataOutputStream.java | 15 +++++++++ .../util/texture/spi/NetPbmTextureWriter.java | 1 + .../jogamp/opengl/util/texture/spi/PNGImage.java | 1 + .../jogamp/opengl/util/texture/spi/SGIImage.java | 2 ++ .../jogamp/opengl/util/texture/spi/TGAImage.java | 1 + .../util/texture/spi/awt/IIOTextureProvider.java | 3 ++ .../util/texture/spi/awt/IIOTextureWriter.java | 1 + .../classes/javax/media/opengl/GLArrayData.java | 1 + .../classes/javax/media/opengl/GLDebugMessage.java | 1 + .../javax/media/opengl/GLDrawableFactory.java | 1 + src/jogl/classes/javax/media/opengl/GLProfile.java | 5 +++ .../classes/javax/media/opengl/GLUniformData.java | 1 + .../classes/javax/media/opengl/awt/GLCanvas.java | 10 ++++-- .../opengl/glu/GLUtessellatorCallbackAdapter.java | 12 +++++++ .../graph/curve/opengl/RegionRendererImpl01.java | 1 + .../jogamp/graph/curve/opengl/RenderStateImpl.java | 3 ++ .../jogamp/graph/curve/opengl/VBORegion2PES2.java | 3 ++ .../jogamp/graph/curve/opengl/VBORegionSPES2.java | 3 ++ .../jogamp/graph/curve/tess/CDTriangulator2D.java | 3 ++ .../classes/jogamp/graph/font/JavaFontLoader.java | 3 ++ .../jogamp/graph/font/UbuntuFontLoader.java | 2 ++ .../jogamp/graph/font/typecast/TypecastFont.java | 14 ++++++++ .../font/typecast/TypecastFontConstructor.java | 4 +++ .../jogamp/graph/font/typecast/TypecastGlyph.java | 8 +++++ .../graph/font/typecast/TypecastHMetrics.java | 6 ++++ .../jogamp/graph/font/typecast/ot/OTFont.java | 1 + .../graph/font/typecast/ot/table/BaseTable.java | 13 ++++++++ .../graph/font/typecast/ot/table/CffTable.java | 14 ++++++++ .../font/typecast/ot/table/CharstringType2.java | 3 ++ .../font/typecast/ot/table/ClassDefFormat1.java | 1 + .../font/typecast/ot/table/ClassDefFormat2.java | 1 + .../graph/font/typecast/ot/table/CmapFormat.java | 1 + .../graph/font/typecast/ot/table/CmapFormat0.java | 3 ++ .../graph/font/typecast/ot/table/CmapFormat2.java | 3 ++ .../graph/font/typecast/ot/table/CmapFormat4.java | 4 +++ .../graph/font/typecast/ot/table/CmapFormat6.java | 3 ++ .../font/typecast/ot/table/CmapFormatUnknown.java | 3 ++ .../font/typecast/ot/table/CmapIndexEntry.java | 2 ++ .../graph/font/typecast/ot/table/CmapTable.java | 3 ++ .../font/typecast/ot/table/CoverageFormat1.java | 2 ++ .../font/typecast/ot/table/CoverageFormat2.java | 2 ++ .../graph/font/typecast/ot/table/CvtTable.java | 3 ++ .../font/typecast/ot/table/DirectoryEntry.java | 2 ++ .../graph/font/typecast/ot/table/DsigTable.java | 3 ++ .../graph/font/typecast/ot/table/FpgmTable.java | 3 ++ .../graph/font/typecast/ot/table/GaspRange.java | 1 + .../graph/font/typecast/ot/table/GaspTable.java | 3 ++ .../typecast/ot/table/GlyfCompositeDescript.java | 7 ++++ .../graph/font/typecast/ot/table/GlyfDescript.java | 6 ++++ .../font/typecast/ot/table/GlyfSimpleDescript.java | 8 +++++ .../graph/font/typecast/ot/table/GlyfTable.java | 2 ++ .../graph/font/typecast/ot/table/GposTable.java | 3 ++ .../graph/font/typecast/ot/table/GsubTable.java | 4 +++ .../graph/font/typecast/ot/table/HdmxTable.java | 3 ++ .../graph/font/typecast/ot/table/HeadTable.java | 3 ++ .../graph/font/typecast/ot/table/HheaTable.java | 3 ++ .../graph/font/typecast/ot/table/HmtxTable.java | 3 ++ .../typecast/ot/table/KernSubtableFormat0.java | 2 ++ .../typecast/ot/table/KernSubtableFormat2.java | 2 ++ .../graph/font/typecast/ot/table/KernTable.java | 2 ++ .../typecast/ot/table/LigatureSubstFormat1.java | 1 + .../graph/font/typecast/ot/table/LocaTable.java | 3 ++ .../graph/font/typecast/ot/table/LtshTable.java | 3 ++ .../graph/font/typecast/ot/table/MaxpTable.java | 3 ++ .../graph/font/typecast/ot/table/NameRecord.java | 1 + .../graph/font/typecast/ot/table/NameTable.java | 2 ++ .../graph/font/typecast/ot/table/Os2Table.java | 3 ++ .../graph/font/typecast/ot/table/Panose.java | 1 + .../graph/font/typecast/ot/table/PcltTable.java | 3 ++ .../graph/font/typecast/ot/table/PostTable.java | 3 ++ .../graph/font/typecast/ot/table/PrepTable.java | 3 ++ .../font/typecast/ot/table/SignatureBlock.java | 1 + .../font/typecast/ot/table/SingleSubstFormat1.java | 3 ++ .../font/typecast/ot/table/SingleSubstFormat2.java | 3 ++ .../font/typecast/ot/table/TableDirectory.java | 1 + .../graph/font/typecast/ot/table/VdmxTable.java | 3 ++ .../graph/font/typecast/ot/table/VheaTable.java | 3 ++ .../graph/font/typecast/ot/table/VmtxTable.java | 3 ++ .../graph/font/typecast/tt/engine/Parser.java | 1 + .../classes/jogamp/graph/geom/plane/Path2D.java | 5 +++ src/jogl/classes/jogamp/opengl/Debug.java | 1 + .../opengl/DesktopGLDynamicLookupHelper.java | 1 + src/jogl/classes/jogamp/opengl/FPSCounterImpl.java | 11 ++++++ src/jogl/classes/jogamp/opengl/GLContextImpl.java | 1 + .../jogamp/opengl/GLDebugMessageHandler.java | 2 ++ .../classes/jogamp/opengl/GLDrawableHelper.java | 4 ++- .../jogamp/opengl/GLDynamicLibraryBundleInfo.java | 1 + .../jogamp/opengl/GLOffscreenAutoDrawableImpl.java | 1 + src/jogl/classes/jogamp/opengl/GLRunnableTask.java | 1 + src/jogl/classes/jogamp/opengl/GLWorkerThread.java | 1 + src/jogl/classes/jogamp/opengl/MemoryObject.java | 2 ++ .../jogamp/opengl/SharedResourceRunner.java | 1 + src/jogl/classes/jogamp/opengl/ThreadingImpl.java | 1 + .../jogamp/opengl/awt/AWTThreadingPlugin.java | 3 ++ .../classes/jogamp/opengl/awt/AWTTilePainter.java | 1 + src/jogl/classes/jogamp/opengl/awt/Java2D.java | 3 ++ .../classes/jogamp/opengl/awt/VersionApplet.java | 9 +++++ .../egl/DesktopES2DynamicLibraryBundleInfo.java | 5 +++ .../classes/jogamp/opengl/egl/EGLDisplayUtil.java | 3 ++ .../classes/jogamp/opengl/egl/EGLDrawable.java | 1 + .../opengl/egl/EGLES1DynamicLibraryBundleInfo.java | 1 + .../opengl/egl/EGLES2DynamicLibraryBundleInfo.java | 1 + .../egl/EGLGraphicsConfigurationFactory.java | 1 + .../jogamp/opengl/egl/EGLUpstreamSurfaceHook.java | 1 + .../classes/jogamp/opengl/glu/GLUquadricImpl.java | 6 ++++ .../opengl/glu/gl2/nurbs/GL2CurveEvaluator.java | 6 ++++ .../opengl/glu/gl2/nurbs/GL2SurfaceEvaluator.java | 8 +++++ .../jogamp/opengl/glu/mipmap/Extract1010102.java | 2 ++ .../jogamp/opengl/glu/mipmap/Extract1555rev.java | 2 ++ .../opengl/glu/mipmap/Extract2101010rev.java | 2 ++ .../jogamp/opengl/glu/mipmap/Extract233rev.java | 2 ++ .../jogamp/opengl/glu/mipmap/Extract332.java | 2 ++ .../jogamp/opengl/glu/mipmap/Extract4444.java | 2 ++ .../jogamp/opengl/glu/mipmap/Extract4444rev.java | 2 ++ .../jogamp/opengl/glu/mipmap/Extract5551.java | 2 ++ .../jogamp/opengl/glu/mipmap/Extract565.java | 2 ++ .../jogamp/opengl/glu/mipmap/Extract565rev.java | 2 ++ .../jogamp/opengl/glu/mipmap/Extract8888.java | 2 ++ .../jogamp/opengl/glu/mipmap/Extract8888rev.java | 2 ++ .../jogamp/opengl/glu/mipmap/ExtractFloat.java | 2 ++ .../jogamp/opengl/glu/mipmap/ExtractSByte.java | 2 ++ .../jogamp/opengl/glu/mipmap/ExtractSInt.java | 2 ++ .../jogamp/opengl/glu/mipmap/ExtractSShort.java | 2 ++ .../jogamp/opengl/glu/mipmap/ExtractUByte.java | 2 ++ .../jogamp/opengl/glu/mipmap/ExtractUInt.java | 2 ++ .../jogamp/opengl/glu/mipmap/ExtractUShort.java | 2 ++ .../opengl/glu/tessellator/PriorityQHeap.java | 7 ++++ .../opengl/glu/tessellator/PriorityQSort.java | 7 ++++ .../jogamp/opengl/glu/tessellator/Render.java | 3 ++ .../jogamp/opengl/glu/tessellator/Sweep.java | 2 ++ .../jogamp/opengl/macosx/cgl/MacOSXCGLContext.java | 1 + .../macosx/cgl/MacOSXCGLDrawableFactory.java | 1 + .../macosx/cgl/MacOSXCGLGraphicsConfiguration.java | 1 + .../cgl/MacOSXCGLGraphicsConfigurationFactory.java | 1 + .../MacOSXAWTCGLGraphicsConfigurationFactory.java | 1 + .../opengl/util/GLArrayHandlerInterleaved.java | 3 ++ .../jogamp/opengl/util/GLDataArrayHandler.java | 3 ++ .../jogamp/opengl/util/GLFixedArrayHandler.java | 3 ++ .../opengl/util/GLFixedArrayHandlerFlat.java | 3 ++ .../jogamp/opengl/util/GLVBOArrayHandler.java | 1 + .../jogamp/opengl/util/av/EGLMediaPlayerImpl.java | 1 + .../jogamp/opengl/util/av/GLMediaPlayerImpl.java | 5 +++ .../av/impl/FFMPEGDynamicLibraryBundleInfo.java | 2 ++ .../opengl/util/av/impl/FFMPEGMediaPlayer.java | 1 + .../jogamp/opengl/util/glsl/GLSLArrayHandler.java | 3 ++ .../opengl/util/glsl/GLSLArrayHandlerFlat.java | 3 ++ .../util/glsl/GLSLArrayHandlerInterleaved.java | 3 ++ .../opengl/util/glsl/fixedfunc/FixedFuncHook.java | 39 ++++++++++++++++++++++ .../util/glsl/fixedfunc/FixedFuncPipeline.java | 1 + .../jogamp/opengl/util/jpeg/JPEGDecoder.java | 12 +++++++ .../classes/jogamp/opengl/util/pngj/ImageLine.java | 1 + .../jogamp/opengl/util/pngj/ImageLineHelper.java | 1 + .../jogamp/opengl/util/pngj/PngHelperInternal.java | 1 + .../classes/jogamp/opengl/util/pngj/PngReader.java | 1 + .../opengl/util/pngj/chunks/ChunkHelper.java | 2 ++ .../jogamp/opengl/util/pngj/chunks/ChunkRaw.java | 1 + .../jogamp/opengl/util/pngj/chunks/ChunksList.java | 4 +++ .../util/pngj/chunks/ChunksListForWrite.java | 2 ++ .../opengl/util/pngj/chunks/PngChunkSingle.java | 1 + .../opengl/util/pngj/chunks/PngMetadata.java | 1 + .../windows/wgl/WindowsWGLDrawableFactory.java | 1 + .../wgl/WindowsWGLGraphicsConfiguration.java | 2 ++ .../WindowsWGLGraphicsConfigurationFactory.java | 1 + .../WindowsAWTWGLGraphicsConfigurationFactory.java | 1 + .../opengl/x11/glx/X11GLXDrawableFactory.java | 1 + .../x11/glx/X11GLXGraphicsConfiguration.java | 2 ++ .../glx/X11GLXGraphicsConfigurationFactory.java | 1 + .../nativewindow/awt/AWTGraphicsConfiguration.java | 1 + .../jogamp/nativewindow/awt/AWTGraphicsScreen.java | 1 + .../nativewindow/awt/AWTWindowClosingProtocol.java | 2 ++ .../nativewindow/awt/DirectDataBufferInt.java | 4 +++ .../nativewindow/macosx/MacOSXGraphicsDevice.java | 1 + .../com/jogamp/nativewindow/swt/SWTAccessor.java | 4 +++ .../windows/WindowsGraphicsDevice.java | 1 + .../jogamp/nativewindow/x11/X11GraphicsScreen.java | 1 + .../nativewindow/DefaultCapabilitiesChooser.java | 1 + .../nativewindow/DefaultGraphicsConfiguration.java | 4 +++ .../media/nativewindow/DefaultGraphicsScreen.java | 2 ++ .../nativewindow/GraphicsConfigurationFactory.java | 2 ++ .../media/nativewindow/NativeWindowFactory.java | 4 +++ .../javax/media/nativewindow/ProxySurface.java | 1 + .../javax/media/nativewindow/VisualIDHolder.java | 1 + .../javax/media/nativewindow/util/Dimension.java | 2 ++ .../nativewindow/util/DimensionImmutable.java | 2 ++ .../javax/media/nativewindow/util/Insets.java | 3 ++ .../media/nativewindow/util/InsetsImmutable.java | 2 ++ .../javax/media/nativewindow/util/Point.java | 3 ++ .../media/nativewindow/util/PointImmutable.java | 2 ++ .../javax/media/nativewindow/util/Rectangle.java | 3 ++ .../nativewindow/util/RectangleImmutable.java | 2 ++ .../javax/media/nativewindow/util/SurfaceSize.java | 3 ++ .../classes/jogamp/nativewindow/Debug.java | 1 + .../DefaultGraphicsConfigurationFactoryImpl.java | 1 + .../jogamp/nativewindow/GlobalToolkitLock.java | 1 + .../jogamp/nativewindow/NWJNILibLoader.java | 1 + .../nativewindow/NativeWindowFactoryImpl.java | 1 + .../jogamp/nativewindow/NullToolkitLock.java | 1 + .../jogamp/nativewindow/ProxySurfaceImpl.java | 1 + .../jogamp/nativewindow/ResourceToolkitLock.java | 1 + .../nativewindow/SharedResourceToolkitLock.java | 1 + .../jogamp/nativewindow/SurfaceUpdatedHelper.java | 1 + .../jogamp/nativewindow/jawt/JAWTJNILibLoader.java | 1 + .../classes/jogamp/nativewindow/jawt/JAWTUtil.java | 4 +++ .../nativewindow/jawt/macosx/MacOSXJAWTWindow.java | 10 ++++++ .../jawt/windows/Win32SunJDKReflection.java | 1 + .../jawt/windows/WindowsJAWTWindow.java | 5 +++ .../nativewindow/jawt/x11/X11JAWTWindow.java | 5 +++ .../nativewindow/jawt/x11/X11SunJDKReflection.java | 1 + .../jogamp/nativewindow/macosx/OSXUtil.java | 2 +- .../x11/X11GraphicsConfigurationFactory.java | 1 + .../classes/jogamp/nativewindow/x11/X11Util.java | 2 ++ .../awt/X11AWTGraphicsConfigurationFactory.java | 1 + src/newt/classes/com/jogamp/newt/Display.java | 2 ++ .../classes/com/jogamp/newt/MonitorDevice.java | 3 ++ src/newt/classes/com/jogamp/newt/MonitorMode.java | 8 +++++ src/newt/classes/com/jogamp/newt/NewtFactory.java | 1 + src/newt/classes/com/jogamp/newt/Screen.java | 2 ++ .../classes/com/jogamp/newt/awt/NewtCanvasAWT.java | 13 ++++++++ .../jogamp/newt/awt/applet/JOGLNewtApplet1Run.java | 4 +++ .../jogamp/newt/awt/applet/JOGLNewtAppletBase.java | 6 ++++ .../jogamp/newt/event/DoubleTapScrollGesture.java | 1 + .../classes/com/jogamp/newt/event/InputEvent.java | 2 ++ .../classes/com/jogamp/newt/event/KeyAdapter.java | 2 ++ .../classes/com/jogamp/newt/event/KeyEvent.java | 2 ++ .../com/jogamp/newt/event/MonitorEvent.java | 2 ++ .../com/jogamp/newt/event/MouseAdapter.java | 8 +++++ .../classes/com/jogamp/newt/event/MouseEvent.java | 2 ++ .../classes/com/jogamp/newt/event/NEWTEvent.java | 1 + .../com/jogamp/newt/event/PinchToZoomGesture.java | 1 + .../com/jogamp/newt/event/TraceKeyAdapter.java | 2 ++ .../com/jogamp/newt/event/TraceMouseAdapter.java | 8 +++++ .../com/jogamp/newt/event/TraceWindowAdapter.java | 7 ++++ .../com/jogamp/newt/event/WindowAdapter.java | 7 ++++ .../classes/com/jogamp/newt/event/WindowEvent.java | 2 ++ .../com/jogamp/newt/event/WindowUpdateEvent.java | 2 ++ .../com/jogamp/newt/event/awt/AWTKeyAdapter.java | 2 ++ .../com/jogamp/newt/event/awt/AWTMouseAdapter.java | 10 ++++++ .../jogamp/newt/event/awt/AWTWindowAdapter.java | 22 ++++++++++++ .../classes/com/jogamp/newt/opengl/GLWindow.java | 2 ++ .../classes/com/jogamp/newt/swt/NewtCanvasSWT.java | 3 ++ src/newt/classes/jogamp/newt/Debug.java | 1 + src/newt/classes/jogamp/newt/DisplayImpl.java | 9 +++++ src/newt/classes/jogamp/newt/NEWTJNILibLoader.java | 1 + src/newt/classes/jogamp/newt/OffscreenWindow.java | 7 ++++ src/newt/classes/jogamp/newt/WindowImpl.java | 16 +++++++++ .../newt/awt/event/AWTParentWindowAdapter.java | 11 ++++++ .../classes/jogamp/newt/driver/awt/AWTCanvas.java | 4 +++ .../classes/jogamp/newt/driver/awt/AWTEDTUtil.java | 1 + .../jogamp/newt/driver/awt/DisplayDriver.java | 4 +++ .../jogamp/newt/driver/awt/ScreenDriver.java | 3 ++ .../jogamp/newt/driver/awt/WindowDriver.java | 6 ++++ .../jogamp/newt/driver/bcm/egl/DisplayDriver.java | 3 ++ .../jogamp/newt/driver/bcm/egl/ScreenDriver.java | 4 +++ .../jogamp/newt/driver/bcm/egl/WindowDriver.java | 6 ++++ .../newt/driver/bcm/vc/iv/DisplayDriver.java | 3 ++ .../jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java | 3 ++ .../jogamp/newt/driver/bcm/vc/iv/WindowDriver.java | 6 ++++ .../newt/driver/intel/gdl/DisplayDriver.java | 3 ++ .../jogamp/newt/driver/intel/gdl/ScreenDriver.java | 4 +++ .../jogamp/newt/driver/intel/gdl/WindowDriver.java | 6 ++++ .../jogamp/newt/driver/kd/DisplayDriver.java | 3 ++ .../jogamp/newt/driver/kd/ScreenDriver.java | 4 +++ .../jogamp/newt/driver/kd/WindowDriver.java | 6 ++++ .../jogamp/newt/driver/macosx/DisplayDriver.java | 3 ++ .../jogamp/newt/driver/macosx/ScreenDriver.java | 3 ++ .../jogamp/newt/driver/macosx/WindowDriver.java | 12 +++++++ .../jogamp/newt/driver/windows/DisplayDriver.java | 3 ++ .../jogamp/newt/driver/windows/WindowDriver.java | 9 +++++ .../jogamp/newt/driver/x11/DisplayDriver.java | 2 ++ .../jogamp/newt/driver/x11/ScreenDriver.java | 5 +++ .../jogamp/newt/driver/x11/WindowDriver.java | 8 +++++ src/newt/classes/jogamp/newt/swt/SWTEDTUtil.java | 2 ++ 323 files changed, 1132 insertions(+), 4 deletions(-) (limited to 'src/newt/classes') diff --git a/src/jogl/classes/com/jogamp/audio/windows/waveout/Mixer.java b/src/jogl/classes/com/jogamp/audio/windows/waveout/Mixer.java index 0a502c123..3b76d2ebf 100644 --- a/src/jogl/classes/com/jogamp/audio/windows/waveout/Mixer.java +++ b/src/jogl/classes/com/jogamp/audio/windows/waveout/Mixer.java @@ -129,6 +129,7 @@ public class Mixer { super("Mixer Thread"); } + @Override public void run() { while (!shutdown) { List/**/ curTracks = tracks; @@ -166,6 +167,7 @@ public class Mixer { } } + @Override public void run() { while (!shutdown) { // Get the next buffer diff --git a/src/jogl/classes/com/jogamp/audio/windows/waveout/Vec3f.java b/src/jogl/classes/com/jogamp/audio/windows/waveout/Vec3f.java index 0726e5762..79fb80169 100644 --- a/src/jogl/classes/com/jogamp/audio/windows/waveout/Vec3f.java +++ b/src/jogl/classes/com/jogamp/audio/windows/waveout/Vec3f.java @@ -206,6 +206,7 @@ class Vec3f { z *= arg.z; } + @Override public String toString() { return "(" + x + ", " + y + ", " + z + ")"; } diff --git a/src/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java b/src/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java index 8429fbcfd..5f358a6d3 100644 --- a/src/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java +++ b/src/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java @@ -402,6 +402,7 @@ public class BuildComposablePipeline { ifNames, null, new CodeGenUtils.EmissionCallback() { + @Override public void emit(PrintWriter w) { emitClassDocComment(w); } @@ -752,18 +753,22 @@ public class BuildComposablePipeline { this.mode = mode; } + @Override protected String getOutputName() { return className; } + @Override protected int getMode() { return mode; } + @Override protected boolean emptyMethodAllowed() { return true; } + @Override protected boolean emptyDownstreamAllowed() { return true; } @@ -773,6 +778,7 @@ public class BuildComposablePipeline { super.preMethodEmissionHook(output); } + @Override protected void constructorHook(PrintWriter output) { output.print(" public " + getOutputName() + "("); output.print(downstreamName + " " + getDownstreamObjectName()); @@ -803,6 +809,7 @@ public class BuildComposablePipeline { } } + @Override protected void emitClassDocComment(PrintWriter output) { output.println("/**"); output.println(" * Composable pipeline {@link " + outputPackage + "." + outputName + "}, implementing the interface"); @@ -837,10 +844,12 @@ public class BuildComposablePipeline { output.println("*/"); } + @Override protected boolean hasPreDownstreamCallHook(Method m) { return null != getMethod(prologClassOpt, m); } + @Override protected void preDownstreamCallHook(PrintWriter output, Method m) { if (null != prologNameOpt) { output.print(getPrologObjectNameOpt()); @@ -852,10 +861,12 @@ public class BuildComposablePipeline { } } + @Override protected boolean hasPostDownstreamCallHook(Method m) { return false; } + @Override protected void postDownstreamCallHook(PrintWriter output, Method m) { } } // end class CustomPipeline @@ -869,18 +880,22 @@ public class BuildComposablePipeline { className = "Debug" + getBaseInterfaceName(); } + @Override protected String getOutputName() { return className; } + @Override protected int getMode() { return 0; } + @Override protected boolean emptyMethodAllowed() { return false; } + @Override protected boolean emptyDownstreamAllowed() { return false; } @@ -890,6 +905,7 @@ public class BuildComposablePipeline { super.preMethodEmissionHook(output); } + @Override protected void constructorHook(PrintWriter output) { output.print(" public " + getOutputName() + "("); output.println(downstreamName + " " + getDownstreamObjectName() + ")"); @@ -971,6 +987,7 @@ public class BuildComposablePipeline { output.println(" private GLContext _context;"); } + @Override protected void emitClassDocComment(PrintWriter output) { output.println("/**"); output.println(" *

              "); @@ -988,18 +1005,22 @@ public class BuildComposablePipeline { output.println(" */"); } + @Override protected boolean hasPreDownstreamCallHook(Method m) { return true; } + @Override protected void preDownstreamCallHook(PrintWriter output, Method m) { output.println(" checkContext();"); } + @Override protected boolean hasPostDownstreamCallHook(Method m) { return true; } + @Override protected void postDownstreamCallHook(PrintWriter output, Method m) { if (m.getName().equals("glBegin")) { output.println(" insideBeginEndPair = true;"); @@ -1041,18 +1062,22 @@ public class BuildComposablePipeline { className = "Trace" + getBaseInterfaceName(); } + @Override protected String getOutputName() { return className; } + @Override protected int getMode() { return 0; } + @Override protected boolean emptyMethodAllowed() { return false; } + @Override protected boolean emptyDownstreamAllowed() { return false; } @@ -1062,6 +1087,7 @@ public class BuildComposablePipeline { super.preMethodEmissionHook(output); } + @Override protected void constructorHook(PrintWriter output) { output.print(" public " + getOutputName() + "("); output.println(downstreamName + " " + getDownstreamObjectName() + ", PrintStream " + getOutputStreamName() + ")"); @@ -1112,6 +1138,7 @@ public class BuildComposablePipeline { output.println("}"); } + @Override protected void emitClassDocComment(PrintWriter output) { output.println("/**"); output.println(" *

              "); @@ -1129,10 +1156,12 @@ public class BuildComposablePipeline { output.println(" */"); } + @Override protected boolean hasPreDownstreamCallHook(Method m) { return true; } + @Override protected void preDownstreamCallHook(PrintWriter output, Method m) { if (m.getName().equals("glEnd") || m.getName().equals("glEndList")) { output.println("indent-=2;"); @@ -1146,10 +1175,12 @@ public class BuildComposablePipeline { output.println(");"); } + @Override protected boolean hasPostDownstreamCallHook(Method m) { return true; } + @Override protected void postDownstreamCallHook(PrintWriter output, Method m) { Class ret = m.getReturnType(); if (ret != Void.TYPE) { diff --git a/src/jogl/classes/com/jogamp/gluegen/opengl/GLEmitter.java b/src/jogl/classes/com/jogamp/gluegen/opengl/GLEmitter.java index 1af632682..547382ed1 100644 --- a/src/jogl/classes/com/jogamp/gluegen/opengl/GLEmitter.java +++ b/src/jogl/classes/com/jogamp/gluegen/opengl/GLEmitter.java @@ -134,6 +134,7 @@ public class GLEmitter extends ProcAddressEmitter { private List constants; private List functions; + @Override public void filterSymbols(List constants, List functions) { this.constants = constants; @@ -141,10 +142,12 @@ public class GLEmitter extends ProcAddressEmitter { doWork(); } + @Override public List getConstants() { return constants; } + @Override public List getFunctions() { return functions; } diff --git a/src/jogl/classes/com/jogamp/gluegen/opengl/ant/StaticGLGenTask.java b/src/jogl/classes/com/jogamp/gluegen/opengl/ant/StaticGLGenTask.java index b98f17117..21946ea89 100644 --- a/src/jogl/classes/com/jogamp/gluegen/opengl/ant/StaticGLGenTask.java +++ b/src/jogl/classes/com/jogamp/gluegen/opengl/ant/StaticGLGenTask.java @@ -186,6 +186,7 @@ public class StaticGLGenTask extends Task * * @see org.apache.tools.ant.Task#execute() */ + @Override public void execute() throws BuildException { diff --git a/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureJavaMethodBindingEmitter.java b/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureJavaMethodBindingEmitter.java index a17657382..6d9d6f2bb 100644 --- a/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureJavaMethodBindingEmitter.java +++ b/src/jogl/classes/com/jogamp/gluegen/opengl/nativesig/NativeSignatureJavaMethodBindingEmitter.java @@ -131,6 +131,7 @@ public class NativeSignatureJavaMethodBindingEmitter extends GLJavaMethodBinding } } + @Override protected String getReturnTypeString(boolean skipArray) { if (isForImplementingMethodCall()) { JavaType returnType = getBinding().getJavaReturnType(); @@ -142,6 +143,7 @@ public class NativeSignatureJavaMethodBindingEmitter extends GLJavaMethodBinding return super.getReturnTypeString(skipArray); } + @Override protected void emitPreCallSetup(MethodBinding binding, PrintWriter writer) { super.emitPreCallSetup(binding, writer); for (int i = 0; i < binding.getNumArguments(); i++) { @@ -162,6 +164,7 @@ public class NativeSignatureJavaMethodBindingEmitter extends GLJavaMethodBinding return "__buffer_array_" + argNumber; } + @Override protected int emitArguments(PrintWriter writer) { boolean needComma = false; @@ -242,6 +245,7 @@ public class NativeSignatureJavaMethodBindingEmitter extends GLJavaMethodBinding return numEmitted; } + @Override protected void emitReturnVariableSetupAndCall(MethodBinding binding, PrintWriter writer) { writer.print(" "); JavaType returnType = binding.getJavaReturnType(); @@ -455,6 +459,7 @@ public class NativeSignatureJavaMethodBindingEmitter extends GLJavaMethodBinding return numArgsEmitted; } + @Override protected void emitCallResultReturn(MethodBinding binding, PrintWriter writer) { for (int i = 0; i < binding.getNumArguments(); i++) { JavaType type = binding.getJavaArgumentType(i); @@ -468,6 +473,7 @@ public class NativeSignatureJavaMethodBindingEmitter extends GLJavaMethodBinding super.emitCallResultReturn(binding, writer); } + @Override public String getName() { String res = super.getName(); if (forImplementingMethodCall && bufferObjectVariant) { diff --git a/src/jogl/classes/com/jogamp/gluegen/runtime/opengl/GLProcAddressResolver.java b/src/jogl/classes/com/jogamp/gluegen/runtime/opengl/GLProcAddressResolver.java index f8406075c..3fb315c99 100644 --- a/src/jogl/classes/com/jogamp/gluegen/runtime/opengl/GLProcAddressResolver.java +++ b/src/jogl/classes/com/jogamp/gluegen/runtime/opengl/GLProcAddressResolver.java @@ -42,6 +42,7 @@ public class GLProcAddressResolver implements FunctionAddressResolver { public static final boolean DEBUG = false; + @Override public long resolve(String name, DynamicLookupHelper lookup) { long newProcAddress = 0; diff --git a/src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java b/src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java index cb2885e0f..60d5199eb 100644 --- a/src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java +++ b/src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java @@ -554,6 +554,7 @@ public class OutlineShape implements Comparable { * as criteria. * @see java.lang.Comparable#compareTo(java.lang.Object) */ + @Override public final int compareTo(OutlineShape outline) { float size = getBounds().getSize(); float newSize = outline.getBounds().getSize(); @@ -586,6 +587,7 @@ public class OutlineShape implements Comparable { * @return true if {@code obj} is an OutlineShape, not null, * same outlineState, equal bounds and equal outlines in the same order */ + @Override public boolean equals(Object obj) { if( obj == this) { return true; @@ -614,6 +616,7 @@ public class OutlineShape implements Comparable { /** * @return deep clone of this OutlineShape w/o Region */ + @Override public OutlineShape clone() { OutlineShape o; try { diff --git a/src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java b/src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java index 9c833fd24..6a8fb6a67 100644 --- a/src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java +++ b/src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java @@ -105,6 +105,7 @@ public abstract class RenderState { return sb; } + @Override public String toString() { return toString(null, false).toString(); } diff --git a/src/jogl/classes/com/jogamp/graph/font/Font.java b/src/jogl/classes/com/jogamp/graph/font/Font.java index 82211da92..a4a8fd53d 100644 --- a/src/jogl/classes/com/jogamp/graph/font/Font.java +++ b/src/jogl/classes/com/jogamp/graph/font/Font.java @@ -109,5 +109,6 @@ public interface Font { public boolean isPrintableChar( char c ); /** Shall return {@link #getFullFamilyName()} */ + @Override public String toString(); } \ No newline at end of file diff --git a/src/jogl/classes/com/jogamp/graph/geom/Outline.java b/src/jogl/classes/com/jogamp/graph/geom/Outline.java index dfa6a8635..77a318078 100644 --- a/src/jogl/classes/com/jogamp/graph/geom/Outline.java +++ b/src/jogl/classes/com/jogamp/graph/geom/Outline.java @@ -173,6 +173,7 @@ public class Outline implements Cloneable, Comparable { * as criteria. * @see java.lang.Comparable#compareTo(java.lang.Object) */ + @Override public final int compareTo(Outline outline) { float size = getBounds().getSize(); float newSize = outline.getBounds().getSize(); @@ -204,6 +205,7 @@ public class Outline implements Cloneable, Comparable { * @param obj the Object to compare this Outline with * @return true if {@code obj} is an Outline, not null, equals bounds and equal vertices in the same order */ + @Override public boolean equals(Object obj) { if( obj == this) { return true; @@ -229,6 +231,7 @@ public class Outline implements Cloneable, Comparable { /** * @return deep clone of this Outline */ + @Override public Outline clone() { Outline o; try { diff --git a/src/jogl/classes/com/jogamp/graph/geom/Triangle.java b/src/jogl/classes/com/jogamp/graph/geom/Triangle.java index bd0900495..a01cd834f 100644 --- a/src/jogl/classes/com/jogamp/graph/geom/Triangle.java +++ b/src/jogl/classes/com/jogamp/graph/geom/Triangle.java @@ -73,6 +73,7 @@ public class Triangle { this.boundaryVertices = boundaryVertices; } + @Override public String toString() { return "Tri ID: " + id + "\n" + vertices[0] + "\n" + vertices[1] + "\n" + vertices[2]; } diff --git a/src/jogl/classes/com/jogamp/graph/geom/Vertex.java b/src/jogl/classes/com/jogamp/graph/geom/Vertex.java index 40048235e..994253f71 100644 --- a/src/jogl/classes/com/jogamp/graph/geom/Vertex.java +++ b/src/jogl/classes/com/jogamp/graph/geom/Vertex.java @@ -76,6 +76,7 @@ public interface Vertex extends Vert3fImmutable, Cloneable { * @param obj the Object to compare this Vertex with * @return true if {@code obj} is a Vertex and not null, on-curve flag is equal and has same vertex- and tex-coords. */ + @Override boolean equals(Object obj); /** diff --git a/src/jogl/classes/com/jogamp/graph/geom/opengl/SVertex.java b/src/jogl/classes/com/jogamp/graph/geom/opengl/SVertex.java index 6b07688a7..b27604a44 100644 --- a/src/jogl/classes/com/jogamp/graph/geom/opengl/SVertex.java +++ b/src/jogl/classes/com/jogamp/graph/geom/opengl/SVertex.java @@ -45,14 +45,17 @@ public class SVertex implements Vertex { public static Factory factory() { return factory; } public static class Factory implements Vertex.Factory { + @Override public SVertex create() { return new SVertex(); } + @Override public SVertex create(float x, float y, float z, boolean onCurve) { return new SVertex(x, y, z, onCurve); } + @Override public SVertex create(float[] coordsBuffer, int offset, int length, boolean onCurve) { return new SVertex(coordsBuffer, offset, length, onCurve); } @@ -78,12 +81,14 @@ public class SVertex implements Vertex { setOnCurve(onCurve); } + @Override public final void setCoord(float x, float y, float z) { this.coord[0] = x; this.coord[1] = y; this.coord[2] = z; } + @Override public final void setCoord(float[] coordsBuffer, int offset, int length) { System.arraycopy(coordsBuffer, offset, coord, 0, length); } @@ -98,46 +103,57 @@ public class SVertex implements Vertex { return coord; } + @Override public final void setX(float x) { this.coord[0] = x; } + @Override public final void setY(float y) { this.coord[1] = y; } + @Override public final void setZ(float z) { this.coord[2] = z; } + @Override public final float getX() { return this.coord[0]; } + @Override public final float getY() { return this.coord[1]; } + @Override public final float getZ() { return this.coord[2]; } + @Override public final boolean isOnCurve() { return onCurve; } + @Override public final void setOnCurve(boolean onCurve) { this.onCurve = onCurve; } + @Override public final int getId(){ return id; } + @Override public final void setId(int id){ this.id = id; } + @Override public boolean equals(Object obj) { if( obj == this) { return true; @@ -152,15 +168,18 @@ public class SVertex implements Vertex { VectorUtil.checkEquality(getCoord(), v.getCoord()) ; } + @Override public final float[] getTexCoord() { return texCoord; } + @Override public final void setTexCoord(float s, float t) { this.texCoord[0] = s; this.texCoord[1] = t; } + @Override public final void setTexCoord(float[] texCoordsBuffer, int offset, int length) { System.arraycopy(texCoordsBuffer, offset, texCoord, 0, length); } @@ -168,10 +187,12 @@ public class SVertex implements Vertex { /** * @return deep clone of this Vertex, but keeping the id blank */ + @Override public SVertex clone(){ return new SVertex(this.coord, 0, 3, this.texCoord, 0, 2, this.onCurve); } + @Override public String toString() { return "[ID: " + id + ", onCurve: " + onCurve + ": p " + coord[0] + ", " + coord[1] + ", " + coord[2] + diff --git a/src/jogl/classes/com/jogamp/opengl/FBObject.java b/src/jogl/classes/com/jogamp/opengl/FBObject.java index c78b2b83d..72041a389 100644 --- a/src/jogl/classes/com/jogamp/opengl/FBObject.java +++ b/src/jogl/classes/com/jogamp/opengl/FBObject.java @@ -292,6 +292,7 @@ public class FBObject { int objectHashCode() { return super.hashCode(); } + @Override public String toString() { return getClass().getSimpleName()+"[type "+type+", format "+toHexString(format)+", "+width+"x"+height+ "; name "+toHexString(name)+", obj "+toHexString(objectHashCode())+"]"; @@ -414,6 +415,7 @@ public class FBObject { } } + @Override public String toString() { return getClass().getSimpleName()+"[type "+type+", format "+toHexString(format)+", samples "+samples+", "+getWidth()+"x"+getHeight()+ ", name "+toHexString(getName())+", obj "+toHexString(objectHashCode())+"]"; @@ -527,6 +529,7 @@ public class FBObject { setName(0); } } + @Override public String toString() { return getClass().getSimpleName()+"[type "+type+", target GL_TEXTURE_2D, level 0, format "+toHexString(format)+ ", "+getWidth()+"x"+getHeight()+", border 0, dataFormat "+toHexString(dataFormat)+ @@ -2306,6 +2309,7 @@ public class FBObject { int objectHashCode() { return super.hashCode(); } + @Override public final String toString() { final String caps = null != colorAttachmentPoints ? Arrays.asList(colorAttachmentPoints).toString() : null ; return "FBO[name r/w "+fbName+"/"+getReadFramebuffer()+", init "+initialized+", bound "+bound+", size "+width+"x"+height+ diff --git a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java index ee77f8d2d..9c9129ae6 100644 --- a/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java +++ b/src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java @@ -262,6 +262,7 @@ public class GLRendererQuirks { return sb; } + @Override public final String toString() { return toString(null).toString(); } diff --git a/src/jogl/classes/com/jogamp/opengl/cg/CgDynamicLibraryBundleInfo.java b/src/jogl/classes/com/jogamp/opengl/cg/CgDynamicLibraryBundleInfo.java index 8d2d07d58..4270607f2 100644 --- a/src/jogl/classes/com/jogamp/opengl/cg/CgDynamicLibraryBundleInfo.java +++ b/src/jogl/classes/com/jogamp/opengl/cg/CgDynamicLibraryBundleInfo.java @@ -43,6 +43,7 @@ public final class CgDynamicLibraryBundleInfo implements DynamicLibraryBundleInf private static final List glueLibNames; static { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { Platform.initSingleton(); diff --git a/src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java b/src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java index f1880a61b..d48677da5 100644 --- a/src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java +++ b/src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java @@ -333,10 +333,12 @@ public class AABBox implements Cloneable { return high[2] - low[2]; } + @Override public final AABBox clone() { return new AABBox(this.low, this.high); } + @Override public final boolean equals(Object obj) { if( obj == this ) { return true; @@ -349,6 +351,7 @@ public class AABBox implements Cloneable { VectorUtil.checkEquality(high, other.high) ; } + @Override public final String toString() { return "[ "+low[0]+"/"+low[1]+"/"+low[1]+" .. "+high[0]+"/"+high[0]+"/"+high[0]+", ctr "+ center[0]+"/"+center[1]+"/"+center[1]+" ]"; diff --git a/src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java b/src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java index 33941a407..1a3e1e0c0 100644 --- a/src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java +++ b/src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java @@ -286,6 +286,7 @@ public class GLCanvas extends Canvas implements GLAutoDrawable { final GLCapabilitiesChooser chooser, final GLContext shareWith) { final GLCanvas[] res = new GLCanvas[] { null }; parent.getDisplay().syncExec(new Runnable() { + @Override public void run() { res[0] = new GLCanvas( parent, style, caps, chooser, shareWith ); } diff --git a/src/jogl/classes/com/jogamp/opengl/util/AWTAnimatorImpl.java b/src/jogl/classes/com/jogamp/opengl/util/AWTAnimatorImpl.java index 80289acf3..d0de3b3a0 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/AWTAnimatorImpl.java +++ b/src/jogl/classes/com/jogamp/opengl/util/AWTAnimatorImpl.java @@ -58,6 +58,7 @@ class AWTAnimatorImpl implements AnimatorBase.AnimatorImpl { private Map repaintManagers = new IdentityHashMap(); private Map dirtyRegions = new IdentityHashMap(); + @Override public void display(ArrayList drawables, boolean ignoreExceptions, boolean printExceptions) { @@ -97,6 +98,7 @@ class AWTAnimatorImpl implements AnimatorBase.AnimatorImpl { // Uses RepaintManager APIs to implement more efficient redrawing of // the Swing widgets we're animating private Runnable drawWithRepaintManagerRunnable = new Runnable() { + @Override public void run() { for (Iterator iter = lightweights.iterator(); iter.hasNext(); ) { JComponent comp = iter.next(); @@ -164,6 +166,7 @@ class AWTAnimatorImpl implements AnimatorBase.AnimatorImpl { } }; + @Override public boolean blockUntilDone(Thread thread) { return Thread.currentThread() != thread && !EventQueue.isDispatchThread(); } diff --git a/src/jogl/classes/com/jogamp/opengl/util/Animator.java b/src/jogl/classes/com/jogamp/opengl/util/Animator.java index cdfb73b21..27b9427eb 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/Animator.java +++ b/src/jogl/classes/com/jogamp/opengl/util/Animator.java @@ -109,6 +109,7 @@ public class Animator extends AnimatorBase { } } + @Override protected String getBaseName(String prefix) { return prefix + "Animator" ; } @@ -138,10 +139,12 @@ public class Animator extends AnimatorBase { } class MainLoop implements Runnable { + @Override public String toString() { return "[started "+isStartedImpl()+", animating "+isAnimatingImpl()+", paused "+isPausedImpl()+", drawable "+drawables.size()+", drawablesEmpty "+drawablesEmpty+"]"; } + @Override public void run() { try { if(DEBUG) { @@ -228,6 +231,7 @@ public class Animator extends AnimatorBase { private final boolean isAnimatingImpl() { return animThread != null && isAnimating ; } + @Override public final boolean isAnimating() { stateSync.lock(); try { @@ -240,6 +244,7 @@ public class Animator extends AnimatorBase { private final boolean isPausedImpl() { return animThread != null && pauseIssued ; } + @Override public final boolean isPaused() { stateSync.lock(); try { @@ -262,6 +267,7 @@ public class Animator extends AnimatorBase { threadGroup = tg; } + @Override public synchronized boolean start() { if ( isStartedImpl() ) { return false; @@ -286,10 +292,12 @@ public class Animator extends AnimatorBase { return finishLifecycleAction(waitForStartedCondition, 0); } private final Condition waitForStartedCondition = new Condition() { + @Override public boolean eval() { return !isStartedImpl() || (!drawablesEmpty && !isAnimating) ; } }; + @Override public synchronized boolean stop() { if ( !isStartedImpl() ) { return false; @@ -298,10 +306,12 @@ public class Animator extends AnimatorBase { return finishLifecycleAction(waitForStoppedCondition, 0); } private final Condition waitForStoppedCondition = new Condition() { + @Override public boolean eval() { return isStartedImpl(); } }; + @Override public synchronized boolean pause() { if ( !isStartedImpl() || pauseIssued ) { return false; @@ -310,11 +320,13 @@ public class Animator extends AnimatorBase { return finishLifecycleAction(waitForPausedCondition, 0); } private final Condition waitForPausedCondition = new Condition() { + @Override public boolean eval() { // end waiting if stopped as well return isStartedImpl() && isAnimating; } }; + @Override public synchronized boolean resume() { if ( !isStartedImpl() || !pauseIssued ) { return false; @@ -323,6 +335,7 @@ public class Animator extends AnimatorBase { return finishLifecycleAction(waitForResumeCondition, 0); } private final Condition waitForResumeCondition = new Condition() { + @Override public boolean eval() { // end waiting if stopped as well return isStartedImpl() && ( !drawablesEmpty && !isAnimating || drawablesEmpty && !pauseIssued ) ; diff --git a/src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java b/src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java index b447a339b..f6ee3376f 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java +++ b/src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java @@ -194,6 +194,7 @@ public abstract class AnimatorBase implements GLAnimatorControl { resume(); } final Condition waitForAnimatingAndECTCondition = new Condition() { + @Override public boolean eval() { final Thread dect = drawable.getExclusiveContextThread(); return isStarted() && !isPaused() && !isAnimating() && ( exclusiveContext && null == dect || !exclusiveContext && null != dect ); @@ -217,6 +218,7 @@ public abstract class AnimatorBase implements GLAnimatorControl { if( exclusiveContext && isAnimating() ) { drawable.setExclusiveContextThread( null ); final Condition waitForNullECTCondition = new Condition() { + @Override public boolean eval() { return null != drawable.getExclusiveContextThread(); } }; @@ -240,6 +242,7 @@ public abstract class AnimatorBase implements GLAnimatorControl { notifyAll(); } private final Condition waitForNotAnimatingIfEmptyCondition = new Condition() { + @Override public boolean eval() { return isStarted() && drawablesEmpty && isAnimating(); } }; @@ -577,6 +580,7 @@ public abstract class AnimatorBase implements GLAnimatorControl { protected static String getThreadName() { return Thread.currentThread().getName(); } + @Override public String toString() { return getClass().getName()+"[started "+isStarted()+", animating "+isAnimating()+", paused "+isPaused()+", drawable "+drawables.size()+ ", totals[dt "+getTotalFPSDuration()+", frames "+getTotalFPSFrames()+", fps "+getTotalFPS()+ diff --git a/src/jogl/classes/com/jogamp/opengl/util/DefaultAnimatorImpl.java b/src/jogl/classes/com/jogamp/opengl/util/DefaultAnimatorImpl.java index 0477e1903..a9c6e6456 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/DefaultAnimatorImpl.java +++ b/src/jogl/classes/com/jogamp/opengl/util/DefaultAnimatorImpl.java @@ -41,6 +41,7 @@ import javax.media.opengl.GLAutoDrawable; up this behavior if desired. */ class DefaultAnimatorImpl implements AnimatorBase.AnimatorImpl { + @Override public void display(ArrayList drawables, boolean ignoreExceptions, boolean printExceptions) { @@ -60,6 +61,7 @@ class DefaultAnimatorImpl implements AnimatorBase.AnimatorImpl { } } + @Override public boolean blockUntilDone(Thread thread) { return Thread.currentThread() != thread; } diff --git a/src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java b/src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java index b48169c27..351c47e7e 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java +++ b/src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java @@ -64,6 +64,7 @@ public class FPSAnimator extends AnimatorBase { private volatile boolean shouldRun; // MainTask trigger private volatile boolean shouldStop; // MainTask trigger + @Override protected String getBaseName(String prefix) { return "FPS" + prefix + "Animator" ; } @@ -140,10 +141,12 @@ public class FPSAnimator extends AnimatorBase { public boolean isActive() { return !alreadyStopped && !alreadyPaused; } + @Override public String toString() { return "Task[thread "+animThread+", stopped "+alreadyStopped+", paused "+alreadyPaused+" shouldRun "+shouldRun+", shouldStop "+shouldStop+" -- started "+isStartedImpl()+", animating "+isAnimatingImpl()+", paused "+isPausedImpl()+", drawable "+drawables.size()+", drawablesEmpty "+drawablesEmpty+"]"; } + @Override public void run() { if( justStarted ) { justStarted = false; @@ -208,6 +211,7 @@ public class FPSAnimator extends AnimatorBase { private final boolean isAnimatingImpl() { return animThread != null && isAnimating ; } + @Override public final boolean isAnimating() { stateSync.lock(); try { @@ -220,6 +224,7 @@ public class FPSAnimator extends AnimatorBase { private final boolean isPausedImpl() { return animThread != null && ( !shouldRun && !shouldStop ) ; } + @Override public final boolean isPaused() { stateSync.lock(); try { @@ -231,6 +236,7 @@ public class FPSAnimator extends AnimatorBase { static int timerNo = 0; + @Override public synchronized boolean start() { if ( null != timer || null != task || isStartedImpl() ) { return false; @@ -254,10 +260,12 @@ public class FPSAnimator extends AnimatorBase { return res; } private final Condition waitForStartedAddedCondition = new Condition() { + @Override public boolean eval() { return !isStartedImpl() || !isAnimating ; } }; private final Condition waitForStartedEmptyCondition = new Condition() { + @Override public boolean eval() { return !isStartedImpl() || isAnimating ; } }; @@ -265,6 +273,7 @@ public class FPSAnimator extends AnimatorBase { /** Stops this FPSAnimator. Due to the implementation of the FPSAnimator it is not guaranteed that the FPSAnimator will be completely stopped by the time this method returns. */ + @Override public synchronized boolean stop() { if ( null == timer || !isStartedImpl() ) { return false; @@ -297,10 +306,12 @@ public class FPSAnimator extends AnimatorBase { return res; } private final Condition waitForStoppedCondition = new Condition() { + @Override public boolean eval() { return isStartedImpl(); } }; + @Override public synchronized boolean pause() { if ( !isStartedImpl() || ( null != task && isPausedImpl() ) ) { return false; @@ -327,11 +338,13 @@ public class FPSAnimator extends AnimatorBase { return res; } private final Condition waitForPausedCondition = new Condition() { + @Override public boolean eval() { // end waiting if stopped as well return isAnimating && isStartedImpl(); } }; + @Override public synchronized boolean resume() { if ( null != task || !isStartedImpl() || !isPausedImpl() ) { return false; @@ -353,6 +366,7 @@ public class FPSAnimator extends AnimatorBase { return res; } private final Condition waitForResumeCondition = new Condition() { + @Override public boolean eval() { // end waiting if stopped as well return !drawablesEmpty && !isAnimating && isStartedImpl(); diff --git a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java index 2d685a1a8..f480c4bde 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java +++ b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java @@ -321,6 +321,7 @@ public class GLArrayDataClient extends GLArrayDataWrapper implements GLArrayData Buffers.putf(buffer, v); } + @Override public String toString() { return "GLArrayDataClient["+name+ ", index "+index+ diff --git a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java index 701f88e59..9a0f1cb37 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java +++ b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java @@ -31,6 +31,7 @@ public interface GLArrayDataEditable extends GLArrayData { // Data and GL state modification .. // + @Override public void destroy(GL gl); public void reset(GL gl); diff --git a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java index 80639c5c7..e30fea2f4 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java +++ b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java @@ -327,6 +327,7 @@ public class GLArrayDataServer extends GLArrayDataClient implements GLArrayDataE // Data and GL state modification .. // + @Override public void destroy(GL gl) { // super.destroy(gl): // - GLArrayDataClient.destroy(gl): disables & clears client-side buffer @@ -349,11 +350,13 @@ public class GLArrayDataServer extends GLArrayDataClient implements GLArrayDataE * switch to client side data one * Only possible if buffer is defined. */ + @Override public void setVBOEnabled(boolean vboUsage) { checkSeal(false); super.setVBOEnabled(vboUsage); } + @Override public String toString() { return "GLArrayDataServer["+name+ ", index "+index+ @@ -384,6 +387,7 @@ public class GLArrayDataServer extends GLArrayDataClient implements GLArrayDataE // non public matters .. // + @Override protected void init(String name, int index, int comps, int dataType, boolean normalized, int stride, Buffer data, int initialElementCount, boolean isVertexAttribute, GLArrayHandler glArrayHandler, @@ -396,6 +400,7 @@ public class GLArrayDataServer extends GLArrayDataClient implements GLArrayDataE vboEnabled=true; } + @Override protected void init_vbo(GL gl) { super.init_vbo(gl); if(vboEnabled && vboName==0) { diff --git a/src/jogl/classes/com/jogamp/opengl/util/GLPixelBuffer.java b/src/jogl/classes/com/jogamp/opengl/util/GLPixelBuffer.java index f0c6be44f..50124c349 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/GLPixelBuffer.java +++ b/src/jogl/classes/com/jogamp/opengl/util/GLPixelBuffer.java @@ -216,6 +216,7 @@ public class GLPixelBuffer { } } } + @Override public String toString() { return "PixelAttributes[comp "+componentCount+", fmt 0x"+Integer.toHexString(format)+", type 0x"+Integer.toHexString(type)+", bytesPerPixel "+bytesPerPixel+"]"; } @@ -258,6 +259,7 @@ public class GLPixelBuffer { .append(", buffer[bytes ").append(byteSize).append(", elemSize ").append(bufferElemSize).append(", ").append(buffer).append("]"); return sb; } + @Override public String toString() { return "GLPixelBuffer["+toString(null).toString()+"]"; } diff --git a/src/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java b/src/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java index 697b7cca0..986f6d8d3 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java +++ b/src/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java @@ -173,6 +173,7 @@ public class ImmModeSink { vboSet.reset(gl); } + @Override public String toString() { StringBuilder sb = new StringBuilder("ImmModeSink["); sb.append(",\n\tVBO list: "+vboSetList.size()+" ["); @@ -1236,6 +1237,7 @@ public class ImmModeSink { } } + @Override public String toString() { final String glslS = useGLSL ? ", useShaderState "+(null!=shaderState)+ diff --git a/src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java b/src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java index b4a0156e9..218897ffe 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java +++ b/src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java @@ -897,6 +897,7 @@ public class PMVMatrix implements GLMatrixFunc { return sb; } + @Override public String toString() { return toString(null, "%10.5f").toString(); } diff --git a/src/jogl/classes/com/jogamp/opengl/util/TileRendererBase.java b/src/jogl/classes/com/jogamp/opengl/util/TileRendererBase.java index ff7cc5516..2ac4b1f82 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/TileRendererBase.java +++ b/src/jogl/classes/com/jogamp/opengl/util/TileRendererBase.java @@ -244,6 +244,7 @@ public abstract class TileRendererBase { sb.append(", isSetup "+isSetup()); return sb; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); return getClass().getSimpleName()+ diff --git a/src/jogl/classes/com/jogamp/opengl/util/TimeFrameI.java b/src/jogl/classes/com/jogamp/opengl/util/TimeFrameI.java index 45f5d2694..b29846d91 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/TimeFrameI.java +++ b/src/jogl/classes/com/jogamp/opengl/util/TimeFrameI.java @@ -74,6 +74,7 @@ public class TimeFrameI { /** Set this frame's duration in milliseconds. */ public final void setDuration(int duration) { this.duration = duration; } + @Override public String toString() { return "TimeFrame[pts " + pts + " ms, l " + duration + " ms]"; } diff --git a/src/jogl/classes/com/jogamp/opengl/util/av/AudioSink.java b/src/jogl/classes/com/jogamp/opengl/util/av/AudioSink.java index dffdfae8e..b964245ad 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/av/AudioSink.java +++ b/src/jogl/classes/com/jogamp/opengl/util/av/AudioSink.java @@ -193,6 +193,7 @@ public interface AudioSink { return ( byteCount << 3 ) / sampleSize; } + @Override public String toString() { return "AudioDataFormat[sampleRate "+sampleRate+", sampleSize "+sampleSize+", channelCount "+channelCount+ ", signed "+signed+", fixedP "+fixedP+", "+(planar?"planar":"packed")+", "+(littleEndian?"little":"big")+"-endian]"; } @@ -217,6 +218,7 @@ public interface AudioSink { /** Set this frame's size in bytes. */ public final void setByteSize(int size) { this.byteSize=size; } + @Override public String toString() { return "AudioFrame[pts " + pts + " ms, l " + duration + " ms, "+byteSize + " bytes]"; } @@ -235,6 +237,7 @@ public interface AudioSink { /** Get this frame's data. */ public final ByteBuffer getData() { return data; } + @Override public String toString() { return "AudioDataFrame[pts " + pts + " ms, l " + duration + " ms, "+byteSize + " bytes, " + data + "]"; } diff --git a/src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java b/src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java index db6f5fdee..3f6b78d7e 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java +++ b/src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java @@ -609,6 +609,7 @@ public interface GLMediaPlayer extends TextureSequence { public int getHeight(); /** Returns a string represantation of this player, incl. state and audio/video details. */ + @Override public String toString(); /** Returns a string represantation of this player's performance values. */ diff --git a/src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLPixelBuffer.java b/src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLPixelBuffer.java index fb2bdbbcb..77b14b424 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLPixelBuffer.java +++ b/src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLPixelBuffer.java @@ -117,11 +117,13 @@ public class AWTGLPixelBuffer extends GLPixelBuffer { return new BufferedImage (cm, raster1, cm.isAlphaPremultiplied(), null); } + @Override public StringBuilder toString(StringBuilder sb) { sb = super.toString(sb); sb.append(", allowRowStride ").append(allowRowStride).append(", image [").append(image.getWidth()).append("x").append(image.getHeight()).append(", ").append(image.toString()).append("]"); return sb; } + @Override public String toString() { return "AWTGLPixelBuffer["+toString(null).toString()+"]"; } @@ -213,6 +215,7 @@ public class AWTGLPixelBuffer extends GLPixelBuffer { } /** Return the last {@link #allocate(GL, GLPixelAttributes, int, int, int, boolean, int) allocated} {@link AWTGLPixelBuffer} w/ {@link GLPixelAttributes#componentCount}. */ + @Override public AWTGLPixelBuffer getSingleBuffer(GLPixelAttributes pixelAttributes) { return 4 == pixelAttributes.componentCount ? singleRGBA4 : singleRGB3; } @@ -221,6 +224,7 @@ public class AWTGLPixelBuffer extends GLPixelBuffer { * Initializes the single {@link AWTGLPixelBuffer} w/ a given size, if not yet {@link #allocate(GL, GLPixelAttributes, int, int, int, boolean, int) allocated}. * @return the newly initialized single {@link AWTGLPixelBuffer}, or null if already allocated. */ + @Override public AWTGLPixelBuffer initSingleton(int componentCount, int width, int height, int depth, boolean pack) { if( 4 == componentCount ) { if( null != singleRGBA4 ) { diff --git a/src/jogl/classes/com/jogamp/opengl/util/awt/TextRenderer.java b/src/jogl/classes/com/jogamp/opengl/util/awt/TextRenderer.java index 6e504c089..73d06cae0 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/awt/TextRenderer.java +++ b/src/jogl/classes/com/jogamp/opengl/util/awt/TextRenderer.java @@ -755,6 +755,7 @@ public class TextRenderer { // Iterate through the contents of the backing store, removing // text strings that haven't been used recently packer.visit(new RectVisitor() { + @Override public void visit(Rect rect) { TextData data = (TextData) rect.getUserData(); @@ -914,11 +915,13 @@ public class TextRenderer { final FPSAnimator anim = new FPSAnimator(dbgCanvas, 10); dbgFrame.addWindowListener(new WindowAdapter() { + @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() { + @Override public void run() { anim.stop(); } @@ -1009,12 +1012,14 @@ public class TextRenderer { mCurrentIndex = 0; } + @Override public char last() { mCurrentIndex = Math.max(0, mLength - 1); return current(); } + @Override public char current() { if ((mLength == 0) || (mCurrentIndex >= mLength)) { return CharacterIterator.DONE; @@ -1023,36 +1028,43 @@ public class TextRenderer { return mSequence.charAt(mCurrentIndex); } + @Override public char next() { mCurrentIndex++; return current(); } + @Override public char previous() { mCurrentIndex = Math.max(mCurrentIndex - 1, 0); return current(); } + @Override public char setIndex(int position) { mCurrentIndex = position; return current(); } + @Override public int getBeginIndex() { return 0; } + @Override public int getEndIndex() { return mLength; } + @Override public int getIndex() { return mCurrentIndex; } + @Override public Object clone() { CharSequenceIterator iter = new CharSequenceIterator(mSequence); iter.mCurrentIndex = mCurrentIndex; @@ -1060,6 +1072,7 @@ public class TextRenderer { return iter; } + @Override public char first() { if (mLength == 0) { return CharacterIterator.DONE; @@ -1143,6 +1156,7 @@ public class TextRenderer { class Manager implements BackingStoreManager { private Graphics2D g; + @Override public Object allocateBackingStore(int w, int h) { // FIXME: should consider checking Font's attributes to see // whether we're likely to need to support a full RGBA backing @@ -1165,10 +1179,12 @@ public class TextRenderer { return renderer; } + @Override public void deleteBackingStore(Object backingStore) { ((TextureRenderer) backingStore).dispose(); } + @Override public boolean preExpand(Rect cause, int attemptNumber) { // Only try this one time; clear out potentially obsolete entries // NOTE: this heuristic and the fact that it clears the used bit @@ -1204,6 +1220,7 @@ public class TextRenderer { return false; } + @Override public boolean additionFailed(Rect cause, int attemptNumber) { // Heavy hammer -- might consider doing something different packer.clear(); @@ -1222,10 +1239,12 @@ public class TextRenderer { return false; } + @Override public boolean canCompact() { return true; } + @Override public void beginMovement(Object oldBackingStore, Object newBackingStore) { // Exit the begin / end pair if necessary if (inBeginEndPair) { @@ -1259,6 +1278,7 @@ public class TextRenderer { g = newRenderer.createGraphics(); } + @Override public void move(Object oldBackingStore, Rect oldLocation, Object newBackingStore, Rect newLocation) { TextureRenderer oldRenderer = (TextureRenderer) oldBackingStore; @@ -1280,6 +1300,7 @@ public class TextRenderer { } } + @Override public void endMovement(Object oldBackingStore, Object newBackingStore) { g.dispose(); @@ -1316,10 +1337,12 @@ public class TextRenderer { } public static class DefaultRenderDelegate implements RenderDelegate { + @Override public boolean intensityOnly() { return true; } + @Override public Rectangle2D getBounds(CharSequence str, Font font, FontRenderContext frc) { return getBounds(font.createGlyphVector(frc, @@ -1327,20 +1350,24 @@ public class TextRenderer { frc); } + @Override public Rectangle2D getBounds(String str, Font font, FontRenderContext frc) { return getBounds(font.createGlyphVector(frc, str), frc); } + @Override public Rectangle2D getBounds(GlyphVector gv, FontRenderContext frc) { return gv.getVisualBounds(); } + @Override public void drawGlyphVector(Graphics2D graphics, GlyphVector str, int x, int y) { graphics.drawGlyphVector(str, x, y); } + @Override public void draw(Graphics2D graphics, String str, int x, int y) { graphics.drawString(str, x, y); } @@ -1896,6 +1923,7 @@ public class TextRenderer { this.frame = frame; } + @Override public void display(GLAutoDrawable drawable) { GL2 gl = GLContext.getCurrentGL().getGL2(); gl.glClear(GL2.GL_DEPTH_BUFFER_BIT | GL2.GL_COLOR_BUFFER_BIT); @@ -1913,6 +1941,7 @@ public class TextRenderer { if ((frame.getWidth() != w) || (frame.getHeight() != h)) { EventQueue.invokeLater(new Runnable() { + @Override public void run() { frame.setSize(w, h); } @@ -1920,6 +1949,7 @@ public class TextRenderer { } } + @Override public void dispose(GLAutoDrawable drawable) { glu.destroy(); glu=null; @@ -1927,9 +1957,11 @@ public class TextRenderer { } // Unused methods + @Override public void init(GLAutoDrawable drawable) { } + @Override public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) { } diff --git a/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java b/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java index 68c1d0fec..6f16cc4fe 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java +++ b/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java @@ -514,6 +514,7 @@ public class ShaderCode { id=-1; } + @Override public boolean equals(Object obj) { if(this==obj) { return true; } if(obj instanceof ShaderCode) { @@ -521,9 +522,11 @@ public class ShaderCode { } return false; } + @Override public int hashCode() { return id; } + @Override public String toString() { StringBuilder buf = new StringBuilder("ShaderCode[id="+id+", type="+shaderTypeStr()+", valid="+valid+", shader: "); for(int i=0; i= other.h()); } + @Override public String toString() { return "[Rect x: " + x() + " y: " + y() + " w: " + w() + " h: " + h() + "]"; } diff --git a/src/jogl/classes/com/jogamp/opengl/util/packrect/RectanglePacker.java b/src/jogl/classes/com/jogamp/opengl/util/packrect/RectanglePacker.java index a9d609745..2ee6a79b3 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/packrect/RectanglePacker.java +++ b/src/jogl/classes/com/jogamp/opengl/util/packrect/RectanglePacker.java @@ -61,12 +61,14 @@ public class RectanglePacker { private int maxHeight = -1; static class RectHComparator implements Comparator { + @Override public int compare(Object o1, Object o2) { Rect r1 = (Rect) o1; Rect r2 = (Rect) o2; return r2.h() - r1.h(); } + @Override public boolean equals(Object obj) { return this == obj; } diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/Texture.java b/src/jogl/classes/com/jogamp/opengl/util/texture/Texture.java index fd026d76e..584cacf8c 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/Texture.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/Texture.java @@ -188,6 +188,7 @@ public class Texture { /** The texture coordinates corresponding to the entire image. */ private TextureCoords coords; + @Override public String toString() { return "Texture[target 0x"+Integer.toHexString(target)+", name "+texID+", "+ imgWidth+"/"+texWidth+" x "+imgHeight+"/"+texHeight+", y-flip "+mustFlipVertically+ diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureCoords.java b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureCoords.java index 63f100630..ba59f89c5 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureCoords.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureCoords.java @@ -94,5 +94,6 @@ public class TextureCoords { rectangle. */ public float top() { return top; } + @Override public String toString() { return "TexCoord[h: "+left+" - "+right+", v: "+bottom+" - "+top+"]"; } } diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureData.java b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureData.java index 28029efc5..5d88a76c0 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureData.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureData.java @@ -499,6 +499,7 @@ public class TextureData { public void flush(); } + @Override public String toString() { return "TextureData["+width+"x"+height+", y-flip "+mustFlipVertically+", internFormat 0x"+Integer.toHexString(internalFormat)+", "+ pixelAttributes+", border "+border+", estSize "+estimatedMemorySize+", alignment "+alignment+", rowlen "+rowLength; diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java index b6d89d6d2..67ab5176d 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java @@ -914,6 +914,7 @@ public class TextureIO { //---------------------------------------------------------------------- // DDS provider -- supports files only for now static class DDSTextureProvider implements TextureProvider { + @Override public TextureData newTextureData(GLProfile glp, File file, int internalFormat, int pixelFormat, @@ -928,6 +929,7 @@ public class TextureIO { return null; } + @Override public TextureData newTextureData(GLProfile glp, InputStream stream, int internalFormat, int pixelFormat, @@ -944,6 +946,7 @@ public class TextureIO { return null; } + @Override public TextureData newTextureData(GLProfile glp, URL url, int internalFormat, int pixelFormat, @@ -999,6 +1002,7 @@ public class TextureIO { } } TextureData.Flusher flusher = new TextureData.Flusher() { + @Override public void flush() { image.close(); } @@ -1042,6 +1046,7 @@ public class TextureIO { //---------------------------------------------------------------------- // Base class for SGI RGB and TGA image providers static abstract class StreamBasedTextureProvider implements TextureProvider { + @Override public TextureData newTextureData(GLProfile glp, File file, int internalFormat, int pixelFormat, @@ -1062,6 +1067,7 @@ public class TextureIO { } } + @Override public TextureData newTextureData(GLProfile glp, URL url, int internalFormat, int pixelFormat, @@ -1079,6 +1085,7 @@ public class TextureIO { //---------------------------------------------------------------------- // SGI RGB image provider static class SGITextureProvider extends StreamBasedTextureProvider { + @Override public TextureData newTextureData(GLProfile glp, InputStream stream, int internalFormat, int pixelFormat, @@ -1114,6 +1121,7 @@ public class TextureIO { //---------------------------------------------------------------------- // TGA (Targa) image provider static class TGATextureProvider extends StreamBasedTextureProvider { + @Override public TextureData newTextureData(GLProfile glp, InputStream stream, int internalFormat, int pixelFormat, @@ -1151,6 +1159,7 @@ public class TextureIO { //---------------------------------------------------------------------- // PNG image provider static class PNGTextureProvider extends StreamBasedTextureProvider { + @Override public TextureData newTextureData(GLProfile glp, InputStream stream, int internalFormat, int pixelFormat, @@ -1188,6 +1197,7 @@ public class TextureIO { //---------------------------------------------------------------------- // JPEG image provider static class JPGTextureProvider extends StreamBasedTextureProvider { + @Override public TextureData newTextureData(GLProfile glp, InputStream stream, int internalFormat, int pixelFormat, @@ -1226,6 +1236,7 @@ public class TextureIO { // DDS texture writer // static class DDSTextureWriter implements TextureWriter { + @Override public boolean write(File file, TextureData data) throws IOException { if (DDS.equals(IOUtil.getFileSuffix(file))) { @@ -1276,6 +1287,7 @@ public class TextureIO { // SGI (rgb) texture writer // static class SGITextureWriter implements TextureWriter { + @Override public boolean write(File file, TextureData data) throws IOException { String fileSuffix = IOUtil.getFileSuffix(file); @@ -1321,6 +1333,7 @@ public class TextureIO { // TGA (Targa) texture writer static class TGATextureWriter implements TextureWriter { + @Override public boolean write(File file, TextureData data) throws IOException { if (TGA.equals(IOUtil.getFileSuffix(file))) { @@ -1371,6 +1384,7 @@ public class TextureIO { // PNG texture writer static class PNGTextureWriter implements TextureWriter { + @Override public boolean write(File file, TextureData data) throws IOException { if (PNG.equals(IOUtil.getFileSuffix(file))) { // See whether the PNG writer can handle this TextureData diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java index e4f72abf0..c34e019c2 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java @@ -124,6 +124,7 @@ public interface TextureSequence { public final Texture getTexture() { return texture; } + @Override public String toString() { return "TextureFrame[pts " + pts + " ms, l " + duration + " ms, texID "+ (null != texture ? texture.getTextureObject() : 0) + "]"; } diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureState.java b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureState.java index c8437d07c..d8320c690 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/TextureState.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/TextureState.java @@ -158,6 +158,7 @@ public class TextureState { public final int getWrapT() { return state[5]; } + @Override public final String toString() { return "TextureState[unit "+(state[0] - GL.GL_TEXTURE0)+", target "+toHexString(target)+ ": obj "+toHexString(state[1])+ diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/JPEGImage.java b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/JPEGImage.java index 471938754..2081788ba 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/JPEGImage.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/JPEGImage.java @@ -112,6 +112,7 @@ public class JPEGImage { data.put(i++, Cr); } + @Override public String toString() { return "JPEGPixels["+width+"x"+height+", sourceComp "+sourceComponents+", sourceCS "+sourceCS+", storageCS "+storageCS+", storageComp "+storageComponents+"]"; } @@ -171,5 +172,6 @@ public class JPEGImage { (bottom-to-top) order for calls to glTexImage2D. */ public ByteBuffer getData() { return data; } + @Override public String toString() { return "JPEGImage["+pixelWidth+"x"+pixelHeight+", bytesPerPixel "+bytesPerPixel+", reversedChannels "+reversedChannels+", "+pixelStorage+", "+data+"]"; } } diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/LEDataInputStream.java b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/LEDataInputStream.java index 4020ab3c0..3c90d96e4 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/LEDataInputStream.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/LEDataInputStream.java @@ -82,38 +82,45 @@ public class LEDataInputStream extends FilterInputStream implements DataInput dataIn = new DataInputStream(in); } + @Override public void close() throws IOException { dataIn.close(); // better close as we create it. // this will close underlying as well. } + @Override public synchronized final int read(byte b[]) throws IOException { return dataIn.read(b, 0, b.length); } + @Override public synchronized final int read(byte b[], int off, int len) throws IOException { int rl = dataIn.read(b, off, len); return rl; } + @Override public final void readFully(byte b[]) throws IOException { dataIn.readFully(b, 0, b.length); } + @Override public final void readFully(byte b[], int off, int len) throws IOException { dataIn.readFully(b, off, len); } + @Override public final int skipBytes(int n) throws IOException { return dataIn.skipBytes(n); } + @Override public final boolean readBoolean() throws IOException { int ch = dataIn.read(); @@ -122,6 +129,7 @@ public class LEDataInputStream extends FilterInputStream implements DataInput return (ch != 0); } + @Override public final byte readByte() throws IOException { int ch = dataIn.read(); @@ -130,6 +138,7 @@ public class LEDataInputStream extends FilterInputStream implements DataInput return (byte)(ch); } + @Override public final int readUnsignedByte() throws IOException { int ch = dataIn.read(); @@ -138,6 +147,7 @@ public class LEDataInputStream extends FilterInputStream implements DataInput return ch; } + @Override public final short readShort() throws IOException { int ch1 = dataIn.read(); @@ -147,6 +157,7 @@ public class LEDataInputStream extends FilterInputStream implements DataInput return (short)((ch1 << 0) + (ch2 << 8)); } + @Override public final int readUnsignedShort() throws IOException { int ch1 = dataIn.read(); @@ -156,6 +167,7 @@ public class LEDataInputStream extends FilterInputStream implements DataInput return (ch1 << 0) + (ch2 << 8); } + @Override public final char readChar() throws IOException { int ch1 = dataIn.read(); @@ -165,6 +177,7 @@ public class LEDataInputStream extends FilterInputStream implements DataInput return (char)((ch1 << 0) + (ch2 << 8)); } + @Override public final int readInt() throws IOException { int ch1 = dataIn.read(); @@ -176,6 +189,7 @@ public class LEDataInputStream extends FilterInputStream implements DataInput return ((ch1 << 0) + (ch2 << 8) + (ch3 << 16) + (ch4 << 24)); } + @Override public final long readLong() throws IOException { int i1 = readInt(); @@ -183,11 +197,13 @@ public class LEDataInputStream extends FilterInputStream implements DataInput return ((long)i1 & 0xFFFFFFFFL) + ((long)i2 << 32); } + @Override public final float readFloat() throws IOException { return Float.intBitsToFloat(readInt()); } + @Override public final double readDouble() throws IOException { return Double.longBitsToDouble(readLong()); @@ -197,6 +213,7 @@ public class LEDataInputStream extends FilterInputStream implements DataInput * dont call this it is not implemented. * @return empty new string **/ + @Override public final String readLine() throws IOException { return new String(); @@ -206,6 +223,7 @@ public class LEDataInputStream extends FilterInputStream implements DataInput * dont call this it is not implemented * @return empty new string **/ + @Override public final String readUTF() throws IOException { return new String(); diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/LEDataOutputStream.java b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/LEDataOutputStream.java index a7101a576..93b097500 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/LEDataOutputStream.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/LEDataOutputStream.java @@ -78,43 +78,51 @@ public class LEDataOutputStream extends FilterOutputStream implements DataOutput dataOut = new DataOutputStream(out); } + @Override public void close() throws IOException { dataOut.close(); // better close as we create it. // this will close underlying as well. } + @Override public synchronized final void write(byte b[]) throws IOException { dataOut.write(b, 0, b.length); } + @Override public synchronized final void write(byte b[], int off, int len) throws IOException { dataOut.write(b, off, len); } + @Override public final void write(int b) throws IOException { dataOut.write(b); } + @Override public final void writeBoolean(boolean v) throws IOException { dataOut.writeBoolean(v); } + @Override public final void writeByte(int v) throws IOException { dataOut.writeByte(v); } /** Don't call this -- not implemented */ + @Override public final void writeBytes(String s) throws IOException { throw new UnsupportedOperationException(); } + @Override public final void writeChar(int v) throws IOException { dataOut.writeChar(((v >> 8) & 0xff) | @@ -122,21 +130,25 @@ public class LEDataOutputStream extends FilterOutputStream implements DataOutput } /** Don't call this -- not implemented */ + @Override public final void writeChars(String s) throws IOException { throw new UnsupportedOperationException(); } + @Override public final void writeDouble(double v) throws IOException { writeLong(Double.doubleToRawLongBits(v)); } + @Override public final void writeFloat(float v) throws IOException { writeInt(Float.floatToRawIntBits(v)); } + @Override public final void writeInt(int v) throws IOException { dataOut.writeInt((v >>> 24) | @@ -145,12 +157,14 @@ public class LEDataOutputStream extends FilterOutputStream implements DataOutput (v << 24)); } + @Override public final void writeLong(long v) throws IOException { writeInt((int) v); writeInt((int) (v >>> 32)); } + @Override public final void writeShort(int v) throws IOException { dataOut.writeShort(((v >> 8) & 0xff) | @@ -158,6 +172,7 @@ public class LEDataOutputStream extends FilterOutputStream implements DataOutput } /** Don't call this -- not implemented */ + @Override public final void writeUTF(String s) throws IOException { throw new UnsupportedOperationException(); diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/NetPbmTextureWriter.java b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/NetPbmTextureWriter.java index 43b8eebe6..cabf4ebc5 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/NetPbmTextureWriter.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/NetPbmTextureWriter.java @@ -84,6 +84,7 @@ public class NetPbmTextureWriter implements TextureWriter { public String getSuffix() { return (magic==6)?PPM:PAM; } + @Override public boolean write(File file, TextureData data) throws IOException { boolean res; final int magic_old = magic; diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/PNGImage.java b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/PNGImage.java index bfde1bfac..71cbbf97e 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/PNGImage.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/PNGImage.java @@ -314,5 +314,6 @@ public class PNGImage { } } + @Override public String toString() { return "PNGImage["+pixelWidth+"x"+pixelHeight+", dpi "+dpi[0]+" x "+dpi[1]+", bytesPerPixel "+bytesPerPixel+", reversedChannels "+reversedChannels+", "+data+"]"; } } diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/SGIImage.java b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/SGIImage.java index fd96fba80..cbc8e652f 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/SGIImage.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/SGIImage.java @@ -126,6 +126,7 @@ public class SGIImage { in.read(tmp); } + @Override public String toString() { return ("magic: " + magic + " storage: " + (int) storage + @@ -226,6 +227,7 @@ public class SGIImage { (bottom-to-top) order for calls to glTexImage2D. */ public byte[] getData() { return data; } + @Override public String toString() { return header.toString(); } diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/TGAImage.java b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/TGAImage.java index df9430a26..15cd63eb3 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/TGAImage.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/TGAImage.java @@ -199,6 +199,7 @@ public class TGAImage { public byte[] imageIDbuf() { return imageIDbuf; } public String imageID() { return imageID; } + @Override public String toString() { return "TGA Header " + " id length: " + idLength + diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/awt/IIOTextureProvider.java b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/awt/IIOTextureProvider.java index f23cb74bf..18ad429d2 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/awt/IIOTextureProvider.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/awt/IIOTextureProvider.java @@ -54,6 +54,7 @@ import com.jogamp.opengl.util.texture.spi.*; public class IIOTextureProvider implements TextureProvider { private static final boolean DEBUG = Debug.debug("TextureIO"); + @Override public TextureData newTextureData(GLProfile glp, File file, int internalFormat, int pixelFormat, @@ -70,6 +71,7 @@ public class IIOTextureProvider implements TextureProvider { return new AWTTextureData(glp, internalFormat, pixelFormat, mipmap, img); } + @Override public TextureData newTextureData(GLProfile glp, InputStream stream, int internalFormat, int pixelFormat, @@ -86,6 +88,7 @@ public class IIOTextureProvider implements TextureProvider { return new AWTTextureData(glp, internalFormat, pixelFormat, mipmap, img); } + @Override public TextureData newTextureData(GLProfile glp, URL url, int internalFormat, int pixelFormat, diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/awt/IIOTextureWriter.java b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/awt/IIOTextureWriter.java index 438ab6cc2..be82e4fb8 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/spi/awt/IIOTextureWriter.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/spi/awt/IIOTextureWriter.java @@ -53,6 +53,7 @@ import com.jogamp.opengl.util.texture.*; import com.jogamp.opengl.util.texture.spi.*; public class IIOTextureWriter implements TextureWriter { + @Override public boolean write(File file, TextureData data) throws IOException { int pixelFormat = data.getPixelFormat(); diff --git a/src/jogl/classes/javax/media/opengl/GLArrayData.java b/src/jogl/classes/javax/media/opengl/GLArrayData.java index 4025170cf..97f58a92a 100644 --- a/src/jogl/classes/javax/media/opengl/GLArrayData.java +++ b/src/jogl/classes/javax/media/opengl/GLArrayData.java @@ -201,6 +201,7 @@ public interface GLArrayData { */ public int getStride(); + @Override public String toString(); public void destroy(GL gl); diff --git a/src/jogl/classes/javax/media/opengl/GLDebugMessage.java b/src/jogl/classes/javax/media/opengl/GLDebugMessage.java index 1032cf929..acb33b058 100644 --- a/src/jogl/classes/javax/media/opengl/GLDebugMessage.java +++ b/src/jogl/classes/javax/media/opengl/GLDebugMessage.java @@ -202,6 +202,7 @@ public class GLDebugMessage { return sb; } + @Override public String toString() { return toString(null).toString(); } diff --git a/src/jogl/classes/javax/media/opengl/GLDrawableFactory.java b/src/jogl/classes/javax/media/opengl/GLDrawableFactory.java index e486e2bfd..26bafd961 100644 --- a/src/jogl/classes/javax/media/opengl/GLDrawableFactory.java +++ b/src/jogl/classes/javax/media/opengl/GLDrawableFactory.java @@ -134,6 +134,7 @@ public abstract class GLDrawableFactory { private static final void initSingletonImpl() { NativeWindowFactory.initSingleton(); NativeWindowFactory.addCustomShutdownHook(false /* head */, new Runnable() { + @Override public void run() { shutdown0(); } diff --git a/src/jogl/classes/javax/media/opengl/GLProfile.java b/src/jogl/classes/javax/media/opengl/GLProfile.java index 15300e397..35dcce0f7 100644 --- a/src/jogl/classes/javax/media/opengl/GLProfile.java +++ b/src/jogl/classes/javax/media/opengl/GLProfile.java @@ -121,11 +121,13 @@ public class GLProfile { // run the whole static initialization privileged to speed up, // since this skips checking further access AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { Platform.initSingleton(); // Performance hack to trigger classloading of the GL classes impl, which makes up to 12%, 800ms down to 700ms new Thread(new Runnable() { + @Override public void run() { final ClassLoader cl = GLProfile.class.getClassLoader(); try { @@ -1020,6 +1022,7 @@ public class GLProfile { * @return true if given Object is a GLProfile and * if both, profile and profileImpl is equal with this. */ + @Override public final boolean equals(Object o) { if(this==o) { return true; } if(o instanceof GLProfile) { @@ -1029,6 +1032,7 @@ public class GLProfile { return false; } + @Override public int hashCode() { int hash = 5; hash = 97 * hash + getImplName().hashCode(); @@ -1469,6 +1473,7 @@ public class GLProfile { return true; } + @Override public String toString() { return "GLProfile[" + getName() + "/" + getImplName() + "."+(this.isHardwareRasterizer?"hw":"sw")+"]"; } diff --git a/src/jogl/classes/javax/media/opengl/GLUniformData.java b/src/jogl/classes/javax/media/opengl/GLUniformData.java index 700bba2eb..412bfb0a9 100644 --- a/src/jogl/classes/javax/media/opengl/GLUniformData.java +++ b/src/jogl/classes/javax/media/opengl/GLUniformData.java @@ -97,6 +97,7 @@ public class GLUniformData { return sb; } + @Override public String toString() { return toString(null).toString(); } diff --git a/src/jogl/classes/javax/media/opengl/awt/GLCanvas.java b/src/jogl/classes/javax/media/opengl/awt/GLCanvas.java index f08fbafe8..8757c7a26 100644 --- a/src/jogl/classes/javax/media/opengl/awt/GLCanvas.java +++ b/src/jogl/classes/javax/media/opengl/awt/GLCanvas.java @@ -449,8 +449,14 @@ public class GLCanvas extends Canvas implements AWTGLAutoDrawable, WindowClosing _lock.unlock(); } } - private final Runnable realizeOnEDTAction = new Runnable() { public void run() { setRealizedImpl(true); } }; - private final Runnable unrealizeOnEDTAction = new Runnable() { public void run() { setRealizedImpl(false); } }; + private final Runnable realizeOnEDTAction = new Runnable() { + @Override + public void run() { setRealizedImpl(true); } + }; + private final Runnable unrealizeOnEDTAction = new Runnable() { + @Override + public void run() { setRealizedImpl(false); } + }; @Override public final void setRealized(boolean realized) { diff --git a/src/jogl/classes/javax/media/opengl/glu/GLUtessellatorCallbackAdapter.java b/src/jogl/classes/javax/media/opengl/glu/GLUtessellatorCallbackAdapter.java index bd12dfb9d..15a7bb2a1 100644 --- a/src/jogl/classes/javax/media/opengl/glu/GLUtessellatorCallbackAdapter.java +++ b/src/jogl/classes/javax/media/opengl/glu/GLUtessellatorCallbackAdapter.java @@ -64,20 +64,32 @@ package javax.media.opengl.glu; */ public class GLUtessellatorCallbackAdapter implements GLUtessellatorCallback { + @Override public void begin(int type) {} + @Override public void edgeFlag(boolean boundaryEdge) {} + @Override public void vertex(Object vertexData) {} + @Override public void end() {} // public void mesh(jogamp.opengl.tessellator.GLUmesh mesh) {} + @Override public void error(int errnum) {} + @Override public void combine(double[] coords, Object[] data, float[] weight, Object[] outData) {} + @Override public void beginData(int type, Object polygonData) {} + @Override public void edgeFlagData(boolean boundaryEdge, Object polygonData) {} + @Override public void vertexData(Object vertexData, Object polygonData) {} + @Override public void endData(Object polygonData) {} + @Override public void errorData(int errnum, Object polygonData) {} + @Override public void combineData(double[] coords, Object[] data, float[] weight, Object[] outData, Object polygonData) {} diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java b/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java index 22600cb89..012b1d1dd 100644 --- a/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java +++ b/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java @@ -46,6 +46,7 @@ public class RegionRendererImpl01 extends RegionRenderer { } + @Override protected boolean initShaderProgram(GL2ES2 gl) { final ShaderState st = rs.getShaderState(); diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/RenderStateImpl.java b/src/jogl/classes/jogamp/graph/curve/opengl/RenderStateImpl.java index 8ca29b9f0..fe2dd7363 100644 --- a/src/jogl/classes/jogamp/graph/curve/opengl/RenderStateImpl.java +++ b/src/jogl/classes/jogamp/graph/curve/opengl/RenderStateImpl.java @@ -65,8 +65,11 @@ public class RenderStateImpl extends RenderState { this(st, pointFactory, new PMVMatrix()); } + @Override public final GLUniformData getWeight() { return gcu_Weight; } + @Override public final GLUniformData getAlpha() { return gcu_Alpha; } + @Override public final GLUniformData getColorStatic() { return gcu_ColorStatic; } //public final GLUniformData getStrength() { return gcu_Strength; } diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PES2.java b/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PES2.java index 86c0db8c6..77c862ed4 100644 --- a/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PES2.java +++ b/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PES2.java @@ -77,6 +77,7 @@ public class VBORegion2PES2 extends GLRegion { mgl_ActiveTexture = new GLUniformData(UniformNames.gcu_TextureUnit, textureEngine); } + @Override public void update(GL2ES2 gl, RenderState rs) { if(!isDirty()) { return; @@ -194,6 +195,7 @@ public class VBORegion2PES2 extends GLRegion { int[] maxTexSize = new int[] { -1 } ; + @Override protected void drawImpl(GL2ES2 gl, RenderState rs, int vp_width, int vp_height, int[/*1*/] texWidth) { if(vp_width <=0 || vp_height <= 0 || null==texWidth || texWidth[0] <= 0){ renderRegion(gl); @@ -296,6 +298,7 @@ public class VBORegion2PES2 extends GLRegion { verticeTxtAttr.enableBuffer(gl, false); } + @Override public void destroy(GL2ES2 gl, RenderState rs) { if(DEBUG_INSTANCE) { System.err.println("VBORegion2PES2 Destroy: " + this); diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java b/src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java index 0a867b45c..9feb18a12 100644 --- a/src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java +++ b/src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java @@ -48,6 +48,7 @@ public class VBORegionSPES2 extends GLRegion { super(renderModes); } + @Override protected void update(GL2ES2 gl, RenderState rs) { if(!isDirty()) { return; @@ -125,6 +126,7 @@ public class VBORegionSPES2 extends GLRegion { setDirty(false); } + @Override protected void drawImpl(GL2ES2 gl, RenderState rs, int vp_width, int vp_height, int[/*1*/] texWidth) { verticeAttr.enableBuffer(gl, true); texCoordAttr.enableBuffer(gl, true); @@ -137,6 +139,7 @@ public class VBORegionSPES2 extends GLRegion { verticeAttr.enableBuffer(gl, false); } + @Override public final void destroy(GL2ES2 gl, RenderState rs) { if(DEBUG_INSTANCE) { System.err.println("VBORegionSPES2 Destroy: " + this); diff --git a/src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java b/src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java index 4f48b2d20..a60f91b87 100644 --- a/src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java +++ b/src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java @@ -65,6 +65,7 @@ public class CDTriangulator2D implements Triangulator{ /** Reset the triangulation to initial state * Clearing cached data */ + @Override public void reset() { maxTriID = 0; vertices = new ArrayList(); @@ -72,6 +73,7 @@ public class CDTriangulator2D implements Triangulator{ loops = new ArrayList(); } + @Override public void addCurve(Outline polyline) { Loop loop = null; @@ -93,6 +95,7 @@ public class CDTriangulator2D implements Triangulator{ } } + @Override public ArrayList generate() { for(int i=0;i() { + @Override public String run() { return System.getProperty("java.home"); } @@ -81,10 +82,12 @@ public class JavaFontLoader implements FontSet { return 0 != ( bits & bit ) ; } + @Override public Font getDefault() throws IOException { return get(FAMILY_REGULAR, 0) ; // Sans Serif Regular } + @Override public Font get(int family, int style) throws IOException { Font font = (Font)fontMap.get( ( family << 8 ) | style ); if (font != null) { diff --git a/src/jogl/classes/jogamp/graph/font/UbuntuFontLoader.java b/src/jogl/classes/jogamp/graph/font/UbuntuFontLoader.java index 254583739..9096f7d16 100644 --- a/src/jogl/classes/jogamp/graph/font/UbuntuFontLoader.java +++ b/src/jogl/classes/jogamp/graph/font/UbuntuFontLoader.java @@ -71,10 +71,12 @@ public class UbuntuFontLoader implements FontSet { return 0 != ( bits & bit ) ; } + @Override public Font getDefault() throws IOException { return get(FAMILY_REGULAR, 0) ; // Sans Serif Regular } + @Override public Font get(int family, int style) throws IOException { Font font = (Font)fontMap.get( ( family << 8 ) | style ); if (font != null) { diff --git a/src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java b/src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java index ba6c72650..67ae6c387 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java @@ -148,25 +148,31 @@ class TypecastFont implements FontInt { char2Glyph = new IntObjectHashMap(cmapentries + cmapentries/4); } + @Override public StringBuilder getName(StringBuilder sb, int nameIndex) { return font.getName(nameIndex, sb); } + @Override public String getName(int nameIndex) { return getName(null, nameIndex).toString(); } + @Override public StringBuilder getAllNames(StringBuilder sb, String separator) { return font.getAllNames(sb, separator); } + @Override public StringBuilder getFullFamilyName(StringBuilder sb) { sb = getName(sb, Font.NAME_FAMILY).append("-"); getName(sb, Font.NAME_SUBFAMILY); return sb; } + @Override public float getAdvanceWidth(int i, float pixelSize) { return font.getHmtxTable().getAdvanceWidth(i) * metrics.getScale(pixelSize); } + @Override public Metrics getMetrics() { if (metrics == null) { metrics = new TypecastHMetrics(this); @@ -174,6 +180,7 @@ class TypecastFont implements FontInt { return metrics; } + @Override public Glyph getGlyph(char symbol) { TypecastGlyph result = (TypecastGlyph) char2Glyph.get(symbol); if (null == result) { @@ -219,11 +226,13 @@ class TypecastFont implements FontInt { return result; } + @Override public ArrayList getOutlineShapes(CharSequence string, float pixelSize, Factory vertexFactory) { AffineTransform transform = new AffineTransform(vertexFactory); return TypecastRenderer.getOutlineShapes(this, string, pixelSize, transform, vertexFactory); } + @Override public float getStringWidth(CharSequence string, float pixelSize) { float width = 0; final int len = string.length(); @@ -241,6 +250,7 @@ class TypecastFont implements FontInt { return (int)(width + 0.5f); } + @Override public float getStringHeight(CharSequence string, float pixelSize) { int height = 0; @@ -257,6 +267,7 @@ class TypecastFont implements FontInt { return height; } + @Override public AABBox getStringBounds(CharSequence string, float pixelSize) { if (string == null) { return new AABBox(); @@ -287,14 +298,17 @@ class TypecastFont implements FontInt { return new AABBox(0, 0, 0, totalWidth, totalHeight,0); } + @Override final public int getNumGlyphs() { return font.getNumGlyphs(); } + @Override public boolean isPrintableChar( char c ) { return FontFactory.isPrintableChar(c); } + @Override public String toString() { return getFullFamilyName(null).toString(); } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/TypecastFontConstructor.java b/src/jogl/classes/jogamp/graph/font/typecast/TypecastFontConstructor.java index 77b5a9aa9..d7db981b0 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/TypecastFontConstructor.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/TypecastFontConstructor.java @@ -43,8 +43,10 @@ import com.jogamp.graph.font.Font; public class TypecastFontConstructor implements FontConstructor { + @Override public Font create(final File ffile) throws IOException { Object o = AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { OTFontCollection fontset; try { @@ -64,8 +66,10 @@ public class TypecastFontConstructor implements FontConstructor { throw new InternalError("Unexpected Object: "+o); } + @Override public Font create(final URLConnection fconn) throws IOException { return AccessController.doPrivileged(new PrivilegedAction() { + @Override public Font run() { File tf = null; int len=0; diff --git a/src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java b/src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java index 476b3fd4e..574aeb86d 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java @@ -79,6 +79,7 @@ public class TypecastGlyph implements FontInt.GlyphInt { return fo.floatValue(); } + @Override public String toString() { return "\nAdvance:"+ @@ -122,6 +123,7 @@ public class TypecastGlyph implements FontInt.GlyphInt { return this.advance.get(size, useFrationalMetrics); } + @Override public String toString() { return "\nMetrics:"+ @@ -173,10 +175,12 @@ public class TypecastGlyph implements FontInt.GlyphInt { this.metrics.reset(); } + @Override public Font getFont() { return this.font; } + @Override public char getSymbol() { return this.symbol; } @@ -201,6 +205,7 @@ public class TypecastGlyph implements FontInt.GlyphInt { return this.metrics.getScale(pixelSize); } + @Override public AABBox getBBox(float pixelSize) { final float size = getScale(pixelSize); AABBox newBox = getBBox().clone(); @@ -212,14 +217,17 @@ public class TypecastGlyph implements FontInt.GlyphInt { this.metrics.addAdvance(advance, size); } + @Override public float getAdvance(float pixelSize, boolean useFrationalMetrics) { return this.metrics.getAdvance(pixelSize, useFrationalMetrics); } + @Override public Path2D getPath() { return this.path; } + @Override public Path2D getPath(float pixelSize) { final float size = getScale(pixelSize); diff --git a/src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java b/src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java index a6ce58ae2..ecc41e438 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java @@ -61,21 +61,27 @@ class TypecastHMetrics implements Metrics { bbox = new AABBox(lowx, lowy, 0, highx, highy, 0); // invert } + @Override public final float getAscent(float pixelSize) { return getScale(pixelSize) * -hheaTable.getAscender(); // invert } + @Override public final float getDescent(float pixelSize) { return getScale(pixelSize) * -hheaTable.getDescender(); // invert } + @Override public final float getLineGap(float pixelSize) { return getScale(pixelSize) * -hheaTable.getLineGap(); // invert } + @Override public final float getMaxExtend(float pixelSize) { return getScale(pixelSize) * hheaTable.getXMaxExtent(); } + @Override public final float getScale(float pixelSize) { return pixelSize * unitsPerEM_Inv; } + @Override public final AABBox getBBox(float pixelSize) { AABBox res = new AABBox(bbox.getLow(), bbox.getHigh()); res.scale(getScale(pixelSize)); diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java index 8fc4be92d..7c3b32e2c 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java @@ -283,6 +283,7 @@ public class OTFont { _glyf = (GlyfTable) getTable(Table.glyf); } + @Override public String toString() { if (_tableDirectory != null) { return _tableDirectory.toString(); diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/BaseTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/BaseTable.java index b6626a9cc..60975dd52 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/BaseTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/BaseTable.java @@ -47,10 +47,12 @@ public class BaseTable implements Table { _coordinate = di.readShort(); } + @Override public int getBaseCoordFormat() { return 1; } + @Override public short getCoordinate() { return _coordinate; } @@ -69,10 +71,12 @@ public class BaseTable implements Table { _baseCoordPoint = di.readUnsignedShort(); } + @Override public int getBaseCoordFormat() { return 2; } + @Override public short getCoordinate() { return _coordinate; } @@ -89,10 +93,12 @@ public class BaseTable implements Table { _deviceTableOffset = di.readUnsignedShort(); } + @Override public int getBaseCoordFormat() { return 2; } + @Override public short getCoordinate() { return _coordinate; } @@ -211,6 +217,7 @@ public class BaseTable implements Table { } } + @Override public String toString() { StringBuilder sb = new StringBuilder() .append("\nBaseScript BaseScriptT").append(Integer.toHexString(_thisOffset)) @@ -273,6 +280,7 @@ public class BaseTable implements Table { } } + @Override public String toString() { StringBuilder sb = new StringBuilder() .append("\nBaseScriptList BaseScriptListT").append(Integer.toHexString(_thisOffset)) @@ -305,6 +313,7 @@ public class BaseTable implements Table { } } + @Override public String toString() { StringBuilder sb = new StringBuilder() .append("\nBaseTagList BaseTagListT").append(Integer.toHexString(_thisOffset)) @@ -338,6 +347,7 @@ public class BaseTable implements Table { } } + @Override public String toString() { return new StringBuilder() .append("\nAxis AxisT").append(Integer.toHexString(_thisOffset)) @@ -403,10 +413,12 @@ public class BaseTable implements Table { return String.valueOf(c); } + @Override public int getType() { return BASE; } + @Override public String toString() { StringBuilder sb = new StringBuilder() .append("; 'BASE' Table - Baseline\n;-------------------------------------\n\n") @@ -429,6 +441,7 @@ public class BaseTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CffTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CffTable.java index 62486fb7f..a36a49923 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CffTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CffTable.java @@ -164,6 +164,7 @@ public class CffTable implements Table { return ""; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); Enumeration keys = _entries.keys(); @@ -220,6 +221,7 @@ public class CffTable implements Table { return _data; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("DICT\n"); @@ -254,6 +256,7 @@ public class CffTable implements Table { return new Dict(getData(), offset, len); } + @Override public String toString() { StringBuilder sb = new StringBuilder(); for (int i = 0; i < getCount(); ++i) { @@ -287,6 +290,7 @@ public class CffTable implements Table { return name; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); for (int i = 0; i < getCount(); ++i) { @@ -321,6 +325,7 @@ public class CffTable implements Table { } } + @Override public String toString() { int nonStandardBase = CffStandardStrings.standardStrings.length; StringBuilder sb = new StringBuilder(); @@ -388,10 +393,12 @@ public class CffTable implements Table { } } + @Override public int getFormat() { return 0; } + @Override public int getSID(int gid) { if (gid == 0) { return 0; @@ -413,10 +420,12 @@ public class CffTable implements Table { } } + @Override public int getFormat() { return 1; } + @Override public int getSID(int gid) { if (gid == 0) { return 0; @@ -448,10 +457,12 @@ public class CffTable implements Table { } } + @Override public int getFormat() { return 2; } + @Override public int getSID(int gid) { if (gid == 0) { return 0; @@ -586,10 +597,12 @@ public class CffTable implements Table { return _charstringsArray[fontIndex].length; } + @Override public int getType() { return CFF; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'CFF' Table - Compact Font Format\n---------------------------------\n"); @@ -614,6 +627,7 @@ public class CffTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CharstringType2.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CharstringType2.java index 93ff60988..7a7b51890 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CharstringType2.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CharstringType2.java @@ -133,10 +133,12 @@ public class CharstringType2 extends Charstring { _globalSubrIndex = globalSubrIndex; } + @Override public int getIndex() { return _index; } + @Override public String getName() { return _name; } @@ -223,6 +225,7 @@ public class CharstringType2 extends Charstring { return _ip < _offset + _length; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); resetIP(); diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat1.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat1.java index 1079aeed4..94910e4f6 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat1.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat1.java @@ -32,6 +32,7 @@ public class ClassDefFormat1 extends ClassDef { } } + @Override public int getFormat() { return 1; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat2.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat2.java index 59bc7b329..9906ecfb1 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat2.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat2.java @@ -30,6 +30,7 @@ public class ClassDefFormat2 extends ClassDef { } } + @Override public int getFormat() { return 2; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat.java index 62ce5ae4c..f7054852a 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat.java @@ -122,6 +122,7 @@ public abstract class CmapFormat { public abstract int mapCharCode(int charCode); + @Override public String toString() { return new StringBuilder() .append("format: ") diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat0.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat0.java index 2093158bd..dd1ede232 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat0.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat0.java @@ -71,10 +71,12 @@ public class CmapFormat0 extends CmapFormat { } } + @Override public int getRangeCount() { return 1; } + @Override public Range getRange(int index) throws ArrayIndexOutOfBoundsException { if (index != 0) { throw new ArrayIndexOutOfBoundsException(); @@ -82,6 +84,7 @@ public class CmapFormat0 extends CmapFormat { return new Range(0, 255); } + @Override public int mapCharCode(int charCode) { if (0 <= charCode && charCode < 256) { return _glyphIdArray[charCode]; diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat2.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat2.java index 222c93852..d071e9421 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat2.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat2.java @@ -118,10 +118,12 @@ public class CmapFormat2 extends CmapFormat { } } + @Override public int getRangeCount() { return _subHeaders.length; } + @Override public Range getRange(int index) throws ArrayIndexOutOfBoundsException { if (index < 0 || index >= _subHeaders.length) { throw new ArrayIndexOutOfBoundsException(); @@ -144,6 +146,7 @@ public class CmapFormat2 extends CmapFormat { _subHeaders[index]._entryCount - 1)); } + @Override public int mapCharCode(int charCode) { // Get the appropriate subheader diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat4.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat4.java index ef65867af..2ae23d031 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat4.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat4.java @@ -110,10 +110,12 @@ public class CmapFormat4 extends CmapFormat { // } } + @Override public int getRangeCount() { return _segCount; } + @Override public Range getRange(int index) throws ArrayIndexOutOfBoundsException { if (index < 0 || index >= _segCount) { throw new ArrayIndexOutOfBoundsException(); @@ -121,6 +123,7 @@ public class CmapFormat4 extends CmapFormat { return new Range(_startCode[index], _endCode[index]); } + @Override public int mapCharCode(int charCode) { try { for (int i = 0; i < _segCount; i++) { @@ -142,6 +145,7 @@ public class CmapFormat4 extends CmapFormat { return 0; } + @Override public String toString() { return new StringBuilder() .append(super.toString()) diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat6.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat6.java index a22e33244..2a33d8d40 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat6.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat6.java @@ -73,14 +73,17 @@ public class CmapFormat6 extends CmapFormat { //di.skipBytes(_length - 4); } + @Override public int getRangeCount() { return 0; } + @Override public Range getRange(int index) throws ArrayIndexOutOfBoundsException { throw new ArrayIndexOutOfBoundsException(); } + @Override public int mapCharCode(int charCode) { return 0; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormatUnknown.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormatUnknown.java index 3544b6f62..392683bcd 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormatUnknown.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormatUnknown.java @@ -40,14 +40,17 @@ public class CmapFormatUnknown extends CmapFormat { di.skipBytes(_length - 4); } + @Override public int getRangeCount() { return 0; } + @Override public Range getRange(int index) throws ArrayIndexOutOfBoundsException { throw new ArrayIndexOutOfBoundsException(); } + @Override public int mapCharCode(int charCode) { return 0; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapIndexEntry.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapIndexEntry.java index 47f6c470d..4833318d5 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapIndexEntry.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapIndexEntry.java @@ -90,6 +90,7 @@ public class CmapIndexEntry implements Comparable { _format = format; } + @Override public String toString() { return new StringBuilder() .append("platform id: ") @@ -104,6 +105,7 @@ public class CmapIndexEntry implements Comparable { .append(_offset).toString(); } + @Override public int compareTo(java.lang.Object obj) { CmapIndexEntry entry = (CmapIndexEntry) obj; if (getOffset() < entry.getOffset()) { diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapTable.java index 016efa093..2cdddb3ef 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapTable.java @@ -130,10 +130,12 @@ public class CmapTable implements Table { return null; } + @Override public int getType() { return cmap; } + @Override public String toString() { StringBuilder sb = new StringBuilder().append("cmap\n"); @@ -155,6 +157,7 @@ public class CmapTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat1.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat1.java index 712da54df..715bf11ec 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat1.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat1.java @@ -72,10 +72,12 @@ public class CoverageFormat1 extends Coverage { } } + @Override public int getFormat() { return 1; } + @Override public int findGlyph(int glyphId) { for (int i = 0; i < _glyphCount; i++) { if (_glyphIds[i] == glyphId) { diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat2.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat2.java index 7196ed595..bd2a28f79 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat2.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat2.java @@ -72,10 +72,12 @@ public class CoverageFormat2 extends Coverage { } } + @Override public int getFormat() { return 2; } + @Override public int findGlyph(int glyphId) { for (int i = 0; i < _rangeCount; i++) { int n = _rangeRecords[i].getCoverageIndex(glyphId); diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CvtTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CvtTable.java index 867ef1823..9e1c47de9 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CvtTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/CvtTable.java @@ -29,6 +29,7 @@ public class CvtTable implements Table { } } + @Override public int getType() { return cvt; } @@ -37,6 +38,7 @@ public class CvtTable implements Table { return values; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'cvt ' Table - Control Value Table\n----------------------------------\n"); @@ -54,6 +56,7 @@ public class CvtTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/DirectoryEntry.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/DirectoryEntry.java index 7abcec0ce..e34fa32e8 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/DirectoryEntry.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/DirectoryEntry.java @@ -71,6 +71,7 @@ public class DirectoryEntry implements Cloneable { _length = di.readInt(); } + @Override public Object clone() { try { return super.clone(); @@ -104,6 +105,7 @@ public class DirectoryEntry implements Cloneable { .toString(); } + @Override public String toString() { return new StringBuilder() .append("'").append(getTagAsString()) diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/DsigTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/DsigTable.java index f25c595d0..2b85f52d8 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/DsigTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/DsigTable.java @@ -45,6 +45,7 @@ public class DsigTable implements Table { * Get the table type, as a table directory value. * @return The table type */ + @Override public int getType() { return DSIG; } @@ -55,10 +56,12 @@ public class DsigTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } + @Override public String toString() { StringBuilder sb = new StringBuilder().append("DSIG\n"); for (int i = 0; i < numSigs; i++) { diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/FpgmTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/FpgmTable.java index b662265d9..467a4f360 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/FpgmTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/FpgmTable.java @@ -26,10 +26,12 @@ public class FpgmTable extends Program implements Table { readInstructions(di, de.getLength()); } + @Override public int getType() { return fpgm; } + @Override public String toString() { return Disassembler.disassemble(getInstructions(), 0); } @@ -40,6 +42,7 @@ public class FpgmTable extends Program implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspRange.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspRange.java index cf4afa88e..cc87b19a4 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspRange.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspRange.java @@ -30,6 +30,7 @@ public class GaspRange { rangeGaspBehavior = di.readUnsignedShort(); } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(" rangeMaxPPEM: ").append(rangeMaxPPEM) diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspTable.java index 45498eda1..8f91e6d00 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspTable.java @@ -34,10 +34,12 @@ public class GaspTable implements Table { } } + @Override public int getType() { return gasp; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'gasp' Table - Grid-fitting And Scan-conversion Procedure\n---------------------------------------------------------"); @@ -56,6 +58,7 @@ public class GaspTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java index 50f62ed62..50e0fa339 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java @@ -99,6 +99,7 @@ public class GlyfCompositeDescript extends GlyfDescript { } } + @Override public int getEndPtOfContours(int i) { GlyfCompositeComp c = getCompositeCompEndPt(i); if (c != null) { @@ -108,6 +109,7 @@ public class GlyfCompositeDescript extends GlyfDescript { return 0; } + @Override public byte getFlags(int i) { GlyfCompositeComp c = getCompositeComp(i); if (c != null) { @@ -117,6 +119,7 @@ public class GlyfCompositeDescript extends GlyfDescript { return 0; } + @Override public short getXCoordinate(int i) { GlyfCompositeComp c = getCompositeComp(i); if (c != null) { @@ -131,6 +134,7 @@ public class GlyfCompositeDescript extends GlyfDescript { return 0; } + @Override public short getYCoordinate(int i) { GlyfCompositeComp c = getCompositeComp(i); if (c != null) { @@ -145,10 +149,12 @@ public class GlyfCompositeDescript extends GlyfDescript { return 0; } + @Override public boolean isComposite() { return true; } + @Override public int getPointCount() { GlyfCompositeComp c = _components.get(_components.size()-1); GlyphDescription gd = _parentTable.getDescription(c.getGlyphIndex()); @@ -159,6 +165,7 @@ public class GlyfCompositeDescript extends GlyfDescript { } } + @Override public int getContourCount() { GlyfCompositeComp c = _components.get(_components.size()-1); return c.getFirstContour() + _parentTable.getDescription(c.getGlyphIndex()).getContourCount(); diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java index a7e2e7b69..6b06eb3de 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java @@ -92,26 +92,32 @@ public abstract class GlyfDescript extends Program implements GlyphDescription { return _numberOfContours; } + @Override public int getGlyphIndex() { return _glyphIndex; } + @Override public short getXMaximum() { return _xMax; } + @Override public short getXMinimum() { return _xMin; } + @Override public short getYMaximum() { return _yMax; } + @Override public short getYMinimum() { return _yMin; } + @Override public String toString() { return new StringBuilder() .append(" numberOfContours: ").append(_numberOfContours) diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfSimpleDescript.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfSimpleDescript.java index f67162cff..c06ceaa13 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfSimpleDescript.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfSimpleDescript.java @@ -92,30 +92,37 @@ public class GlyfSimpleDescript extends GlyfDescript { readCoords(_count, di); } + @Override public int getEndPtOfContours(int i) { return _endPtsOfContours[i]; } + @Override public byte getFlags(int i) { return _flags[i]; } + @Override public short getXCoordinate(int i) { return _xCoordinates[i]; } + @Override public short getYCoordinate(int i) { return _yCoordinates[i]; } + @Override public boolean isComposite() { return false; } + @Override public int getPointCount() { return _count; } + @Override public int getContourCount() { return getNumberOfContours(); } @@ -185,6 +192,7 @@ public class GlyfSimpleDescript extends GlyfDescript { } } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(super.toString()); diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java index 34a8218d9..4b196c9e2 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java @@ -116,6 +116,7 @@ public class GlyfTable implements Table { } } + @Override public int getType() { return glyf; } @@ -126,6 +127,7 @@ public class GlyfTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GposTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GposTable.java index 9a367412d..30ecdd051 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GposTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GposTable.java @@ -45,10 +45,12 @@ public class GposTable implements Table { /** Get the table type, as a table directory value. * @return The table type */ + @Override public int getType() { return GPOS; } + @Override public String toString() { return "GPOS"; } @@ -59,6 +61,7 @@ public class GposTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GsubTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GsubTable.java index 0351c903d..c23d420a8 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GsubTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/GsubTable.java @@ -99,6 +99,7 @@ public class GsubTable implements Table, LookupSubtableFactory { * 5 - Context - Replace one or more glyphs in context * 6 - Chaining - Context Replace one or more glyphs in chained context */ + @Override public LookupSubtable read( int type, DataInputStream dis, @@ -130,6 +131,7 @@ public class GsubTable implements Table, LookupSubtableFactory { /** Get the table type, as a table directory value. * @return The table type */ + @Override public int getType() { return GSUB; } @@ -146,6 +148,7 @@ public class GsubTable implements Table, LookupSubtableFactory { return _lookupList; } + @Override public String toString() { return "GSUB"; } @@ -174,6 +177,7 @@ public class GsubTable implements Table, LookupSubtableFactory { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HdmxTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HdmxTable.java index 42f9bf0d0..64f5e6415 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HdmxTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HdmxTable.java @@ -93,10 +93,12 @@ public class HdmxTable implements Table { return _records[i]; } + @Override public int getType() { return hdmx; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'hdmx' Table - Horizontal Device Metrics\n----------------------------------------\n"); @@ -124,6 +126,7 @@ public class HdmxTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java index cf7c58449..47e60f900 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java @@ -142,6 +142,7 @@ public class HeadTable implements Table { return _modified; } + @Override public int getType() { return head; } @@ -170,6 +171,7 @@ public class HeadTable implements Table { return _yMin; } + @Override public String toString() { return new StringBuilder() .append("'head' Table - Font Header\n--------------------------") @@ -199,6 +201,7 @@ public class HeadTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HheaTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HheaTable.java index 0278929f1..242c9b139 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HheaTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HheaTable.java @@ -92,6 +92,7 @@ public class HheaTable implements Table { return numberOfHMetrics; } + @Override public int getType() { return hhea; } @@ -100,6 +101,7 @@ public class HheaTable implements Table { return xMaxExtent; } + @Override public String toString() { return new StringBuilder() .append("'hhea' Table - Horizontal Header\n--------------------------------") @@ -129,6 +131,7 @@ public class HheaTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HmtxTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HmtxTable.java index dacd9e265..122a0a826 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HmtxTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/HmtxTable.java @@ -106,10 +106,12 @@ public class HmtxTable implements Table { } } + @Override public int getType() { return hmtx; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'hmtx' Table - Horizontal Metrics\n---------------------------------\n"); @@ -135,6 +137,7 @@ public class HmtxTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat0.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat0.java index 89e6f9f11..1e7ff8c2d 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat0.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat0.java @@ -36,10 +36,12 @@ public class KernSubtableFormat0 extends KernSubtable { } } + @Override public int getKerningPairCount() { return nPairs; } + @Override public KerningPair getKerningPair(int i) { return kerningPairs[i]; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat2.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat2.java index 6f5e1f5e8..9c7fc81f9 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat2.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat2.java @@ -31,10 +31,12 @@ public class KernSubtableFormat2 extends KernSubtable { array = di.readUnsignedShort(); } + @Override public int getKerningPairCount() { return 0; } + @Override public KerningPair getKerningPair(int i) { return null; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernTable.java index 1d526865a..006a86895 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernTable.java @@ -45,6 +45,7 @@ public class KernTable implements Table { /** Get the table type, as a table directory value. * @return The table type */ + @Override public int getType() { return kern; } @@ -55,6 +56,7 @@ public class KernTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LigatureSubstFormat1.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LigatureSubstFormat1.java index cad5e106a..1979ea586 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LigatureSubstFormat1.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LigatureSubstFormat1.java @@ -89,6 +89,7 @@ public class LigatureSubstFormat1 extends LigatureSubst { return 1; } + @Override public String getTypeAsString() { return "LigatureSubstFormat1"; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LocaTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LocaTable.java index ce0862eea..2c7079fec 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LocaTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LocaTable.java @@ -49,10 +49,12 @@ public class LocaTable implements Table { return _offsets[i] * _factor; } + @Override public int getType() { return loca; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'loca' Table - Index To Location Table\n--------------------------------------\n") @@ -71,6 +73,7 @@ public class LocaTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LtshTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LtshTable.java index 9b0c8e6b4..47874cc56 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LtshTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/LtshTable.java @@ -38,10 +38,12 @@ public class LtshTable implements Table { * Get the table type, as a table directory value. * @return The table type */ + @Override public int getType() { return LTSH; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'LTSH' Table - Linear Threshold Table\n-------------------------------------") @@ -61,6 +63,7 @@ public class LtshTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/MaxpTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/MaxpTable.java index 5ab6b51ca..abb6047fc 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/MaxpTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/MaxpTable.java @@ -121,10 +121,12 @@ public class MaxpTable implements Table { return numGlyphs; } + @Override public int getType() { return maxp; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'maxp' Table - Maximum Profile\n------------------------------") @@ -156,6 +158,7 @@ public class MaxpTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameRecord.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameRecord.java index 9f9822986..a1787e3e7 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameRecord.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameRecord.java @@ -130,6 +130,7 @@ public class NameRecord { _record = sb.toString(); } + @Override public String toString() { StringBuilder sb = new StringBuilder(); diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java index 5b7a17d3b..ad8198b7f 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java @@ -130,6 +130,7 @@ public class NameTable implements Table { return sb; } + @Override public int getType() { return name; } @@ -140,6 +141,7 @@ public class NameTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/Os2Table.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/Os2Table.java index 9dfbceb99..5340b297c 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/Os2Table.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/Os2Table.java @@ -293,10 +293,12 @@ public class Os2Table implements Table { return _usMaxContext; } + @Override public int getType() { return OS_2; } + @Override public String toString() { return new StringBuilder() .append("'OS/2' Table - OS/2 and Windows Metrics\n---------------------------------------") @@ -351,6 +353,7 @@ public class Os2Table implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/Panose.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/Panose.java index 1f6c5a1dd..771318108 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/Panose.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/Panose.java @@ -79,6 +79,7 @@ public class Panose { return bXHeight; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(String.valueOf(bFamilyType)).append(" ") diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PcltTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PcltTable.java index 6ed9b2b9c..a1f603d8f 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PcltTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PcltTable.java @@ -65,10 +65,12 @@ public class PcltTable implements Table { * Get the table type, as a table directory value. * @return The table type */ + @Override public int getType() { return PCLT; } + @Override public String toString() { return new StringBuilder() .append("'PCLT' Table - Printer Command Language Table\n---------------------------------------------") @@ -98,6 +100,7 @@ public class PcltTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PostTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PostTable.java index 46f1ac088..188b441ac 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PostTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PostTable.java @@ -370,10 +370,12 @@ public class PostTable implements Table { /** Get the table type, as a table directory value. * @return The table type */ + @Override public int getType() { return post; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'post' Table - PostScript Metrics\n---------------------------------\n") @@ -416,6 +418,7 @@ public class PostTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PrepTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PrepTable.java index 2046d7fe4..4c64673b7 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PrepTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/PrepTable.java @@ -26,10 +26,12 @@ public class PrepTable extends Program implements Table { readInstructions(di, de.getLength()); } + @Override public int getType() { return prep; } + @Override public String toString() { return Disassembler.disassemble(getInstructions(), 0); } @@ -40,6 +42,7 @@ public class PrepTable extends Program implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SignatureBlock.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SignatureBlock.java index 15f0cd04f..31a2d17c9 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SignatureBlock.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SignatureBlock.java @@ -32,6 +32,7 @@ public class SignatureBlock { di.readFully(signature); } + @Override public String toString() { StringBuilder sb = new StringBuilder(); for (int i = 0; i < signatureLen; i += 16) { diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat1.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat1.java index a8df78504..e97e62a58 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat1.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat1.java @@ -73,10 +73,12 @@ public class SingleSubstFormat1 extends SingleSubst { _coverage = Coverage.read(dis); } + @Override public int getFormat() { return 1; } + @Override public int substitute(int glyphId) { int i = _coverage.findGlyph(glyphId); if (i > -1) { @@ -85,6 +87,7 @@ public class SingleSubstFormat1 extends SingleSubst { return glyphId; } + @Override public String getTypeAsString() { return "SingleSubstFormat1"; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat2.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat2.java index 2e47b2924..4d46b07b4 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat2.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat2.java @@ -78,10 +78,12 @@ public class SingleSubstFormat2 extends SingleSubst { _coverage = Coverage.read(dis); } + @Override public int getFormat() { return 2; } + @Override public int substitute(int glyphId) { int i = _coverage.findGlyph(glyphId); if (i > -1) { @@ -90,6 +92,7 @@ public class SingleSubstFormat2 extends SingleSubst { return glyphId; } + @Override public String getTypeAsString() { return "SingleSubstFormat2"; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/TableDirectory.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/TableDirectory.java index 8c5678088..23ecba804 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/TableDirectory.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/TableDirectory.java @@ -113,6 +113,7 @@ public class TableDirectory { return _version; } + @Override public String toString() { StringBuilder sb = new StringBuilder() .append("Offset Table\n------ -----") diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VdmxTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VdmxTable.java index 28f9aa6e3..bebd7f946 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VdmxTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VdmxTable.java @@ -148,10 +148,12 @@ public class VdmxTable implements Table { } } + @Override public int getType() { return VDMX; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'VDMX' Table - Precomputed Vertical Device Metrics\n") @@ -191,6 +193,7 @@ public class VdmxTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VheaTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VheaTable.java index f42da119b..521b87cc8 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VheaTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VheaTable.java @@ -105,6 +105,7 @@ public class VheaTable implements Table { return _numberOfLongVerMetrics; } + @Override public int getType() { return vhea; } @@ -113,6 +114,7 @@ public class VheaTable implements Table { return _yMaxExtent; } + @Override public String toString() { return new StringBuilder() .append("'vhea' Table - Vertical Header\n------------------------------") @@ -142,6 +144,7 @@ public class VheaTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VmtxTable.java b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VmtxTable.java index 348405380..1b77a6fdc 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VmtxTable.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/ot/table/VmtxTable.java @@ -77,10 +77,12 @@ public class VmtxTable implements Table { } } + @Override public int getType() { return vmtx; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("'vmtx' Table - Vertical Metrics\n-------------------------------\n"); @@ -106,6 +108,7 @@ public class VmtxTable implements Table { * particular table. * @return A directory entry */ + @Override public DirectoryEntry getDirectoryEntry() { return _de; } diff --git a/src/jogl/classes/jogamp/graph/font/typecast/tt/engine/Parser.java b/src/jogl/classes/jogamp/graph/font/typecast/tt/engine/Parser.java index c5a2b6e87..1159b2c17 100644 --- a/src/jogl/classes/jogamp/graph/font/typecast/tt/engine/Parser.java +++ b/src/jogl/classes/jogamp/graph/font/typecast/tt/engine/Parser.java @@ -148,6 +148,7 @@ public class Parser { instructions[2] = program; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); int ip = 0; diff --git a/src/jogl/classes/jogamp/graph/geom/plane/Path2D.java b/src/jogl/classes/jogamp/graph/geom/plane/Path2D.java index c1ee17a4b..33b80d6b8 100644 --- a/src/jogl/classes/jogamp/graph/geom/plane/Path2D.java +++ b/src/jogl/classes/jogamp/graph/geom/plane/Path2D.java @@ -122,18 +122,22 @@ public final class Path2D implements Cloneable { this.t = at; } + @Override public int getWindingRule() { return p.getWindingRule(); } + @Override public boolean isDone() { return typeIndex >= p.typeSize; } + @Override public void next() { typeIndex++; } + @Override public int currentSegment(float[] coords) { if (isDone()) { throw new NoSuchElementException(iteratorOutOfBounds); @@ -256,6 +260,7 @@ public final class Path2D implements Cloneable { } } + @Override public String toString() { return "[size "+size()+", closed "+isClosed()+"]"; } diff --git a/src/jogl/classes/jogamp/opengl/Debug.java b/src/jogl/classes/jogamp/opengl/Debug.java index 74892d894..9332b670a 100644 --- a/src/jogl/classes/jogamp/opengl/Debug.java +++ b/src/jogl/classes/jogamp/opengl/Debug.java @@ -54,6 +54,7 @@ public class Debug extends PropertyAccess { static { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { PropertyAccess.addTrustedPrefix("jogl."); return null; diff --git a/src/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java b/src/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java index a1023acd2..c1e1d1821 100644 --- a/src/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java +++ b/src/jogl/classes/jogamp/opengl/DesktopGLDynamicLookupHelper.java @@ -39,6 +39,7 @@ public class DesktopGLDynamicLookupHelper extends GLDynamicLookupHelper { public final DesktopGLDynamicLibraryBundleInfo getDesktopGLBundleInfo() { return (DesktopGLDynamicLibraryBundleInfo) getBundleInfo(); } + @Override public final synchronized boolean loadGLULibrary() { /** hacky code .. where all platform GLU libs are tried ..*/ if(null==gluLib) { diff --git a/src/jogl/classes/jogamp/opengl/FPSCounterImpl.java b/src/jogl/classes/jogamp/opengl/FPSCounterImpl.java index c96f7db32..08a1fe882 100644 --- a/src/jogl/classes/jogamp/opengl/FPSCounterImpl.java +++ b/src/jogl/classes/jogamp/opengl/FPSCounterImpl.java @@ -87,16 +87,19 @@ public class FPSCounterImpl implements FPSCounter { return sb; } + @Override public String toString() { return toString(null).toString(); } + @Override public final synchronized void setUpdateFPSFrames(int frames, PrintStream out) { fpsUpdateFramesInterval = frames; fpsOutputStream = out; resetFPSCounter(); } + @Override public final synchronized void resetFPSCounter() { fpsStartTime = TimeUnit.NANOSECONDS.toMillis(System.nanoTime()); // overwrite startTime to real init one fpsLastUpdateTime = fpsStartTime; @@ -106,34 +109,42 @@ public class FPSCounterImpl implements FPSCounter { fpsLastPeriod = 0; fpsTotalDuration=0; } + @Override public final synchronized int getUpdateFPSFrames() { return fpsUpdateFramesInterval; } + @Override public final synchronized long getFPSStartTime() { return fpsStartTime; } + @Override public final synchronized long getLastFPSUpdateTime() { return fpsLastUpdateTime; } + @Override public final synchronized long getLastFPSPeriod() { return fpsLastPeriod; } + @Override public final synchronized float getLastFPS() { return fpsLast; } + @Override public final synchronized int getTotalFPSFrames() { return fpsTotalFrames; } + @Override public final synchronized long getTotalFPSDuration() { return fpsTotalDuration; } + @Override public final synchronized float getTotalFPS() { return fpsTotal; } diff --git a/src/jogl/classes/jogamp/opengl/GLContextImpl.java b/src/jogl/classes/jogamp/opengl/GLContextImpl.java index 7c3a5922b..5f487fa6d 100644 --- a/src/jogl/classes/jogamp/opengl/GLContextImpl.java +++ b/src/jogl/classes/jogamp/opengl/GLContextImpl.java @@ -1189,6 +1189,7 @@ public abstract class GLContextImpl extends GLContext { GLEmitter by looking up anew all of its function pointers. */ protected final void resetProcAddressTable(final ProcAddressTable table) { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { table.reset(getDrawableImpl().getGLDynamicLookupHelper() ); return null; diff --git a/src/jogl/classes/jogamp/opengl/GLDebugMessageHandler.java b/src/jogl/classes/jogamp/opengl/GLDebugMessageHandler.java index b770f3b05..2c947693c 100644 --- a/src/jogl/classes/jogamp/opengl/GLDebugMessageHandler.java +++ b/src/jogl/classes/jogamp/opengl/GLDebugMessageHandler.java @@ -109,6 +109,7 @@ public class GLDebugMessageHandler { private final long getAddressFor(final ProcAddressTable table, final String functionName) { return AccessController.doPrivileged(new PrivilegedAction() { + @Override public Long run() { try { return Long.valueOf( table.getAddressFor(functionName) ); @@ -300,6 +301,7 @@ public class GLDebugMessageHandler { public StdErrGLDebugListener(boolean threadDump) { this.threadDump = threadDump; } + @Override public void messageSent(GLDebugMessage event) { System.err.println(event); if(threadDump) { diff --git a/src/jogl/classes/jogamp/opengl/GLDrawableHelper.java b/src/jogl/classes/jogamp/opengl/GLDrawableHelper.java index 2cf384fd7..4ce6a7121 100644 --- a/src/jogl/classes/jogamp/opengl/GLDrawableHelper.java +++ b/src/jogl/classes/jogamp/opengl/GLDrawableHelper.java @@ -80,7 +80,7 @@ public class GLDrawableHelper { /** -1 release, 0 nop, 1 claim */ private volatile int exclusiveContextSwitch; private GLAnimatorControl animatorCtrl; - private static Runnable nop = new Runnable() { public void run() {} }; + private static Runnable nop = new Runnable() { @Override public void run() {} }; public GLDrawableHelper() { reset(); @@ -493,6 +493,7 @@ public class GLDrawableHelper { final boolean isPaused = isAnimatorAnimatingOnOtherThread() && animatorCtrl.pause(); final GLEventListener[] res = new GLEventListener[] { null }; final Runnable action = new Runnable() { + @Override public void run() { res[0] = disposeGLEventListener(autoDrawable, listener, remove); } @@ -525,6 +526,7 @@ public class GLDrawableHelper { final boolean isPaused = isAnimatorAnimatingOnOtherThread() && animatorCtrl.pause(); final Runnable action = new Runnable() { + @Override public void run() { disposeAllGLEventListener(autoDrawable, remove); } diff --git a/src/jogl/classes/jogamp/opengl/GLDynamicLibraryBundleInfo.java b/src/jogl/classes/jogamp/opengl/GLDynamicLibraryBundleInfo.java index 640e181ae..39de3200d 100644 --- a/src/jogl/classes/jogamp/opengl/GLDynamicLibraryBundleInfo.java +++ b/src/jogl/classes/jogamp/opengl/GLDynamicLibraryBundleInfo.java @@ -46,6 +46,7 @@ public abstract class GLDynamicLibraryBundleInfo implements DynamicLibraryBundle * *

              */ + @Override public final boolean shallLinkGlobal() { return true; } /** diff --git a/src/jogl/classes/jogamp/opengl/GLOffscreenAutoDrawableImpl.java b/src/jogl/classes/jogamp/opengl/GLOffscreenAutoDrawableImpl.java index a22454d60..f175acf28 100644 --- a/src/jogl/classes/jogamp/opengl/GLOffscreenAutoDrawableImpl.java +++ b/src/jogl/classes/jogamp/opengl/GLOffscreenAutoDrawableImpl.java @@ -127,6 +127,7 @@ public class GLOffscreenAutoDrawableImpl extends GLAutoDrawableDelegate implemen return ((GLFBODrawableImpl)drawable).getFBObject(bufferName); } + @Override public final FBObject.TextureAttachment getTextureBuffer(int bufferName) { return ((GLFBODrawableImpl)drawable).getTextureBuffer(bufferName); } diff --git a/src/jogl/classes/jogamp/opengl/GLRunnableTask.java b/src/jogl/classes/jogamp/opengl/GLRunnableTask.java index 2238d49bc..6de92f533 100644 --- a/src/jogl/classes/jogamp/opengl/GLRunnableTask.java +++ b/src/jogl/classes/jogamp/opengl/GLRunnableTask.java @@ -52,6 +52,7 @@ public class GLRunnableTask implements GLRunnable { isFlushed = false; } + @Override public boolean run(GLAutoDrawable drawable) { boolean res = true; if(null == notifyObject) { diff --git a/src/jogl/classes/jogamp/opengl/GLWorkerThread.java b/src/jogl/classes/jogamp/opengl/GLWorkerThread.java index 979c6dc0a..100b46a5e 100644 --- a/src/jogl/classes/jogamp/opengl/GLWorkerThread.java +++ b/src/jogl/classes/jogamp/opengl/GLWorkerThread.java @@ -222,6 +222,7 @@ public class GLWorkerThread { protected static String getThreadName() { return Thread.currentThread().getName(); } static class WorkerRunnable implements Runnable { + @Override public void run() { // Notify starting thread that we're ready synchronized (lock) { diff --git a/src/jogl/classes/jogamp/opengl/MemoryObject.java b/src/jogl/classes/jogamp/opengl/MemoryObject.java index df793dadd..d10747690 100644 --- a/src/jogl/classes/jogamp/opengl/MemoryObject.java +++ b/src/jogl/classes/jogamp/opengl/MemoryObject.java @@ -59,10 +59,12 @@ public class MemoryObject { /** * @return the 32bit hash value generated via {@link HashUtil#getAddrSizeHash32_EqualDist(long, long)}. */ + @Override public int hashCode() { return hash; } + @Override public String toString() { return "MemoryObject[addr 0x"+Long.toHexString(addr)+", size 0x"+Long.toHexString(size)+", hash32: 0x"+Integer.toHexString(hash)+"]"; } diff --git a/src/jogl/classes/jogamp/opengl/SharedResourceRunner.java b/src/jogl/classes/jogamp/opengl/SharedResourceRunner.java index eddb36975..283ecdb9d 100644 --- a/src/jogl/classes/jogamp/opengl/SharedResourceRunner.java +++ b/src/jogl/classes/jogamp/opengl/SharedResourceRunner.java @@ -252,6 +252,7 @@ public class SharedResourceRunner implements Runnable { // done } + @Override public final void run() { final String threadName = getThreadName(); diff --git a/src/jogl/classes/jogamp/opengl/ThreadingImpl.java b/src/jogl/classes/jogamp/opengl/ThreadingImpl.java index 6ffe46b36..bf700d970 100644 --- a/src/jogl/classes/jogamp/opengl/ThreadingImpl.java +++ b/src/jogl/classes/jogamp/opengl/ThreadingImpl.java @@ -72,6 +72,7 @@ public class ThreadingImpl { static { threadingPlugin = AccessController.doPrivileged(new PrivilegedAction() { + @Override public ToolkitThreadingPlugin run() { final String singleThreadProp; { diff --git a/src/jogl/classes/jogamp/opengl/awt/AWTThreadingPlugin.java b/src/jogl/classes/jogamp/opengl/awt/AWTThreadingPlugin.java index cd1bb45c9..72c9ac54b 100644 --- a/src/jogl/classes/jogamp/opengl/awt/AWTThreadingPlugin.java +++ b/src/jogl/classes/jogamp/opengl/awt/AWTThreadingPlugin.java @@ -54,10 +54,12 @@ public class AWTThreadingPlugin implements ToolkitThreadingPlugin { public AWTThreadingPlugin() {} + @Override public final boolean isToolkitThread() throws GLException { return EventQueue.isDispatchThread(); } + @Override public final boolean isOpenGLThread() throws GLException { switch (ThreadingImpl.getMode()) { case ST_AWT: @@ -83,6 +85,7 @@ public class AWTThreadingPlugin implements ToolkitThreadingPlugin { } } + @Override public final void invokeOnOpenGLThread(boolean wait, Runnable r) throws GLException { switch (ThreadingImpl.getMode()) { case ST_AWT: diff --git a/src/jogl/classes/jogamp/opengl/awt/AWTTilePainter.java b/src/jogl/classes/jogamp/opengl/awt/AWTTilePainter.java index 5faee1307..ff07b04d0 100644 --- a/src/jogl/classes/jogamp/opengl/awt/AWTTilePainter.java +++ b/src/jogl/classes/jogamp/opengl/awt/AWTTilePainter.java @@ -147,6 +147,7 @@ public class AWTTilePainter { this.flipVertical = true; } + @Override public String toString() { return renderer.toString(); } public void setIsGLOriented(boolean v) { diff --git a/src/jogl/classes/jogamp/opengl/awt/Java2D.java b/src/jogl/classes/jogamp/opengl/awt/Java2D.java index 7a8ddf0b4..886cd9368 100644 --- a/src/jogl/classes/jogamp/opengl/awt/Java2D.java +++ b/src/jogl/classes/jogamp/opengl/awt/Java2D.java @@ -116,6 +116,7 @@ public class Java2D { static { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { if (DEBUG) { System.err.println("Checking for Java2D/OpenGL support"); @@ -565,6 +566,7 @@ public class Java2D { private static int getOGLUtilitiesIntField(final String name) { Integer i = AccessController.doPrivileged(new PrivilegedAction() { + @Override public Integer run() { try { Class utils = Class.forName("sun.java2d.opengl.OGLUtilities"); @@ -608,6 +610,7 @@ public class Java2D { System.err.println("Starting initialization of J2D FBO share context"); } invokeWithOGLSharedContextCurrent(device.getDefaultConfiguration(), new Runnable() { + @Override public void run() { j2dFBOShareContext = GLDrawableFactory.getFactory(GLProfile.getDefault(GLProfile.getDefaultDevice())).createExternalGLContext(); } diff --git a/src/jogl/classes/jogamp/opengl/awt/VersionApplet.java b/src/jogl/classes/jogamp/opengl/awt/VersionApplet.java index a29d1e6aa..9173a38cb 100644 --- a/src/jogl/classes/jogamp/opengl/awt/VersionApplet.java +++ b/src/jogl/classes/jogamp/opengl/awt/VersionApplet.java @@ -54,6 +54,7 @@ public class VersionApplet extends Applet { this.f = f; this.va = va; } + @Override public void windowClosing(WindowEvent ev) { f.setVisible(false); va.stop(); @@ -129,24 +130,28 @@ public class VersionApplet extends Applet { } } + @Override public void init() { System.err.println("VersionApplet: init() - begin"); my_init(); System.err.println("VersionApplet: init() - end"); } + @Override public void start() { System.err.println("VersionApplet: start() - begin"); canvas.setVisible(true); System.err.println("VersionApplet: start() - end"); } + @Override public void stop() { System.err.println("VersionApplet: stop() - begin"); canvas.setVisible(false); System.err.println("VersionApplet: stop() - end"); } + @Override public void destroy() { System.err.println("VersionApplet: destroy() - start"); my_release(); @@ -154,6 +159,7 @@ public class VersionApplet extends Applet { } class GLInfo implements GLEventListener { + @Override public void init(GLAutoDrawable drawable) { GL gl = drawable.getGL(); String s = JoglVersion.getGLInfo(gl, null).toString(); @@ -161,12 +167,15 @@ public class VersionApplet extends Applet { tareaVersion.append(s); } + @Override public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) { } + @Override public void display(GLAutoDrawable drawable) { } + @Override public void dispose(GLAutoDrawable drawable) { } } diff --git a/src/jogl/classes/jogamp/opengl/egl/DesktopES2DynamicLibraryBundleInfo.java b/src/jogl/classes/jogamp/opengl/egl/DesktopES2DynamicLibraryBundleInfo.java index 1179e2b7f..7b85c3e75 100644 --- a/src/jogl/classes/jogamp/opengl/egl/DesktopES2DynamicLibraryBundleInfo.java +++ b/src/jogl/classes/jogamp/opengl/egl/DesktopES2DynamicLibraryBundleInfo.java @@ -47,20 +47,24 @@ public final class DesktopES2DynamicLibraryBundleInfo extends GLDynamicLibraryBu super(); } + @Override public final List getToolGetProcAddressFuncNameList() { List res = new ArrayList(); res.add("eglGetProcAddress"); return res; } + @Override public final long toolGetProcAddress(long toolGetProcAddressHandle, String funcName) { return EGL.eglGetProcAddress(toolGetProcAddressHandle, funcName); } + @Override public final boolean useToolGetProcAdressFirst(String funcName) { return true; } + @Override public final List> getToolLibNames() { final List> libsList = new ArrayList>(); final List libsGL = new ArrayList(); @@ -90,6 +94,7 @@ public final class DesktopES2DynamicLibraryBundleInfo extends GLDynamicLibraryBu return libsList; } + @Override public final List getGlueLibNames() { return glueLibNames; } diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java b/src/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java index 89f34432d..3d864ad76 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java @@ -65,6 +65,7 @@ public class EGLDisplayUtil { this.createdStack = DEBUG ? new Throwable() : null; } + @Override public String toString() { return "EGLDisplay[0x"+Long.toHexString(eglDisplay)+": refCnt "+refCount+"]"; } @@ -248,9 +249,11 @@ public class EGLDisplayUtil { } public static final EGLGraphicsDevice.EGLDisplayLifecycleCallback eglLifecycleCallback = new EGLGraphicsDevice.EGLDisplayLifecycleCallback() { + @Override public long eglGetAndInitDisplay(long[] nativeDisplayID) { return eglGetDisplayAndInitialize(nativeDisplayID); } + @Override public void eglTerminate(long eglDisplayHandle) { EGLDisplayUtil.eglTerminate(eglDisplayHandle); } diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLDrawable.java b/src/jogl/classes/jogamp/opengl/egl/EGLDrawable.java index bf269c548..ab28fb3fb 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLDrawable.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLDrawable.java @@ -115,6 +115,7 @@ public abstract class EGLDrawable extends GLDrawableImpl { } } + @Override protected void destroyHandle() { final EGLWrappedSurface eglws = (EGLWrappedSurface) surface; if(DEBUG) { diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLES1DynamicLibraryBundleInfo.java b/src/jogl/classes/jogamp/opengl/egl/EGLES1DynamicLibraryBundleInfo.java index 9ffcea864..361ec26ff 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLES1DynamicLibraryBundleInfo.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLES1DynamicLibraryBundleInfo.java @@ -35,6 +35,7 @@ public final class EGLES1DynamicLibraryBundleInfo extends EGLDynamicLibraryBundl super(); } + @Override public final List> getToolLibNames() { final List> libsList = new ArrayList>(); { diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLES2DynamicLibraryBundleInfo.java b/src/jogl/classes/jogamp/opengl/egl/EGLES2DynamicLibraryBundleInfo.java index de1f0a42e..74738463f 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLES2DynamicLibraryBundleInfo.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLES2DynamicLibraryBundleInfo.java @@ -40,6 +40,7 @@ public final class EGLES2DynamicLibraryBundleInfo extends EGLDynamicLibraryBundl super(); } + @Override public final List> getToolLibNames() { final List> libsList = new ArrayList>(); { diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java b/src/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java index 5764a6178..31fa14fbb 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java @@ -115,6 +115,7 @@ public class EGLGraphicsConfigurationFactory extends GLGraphicsConfigurationFact private EGLGraphicsConfigurationFactory() { } + @Override protected AbstractGraphicsConfiguration chooseGraphicsConfigurationImpl ( CapabilitiesImmutable capsChosen, CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, AbstractGraphicsScreen absScreen, int nativeVisualID) { diff --git a/src/jogl/classes/jogamp/opengl/egl/EGLUpstreamSurfaceHook.java b/src/jogl/classes/jogamp/opengl/egl/EGLUpstreamSurfaceHook.java index 5083c854f..dac058dc7 100644 --- a/src/jogl/classes/jogamp/opengl/egl/EGLUpstreamSurfaceHook.java +++ b/src/jogl/classes/jogamp/opengl/egl/EGLUpstreamSurfaceHook.java @@ -44,6 +44,7 @@ public class EGLUpstreamSurfaceHook implements UpstreamSurfaceHook.MutableSize { static String getThreadName() { return Thread.currentThread().getName(); } + @Override public final void setSize(int width, int height) { if(null != upstreamSurfaceHookMutableSize) { upstreamSurfaceHookMutableSize.setSize(width, height); diff --git a/src/jogl/classes/jogamp/opengl/glu/GLUquadricImpl.java b/src/jogl/classes/jogamp/opengl/glu/GLUquadricImpl.java index b4383c2e6..717b1255c 100644 --- a/src/jogl/classes/jogamp/opengl/glu/GLUquadricImpl.java +++ b/src/jogl/classes/jogamp/opengl/glu/GLUquadricImpl.java @@ -164,6 +164,7 @@ public class GLUquadricImpl implements GLUquadric { replaceImmModeSink(); } + @Override public void enableImmModeSink(boolean val) { if(gl.isGL2()) { immModeSinkEnabled=val; @@ -175,10 +176,12 @@ public class GLUquadricImpl implements GLUquadric { } } + @Override public boolean isImmModeSinkEnabled() { return immModeSinkEnabled; } + @Override public void setImmMode(boolean val) { if(immModeSinkEnabled) { immModeSinkImmediate=val; @@ -187,10 +190,12 @@ public class GLUquadricImpl implements GLUquadric { } } + @Override public boolean getImmMode() { return immModeSinkImmediate; } + @Override public ImmModeSink replaceImmModeSink() { if(!immModeSinkEnabled) return null; @@ -222,6 +227,7 @@ public class GLUquadricImpl implements GLUquadric { return res; } + @Override public void resetImmModeSink(GL gl) { if(immModeSinkEnabled) { immModeSink.reset(gl); diff --git a/src/jogl/classes/jogamp/opengl/glu/gl2/nurbs/GL2CurveEvaluator.java b/src/jogl/classes/jogamp/opengl/glu/gl2/nurbs/GL2CurveEvaluator.java index f57c2310f..4213dfd46 100644 --- a/src/jogl/classes/jogamp/opengl/glu/gl2/nurbs/GL2CurveEvaluator.java +++ b/src/jogl/classes/jogamp/opengl/glu/gl2/nurbs/GL2CurveEvaluator.java @@ -92,6 +92,7 @@ class GL2CurveEvaluator implements CurveEvaluator { /** * Pushes eval bit */ + @Override public void bgnmap1f() { // DONE if (output_triangles) { @@ -108,6 +109,7 @@ class GL2CurveEvaluator implements CurveEvaluator { /** * Pops all OpenGL attributes */ + @Override public void endmap1f() { // DONE if (output_triangles) { @@ -127,6 +129,7 @@ class GL2CurveEvaluator implements CurveEvaluator { * @param order curve order * @param ps control points */ + @Override public void map1f(int type, float ulo, float uhi, int stride, int order, CArrayOfFloats ps) { if (output_triangles) { @@ -153,6 +156,7 @@ class GL2CurveEvaluator implements CurveEvaluator { * Calls opengl enable * @param type what to enable */ + @Override public void enable(int type) { // DONE gl.glEnable(type); @@ -164,6 +168,7 @@ class GL2CurveEvaluator implements CurveEvaluator { * @param u1 low u * @param u2 high u */ + @Override public void mapgrid1f(int nu, float u1, float u2) { if (output_triangles) { // System.out.println("TODO curveevaluator.mapgrid1f"); @@ -179,6 +184,7 @@ class GL2CurveEvaluator implements CurveEvaluator { * @param from lowest param * @param to highest param */ + @Override public void mapmesh1f(int style, int from, int to) { /* //DEBUG drawing control points this.poradi++; diff --git a/src/jogl/classes/jogamp/opengl/glu/gl2/nurbs/GL2SurfaceEvaluator.java b/src/jogl/classes/jogamp/opengl/glu/gl2/nurbs/GL2SurfaceEvaluator.java index 155c4f9a9..e9c9fca3f 100644 --- a/src/jogl/classes/jogamp/opengl/glu/gl2/nurbs/GL2SurfaceEvaluator.java +++ b/src/jogl/classes/jogamp/opengl/glu/gl2/nurbs/GL2SurfaceEvaluator.java @@ -72,6 +72,7 @@ class GL2SurfaceEvaluator implements SurfaceEvaluator { /** * Pushes eval bit */ + @Override public void bgnmap2f() { if (output_triangles) { @@ -88,6 +89,7 @@ class GL2SurfaceEvaluator implements SurfaceEvaluator { * Sets glPolygonMode * @param style polygon mode (N_MESHFILL/N_MESHLINE/N_MESHPOINT) */ + @Override public void polymode(int style) { if (!output_triangles) { switch (style) { @@ -109,6 +111,7 @@ class GL2SurfaceEvaluator implements SurfaceEvaluator { /** * Pops all attributes */ + @Override public void endmap2f() { // TODO Auto-generated method stub if (output_triangles) { @@ -126,6 +129,7 @@ class GL2SurfaceEvaluator implements SurfaceEvaluator { * @param vlo * @param vhi */ + @Override public void domain2f(float ulo, float uhi, float vlo, float vhi) { // DONE } @@ -139,6 +143,7 @@ class GL2SurfaceEvaluator implements SurfaceEvaluator { * @param v0 lowest v * @param v1 highest v */ + @Override public void mapgrid2f(int nu, float u0, float u1, int nv, float v0, float v1) { if (output_triangles) { @@ -157,6 +162,7 @@ class GL2SurfaceEvaluator implements SurfaceEvaluator { * @param vmin minimum V * @param vmax maximum V */ + @Override public void mapmesh2f(int style, int umin, int umax, int vmin, int vmax) { if (output_triangles) { // System.out.println("TODO openglsurfaceavaluator.mapmesh2f output_triangles"); @@ -195,6 +201,7 @@ class GL2SurfaceEvaluator implements SurfaceEvaluator { * @param vorder surface order in v direction * @param pts control points */ + @Override public void map2f(int type, float ulo, float uhi, int ustride, int uorder, float vlo, float vhi, int vstride, int vorder, CArrayOfFloats pts) { // TODO Auto-generated method stub @@ -210,6 +217,7 @@ class GL2SurfaceEvaluator implements SurfaceEvaluator { * Calls opengl enable * @param type what to enable */ + @Override public void enable(int type) { //DONE gl.glEnable(type); diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract1010102.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract1010102.java index 5269024b4..0c155ff96 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract1010102.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract1010102.java @@ -56,6 +56,7 @@ public class Extract1010102 implements Extract { public Extract1010102() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { long uint = 0; @@ -76,6 +77,7 @@ public class Extract1010102 implements Extract { extractComponents[3] = (float)( ( uint & 0x00000003 ) ) / 3.0f; } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 11110000,00000000 == 0xF000 // 00001111,00000000 == 0x0F00 diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract1555rev.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract1555rev.java index 6982931d3..5208ea537 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract1555rev.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract1555rev.java @@ -56,6 +56,7 @@ public class Extract1555rev implements Extract { public Extract1555rev() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { int ushort = 0; @@ -76,6 +77,7 @@ public class Extract1555rev implements Extract { extractComponents[3] = (float)( ( ushort & 0x8000 ) >> 15); } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 00000000,00011111 == 0x001F // 00000011,11100000 == 0x03E0 diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract2101010rev.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract2101010rev.java index 1c7db6218..1bf8abcc3 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract2101010rev.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract2101010rev.java @@ -56,6 +56,7 @@ public class Extract2101010rev implements Extract { public Extract2101010rev() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { long uint = 0; @@ -76,6 +77,7 @@ public class Extract2101010rev implements Extract { extractComponents[3] = (float)( ( uint & 0xC0000000 ) >> 30 ) / 3.0f; } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 11110000,00000000 == 0xF000 // 00001111,00000000 == 0x0F00 diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract233rev.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract233rev.java index 672c86c32..c86b39e63 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract233rev.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract233rev.java @@ -56,6 +56,7 @@ public class Extract233rev implements Extract { public Extract233rev() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { // 11100000 == 0xe0 // 00011100 == 0x1c @@ -66,6 +67,7 @@ public class Extract233rev implements Extract { extractComponents[2] = (float)((ubyte & 0xC0) >> 6) / 3.0f; } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 11100000 == 0xE0 // 00011100 == 0x1C diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract332.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract332.java index 6cdbc5cb0..706f0c3f2 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract332.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract332.java @@ -56,6 +56,7 @@ public class Extract332 implements Extract { public Extract332() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { // 11100000 == 0xe0 // 00011100 == 0x1c @@ -66,6 +67,7 @@ public class Extract332 implements Extract { extractComponents[2] = (float)((ubyte & 0x03)) / 3.0f; } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 11100000 == 0xE0 // 00011100 == 0x1C diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract4444.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract4444.java index b36b9fb82..182d66ce2 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract4444.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract4444.java @@ -56,6 +56,7 @@ public class Extract4444 implements Extract { public Extract4444() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { int ushort = 0; @@ -76,6 +77,7 @@ public class Extract4444 implements Extract { extractComponents[3] = (float)( ( ushort & 0x000F ) ) / 15.0f; } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 11110000,00000000 == 0xF000 // 00001111,00000000 == 0x0F00 diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract4444rev.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract4444rev.java index b7a3ed55f..52ecdc17c 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract4444rev.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract4444rev.java @@ -56,6 +56,7 @@ public class Extract4444rev implements Extract { public Extract4444rev() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { int ushort = 0; @@ -76,6 +77,7 @@ public class Extract4444rev implements Extract { extractComponents[3] = (float)( ( ushort & 0xF000 ) >> 12 ) / 15.0f; } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 11110000,00000000 == 0xF000 // 00001111,00000000 == 0x0F00 diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract5551.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract5551.java index 4dc566b25..21f53aa1d 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract5551.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract5551.java @@ -56,6 +56,7 @@ public class Extract5551 implements Extract { public Extract5551() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { int ushort = 0; @@ -76,6 +77,7 @@ public class Extract5551 implements Extract { extractComponents[3] = (float)( ( ushort & 0xF000 ) ); } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 11110000,00000000 == 0xF000 // 00001111,00000000 == 0x0F00 diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract565.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract565.java index e198e46d4..7408c45b2 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract565.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract565.java @@ -56,6 +56,7 @@ public class Extract565 implements Extract { public Extract565() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { int ushort = 0; @@ -74,6 +75,7 @@ public class Extract565 implements Extract { extractComponents[2] = (float)( ( ushort & 0x001F ) ) / 31.0f; } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 11111000,00000000 == 0xF800 // 00000111,11100000 == 0x07E0 diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract565rev.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract565rev.java index fe19540ee..adaafa7ea 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract565rev.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract565rev.java @@ -56,6 +56,7 @@ public class Extract565rev implements Extract { public Extract565rev() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { int ushort = 0; @@ -74,6 +75,7 @@ public class Extract565rev implements Extract { extractComponents[2] = (float)( ( ushort & 0xF800 ) >> 11 ) / 31.0f; } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 00000000,00111111 == 0x001F // 00000111,11100000 == 0x07E0 diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract8888.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract8888.java index 4602f2af9..be155d578 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract8888.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract8888.java @@ -56,6 +56,7 @@ public class Extract8888 implements Extract { public Extract8888() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { long uint = 0; @@ -76,6 +77,7 @@ public class Extract8888 implements Extract { extractComponents[3] = (float)( ( uint & 0x000000FF ) ) / 255.0f; } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 11110000,00000000 == 0xF000 // 00001111,00000000 == 0x0F00 diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract8888rev.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract8888rev.java index 373cb102a..294e60e12 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract8888rev.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/Extract8888rev.java @@ -56,6 +56,7 @@ public class Extract8888rev implements Extract { public Extract8888rev() { } + @Override public void extract( boolean isSwap, ByteBuffer packedPixel, float[] extractComponents ) { long uint = 0; @@ -76,6 +77,7 @@ public class Extract8888rev implements Extract { extractComponents[3] = (float)( ( uint & 0xFF000000 ) >> 24 ) / 255.0f; } + @Override public void shove( float[] shoveComponents, int index, ByteBuffer packedPixel ) { // 11110000,00000000 == 0xF000 // 00001111,00000000 == 0x0F00 diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractFloat.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractFloat.java index ac0f2f290..1dd8bff8a 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractFloat.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractFloat.java @@ -56,6 +56,7 @@ public class ExtractFloat implements ExtractPrimitive { public ExtractFloat() { } + @Override public double extract( boolean isSwap, ByteBuffer data ) { float f = 0; if( isSwap ) { @@ -67,6 +68,7 @@ public class ExtractFloat implements ExtractPrimitive { return( f ); } + @Override public void shove( double value, int index, ByteBuffer data ) { assert(0.0 <= value && value < 1.0); data.asFloatBuffer().put( index, (float)value ); diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSByte.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSByte.java index 399386e30..dcbe52a40 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSByte.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSByte.java @@ -56,12 +56,14 @@ public class ExtractSByte implements ExtractPrimitive { public ExtractSByte() { } + @Override public double extract( boolean isSwap, ByteBuffer sbyte ) { byte b = sbyte.get(); assert( b <= 127 ); return( b ); } + @Override public void shove( double value, int index, ByteBuffer data ) { data.position( index ); data.put( (byte)value ); diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSInt.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSInt.java index be3fb3092..547bd944a 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSInt.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSInt.java @@ -56,6 +56,7 @@ public class ExtractSInt implements ExtractPrimitive { public ExtractSInt() { } + @Override public double extract( boolean isSwap, ByteBuffer uint ) { int i = 0; if( isSwap ) { @@ -67,6 +68,7 @@ public class ExtractSInt implements ExtractPrimitive { return( i ); } + @Override public void shove( double value, int index, ByteBuffer data ) { assert(0.0 <= value && value < Integer.MAX_VALUE); IntBuffer ib = data.asIntBuffer(); diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSShort.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSShort.java index 1e123c9b4..7dc172976 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSShort.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractSShort.java @@ -56,6 +56,7 @@ public class ExtractSShort implements ExtractPrimitive { public ExtractSShort() { } + @Override public double extract( boolean isSwap, ByteBuffer ushort ) { short s = 0; if( isSwap ) { @@ -67,6 +68,7 @@ public class ExtractSShort implements ExtractPrimitive { return( s ); } + @Override public void shove( double value, int index, ByteBuffer data ) { assert(0.0 <= value && value < 32768.0); ShortBuffer sb = data.asShortBuffer(); diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUByte.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUByte.java index 26ca5cd40..3e933811c 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUByte.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUByte.java @@ -56,12 +56,14 @@ public class ExtractUByte implements ExtractPrimitive { public ExtractUByte() { } + @Override public double extract( boolean isSwap, ByteBuffer ubyte ) { int i = 0x000000FF & ubyte.get(); assert( i <= 255 ); return( i ); } + @Override public void shove( double value, int index, ByteBuffer data ) { assert(0.0 <= value && value < 256.0); data.position( index ); diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUInt.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUInt.java index 8c94c89fc..1c34828b3 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUInt.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUInt.java @@ -56,6 +56,7 @@ public class ExtractUInt implements ExtractPrimitive { public ExtractUInt() { } + @Override public double extract( boolean isSwap, ByteBuffer uint ) { long i = 0; if( isSwap ) { @@ -67,6 +68,7 @@ public class ExtractUInt implements ExtractPrimitive { return( i ); } + @Override public void shove( double value, int index, ByteBuffer data ) { assert(0.0 <= value && value < 0xFFFFFFFF); IntBuffer ib = data.asIntBuffer(); diff --git a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUShort.java b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUShort.java index 55115c6f7..8e0d25c42 100644 --- a/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUShort.java +++ b/src/jogl/classes/jogamp/opengl/glu/mipmap/ExtractUShort.java @@ -56,6 +56,7 @@ public class ExtractUShort implements ExtractPrimitive { public ExtractUShort() { } + @Override public double extract( boolean isSwap, ByteBuffer ushort ) { int i = 0; if( isSwap ) { @@ -67,6 +68,7 @@ public class ExtractUShort implements ExtractPrimitive { return( i ); } + @Override public void shove( double value, int index, ByteBuffer data ) { assert(0.0 <= value && value < 65536.0); ShortBuffer sb = data.asShortBuffer(); diff --git a/src/jogl/classes/jogamp/opengl/glu/tessellator/PriorityQHeap.java b/src/jogl/classes/jogamp/opengl/glu/tessellator/PriorityQHeap.java index 474056cc3..1ac0fd438 100644 --- a/src/jogl/classes/jogamp/opengl/glu/tessellator/PriorityQHeap.java +++ b/src/jogl/classes/jogamp/opengl/glu/tessellator/PriorityQHeap.java @@ -81,6 +81,7 @@ class PriorityQHeap extends jogamp.opengl.glu.tessellator.PriorityQ { } /* really __gl_pqHeapDeletePriorityQ */ + @Override void pqDeletePriorityQ() { handles = null; nodes = null; @@ -137,6 +138,7 @@ class PriorityQHeap extends jogamp.opengl.glu.tessellator.PriorityQ { } /* really __gl_pqHeapInit */ + @Override boolean pqInit() { int i; @@ -152,6 +154,7 @@ class PriorityQHeap extends jogamp.opengl.glu.tessellator.PriorityQ { /* really __gl_pqHeapInsert */ /* returns LONG_MAX iff out of memory */ + @Override int pqInsert(Object keyNew) { int curr; int free; @@ -207,6 +210,7 @@ class PriorityQHeap extends jogamp.opengl.glu.tessellator.PriorityQ { } /* really __gl_pqHeapExtractMin */ + @Override Object pqExtractMin() { jogamp.opengl.glu.tessellator.PriorityQ.PQnode[] n = nodes; jogamp.opengl.glu.tessellator.PriorityQ.PQhandleElem[] h = handles; @@ -229,6 +233,7 @@ class PriorityQHeap extends jogamp.opengl.glu.tessellator.PriorityQ { } /* really __gl_pqHeapDelete */ + @Override void pqDelete(int hCurr) { jogamp.opengl.glu.tessellator.PriorityQ.PQnode[] n = nodes; jogamp.opengl.glu.tessellator.PriorityQ.PQhandleElem[] h = handles; @@ -252,10 +257,12 @@ class PriorityQHeap extends jogamp.opengl.glu.tessellator.PriorityQ { freeList = hCurr; } + @Override Object pqMinimum() { return handles[nodes[1].handle].key; } + @Override boolean pqIsEmpty() { return size == 0; } diff --git a/src/jogl/classes/jogamp/opengl/glu/tessellator/PriorityQSort.java b/src/jogl/classes/jogamp/opengl/glu/tessellator/PriorityQSort.java index f9e0225e3..cf54b15c3 100644 --- a/src/jogl/classes/jogamp/opengl/glu/tessellator/PriorityQSort.java +++ b/src/jogl/classes/jogamp/opengl/glu/tessellator/PriorityQSort.java @@ -71,6 +71,7 @@ class PriorityQSort extends jogamp.opengl.glu.tessellator.PriorityQ { } /* really __gl_pqSortDeletePriorityQ */ + @Override void pqDeletePriorityQ() { if (heap != null) heap.pqDeletePriorityQ(); order = null; @@ -100,6 +101,7 @@ class PriorityQSort extends jogamp.opengl.glu.tessellator.PriorityQ { } /* really __gl_pqSortInit */ + @Override boolean pqInit() { int p, r, i, j; int piv; @@ -191,6 +193,7 @@ class PriorityQSort extends jogamp.opengl.glu.tessellator.PriorityQ { /* really __gl_pqSortInsert */ /* returns LONG_MAX iff out of memory */ + @Override int pqInsert(Object keyNew) { int curr; @@ -220,6 +223,7 @@ class PriorityQSort extends jogamp.opengl.glu.tessellator.PriorityQ { } /* really __gl_pqSortExtractMin */ + @Override Object pqExtractMin() { Object sortMin, heapMin; @@ -240,6 +244,7 @@ class PriorityQSort extends jogamp.opengl.glu.tessellator.PriorityQ { } /* really __gl_pqSortMinimum */ + @Override Object pqMinimum() { Object sortMin, heapMin; @@ -257,11 +262,13 @@ class PriorityQSort extends jogamp.opengl.glu.tessellator.PriorityQ { } /* really __gl_pqSortIsEmpty */ + @Override boolean pqIsEmpty() { return (size == 0) && heap.pqIsEmpty(); } /* really __gl_pqSortDelete */ + @Override void pqDelete(int curr) { if (curr >= 0) { heap.pqDelete(curr); diff --git a/src/jogl/classes/jogamp/opengl/glu/tessellator/Render.java b/src/jogl/classes/jogamp/opengl/glu/tessellator/Render.java index 1801e1c59..a2e973508 100644 --- a/src/jogl/classes/jogamp/opengl/glu/tessellator/Render.java +++ b/src/jogl/classes/jogamp/opengl/glu/tessellator/Render.java @@ -279,6 +279,7 @@ class Render { } private static class RenderTriangle implements renderCallBack { + @Override public void render(GLUtessellatorImpl tess, jogamp.opengl.glu.tessellator.GLUhalfEdge e, long size) { /* Just add the triangle to a triangle list, so we can render all * the separate triangles at once. @@ -323,6 +324,7 @@ class Render { } private static class RenderFan implements renderCallBack { + @Override public void render(GLUtessellatorImpl tess, jogamp.opengl.glu.tessellator.GLUhalfEdge e, long size) { /* Render as many CCW triangles as possible in a fan starting from * edge "e". The fan *should* contain exactly "size" triangles @@ -345,6 +347,7 @@ class Render { } private static class RenderStrip implements renderCallBack { + @Override public void render(GLUtessellatorImpl tess, jogamp.opengl.glu.tessellator.GLUhalfEdge e, long size) { /* Render as many CCW triangles as possible in a strip starting from * edge "e". The strip *should* contain exactly "size" triangles diff --git a/src/jogl/classes/jogamp/opengl/glu/tessellator/Sweep.java b/src/jogl/classes/jogamp/opengl/glu/tessellator/Sweep.java index b4a400c1c..364a7f198 100644 --- a/src/jogl/classes/jogamp/opengl/glu/tessellator/Sweep.java +++ b/src/jogl/classes/jogamp/opengl/glu/tessellator/Sweep.java @@ -1150,6 +1150,7 @@ class Sweep { */ { /* __gl_dictListNewDict */ tess.dict = Dict.dictNewDict(tess, new Dict.DictLeq() { + @Override public boolean leq(Object frame, Object key1, Object key2) { return EdgeLeq(tess, (ActiveRegion) key1, (ActiveRegion) key2); } @@ -1231,6 +1232,7 @@ class Sweep { /* __gl_pqSortNewPriorityQ */ pq = tess.pq = PriorityQ.pqNewPriorityQ(new PriorityQ.Leq() { + @Override public boolean leq(Object key1, Object key2) { return Geom.VertLeq(((GLUvertex) key1), (GLUvertex) key2); } diff --git a/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java b/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java index 5cc4003fe..03aae3f78 100644 --- a/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java +++ b/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java @@ -822,6 +822,7 @@ public class MacOSXCGLContext extends GLContextImpl texID = fbod.getTextureBuffer(GL.GL_FRONT).getName(); pbufferHandle = 0; fbod.setSwapBufferContext(new GLFBODrawableImpl.SwapBufferContext() { + @Override public void swapBuffers(boolean doubleBuffered) { MacOSXCGLContext.NSOpenGLImpl.this.swapBuffers(); } } ) ; diff --git a/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java b/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java index 6f86e840b..994eee8d7 100644 --- a/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java +++ b/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java @@ -229,6 +229,7 @@ public class MacOSXCGLDrawableFactory extends GLDrawableFactoryImpl { } } + @Override protected final SharedResource getOrCreateSharedResourceImpl(AbstractGraphicsDevice adevice) { final String connection = adevice.getConnection(); SharedResource sr; diff --git a/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java b/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java index 535c4d2d3..13e249a58 100644 --- a/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java +++ b/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java @@ -59,6 +59,7 @@ public class MacOSXCGLGraphicsConfiguration extends MutableGraphicsConfiguration super(screen, capsChosen, capsRequested); } + @Override public Object clone() { return super.clone(); } diff --git a/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfigurationFactory.java b/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfigurationFactory.java index e761be7b7..db2a1df68 100644 --- a/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfigurationFactory.java +++ b/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfigurationFactory.java @@ -59,6 +59,7 @@ public class MacOSXCGLGraphicsConfigurationFactory extends GLGraphicsConfigurati private MacOSXCGLGraphicsConfigurationFactory() { } + @Override protected AbstractGraphicsConfiguration chooseGraphicsConfigurationImpl( CapabilitiesImmutable capsChosen, CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, AbstractGraphicsScreen absScreen, int nativeVisualID) { diff --git a/src/jogl/classes/jogamp/opengl/macosx/cgl/awt/MacOSXAWTCGLGraphicsConfigurationFactory.java b/src/jogl/classes/jogamp/opengl/macosx/cgl/awt/MacOSXAWTCGLGraphicsConfigurationFactory.java index c08259665..21923531f 100644 --- a/src/jogl/classes/jogamp/opengl/macosx/cgl/awt/MacOSXAWTCGLGraphicsConfigurationFactory.java +++ b/src/jogl/classes/jogamp/opengl/macosx/cgl/awt/MacOSXAWTCGLGraphicsConfigurationFactory.java @@ -63,6 +63,7 @@ public class MacOSXAWTCGLGraphicsConfigurationFactory extends GLGraphicsConfigur private MacOSXAWTCGLGraphicsConfigurationFactory() { } + @Override protected AbstractGraphicsConfiguration chooseGraphicsConfigurationImpl( CapabilitiesImmutable capsChosen, CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, AbstractGraphicsScreen absScreen, int nativeVisualID) { diff --git a/src/jogl/classes/jogamp/opengl/util/GLArrayHandlerInterleaved.java b/src/jogl/classes/jogamp/opengl/util/GLArrayHandlerInterleaved.java index 5f9b25530..0d4452864 100644 --- a/src/jogl/classes/jogamp/opengl/util/GLArrayHandlerInterleaved.java +++ b/src/jogl/classes/jogamp/opengl/util/GLArrayHandlerInterleaved.java @@ -46,12 +46,14 @@ public class GLArrayHandlerInterleaved extends GLVBOArrayHandler implements GLAr super(ad); } + @Override public final void setSubArrayVBOName(int vboName) { for(int i=0; i() { + @Override public DynamicLibraryBundle run() { return new DynamicLibraryBundle(new FFMPEGDynamicLibraryBundleInfo()); } } ); @@ -272,6 +273,7 @@ class FFMPEGDynamicLibraryBundleInfo implements DynamicLibraryBundleInfo { // lookup AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { for(int i = 0; i() { + @Override public Object run() { final ProcAddressTable pt = ctx.getGLProcAddressTable(); final long procAddrGLTexSubImage2D = pt.getAddressFor("glTexSubImage2D"); diff --git a/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandler.java b/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandler.java index 2d74fa532..3b443fdd0 100644 --- a/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandler.java +++ b/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandler.java @@ -50,14 +50,17 @@ public class GLSLArrayHandler extends GLVBOArrayHandler implements GLArrayHandle super(ad); } + @Override public final void setSubArrayVBOName(int vboName) { throw new UnsupportedOperationException(); } + @Override public final void addSubHandler(GLArrayHandlerFlat handler) { throw new UnsupportedOperationException(); } + @Override public final void enableState(GL gl, boolean enable, Object ext) { final GL2ES2 glsl = gl.getGL2ES2(); if( null != ext ) { diff --git a/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerFlat.java b/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerFlat.java index a5f78b5d6..34a381d7d 100644 --- a/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerFlat.java +++ b/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerFlat.java @@ -47,10 +47,12 @@ public class GLSLArrayHandlerFlat implements GLArrayHandlerFlat { this.ad = ad; } + @Override public GLArrayDataWrapper getData() { return ad; } + @Override public final void syncData(GL gl, Object ext) { final GL2ES2 glsl = gl.getGL2ES2(); if( null != ext ) { @@ -77,6 +79,7 @@ public class GLSLArrayHandlerFlat implements GLArrayHandlerFlat { }*/ } + @Override public final void enableState(GL gl, boolean enable, Object ext) { final GL2ES2 glsl = gl.getGL2ES2(); if( null != ext ) { diff --git a/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerInterleaved.java b/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerInterleaved.java index bcc146d78..b175bb5dc 100644 --- a/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerInterleaved.java +++ b/src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerInterleaved.java @@ -50,12 +50,14 @@ public class GLSLArrayHandlerInterleaved extends GLVBOArrayHandler implements GL super(ad); } + @Override public final void setSubArrayVBOName(int vboName) { for(int i=0; i 0) { eobrun--; @@ -1288,6 +1299,7 @@ public class JPEGDecoder { } } class ACSuccessiveDecoder implements DecoderFunction { + @Override public void decode(ComponentIn component, int[] zz) throws IOException { int k = spectralStart, e = spectralEnd, r = 0; while (k <= e) { diff --git a/src/jogl/classes/jogamp/opengl/util/pngj/ImageLine.java b/src/jogl/classes/jogamp/opengl/util/pngj/ImageLine.java index 906ce6373..e6afd8694 100644 --- a/src/jogl/classes/jogamp/opengl/util/pngj/ImageLine.java +++ b/src/jogl/classes/jogamp/opengl/util/pngj/ImageLine.java @@ -315,6 +315,7 @@ public class ImageLine { /** * Basic info */ + @Override public String toString() { return "row=" + rown + " cols=" + imgInfo.cols + " bpc=" + imgInfo.bitDepth + " size=" + scanline.length; } diff --git a/src/jogl/classes/jogamp/opengl/util/pngj/ImageLineHelper.java b/src/jogl/classes/jogamp/opengl/util/pngj/ImageLineHelper.java index 438a69984..4636c3955 100644 --- a/src/jogl/classes/jogamp/opengl/util/pngj/ImageLineHelper.java +++ b/src/jogl/classes/jogamp/opengl/util/pngj/ImageLineHelper.java @@ -92,6 +92,7 @@ public class ImageLineHelper { public double[] maxdif = { BIG_VALUE_NEG, BIG_VALUE_NEG, BIG_VALUE_NEG, BIG_VALUE }; // maxima public final int channels; // diferencia + @Override public String toString() { return channels == 3 ? String.format( "prom=%.1f (%.1f %.1f %.1f) max=%.1f (%.1f %.1f %.1f) min=%.1f (%.1f %.1f %.1f)", promlum, prom[0], diff --git a/src/jogl/classes/jogamp/opengl/util/pngj/PngHelperInternal.java b/src/jogl/classes/jogamp/opengl/util/pngj/PngHelperInternal.java index 1f598a5de..9e64c3eb1 100644 --- a/src/jogl/classes/jogamp/opengl/util/pngj/PngHelperInternal.java +++ b/src/jogl/classes/jogamp/opengl/util/pngj/PngHelperInternal.java @@ -186,6 +186,7 @@ public class PngHelperInternal { } private static final ThreadLocal crcProvider = new ThreadLocal() { + @Override protected CRC32 initialValue() { return new CRC32(); } diff --git a/src/jogl/classes/jogamp/opengl/util/pngj/PngReader.java b/src/jogl/classes/jogamp/opengl/util/pngj/PngReader.java index 73442e0bb..0412beb8c 100644 --- a/src/jogl/classes/jogamp/opengl/util/pngj/PngReader.java +++ b/src/jogl/classes/jogamp/opengl/util/pngj/PngReader.java @@ -994,6 +994,7 @@ public class PngReader { /** * Basic info, for debugging. */ + @Override public String toString() { // basic info return "filename=" + filename + " " + imgInfo.toString(); } diff --git a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkHelper.java b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkHelper.java index 82abb902d..4e8bf5635 100644 --- a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkHelper.java +++ b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkHelper.java @@ -47,12 +47,14 @@ public class ChunkHelper { public static final String zTXt = "zTXt"; private static final ThreadLocal inflaterProvider = new ThreadLocal() { + @Override protected Inflater initialValue() { return new Inflater(); } }; private static final ThreadLocal deflaterProvider = new ThreadLocal() { + @Override protected Deflater initialValue() { return new Deflater(); } diff --git a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkRaw.java b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkRaw.java index 3aba26cca..dcb1958df 100644 --- a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkRaw.java +++ b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkRaw.java @@ -108,6 +108,7 @@ public class ChunkRaw { return new ByteArrayInputStream(data); } + @Override public String toString() { return "chunkid=" + ChunkHelper.toString(idbytes) + " len=" + len; } diff --git a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksList.java b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksList.java index 3e0d03051..75107d761 100644 --- a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksList.java +++ b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksList.java @@ -59,12 +59,14 @@ public class ChunksList { protected static List getXById(final List list, final String id, final String innerid) { if (innerid == null) return ChunkHelper.filterList(list, new ChunkPredicate() { + @Override public boolean match(PngChunk c) { return c.id.equals(id); } }); else return ChunkHelper.filterList(list, new ChunkPredicate() { + @Override public boolean match(PngChunk c) { if (!c.id.equals(id)) return false; @@ -152,12 +154,14 @@ public class ChunksList { */ public List getEquivalent(final PngChunk c2) { return ChunkHelper.filterList(chunks, new ChunkPredicate() { + @Override public boolean match(PngChunk c) { return ChunkHelper.equivalent(c, c2); } }); } + @Override public String toString() { return "ChunkList: read: " + chunks.size(); } diff --git a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksListForWrite.java b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksListForWrite.java index 3b84ab800..c502e9071 100644 --- a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksListForWrite.java +++ b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksListForWrite.java @@ -149,6 +149,7 @@ public class ChunksListForWrite extends ChunksList { return queuedChunks; } + @Override public String toString() { return "ChunkList: written: " + chunks.size() + " queue: " + queuedChunks.size(); } @@ -156,6 +157,7 @@ public class ChunksListForWrite extends ChunksList { /** * for debugging */ + @Override public String toStringFull() { StringBuilder sb = new StringBuilder(toString()); sb.append("\n Written:\n"); diff --git a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSingle.java b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSingle.java index 5247169e0..7df5ba021 100644 --- a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSingle.java +++ b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSingle.java @@ -12,6 +12,7 @@ public abstract class PngChunkSingle extends PngChunk { super(id, imgInfo); } + @Override public final boolean allowsMultiple() { return false; } diff --git a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngMetadata.java b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngMetadata.java index fa3649613..139603448 100644 --- a/src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngMetadata.java +++ b/src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngMetadata.java @@ -41,6 +41,7 @@ public class PngMetadata { throw new PngjException("cannot set chunk : readonly metadata"); if (lazyOverwrite) { ChunkHelper.trimList(cl.getQueuedChunks(), new ChunkPredicate() { + @Override public boolean match(PngChunk c2) { return ChunkHelper.equivalent(c, c2); } diff --git a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java index 203af110c..95485b033 100644 --- a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java +++ b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java @@ -92,6 +92,7 @@ public class WindowsWGLDrawableFactory extends GLDrawableFactoryImpl { synchronized(WindowsWGLDrawableFactory.class) { if( null == windowsWGLDynamicLookupHelper ) { windowsWGLDynamicLookupHelper = AccessController.doPrivileged(new PrivilegedAction() { + @Override public DesktopGLDynamicLookupHelper run() { DesktopGLDynamicLookupHelper tmp; try { diff --git a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java index cb445f005..5f2b0c227 100644 --- a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java +++ b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java @@ -119,6 +119,7 @@ public class WindowsWGLGraphicsConfiguration extends MutableGraphicsConfiguratio return cfg; } + @Override public Object clone() { return super.clone(); } @@ -715,6 +716,7 @@ public class WindowsWGLGraphicsConfiguration extends MutableGraphicsConfiguratio return createPixelFormatDescriptor(0, 0); } + @Override public String toString() { return "WindowsWGLGraphicsConfiguration["+getScreen()+", pfdID " + getPixelFormatID() + ", ARB-Choosen " + isChoosenByARB() + ",\n\trequested " + getRequestedCapabilities() + diff --git a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java index 9e917a0eb..961295208 100644 --- a/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java +++ b/src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java @@ -79,6 +79,7 @@ public class WindowsWGLGraphicsConfigurationFactory extends GLGraphicsConfigurat private WindowsWGLGraphicsConfigurationFactory() { } + @Override protected AbstractGraphicsConfiguration chooseGraphicsConfigurationImpl( CapabilitiesImmutable capsChosen, CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, AbstractGraphicsScreen absScreen, int nativeVisualID) { diff --git a/src/jogl/classes/jogamp/opengl/windows/wgl/awt/WindowsAWTWGLGraphicsConfigurationFactory.java b/src/jogl/classes/jogamp/opengl/windows/wgl/awt/WindowsAWTWGLGraphicsConfigurationFactory.java index ddfcbb55b..96bd0bdd0 100644 --- a/src/jogl/classes/jogamp/opengl/windows/wgl/awt/WindowsAWTWGLGraphicsConfigurationFactory.java +++ b/src/jogl/classes/jogamp/opengl/windows/wgl/awt/WindowsAWTWGLGraphicsConfigurationFactory.java @@ -68,6 +68,7 @@ public class WindowsAWTWGLGraphicsConfigurationFactory extends GLGraphicsConfigu private WindowsAWTWGLGraphicsConfigurationFactory() { } + @Override protected AbstractGraphicsConfiguration chooseGraphicsConfigurationImpl( CapabilitiesImmutable capsChosen, CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, AbstractGraphicsScreen absScreen, int nativeVisualID) { diff --git a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java index 3f0841b6c..78e549508 100644 --- a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java +++ b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java @@ -95,6 +95,7 @@ public class X11GLXDrawableFactory extends GLDrawableFactoryImpl { synchronized(X11GLXDrawableFactory.class) { if( null == x11GLXDynamicLookupHelper ) { x11GLXDynamicLookupHelper = AccessController.doPrivileged(new PrivilegedAction() { + @Override public DesktopGLDynamicLookupHelper run() { DesktopGLDynamicLookupHelper tmp; try { diff --git a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfiguration.java b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfiguration.java index 5aea33f21..4d1ed3985 100644 --- a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfiguration.java +++ b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfiguration.java @@ -69,6 +69,7 @@ public class X11GLXGraphicsConfiguration extends X11GraphicsConfiguration implem this.chooser=chooser; } + @Override public Object clone() { return super.clone(); } @@ -478,6 +479,7 @@ public class X11GLXGraphicsConfiguration extends X11GraphicsConfiguration implem return tmp.get(tmp.position()); } + @Override public String toString() { return "X11GLXGraphicsConfiguration["+getScreen()+", visualID " + toHexString(getXVisualID()) + ", fbConfigID " + toHexString(getFBConfigID()) + ",\n\trequested " + getRequestedCapabilities()+ diff --git a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfigurationFactory.java b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfigurationFactory.java index abe310a3f..6050dabbb 100644 --- a/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfigurationFactory.java +++ b/src/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfigurationFactory.java @@ -92,6 +92,7 @@ public class X11GLXGraphicsConfigurationFactory extends GLGraphicsConfigurationF private X11GLXGraphicsConfigurationFactory() { } + @Override protected AbstractGraphicsConfiguration chooseGraphicsConfigurationImpl( CapabilitiesImmutable capsChosen, CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, AbstractGraphicsScreen absScreen, int nativeVisualID) { if (!(absScreen instanceof X11GraphicsScreen)) { diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTGraphicsConfiguration.java b/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTGraphicsConfiguration.java index 15f3355d0..aa9b876dd 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTGraphicsConfiguration.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTGraphicsConfiguration.java @@ -109,6 +109,7 @@ public class AWTGraphicsConfiguration extends DefaultGraphicsConfiguration imple } // open access to superclass method + @Override public void setChosenCapabilities(CapabilitiesImmutable capsChosen) { super.setChosenCapabilities(capsChosen); } diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTGraphicsScreen.java b/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTGraphicsScreen.java index d3cf5bff6..83d6efa75 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTGraphicsScreen.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTGraphicsScreen.java @@ -87,6 +87,7 @@ public class AWTGraphicsScreen extends DefaultGraphicsScreen implements Cloneabl return new AWTGraphicsScreen(AWTGraphicsDevice.createDefault()); } + @Override public Object clone() { return super.clone(); } diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java b/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java index e350aaff4..27275c6e0 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java @@ -119,6 +119,7 @@ public class AWTWindowClosingProtocol implements WindowClosingProtocol { * otherwise return the AWT/Swing close operation value translated to * a {@link WindowClosingProtocol} value . */ + @Override public final WindowClosingMode getDefaultCloseOperation() { synchronized(closingListenerLock) { if(defaultCloseOperationSetByUser) { @@ -129,6 +130,7 @@ public class AWTWindowClosingProtocol implements WindowClosingProtocol { return AWTMisc.getNWClosingOperation(comp); } + @Override public final WindowClosingMode setDefaultCloseOperation(WindowClosingMode op) { synchronized(closingListenerLock) { final WindowClosingMode _op = defaultCloseOperation; diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/awt/DirectDataBufferInt.java b/src/nativewindow/classes/com/jogamp/nativewindow/awt/DirectDataBufferInt.java index e4d3884a7..c02fc0a04 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/awt/DirectDataBufferInt.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/awt/DirectDataBufferInt.java @@ -247,6 +247,7 @@ public final class DirectDataBufferInt extends DataBuffer { * @see #setElem(int, int) * @see #setElem(int, int, int) */ + @Override public int getElem(int i) { return data.get(i+offset); } @@ -260,6 +261,7 @@ public final class DirectDataBufferInt extends DataBuffer { * @see #setElem(int, int) * @see #setElem(int, int, int) */ + @Override public int getElem(int bank, int i) { return bankdata[bank].get(i+offsets[bank]); } @@ -273,6 +275,7 @@ public final class DirectDataBufferInt extends DataBuffer { * @see #getElem(int) * @see #getElem(int, int) */ + @Override public void setElem(int i, int val) { data.put(i+offset, val); } @@ -286,6 +289,7 @@ public final class DirectDataBufferInt extends DataBuffer { * @see #getElem(int) * @see #getElem(int, int) */ + @Override public void setElem(int bank, int i, int val) { bankdata[bank].put(i+offsets[bank], val); } diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/macosx/MacOSXGraphicsDevice.java b/src/nativewindow/classes/com/jogamp/nativewindow/macosx/MacOSXGraphicsDevice.java index 89df7f853..99ca006fa 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/macosx/MacOSXGraphicsDevice.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/macosx/MacOSXGraphicsDevice.java @@ -43,6 +43,7 @@ public class MacOSXGraphicsDevice extends DefaultGraphicsDevice implements Clone super(NativeWindowFactory.TYPE_MACOSX, AbstractGraphicsDevice.DEFAULT_CONNECTION, unitID); } + @Override public Object clone() { return super.clone(); } diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java b/src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java index 6057f6700..361d61c65 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java @@ -122,6 +122,7 @@ public class SWTAccessor { static { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { NativeWindowFactory.initSingleton(); // last resort .. return null; @@ -360,6 +361,7 @@ public class SWTAccessor { if(null != OS_gtk_class) { invoke(true, new Runnable() { + @Override public void run() { if(realize) { callStaticMethodL2V(OS_gtk_widget_realize, handle); @@ -434,6 +436,7 @@ public class SWTAccessor { public static long newGC(final Control swtControl, final GCData gcData) { final Object[] o = new Object[1]; invoke(true, new Runnable() { + @Override public void run() { o[0] = ReflectionUtil.callMethod(swtControl, swt_control_internal_new_GC, new Object[] { gcData }); } @@ -447,6 +450,7 @@ public class SWTAccessor { public static void disposeGC(final Control swtControl, final long gc, final GCData gcData) { invoke(true, new Runnable() { + @Override public void run() { if(swt_uses_long_handles) { ReflectionUtil.callMethod(swtControl, swt_control_internal_dispose_GC, new Object[] { new Long(gc), gcData }); diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/windows/WindowsGraphicsDevice.java b/src/nativewindow/classes/com/jogamp/nativewindow/windows/WindowsGraphicsDevice.java index 7468d254b..643982715 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/windows/WindowsGraphicsDevice.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/windows/WindowsGraphicsDevice.java @@ -47,6 +47,7 @@ public class WindowsGraphicsDevice extends DefaultGraphicsDevice implements Clon super(NativeWindowFactory.TYPE_WINDOWS, connection, unitID); } + @Override public Object clone() { return super.clone(); } diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsScreen.java b/src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsScreen.java index 8aac7095a..700937829 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsScreen.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsScreen.java @@ -63,6 +63,7 @@ public class X11GraphicsScreen extends DefaultGraphicsScreen implements Cloneabl return X11Lib.DefaultVisualID(getDevice().getHandle(), getIndex()); } + @Override public Object clone() { return super.clone(); } diff --git a/src/nativewindow/classes/javax/media/nativewindow/DefaultCapabilitiesChooser.java b/src/nativewindow/classes/javax/media/nativewindow/DefaultCapabilitiesChooser.java index 6095db052..77cbe2995 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/DefaultCapabilitiesChooser.java +++ b/src/nativewindow/classes/javax/media/nativewindow/DefaultCapabilitiesChooser.java @@ -76,6 +76,7 @@ public class DefaultCapabilitiesChooser implements CapabilitiesChooser { private final static int NO_SCORE = -9999999; private final static int COLOR_MISMATCH_PENALTY_SCALE = 36; + @Override public int chooseCapabilities(final CapabilitiesImmutable desired, final List available, final int windowSystemRecommendedChoice) { diff --git a/src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsConfiguration.java b/src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsConfiguration.java index 3e32f30df..42d7f3a23 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsConfiguration.java +++ b/src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsConfiguration.java @@ -69,18 +69,22 @@ public class DefaultGraphicsConfiguration implements Cloneable, AbstractGraphics } } + @Override final public AbstractGraphicsScreen getScreen() { return screen; } + @Override final public CapabilitiesImmutable getChosenCapabilities() { return capabilitiesChosen; } + @Override final public CapabilitiesImmutable getRequestedCapabilities() { return capabilitiesRequested; } + @Override public AbstractGraphicsConfiguration getNativeGraphicsConfiguration() { return this; } diff --git a/src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsScreen.java b/src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsScreen.java index ffcad235c..4bd548916 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsScreen.java +++ b/src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsScreen.java @@ -54,10 +54,12 @@ public class DefaultGraphicsScreen implements Cloneable, AbstractGraphicsScreen } } + @Override public AbstractGraphicsDevice getDevice() { return device; } + @Override public int getIndex() { return idx; } diff --git a/src/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java b/src/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java index e1aa91959..c09e6eaa4 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java +++ b/src/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java @@ -80,10 +80,12 @@ public abstract class GraphicsConfigurationFactory { this.hash32 = hash32; } + @Override public final int hashCode() { return hash32; } + @Override public final boolean equals(Object obj) { if(this == obj) { return true; } if (obj instanceof DeviceCapsType) { diff --git a/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java b/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java index bad72f355..6962ce505 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java +++ b/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java @@ -123,6 +123,7 @@ public abstract class NativeWindowFactory { return AccessController.doPrivileged(new PrivilegedAction() { private final File vcliblocation = new File( "/opt/vc/lib/libbcm_host.so"); + @Override public Boolean run() { if ( vcliblocation.isFile() ) { return Boolean.TRUE; @@ -160,12 +161,14 @@ public abstract class NativeWindowFactory { final String[] _tmp = new String[] { null }; AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { Platform.initSingleton(); // last resort .. _DEBUG[0] = Debug.debug("NativeWindow"); _tmp[0] = Debug.getProperty("nativewindow.ws.name", true); Runtime.getRuntime().addShutdownHook( new Thread(new Runnable() { + @Override public void run() { NativeWindowFactory.shutdown(true); } }, "NativeWindowFactory_ShutdownHook" ) ) ; @@ -318,6 +321,7 @@ public abstract class NativeWindowFactory { ReflectionUtil.isClassAvailable("com.jogamp.nativewindow.awt.AWTGraphicsDevice", cl) ) { Method[] jawtUtilMethods = AccessController.doPrivileged(new PrivilegedAction() { + @Override public Method[] run() { try { Class _jawtUtilClass = Class.forName(JAWTUtilClassName, true, NativeWindowFactory.class.getClassLoader()); diff --git a/src/nativewindow/classes/javax/media/nativewindow/ProxySurface.java b/src/nativewindow/classes/javax/media/nativewindow/ProxySurface.java index eb0a6cf04..0af2bdaf9 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/ProxySurface.java +++ b/src/nativewindow/classes/javax/media/nativewindow/ProxySurface.java @@ -122,5 +122,6 @@ public interface ProxySurface extends MutableSurface { public void clearUpstreamOptionBits(int v); public StringBuilder toString(StringBuilder sink); + @Override public String toString(); } diff --git a/src/nativewindow/classes/javax/media/nativewindow/VisualIDHolder.java b/src/nativewindow/classes/javax/media/nativewindow/VisualIDHolder.java index 4ee71ee79..4ed79b1dc 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/VisualIDHolder.java +++ b/src/nativewindow/classes/javax/media/nativewindow/VisualIDHolder.java @@ -120,6 +120,7 @@ public interface VisualIDHolder { this.type = type; } + @Override public int compare(VisualIDHolder vid1, VisualIDHolder vid2) { final int id1 = vid1.getVisualID(type); final int id2 = vid2.getVisualID(type); diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/Dimension.java b/src/nativewindow/classes/javax/media/nativewindow/util/Dimension.java index b8b48a46c..b8dc53c83 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/Dimension.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/Dimension.java @@ -45,10 +45,12 @@ public class Dimension implements Cloneable, DimensionImmutable { this.height=height; } + @Override public Object cloneMutable() { return clone(); } + @Override public Object clone() { try { return super.clone(); diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/DimensionImmutable.java b/src/nativewindow/classes/javax/media/nativewindow/util/DimensionImmutable.java index 9caa433a6..e6cacf4ff 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/DimensionImmutable.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/DimensionImmutable.java @@ -59,8 +59,10 @@ public interface DimensionImmutable extends WriteCloneable, Comparabletrue if the two dimensions are equal; * otherwise false. */ + @Override boolean equals(Object obj); + @Override int hashCode(); } diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/Insets.java b/src/nativewindow/classes/javax/media/nativewindow/util/Insets.java index dbd997c60..c84359dcd 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/Insets.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/Insets.java @@ -45,10 +45,12 @@ public class Insets implements Cloneable, InsetsImmutable { this.b=bottom; } + @Override public Object cloneMutable() { return clone(); } + @Override protected Object clone() { try { return super.clone(); @@ -99,6 +101,7 @@ public class Insets implements Cloneable, InsetsImmutable { return sum3 * (sum3 + 1)/2 + val2; } + @Override public String toString() { return new String("[ l "+l+", r "+r+" - t "+t+", b "+b+" - "+getTotalWidth()+"x"+getTotalHeight()+"]"); } diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/InsetsImmutable.java b/src/nativewindow/classes/javax/media/nativewindow/util/InsetsImmutable.java index 0f99a7861..8256068cd 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/InsetsImmutable.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/InsetsImmutable.java @@ -59,8 +59,10 @@ public interface InsetsImmutable extends WriteCloneable { * @return true if the two Insets are equal; * otherwise false. */ + @Override boolean equals(Object obj); + @Override int hashCode(); } diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/Point.java b/src/nativewindow/classes/javax/media/nativewindow/util/Point.java index aba515d52..57c6fb716 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/Point.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/Point.java @@ -42,10 +42,12 @@ public class Point implements Cloneable, PointImmutable { this(0, 0); } + @Override public Object cloneMutable() { return clone(); } + @Override public Object clone() { try { return super.clone(); @@ -95,6 +97,7 @@ public class Point implements Cloneable, PointImmutable { return hash; } + @Override public String toString() { return new String( x + " / " + y ); } diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/PointImmutable.java b/src/nativewindow/classes/javax/media/nativewindow/util/PointImmutable.java index f5377e059..08c628cc1 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/PointImmutable.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/PointImmutable.java @@ -54,8 +54,10 @@ public interface PointImmutable extends WriteCloneable, Comparabletrue if the two points are equal; * otherwise false. */ + @Override public boolean equals(Object obj); + @Override public int hashCode(); } diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java b/src/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java index 3a51fb67d..8dc8f4562 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java @@ -47,10 +47,12 @@ public class Rectangle implements Cloneable, RectangleImmutable { this.height=height; } + @Override public Object cloneMutable() { return clone(); } + @Override protected Object clone() { try { return super.clone(); @@ -191,6 +193,7 @@ public class Rectangle implements Cloneable, RectangleImmutable { return sum3 * (sum3 + 1)/2 + val2; } + @Override public String toString() { return new String("[ "+x+" / "+y+" "+width+" x "+height+" ]"); } diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/RectangleImmutable.java b/src/nativewindow/classes/javax/media/nativewindow/util/RectangleImmutable.java index ce735f53f..7ca92ff53 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/RectangleImmutable.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/RectangleImmutable.java @@ -78,8 +78,10 @@ public interface RectangleImmutable extends WriteCloneable, Comparabletrue if the two rectangles are equal; * otherwise false. */ + @Override boolean equals(Object obj); + @Override int hashCode(); } diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java b/src/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java index 917f7e230..f1749dfa6 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java @@ -56,6 +56,7 @@ public class SurfaceSize implements Comparable { return bitsPerPixel; } + @Override public final String toString() { return new String("[ "+resolution+" x "+bitsPerPixel+" bpp ]"); } @@ -89,6 +90,7 @@ public class SurfaceSize implements Comparable { * @return true if the two dimensions are equal; * otherwise false. */ + @Override public final boolean equals(Object obj) { if(this == obj) { return true; } if (obj instanceof SurfaceSize) { @@ -99,6 +101,7 @@ public class SurfaceSize implements Comparable { return false; } + @Override public final int hashCode() { // 31 * x == (x << 5) - x int hash = 31 + getResolution().hashCode(); diff --git a/src/nativewindow/classes/jogamp/nativewindow/Debug.java b/src/nativewindow/classes/jogamp/nativewindow/Debug.java index a7bf536ec..b7197dbca 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/Debug.java +++ b/src/nativewindow/classes/jogamp/nativewindow/Debug.java @@ -54,6 +54,7 @@ public class Debug extends PropertyAccess { static { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { PropertyAccess.addTrustedPrefix("nativewindow."); return null; diff --git a/src/nativewindow/classes/jogamp/nativewindow/DefaultGraphicsConfigurationFactoryImpl.java b/src/nativewindow/classes/jogamp/nativewindow/DefaultGraphicsConfigurationFactoryImpl.java index b3b5d2131..8fb819251 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/DefaultGraphicsConfigurationFactoryImpl.java +++ b/src/nativewindow/classes/jogamp/nativewindow/DefaultGraphicsConfigurationFactoryImpl.java @@ -36,6 +36,7 @@ package jogamp.nativewindow; import javax.media.nativewindow.*; public class DefaultGraphicsConfigurationFactoryImpl extends GraphicsConfigurationFactory { + @Override protected AbstractGraphicsConfiguration chooseGraphicsConfigurationImpl( CapabilitiesImmutable capsChosen, CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, AbstractGraphicsScreen screen, int nativeVisualID) { return new DefaultGraphicsConfiguration(screen, capsChosen, capsRequested); diff --git a/src/nativewindow/classes/jogamp/nativewindow/GlobalToolkitLock.java b/src/nativewindow/classes/jogamp/nativewindow/GlobalToolkitLock.java index 5fdbbf697..cadef9bf1 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/GlobalToolkitLock.java +++ b/src/nativewindow/classes/jogamp/nativewindow/GlobalToolkitLock.java @@ -72,6 +72,7 @@ public class GlobalToolkitLock implements ToolkitLock { // nop } + @Override public String toString() { return "GlobalToolkitLock[obj 0x"+Integer.toHexString(hashCode())+", isOwner "+globalLock.isOwner(Thread.currentThread())+", "+globalLock.toString()+"]"; } diff --git a/src/nativewindow/classes/jogamp/nativewindow/NWJNILibLoader.java b/src/nativewindow/classes/jogamp/nativewindow/NWJNILibLoader.java index 36a25acfb..e7eb13756 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/NWJNILibLoader.java +++ b/src/nativewindow/classes/jogamp/nativewindow/NWJNILibLoader.java @@ -39,6 +39,7 @@ import com.jogamp.common.util.cache.TempJarCache; public class NWJNILibLoader extends JNILibLoaderBase { public static boolean loadNativeWindow(final String ossuffix) { return AccessController.doPrivileged(new PrivilegedAction() { + @Override public Boolean run() { Platform.initSingleton(); final String libName = "nativewindow_"+ossuffix ; diff --git a/src/nativewindow/classes/jogamp/nativewindow/NativeWindowFactoryImpl.java b/src/nativewindow/classes/jogamp/nativewindow/NativeWindowFactoryImpl.java index e3f6ab5ca..22ac3bd94 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/NativeWindowFactoryImpl.java +++ b/src/nativewindow/classes/jogamp/nativewindow/NativeWindowFactoryImpl.java @@ -51,6 +51,7 @@ public class NativeWindowFactoryImpl extends NativeWindowFactory { // This subclass of NativeWindowFactory handles the case of // NativeWindows being passed in + @Override protected NativeWindow getNativeWindowImpl(Object winObj, AbstractGraphicsConfiguration config) throws IllegalArgumentException { if (winObj instanceof NativeWindow) { // Use the NativeWindow directly diff --git a/src/nativewindow/classes/jogamp/nativewindow/NullToolkitLock.java b/src/nativewindow/classes/jogamp/nativewindow/NullToolkitLock.java index d8ce98acb..bda20522c 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/NullToolkitLock.java +++ b/src/nativewindow/classes/jogamp/nativewindow/NullToolkitLock.java @@ -64,6 +64,7 @@ public class NullToolkitLock implements ToolkitLock { // nop } + @Override public String toString() { return "NullToolkitLock[]"; } diff --git a/src/nativewindow/classes/jogamp/nativewindow/ProxySurfaceImpl.java b/src/nativewindow/classes/jogamp/nativewindow/ProxySurfaceImpl.java index 8a1048c6f..097fffead 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/ProxySurfaceImpl.java +++ b/src/nativewindow/classes/jogamp/nativewindow/ProxySurfaceImpl.java @@ -253,6 +253,7 @@ public abstract class ProxySurfaceImpl implements ProxySurface { return surfaceLock.getOwner(); } + @Override public final StringBuilder getUpstreamOptionBits(StringBuilder sink) { if(null == sink) { sink = new StringBuilder(); diff --git a/src/nativewindow/classes/jogamp/nativewindow/ResourceToolkitLock.java b/src/nativewindow/classes/jogamp/nativewindow/ResourceToolkitLock.java index 51dd58543..f1efb8133 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/ResourceToolkitLock.java +++ b/src/nativewindow/classes/jogamp/nativewindow/ResourceToolkitLock.java @@ -73,6 +73,7 @@ public class ResourceToolkitLock implements ToolkitLock { // nop } + @Override public String toString() { return "ResourceToolkitLock[obj 0x"+Integer.toHexString(hashCode())+", isOwner "+lock.isOwner(Thread.currentThread())+", "+lock.toString()+"]"; } diff --git a/src/nativewindow/classes/jogamp/nativewindow/SharedResourceToolkitLock.java b/src/nativewindow/classes/jogamp/nativewindow/SharedResourceToolkitLock.java index e20d3d138..7b74e1f1f 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/SharedResourceToolkitLock.java +++ b/src/nativewindow/classes/jogamp/nativewindow/SharedResourceToolkitLock.java @@ -142,6 +142,7 @@ public class SharedResourceToolkitLock implements ToolkitLock { } } + @Override public String toString() { return "SharedResourceToolkitLock[refCount "+refCount+", handle 0x"+Long.toHexString(handle)+", obj 0x"+Integer.toHexString(hashCode())+", isOwner "+lock.isOwner(Thread.currentThread())+", "+lock.toString()+"]"; } diff --git a/src/nativewindow/classes/jogamp/nativewindow/SurfaceUpdatedHelper.java b/src/nativewindow/classes/jogamp/nativewindow/SurfaceUpdatedHelper.java index d11e240fa..1e83232bb 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/SurfaceUpdatedHelper.java +++ b/src/nativewindow/classes/jogamp/nativewindow/SurfaceUpdatedHelper.java @@ -74,6 +74,7 @@ public class SurfaceUpdatedHelper implements SurfaceUpdatedListener { } } + @Override public void surfaceUpdated(Object updater, NativeSurface ns, long when) { synchronized(surfaceUpdatedListenersLock) { for(int i = 0; i < surfaceUpdatedListeners.size(); i++ ) { diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTJNILibLoader.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTJNILibLoader.java index 815facbee..a5da41424 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTJNILibLoader.java +++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTJNILibLoader.java @@ -50,6 +50,7 @@ import java.security.PrivilegedAction; public class JAWTJNILibLoader extends NWJNILibLoader { static { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { // Make sure that awt.dll is loaded before loading jawt.dll. Otherwise // a Dialog with "awt.dll not found" might pop up. diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java index 32946fe2d..5a1d915ce 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java +++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java @@ -320,6 +320,7 @@ public class JAWTUtil { j2dExist = ok; PrivilegedDataBlob1 pdb1 = (PrivilegedDataBlob1) AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { PrivilegedDataBlob1 d = new PrivilegedDataBlob1(); try { @@ -352,9 +353,11 @@ public class JAWTUtil { jawtLock = LockFactory.createRecursiveLock(); jawtToolkitLock = new ToolkitLock() { + @Override public final void lock() { JAWTUtil.lockToolkit(); } + @Override public final void unlock() { JAWTUtil.unlockToolkit(); } @@ -380,6 +383,7 @@ public class JAWTUtil { } else { final ArrayList> desktophintsBucket = new ArrayList>(1); EventQueue.invokeAndWait(new Runnable() { + @Override public void run() { Map _desktophints = (Map)(Toolkit.getDefaultToolkit().getDesktopProperty("awt.font.desktophints")); if(null!=_desktophints) { diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java index 87e3d3dd8..600aa6cb2 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java +++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java @@ -88,6 +88,7 @@ public class MacOSXJAWTWindow extends JAWTWindow implements MutableSurface { OSXUtil.DestroyNSWindow(windowHandle); } OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { if( 0 != rootSurfaceLayer ) { if( 0 != jawtSurfaceLayersHandle) { @@ -106,6 +107,7 @@ public class MacOSXJAWTWindow extends JAWTWindow implements MutableSurface { @Override protected void attachSurfaceLayerImpl(final long layerHandle) { OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { // AWT position is top-left w/ insets, where CALayer position is bottom/left from root CALayer w/o insets. // Determine p0: components location on screen w/o insets. @@ -167,6 +169,7 @@ public class MacOSXJAWTWindow extends JAWTWindow implements MutableSurface { @Override protected void detachSurfaceLayerImpl(final long layerHandle, final Runnable detachNotify) { OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { detachNotify.run(); OSXUtil.RemoveCASublayer(rootSurfaceLayer, layerHandle); @@ -183,6 +186,7 @@ public class MacOSXJAWTWindow extends JAWTWindow implements MutableSurface { return offscreenSurfaceDrawableSet ? offscreenSurfaceDrawable : drawable /* super.getSurfaceHandle() */ ; } + @Override public void setSurfaceHandle(long surfaceHandle) { if( !isOffscreenLayerSurfaceEnabled() ) { throw new java.lang.UnsupportedOperationException("Not using CALAYER"); @@ -194,11 +198,13 @@ public class MacOSXJAWTWindow extends JAWTWindow implements MutableSurface { this.offscreenSurfaceDrawableSet = true; } + @Override protected JAWT fetchJAWTImpl() throws NativeWindowException { // use offscreen if supported and [ applet or requested ] return JAWTUtil.getJAWT(getShallUseOffscreenLayer() || isApplet()); } + @Override protected int lockSurfaceImpl() throws NativeWindowException { int ret = NativeWindow.LOCK_SURFACE_NOT_READY; ds = getJAWT().GetDrawingSurface(component); @@ -223,6 +229,7 @@ public class MacOSXJAWTWindow extends JAWTWindow implements MutableSurface { } if (firstLock) { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { dsi = ds.GetDrawingSurfaceInfo(); return null; @@ -284,6 +291,7 @@ public class MacOSXJAWTWindow extends JAWTWindow implements MutableSurface { if(null == errMsg) { jawtSurfaceLayersHandle = GetJAWTSurfaceLayersHandle0(dsi.getBuffer()); OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { String errMsg = null; if(0 == rootSurfaceLayer && 0 != jawtSurfaceLayersHandle) { @@ -322,6 +330,7 @@ public class MacOSXJAWTWindow extends JAWTWindow implements MutableSurface { return ret; } + @Override protected void unlockSurfaceImpl() throws NativeWindowException { if(null!=ds) { if (null!=dsi) { @@ -362,6 +371,7 @@ public class MacOSXJAWTWindow extends JAWTWindow implements MutableSurface { getLocationOnScreenNonBlocking(storage, component); return storage; } + @Override protected Point getLocationOnScreenNativeImpl(final int x0, final int y0) { return null; } diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/Win32SunJDKReflection.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/Win32SunJDKReflection.java index 876531151..8b9dfabfd 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/Win32SunJDKReflection.java +++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/Win32SunJDKReflection.java @@ -65,6 +65,7 @@ public class Win32SunJDKReflection { static { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { try { win32GraphicsDeviceClass = Class.forName("sun.awt.Win32GraphicsDevice"); diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/WindowsJAWTWindow.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/WindowsJAWTWindow.java index 64e177155..54bdb34f6 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/WindowsJAWTWindow.java +++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/windows/WindowsJAWTWindow.java @@ -60,14 +60,17 @@ public class WindowsJAWTWindow extends JAWTWindow { super(comp, config); } + @Override protected void invalidateNative() { windowHandle = 0; } + @Override protected JAWT fetchJAWTImpl() throws NativeWindowException { return JAWTUtil.getJAWT(false); // no offscreen } + @Override protected int lockSurfaceImpl() throws NativeWindowException { int ret = NativeWindow.LOCK_SUCCESS; ds = getJAWT().GetDrawingSurface(component); @@ -110,6 +113,7 @@ public class WindowsJAWTWindow extends JAWTWindow { return ret; } + @Override protected void unlockSurfaceImpl() throws NativeWindowException { drawable = 0; // invalid HDC if(null!=ds) { @@ -131,6 +135,7 @@ public class WindowsJAWTWindow extends JAWTWindow { return windowHandle; } + @Override protected Point getLocationOnScreenNativeImpl(int x, int y) { return GDIUtil.GetRelativeLocation( getWindowHandle(), 0 /*root win*/, x, y); } diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java index b08a7d83a..4599b9021 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java +++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java @@ -57,12 +57,15 @@ public class X11JAWTWindow extends JAWTWindow { super(comp, config); } + @Override protected void invalidateNative() { } + @Override protected JAWT fetchJAWTImpl() throws NativeWindowException { return JAWTUtil.getJAWT(false); // no offscreen } + @Override protected int lockSurfaceImpl() throws NativeWindowException { int ret = NativeWindow.LOCK_SUCCESS; ds = getJAWT().GetDrawingSurface(component); @@ -104,6 +107,7 @@ public class X11JAWTWindow extends JAWTWindow { return ret; } + @Override protected void unlockSurfaceImpl() throws NativeWindowException { if(null!=ds) { if (null!=dsi) { @@ -119,6 +123,7 @@ public class X11JAWTWindow extends JAWTWindow { x11dsi = null; } + @Override protected Point getLocationOnScreenNativeImpl(int x, int y) { // surface is locked and hence the device return X11Lib.GetRelativeLocation(getDisplayHandle(), getScreenIndex(), getWindowHandle(), 0 /*root win*/, x, y); diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11SunJDKReflection.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11SunJDKReflection.java index f1104d02f..b2c3a931b 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11SunJDKReflection.java +++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11SunJDKReflection.java @@ -65,6 +65,7 @@ public class X11SunJDKReflection { static { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { try { x11GraphicsDeviceClass = Class.forName("sun.awt.X11GraphicsDevice"); diff --git a/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java b/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java index 004a91a42..bac07b85a 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java +++ b/src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java @@ -271,7 +271,7 @@ public class OSXUtil implements ToolkitProperties { RunLater0(onMain, new RunnableTask( runnable, null, true, System.err ), delay); } - private static Runnable _nop = new Runnable() { public void run() {}; }; + private static Runnable _nop = new Runnable() { @Override public void run() {}; }; /** Issues a {@link #RunOnMainThread(boolean, Runnable)} w/ an NOP runnable, while waiting until done. */ public static void WaitUntilFinish() { diff --git a/src/nativewindow/classes/jogamp/nativewindow/x11/X11GraphicsConfigurationFactory.java b/src/nativewindow/classes/jogamp/nativewindow/x11/X11GraphicsConfigurationFactory.java index d6e7b5970..6258632cd 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/x11/X11GraphicsConfigurationFactory.java +++ b/src/nativewindow/classes/jogamp/nativewindow/x11/X11GraphicsConfigurationFactory.java @@ -51,6 +51,7 @@ public class X11GraphicsConfigurationFactory extends GraphicsConfigurationFactor private X11GraphicsConfigurationFactory() { } + @Override protected AbstractGraphicsConfiguration chooseGraphicsConfigurationImpl( CapabilitiesImmutable capsChosen, CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, AbstractGraphicsScreen screen, int nativeVisualID) throws IllegalArgumentException, NativeWindowException { diff --git a/src/nativewindow/classes/jogamp/nativewindow/x11/X11Util.java b/src/nativewindow/classes/jogamp/nativewindow/x11/X11Util.java index 6431fb3f5..2576c7db1 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/x11/X11Util.java +++ b/src/nativewindow/classes/jogamp/nativewindow/x11/X11Util.java @@ -300,10 +300,12 @@ public class X11Util implements ToolkitProperties { } } + @Override public final int hashCode() { return hash32; } + @Override public final boolean equals(Object obj) { if(this == obj) { return true; } if(obj instanceof NamedDisplay) { diff --git a/src/nativewindow/classes/jogamp/nativewindow/x11/awt/X11AWTGraphicsConfigurationFactory.java b/src/nativewindow/classes/jogamp/nativewindow/x11/awt/X11AWTGraphicsConfigurationFactory.java index 7b37d3cca..062040232 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/x11/awt/X11AWTGraphicsConfigurationFactory.java +++ b/src/nativewindow/classes/jogamp/nativewindow/x11/awt/X11AWTGraphicsConfigurationFactory.java @@ -66,6 +66,7 @@ public class X11AWTGraphicsConfigurationFactory extends GraphicsConfigurationFac private X11AWTGraphicsConfigurationFactory() { } + @Override protected AbstractGraphicsConfiguration chooseGraphicsConfigurationImpl( CapabilitiesImmutable capsChosen, CapabilitiesImmutable capsRequested, CapabilitiesChooser chooser, AbstractGraphicsScreen absScreen, int nativeVisualID) { diff --git a/src/newt/classes/com/jogamp/newt/Display.java b/src/newt/classes/com/jogamp/newt/Display.java index 83383d23c..a0a098481 100644 --- a/src/newt/classes/com/jogamp/newt/Display.java +++ b/src/newt/classes/com/jogamp/newt/Display.java @@ -41,9 +41,11 @@ public abstract class Display { public static final boolean DEBUG = Debug.debug("Display"); /** return precomputed hashCode from FQN {@link #getFQName()} */ + @Override public abstract int hashCode(); /** return true if obj is of type Display and both FQN {@link #getFQName()} equals */ + @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj instanceof Display) { diff --git a/src/newt/classes/com/jogamp/newt/MonitorDevice.java b/src/newt/classes/com/jogamp/newt/MonitorDevice.java index 625a7b39f..28d9f53a1 100644 --- a/src/newt/classes/com/jogamp/newt/MonitorDevice.java +++ b/src/newt/classes/com/jogamp/newt/MonitorDevice.java @@ -87,6 +87,7 @@ public abstract class MonitorDevice { * *
              */ + @Override public final boolean equals(Object obj) { if (this == obj) { return true; } if (obj instanceof MonitorDevice) { @@ -102,6 +103,7 @@ public abstract class MonitorDevice { *
            • nativeID
            • * */ + @Override public final int hashCode() { return nativeId; } @@ -228,6 +230,7 @@ public abstract class MonitorDevice { */ public abstract boolean setCurrentMode(MonitorMode mode); + @Override public String toString() { return "Monitor[Id "+Display.toHexString(nativeId)+", "+sizeMM+" mm, viewport "+viewport+ ", orig "+originalMode+", curr "+currentMode+ ", modeChanged "+modeChanged+", modeCount "+supportedModes.size()+"]"; diff --git a/src/newt/classes/com/jogamp/newt/MonitorMode.java b/src/newt/classes/com/jogamp/newt/MonitorMode.java index 175d6e5f2..59f28e791 100644 --- a/src/newt/classes/com/jogamp/newt/MonitorMode.java +++ b/src/newt/classes/com/jogamp/newt/MonitorMode.java @@ -114,12 +114,14 @@ public class MonitorMode implements Comparable { /** Comparator for 2 {@link MonitorMode}s, following comparison order as described in {@link MonitorMode#compareTo(MonitorMode)}, returning the ascending order. */ public static final Comparator monitorModeComparator = new Comparator() { + @Override public int compare(MonitorMode mm1, MonitorMode mm2) { return mm1.compareTo(mm2); } }; /** Comparator for 2 {@link MonitorMode}s, following comparison order as described in {@link MonitorMode#compareTo(MonitorMode)}, returning the descending order. */ public static final Comparator monitorModeComparatorInv = new Comparator() { + @Override public int compare(MonitorMode mm1, MonitorMode mm2) { return mm2.compareTo(mm1); } }; @@ -172,6 +174,7 @@ public class MonitorMode implements Comparable { } return sb; } + @Override public final String toString() { return new String(surfaceSize+" @ "+refreshRate+" Hz, flags ["+flags2String(flags).toString()+"]"); } @@ -228,6 +231,7 @@ public class MonitorMode implements Comparable { *
            • flags
            • * */ + @Override public final boolean equals(Object obj) { if (this == obj) { return true; } if (obj instanceof SizeAndRRate) { @@ -247,6 +251,7 @@ public class MonitorMode implements Comparable { *
            • refreshRate
            • * */ + @Override public final int hashCode() { return hashCode; } @@ -360,6 +365,7 @@ public class MonitorMode implements Comparable { return getRotatedWH(false); } + @Override public final String toString() { return "[Id "+Display.toHexString(nativeId)+", " + sizeAndRRate + ", " + rotation + " degr]"; } @@ -409,6 +415,7 @@ public class MonitorMode implements Comparable { *
            • rotation
            • * */ + @Override public final boolean equals(Object obj) { if (this == obj) { return true; } if (obj instanceof MonitorMode) { @@ -428,6 +435,7 @@ public class MonitorMode implements Comparable { *
            • rotation
            • * */ + @Override public final int hashCode() { return hashCode; } diff --git a/src/newt/classes/com/jogamp/newt/NewtFactory.java b/src/newt/classes/com/jogamp/newt/NewtFactory.java index 7116877a3..5ae3f3692 100644 --- a/src/newt/classes/com/jogamp/newt/NewtFactory.java +++ b/src/newt/classes/com/jogamp/newt/NewtFactory.java @@ -56,6 +56,7 @@ public class NewtFactory { static { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { NativeWindowFactory.initSingleton(); // last resort .. diff --git a/src/newt/classes/com/jogamp/newt/Screen.java b/src/newt/classes/com/jogamp/newt/Screen.java index 1274b3459..ef62ec95d 100644 --- a/src/newt/classes/com/jogamp/newt/Screen.java +++ b/src/newt/classes/com/jogamp/newt/Screen.java @@ -53,9 +53,11 @@ public abstract class Screen { public static final boolean DEBUG = Debug.debug("Screen"); /** return precomputed hashCode from FQN {@link #getFQName()} */ + @Override public abstract int hashCode(); /** return true if obj is of type Display and both FQN {@link #getFQName()} equals */ + @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj instanceof Screen) { diff --git a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java index de1b7224f..1f5c26f27 100644 --- a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java +++ b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java @@ -107,10 +107,12 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto private AWTWindowClosingProtocol awtWindowClosingProtocol = new AWTWindowClosingProtocol(this, new Runnable() { + @Override public void run() { NewtCanvasAWT.this.destroyImpl(false /* removeNotify */, true /* windowClosing */); } }, new Runnable() { + @Override public void run() { if( newtChild != null ) { newtChild.sendWindowEvent(WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY); @@ -148,14 +150,17 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto setNEWTChild(child); } + @Override public void setShallUseOffscreenLayer(boolean v) { shallUseOffscreenLayer = v; } + @Override public final boolean getShallUseOffscreenLayer() { return shallUseOffscreenLayer; } + @Override public final boolean isOffscreenLayerSurfaceEnabled() { return jawtWindow.isOffscreenLayerSurfaceEnabled(); } @@ -178,6 +183,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } class FocusAction implements Window.FocusRunnable { + @Override public boolean run() { final boolean isParent = isParent(); final boolean isFullscreen = isFullscreen(); @@ -214,11 +220,13 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto }; class FocusTraversalKeyListener implements KeyListener { + @Override public void keyPressed(KeyEvent e) { if( isParent() && !isFullscreen() ) { handleKey(e, false); } } + @Override public void keyReleased(KeyEvent e) { if( isParent() && !isFullscreen() ) { handleKey(e, true); @@ -263,6 +271,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto private final FocusTraversalKeyListener newtFocusTraversalKeyListener = new FocusTraversalKeyListener(); class FocusPropertyChangeListener implements PropertyChangeListener { + @Override public void propertyChange(PropertyChangeEvent evt) { final Object oldF = evt.getOldValue(); final Object newF = evt.getNewValue(); @@ -358,10 +367,12 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto * or {@link #addNotify()} hasn't been called yet.*/ public NativeWindow getNativeWindow() { return jawtWindow; } + @Override public WindowClosingMode getDefaultCloseOperation() { return awtWindowClosingProtocol.getDefaultCloseOperation(); } + @Override public WindowClosingMode setDefaultCloseOperation(WindowClosingMode op) { return awtWindowClosingProtocol.setDefaultCloseOperation(op); } @@ -745,6 +756,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto } } private final Runnable forceRelayout = new Runnable() { + @Override public void run() { if(DEBUG) { System.err.println("NewtCanvasAWT.forceRelayout.0"); @@ -797,6 +809,7 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto if (!disableBackgroundEraseInitialized) { try { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { try { Class clazz = getToolkit().getClass(); diff --git a/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java b/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java index 9b1b82297..409f78307 100644 --- a/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java +++ b/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java @@ -102,6 +102,7 @@ public class JOGLNewtApplet1Run extends Applet { /** if valid glStandalone:=true (own window) ! */ int glXd=Integer.MAX_VALUE, glYd=Integer.MAX_VALUE, glWidth=Integer.MAX_VALUE, glHeight=Integer.MAX_VALUE; + @Override public void init() { if(DEBUG) { System.err.println("JOGLNewtApplet1Run.init() START"); @@ -223,6 +224,7 @@ public class JOGLNewtApplet1Run extends Applet { } } + @Override public void start() { if(DEBUG) { System.err.println("JOGLNewtApplet1Run.start() START (isVisible "+isVisible()+", isDisplayable "+isDisplayable()+")"); @@ -266,6 +268,7 @@ public class JOGLNewtApplet1Run extends Applet { } } + @Override public void stop() { if(DEBUG) { System.err.println("JOGLNewtApplet1Run.stop() START"); @@ -276,6 +279,7 @@ public class JOGLNewtApplet1Run extends Applet { } } + @Override public void destroy() { if(DEBUG) { System.err.println("JOGLNewtApplet1Run.destroy() START"); diff --git a/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java b/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java index a6a30a8bf..d17d2e77c 100644 --- a/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java +++ b/src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java @@ -112,6 +112,7 @@ public class JOGLNewtAppletBase implements KeyListener, GLEventListener { try { final Class clazz = AccessController.doPrivileged(new PrivilegedAction>() { + @Override public Class run() { final ClassLoader cl = Thread.currentThread().getContextClassLoader(); Class clazz = null; @@ -169,6 +170,7 @@ public class JOGLNewtAppletBase implements KeyListener, GLEventListener { if(null == glWindow.getParent()) { // we may be called directly by the native EDT new Thread(new Runnable() { + @Override public void run() { if( glWindow.isNativeValid() ) { glWindow.reparentWindow(awtParent); @@ -256,6 +258,7 @@ public class JOGLNewtAppletBase implements KeyListener, GLEventListener { // *********************************************************************************** // *********************************************************************************** + @Override public void init(GLAutoDrawable drawable) { GL _gl = drawable.getGL(); @@ -276,10 +279,13 @@ public class JOGLNewtAppletBase implements KeyListener, GLEventListener { _gl.setSwapInterval(glSwapInterval); } } + @Override public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) { } + @Override public void display(GLAutoDrawable drawable) { } + @Override public void dispose(GLAutoDrawable drawable) { } diff --git a/src/newt/classes/com/jogamp/newt/event/DoubleTapScrollGesture.java b/src/newt/classes/com/jogamp/newt/event/DoubleTapScrollGesture.java index 7dda47534..edb2429bb 100644 --- a/src/newt/classes/com/jogamp/newt/event/DoubleTapScrollGesture.java +++ b/src/newt/classes/com/jogamp/newt/event/DoubleTapScrollGesture.java @@ -142,6 +142,7 @@ public class DoubleTapScrollGesture implements GestureHandler { } } + @Override public String toString() { return "DoubleTapScroll[state "+gestureState+", in "+isWithinGesture()+", has "+(null!=hitGestureEvent)+", pc "+pointerDownCount+"]"; } diff --git a/src/newt/classes/com/jogamp/newt/event/InputEvent.java b/src/newt/classes/com/jogamp/newt/event/InputEvent.java index 6520dafcf..f29b632e8 100644 --- a/src/newt/classes/com/jogamp/newt/event/InputEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/InputEvent.java @@ -210,10 +210,12 @@ public abstract class InputEvent extends NEWTEvent return 0 != ( modifiers & BUTTONALL_MASK ); } + @Override public String toString() { return toString(null).toString(); } + @Override public StringBuilder toString(StringBuilder sb) { if(null == sb) { sb = new StringBuilder(); diff --git a/src/newt/classes/com/jogamp/newt/event/KeyAdapter.java b/src/newt/classes/com/jogamp/newt/event/KeyAdapter.java index a89148574..5cef734bb 100644 --- a/src/newt/classes/com/jogamp/newt/event/KeyAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/KeyAdapter.java @@ -31,8 +31,10 @@ package com.jogamp.newt.event; public abstract class KeyAdapter implements KeyListener { + @Override public void keyPressed(KeyEvent e) { } + @Override public void keyReleased(KeyEvent e) { } } diff --git a/src/newt/classes/com/jogamp/newt/event/KeyEvent.java b/src/newt/classes/com/jogamp/newt/event/KeyEvent.java index 81680bf32..49aa4e054 100644 --- a/src/newt/classes/com/jogamp/newt/event/KeyEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/KeyEvent.java @@ -196,10 +196,12 @@ public class KeyEvent extends InputEvent return keyCode; } + @Override public final String toString() { return toString(null).toString(); } + @Override public final StringBuilder toString(StringBuilder sb) { if(null == sb) { sb = new StringBuilder(); diff --git a/src/newt/classes/com/jogamp/newt/event/MonitorEvent.java b/src/newt/classes/com/jogamp/newt/event/MonitorEvent.java index 77c66a2da..03242e147 100644 --- a/src/newt/classes/com/jogamp/newt/event/MonitorEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/MonitorEvent.java @@ -56,10 +56,12 @@ public class MonitorEvent extends OutputEvent { } } + @Override public final String toString() { return toString(null).toString(); } + @Override public final StringBuilder toString(StringBuilder sb) { if(null == sb) { sb = new StringBuilder(); diff --git a/src/newt/classes/com/jogamp/newt/event/MouseAdapter.java b/src/newt/classes/com/jogamp/newt/event/MouseAdapter.java index 652f87d5b..98252fe14 100644 --- a/src/newt/classes/com/jogamp/newt/event/MouseAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/MouseAdapter.java @@ -30,20 +30,28 @@ package com.jogamp.newt.event; public abstract class MouseAdapter implements MouseListener { + @Override public void mouseClicked(MouseEvent e) { } + @Override public void mouseEntered(MouseEvent e) { } + @Override public void mouseExited(MouseEvent e) { } + @Override public void mousePressed(MouseEvent e) { } + @Override public void mouseReleased(MouseEvent e) { } + @Override public void mouseMoved(MouseEvent e) { } + @Override public void mouseDragged(MouseEvent e) { } + @Override public void mouseWheelMoved(MouseEvent e) { } } diff --git a/src/newt/classes/com/jogamp/newt/event/MouseEvent.java b/src/newt/classes/com/jogamp/newt/event/MouseEvent.java index 4d7cc3b36..635bdba52 100644 --- a/src/newt/classes/com/jogamp/newt/event/MouseEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/MouseEvent.java @@ -510,10 +510,12 @@ public class MouseEvent extends InputEvent return rotationScale; } + @Override public final String toString() { return toString(null).toString(); } + @Override public final StringBuilder toString(StringBuilder sb) { if(null == sb) { sb = new StringBuilder(); diff --git a/src/newt/classes/com/jogamp/newt/event/NEWTEvent.java b/src/newt/classes/com/jogamp/newt/event/NEWTEvent.java index 022e2d0e1..af800e61e 100644 --- a/src/newt/classes/com/jogamp/newt/event/NEWTEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/NEWTEvent.java @@ -131,6 +131,7 @@ public class NEWTEvent extends java.util.EventObject { } } + @Override public String toString() { return toString(null).toString(); } diff --git a/src/newt/classes/com/jogamp/newt/event/PinchToZoomGesture.java b/src/newt/classes/com/jogamp/newt/event/PinchToZoomGesture.java index d275eab46..b4e1341da 100644 --- a/src/newt/classes/com/jogamp/newt/event/PinchToZoomGesture.java +++ b/src/newt/classes/com/jogamp/newt/event/PinchToZoomGesture.java @@ -75,6 +75,7 @@ public class PinchToZoomGesture implements GestureHandler { this.zoom = 1f; } + @Override public String toString() { return "PinchZoom[1stTouch "+zoomFirstTouch+", in "+isWithinGesture()+", has "+(null!=zoomEvent)+", zoom "+zoom+"]"; } diff --git a/src/newt/classes/com/jogamp/newt/event/TraceKeyAdapter.java b/src/newt/classes/com/jogamp/newt/event/TraceKeyAdapter.java index e826f4a6a..bbc170958 100644 --- a/src/newt/classes/com/jogamp/newt/event/TraceKeyAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/TraceKeyAdapter.java @@ -40,10 +40,12 @@ public class TraceKeyAdapter implements KeyListener { this.downstream = downstream; } + @Override public void keyPressed(KeyEvent e) { System.err.println(e); if(null!=downstream) { downstream.keyPressed(e); } } + @Override public void keyReleased(KeyEvent e) { System.err.println(e); if(null!=downstream) { downstream.keyReleased(e); } diff --git a/src/newt/classes/com/jogamp/newt/event/TraceMouseAdapter.java b/src/newt/classes/com/jogamp/newt/event/TraceMouseAdapter.java index d035091c4..db8376034 100644 --- a/src/newt/classes/com/jogamp/newt/event/TraceMouseAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/TraceMouseAdapter.java @@ -40,34 +40,42 @@ public class TraceMouseAdapter implements MouseListener { this.downstream = downstream; } + @Override public void mouseClicked(MouseEvent e) { System.err.println(e); if(null!=downstream) { downstream.mouseClicked(e); } } + @Override public void mouseEntered(MouseEvent e) { System.err.println(e); if(null!=downstream) { downstream.mouseEntered(e); } } + @Override public void mouseExited(MouseEvent e) { System.err.println(e); if(null!=downstream) { downstream.mouseExited(e); } } + @Override public void mousePressed(MouseEvent e) { System.err.println(e); if(null!=downstream) { downstream.mousePressed(e); } } + @Override public void mouseReleased(MouseEvent e) { System.err.println(e); if(null!=downstream) { downstream.mouseReleased(e); } } + @Override public void mouseMoved(MouseEvent e) { System.err.println(e); if(null!=downstream) { downstream.mouseMoved(e); } } + @Override public void mouseDragged(MouseEvent e) { System.err.println(e); if(null!=downstream) { downstream.mouseDragged(e); } } + @Override public void mouseWheelMoved(MouseEvent e) { System.err.println(e); if(null!=downstream) { downstream.mouseWheelMoved(e); } diff --git a/src/newt/classes/com/jogamp/newt/event/TraceWindowAdapter.java b/src/newt/classes/com/jogamp/newt/event/TraceWindowAdapter.java index 630e85303..7b844f059 100644 --- a/src/newt/classes/com/jogamp/newt/event/TraceWindowAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/TraceWindowAdapter.java @@ -40,30 +40,37 @@ public class TraceWindowAdapter implements WindowListener { this.downstream = downstream; } + @Override public void windowResized(WindowEvent e) { System.err.println(e); if(null!=downstream) { downstream.windowResized(e); } } + @Override public void windowMoved(WindowEvent e) { System.err.println(e); if(null!=downstream) { downstream.windowMoved(e); } } + @Override public void windowDestroyNotify(WindowEvent e) { System.err.println(e); if(null!=downstream) { downstream.windowDestroyNotify(e); } } + @Override public void windowDestroyed(WindowEvent e) { System.err.println(e); if(null!=downstream) { downstream.windowDestroyed(e); } } + @Override public void windowGainedFocus(WindowEvent e) { System.err.println(e); if(null!=downstream) { downstream.windowGainedFocus(e); } } + @Override public void windowLostFocus(WindowEvent e) { System.err.println(e); if(null!=downstream) { downstream.windowLostFocus(e); } } + @Override public void windowRepaint(WindowUpdateEvent e) { System.err.println(e); if(null!=downstream) { downstream.windowRepaint(e); } diff --git a/src/newt/classes/com/jogamp/newt/event/WindowAdapter.java b/src/newt/classes/com/jogamp/newt/event/WindowAdapter.java index e237c0d80..ccc627444 100644 --- a/src/newt/classes/com/jogamp/newt/event/WindowAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/WindowAdapter.java @@ -30,18 +30,25 @@ package com.jogamp.newt.event; public abstract class WindowAdapter implements WindowListener { + @Override public void windowResized(WindowEvent e) { } + @Override public void windowMoved(WindowEvent e) { } + @Override public void windowDestroyNotify(WindowEvent e) { } + @Override public void windowDestroyed(WindowEvent e) { } + @Override public void windowGainedFocus(WindowEvent e) { } + @Override public void windowLostFocus(WindowEvent e) { } + @Override public void windowRepaint(WindowUpdateEvent e) { } } diff --git a/src/newt/classes/com/jogamp/newt/event/WindowEvent.java b/src/newt/classes/com/jogamp/newt/event/WindowEvent.java index 8c7abfe99..2841fd0f6 100644 --- a/src/newt/classes/com/jogamp/newt/event/WindowEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/WindowEvent.java @@ -66,10 +66,12 @@ public class WindowEvent extends NEWTEvent { } } + @Override public String toString() { return toString(null).toString(); } + @Override public StringBuilder toString(StringBuilder sb) { if(null == sb) { sb = new StringBuilder(); diff --git a/src/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java b/src/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java index 8a204d234..9044517b5 100644 --- a/src/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java +++ b/src/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java @@ -44,10 +44,12 @@ public class WindowUpdateEvent extends WindowEvent { return bounds; } + @Override public String toString() { return toString(null).toString(); } + @Override public StringBuilder toString(StringBuilder sb) { if(null == sb) { sb = new StringBuilder(); diff --git a/src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java b/src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java index 1b53671ba..f6f11b81f 100644 --- a/src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java @@ -49,11 +49,13 @@ public class AWTKeyAdapter extends AWTAdapter implements java.awt.event.KeyListe super(downstream); } + @Override public AWTAdapter addTo(java.awt.Component awtComponent) { awtComponent.addKeyListener(this); return this; } + @Override public AWTAdapter removeFrom(java.awt.Component awtComponent) { awtComponent.removeKeyListener(this); return this; diff --git a/src/newt/classes/com/jogamp/newt/event/awt/AWTMouseAdapter.java b/src/newt/classes/com/jogamp/newt/event/awt/AWTMouseAdapter.java index ab4bf7a3f..73a02c9fc 100644 --- a/src/newt/classes/com/jogamp/newt/event/awt/AWTMouseAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/awt/AWTMouseAdapter.java @@ -46,6 +46,7 @@ public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseL super(downstream); } + @Override public AWTAdapter addTo(java.awt.Component awtComponent) { awtComponent.addMouseListener(this); awtComponent.addMouseMotionListener(this); @@ -53,6 +54,7 @@ public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseL return this; } + @Override public AWTAdapter removeFrom(java.awt.Component awtComponent) { awtComponent.removeMouseListener(this); awtComponent.removeMouseMotionListener(this); @@ -60,6 +62,7 @@ public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseL return this; } + @Override public void mouseClicked(java.awt.event.MouseEvent e) { com.jogamp.newt.event.MouseEvent event = AWTNewtEventFactory.createMouseEvent(e, newtWindow); if(null!=newtListener) { @@ -69,6 +72,7 @@ public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseL } } + @Override public void mouseEntered(java.awt.event.MouseEvent e) { com.jogamp.newt.event.MouseEvent event = AWTNewtEventFactory.createMouseEvent(e, newtWindow); if(null!=newtListener) { @@ -78,6 +82,7 @@ public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseL } } + @Override public void mouseExited(java.awt.event.MouseEvent e) { com.jogamp.newt.event.MouseEvent event = AWTNewtEventFactory.createMouseEvent(e, newtWindow); if(null!=newtListener) { @@ -87,6 +92,7 @@ public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseL } } + @Override public void mousePressed(java.awt.event.MouseEvent e) { com.jogamp.newt.event.MouseEvent event = AWTNewtEventFactory.createMouseEvent(e, newtWindow); if(null!=newtListener) { @@ -96,6 +102,7 @@ public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseL } } + @Override public void mouseReleased(java.awt.event.MouseEvent e) { com.jogamp.newt.event.MouseEvent event = AWTNewtEventFactory.createMouseEvent(e, newtWindow); if(null!=newtListener) { @@ -105,6 +112,7 @@ public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseL } } + @Override public void mouseDragged(java.awt.event.MouseEvent e) { com.jogamp.newt.event.MouseEvent event = AWTNewtEventFactory.createMouseEvent(e, newtWindow); if(null!=newtListener) { @@ -114,6 +122,7 @@ public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseL } } + @Override public void mouseMoved(java.awt.event.MouseEvent e) { com.jogamp.newt.event.MouseEvent event = AWTNewtEventFactory.createMouseEvent(e, newtWindow); if(null!=newtListener) { @@ -123,6 +132,7 @@ public class AWTMouseAdapter extends AWTAdapter implements java.awt.event.MouseL } } + @Override public void mouseWheelMoved(java.awt.event.MouseWheelEvent e) { com.jogamp.newt.event.MouseEvent event = AWTNewtEventFactory.createMouseEvent(e, newtWindow); if(null!=newtListener) { diff --git a/src/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java b/src/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java index 8c9781b77..8a9a2a49f 100644 --- a/src/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java +++ b/src/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java @@ -50,6 +50,7 @@ public class AWTWindowAdapter super(downstream); } + @Override public AWTAdapter addTo(java.awt.Component awtComponent) { java.awt.Window win = getWindow(awtComponent); awtComponent.addComponentListener(this); @@ -74,6 +75,7 @@ public class AWTWindowAdapter return this; } + @Override public AWTAdapter removeFrom(java.awt.Component awtComponent) { awtComponent.removeFocusListener(this); awtComponent.removeComponentListener(this); @@ -94,6 +96,7 @@ public class AWTWindowAdapter return null; } + @Override public void focusGained(java.awt.event.FocusEvent e) { com.jogamp.newt.event.WindowEvent event = AWTNewtEventFactory.createWindowEvent(e, newtWindow); if(DEBUG_IMPLEMENTATION) { @@ -106,6 +109,7 @@ public class AWTWindowAdapter } } + @Override public void focusLost(java.awt.event.FocusEvent e) { com.jogamp.newt.event.WindowEvent event = AWTNewtEventFactory.createWindowEvent(e, newtWindow); if(DEBUG_IMPLEMENTATION) { @@ -118,6 +122,7 @@ public class AWTWindowAdapter } } + @Override public void componentResized(java.awt.event.ComponentEvent e) { com.jogamp.newt.event.WindowEvent event = AWTNewtEventFactory.createWindowEvent(e, newtWindow); if(DEBUG_IMPLEMENTATION) { @@ -142,6 +147,7 @@ public class AWTWindowAdapter } } + @Override public void componentMoved(java.awt.event.ComponentEvent e) { com.jogamp.newt.event.WindowEvent event = AWTNewtEventFactory.createWindowEvent(e, newtWindow); if(DEBUG_IMPLEMENTATION) { @@ -154,6 +160,7 @@ public class AWTWindowAdapter } } + @Override public void componentShown(java.awt.event.ComponentEvent e) { final java.awt.Component comp = e.getComponent(); if(DEBUG_IMPLEMENTATION) { @@ -171,6 +178,7 @@ public class AWTWindowAdapter }*/ } + @Override public void componentHidden(java.awt.event.ComponentEvent e) { final java.awt.Component comp = e.getComponent(); if(DEBUG_IMPLEMENTATION) { @@ -188,6 +196,7 @@ public class AWTWindowAdapter }*/ } + @Override public void windowActivated(java.awt.event.WindowEvent e) { com.jogamp.newt.event.WindowEvent event = AWTNewtEventFactory.createWindowEvent(e, newtWindow); if(null!=newtListener) { @@ -197,10 +206,13 @@ public class AWTWindowAdapter } } + @Override public void windowClosed(java.awt.event.WindowEvent e) { } + @Override public void windowClosing(java.awt.event.WindowEvent e) { } + @Override public void windowDeactivated(java.awt.event.WindowEvent e) { com.jogamp.newt.event.WindowEvent event = AWTNewtEventFactory.createWindowEvent(e, newtWindow); if(null!=newtListener) { @@ -210,13 +222,17 @@ public class AWTWindowAdapter } } + @Override public void windowDeiconified(java.awt.event.WindowEvent e) { } + @Override public void windowIconified(java.awt.event.WindowEvent e) { } + @Override public void windowOpened(java.awt.event.WindowEvent e) { } class WindowClosingListener implements java.awt.event.WindowListener { + @Override public void windowClosing(java.awt.event.WindowEvent e) { com.jogamp.newt.event.WindowEvent event = AWTNewtEventFactory.createWindowEvent(e, newtWindow); if(null!=newtListener) { @@ -225,6 +241,7 @@ public class AWTWindowAdapter enqueueEvent(true, event); } } + @Override public void windowClosed(java.awt.event.WindowEvent e) { com.jogamp.newt.event.WindowEvent event = AWTNewtEventFactory.createWindowEvent(e, newtWindow); if(null!=newtListener) { @@ -234,10 +251,15 @@ public class AWTWindowAdapter } } + @Override public void windowActivated(java.awt.event.WindowEvent e) { } + @Override public void windowDeactivated(java.awt.event.WindowEvent e) { } + @Override public void windowDeiconified(java.awt.event.WindowEvent e) { } + @Override public void windowIconified(java.awt.event.WindowEvent e) { } + @Override public void windowOpened(java.awt.event.WindowEvent e) { } } } diff --git a/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java b/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java index ac81e8469..8c1110ed3 100644 --- a/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java +++ b/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java @@ -117,6 +117,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind super(null, null, false /* always handle device lifecycle ourselves */); this.window = (WindowImpl) window; this.window.setWindowDestroyNotifyAction( new Runnable() { + @Override public void run() { defaultWindowDestroyNotifyOp(); } } ); @@ -549,6 +550,7 @@ public class GLWindow extends GLAutoDrawableBase implements GLAutoDrawable, Wind anim.stop(); // on anim thread, non-blocking } else { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { if( anim.isAnimating() && null != animThread ) { try { diff --git a/src/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java b/src/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java index a25b43777..e63a53524 100644 --- a/src/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java +++ b/src/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java @@ -99,6 +99,7 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { public static NewtCanvasSWT create(final Composite parent, final int style, final Window child) { final NewtCanvasSWT[] res = new NewtCanvasSWT[] { null }; parent.getDisplay().syncExec( new Runnable() { + @Override public void run() { res[0] = new NewtCanvasSWT( parent, style, child); } @@ -254,10 +255,12 @@ public class NewtCanvasSWT extends Canvas implements WindowClosingProtocol { /** @return this SWT Canvas NativeWindow representation, may be null in case it has not been realized. */ public NativeWindow getNativeWindow() { return nativeWindow; } + @Override public WindowClosingMode getDefaultCloseOperation() { return newtChildCloseOp; // TODO: implement ?! } + @Override public WindowClosingMode setDefaultCloseOperation(WindowClosingMode op) { return newtChildCloseOp = op; // TODO: implement ?! } diff --git a/src/newt/classes/jogamp/newt/Debug.java b/src/newt/classes/jogamp/newt/Debug.java index 46a354d4a..7ef2d7ffc 100644 --- a/src/newt/classes/jogamp/newt/Debug.java +++ b/src/newt/classes/jogamp/newt/Debug.java @@ -54,6 +54,7 @@ public class Debug extends PropertyAccess { static { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { PropertyAccess.addTrustedPrefix("newt."); return null; diff --git a/src/newt/classes/jogamp/newt/DisplayImpl.java b/src/newt/classes/jogamp/newt/DisplayImpl.java index c6cb706a4..0c29d772a 100644 --- a/src/newt/classes/jogamp/newt/DisplayImpl.java +++ b/src/newt/classes/jogamp/newt/DisplayImpl.java @@ -53,6 +53,7 @@ public abstract class DisplayImpl extends Display { static { NativeWindowFactory.addCustomShutdownHook(true /* head */, new Runnable() { + @Override public void run() { WindowImpl.shutdownAll(); ScreenImpl.shutdownAll(); @@ -147,6 +148,7 @@ public abstract class DisplayImpl extends Display { final DisplayImpl f_dpy = this; try { runOnEDTIfAvail(true, new Runnable() { + @Override public void run() { f_dpy.createNativeImpl(); }}); @@ -244,6 +246,7 @@ public abstract class DisplayImpl extends Display { task.run(); } + @Override public boolean validateEDTStopped() { if( 0==refCount && null == aDevice ) { final EDTUtil _edtUtil = edtUtil; @@ -277,6 +280,7 @@ public abstract class DisplayImpl extends Display { aDevice = null; refCount=0; stopEDT( edtUtil, new Runnable() { // blocks! + @Override public void run() { if ( null != f_aDevice ) { f_dpy.closeNativeImpl(f_aDevice); @@ -308,6 +312,7 @@ public abstract class DisplayImpl extends Display { d.aDevice = null; d.refCount=0; final Runnable closeNativeTask = new Runnable() { + @Override public void run() { if ( null != d.getGraphicsDevice() ) { d.closeNativeImpl(f_aDevice); @@ -329,6 +334,7 @@ public abstract class DisplayImpl extends Display { } } + @Override public synchronized final int addReference() { if(DEBUG) { System.err.println("Display.addReference() ("+DisplayImpl.getThreadName()+"): "+refCount+" -> "+(refCount+1)); @@ -343,6 +349,7 @@ public abstract class DisplayImpl extends Display { } + @Override public synchronized final int removeReference() { if(DEBUG) { System.err.println("Display.removeReference() ("+DisplayImpl.getThreadName()+"): "+refCount+" -> "+(refCount-1)); @@ -355,6 +362,7 @@ public abstract class DisplayImpl extends Display { return refCount; } + @Override public synchronized final int getReferenceCount() { return refCount; } @@ -450,6 +458,7 @@ public abstract class DisplayImpl extends Display { private volatile boolean haveEvents = false; final protected Runnable dispatchMessagesRunnable = new Runnable() { + @Override public void run() { DisplayImpl.this.dispatchMessages(); } }; diff --git a/src/newt/classes/jogamp/newt/NEWTJNILibLoader.java b/src/newt/classes/jogamp/newt/NEWTJNILibLoader.java index f1e212394..9364ada30 100644 --- a/src/newt/classes/jogamp/newt/NEWTJNILibLoader.java +++ b/src/newt/classes/jogamp/newt/NEWTJNILibLoader.java @@ -51,6 +51,7 @@ import com.jogamp.common.util.cache.TempJarCache; public class NEWTJNILibLoader extends JNILibLoaderBase { public static boolean loadNEWT() { return AccessController.doPrivileged(new PrivilegedAction() { + @Override public Boolean run() { Platform.initSingleton(); final String libName = "newt"; diff --git a/src/newt/classes/jogamp/newt/OffscreenWindow.java b/src/newt/classes/jogamp/newt/OffscreenWindow.java index eba844230..2478b1e5d 100644 --- a/src/newt/classes/jogamp/newt/OffscreenWindow.java +++ b/src/newt/classes/jogamp/newt/OffscreenWindow.java @@ -57,6 +57,7 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { static long nextWindowHandle = 0x100; // start here - a marker + @Override protected void createNativeImpl() { if(capsRequested.isOnscreen()) { throw new NativeWindowException("Capabilities is onscreen"); @@ -75,6 +76,7 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { visibleChanged(false, true); } + @Override protected void closeNativeImpl() { // nop } @@ -85,6 +87,7 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { surfaceHandle = 0; } + @Override public void setSurfaceHandle(long handle) { surfaceHandle = handle ; } @@ -94,6 +97,7 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { return surfaceHandle; } + @Override protected void requestFocusImpl(boolean reparented) { } @@ -113,6 +117,7 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { } + @Override protected boolean reconfigureWindowImpl(int x, int y, int width, int height, int flags) { sizeChanged(false, width, height, false); if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) ) { @@ -138,10 +143,12 @@ public class OffscreenWindow extends WindowImpl implements MutableSurface { return new Point(0,0); } + @Override protected Point getLocationOnScreenImpl(int x, int y) { return new Point(x,y); } + @Override protected void updateInsetsImpl(Insets insets) { // nop .. } diff --git a/src/newt/classes/jogamp/newt/WindowImpl.java b/src/newt/classes/jogamp/newt/WindowImpl.java index a0ef8816b..5102fd26d 100644 --- a/src/newt/classes/jogamp/newt/WindowImpl.java +++ b/src/newt/classes/jogamp/newt/WindowImpl.java @@ -207,6 +207,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer /** last mouse button click count */ short lastButtonClickCount = (short)0; + @Override final void clearButton() { super.clearButton(); lastButtonPressTime = 0; @@ -536,12 +537,14 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer private Object closingListenerLock = new Object(); private WindowClosingMode defaultCloseOperation = WindowClosingMode.DISPOSE_ON_CLOSE; + @Override public WindowClosingMode getDefaultCloseOperation() { synchronized (closingListenerLock) { return defaultCloseOperation; } } + @Override public WindowClosingMode setDefaultCloseOperation(WindowClosingMode op) { synchronized (closingListenerLock) { WindowClosingMode _op = defaultCloseOperation; @@ -956,6 +959,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer this.visible = visible; } + @Override public final void run() { setVisibleActionImpl(visible); } @@ -983,6 +987,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer this.disregardFS = disregardFS; } + @Override public final void run() { final RecursiveLock _lock = windowLock; _lock.lock(); @@ -1035,6 +1040,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } private class DestroyAction implements Runnable { + @Override public final void run() { boolean animatorPaused = false; if(null!=lifecycleHook) { @@ -1188,6 +1194,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer screen = newScreen; } + @Override public final void run() { boolean animatorPaused = false; if(null!=lifecycleHook) { @@ -1462,6 +1469,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } private class ReparentActionRecreate implements Runnable { + @Override public final void run() { final RecursiveLock _lock = windowLock; _lock.lock(); @@ -1514,6 +1522,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer this.undecorated = undecorated; } + @Override public final void run() { final RecursiveLock _lock = windowLock; _lock.lock(); @@ -1559,6 +1568,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer this.alwaysOnTop = alwaysOnTop; } + @Override public final void run() { final RecursiveLock _lock = windowLock; _lock.lock(); @@ -1834,6 +1844,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } private final Runnable requestFocusAction = new Runnable() { + @Override public final void run() { if(DEBUG_IMPLEMENTATION) { System.err.println("Window.RequestFocusAction: force 0 - ("+getThreadName()+"): "+hasFocus+" -> true - windowHandle "+toHexString(windowHandle)+" parentWindowHandle "+toHexString(parentWindowHandle)); @@ -1842,6 +1853,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } }; private final Runnable requestFocusActionForced = new Runnable() { + @Override public final void run() { if(DEBUG_IMPLEMENTATION) { System.err.println("Window.RequestFocusAction: force 1 - ("+getThreadName()+"): "+hasFocus+" -> true - windowHandle "+toHexString(windowHandle)+" parentWindowHandle "+toHexString(parentWindowHandle)); @@ -1921,6 +1933,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer this.y = y; } + @Override public final void run() { final RecursiveLock _lock = windowLock; _lock.lock(); @@ -1970,6 +1983,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } public boolean fsOn() { return fullscreen; } + @Override public final void run() { final RecursiveLock _lock = windowLock; _lock.lock(); @@ -2144,6 +2158,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer List _fullscreenMonitors = null; boolean _fullscreenUseMainMonitor = true; + @Override public void monitorModeChangeNotify(MonitorEvent me) { hadFocus = hasFocus(); if(DEBUG_IMPLEMENTATION) { @@ -2164,6 +2179,7 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer } } + @Override public void monitorModeChanged(MonitorEvent me, boolean success) { if(DEBUG_IMPLEMENTATION) { System.err.println("Window.monitorModeChanged: hadFocus "+hadFocus+", "+me+", success: "+success+" @ "+Thread.currentThread().getName()); diff --git a/src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java b/src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java index 325f17278..4bcb0fc82 100644 --- a/src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java +++ b/src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java @@ -51,16 +51,19 @@ public class AWTParentWindowAdapter extends AWTWindowAdapter implements java.awt this.downstreamParent = downstreamParent; } + @Override public AWTAdapter addTo(java.awt.Component awtComponent) { awtComponent.addHierarchyListener(this); return super.addTo(awtComponent); } + @Override public AWTAdapter removeFrom(java.awt.Component awtComponent) { awtComponent.removeHierarchyListener(this); return super.removeFrom(awtComponent); } + @Override public void focusGained(java.awt.event.FocusEvent e) { // forward focus to NEWT child final com.jogamp.newt.Window newtChild = getNewtWindow(); @@ -78,12 +81,14 @@ public class AWTParentWindowAdapter extends AWTWindowAdapter implements java.awt } } + @Override public void focusLost(java.awt.event.FocusEvent e) { if(DEBUG_IMPLEMENTATION) { System.err.println("AWT: focusLost: "+ e); } } + @Override public void componentResized(java.awt.event.ComponentEvent e) { // Need to resize the NEWT child window // the resized event will be send via the native window feedback. @@ -93,6 +98,7 @@ public class AWTParentWindowAdapter extends AWTWindowAdapter implements java.awt } final Window newtWindow = getNewtWindow(); newtWindow.runOnEDTIfAvail(false, new Runnable() { + @Override public void run() { int cw = comp.getWidth(); int ch = comp.getHeight(); @@ -109,6 +115,7 @@ public class AWTParentWindowAdapter extends AWTWindowAdapter implements java.awt }}); } + @Override public void componentMoved(java.awt.event.ComponentEvent e) { if(DEBUG_IMPLEMENTATION) { System.err.println("AWT: componentMoved: "+e); @@ -119,14 +126,17 @@ public class AWTParentWindowAdapter extends AWTWindowAdapter implements java.awt } } + @Override public void windowActivated(java.awt.event.WindowEvent e) { // no propagation to NEWT child window } + @Override public void windowDeactivated(java.awt.event.WindowEvent e) { // no propagation to NEWT child window } + @Override public void hierarchyChanged(java.awt.event.HierarchyEvent e) { if( null == getNewtEventListener() ) { long bits = e.getChangeFlags(); @@ -137,6 +147,7 @@ public class AWTParentWindowAdapter extends AWTWindowAdapter implements java.awt System.err.println("AWT: hierarchyChanged SHOWING_CHANGED: showing "+showing+", "+changed+", source "+e.getComponent()); } getNewtWindow().runOnEDTIfAvail(false, new Runnable() { + @Override public void run() { if(getNewtWindow().isVisible() != showing) { getNewtWindow().setVisible(showing); diff --git a/src/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java b/src/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java index 14cc9c69d..f7722c91c 100644 --- a/src/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java +++ b/src/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java @@ -107,6 +107,7 @@ public class AWTCanvas extends Canvas { return res; } + @Override public void addNotify() { /** @@ -160,6 +161,7 @@ public class AWTCanvas extends Canvas { return null != jawtWindow ? jawtWindow.isOffscreenLayerSurfaceEnabled() : false; } + @Override public void removeNotify() { try { dispose(); @@ -195,6 +197,7 @@ public class AWTCanvas extends Canvas { * Overridden to choose a GraphicsConfiguration on a parent container's * GraphicsDevice because both devices */ + @Override public GraphicsConfiguration getGraphicsConfiguration() { /* * Workaround for problems with Xinerama and java.awt.Component.checkGD @@ -324,6 +327,7 @@ public class AWTCanvas extends Canvas { if (!disableBackgroundEraseInitialized) { try { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Object run() { try { Class clazz = getToolkit().getClass(); diff --git a/src/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java b/src/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java index bddb43b30..4a7193306 100644 --- a/src/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java +++ b/src/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java @@ -218,6 +218,7 @@ public class AWTEDTUtil implements EDTUtil { } try { AWTEDTExecutor.singleton.invoke(true, new Runnable() { + @Override public void run() { } }); } catch (Exception e) { } diff --git a/src/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java index 9e716d544..d9a4a48e5 100644 --- a/src/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/awt/DisplayDriver.java @@ -46,6 +46,7 @@ public class DisplayDriver extends DisplayImpl { public DisplayDriver() { } + @Override protected void createNativeImpl() { aDevice = AWTGraphicsDevice.createDefault(); } @@ -54,6 +55,7 @@ public class DisplayDriver extends DisplayImpl { aDevice = d; } + @Override protected EDTUtil createEDTUtil() { final EDTUtil def; if(NewtFactory.useEDT()) { @@ -67,10 +69,12 @@ public class DisplayDriver extends DisplayImpl { return def; } + @Override protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { aDevice.close(); } + @Override protected void dispatchMessagesNative() { /* nop */ } } diff --git a/src/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java index a2430e2bb..a4356707e 100644 --- a/src/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java @@ -49,6 +49,7 @@ public class ScreenDriver extends ScreenImpl { public ScreenDriver() { } + @Override protected void createNativeImpl() { aScreen = new AWTGraphicsScreen((AWTGraphicsDevice)display.getGraphicsDevice()); } @@ -65,8 +66,10 @@ public class ScreenDriver extends ScreenImpl { super.updateVirtualScreenOriginAndSize(); } + @Override protected void closeNativeImpl() { } + @Override protected int validateScreenIndex(int idx) { return idx; // pass through ... } diff --git a/src/newt/classes/jogamp/newt/driver/awt/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/awt/WindowDriver.java index db71695b7..9854524d9 100644 --- a/src/newt/classes/jogamp/newt/driver/awt/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/awt/WindowDriver.java @@ -86,6 +86,7 @@ public class WindowDriver extends WindowImpl { private Frame awtFrame = null; private AWTCanvas awtCanvas; + @Override protected void requestFocusImpl(boolean reparented) { awtContainer.requestFocus(); } @@ -97,6 +98,7 @@ public class WindowDriver extends WindowImpl { } } + @Override protected void createNativeImpl() { if(0!=getParentWindowHandle()) { throw new RuntimeException("Window parenting not supported in AWT, use AWTWindow(Frame) cstr for wrapping instead"); @@ -140,6 +142,7 @@ public class WindowDriver extends WindowImpl { } } + @Override protected void closeNativeImpl() { setWindowHandle(0); if(null!=awtContainer) { @@ -176,6 +179,7 @@ public class WindowDriver extends WindowImpl { return res; } + @Override protected void updateInsetsImpl(javax.media.nativewindow.util.Insets insets) { final Insets contInsets = awtContainer.getInsets(); insets.set(contInsets.left, contInsets.right, contInsets.top, contInsets.bottom); @@ -214,6 +218,7 @@ public class WindowDriver extends WindowImpl { awtContainer.validate(); } + @Override protected boolean reconfigureWindowImpl(int x, int y, int width, int height, int flags) { if(DEBUG_IMPLEMENTATION) { System.err.println("AWTWindow reconfig: "+x+"/"+y+" "+width+"x"+height+", "+ @@ -266,6 +271,7 @@ public class WindowDriver extends WindowImpl { return true; } + @Override protected Point getLocationOnScreenImpl(int x, int y) { java.awt.Point ap = awtCanvas.getLocationOnScreen(); ap.translate(x, y); diff --git a/src/newt/classes/jogamp/newt/driver/bcm/egl/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/bcm/egl/DisplayDriver.java index 1b73cb381..9da671d37 100644 --- a/src/newt/classes/jogamp/newt/driver/bcm/egl/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/bcm/egl/DisplayDriver.java @@ -61,6 +61,7 @@ public class DisplayDriver extends jogamp.newt.DisplayImpl { public DisplayDriver() { } + @Override protected void createNativeImpl() { final long handle = CreateDisplay(ScreenDriver.fixedWidth, ScreenDriver.fixedHeight); if (handle == EGL.EGL_NO_DISPLAY) { @@ -69,6 +70,7 @@ public class DisplayDriver extends jogamp.newt.DisplayImpl { aDevice = new EGLGraphicsDevice(EGL.EGL_DEFAULT_DISPLAY, handle, AbstractGraphicsDevice.DEFAULT_CONNECTION, AbstractGraphicsDevice.DEFAULT_UNIT, null); } + @Override protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { if (aDevice.getHandle() != EGL.EGL_NO_DISPLAY) { DestroyDisplay(aDevice.getHandle()); @@ -76,6 +78,7 @@ public class DisplayDriver extends jogamp.newt.DisplayImpl { aDevice.close(); } + @Override protected void dispatchMessagesNative() { // n/a .. DispatchMessages(); } diff --git a/src/newt/classes/jogamp/newt/driver/bcm/egl/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/bcm/egl/ScreenDriver.java index 269574adc..d3231557f 100644 --- a/src/newt/classes/jogamp/newt/driver/bcm/egl/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/bcm/egl/ScreenDriver.java @@ -53,12 +53,15 @@ public class ScreenDriver extends jogamp.newt.ScreenImpl { public ScreenDriver() { } + @Override protected void createNativeImpl() { aScreen = new DefaultGraphicsScreen(getDisplay().getGraphicsDevice(), screen_idx); } + @Override protected void closeNativeImpl() { } + @Override protected int validateScreenIndex(int idx) { return 0; // only one screen available } @@ -100,6 +103,7 @@ public class ScreenDriver extends jogamp.newt.ScreenImpl { return false; } + @Override protected void calcVirtualScreenOriginAndSize(Rectangle vOriginSize) { vOriginSize.set(0, 0, fixedWidth, fixedHeight); // FIXME } diff --git a/src/newt/classes/jogamp/newt/driver/bcm/egl/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/bcm/egl/WindowDriver.java index bed0520ff..39f168e0f 100644 --- a/src/newt/classes/jogamp/newt/driver/bcm/egl/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/bcm/egl/WindowDriver.java @@ -52,6 +52,7 @@ public class WindowDriver extends jogamp.newt.WindowImpl { public WindowDriver() { } + @Override protected void createNativeImpl() { if(0!=getParentWindowHandle()) { throw new RuntimeException("Window parenting not supported (yet)"); @@ -72,12 +73,14 @@ public class WindowDriver extends jogamp.newt.WindowImpl { } } + @Override protected void closeNativeImpl() { if(0!=windowHandleClose) { CloseWindow(getDisplayHandle(), windowHandleClose); } } + @Override protected void requestFocusImpl(boolean reparented) { } protected void setSizeImpl(int width, int height) { @@ -89,6 +92,7 @@ public class WindowDriver extends jogamp.newt.WindowImpl { } } + @Override protected boolean reconfigureWindowImpl(int x, int y, int width, int height, int flags) { if(0!=getWindowHandle()) { if(0 != ( FLAG_CHANGE_FULLSCREEN & flags)) { @@ -117,10 +121,12 @@ public class WindowDriver extends jogamp.newt.WindowImpl { return true; } + @Override protected Point getLocationOnScreenImpl(int x, int y) { return new Point(x,y); } + @Override protected void updateInsetsImpl(Insets insets) { // nop .. } diff --git a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/DisplayDriver.java index 52c92a5da..d8d93f123 100644 --- a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/DisplayDriver.java @@ -59,15 +59,18 @@ public class DisplayDriver extends DisplayImpl { public DisplayDriver() { } + @Override protected void createNativeImpl() { // FIXME: map name to EGL_*_DISPLAY aDevice = EGLDisplayUtil.eglCreateEGLGraphicsDevice(EGL.EGL_DEFAULT_DISPLAY, AbstractGraphicsDevice.DEFAULT_CONNECTION, AbstractGraphicsDevice.DEFAULT_UNIT); } + @Override protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { aDevice.close(); } + @Override protected void dispatchMessagesNative() { DispatchMessages(); } diff --git a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java index 5a1917419..dc2a8459a 100644 --- a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java @@ -45,13 +45,16 @@ public class ScreenDriver extends ScreenImpl { public ScreenDriver() { } + @Override protected void createNativeImpl() { aScreen = new DefaultGraphicsScreen(getDisplay().getGraphicsDevice(), screen_idx); initNative(); } + @Override protected void closeNativeImpl() { } + @Override protected int validateScreenIndex(int idx) { return 0; // only one screen available } diff --git a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java index 560e49e96..4d4977776 100644 --- a/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java @@ -55,6 +55,7 @@ public class WindowDriver extends WindowImpl { public WindowDriver() { } + @Override protected void createNativeImpl() { if(0!=getParentWindowHandle()) { throw new RuntimeException("Window parenting not supported (yet)"); @@ -92,6 +93,7 @@ public class WindowDriver extends WindowImpl { focusChanged(false, true); } + @Override protected void closeNativeImpl() { final EGLGraphicsDevice eglDevice = (EGLGraphicsDevice) getGraphicsConfiguration().getScreen().getDevice(); @@ -106,10 +108,12 @@ public class WindowDriver extends WindowImpl { eglDevice.close(); } + @Override protected void requestFocusImpl(boolean reparented) { focusChanged(false, true); } + @Override protected boolean reconfigureWindowImpl(int x, int y, int width, int height, int flags) { if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) ) { setVisible0(nativeWindowHandle, 0 != ( FLAG_IS_VISIBLE & flags)); @@ -143,10 +147,12 @@ public class WindowDriver extends WindowImpl { return true; } + @Override protected Point getLocationOnScreenImpl(int x, int y) { return new Point(x,y); } + @Override protected void updateInsetsImpl(Insets insets) { // nop .. } diff --git a/src/newt/classes/jogamp/newt/driver/intel/gdl/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/intel/gdl/DisplayDriver.java index 4cb566bc2..cc435540f 100644 --- a/src/newt/classes/jogamp/newt/driver/intel/gdl/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/intel/gdl/DisplayDriver.java @@ -59,6 +59,7 @@ public class DisplayDriver extends jogamp.newt.DisplayImpl { public DisplayDriver() { } + @Override protected void createNativeImpl() { synchronized(DisplayDriver.class) { if(0==initCounter) { @@ -72,6 +73,7 @@ public class DisplayDriver extends jogamp.newt.DisplayImpl { aDevice = new DefaultGraphicsDevice(NativeWindowFactory.TYPE_DEFAULT, AbstractGraphicsDevice.DEFAULT_CONNECTION, AbstractGraphicsDevice.DEFAULT_UNIT, displayHandle); } + @Override protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { if(0==displayHandle) { throw new NativeWindowException("displayHandle null; initCnt "+initCounter); @@ -87,6 +89,7 @@ public class DisplayDriver extends jogamp.newt.DisplayImpl { aDevice.close(); } + @Override protected void dispatchMessagesNative() { if(0!=displayHandle) { DispatchMessages(displayHandle, focusedWindow); diff --git a/src/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java index b5202aaf9..44802e348 100644 --- a/src/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java @@ -53,14 +53,17 @@ public class ScreenDriver extends jogamp.newt.ScreenImpl { public ScreenDriver() { } + @Override protected void createNativeImpl() { AbstractGraphicsDevice adevice = getDisplay().getGraphicsDevice(); GetScreenInfo(adevice.getHandle(), screen_idx); aScreen = new DefaultGraphicsScreen(adevice, screen_idx); } + @Override protected void closeNativeImpl() { } + @Override protected int validateScreenIndex(int idx) { return 0; // only one screen available } @@ -102,6 +105,7 @@ public class ScreenDriver extends jogamp.newt.ScreenImpl { return false; } + @Override protected void calcVirtualScreenOriginAndSize(Rectangle vOriginSize) { vOriginSize.set(0, 0, cachedWidth, cachedHeight); } diff --git a/src/newt/classes/jogamp/newt/driver/intel/gdl/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/intel/gdl/WindowDriver.java index 80821d4da..0e96c65d0 100644 --- a/src/newt/classes/jogamp/newt/driver/intel/gdl/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/intel/gdl/WindowDriver.java @@ -48,6 +48,7 @@ public class WindowDriver extends jogamp.newt.WindowImpl { static long nextWindowHandle = 1; + @Override protected void createNativeImpl() { if(0!=getParentWindowHandle()) { throw new NativeWindowException("GDL Window does not support window parenting"); @@ -72,6 +73,7 @@ public class WindowDriver extends jogamp.newt.WindowImpl { } } + @Override protected void closeNativeImpl() { if(0!=surfaceHandle) { synchronized(WindowDriver.class) { @@ -82,6 +84,7 @@ public class WindowDriver extends jogamp.newt.WindowImpl { } } + @Override protected boolean reconfigureWindowImpl(int x, int y, int width, int height, int flags) { ScreenDriver screen = (ScreenDriver) getScreen(); @@ -112,6 +115,7 @@ public class WindowDriver extends jogamp.newt.WindowImpl { return true; } + @Override protected void requestFocusImpl(boolean reparented) { ((DisplayDriver)getScreen().getDisplay()).setFocus(this); } @@ -121,10 +125,12 @@ public class WindowDriver extends jogamp.newt.WindowImpl { return surfaceHandle; } + @Override protected Point getLocationOnScreenImpl(int x, int y) { return new Point(x,y); } + @Override protected void updateInsetsImpl(Insets insets) { // nop .. } diff --git a/src/newt/classes/jogamp/newt/driver/kd/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/kd/DisplayDriver.java index 1b92ca586..929688b11 100644 --- a/src/newt/classes/jogamp/newt/driver/kd/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/kd/DisplayDriver.java @@ -59,15 +59,18 @@ public class DisplayDriver extends DisplayImpl { public DisplayDriver() { } + @Override protected void createNativeImpl() { // FIXME: map name to EGL_*_DISPLAY aDevice = EGLDisplayUtil.eglCreateEGLGraphicsDevice(EGL.EGL_DEFAULT_DISPLAY, AbstractGraphicsDevice.DEFAULT_CONNECTION, AbstractGraphicsDevice.DEFAULT_UNIT); } + @Override protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { aDevice.close(); } + @Override protected void dispatchMessagesNative() { DispatchMessages(); } diff --git a/src/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java index 17cc5dd2f..9ebe2629a 100644 --- a/src/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java @@ -51,12 +51,15 @@ public class ScreenDriver extends ScreenImpl { public ScreenDriver() { } + @Override protected void createNativeImpl() { aScreen = new DefaultGraphicsScreen(getDisplay().getGraphicsDevice(), screen_idx); } + @Override protected void closeNativeImpl() { } + @Override protected int validateScreenIndex(int idx) { return 0; // only one screen available } @@ -98,6 +101,7 @@ public class ScreenDriver extends ScreenImpl { return false; } + @Override protected void calcVirtualScreenOriginAndSize(Rectangle vOriginSize) { vOriginSize.set(0, 0, cachedWidth, cachedHeight); } diff --git a/src/newt/classes/jogamp/newt/driver/kd/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/kd/WindowDriver.java index d30d4f025..158e6ab2f 100644 --- a/src/newt/classes/jogamp/newt/driver/kd/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/kd/WindowDriver.java @@ -56,6 +56,7 @@ public class WindowDriver extends WindowImpl { public WindowDriver() { } + @Override protected void createNativeImpl() { if(0!=getParentWindowHandle()) { throw new RuntimeException("Window parenting not supported (yet)"); @@ -83,6 +84,7 @@ public class WindowDriver extends WindowImpl { windowHandleClose = eglWindowHandle; } + @Override protected void closeNativeImpl() { if(0!=windowHandleClose) { CloseWindow(windowHandleClose, windowUserData); @@ -90,8 +92,10 @@ public class WindowDriver extends WindowImpl { } } + @Override protected void requestFocusImpl(boolean reparented) { } + @Override protected boolean reconfigureWindowImpl(int x, int y, int width, int height, int flags) { if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) ) { setVisible0(eglWindowHandle, 0 != ( FLAG_IS_VISIBLE & flags)); @@ -125,10 +129,12 @@ public class WindowDriver extends WindowImpl { return true; } + @Override protected Point getLocationOnScreenImpl(int x, int y) { return new Point(x,y); } + @Override protected void updateInsetsImpl(Insets insets) { // nop .. } diff --git a/src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java index 2dbdfdce7..c44685dc8 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java @@ -64,14 +64,17 @@ public class DisplayDriver extends DisplayImpl { public DisplayDriver() { } + @Override protected void dispatchMessagesNative() { // nop } + @Override protected void createNativeImpl() { aDevice = new MacOSXGraphicsDevice(AbstractGraphicsDevice.DEFAULT_UNIT); } + @Override protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { aDevice.close(); } diff --git a/src/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java index 5d3b7287b..4f3cc691b 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/ScreenDriver.java @@ -52,10 +52,12 @@ public class ScreenDriver extends ScreenImpl { public ScreenDriver() { } + @Override protected void createNativeImpl() { aScreen = new DefaultGraphicsScreen(getDisplay().getGraphicsDevice(), screen_idx); } + @Override protected void closeNativeImpl() { } private MonitorMode getMonitorModeImpl(MonitorModeProps.Cache cache, int crt_idx, int mode_idx) { @@ -114,6 +116,7 @@ public class ScreenDriver extends ScreenImpl { return setMonitorMode0(monitor.getId(), mode.getId(), mode.getRotation()); } + @Override protected int validateScreenIndex(int idx) { return 0; // big-desktop w/ multiple monitor attached, only one screen available } diff --git a/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java index f36d32772..7db3e2aab 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java @@ -87,6 +87,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl isOffscreenInstance = false; if (0 != handle) { OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { close0( handle ); } } ); @@ -144,6 +145,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl if (isNativeValid()) { if (0 != sscSurfaceHandle) { OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { orderOut0( 0 != getParentWindowHandle() ? getParentWindowHandle() : getWindowHandle() ); } } ); @@ -160,6 +162,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl @Override protected void setTitleImpl(final String title) { OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { setTitle0(getWindowHandle(), title); } } ); @@ -172,6 +175,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl } if(!isOffscreenInstance) { OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { requestFocus0(getWindowHandle(), force); } } ); @@ -187,6 +191,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl } if(!isOffscreenInstance) { OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { resignFocus0(getWindowHandle()); } } ); @@ -209,6 +214,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl System.err.println("MacWindow: updatePosition() parent["+useParent+" "+pX+"/"+pY+"] "+x+"/"+y+" -> "+x+"/"+y+" rel-client-pos, "+p0S+" screen-client-pos"); } OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { setWindowClientTopLeftPoint0(handle, p0S.getX(), p0S.getY(), isVisible()); } } ); @@ -230,6 +236,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl System.err.println("MacWindow: sizeChanged() parent["+useParent+" "+x+"/"+y+"] "+getX()+"/"+getY()+" "+newWidth+"x"+newHeight+" -> "+p0S+" screen-client-pos"); } OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { setWindowClientTopLeftPoint0(getWindowHandle(), p0S.getX(), p0S.getY(), isVisible()); } } ); @@ -275,6 +282,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) && !setVisible ) { if ( !isOffscreenInstance ) { OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { orderOut0(getWindowHandle()); visibleChanged(true, false); @@ -297,6 +305,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl if( width>0 && height>0 ) { if( !isOffscreenInstance ) { OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { setWindowClientTopLeftPointAndSize0(getWindowHandle(), pClientLevelOnSreen.getX(), pClientLevelOnSreen.getY(), width, height, setVisible); } } ); @@ -308,6 +317,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl if( 0 != ( FLAG_CHANGE_VISIBILITY & flags) && setVisible ) { if( !isOffscreenInstance ) { OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { orderFront0(getWindowHandle()); visibleChanged(true, true); @@ -476,6 +486,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl throw new NativeWindowException("Internal Error - create w/ window, but no Newt NSView"); } OSXUtil.RunOnMainThread(false, new Runnable() { + @Override public void run() { changeContentView0(parentWinHandle, preWinHandle, 0); close0( preWinHandle ); @@ -502,6 +513,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl final boolean isOpaque = getGraphicsConfiguration().getChosenCapabilities().isBackgroundOpaque() && !offscreenInstance; // Blocking initialization on main-thread! OSXUtil.RunOnMainThread(true, new Runnable() { + @Override public void run() { initWindow0( parentWinHandle, newWin, pS.getX(), pS.getY(), width, height, isOpaque, fullscreen, visible && !offscreenInstance, surfaceHandle); diff --git a/src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java index d3c7416cc..d8ff7ecb5 100644 --- a/src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java @@ -71,16 +71,19 @@ public class DisplayDriver extends DisplayImpl { public DisplayDriver() { } + @Override protected void createNativeImpl() { sharedClass = sharedClassFactory.getSharedClass(); aDevice = new WindowsGraphicsDevice(AbstractGraphicsDevice.DEFAULT_UNIT); } + @Override protected void closeNativeImpl(AbstractGraphicsDevice aDevice) { sharedClassFactory.releaseSharedClass(); aDevice.close(); } + @Override protected void dispatchMessagesNative() { DispatchMessages0(); } diff --git a/src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java index 30405aa05..6e8ac3efa 100644 --- a/src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java @@ -127,6 +127,7 @@ public class WindowDriver extends WindowImpl { return false; } + @Override protected void createNativeImpl() { final ScreenDriver screen = (ScreenDriver) getScreen(); final DisplayDriver display = (DisplayDriver) screen.getDisplay(); @@ -156,6 +157,7 @@ public class WindowDriver extends WindowImpl { } } + @Override protected void closeNativeImpl() { if(windowHandleClose != 0) { if (hdc != 0) { @@ -183,6 +185,7 @@ public class WindowDriver extends WindowImpl { hdc_old = 0; } + @Override protected boolean reconfigureWindowImpl(int x, int y, int width, int height, int flags) { if(DEBUG_IMPLEMENTATION) { System.err.println("WindowsWindow reconfig: "+x+"/"+y+" "+width+"x"+height+", "+ @@ -210,6 +213,7 @@ public class WindowDriver extends WindowImpl { return true; } + @Override protected void requestFocusImpl(boolean force) { requestFocus0(getWindowHandle(), force); } @@ -224,6 +228,7 @@ public class WindowDriver extends WindowImpl { final boolean[] res = new boolean[] { false }; this.runOnEDTIfAvail(true, new Runnable() { + @Override public void run() { res[0] = setPointerVisible0(getWindowHandle(), pointerVisible); } @@ -236,6 +241,7 @@ public class WindowDriver extends WindowImpl { final Boolean[] res = new Boolean[] { Boolean.FALSE }; this.runOnEDTIfAvail(true, new Runnable() { + @Override public void run() { final Point p0 = getLocationOnScreenImpl(0, 0); res[0] = Boolean.valueOf(confinePointer0(getWindowHandle(), confine, @@ -248,6 +254,7 @@ public class WindowDriver extends WindowImpl { @Override protected void warpPointerImpl(final int x, final int y) { this.runOnEDTIfAvail(true, new Runnable() { + @Override public void run() { final Point sPos = getLocationOnScreenImpl(x, y); warpPointer0(getWindowHandle(), sPos.getX(), sPos.getY()); @@ -256,10 +263,12 @@ public class WindowDriver extends WindowImpl { return; } + @Override protected Point getLocationOnScreenImpl(int x, int y) { return GDIUtil.GetRelativeLocation( getWindowHandle(), 0 /*root win*/, x, y); } + @Override protected void updateInsetsImpl(Insets insets) { // nop - using event driven insetsChange(..) } diff --git a/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java b/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java index aa8067520..504839797 100644 --- a/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java +++ b/src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java @@ -63,6 +63,7 @@ public class DisplayDriver extends DisplayImpl { public DisplayDriver() { } + @Override public String validateDisplayName(String name, long handle) { return X11Util.validateDisplayName(name, handle); } @@ -72,6 +73,7 @@ public class DisplayDriver extends DisplayImpl { * * We use a private non-shared X11 Display instance for EDT window operations and one for exposed animation, eg. OpenGL. */ + @Override protected void createNativeImpl() { X11Util.setX11ErrorHandler(true, DEBUG ? false : true); // make sure X11 error handler is set long handle = X11Util.openDisplay(name); diff --git a/src/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java b/src/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java index 7f75e03f0..bef7f60ec 100644 --- a/src/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java +++ b/src/newt/classes/jogamp/newt/driver/x11/ScreenDriver.java @@ -74,6 +74,7 @@ public class ScreenDriver extends ScreenImpl { protected void createNativeImpl() { // validate screen index Long handle = runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public Long run(long dpy) { return new Long(GetScreen0(dpy, screen_idx)); } } ); @@ -180,6 +181,7 @@ public class ScreenDriver extends ScreenImpl { if( null == rAndR ) { return null; } return runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public MonitorMode run(long dpy) { final int[] currentModeProps = rAndR.getCurrentMonitorModeProps(dpy, ScreenDriver.this, monitor.getId()); return MonitorModeProps.streamInMonitorMode(null, null, currentModeProps, 0); @@ -192,6 +194,7 @@ public class ScreenDriver extends ScreenImpl { final long t0 = System.currentTimeMillis(); boolean done = runWithOptTempDisplayHandle( new DisplayImpl.DisplayRunnable() { + @Override public Boolean run(long dpy) { return Boolean.valueOf( rAndR.setCurrentMonitorMode(dpy, ScreenDriver.this, monitor, mode) ); } @@ -205,6 +208,7 @@ public class ScreenDriver extends ScreenImpl { } private DisplayImpl.DisplayRunnable xineramaEnabledQueryWithTemp = new DisplayImpl.DisplayRunnable() { + @Override public Boolean run(long dpy) { return new Boolean(X11Util.XineramaIsEnabled(dpy)); } }; @@ -236,6 +240,7 @@ public class ScreenDriver extends ScreenImpl { } } ); } else */ { runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public Object run(long dpy) { vOriginSize.set(0, 0, getWidth0(dpy, screen_idx), getHeight0(dpy, screen_idx)); return null; diff --git a/src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java index 02f80c0c3..5e1f7a6ed 100644 --- a/src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java @@ -176,6 +176,7 @@ public class WindowDriver extends WindowImpl { final int fflags = flags; final DisplayDriver display = (DisplayDriver) getScreen().getDisplay(); runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public Object run(long dpy) { reconfigureWindow0( dpy, getScreenIndex(), getParentWindowHandle(), getWindowHandle(), display.getWindowDeleteAtom(), @@ -202,6 +203,7 @@ public class WindowDriver extends WindowImpl { } final DisplayDriver display = (DisplayDriver) getScreen().getDisplay(); runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public Object run(long dpy) { reconfigureWindow0( dpy, getScreenIndex(), getParentWindowHandle(), getWindowHandle(), display.getWindowDeleteAtom(), @@ -223,6 +225,7 @@ public class WindowDriver extends WindowImpl { @Override protected void requestFocusImpl(final boolean force) { runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public Object run(long dpy) { requestFocus0(dpy, getWindowHandle(), force); return null; @@ -233,6 +236,7 @@ public class WindowDriver extends WindowImpl { @Override protected void setTitleImpl(final String title) { runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public Object run(long dpy) { setTitle0(dpy, getWindowHandle(), title); return null; @@ -243,6 +247,7 @@ public class WindowDriver extends WindowImpl { @Override protected boolean setPointerVisibleImpl(final boolean pointerVisible) { return runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public Boolean run(long dpy) { return Boolean.valueOf(setPointerVisible0(dpy, getWindowHandle(), pointerVisible)); } @@ -252,6 +257,7 @@ public class WindowDriver extends WindowImpl { @Override protected boolean confinePointerImpl(final boolean confine) { return runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public Boolean run(long dpy) { return Boolean.valueOf(confinePointer0(dpy, getWindowHandle(), confine)); } @@ -261,6 +267,7 @@ public class WindowDriver extends WindowImpl { @Override protected void warpPointerImpl(final int x, final int y) { runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public Object run(long dpy) { warpPointer0(dpy, getWindowHandle(), x, y); return null; @@ -271,6 +278,7 @@ public class WindowDriver extends WindowImpl { @Override protected Point getLocationOnScreenImpl(final int x, final int y) { return runWithLockedDisplayDevice( new DisplayImpl.DisplayRunnable() { + @Override public Point run(long dpy) { return X11Lib.GetRelativeLocation(dpy, getScreenIndex(), getWindowHandle(), 0 /*root win*/, x, y); } diff --git a/src/newt/classes/jogamp/newt/swt/SWTEDTUtil.java b/src/newt/classes/jogamp/newt/swt/SWTEDTUtil.java index 08eacdee5..db89690f4 100644 --- a/src/newt/classes/jogamp/newt/swt/SWTEDTUtil.java +++ b/src/newt/classes/jogamp/newt/swt/SWTEDTUtil.java @@ -54,6 +54,7 @@ public class SWTEDTUtil implements EDTUtil { this.threadGroup = Thread.currentThread().getThreadGroup(); this.name=Thread.currentThread().getName()+"-SWTDisplay-"+newtDisplay.getFQName()+"-EDT-"; this.dispatchMessages = new Runnable() { + @Override public void run() { ((jogamp.newt.DisplayImpl) newtDisplay).dispatchMessages(); } }; @@ -252,6 +253,7 @@ public class SWTEDTUtil implements EDTUtil { } try { swtDisplay.syncExec(new Runnable() { + @Override public void run() { } }); } catch (Exception e) { } -- cgit v1.2.3