diff --git a/.classpath b/.classpath index 37991c32..c17f2bb6 100644 --- a/.classpath +++ b/.classpath @@ -28,5 +28,6 @@ + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index d3c73b5f..fd1e7846 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -2,12 +2,11 @@ eclipse.preferences.version=1 encoding//src/org/nevec/rjm/BigSurd.java=UTF-8 encoding//src/org/nevec/rjm/BigSurdVec.java=UTF-8 encoding//src/org/warp/picalculator/Main.java=UTF-8 -encoding//src/org/warp/picalculator/device/graphicengine=UTF-8 -encoding//src/org/warp/picalculator/device/graphicengine/Display.java=UTF-8 +encoding//src/org/warp/picalculator/gui/graphicengine/cpu/CPUDisplay.java=UTF-8 +encoding//src/org/warp/picalculator/gui/screens/MathInputScreen.java=UTF-8 encoding//src/org/warp/picalculator/math/MathematicalSymbols.java=UTF-8 encoding//src/org/warp/picalculator/math/functions/Expression.java=UTF-8 encoding//src/org/warp/picalculator/math/functions/Root.java=UTF-8 encoding//src/org/warp/picalculator/math/functions/RootSquare.java=UTF-8 encoding//src/org/warp/picalculator/math/functions/Sum.java=UTF-8 -encoding//src/org/warp/picalculator/screens/MathInputScreen.java=UTF-8 encoding/=UTF-8 diff --git a/libs/jogamp-all-platforms/aggregated.artifact.properties.sorted b/libs/jogamp-all-platforms/aggregated.artifact.properties.sorted new file mode 100644 index 00000000..ec155107 --- /dev/null +++ b/libs/jogamp-all-platforms/aggregated.artifact.properties.sorted @@ -0,0 +1,8 @@ +gluegen.build.number=900 +joal.build.number=626 +joal-demos.build.number=511 +jocl.build.number=1106 +jocl-demos.build.number=1000 +jogl.build.number=1469 +jogl-demos.build.number=471 +jogl-demos.build.number=78 diff --git a/libs/jogamp-all-platforms/all.artifact.properties.sorted b/libs/jogamp-all-platforms/all.artifact.properties.sorted new file mode 100644 index 00000000..add94178 --- /dev/null +++ b/libs/jogamp-all-platforms/all.artifact.properties.sorted @@ -0,0 +1,32 @@ +gluegen.build.branch=origin/master +gluegen.build.commit=cc1e9bc698b7f11097c1e114027e53121552f280 +gluegen.build.id=900 +gluegen.build.number=900 +gluegen.build.version=2.3.2 +joal.build.branch=origin/master +joal.build.commit=1dace826e127704c4058c684c993816581c31094 +joal.build.id=626 +joal.build.number=626 +joal.build.version=2.3.2 +joal-demos.build.branch=origin/master +joal-demos.build.commit=9a86b8e9a8834d2727865eb3f4a2a4e89e54c3fc +joal-demos.build.id=511 +joal-demos.build.number=511 +jocl.build.branch=origin/master +jocl.build.commit=00de3f241f2c6132e1d548ae3f19c574e62275d6 +jocl.build.id=1106 +jocl.build.number=1106 +jocl.build.version=2.3.2 +jocl-demos.build.branch=origin/master +jocl-demos.build.commit=056e8808a5ab3076c5a48c75b1ec7f811122caf9 +jocl-demos.build.id=1000 +jocl-demos.build.number=1000 +jogl.build.branch=origin/master +jogl.build.commit=e794fc40ba723f2fca4ac892e873975fb393e007 +jogl.build.id=1469 +jogl.build.number=1469 +jogl.build.version=2.3.2 +jogl-demos.build.branch=origin/master +jogl-demos.build.commit=7a4f9fe683cabff00e941fd3cd8a257822e21923 +jogl-demos.build.id=471 +jogl-demos.build.number=471 diff --git a/libs/jogamp-all-platforms/apk/gluegen-rt-android-aarch64.apk b/libs/jogamp-all-platforms/apk/gluegen-rt-android-aarch64.apk new file mode 100644 index 00000000..a65cb213 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/gluegen-rt-android-aarch64.apk differ diff --git a/libs/jogamp-all-platforms/apk/gluegen-rt-android-armv6.apk b/libs/jogamp-all-platforms/apk/gluegen-rt-android-armv6.apk new file mode 100644 index 00000000..d5eda088 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/gluegen-rt-android-armv6.apk differ diff --git a/libs/jogamp-all-platforms/apk/joal-android-aarch64.apk b/libs/jogamp-all-platforms/apk/joal-android-aarch64.apk new file mode 100644 index 00000000..2a3af209 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/joal-android-aarch64.apk differ diff --git a/libs/jogamp-all-platforms/apk/joal-android-armv6.apk b/libs/jogamp-all-platforms/apk/joal-android-armv6.apk new file mode 100644 index 00000000..3e328ae0 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/joal-android-armv6.apk differ diff --git a/libs/jogamp-all-platforms/apk/joal-test-android.apk b/libs/jogamp-all-platforms/apk/joal-test-android.apk new file mode 100644 index 00000000..645aeb12 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/joal-test-android.apk differ diff --git a/libs/jogamp-all-platforms/apk/jocl-android-aarch64.apk b/libs/jogamp-all-platforms/apk/jocl-android-aarch64.apk new file mode 100644 index 00000000..959bb8c0 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/jocl-android-aarch64.apk differ diff --git a/libs/jogamp-all-platforms/apk/jocl-android-armv6.apk b/libs/jogamp-all-platforms/apk/jocl-android-armv6.apk new file mode 100644 index 00000000..1266adba Binary files /dev/null and b/libs/jogamp-all-platforms/apk/jocl-android-armv6.apk differ diff --git a/libs/jogamp-all-platforms/apk/jocl-test-android.apk b/libs/jogamp-all-platforms/apk/jocl-test-android.apk new file mode 100644 index 00000000..de63b43d Binary files /dev/null and b/libs/jogamp-all-platforms/apk/jocl-test-android.apk differ diff --git a/libs/jogamp-all-platforms/apk/jogamp-android-launcher.apk b/libs/jogamp-all-platforms/apk/jogamp-android-launcher.apk new file mode 100644 index 00000000..551ec156 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/jogamp-android-launcher.apk differ diff --git a/libs/jogamp-all-platforms/apk/jogl-all-android-aarch64.apk b/libs/jogamp-all-platforms/apk/jogl-all-android-aarch64.apk new file mode 100644 index 00000000..a4983486 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/jogl-all-android-aarch64.apk differ diff --git a/libs/jogamp-all-platforms/apk/jogl-all-android-armv6.apk b/libs/jogamp-all-platforms/apk/jogl-all-android-armv6.apk new file mode 100644 index 00000000..723ba1cc Binary files /dev/null and b/libs/jogamp-all-platforms/apk/jogl-all-android-armv6.apk differ diff --git a/libs/jogamp-all-platforms/apk/jogl-test-android.apk b/libs/jogamp-all-platforms/apk/jogl-test-android.apk new file mode 100644 index 00000000..158e35e7 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/jogl-test-android.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/gluegen-rt-android-aarch64.apk b/libs/jogamp-all-platforms/apk/unsigned/gluegen-rt-android-aarch64.apk new file mode 100644 index 00000000..aaa76ac0 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/gluegen-rt-android-aarch64.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/gluegen-rt-android-armv6.apk b/libs/jogamp-all-platforms/apk/unsigned/gluegen-rt-android-armv6.apk new file mode 100644 index 00000000..7797a1fa Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/gluegen-rt-android-armv6.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/joal-android-aarch64.apk b/libs/jogamp-all-platforms/apk/unsigned/joal-android-aarch64.apk new file mode 100644 index 00000000..0f3a42fa Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/joal-android-aarch64.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/joal-android-armv6.apk b/libs/jogamp-all-platforms/apk/unsigned/joal-android-armv6.apk new file mode 100644 index 00000000..94c70e0a Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/joal-android-armv6.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/joal-test-android.apk b/libs/jogamp-all-platforms/apk/unsigned/joal-test-android.apk new file mode 100644 index 00000000..cc8a1d70 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/joal-test-android.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/jocl-android-aarch64.apk b/libs/jogamp-all-platforms/apk/unsigned/jocl-android-aarch64.apk new file mode 100644 index 00000000..0f320558 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/jocl-android-aarch64.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/jocl-android-armv6.apk b/libs/jogamp-all-platforms/apk/unsigned/jocl-android-armv6.apk new file mode 100644 index 00000000..a24721a0 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/jocl-android-armv6.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/jocl-test-android.apk b/libs/jogamp-all-platforms/apk/unsigned/jocl-test-android.apk new file mode 100644 index 00000000..4652b2ff Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/jocl-test-android.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/jogamp-android-launcher.apk b/libs/jogamp-all-platforms/apk/unsigned/jogamp-android-launcher.apk new file mode 100644 index 00000000..ddb358ac Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/jogamp-android-launcher.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/jogl-all-android-aarch64.apk b/libs/jogamp-all-platforms/apk/unsigned/jogl-all-android-aarch64.apk new file mode 100644 index 00000000..bbe5f6f1 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/jogl-all-android-aarch64.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/jogl-all-android-armv6.apk b/libs/jogamp-all-platforms/apk/unsigned/jogl-all-android-armv6.apk new file mode 100644 index 00000000..d3c9fd10 Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/jogl-all-android-armv6.apk differ diff --git a/libs/jogamp-all-platforms/apk/unsigned/jogl-test-android.apk b/libs/jogamp-all-platforms/apk/unsigned/jogl-test-android.apk new file mode 100644 index 00000000..49487b8e Binary files /dev/null and b/libs/jogamp-all-platforms/apk/unsigned/jogl-test-android.apk differ diff --git a/libs/jogamp-all-platforms/etc/profile.jogl b/libs/jogamp-all-platforms/etc/profile.jogl new file mode 100644 index 00000000..31cff13a --- /dev/null +++ b/libs/jogamp-all-platforms/etc/profile.jogl @@ -0,0 +1,148 @@ +#! /bin/sh + +function print_usage() +{ + echo "Usage: $0 {JOGL_ALL|JOGL_ALL_NOAWT|JOGL_ALL_MOBILE} [jogl-build-dir]" +} + +function concat_jogl_list() +{ + ITEMDIR="$1" + shift + for j in "$ITEMDIR" "$ITEMDIR"/jar ; do + for i in $* ; do + if [ -e "$j"/$i ] ; then + if [ -z "$JOGL_LIST" ] ; then + JOGL_LIST="$j"/$i + else + JOGL_LIST="$JOGL_LIST":"$j"/$i + fi + fi + done + done + echo $JOGL_LIST +} + +ARCH=`uname -m` +if [ "$ARCH" = "i86pc" ] ; then + ARCH="x86" +fi + +KERNEL=`uname -s | awk ' { printf "%s",tolower($0) ; } '` +if [ "$KERNEL" = "sunos" ] ; then + KERNEL="solaris" +fi + +uname -a | grep -i LINUX && OSS=x11 +uname -a | grep -i Darwin && OSS=osx +uname -a | grep -i CYGWIN && OSS=win + +JOGL_TEST="jogl-test.jar" + +JOGL_JAR_ALL="jogl-all.jar" +JOGL_JAR_ALL_NOAWT="jogl-all-noawt.jar" +JOGL_JAR_ALL_MOBILE="jogl-all-mobile.jar" +JOGL_JAR_SWT="atomic/jogl-swt.jar" + +JOGL_JAR_OCULUSVR="atomic/oculusvr.jar" + +JOGL_LIB_ALL="libnativewindow_x11.so libnativewindow_awt.so libjogl_desktop.so libjogl_mobile.so libjogl_cg.so libnewt.so liboculusvr.so" +JOGL_LIB_ALL_NOAWT="libnativewindow_x11.so libjogl_desktop.so libjogl_mobile.so libjogl_cg.so libnewt.so liboculusvr.so" +JOGL_LIB_ALL_MOBILE="libjogl_mobile.so libnewt.so liboculusvr.so" + +ATOMICS_NATIVEWINDOW="atomic/nativewindow-core.jar atomic/nativewindow-os-x11.jar atomic/nativewindow-os-win.jar atomic/nativewindow-os-osx.jar" +#ATOMICS_JOGL="atomic/jogl-core.jar atomic/jogl-gldesktop.jar atomic/jogl-util.jar atomic/jogl-os-x11.jar atomic/jogl-os-win.jar atomic/jogl-os-osx.jar " +ATOMICS_JOGL="atomic/jogl-core.jar atomic/jogl-gldesktop.jar atomic/jogl-os-x11.jar atomic/jogl-os-win.jar atomic/jogl-os-osx.jar " +ATOMICS_NEWT="atomic/newt-core.jar atomic/newt-ogl.jar atomic/newt-driver-x11.jar atomic/newt-driver-win.jar atomic/newt-driver-osx.jar atomic/newt-driver-bcm-vc.jar" +JOGL_JAR_ATOMICS_NOAWT="$ATOMICS_NATIVEWINDOW $ATOMICS_JOGL $ATOMICS_NEWT" + +export JOGL_JAR_ALL JOGL_JAR_ALL_NOAWT JOGL_JAR_ALL_MOBILE JOGL_JAR_ATOMICS_NOAWT +export JOGL_LIB_ALL JOGL_LIB_ALL_NOAWT JOGL_LIB_ALL_MOBILE + +THISDIR=`dirname $0` + +JOGL_PROFILE="$1" +shift + +if [ -z "$JOGL_PROFILE" ] ; then + echo JOGL PROFILE missing + print_usage +fi + +JOGL_BUILD_DIR="$1" +shift + +AUTOBUILD=0 + +if [ ! -z "$JOGL_BUILD_DIR" -a -e "$JOGL_BUILD_DIR" ] ; then + AUTOBUILD=0 +elif [ -e "$THISDIR"/jar ] ; then + # Autobuild + JOGL_BUILD_DIR="$THISDIR"/jar + AUTOBUILD=1 +else + echo invalid JOGL_BUILD_DIR "$JOGL_BUILD_DIR" and no AUTOBUILD + print_usage +fi +export JOGL_BUILD_DIR + +JOGL_LIB_DIR="$JOGL_BUILD_DIR"/lib +export JOGL_LIB_DIR + +JOGL_ALL_AWT_CLASSPATH=$(concat_jogl_list "$JOGL_BUILD_DIR" $JOGL_JAR_ALL $JOGL_JAR_OCULUSVR $JOGL_TEST) +JOGL_ALL_NOAWT_CLASSPATH=$(concat_jogl_list "$JOGL_BUILD_DIR" $JOGL_JAR_ALL_NOAWT $JOGL_JAR_OCULUSVR $JOGL_TEST) +JOGL_MOBILE_CLASSPATH=$(concat_jogl_list "$JOGL_BUILD_DIR" $JOGL_JAR_ALL_MOBILE $JOGL_JAR_OCULUSVR $JOGL_TEST) +JOGL_ATOMICS_NOAWT_CLASSPATH=$(concat_jogl_list "$JOGL_BUILD_DIR" $JOGL_JAR_ATOMICS_NOAWT $JOGL_JAR_OCULUSVR $JOGL_TEST) +JOGL_SWT_CLASSPATH=$(concat_jogl_list "$JOGL_BUILD_DIR" $JOGL_JAR_SWT $JOGL_JAR_OCULUSVR $JOGL_TEST) +export JOGL_ALL_AWT_CLASSPATH JOGL_ALL_NOAWT_CLASSPATH JOGL_MOBILE_CLASSPATH JOGL_ATOMICS_NOAWT_CLASSPATH JOGL_SWT_CLASSPATH + +if [ ! -z "$JOGL_PROFILE" ] ; then + case "$JOGL_PROFILE" in + JOGL_ALL) + JOGL_CLASSPATH=$JOGL_ALL_AWT_CLASSPATH + ;; + JOGL_ALL_NOAWT) + JOGL_CLASSPATH=$JOGL_ALL_NOAWT_CLASSPATH + ;; + JOGL_ALL_MOBILE) + JOGL_CLASSPATH=$JOGL_MOBILE_CLASSPATH + ;; + esac +else + JOGL_CLASSPATH=$JOGL_ALL_AWT_CLASSPATH +fi +export JOGL_CLASSPATH + +if [ "$KERNEL" = "linux" ] ; then + SWT_SUB="gtk" +elif [ "$KERNEL" = "solaris" ] ; then + SWT_SUB="gtk" +elif [ "$KERNEL" = "darwin" ] ; then + SWT_SUB="cocoa" + KERNEL="macosx" + ARCH="x86_64" +fi +if [ -z "$SWT_CLASSPATH" ] ; then + SWT_CLASSPATH_0=$JOGL_BUILD_DIR/../make/lib/swt/$SWT_SUB-$KERNEL-$ARCH/swt-debug.jar + SWT_CLASSPATH_1=$HOME/.java/swt.jar + if [ ! -e "$SWT_CLASSPATH_0" ] ; then + echo Info: NO JOGL SWT $SWT_CLASSPATH_0 + if [ ! -e "$SWT_CLASSPATH_1" ] ; then + echo Info: NO Users SWT $SWT_CLASSPATH_1 + else + export SWT_CLASSPATH=$SWT_CLASSPATH_1 + echo Info: Using Users SWT $SWT_CLASSPATH + fi + else + export SWT_CLASSPATH=$SWT_CLASSPATH_0 + echo Info: Using JOGL SWT $SWT_CLASSPATH + fi + if [ ! -z "$SWT_CLASSPATH" ] ; then + export SWT_CLASSPATH + fi +fi + +if [ -z "$JOGL_CLASSPATH" ] ; then + print_usage +fi + diff --git a/libs/jogamp-all-platforms/etc/test.bat b/libs/jogamp-all-platforms/etc/test.bat new file mode 100644 index 00000000..ef924fb5 --- /dev/null +++ b/libs/jogamp-all-platforms/etc/test.bat @@ -0,0 +1,18 @@ + +set BLD_DIR=jar + +set CP_ALL=.;%BLD_DIR%\gluegen-rt.jar;%BLD_DIR%\jogl-all.jar +echo CP_ALL %CP_ALL% + +set X_ARGS="-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackground=true" + +REM java -classpath %CP_ALL% %X_ARGS% com.jogamp.opengl.awt.GLCanvas > java-win64.log 2>&1 + +REM java -classpath %CP_ALL% %X_ARGS% com.jogamp.common.GlueGenVersion > test.log 2>&1 +REM java -classpath %CP_ALL% %X_ARGS% com.jogamp.nativewindow.NativeWindowVersion >> test.log 2>&1 +REM java -classpath %CP_ALL% %X_ARGS% com.jogamp.opengl.JoglVersion >> test.log 2>&1 +REM java -classpath %CP_ALL% %X_ARGS% com.jogamp.newt.NewtVersion >> test.log 2>&1 +REM java -classpath %CP_ALL% %X_ARGS% com.jogamp.newt.opengl.GLCanvas >> test.log 2>&1 +java -classpath %CP_ALL% %X_ARGS% com.jogamp.newt.opengl.GLWindow >> test.log 2>&1 + +type test.log diff --git a/libs/jogamp-all-platforms/etc/test.sh b/libs/jogamp-all-platforms/etc/test.sh new file mode 100644 index 00000000..3e5be122 --- /dev/null +++ b/libs/jogamp-all-platforms/etc/test.sh @@ -0,0 +1,44 @@ +#! /bin/bash + +THISDIR=`pwd` +logfile=`basename $0 .sh`.log + +rm -f $logfile + +which java 2>&1 | tee -a $logfile +java -version 2>&1 | tee -a $logfile +echo LIBXCB_ALLOW_SLOPPY_LOCK: $LIBXCB_ALLOW_SLOPPY_LOCK 2>&1 | tee -a $logfile +echo LIBGL_DRIVERS_PATH: $LIBGL_DRIVERS_PATH 2>&1 | tee -a $logfile +echo LIBGL_DEBUG: $LIBGL_DEBUG 2>&1 | tee -a $logfile +echo java $X_ARGS $D_ARGS $* 2>&1 | tee -a $logfile + +CLASSPATH=jar/gluegen-rt.jar:jar/jogl-all.jar +export CLASSPATH + +echo CLASSPATH: $CLASSPATH +echo + +# D_ARGS="-Djogamp.debug=all -Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all" +# +# D_ARGS="-Djogamp.debug.TraceLock" +# D_ARGS="-Dnewt.debug.EDT -Dnativewindow.debug.ToolkitLock.TraceLock -Dnativewindow.debug.NativeWindow" +# D_ARGS="-Dnewt.debug.Window -Dnewt.debug.Display -Dnewt.debug.EDT" +# D_ARGS="-Dnewt.debug.EDT -Dnativewindow.debug.ToolkitLock.TraceLock -Dnativewindow.debug.X11Util.TraceDisplayLifecycle=true" +#D_ARGS="-Djogamp.common.utils.locks.Lock.timeout=600000 -Djogamp.debug.Lock -Djogamp.debug.Lock.TraceLock" +# D_ARGS="-Dnewt.debug.Window -Dnewt.debug.EDT -Dnewt.debug.Display " +#D_ARGS="-Dnewt.debug.EDT -Djogamp.common.utils.locks.Lock.timeout=600000 -Djogl.debug.Animator -Dnewt.debug.Display -Dnewt.debug.Screen" +#D_ARGS="-Dnewt.debug.EDT -Dnewt.debug.Display -Dnativewindow.debug.X11Util -Djogl.debug.GLDrawable -Djogl.debug.GLCanvas" +#D_ARGS="-Dnewt.debug.EDT -Djogl.debug.GLContext" +#D_ARGS="-Dnewt.debug.Screen -Dnewt.debug.EDT -Djogamp.debug.Lock" +#D_ARGS="-Dnewt.debug.EDT" +#D_ARGS="-Dnewt.debug.EDT -Djogl.debug=all -Dnativewindow.debug=all" +# D_ARGS="-Djogl.debug=all" +X_ARGS="-Dsun.java2d.noddraw=true -Dsun.java2d.opengl=false" + +#java $X_ARGS $ARGS_AWT $D_ARGS com.jogamp.common.GlueGenVersion 2>&1 | tee -a $logfile +#java $X_ARGS $ARGS_AWT $D_ARGS com.jogamp.nativewindow.NativeWindowVersion 2>&1 | tee -a $logfile +#java $X_ARGS $ARGS_AWT $D_ARGS com.jogamp.opengl.JoglVersion 2>&1 | tee -a $logfile +#java $X_ARGS $ARGS_AWT $D_ARGS com.jogamp.newt.NewtVersion 2>&1 | tee -a $logfile +#java $X_ARGS $ARGS_AWT $D_ARGS com.jogamp.opengl.awt.GLCanvas 2>&1 | tee -a $logfile +java $X_ARGS $ARGS_NEWT $D_ARGS com.jogamp.newt.opengl.GLWindow 2>&1 | tee -a $logfile + diff --git a/libs/jogamp-all-platforms/etc/test_dbg.bat b/libs/jogamp-all-platforms/etc/test_dbg.bat new file mode 100644 index 00000000..20969075 --- /dev/null +++ b/libs/jogamp-all-platforms/etc/test_dbg.bat @@ -0,0 +1,13 @@ + +set BLD_DIR=jar + +set CP_ALL=.;%BLD_DIR%\gluegen-rt.jar;%BLD_DIR%\jogl-all.jar +echo CP_ALL %CP_ALL% + +set D_ARGS="-Djogamp.debug=all" "-Dnativewindow.debug=all" "-Djogl.debug=all" "-Dnewt.debug=all" +set X_ARGS="-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackground=true" + +REM java -classpath %CP_ALL% %X_ARGS% %D_ARGS% com.jogamp.newt.opengl.GLCanvas >> test.log 2>&1 +java -classpath %CP_ALL% %X_ARGS% %D_ARGS% com.jogamp.newt.opengl.GLWindow >> test_dbg.log 2>&1 + +type test_dbg.log diff --git a/libs/jogamp-all-platforms/etc/test_dbg.sh b/libs/jogamp-all-platforms/etc/test_dbg.sh new file mode 100644 index 00000000..7bfd5ee6 --- /dev/null +++ b/libs/jogamp-all-platforms/etc/test_dbg.sh @@ -0,0 +1,44 @@ +#! /bin/bash + +THISDIR=`pwd` +logfile=`basename $0 .sh`.log + +rm -f $logfile + +which java 2>&1 | tee -a $logfile +java -version 2>&1 | tee -a $logfile +echo LIBXCB_ALLOW_SLOPPY_LOCK: $LIBXCB_ALLOW_SLOPPY_LOCK 2>&1 | tee -a $logfile +echo LIBGL_DRIVERS_PATH: $LIBGL_DRIVERS_PATH 2>&1 | tee -a $logfile +echo LIBGL_DEBUG: $LIBGL_DEBUG 2>&1 | tee -a $logfile +echo java $X_ARGS $D_ARGS $* 2>&1 | tee -a $logfile + +CLASSPATH=jar/gluegen-rt.jar:jar/jogl-all.jar +export CLASSPATH + +echo CLASSPATH: $CLASSPATH +echo + +D_ARGS="-Djogamp.debug=all -Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all" + +# D_ARGS="-Djogamp.debug.TraceLock" +# D_ARGS="-Dnewt.debug.EDT -Dnativewindow.debug.ToolkitLock.TraceLock -Dnativewindow.debug.NativeWindow" +# D_ARGS="-Dnewt.debug.Window -Dnewt.debug.Display -Dnewt.debug.EDT" +# D_ARGS="-Dnewt.debug.EDT -Dnativewindow.debug.ToolkitLock.TraceLock -Dnativewindow.debug.X11Util.TraceDisplayLifecycle=true" +#D_ARGS="-Djogamp.common.utils.locks.Lock.timeout=600000 -Djogamp.debug.Lock -Djogamp.debug.Lock.TraceLock" +# D_ARGS="-Dnewt.debug.Window -Dnewt.debug.EDT -Dnewt.debug.Display " +#D_ARGS="-Dnewt.debug.EDT -Djogamp.common.utils.locks.Lock.timeout=600000 -Djogl.debug.Animator -Dnewt.debug.Display -Dnewt.debug.Screen" +#D_ARGS="-Dnewt.debug.EDT -Dnewt.debug.Display -Dnativewindow.debug.X11Util -Djogl.debug.GLDrawable -Djogl.debug.GLCanvas" +#D_ARGS="-Dnewt.debug.EDT -Djogl.debug.GLContext" +#D_ARGS="-Dnewt.debug.Screen -Dnewt.debug.EDT -Djogamp.debug.Lock" +#D_ARGS="-Dnewt.debug.EDT" +#D_ARGS="-Dnewt.debug.EDT -Djogl.debug=all -Dnativewindow.debug=all" +# D_ARGS="-Djogl.debug=all" +X_ARGS="-Dsun.java2d.noddraw=true -Dsun.java2d.opengl=false" + +#java $X_ARGS $ARGS_AWT $D_ARGS com.jogamp.common.GlueGenVersion 2>&1 | tee -a $logfile +#java $X_ARGS $ARGS_AWT $D_ARGS com.jogamp.nativewindow.NativeWindowVersion 2>&1 | tee -a $logfile +#java $X_ARGS $ARGS_AWT $D_ARGS com.jogamp.opengl.JoglVersion 2>&1 | tee -a $logfile +#java $X_ARGS $ARGS_AWT $D_ARGS com.jogamp.newt.NewtVersion 2>&1 | tee -a $logfile +#java $X_ARGS $ARGS_AWT $D_ARGS com.jogamp.opengl.awt.GLCanvas 2>&1 | tee -a $logfile +java $X_ARGS $ARGS_NEWT $D_ARGS com.jogamp.newt.opengl.GLWindow 2>&1 | tee -a $logfile + diff --git a/libs/jogamp-all-platforms/gluegen-java-src.zip b/libs/jogamp-all-platforms/gluegen-java-src.zip new file mode 100644 index 00000000..2d6a93c4 Binary files /dev/null and b/libs/jogamp-all-platforms/gluegen-java-src.zip differ diff --git a/libs/jogamp-all-platforms/gluegen.LICENSE.txt b/libs/jogamp-all-platforms/gluegen.LICENSE.txt new file mode 100644 index 00000000..1b21c36e --- /dev/null +++ b/libs/jogamp-all-platforms/gluegen.LICENSE.txt @@ -0,0 +1,182 @@ +The GlueGen source code is mostly licensed under the New BSD 2-clause license, +however it contains other licensed material as well. + +Other licensed material is compatible with the 'New BSD 2-Clause License', +if not stated otherwise. + +'New BSD 2-Clause License' incompatible materials are optional, they are: + + NONE + +Below you find a detailed list of licenses used in this project. + ++++ + +The content of folder 'make/lib' contains build-time only +Java binaries (JAR) to ease the build setup. +Each JAR file has it's corresponding LICENSE file containing the +source location and license text. None of these binaries are contained in any way +by the generated and deployed GlueGen binaries. + ++++ + +L.1) The GlueGen source tree contains code from the JogAmp Community + which is covered by the Simplified BSD 2-clause license: + + Copyright 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: + + 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 + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + 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. + + You can address the JogAmp Community via: + Web http://jogamp.org/ + Forum/Mailinglist http://jogamp.762907.n3.nabble.com/ + Chatrooms + IRC irc.freenode.net #jogamp + Jabber conference.jabber.org room: jogamp (deprecated!) + Repository http://jogamp.org/git/ + Email mediastream _at_ jogamp _dot_ org + + +L.2) The GlueGen source tree contains code from Sun Microsystems, Inc. + which is covered by the New BSD 3-clause license: + + Copyright (c) 2003-2005 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 + PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN + MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR + ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR + DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR + ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR + DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE + 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. + +L.3) The GlueGen source tree contains CGRAM http://www.antlr.org/grammar/cgram/, + a ANSI-C parser implementation using ANTLR, which is being used + in the compile time part only. + It is covered by the Original BSD 4-clause license: + + Copyright (c) 1998-2000, Non, 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: + + Redistributions of source code must retain the above copyright + notice, this list of conditions, and the following disclaimer. + + 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. + + All advertising materials mentioning features or use of this + software must display the following acknowledgement: + + This product includes software developed by Non, Inc. and + its contributors. + + Neither name of the company nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``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 THE COMPANY OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON 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. + +A.1) The GlueGen source tree contains code from The Apache Software Foundation + which is covered by the Apache License Version 2.0 + + Apache Harmony - Open Source Java SE + ===================================== + + + + Author: The Apache Software Foundation (http://www.apache.org/). + + Copyright 2006, 2010 The Apache Software Foundation. + + Apache License Version 2.0, January 2004 + http://www.apache.org/licenses/LICENSE-2.0 + Or within this repository: doc/licenses/Apache.LICENSE-2.0 + + Files: + - src/java/com/jogamp/common/net/Uri.java + (derived from java.net.URI.Helper and heavily modified) + +A.2) The GlueGen source tree contains code from Ben Mankin, a.k.a 'Shevek', + which is covered by the Apache License Version 2.0 + + JCPP - A Java C Preprocessor + ============================= + + + + + Author: Ben Mankin, a.k.a 'Shevek' (http://www.anarres.org/about/). + + Copyright (c) 2007-2008, Shevek + + Apache License Version 2.0, January 2004 + http://www.apache.org/licenses/LICENSE-2.0 + Or within this repository: doc/licenses/Apache.LICENSE-2.0 + + Files: + The complete git submodule 'jcpp', + which is a patched version of the original mentioned above. + + Used for the compile-time module gluegen.jar only. + diff --git a/libs/jogamp-all-platforms/gluegen.artifact.properties b/libs/jogamp-all-platforms/gluegen.artifact.properties new file mode 100644 index 00000000..581db565 --- /dev/null +++ b/libs/jogamp-all-platforms/gluegen.artifact.properties @@ -0,0 +1,5 @@ +gluegen.build.version=2.3.2 +gluegen.build.number=900 +gluegen.build.id=900 +gluegen.build.branch=origin/master +gluegen.build.commit=cc1e9bc698b7f11097c1e114027e53121552f280 diff --git a/libs/jogamp-all-platforms/jnlp-files/Bug910-AppletLifecycleCheck.html b/libs/jogamp-all-platforms/jnlp-files/Bug910-AppletLifecycleCheck.html new file mode 100644 index 00000000..eee6c1ee --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/Bug910-AppletLifecycleCheck.html @@ -0,0 +1,32 @@ + + + +Bug910 Extended AWT Applet Lifecycle Check + + + +

+The applet below tests the Applet Lifecycle. +Please read the stderr log for results! +

+ +

+ + + + + + + Sorry, no Java support detected. + + + + +

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/atomic/jogl-awt.jnlp b/libs/jogamp-all-platforms/jnlp-files/atomic/jogl-awt.jnlp new file mode 100644 index 00000000..528632e9 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/atomic/jogl-awt.jnlp @@ -0,0 +1,98 @@ + + + + Java(tm) Binding to the OpenGL(r) API (AWT) + JogAmp Community + + Java Binding to the OpenGL API - 2.0.0 - AWT + Java programming language binding for the OpenGL 3D graphics API - AWT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/atomic/jogl-noawt.jnlp b/libs/jogamp-all-platforms/jnlp-files/atomic/jogl-noawt.jnlp new file mode 100644 index 00000000..15f1ac8e --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/atomic/jogl-noawt.jnlp @@ -0,0 +1,96 @@ + + + + Java(tm) Binding to the OpenGL(r) API (NO_AWT) + JogAmp Community + + Java Binding to the OpenGL API - 2.0.0 - NO_AWT + Java programming language binding for the OpenGL 3D graphics API - NO_AWT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/atomic/nativewindow-awt.jnlp b/libs/jogamp-all-platforms/jnlp-files/atomic/nativewindow-awt.jnlp new file mode 100644 index 00000000..7bcac3c7 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/atomic/nativewindow-awt.jnlp @@ -0,0 +1,87 @@ + + + + Java(tm) NativeWindow Interface API (AWT) + JogAmp Community + + Java API for a binding to a native windowing system - 2.0 - AWT + Java API for a binding to a native windowing system - 2.0 - AWT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/atomic/nativewindow-noawt.jnlp b/libs/jogamp-all-platforms/jnlp-files/atomic/nativewindow-noawt.jnlp new file mode 100644 index 00000000..30d5baca --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/atomic/nativewindow-noawt.jnlp @@ -0,0 +1,87 @@ + + + + Java(tm) NativeWindow Interface API (NO_AWT) + JogAmp Community + + Java API for a binding to a native windowing system - 2.0 - NO_AWT + Java API for a binding to a native windowing system - 2.0 - NO_AWT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/atomic/newt-awt-jogl.jnlp b/libs/jogamp-all-platforms/jnlp-files/atomic/newt-awt-jogl.jnlp new file mode 100644 index 00000000..27be5b4c --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/atomic/newt-awt-jogl.jnlp @@ -0,0 +1,89 @@ + + + + NEWT - New Windowing Toolkit (AWT, JOGL) + JogAmp Community + + NEWT - A NativeWindow Interface implementation - AWT, JOGL + NEWT - A NativeWindow Interface implementation - AWT, JOGL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/atomic/newt-awt.jnlp b/libs/jogamp-all-platforms/jnlp-files/atomic/newt-awt.jnlp new file mode 100644 index 00000000..2edaf210 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/atomic/newt-awt.jnlp @@ -0,0 +1,88 @@ + + + + NEWT - New Windowing Toolkit (AWT) + JogAmp Community + + NEWT - A NativeWindow Interface implementation - AWT + NEWT - A NativeWindow Interface implementation - AWT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/atomic/newt-noawt-jogl.jnlp b/libs/jogamp-all-platforms/jnlp-files/atomic/newt-noawt-jogl.jnlp new file mode 100644 index 00000000..302d3699 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/atomic/newt-noawt-jogl.jnlp @@ -0,0 +1,88 @@ + + + + NEWT - New Windowing Toolkit (NO_AWT, JOGL) + JogAmp Community + + NEWT - A NativeWindow Interface implementation - NO_AWT, JOGL + NEWT - A NativeWindow Interface implementation - NO_AWT, JOGL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/atomic/newt-noawt.jnlp b/libs/jogamp-all-platforms/jnlp-files/atomic/newt-noawt.jnlp new file mode 100644 index 00000000..a69e4a95 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/atomic/newt-noawt.jnlp @@ -0,0 +1,85 @@ + + + + NEWT - New Windowing Toolkit (NO_AWT) + JogAmp Community + + NEWT - A NativeWindow Interface implementation - NO_AWT + NEWT - A NativeWindow Interface implementation - NO_AWT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/gluegen-rt.jnlp b/libs/jogamp-all-platforms/jnlp-files/gluegen-rt.jnlp new file mode 100644 index 00000000..2f4b6d07 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/gluegen-rt.jnlp @@ -0,0 +1,72 @@ + + + + GlueGen Runtime v2 + JogAmp Community + + GlueGen Runtime Library + Run-time support classes and native code for applications and libraries built using the GlueGen tool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/joal.jnlp b/libs/jogamp-all-platforms/jnlp-files/joal.jnlp new file mode 100644 index 00000000..fb25db87 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/joal.jnlp @@ -0,0 +1,66 @@ + + + + Java(tm) Binding to the OpenAL(r) API + JogAmp Community + + Java Binding to the OpenAL API + Java programming language binding for the OpenAL API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jocl.jnlp b/libs/jogamp-all-platforms/jnlp-files/jocl.jnlp new file mode 100644 index 00000000..7d82ff73 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jocl.jnlp @@ -0,0 +1,62 @@ + + + + Java(tm) Binding to the OpenCL(r) API + JogAmp Community + + Java Binding to the OpenCL API + Java programming language binding for the OpenCL API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-all-awt-cg.jnlp b/libs/jogamp-all-platforms/jnlp-files/jogl-all-awt-cg.jnlp new file mode 100644 index 00000000..ab4c1cd6 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-all-awt-cg.jnlp @@ -0,0 +1,93 @@ + + + + Java(tm) Binding to the OpenGL(r) API (ALL.AWT.CG) + JogAmp Community + + Java Binding to the OpenGL API - 2.0.0 - ALL.AWT.CG + Java programming language binding for the OpenGL 3D graphics API - ALL.AWT.CG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-all-awt.jnlp b/libs/jogamp-all-platforms/jnlp-files/jogl-all-awt.jnlp new file mode 100644 index 00000000..a666eb4d --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-all-awt.jnlp @@ -0,0 +1,74 @@ + + + + Java(tm) Binding to the OpenGL(r) API (ALL.AWT) + JogAmp Community + + Java Binding to the OpenGL API - 2.0.0 - ALL.AWT + Java programming language binding for the OpenGL 3D graphics API - ALL.AWT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-all-mobile.jnlp b/libs/jogamp-all-platforms/jnlp-files/jogl-all-mobile.jnlp new file mode 100644 index 00000000..710f74ab --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-all-mobile.jnlp @@ -0,0 +1,74 @@ + + + + Java(tm) Binding to the OpenGL(r) API (ALL.MOBILE) + JogAmp Community + + Java Binding to the OpenGL API - 2.0.0 - ALL.MOBILE + Java programming language binding for the OpenGL 3D graphics API - ALL.MOBILE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-all-noawt.jnlp b/libs/jogamp-all-platforms/jnlp-files/jogl-all-noawt.jnlp new file mode 100644 index 00000000..802b9b92 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-all-noawt.jnlp @@ -0,0 +1,74 @@ + + + + Java(tm) Binding to the OpenGL(r) API (ALL.NO_AWT) + JogAmp Community + + Java Binding to the OpenGL API - 2.0.0 - ALL.NO_AWT + Java programming language binding for the OpenGL 3D graphics API - ALL.NO_AWT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_glcanvas01.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_glcanvas01.html new file mode 100644 index 00000000..c460ff12 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_glcanvas01.html @@ -0,0 +1,32 @@ + + + +Bug816 OSX CALayer Pos - Custom Bounds + + + +

+Bug816 OSX CALayer Pos - Custom Bounds +

+ +

+ + + + + + Sorry, no Java support detected. + + + +

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_glcanvas02a.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_glcanvas02a.html new file mode 100644 index 00000000..79fb22d7 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_glcanvas02a.html @@ -0,0 +1,32 @@ + + + +Bug816 OSX CALayer Pos - Box Layout + + + +

+Bug816 OSX CALayer Pos - Box Layout +

+ +

+ + + + + + Sorry, no Java support detected. + + + +

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_glcanvas02b.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_glcanvas02b.html new file mode 100644 index 00000000..eb05e84a --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_glcanvas02b.html @@ -0,0 +1,32 @@ + + + +Bug816 OSX CALayer Pos - Grid Layout + + + +

+Bug816 OSX CALayer Pos - Grid Layout +

+ +

+ + + + + + Sorry, no Java support detected. + + + +

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_layerpos03a.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_layerpos03a.html new file mode 100644 index 00000000..432a2b39 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_layerpos03a.html @@ -0,0 +1,32 @@ + + + +Bug816 OSX CALayer Pos - Applet w/ 1 JRootPanes and 2 JSplitPanes + + + +

+Bug816 OSX CALayer Pos - AWT Applet w/ 1 JRootPanes and 2 JSplitPanes +

+ +

+ + + + + + Sorry, no Java support detected. + + + +

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_layerpos03b.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_layerpos03b.html new file mode 100644 index 00000000..43b13a8d --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug816_layerpos03b.html @@ -0,0 +1,32 @@ + + + +Bug816 OSX CALayer Pos - JApplet w/ 2 JRootPanes and 2 JSplitPanes + + + +

+Bug816 OSX CALayer Pos - Swing JApplet w/ 2 JRootPanes and 2 JSplitPanes +

+ +

+ + + + + + Sorry, no Java support detected. + + + +

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug818_gljpanel01.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug818_gljpanel01.html new file mode 100644 index 00000000..0f62062e --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug818_gljpanel01.html @@ -0,0 +1,32 @@ + + + +Bug818 OSX GLJPanel and GLCanvas NV GT330 Crash + + + +

+Bug818 OSX GLJPanel and GLCanvas NV GT330 Crash +

+ +

+ + + + + + Sorry, no Java support detected. + + + +

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug848_glcanvas01.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug848_glcanvas01.html new file mode 100644 index 00000000..99fa6aa4 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-bug848_glcanvas01.html @@ -0,0 +1,32 @@ + + + +Bug 848: Applet on OSX w/ CALayer and 2 or more GLCanvas may crash + + + +

+Bug 848: Applet on OSX w/ CALayer and 2 or more GLCanvas may 'crash'. +

+ +

+ + + + + + Sorry, no Java support detected. + + + +

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-gl2_gljpanel02.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-gl2_gljpanel02.html new file mode 100644 index 00000000..fa5f5694 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-gl2_gljpanel02.html @@ -0,0 +1,32 @@ + + + +GLJPanels and GLCanvas w/ GL2 Demos + + + +

+GLJPanels and GLCanvas w/ Gears GL2 Demos +

+ +

+ + + + + + Sorry, no Java support detected. + + + +

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-ElektronenMultiplizierer-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-ElektronenMultiplizierer-napplet.html new file mode 100644 index 00000000..785bf83a --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-ElektronenMultiplizierer-napplet.html @@ -0,0 +1,77 @@ + + + +Demoscene Passivist's Elektronen-Multiplizierer (NApplet) + + + +

+Demoscene Passivist's Elektronen-Multiplizierer +

+ +

+ + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+ElektronenMultiplizierer Keys:
+

    +
  • Cursor-Left - time backwards
  • +
  • Cursor-Right - time forward
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-ElektronenMultiplizierer.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-ElektronenMultiplizierer.html new file mode 100644 index 00000000..0c0cf81a --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-ElektronenMultiplizierer.html @@ -0,0 +1,78 @@ + + + +Demoscene Passivist's Elektronen-Multiplizierer + + + +

+Demoscene Passivist's Elektronen-Multiplizierer +

+ +

+ + + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+ElektronenMultiplizierer Keys:
+

    +
  • Cursor-Left - time backwards
  • +
  • Cursor-Right - time forward
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01-applet3-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01-applet3-napplet.html new file mode 100644 index 00000000..fa734ad1 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01-applet3-napplet.html @@ -0,0 +1,64 @@ + + + +JOGL Applet3 Graph Text Demo 01 (NApplet) + + + +

+JOGL Applet3 Graph Text Demo 01 +

+ +

+ + + + + + + + + + + + + + Sorry, no Java support detected. + + + +

+ +

+Graph Text Demo Keys:
+

    +
  • 1/2 - zoom in/out red-text
  • +
  • 6/7 - edit texture size if using VBAA (nope)
  • +
  • 0/9 - rotate the red-text
  • +
  • v - toggle vsync
  • +
  • i - live text input (CR ends it, backspace supported)
  • +
  • f - toggle fps
  • +
  • h - change text
  • +
  • space - change font
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01-napplet.html new file mode 100644 index 00000000..4264367b --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01-napplet.html @@ -0,0 +1,64 @@ + + + +JOGL Graph Text Demo 01 (NApplet) + + + +

+JOGL Graph Text Demo 01 +

+ +

+ + + + + + + + + + + + + + Sorry, no Java support detected. + + + +

+ +

+Graph Text Demo Keys:
+

    +
  • 1/2 - zoom in/out red-text
  • +
  • 6/7 - edit texture size if using VBAA (nope)
  • +
  • 0/9 - rotate the red-text
  • +
  • v - toggle vsync
  • +
  • i - live text input (CR ends it, backspace supported)
  • +
  • f - toggle fps
  • +
  • h - change text
  • +
  • space - change font
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01.html new file mode 100644 index 00000000..1b4213c0 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01.html @@ -0,0 +1,66 @@ + + + +JOGL Graph Text Demo 01 + + + +

+JOGL Graph Text Demo 01 +

+ +

+ + + + + + + + + + + + + + + Sorry, no Java support detected. + + + +

+ +

+Graph Text Demo Keys:
+

    +
  • 1/2 - zoom in/out red-text
  • +
  • 6/7 - edit texture size if using VBAA (nope)
  • +
  • 0/9 - rotate the red-text
  • +
  • v - toggle vsync
  • +
  • i - live text input (CR ends it, backspace supported)
  • +
  • f - toggle fps
  • +
  • h - change text
  • +
  • space - change font
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01b-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01b-napplet.html new file mode 100644 index 00000000..2baa095c --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphTextDemo01b-napplet.html @@ -0,0 +1,66 @@ + + + +JOGL Graph Text Demo 01b (NApplet) + + + +

+JOGL Graph Text Demo 01b (w/ atomic/jogl-fonts-p0.jar in path) +

+ +

+ + + + + + + + + + + + + + Sorry, no Java support detected. + + + +

+ +

+Graph Text Demo Keys:
+

    +
  • 1/2 - zoom in/out red-text
  • +
  • 6/7 - edit texture size if using VBAA (nope)
  • +
  • 0/9 - rotate the red-text
  • +
  • v - toggle vsync
  • +
  • i - live text input (CR ends it, backspace supported)
  • +
  • f - toggle fps
  • +
  • h - change text
  • +
  • space - change font
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01-applet3-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01-applet3-napplet.html new file mode 100644 index 00000000..c6db72ca --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01-applet3-napplet.html @@ -0,0 +1,81 @@ + + + +JOGL Applet3 Graph UI-Scene Demo 01 (NApplet) + + + +

+JOGL Applet3 Graph UI-Scene Demo 01 +

+ +

+ + + + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+Graph UI-Scene Demo Keys:
+

    +
  • none - use mouse
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01-napplet.html new file mode 100644 index 00000000..ba202c25 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01-napplet.html @@ -0,0 +1,81 @@ + + + +JOGL Graph UI-Scene Demo 01 No-AA (NApplet) + + + +

+JOGL Graph UI-Scene Demo 01 No-AA +

+ +

+ + + + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+Graph UI-Scene Demo Keys:
+

    +
  • none - use mouse
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01.html new file mode 100644 index 00000000..080a14b1 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01.html @@ -0,0 +1,83 @@ + + + +JOGL Graph UI-Scene Demo 01 + + + +

+JOGL Graph UI-Scene Demo 01 +

+ +

+ + + + + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+Graph UI-Scene Demo Keys:
+

    +
  • none - use mouse
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo02-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo02-napplet.html new file mode 100644 index 00000000..b49015ba --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo02-napplet.html @@ -0,0 +1,81 @@ + + + +JOGL Graph UI-Scene Demo 01 MSAA-4 (NApplet) + + + +

+JOGL Graph UI-Scene Demo 01 MSAA-4 +

+ +

+ + + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+Graph UI-Scene Demo Keys:
+

    +
  • none - use mouse
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo03-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo03-napplet.html new file mode 100644 index 00000000..45ef362a --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo03-napplet.html @@ -0,0 +1,81 @@ + + + +JOGL Graph UI-Scene Demo 01 VBAA (NApplet) + + + +

+JOGL Graph UI-Scene Demo 01 VBAA +

+ +

+ + + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+Graph UI-Scene Demo Keys:
+

    +
  • none - use mouse
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo04-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo04-napplet.html new file mode 100644 index 00000000..a05aa306 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-GraphUISceneDemo04-napplet.html @@ -0,0 +1,81 @@ + + + +JOGL Graph UI-Scene Demo 01 Auto-AA (NApplet) + + + +

+JOGL Graph UI-Scene Demo 01 Auto-AA (VBAA for < 200 dpi) +

+ +

+ + + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+Graph UI-Scene Demo Keys:
+

    +
  • none - use mouse
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-MovieCube-applet3-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-MovieCube-applet3-napplet.html new file mode 100644 index 00000000..f0ca81cb --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-MovieCube-applet3-napplet.html @@ -0,0 +1,91 @@ + + + +JogAmp's Applet3 MovieCube - GLMediaPlayer Demo 01 (NApplet) + + + +

+JogAmp's Applet3 MovieCube - GLMediaPlayer Demo 01 +

+ +

+ + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+MovieCube Keys:
+

    +
  • BWD / FWD: +
      +
    • 01s - Cursor left/right
    • +
    • 10s - Cursor down/up
    • +
    • 30s - Page down/up
    • +
  • +
  • Speed: +
      +
    • Pause - Space bar
    • +
    • Half - Keypad minus
    • +
    • Double - Keypad plus
    • +
    • Reset - Keypad multiply
    • +
  • +
  • Mute - M
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-MovieCube-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-MovieCube-napplet.html new file mode 100644 index 00000000..0a02eb13 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-MovieCube-napplet.html @@ -0,0 +1,91 @@ + + + +JogAmp's MovieCube - GLMediaPlayer Demo 01 (NApplet) + + + +

+JogAmp's MovieCube - GLMediaPlayer Demo 01 +

+ +

+ + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+MovieCube Keys:
+

    +
  • BWD / FWD: +
      +
    • 01s - Cursor left/right
    • +
    • 10s - Cursor down/up
    • +
    • 30s - Page down/up
    • +
  • +
  • Speed: +
      +
    • Pause - Space bar
    • +
    • Half - Keypad minus
    • +
    • Double - Keypad plus
    • +
    • Reset - Keypad multiply
    • +
  • +
  • Mute - M
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-MovieCube.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-MovieCube.html new file mode 100644 index 00000000..3ffbef1f --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-MovieCube.html @@ -0,0 +1,92 @@ + + + +JogAmp's MovieCube - GLMediaPlayer Demo 01 + + + +

+JogAmp's MovieCube - GLMediaPlayer Demo 01 +

+ +

+ + + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+MovieCube Keys:
+

    +
  • BWD / FWD: +
      +
    • 01s - Cursor left/right
    • +
    • 10s - Cursor down/up
    • +
    • 30s - Page down/up
    • +
  • +
  • Speed: +
      +
    • Pause - Space bar
    • +
    • Half - Keypad minus
    • +
    • Double - Keypad plus
    • +
    • Reset - Keypad multiply
    • +
  • +
  • Mute - M
  • +
+

+

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-applet3-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-applet3-napplet.html new file mode 100644 index 00000000..fec55d65 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-applet3-napplet.html @@ -0,0 +1,124 @@ + + + +JOGL NEWT Applet3 Runner - GearsES2 - normal - (NApplet) + + + +

+Applet3 (w/o AWT) launching using NApplet. +

+ +

+JOGL NEWT Applet3 Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ +

+ + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+ +The applet above is instantiated with the following code: + +

+<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+      width="200" height="200">
+   <param name="code" value="com.jogamp.newt.util.applet3.JOGLNewtApplet3Run">
+   <param name="archive" value="jar/gluegen-rt.jar,
+                                jar/jogl-all-noawt.jar,
+                                jar/jogl-test.jar">
+   <param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2">
+   <param name="gl_profile" value="GL2ES2">
+   <param name="gl_swap_interval" value="1">
+   <param name="gl_debug" value="false">
+   <param name="gl_trace" value="false">
+   <comment>
+     <embed code="com.jogamp.newt.util.applet3.JOGLNewtApplet3Run"
+          width="200" height="200"
+          type="application/x-java-applet;version=1.6"
+          pluginspage="http://java.sun.com/javase/downloads/ea.jsp"
+          archive="jar/gluegen-rt.jar,
+                   jar/jogl-all-noawt.jar,
+                   jar/jogl-test.jar"
+          gl_event_listener_class="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"
+          gl_profile="GL2ES2"
+          gl_swap_interval="1"
+          gl_debug="false"
+          gl_trace="false">
+        <noembed>Sorry, no Java support detected.</noembed>
+     </embed>
+   </comment>
+</object>
+
+
+ +

+

+ +Note that the jogl-test.jar, which contains the GearsES2 class, +does not need to be signed! JogAmp Community signs +jogl-all.jar and gluegen-rt.jar, which contain the +JOGL's supporting classes; this is the only +Java code which needs to be signed in order to deploy applets using +JOGL and is the only certificate the end user must accept. +
+Sadly, due to Oracle's Java Applet Plugin update 7u51, +unsigned applets are no more allowed and effectively +lower the bar to create user applets with raised privileges.
+Hence JogAmp Community signs jogl-all.jar and gluegen-rt.jar, which contain the +JOGL's supporting classes as well as jogl-test.jar, which contains the users implementing Applet class.
+jogl-test.jar's manifest file uses Permissions: sandbox +to not raise privileges. +

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-applet3-special-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-applet3-special-napplet.html new file mode 100644 index 00000000..81833513 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-applet3-special-napplet.html @@ -0,0 +1,81 @@ + + + +JOGL NEWT JNLP Applet3 Runner - GearsES2 - special (NApplet) + + + +

+JOGL NEWT JNLP Applet3 Runner Special Keys: + + + + + + + + + + + + + + + + + + Sorry, no Java support detected. + + + Hello Gears - Hello Gears - Hello Gears +
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+

+ + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-gl3-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-gl3-napplet.html new file mode 100644 index 00000000..d16a7865 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-gl3-napplet.html @@ -0,0 +1,128 @@ + + + +JOGL NEWT Applet Runner - GearsES2 - GL3 Core - (NApplet) + + + +

+Applet launching using NApplet. +

+ +

+JOGL NEWT Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ +

+ + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+Applet is using a GL3 core context, failure is expected if n/a on your platform! +

+ +

+ +The applet above is instantiated with the following code: + +

+<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+      width="200" height="200">
+   <param name="code" value="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run">
+   <param name="archive" value="jar/gluegen-rt.jar,
+                                jar/jogl-all.jar,
+                                jar/jogl-test.jar">
+   <param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2">
+   <param name="gl_profile" value="GL3">
+   <param name="gl_swap_interval" value="1">
+   <param name="gl_debug" value="false">
+   <param name="gl_trace" value="false">
+   <comment>
+     <embed code="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run"
+          width="200" height="200"
+          type="application/x-java-applet;version=1.6"
+          pluginspage="http://java.sun.com/javase/downloads/ea.jsp"
+          archive="jar/gluegen-rt.jar,
+                   jar/jogl-all.jar,
+                   jar/jogl-test.jar"
+          gl_event_listener_class="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"
+          gl_profile="GL3"
+          gl_swap_interval="1"
+          gl_debug="false"
+          gl_trace="false">
+        <noembed>Sorry, no Java support detected.</noembed>
+     </embed>
+   </comment>
+</object>
+
+
+ +

+

+ +Note that the jogl-test.jar, which contains the GearsES2 class, +does not need to be signed! JogAmp Community signs +jogl-all.jar and gluegen-rt.jar, which contain the +JOGL's supporting classes; this is the only +Java code which needs to be signed in order to deploy applets using +JOGL and is the only certificate the end user must accept. +
+Sadly, due to Oracle's Java Applet Plugin update 7u51, +unsigned applets are no more allowed and effectively +lower the bar to create user applets with raised privileges.
+Hence JogAmp Community signs jogl-all.jar and gluegen-rt.jar, which contain the +JOGL's supporting classes as well as jogl-test.jar, which contains the users implementing Applet class.
+jogl-test.jar's manifest file uses Permissions: sandbox +to not raise privileges. +

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-normal-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-normal-napplet.html new file mode 100644 index 00000000..3477a276 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-normal-napplet.html @@ -0,0 +1,124 @@ + + + +JOGL NEWT Applet Runner - GearsES2 - normal - (NApplet) + + + +

+Applet launching using NApplet. +

+ +

+JOGL NEWT Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ +

+ + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+ +The applet above is instantiated with the following code: + +

+<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+      width="200" height="200">
+   <param name="code" value="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run">
+   <param name="archive" value="jar/gluegen-rt.jar,
+                                jar/jogl-all.jar,
+                                jar/jogl-test.jar">
+   <param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2">
+   <param name="gl_profile" value="GL2ES2">
+   <param name="gl_swap_interval" value="1">
+   <param name="gl_debug" value="false">
+   <param name="gl_trace" value="false">
+   <comment>
+     <embed code="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run"
+          width="200" height="200"
+          type="application/x-java-applet;version=1.6"
+          pluginspage="http://java.sun.com/javase/downloads/ea.jsp"
+          archive="jar/gluegen-rt.jar,
+                   jar/jogl-all.jar,
+                   jar/jogl-test.jar"
+          gl_event_listener_class="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"
+          gl_profile="GL2ES2"
+          gl_swap_interval="1"
+          gl_debug="false"
+          gl_trace="false">
+        <noembed>Sorry, no Java support detected.</noembed>
+     </embed>
+   </comment>
+</object>
+
+
+ +

+

+ +Note that the jogl-test.jar, which contains the GearsES2 class, +does not need to be signed! JogAmp Community signs +jogl-all.jar and gluegen-rt.jar, which contain the +JOGL's supporting classes; this is the only +Java code which needs to be signed in order to deploy applets using +JOGL and is the only certificate the end user must accept. +
+Sadly, due to Oracle's Java Applet Plugin update 7u51, +unsigned applets are no more allowed and effectively +lower the bar to create user applets with raised privileges.
+Hence JogAmp Community signs jogl-all.jar and gluegen-rt.jar, which contain the +JOGL's supporting classes as well as jogl-test.jar, which contains the users implementing Applet class.
+jogl-test.jar's manifest file uses Permissions: sandbox +to not raise privileges. +

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-normal-napplet2.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-normal-napplet2.html new file mode 100644 index 00000000..6dfdd5e0 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-normal-napplet2.html @@ -0,0 +1,129 @@ + + + +JOGL NEWT Applet Runner - GearsES2 - normal - (NApplet) - Closeable + + + +

+Applet launching using NApplet. +

+ +

+JOGL NEWT Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+If Applet is out of browser window, it is closeable. +

+ +

+ + + + + + + + + + + + Sorry, no Java support detected. + + + + +

+ +

+ +The applet above is instantiated with the following code: + +

+<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+      width="200" height="200">
+   <param name="code" value="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run">
+   <param name="archive" value="jar/gluegen-rt.jar,
+                                jar/jogl-all.jar,
+                                jar/jogl-test.jar">
+   <param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2">
+   <param name="gl_profile" value="GL2ES2">
+   <param name="gl_swap_interval" value="1">
+   <param name="gl_closeable" value="true">
+   <param name="gl_debug" value="false">
+   <param name="gl_trace" value="false">
+   <comment>
+     <embed code="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run"
+          width="200" height="200"
+          type="application/x-java-applet;version=1.6"
+          pluginspage="http://java.sun.com/javase/downloads/ea.jsp"
+          archive="jar/gluegen-rt.jar,
+                   jar/jogl-all.jar,
+                   jar/jogl-test.jar"
+          gl_event_listener_class="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"
+          gl_profile="GL2ES2"
+          gl_swap_interval="1"
+          gl_closeable="true"
+          gl_debug="false"
+          gl_trace="false">
+        <noembed>Sorry, no Java support detected.</noembed>
+     </embed>
+   </comment>
+</object>
+
+
+ +

+

+ +Note that the jogl-test.jar, which contains the GearsES2 class, +does not need to be signed! JogAmp Community signs +jogl-all.jar and gluegen-rt.jar, which contain the +JOGL's supporting classes; this is the only +Java code which needs to be signed in order to deploy applets using +JOGL and is the only certificate the end user must accept. +
+Sadly, due to Oracle's Java Applet Plugin update 7u51, +unsigned applets are no more allowed and effectively +lower the bar to create user applets with raised privileges.
+Hence JogAmp Community signs jogl-all.jar and gluegen-rt.jar, which contain the +JOGL's supporting classes as well as jogl-test.jar, which contains the users implementing Applet class.
+jogl-test.jar's manifest file uses Permissions: sandbox +to not raise privileges. +

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-normal.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-normal.html new file mode 100644 index 00000000..6c914884 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-normal.html @@ -0,0 +1,165 @@ + + + +JOGL NEWT JNLP Applet Runner - GearsES2 - normal + + + +

+In case your Java Plugin supports JNLP, +the applet-gears.jnlp is used, +otherwise it shall fallback to NApplets. +

+ +

+Note that it is important for the startup time to have the same JVM arguments in the applet tags, +as well as within the JNLP applet description.
+Only if JVM arguments of the JNLP applet description are satisfied by the applet tag's JVM,
+the plugin will not need to start a new JVM. OF course, the applet tag's JVM spec may exceed the +JNLP applet's one. +

+ +

+JOGL NEWT JNLP Applet Runner Special Keys:
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+

+ +

+ + + + + + + + + + + + Sorry, no Java support detected. + + + +

+ +

+ +The applet above is instantiated with the following code: + +

+<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+      width="200" height="200">
+   <param name="code" value="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run">
+   <param name="archive" value="jar/gluegen-rt.jar,
+                                jar/jogl-all.jar,
+                                jar/jogl-test.jar">
+   <param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2">
+   <param name="gl_profile" value="GL2ES2">
+   <param name="gl_swap_interval" value="1">
+   <param name="gl_debug" value="false">
+   <param name="gl_trace" value="false">
+   <param name="jnlp_href" value="jogl-applet-runner-newt.jnlp">
+   <comment>
+     <embed code="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run"
+          width="200" height="200"
+          type="application/x-java-applet;version=1.6"
+          pluginspage="http://java.sun.com/javase/downloads/ea.jsp"
+          archive="jar/gluegen-rt.jar,
+                   jar/jogl-all.jar,
+                   jar/jogl-test.jar"
+          gl_event_listener_class="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"
+          gl_profile="GL2ES2"
+          gl_swap_interval="1"
+          gl_debug="false"
+          gl_trace="false"
+          jnlp_href="jogl-applet-runner-newt.jnlp">
+        <noembed>Sorry, no Java support detected.</noembed>
+     </embed>
+   </comment>
+</object>
+
+ +Where the referenced JNLP file jogl-applet-runner-newt.jnlp looks as follow: + +
+<?xml version="1.0" encoding="utf-8"?>
+<jnlp codebase="http://jogamp.org/deployment/jogamp-current" href="jogl-applet-runner-newt.jnlp" version="v2.0-rc3">
+  <information>
+    <title>JOGL JNLP Applet Runner NEWT</title>
+    <vendor>JogAmp Community</vendor>
+    <homepage href="http://jogamp.org/"/>
+    <description>JOGL JNLP Applet Runner NEWT</description>
+    <offline-allowed/>
+  </information>
+  <update check="background" policy="always"/>
+
+    <resources>
+      <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+"/>
+      <jar href="jar/jogl-test.jar" main="true"/>
+      <extension name="jogl-all-awt" href="http://jogamp.org/deployment/jogamp-current/jogl-all-awt.jnlp" />
+    </resources>
+
+  <applet-desc 
+      name="JOGLNewtApplet1Run-Applet"
+      main-class="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run"
+      width="200" 
+      height="200">
+  </applet-desc>
+</jnlp>
+
+ +

+

+ +Note that the jogl-test.jar, which contains the GearsES2 class, +does not need to be signed! JogAmp Community signs +jogl-all.jar and gluegen-rt.jar, which contain the +JOGL's supporting classes; this is the only +Java code which needs to be signed in order to deploy applets using +JOGL and is the only certificate the end user must accept. +
+Sadly, due to Oracle's Java Applet Plugin update 7u51, +unsigned applets are no more allowed and effectively +lower the bar to create user applets with raised privileges.
+Hence JogAmp Community signs jogl-all.jar and gluegen-rt.jar, which contain the +JOGL's supporting classes as well as jogl-test.jar, which contains the users implementing Applet class.
+jogl-test.jar's manifest file uses Permissions: sandbox +to not raise privileges. +

+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-special-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-special-napplet.html new file mode 100644 index 00000000..40c1f458 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-special-napplet.html @@ -0,0 +1,81 @@ + + + +JOGL NEWT JNLP Applet Runner - GearsES2 - special (NApplet) + + + +

+JOGL NEWT JNLP Applet Runner Special Keys: + + + + + + + + + + + + + + + + + + Sorry, no Java support detected. + + + Hello Gears - Hello Gears - Hello Gears +
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+

+ + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-special.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-special.html new file mode 100644 index 00000000..361f8e3e --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt-gears-special.html @@ -0,0 +1,83 @@ + + + +JOGL NEWT JNLP Applet Runner - GearsES2 - special + + + +

+JOGL NEWT JNLP Applet Runner Special Keys: + + + + + + + + + + + + + + + + + + + Sorry, no Java support detected. + + + Hello Gears - Hello Gears - Hello Gears +
+

    +
  • SPACE - pause/resume animator
  • +
  • a - on/off always-on-top
  • +
  • b - on/off always-on-bottom
  • +
  • c - change mouse pointer
  • +
  • d - toggle decoration
  • +
  • f - toggle fullscreen
  • +
  • g - increase gamma, +shift decreases
  • +
  • i - toggle mouse pointer visibility
  • +
  • j - toggle confine mouse pointer
  • +
  • m - toggle maximize, V, +shift H+V, +alt H, +ctrl off
  • +
  • p - position window to 100/100
  • +
  • r - in/out browser window (no modifiers)
  • +
  • r - toggle window resizable (any modifiers)
  • +
  • s - toggle window sticky
  • +
  • v - toggle window visibility, +shift: keep invisible
  • +
  • v - change swap-interval: 1, 0, -1, 1, .. (+ctrl)
  • +
  • w - warp mouse pointer to center
  • +
  • x - toggle surface pixel scale
  • +
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+Normal webpage text - Normal webpage text - Normal webpage text - Normal webpage text
+

+ + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt.jnlp b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt.jnlp new file mode 100644 index 00000000..62e0942a --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-runner-newt.jnlp @@ -0,0 +1,25 @@ + + + + JOGL JNLP Applet Runner NEWT + JogAmp Community + + JOGL JNLP Applet Runner NEWT + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version-applet3-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version-applet3-napplet.html new file mode 100644 index 00000000..d10e1dc5 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version-applet3-napplet.html @@ -0,0 +1,57 @@ + + + +JOGL JNLP Applet3 Version (NApplet) + + + +

+The applet3 below shall show you the version of the Jogl components +and your platform. +

+ +

+ + + + + + + Sorry, no Java support detected. + + + + +

+

+ +The applet3 above is instantiated with the following code: + +

+<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+      width="800" height="600">
+   <param name="code" value="com.jogamp.newt.util.applet3.VersionApplet3">
+   <param name="archive" value="jar/gluegen-rt.jar,
+                                jar/jogl-all-noawt.jar">
+   <comment>
+     <embed code="com.jogamp.newt.util.applet3.VersionApplet3"
+          width="800" height="600"
+          type="application/x-java-applet;version=1.6"
+          pluginspage="http://java.sun.com/javase/downloads/ea.jsp"
+          archive="jar/gluegen-rt.jar,
+                   jar/jogl-all-noawt.jar">
+        <noembed>Sorry, no Java support detected.</noembed>
+     </embed>
+   </comment>
+</object>
+
+

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version-napplet.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version-napplet.html new file mode 100644 index 00000000..6d65add9 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version-napplet.html @@ -0,0 +1,57 @@ + + + +JOGL JNLP Applet Version (NApplet) + + + +

+The applet below shall show you the version of the Jogl components +and your platform. +

+ +

+ + + + + + + Sorry, no Java support detected. + + + + +

+

+ +The applet above is instantiated with the following code: + +

+<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+      width="800" height="600">
+   <param name="code" value="jogamp.opengl.awt.VersionApplet">
+   <param name="archive" value="jar/gluegen-rt.jar,
+                                jar/jogl-all.jar">
+   <comment>
+     <embed code="jogamp.opengl.awt.VersionApplet"
+          width="800" height="600"
+          type="application/x-java-applet;version=1.6"
+          pluginspage="http://java.sun.com/javase/downloads/ea.jsp"
+          archive="jar/gluegen-rt.jar,
+                   jar/jogl-all.jar">
+        <noembed>Sorry, no Java support detected.</noembed>
+     </embed>
+   </comment>
+</object>
+
+

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version.html b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version.html new file mode 100644 index 00000000..c5506103 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version.html @@ -0,0 +1,41 @@ + + + +JOGL JNLP Applet Version (JNLP/Launcher) + + + +

+The applet below shall show you the version of the Jogl components +and your platform. +

+

+In case your Java Plugin supports JNLP, +the jogl-applet-runner-newt.jnlp is used, +otherwise it shall fallback to JNLPAppletLauncher. +

+ +

+ + + + + + + + Sorry, no Java support detected. + + + + +

+ + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version.jnlp b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version.jnlp new file mode 100644 index 00000000..bf69a7cb --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-applet-version.jnlp @@ -0,0 +1,26 @@ + + + + JOGL JNLP Applet Version + JogAmp Community + + JOGL Version + + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-application-version.jnlp b/libs/jogamp-all-platforms/jnlp-files/jogl-application-version.jnlp new file mode 100644 index 00000000..feba71c9 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-application-version.jnlp @@ -0,0 +1,21 @@ + + + + JOGL JNLP Application Version + JogAmp Community + + JOGL Version + + + + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-javaws-version.jnlp b/libs/jogamp-all-platforms/jnlp-files/jogl-javaws-version.jnlp new file mode 100644 index 00000000..e5f11fb6 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-javaws-version.jnlp @@ -0,0 +1,18 @@ + + + + JOGL JNLP Javaws Version + JogAmp Community + + JOGL Version + + + + + + + + + + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-test-applet3s.html b/libs/jogamp-all-platforms/jnlp-files/jogl-test-applet3s.html new file mode 100644 index 00000000..36140831 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-test-applet3s.html @@ -0,0 +1,144 @@ + + + + + + JOGL Test Applet3 + + + + +
+ + +
+ +
+ +

Test page for JOGL Applet3

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
ScreenshotLaunchDescription
+ + Full Size + + + NApplet
+ Dual +
+ Classic OpenGL Gears for ES2 + running as a normal Applet.
+ Launch documentation included. +
+ + Full Size + + + NApplet + + Classic OpenGL Gears for ES2 + running as a translucent Applet hanging over the page. +
+ + Full Size + + + NApplet + + Movie Cube using JOGL's GLMediaPlayer. +
+
+ + + + + + + + + + + + + + + + +
ScreenshotLaunchDescription
+ + Full Size + + + NApplet + + GPU accelerated Text Demo using JOGL's new Graph package.
+ cp-fonts fonts via classpath, otherwise via URI. +
+ + Full Size + + + NApplet + + Demonstration of GPU accelerated Text and UI rendering and interaction + using JOGL's new Graph package. +
+
+ +
+
+ + + +
+ + + diff --git a/libs/jogamp-all-platforms/jnlp-files/jogl-test-applets.html b/libs/jogamp-all-platforms/jnlp-files/jogl-test-applets.html new file mode 100644 index 00000000..b0b54776 --- /dev/null +++ b/libs/jogamp-all-platforms/jnlp-files/jogl-test-applets.html @@ -0,0 +1,237 @@ + + + + + + JOGL Test Applets + + + + +
+ + +
+ +
+ +

Test page for JOGL Applets

+ +
+See Legend below table +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ScreenshotLaunchDescription
+ + Full Size + + + NApplet
+ Dual
+ WebStart
+
+ JOGL Version Information. +
+ + Full Size + + + NApplet + (closeable, + force gl3)
+ Dual
+
+ Classic OpenGL Gears for ES2 + running as a normal Applet.
+ Launch documentation included. +
+ + Full Size + + + NApplet
+ Dual
+
+ Classic OpenGL Gears for ES2 + running as a translucent Applet hanging over the page. +
+ + Full Size + + + NApplet
+ Dual
+
+ Movie Cube using JOGL's GLMediaPlayer. +
+
+ + + + + + + + + + + + + + + + + + + + + +
ScreenshotLaunchDescription
+ + Full Size + + + NApplet + (cp-fonts)
+ Dual
+
+ GPU accelerated Text Demo using JOGL's new Graph package.
+ cp-fonts fonts via classpath, otherwise via URI. +
+ + Full Size + + + Auto
+ VBAA
+ MSAA
+ NONE
+ +
+ Demonstration of GPU accelerated Text and UI rendering and interaction + using JOGL's new Graph package. +
+ + Full Size + + + NApplet
+ Dual
+
+ Demoscene Passivist's ElektronenMultiplizierer +
+
+ +
+Click on Screenshot for the full sized screenshot.
+Click on the Launch link to actually launch the demo.
+ + + + + + + + + + + + + + + + + + + + + +
LaunchDescription
JApplet Applet using JNLP-Applet mechanism.
NApplet Applet using traditional Applet/Object or Embed tag, where native JARs are post-loaded by GlueGen/JOGL.
Dual Applet using JNLP-Applet & JogAmp's NApplet mechanism. (JApplet + NApplet)
WebStart Application using JNLP's WebStart mechanism.
+
+ + + +
+
+ + + +
+ + + diff --git a/libs/jogamp-all-platforms/joal-java-src.zip b/libs/jogamp-all-platforms/joal-java-src.zip new file mode 100644 index 00000000..5ca03973 Binary files /dev/null and b/libs/jogamp-all-platforms/joal-java-src.zip differ diff --git a/libs/jogamp-all-platforms/joal.LICENSE.txt b/libs/jogamp-all-platforms/joal.LICENSE.txt new file mode 100644 index 00000000..c4d1404a --- /dev/null +++ b/libs/jogamp-all-platforms/joal.LICENSE.txt @@ -0,0 +1,35 @@ +JOAL is released under the BSD license. The full license terms follow: + + Copyright (c) 2003-2006 Sun Microsystems, Inc. All Rights Reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + - Redistribution of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistribution in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + Neither the name of Sun Microsystems, Inc. or the names of + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + This software is provided "AS IS," without a warranty of any kind. ALL + EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, + INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A + PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN + MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR + ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR + DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR + ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR + DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE + 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. diff --git a/libs/jogamp-all-platforms/joal.README.txt b/libs/jogamp-all-platforms/joal.README.txt new file mode 100644 index 00000000..21071911 --- /dev/null +++ b/libs/jogamp-all-platforms/joal.README.txt @@ -0,0 +1,189 @@ +/** +* Copyright (c) 2003 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 PARTICULAR PURPOSE OR +* NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN") AND ITS +* LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A +* RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. +* IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT +* OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR +* PUNITIVE 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. +*/ + +Project: com.jogamp.openal.* & com.jogamp.openal.sound3d.* +Purpose Open Source Java Bindings for OpenAL and Object-Oriented 3D sound toolkit +Author: + -- JOAL/Sound3D API Original Author + Athomas Goldberg + Wildcard + Java Games Initiative + Software Advanced Technologies Group, + Sun Microsystems + -- This file updated 08/19/2003 by Ole Arndt + -- This file updated 11/23/2003 by Gregory Pierce + -- This file updated 12/21/2005 by Kenneth Russell + +Introduction: +============= + +This is the source tree for the Java Game Initiative (JGI) Open Source +client game programming APIs for OpenAL and Sound3D. + + +Build Requirements: +=================== + +This project has been built under Win32, Linux, and OSX. The following +packages and tools have been used: + +* All Systems: + -- Sun J2SDK 1.4.2 (available at java.sun.com) + -- ANT 1.5.3 (available at apache.org) + -- JUnit 3.8.1 (available at junit.org) copy junit.jar to the apache-ant lib directory + +* Windows: + -- Win32 (Win XP in the case of our machine) + -- OpenAL1.0 SDK from Creative Labs (available at http://developer.creative.com + under "Gaming -> Development Kits -> Open AL") + -- MinGW 2.0.0 plus the following updates: (all available at www.mingw.org) + -- binutils 2.13.90 + -- w32api-2.2 + -- mingw-runtime-2.4 + +* Linux: + -- Linux i386 (Redhat 9.0) + -- gcc 3.2.2, binutils 2.13.90 + -- OpenAL CVS version from opensource.creative.com (see CVS instructions at + www.openal.org) + + -- OpenAL Soft: OpenAL: ALSA, OSS, PulseAudio, WaveFile, Null + + apt-get install cmake autoconf \ + libpulse-dev libpulse0:amd64 libpulse0:i386 pulseaudio \ + libasound2-dev libasound2:amd64 libasound2:i386 + +* OSX + -- OSX 10.2 or later + -- OSX Developer Tools + -- OpenAL1.0 SDK from Creative Labs (avaulable at http://developer.creative.com under "Gaming->Development Kits->Open AL") + +JOAL requires the GlueGen workspace to be checked out as a sibling +directory to the joal directory ("cvs co gluegen"). GlueGen will be +built automatially during the JOAL build process. + +Directory Organization: +======================= + + -- make Build-related files and the main build.xml + -- src The actual source for the JOAL APIs. + -- build (generated directory) Where the Jar and DLL files get built to + -- javadoc_public (generated directory) Where the public Javadoc gets built to + -- unit_tests A couple of small tests + -- www JOAL project webpage files + +Preparations: +============= + +* Windows: + Grab the OpenAL SDK from the openal.org downloads and install it. + +* Linux: + OpenAL comes with various Linux distributions. You might have it already. + If not, try rpmfind, apt-get or emerge. + + More up-to-date versions are available from openal.org in the + downloads section. Install first the openal-[version].i586.rpm and + then the openal-devel-[version]-i586.rpm. Unfortunately, due to + confusion in the OpenAL version numbering, the version from + openal.org may seem to be "older" than the version preinstalled on + the Linux distribution, even though it is more recent. To work + around this problem, do the following steps: + + # rpm --force --upgrade openal-0.0.8-1.i586.rpm + # rpm -i openal-devel-0.0.8-1.i586.rpm + + Now test to make sure the RPMs are installed: + + # rpm -qa | grep -i openal + openal-0.0.8-1 + openal-devel-0.0.8-1 + + For the newest version you need to compile OpenAL yourself from CVS: + + -- follow the instruction at www.openal.org to check out a fresh copy + -- in the linux subdir type './autogen.sh + -- look at the build options with ./configure --help + -- configure it with./configure --enable-sdl --enable-vorbis [-enable-more] + (see openal.spec for a full set) + -- build it with make && make test and run the tests + -- as root type make install + -- add /usr/local/lib to you /etc/ld.so.conf and run ldconfig + +* OSX: + Grab the OpenAL SDK from openal.org and install it. + + +GIT +==== + +JOAL can be build w/ openal-soft, which is a git submodule of JOAL. +This is the default for our JogAmp build. + +Cloning [and pulling] JOAL incl. openal-soft +can be performed w/ the option '--recurse-submodules'. + + git clone --recurse-submodules git://jogamp.org/srv/scm/joal.git + cd joal ; git pull --recurse-submodules + +JOAL Build Instructions: +=================== + +Download the current ANTLR jar file (http://www.antlr.org/). + +Copy the gluegen.properties file from the make/ subdirectory of the +GlueGen workspace into your home directory, or in particular where the +Java system property user.home points to (on Windows, this is +C:\Documents and Settings\username\). Edit the value of the antlr.jar +property this file to point to the full path of the ANTLR jar. ANTLR +is used during the glue code generation process. + +Copy the joal.properties file from the make/ subdirectory into your +home directory, or in particular where the Java system property +user.home points to (on Windows, this is C:\Documents and +Settings\username\). +On Windows, you may want to edit the win32.c.compiler property to +indicate the C compiler you prefer to use (vc6, vc7 or mingw). + +On OS X, you can produce 'fat' dual PowerPC/x86 binaries on an +appropriately-equipped machine by uncommenting the declaration of the +'macosxfat' property. + +To clean: ant clean +To build: ant all (or just ant) +To build docs: ant javadoc +To test: ant runtests + +Release Info: + Initial Release: This release contains an implementation of the Java + bindings for OpenAL, as well as the Sound3D Object-Oriented toolkit for games. diff --git a/libs/jogamp-all-platforms/joal.artifact.properties b/libs/jogamp-all-platforms/joal.artifact.properties new file mode 100644 index 00000000..6b2c1bce --- /dev/null +++ b/libs/jogamp-all-platforms/joal.artifact.properties @@ -0,0 +1,10 @@ +gluegen.build.version=2.3.2 +gluegen.build.number=900 +gluegen.build.id=900 +gluegen.build.branch=origin/master +gluegen.build.commit=cc1e9bc698b7f11097c1e114027e53121552f280 +joal.build.version=2.3.2 +joal.build.number=626 +joal.build.id=626 +joal.build.branch=origin/master +joal.build.commit=1dace826e127704c4058c684c993816581c31094 diff --git a/libs/jogamp-all-platforms/jocl-java-src.zip b/libs/jogamp-all-platforms/jocl-java-src.zip new file mode 100644 index 00000000..ac49fae1 Binary files /dev/null and b/libs/jogamp-all-platforms/jocl-java-src.zip differ diff --git a/libs/jogamp-all-platforms/jocl.LICENSE.txt b/libs/jogamp-all-platforms/jocl.LICENSE.txt new file mode 100644 index 00000000..b32d6b20 --- /dev/null +++ b/libs/jogamp-all-platforms/jocl.LICENSE.txt @@ -0,0 +1,63 @@ + +JOCL is licensed under the simplified BSD license. + + Copyright 2009 - 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: + + 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 + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + 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. + + You can address the JogAmp Community via: + Web http://jogamp.org/ + Forum/Mailinglist http://jogamp.762907.n3.nabble.com/ + Chatrooms + IRC irc.freenode.net #jogamp + Jabber conference.jabber.org room: jogamp (deprecated!) + Repository http://github.com/JogAmp/jocl + Email mediastream _at_ jogamp _dot_ org + + + JOCL uses header files from Khronos, reflecting OpenCL and OpenGL, for code generation with GlueGen. + + http://www.khronos.org/legal/license/ + + Copyright (c) 2007-2010 The Khronos Group Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Materials. + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. diff --git a/libs/jogamp-all-platforms/jocl.README.txt b/libs/jogamp-all-platforms/jocl.README.txt new file mode 100644 index 00000000..77c53891 --- /dev/null +++ b/libs/jogamp-all-platforms/jocl.README.txt @@ -0,0 +1,23 @@ + ___ ___ ___ + / /\ / /\ ___ / /\ http://jocl.jogamp.org/ + / /:/ / /::\ /__/\ / /::\ a http://jogamp.org/ project. +/__/::\ / /:/\:\ \ \:\ / /:/\:\ +\__\/\:\ / /:/~/::\ \ \:\ / /:/~/::\ + \ \:\ /__/:/ /:/\:\ ___ \__\:\/__/:/ /:/\:\ + \__\:\\ \:\/:/__\//__/\ | |:|\ \:\/:/__\/ + / /:/ \ \::/ \ \:\| |:| \ \::/ + /__/:/ \ \:\ \ \:\__|:| \ \:\ + \__\/ \ \:\ \__\::::/ \ \:\ + \__\/ ~~~~ \__\/ + ___ ___ ___ ___ ___ + / /\ / /\ / /\ /__/\ / /\ + / /::\ / /::\ / /:/_ \ \:\ / /:/ + / /:/\:\ / /:/\:\ / /:/ /\ \ \:\ / /:/ ___ ___ + / /:/ \:\ / /:/~/:// /:/ /:/_ _____\__\:\ / /:/ ___ /__/\ / /\ + /__/:/ \__\:\/__/:/ /://__/:/ /:/ /\/__/::::::::\/__/:/ / /\\ \:\ / /:/ + \ \:\ / /:/\ \:\/:/ \ \:\/:/ /:/\ \:\~~\~~\/\ \:\ / /:/ \ \:\ /:/ + \ \:\ /:/ \ \::/ \ \::/ /:/ \ \:\ ~~~ \ \:\ /:/ \ \:\/:/ + \ \:\/:/ \ \:\ \ \:\/:/ \ \:\ \ \:\/:/ \ \::/ + \ \::/ \ \:\ \ \::/ \ \:\ \ \::/ \__\/ + \__\/ \__\/ \__\/ \__\/ \__\/ + diff --git a/libs/jogamp-all-platforms/jocl.artifact.properties b/libs/jogamp-all-platforms/jocl.artifact.properties new file mode 100644 index 00000000..748bf28e --- /dev/null +++ b/libs/jogamp-all-platforms/jocl.artifact.properties @@ -0,0 +1,10 @@ +gluegen.build.version=2.3.2 +gluegen.build.number=900 +gluegen.build.id=900 +gluegen.build.branch=origin/master +gluegen.build.commit=cc1e9bc698b7f11097c1e114027e53121552f280 +jocl.build.version=2.3.2 +jocl.build.number=1106 +jocl.build.id=1106 +jocl.build.branch=origin/master +jocl.build.commit=00de3f241f2c6132e1d548ae3f19c574e62275d6 diff --git a/libs/jogamp-all-platforms/jogl-java-src.zip b/libs/jogamp-all-platforms/jogl-java-src.zip new file mode 100644 index 00000000..ff74ccd8 Binary files /dev/null and b/libs/jogamp-all-platforms/jogl-java-src.zip differ diff --git a/libs/jogamp-all-platforms/jogl-test-java-src.zip b/libs/jogamp-all-platforms/jogl-test-java-src.zip new file mode 100644 index 00000000..28097441 Binary files /dev/null and b/libs/jogamp-all-platforms/jogl-test-java-src.zip differ diff --git a/libs/jogamp-all-platforms/jogl.LICENSE.txt b/libs/jogamp-all-platforms/jogl.LICENSE.txt new file mode 100644 index 00000000..02d605cd --- /dev/null +++ b/libs/jogamp-all-platforms/jogl.LICENSE.txt @@ -0,0 +1,430 @@ +The JOGL source code is mostly licensed under the 'New BSD 2-Clause License', +however it contains other licensed material as well. + +Other licensed material is compatible with the 'New BSD 2-Clause License', +if not stated otherwise. + +'New BSD 2-Clause License' incompatible materials are optional, they are: + + A.7) The JOGL source tree _may_ contain code from Oculus VR, Inc. + which is covered by it's own permissive Oculus VR Rift SDK Software License. + (Optional, see A.7 below for details) + +Below you find a detailed list of licenses used in this project. + ++++ + +The content of folder 'make/lib' contains build- and test-time only +Java binaries (JAR) to ease the build setup. +Each JAR file has it's corresponding LICENSE file containing the +source location and license text. None of these binaries are contained in any way +by the generated and deployed JOGL binaries. + ++++ + +L.1) The JOGL source tree contains code from the JogAmp Community + which is covered by the Simplified BSD 2-clause license: + + Copyright 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: + + 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 + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + 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. + + You can address the JogAmp Community via: + Web http://jogamp.org/ + Forum/Mailinglist http://forum.jogamp.org + Chatrooms + IRC irc.freenode.net #jogamp + Jabber conference.jabber.org room: jogamp (deprecated!) + Repository http://jogamp.org/git/ + Email mediastream _at_ jogamp _dot_ org + + +L.2) The JOGL source tree contains code from Sun Microsystems, Inc. + which is covered by the New BSD 3-clause license: + + Copyright (c) 2003-2009 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 + PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN + MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR + ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR + DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR + ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR + DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE + 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. + +L.3) The JOGL source tree contains code ported from the OpenGL sample + implementation by Silicon Graphics, Inc. This code is licensed under + the SGI Free Software License B, Version 2.0 + + License Applicability. Except to the extent portions of this file are + made subject to an alternative license as permitted in the SGI Free + Software License B, Version 2.0 (the "License"), the contents of this + file are subject only to the provisions of the License. You may not use + this file except in compliance with the License. You may obtain a copy + of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 + Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: + + http://oss.sgi.com/projects/FreeB + http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf + Or within this repository: doc/licenses/SGIFreeSWLicB.2.0.pdf + + Note that, as provided in the License, the Software is distributed on an + "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS + DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND + CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A + PARTICULAR PURPOSE, AND NON-INFRINGEMENT. + +L.4) The JOGL source tree contains code from the LWJGL project which is + similarly covered by the New BSD 3-clause license: + + Copyright (c) 2002-2004 LWJGL Project + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * 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. + + * Neither the name of 'LWJGL' nor the names of + its contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "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 THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 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. + +L.5) The JOGL source tree also contains a Java port of Brian Paul's Tile + Rendering library, used with permission of the author under the + New BSD 3-clause license instead of the original LGPL: + + Copyright (c) 1997-2005 Brian Paul. 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 Brian Paul 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 PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY + EXCLUDED. THE COPYRIGHT HOLDERS AND CONTRIBUTORS SHALL NOT BE + LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, + MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO + EVENT WILL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY + LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, + CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND + REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR + INABILITY TO USE THIS SOFTWARE, EVEN IF THE COPYRIGHT HOLDERS OR + CONTRIBUTORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +A.1) The JOGL source tree also contains header files from Khronos, + reflecting OpenKODE, EGL, OpenGL ES1, OpenGL ES2 and OpenGL. + + http://www.khronos.org/legal/license/ + + Files: + make/stub_includes/opengl/** + make/stub_includes/egl/** + make/stub_includes/khr/** + make/stub_includes/openmax/** + + Copyright (c) 2007-2010 The Khronos Group Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Materials. + + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + + +A.2) The JOGL source tree contains code from The Apache Software Foundation + which is covered by the Apache License Version 2.0 + + Apache Harmony - Open Source Java SE + ===================================== + + + + Author: The Apache Software Foundation (http://www.apache.org/). + + Copyright 2006, 2010 The Apache Software Foundation. + + Apache License Version 2.0, January 2004 + http://www.apache.org/licenses/LICENSE-2.0 + Or within this repository: doc/licenses/Apache.LICENSE-2.0 + + Files: + src/jogamp/graph/geom/plane/AffineTransform.java + src/jogamp/graph/geom/plane/IllegalPathStateException.java + src/jogamp/graph/geom/plane/NoninvertibleTransformException.java + src/jogamp/graph/geom/plane/PathIterator.java + src/jogamp/graph/geom/plane/Path2D.java + src/jogamp/graph/math/plane/Crossing.java + src/org/apache/harmony/misc/HashCode.java + + +A.3) The JOGL source tree contains code from David Schweinsberg + which is covered by the Apache License Version 1.1 and Version 2.0 + + Typecast + ======== + + Typecast is a font development environment for OpenType font technology. + + + + Author: David Schweinsberg + + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. + + Apache Licenses + http://www.apache.org/licenses/ + + Apache License Version 1.1 + http://www.apache.org/licenses/LICENSE-1.1 + Or within this repository: doc/licenses/Apache.LICENSE-1.1 + Files: + src/jogl/classes/jogamp/graph/font/typecast/ot/* + src/jogl/classes/jogamp/graph/font/typecast/ot/table/* + + Apache License Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + Or within this repository: doc/licenses/Apache.LICENSE-2.0 + src/jogl/classes/jogamp/graph/font/typecast/ot/* + src/jogl/classes/jogamp/graph/font/typecast/ot/mac/* + src/jogl/classes/jogamp/graph/font/typecast/ot/table/* + src/jogl/classes/jogamp/graph/font/typecast/tt/engine/* + +A.4) The JOGL source tree contains fonts from Ubuntu + which is covered by the UBUNTU FONT LICENCE Version 1.0 + + Ubuntu Font Family + ================== + + The Ubuntu Font Family are libre fonts funded by Canonical Ltd on behalf of the Ubuntu project. + + + + Copyright 2010 Canonical Ltd. + Licensed under the Ubuntu Font Licence 1.0 + + Author: Canonical Ltd., Dalton Maag + + UBUNTU FONT LICENCE + Version 1.0 + http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt + Or within this repository: doc/licenses/ubuntu-font-licence-1.0.txt + + Files: + src/jogamp/graph/font/fonts/ubuntu/* + +A.5) The JOGL source tree also contains header files from NVIDIA, + reflecting Cg. + + Files: + make/stub_includes/cg/CG/** + + Copyright (c) 2002, NVIDIA Corporation + + NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + of your agreement to the following terms, and your use, installation, + modification or redistribution of this NVIDIA software constitutes + acceptance of these terms. If you do not agree with these terms, please do + not use, install, modify or redistribute this NVIDIA software. + + In consideration of your agreement to abide by the following terms, and + subject to these terms, NVIDIA grants you a personal, non-exclusive license, + under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + Software"), to use, reproduce, modify and redistribute the NVIDIA + Software, with or without modifications, in source and/or binary forms; + provided that if you redistribute the NVIDIA Software, you must retain the + copyright notice of NVIDIA, this notice and the following text and + disclaimers in all such redistributions of the NVIDIA Software. Neither the + name, trademarks, service marks nor logos of NVIDIA Corporation may be used + to endorse or promote products derived from the NVIDIA Software without + specific prior written permission from NVIDIA. Except as expressly stated + in this notice, no other rights or licenses express or implied, are granted + by NVIDIA herein, including but not limited to any patent rights that may be + infringed by your derivative works or by other works in which the NVIDIA + Software may be incorporated. No hardware is licensed hereunder. + + THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + + IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + +A.6) The JOGL source tree contains code from Hernan J. Gonzalez and Shawn Hartsock + which is covered by the Apache License Version 2.0 + + PNGJ + ==== + + PNGJ: Java library for reading and writing PNG images. + + Version 1.12 (3 Dec 2012) + + + + Author: Hernan J. Gonzalez and Shawn Hartsock + + Copyright (C) 2004 The Apache Software Foundation. All rights reserved. + + Apache Licenses + http://www.apache.org/licenses/ + + Apache License Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + Or within this repository: doc/licenses/Apache.LICENSE-2.0 + src/jogl/classes/jogamp/opengl/util/pngj/** + + +A.7) The JOGL source tree _may_ contain code from Oculus VR, Inc. + which is covered by it's own permissive Oculus VR Rift SDK Software License. + + This code _can_ be included to produce a binding + and hence support for the Oculus VR Rift. + + The code is included _and_ it's build artifacts will be released, + if the git sub-module oculusvr-sdk is included in the jogl source repository + as true for current official JogAmp builds and releases! + + If using JogAmp JOGL builds with oculusvr-sdk support, + but the user prefers to _not_ use it for license or other reasons, + the user can simply remove the artifacts 'jar/atomics/oculusvr*jar'. + No other produced artifact is affected. + + While the Oculus VR Rift SDK Software License is permissive, + it's differences to the New BSD license shall be mentioned, see below! + + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + Copyright © 2014 Oculus VR, Inc. All rights reserved. + + Oculus VR, Inc. Software Development Kit License Agreement + + Human-Readable Summary: + + - You are Free to: + + - Use, modify, and distribute the Oculus VR Rift SDK in source and binary + form with your applications/software. + + - With the Following Restrictions: + + - You can only distribute or re-distribute the source code to LibOVR in + whole, not in part. + + - Modifications to the Oculus VR Rift SDK in source or binary form must + be shared with Oculus VR. + + - If your applications cause health and safety issues, you may lose your + right to use the Oculus VR Rift SDK, including LibOVR. + + - The Oculus VR Rift SDK may not be used to interface with unapproved commercial + virtual reality mobile or non-mobile products or hardware. + + - This human-readable Summary is not a license. It is simply a convenient + reference for understanding the full Oculus VR Rift SDK License Agreement. + The Summary is written as a user-friendly interface to the full Oculus VR Rift + SDK License below. This Summary itself has no legal value, and its contents do + not appear in the actual license. + + Full-length Legal Copy may be found at: + http://www.oculusvr.com/licenses/LICENSE-3.1 + http://jogamp.org/git/?p=oculusvr-sdk.git;a=blob;f=LICENSE.txt;hb=HEAD + Or within this repository: oculusvr-sdk/LICENSE.txt + diff --git a/libs/jogamp-all-platforms/jogl.README.txt b/libs/jogamp-all-platforms/jogl.README.txt new file mode 100644 index 00000000..7fb24a8f --- /dev/null +++ b/libs/jogamp-all-platforms/jogl.README.txt @@ -0,0 +1,69 @@ + +Java (TM) Binding for the OpenGL (r) API, version 2.3 +----------------------------------------------------------------------------- + +This software is licensed as specified in the LICENSE.txt file. +You must use this software in accordance with the terms +under which the code is licensed. + +This is build version 2.3.2, based on: + branch origin/master + commit e794fc40ba723f2fca4ac892e873975fb393e007 + +Instructions for unzipping Java Binding for the OpenGL API, version 2.3 +---------------------------------------------------------------------------------- + +After downloading and unzipping the zip file containing the +JOGL release for your target platform, you will see the +following files in the top directory: + + LICENSE.txt + Userguide.html + README.txt README file (you are reading it now) + +and the following subdirectory: + + etc contains JOGL shell scripts + jar contains JOGL implementation, JAR files + lib contains JOGL implementation, native libraries + jnlp-files contains JOGL jnlp-file templates + +additionally the following Java source zip archives are added, +allowing convenient IDE integration (javadoc, class/method help, etc). +Generated Java source code is included as well. + + nativewindow-java-src.zip contains NativeWindow Java sources, reflecting nativewindow.all.jar + jogl-java-src.zip contains JOGL Java sources, reflecting jogl.all.jar + newt-java-src.zip contains NEWT Java sources, reflecting newt.all.jar + +For instructions on how to use these implementation files +to build or run a JOGL program look at: + http://jogamp.org/ + http://jogamp.org/jogl/ + http://jogamp.org/wiki/index.php/Jogl_Tutorial + http://jogamp.org/wiki/index.php/Jogl_FAQ + +You can verify the version of the build via the JOGL self test: + etc/test.sh (Linux, FreeBSD, MacOSX, ..) + etc\test.bat (Windows) + +You may also have a look at the (outdated) enclosed JOGL user guide, Userguide.html + +Project source code and getting assistance +------------------------------------------ + +JOGL source code can be found at: + + http://jogamp.org/git/ + http://github.com/sgothel/jogl + http://github.com/sgothel/gluegen + + +You can address the JogAmp Community via: +------------------------------------------ + Web http://jogamp.org/ + Forum/Mailinglist http://jogamp.762907.n3.nabble.com/ + JogAmp Channel server: conference.jabber.org room: jogamp + Repository http://jogamp.org/git/ + Email mediastream _at_ jogamp _dot_ org + diff --git a/libs/jogamp-all-platforms/jogl.artifact.properties b/libs/jogamp-all-platforms/jogl.artifact.properties new file mode 100644 index 00000000..a0c528e1 --- /dev/null +++ b/libs/jogamp-all-platforms/jogl.artifact.properties @@ -0,0 +1,10 @@ +gluegen.build.version=2.3.2 +gluegen.build.number=900 +gluegen.build.id=900 +gluegen.build.branch=origin/master +gluegen.build.commit=cc1e9bc698b7f11097c1e114027e53121552f280 +jogl.build.version=2.3.2 +jogl.build.number=1469 +jogl.build.id=1469 +jogl.build.branch=origin/master +jogl.build.commit=e794fc40ba723f2fca4ac892e873975fb393e007 diff --git a/libs/jogamp-all-platforms/lib/README.txt b/libs/jogamp-all-platforms/lib/README.txt new file mode 100644 index 00000000..0275f7da --- /dev/null +++ b/libs/jogamp-all-platforms/lib/README.txt @@ -0,0 +1 @@ +This folder contains platform folders with deprecated plain native libraries, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/android-aarch64/README.txt b/libs/jogamp-all-platforms/lib/android-aarch64/README.txt new file mode 100644 index 00000000..7c36aa80 --- /dev/null +++ b/libs/jogamp-all-platforms/lib/android-aarch64/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform android-aarch64, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/android-aarch64/libgluegen-rt.so b/libs/jogamp-all-platforms/lib/android-aarch64/libgluegen-rt.so new file mode 100644 index 00000000..9b6ed60f Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-aarch64/libgluegen-rt.so differ diff --git a/libs/jogamp-all-platforms/lib/android-aarch64/libjoal.so b/libs/jogamp-all-platforms/lib/android-aarch64/libjoal.so new file mode 100644 index 00000000..10d050d0 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-aarch64/libjoal.so differ diff --git a/libs/jogamp-all-platforms/lib/android-aarch64/libjocl.so b/libs/jogamp-all-platforms/lib/android-aarch64/libjocl.so new file mode 100644 index 00000000..65759500 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-aarch64/libjocl.so differ diff --git a/libs/jogamp-all-platforms/lib/android-aarch64/libjogl_mobile.so b/libs/jogamp-all-platforms/lib/android-aarch64/libjogl_mobile.so new file mode 100644 index 00000000..0c01f44c Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-aarch64/libjogl_mobile.so differ diff --git a/libs/jogamp-all-platforms/lib/android-aarch64/libnewt.so b/libs/jogamp-all-platforms/lib/android-aarch64/libnewt.so new file mode 100644 index 00000000..449f5981 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-aarch64/libnewt.so differ diff --git a/libs/jogamp-all-platforms/lib/android-aarch64/libopenal.so b/libs/jogamp-all-platforms/lib/android-aarch64/libopenal.so new file mode 100644 index 00000000..63ef176d Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-aarch64/libopenal.so differ diff --git a/libs/jogamp-all-platforms/lib/android-armv6/README.txt b/libs/jogamp-all-platforms/lib/android-armv6/README.txt new file mode 100644 index 00000000..41f51df8 --- /dev/null +++ b/libs/jogamp-all-platforms/lib/android-armv6/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform android-armv6, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/android-armv6/libgluegen-rt.so b/libs/jogamp-all-platforms/lib/android-armv6/libgluegen-rt.so new file mode 100644 index 00000000..eebcdb50 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-armv6/libgluegen-rt.so differ diff --git a/libs/jogamp-all-platforms/lib/android-armv6/libjoal.so b/libs/jogamp-all-platforms/lib/android-armv6/libjoal.so new file mode 100644 index 00000000..f466c358 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-armv6/libjoal.so differ diff --git a/libs/jogamp-all-platforms/lib/android-armv6/libjocl.so b/libs/jogamp-all-platforms/lib/android-armv6/libjocl.so new file mode 100644 index 00000000..605c9fc1 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-armv6/libjocl.so differ diff --git a/libs/jogamp-all-platforms/lib/android-armv6/libjogl_mobile.so b/libs/jogamp-all-platforms/lib/android-armv6/libjogl_mobile.so new file mode 100644 index 00000000..d01dbc54 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-armv6/libjogl_mobile.so differ diff --git a/libs/jogamp-all-platforms/lib/android-armv6/libnewt.so b/libs/jogamp-all-platforms/lib/android-armv6/libnewt.so new file mode 100644 index 00000000..2e4c6cd2 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-armv6/libnewt.so differ diff --git a/libs/jogamp-all-platforms/lib/android-armv6/libopenal.so b/libs/jogamp-all-platforms/lib/android-armv6/libopenal.so new file mode 100644 index 00000000..7efd038e Binary files /dev/null and b/libs/jogamp-all-platforms/lib/android-armv6/libopenal.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/README.txt b/libs/jogamp-all-platforms/lib/linux-amd64/README.txt new file mode 100644 index 00000000..9b38bd75 --- /dev/null +++ b/libs/jogamp-all-platforms/lib/linux-amd64/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform linux-amd64, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/libgluegen-rt.so b/libs/jogamp-all-platforms/lib/linux-amd64/libgluegen-rt.so new file mode 100644 index 00000000..33f9c3bc Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-amd64/libgluegen-rt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/libjoal.so b/libs/jogamp-all-platforms/lib/linux-amd64/libjoal.so new file mode 100644 index 00000000..3c29bcfc Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-amd64/libjoal.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/libjocl.so b/libs/jogamp-all-platforms/lib/linux-amd64/libjocl.so new file mode 100644 index 00000000..dbf088d1 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-amd64/libjocl.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/libjogl_cg.so b/libs/jogamp-all-platforms/lib/linux-amd64/libjogl_cg.so new file mode 100644 index 00000000..e4a9c03c Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-amd64/libjogl_cg.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/libjogl_desktop.so b/libs/jogamp-all-platforms/lib/linux-amd64/libjogl_desktop.so new file mode 100644 index 00000000..1c794668 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-amd64/libjogl_desktop.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/libjogl_mobile.so b/libs/jogamp-all-platforms/lib/linux-amd64/libjogl_mobile.so new file mode 100644 index 00000000..2635775a Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-amd64/libjogl_mobile.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/libnativewindow_awt.so b/libs/jogamp-all-platforms/lib/linux-amd64/libnativewindow_awt.so new file mode 100644 index 00000000..82eabef4 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-amd64/libnativewindow_awt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/libnativewindow_x11.so b/libs/jogamp-all-platforms/lib/linux-amd64/libnativewindow_x11.so new file mode 100644 index 00000000..559767b5 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-amd64/libnativewindow_x11.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/libnewt.so b/libs/jogamp-all-platforms/lib/linux-amd64/libnewt.so new file mode 100644 index 00000000..240015dd Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-amd64/libnewt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-amd64/libopenal.so b/libs/jogamp-all-platforms/lib/linux-amd64/libopenal.so new file mode 100644 index 00000000..4deae4cb Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-amd64/libopenal.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/README.txt b/libs/jogamp-all-platforms/lib/linux-armv6/README.txt new file mode 100644 index 00000000..1e42ce8d --- /dev/null +++ b/libs/jogamp-all-platforms/lib/linux-armv6/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform linux-armv6, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/libgluegen-rt.so b/libs/jogamp-all-platforms/lib/linux-armv6/libgluegen-rt.so new file mode 100644 index 00000000..0b018657 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6/libgluegen-rt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/libjoal.so b/libs/jogamp-all-platforms/lib/linux-armv6/libjoal.so new file mode 100644 index 00000000..465cf345 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6/libjoal.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/libjocl.so b/libs/jogamp-all-platforms/lib/linux-armv6/libjocl.so new file mode 100644 index 00000000..d5e4e1d6 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6/libjocl.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/libjogl_cg.so b/libs/jogamp-all-platforms/lib/linux-armv6/libjogl_cg.so new file mode 100644 index 00000000..cd5d9b27 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6/libjogl_cg.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/libjogl_desktop.so b/libs/jogamp-all-platforms/lib/linux-armv6/libjogl_desktop.so new file mode 100644 index 00000000..ad63bc3a Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6/libjogl_desktop.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/libjogl_mobile.so b/libs/jogamp-all-platforms/lib/linux-armv6/libjogl_mobile.so new file mode 100644 index 00000000..63db0481 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6/libjogl_mobile.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/libnativewindow_awt.so b/libs/jogamp-all-platforms/lib/linux-armv6/libnativewindow_awt.so new file mode 100644 index 00000000..030f1540 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6/libnativewindow_awt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/libnativewindow_x11.so b/libs/jogamp-all-platforms/lib/linux-armv6/libnativewindow_x11.so new file mode 100644 index 00000000..27522300 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6/libnativewindow_x11.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/libnewt.so b/libs/jogamp-all-platforms/lib/linux-armv6/libnewt.so new file mode 100644 index 00000000..7c3b4b44 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6/libnewt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6/libopenal.so b/libs/jogamp-all-platforms/lib/linux-armv6/libopenal.so new file mode 100644 index 00000000..1ca223d8 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6/libopenal.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/README.txt b/libs/jogamp-all-platforms/lib/linux-armv6hf/README.txt new file mode 100644 index 00000000..f1f07058 --- /dev/null +++ b/libs/jogamp-all-platforms/lib/linux-armv6hf/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform linux-armv6hf, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/libgluegen-rt.so b/libs/jogamp-all-platforms/lib/linux-armv6hf/libgluegen-rt.so new file mode 100644 index 00000000..716e329d Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6hf/libgluegen-rt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/libjoal.so b/libs/jogamp-all-platforms/lib/linux-armv6hf/libjoal.so new file mode 100644 index 00000000..6953323b Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6hf/libjoal.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/libjocl.so b/libs/jogamp-all-platforms/lib/linux-armv6hf/libjocl.so new file mode 100644 index 00000000..d1e90ed5 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6hf/libjocl.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/libjogl_cg.so b/libs/jogamp-all-platforms/lib/linux-armv6hf/libjogl_cg.so new file mode 100644 index 00000000..771d7bda Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6hf/libjogl_cg.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/libjogl_desktop.so b/libs/jogamp-all-platforms/lib/linux-armv6hf/libjogl_desktop.so new file mode 100644 index 00000000..12b97cba Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6hf/libjogl_desktop.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/libjogl_mobile.so b/libs/jogamp-all-platforms/lib/linux-armv6hf/libjogl_mobile.so new file mode 100644 index 00000000..f55c8bdc Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6hf/libjogl_mobile.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/libnativewindow_awt.so b/libs/jogamp-all-platforms/lib/linux-armv6hf/libnativewindow_awt.so new file mode 100644 index 00000000..a8801dd1 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6hf/libnativewindow_awt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/libnativewindow_x11.so b/libs/jogamp-all-platforms/lib/linux-armv6hf/libnativewindow_x11.so new file mode 100644 index 00000000..0d9ba2fc Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6hf/libnativewindow_x11.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/libnewt.so b/libs/jogamp-all-platforms/lib/linux-armv6hf/libnewt.so new file mode 100644 index 00000000..c4769727 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6hf/libnewt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-armv6hf/libopenal.so b/libs/jogamp-all-platforms/lib/linux-armv6hf/libopenal.so new file mode 100644 index 00000000..154c198f Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-armv6hf/libopenal.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-i586/README.txt b/libs/jogamp-all-platforms/lib/linux-i586/README.txt new file mode 100644 index 00000000..d8becdb8 --- /dev/null +++ b/libs/jogamp-all-platforms/lib/linux-i586/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform linux-i586, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/linux-i586/libgluegen-rt.so b/libs/jogamp-all-platforms/lib/linux-i586/libgluegen-rt.so new file mode 100644 index 00000000..4aa6c7d5 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-i586/libgluegen-rt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-i586/libjoal.so b/libs/jogamp-all-platforms/lib/linux-i586/libjoal.so new file mode 100644 index 00000000..8e369159 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-i586/libjoal.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-i586/libjocl.so b/libs/jogamp-all-platforms/lib/linux-i586/libjocl.so new file mode 100644 index 00000000..674cb5f4 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-i586/libjocl.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-i586/libjogl_cg.so b/libs/jogamp-all-platforms/lib/linux-i586/libjogl_cg.so new file mode 100644 index 00000000..1e4d4d02 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-i586/libjogl_cg.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-i586/libjogl_desktop.so b/libs/jogamp-all-platforms/lib/linux-i586/libjogl_desktop.so new file mode 100644 index 00000000..f94fa4d0 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-i586/libjogl_desktop.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-i586/libjogl_mobile.so b/libs/jogamp-all-platforms/lib/linux-i586/libjogl_mobile.so new file mode 100644 index 00000000..2fdf9b3d Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-i586/libjogl_mobile.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-i586/libnativewindow_awt.so b/libs/jogamp-all-platforms/lib/linux-i586/libnativewindow_awt.so new file mode 100644 index 00000000..60d40286 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-i586/libnativewindow_awt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-i586/libnativewindow_x11.so b/libs/jogamp-all-platforms/lib/linux-i586/libnativewindow_x11.so new file mode 100644 index 00000000..f2528a1a Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-i586/libnativewindow_x11.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-i586/libnewt.so b/libs/jogamp-all-platforms/lib/linux-i586/libnewt.so new file mode 100644 index 00000000..22dbd764 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-i586/libnewt.so differ diff --git a/libs/jogamp-all-platforms/lib/linux-i586/libopenal.so b/libs/jogamp-all-platforms/lib/linux-i586/libopenal.so new file mode 100644 index 00000000..c08388be Binary files /dev/null and b/libs/jogamp-all-platforms/lib/linux-i586/libopenal.so differ diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/README.txt b/libs/jogamp-all-platforms/lib/macosx-universal/README.txt new file mode 100644 index 00000000..54a69a10 --- /dev/null +++ b/libs/jogamp-all-platforms/lib/macosx-universal/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform macosx-universal, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/libgluegen-rt.jnilib b/libs/jogamp-all-platforms/lib/macosx-universal/libgluegen-rt.jnilib new file mode 100644 index 00000000..f57083f0 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/macosx-universal/libgluegen-rt.jnilib differ diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/libjoal.jnilib b/libs/jogamp-all-platforms/lib/macosx-universal/libjoal.jnilib new file mode 100644 index 00000000..a34c0959 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/macosx-universal/libjoal.jnilib differ diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/libjocl.jnilib b/libs/jogamp-all-platforms/lib/macosx-universal/libjocl.jnilib new file mode 100644 index 00000000..6465db58 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/macosx-universal/libjocl.jnilib differ diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/libjogl_cg.jnilib b/libs/jogamp-all-platforms/lib/macosx-universal/libjogl_cg.jnilib new file mode 100644 index 00000000..50de910c Binary files /dev/null and b/libs/jogamp-all-platforms/lib/macosx-universal/libjogl_cg.jnilib differ diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/libjogl_desktop.jnilib b/libs/jogamp-all-platforms/lib/macosx-universal/libjogl_desktop.jnilib new file mode 100644 index 00000000..5d46be16 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/macosx-universal/libjogl_desktop.jnilib differ diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/libjogl_mobile.jnilib b/libs/jogamp-all-platforms/lib/macosx-universal/libjogl_mobile.jnilib new file mode 100644 index 00000000..83cd394c Binary files /dev/null and b/libs/jogamp-all-platforms/lib/macosx-universal/libjogl_mobile.jnilib differ diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/libnativewindow_awt.jnilib b/libs/jogamp-all-platforms/lib/macosx-universal/libnativewindow_awt.jnilib new file mode 100644 index 00000000..ec4acf94 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/macosx-universal/libnativewindow_awt.jnilib differ diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/libnativewindow_macosx.jnilib b/libs/jogamp-all-platforms/lib/macosx-universal/libnativewindow_macosx.jnilib new file mode 100644 index 00000000..76809a3a Binary files /dev/null and b/libs/jogamp-all-platforms/lib/macosx-universal/libnativewindow_macosx.jnilib differ diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/libnewt.jnilib b/libs/jogamp-all-platforms/lib/macosx-universal/libnewt.jnilib new file mode 100644 index 00000000..e9169f76 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/macosx-universal/libnewt.jnilib differ diff --git a/libs/jogamp-all-platforms/lib/macosx-universal/libopenal.dylib b/libs/jogamp-all-platforms/lib/macosx-universal/libopenal.dylib new file mode 100644 index 00000000..b67a65d9 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/macosx-universal/libopenal.dylib differ diff --git a/libs/jogamp-all-platforms/lib/solaris-amd64/README.txt b/libs/jogamp-all-platforms/lib/solaris-amd64/README.txt new file mode 100644 index 00000000..e144e670 --- /dev/null +++ b/libs/jogamp-all-platforms/lib/solaris-amd64/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform solaris-amd64, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/solaris-amd64/libgluegen-rt.so b/libs/jogamp-all-platforms/lib/solaris-amd64/libgluegen-rt.so new file mode 100644 index 00000000..976f712d Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-amd64/libgluegen-rt.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-amd64/libjoal.so b/libs/jogamp-all-platforms/lib/solaris-amd64/libjoal.so new file mode 100644 index 00000000..2fd97063 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-amd64/libjoal.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-amd64/libjocl.so b/libs/jogamp-all-platforms/lib/solaris-amd64/libjocl.so new file mode 100644 index 00000000..aa024cae Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-amd64/libjocl.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-amd64/libjogl_cg.so b/libs/jogamp-all-platforms/lib/solaris-amd64/libjogl_cg.so new file mode 100644 index 00000000..05333bcc Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-amd64/libjogl_cg.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-amd64/libjogl_desktop.so b/libs/jogamp-all-platforms/lib/solaris-amd64/libjogl_desktop.so new file mode 100644 index 00000000..4d7ff84c Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-amd64/libjogl_desktop.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-amd64/libjogl_mobile.so b/libs/jogamp-all-platforms/lib/solaris-amd64/libjogl_mobile.so new file mode 100644 index 00000000..1005198a Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-amd64/libjogl_mobile.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-amd64/libnativewindow_awt.so b/libs/jogamp-all-platforms/lib/solaris-amd64/libnativewindow_awt.so new file mode 100644 index 00000000..833f6c63 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-amd64/libnativewindow_awt.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-amd64/libnativewindow_x11.so b/libs/jogamp-all-platforms/lib/solaris-amd64/libnativewindow_x11.so new file mode 100644 index 00000000..38d12473 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-amd64/libnativewindow_x11.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-amd64/libnewt.so b/libs/jogamp-all-platforms/lib/solaris-amd64/libnewt.so new file mode 100644 index 00000000..baec36fc Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-amd64/libnewt.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-i586/README.txt b/libs/jogamp-all-platforms/lib/solaris-i586/README.txt new file mode 100644 index 00000000..649a0ac4 --- /dev/null +++ b/libs/jogamp-all-platforms/lib/solaris-i586/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform solaris-i586, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/solaris-i586/libgluegen-rt.so b/libs/jogamp-all-platforms/lib/solaris-i586/libgluegen-rt.so new file mode 100644 index 00000000..4f622a49 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-i586/libgluegen-rt.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-i586/libjoal.so b/libs/jogamp-all-platforms/lib/solaris-i586/libjoal.so new file mode 100644 index 00000000..e9ffc1d3 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-i586/libjoal.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-i586/libjocl.so b/libs/jogamp-all-platforms/lib/solaris-i586/libjocl.so new file mode 100644 index 00000000..fac5556d Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-i586/libjocl.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-i586/libjogl_cg.so b/libs/jogamp-all-platforms/lib/solaris-i586/libjogl_cg.so new file mode 100644 index 00000000..217613b2 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-i586/libjogl_cg.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-i586/libjogl_desktop.so b/libs/jogamp-all-platforms/lib/solaris-i586/libjogl_desktop.so new file mode 100644 index 00000000..a1a6a7c2 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-i586/libjogl_desktop.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-i586/libjogl_mobile.so b/libs/jogamp-all-platforms/lib/solaris-i586/libjogl_mobile.so new file mode 100644 index 00000000..2f672352 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-i586/libjogl_mobile.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-i586/libnativewindow_awt.so b/libs/jogamp-all-platforms/lib/solaris-i586/libnativewindow_awt.so new file mode 100644 index 00000000..54ad24d0 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-i586/libnativewindow_awt.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-i586/libnativewindow_x11.so b/libs/jogamp-all-platforms/lib/solaris-i586/libnativewindow_x11.so new file mode 100644 index 00000000..b258ce28 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-i586/libnativewindow_x11.so differ diff --git a/libs/jogamp-all-platforms/lib/solaris-i586/libnewt.so b/libs/jogamp-all-platforms/lib/solaris-i586/libnewt.so new file mode 100644 index 00000000..05a7769a Binary files /dev/null and b/libs/jogamp-all-platforms/lib/solaris-i586/libnewt.so differ diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/README.txt b/libs/jogamp-all-platforms/lib/windows-amd64/README.txt new file mode 100644 index 00000000..47572ee3 --- /dev/null +++ b/libs/jogamp-all-platforms/lib/windows-amd64/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform windows-amd64, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/gluegen-rt.dll b/libs/jogamp-all-platforms/lib/windows-amd64/gluegen-rt.dll new file mode 100644 index 00000000..d02d2ccf Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-amd64/gluegen-rt.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/joal.dll b/libs/jogamp-all-platforms/lib/windows-amd64/joal.dll new file mode 100644 index 00000000..f07d1a4e Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-amd64/joal.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/jocl.dll b/libs/jogamp-all-platforms/lib/windows-amd64/jocl.dll new file mode 100644 index 00000000..1f6121a4 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-amd64/jocl.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/jogl_cg.dll b/libs/jogamp-all-platforms/lib/windows-amd64/jogl_cg.dll new file mode 100644 index 00000000..a4952a48 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-amd64/jogl_cg.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/jogl_desktop.dll b/libs/jogamp-all-platforms/lib/windows-amd64/jogl_desktop.dll new file mode 100644 index 00000000..191dc441 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-amd64/jogl_desktop.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/jogl_mobile.dll b/libs/jogamp-all-platforms/lib/windows-amd64/jogl_mobile.dll new file mode 100644 index 00000000..9213fd35 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-amd64/jogl_mobile.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/nativewindow_awt.dll b/libs/jogamp-all-platforms/lib/windows-amd64/nativewindow_awt.dll new file mode 100644 index 00000000..b73f0348 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-amd64/nativewindow_awt.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/nativewindow_win32.dll b/libs/jogamp-all-platforms/lib/windows-amd64/nativewindow_win32.dll new file mode 100644 index 00000000..354f22fe Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-amd64/nativewindow_win32.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/newt.dll b/libs/jogamp-all-platforms/lib/windows-amd64/newt.dll new file mode 100644 index 00000000..cdf227cd Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-amd64/newt.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-amd64/soft_oal.dll b/libs/jogamp-all-platforms/lib/windows-amd64/soft_oal.dll new file mode 100644 index 00000000..93974250 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-amd64/soft_oal.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-i586/README.txt b/libs/jogamp-all-platforms/lib/windows-i586/README.txt new file mode 100644 index 00000000..7ca375ab --- /dev/null +++ b/libs/jogamp-all-platforms/lib/windows-i586/README.txt @@ -0,0 +1 @@ +This folder contains deprecated plain native libraries for platform windows-i586, please use the native JAR files in the jar folder. diff --git a/libs/jogamp-all-platforms/lib/windows-i586/gluegen-rt.dll b/libs/jogamp-all-platforms/lib/windows-i586/gluegen-rt.dll new file mode 100644 index 00000000..8307fe30 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-i586/gluegen-rt.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-i586/joal.dll b/libs/jogamp-all-platforms/lib/windows-i586/joal.dll new file mode 100644 index 00000000..3b32d521 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-i586/joal.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-i586/jocl.dll b/libs/jogamp-all-platforms/lib/windows-i586/jocl.dll new file mode 100644 index 00000000..1e753184 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-i586/jocl.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-i586/jogl_cg.dll b/libs/jogamp-all-platforms/lib/windows-i586/jogl_cg.dll new file mode 100644 index 00000000..88ef54b4 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-i586/jogl_cg.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-i586/jogl_desktop.dll b/libs/jogamp-all-platforms/lib/windows-i586/jogl_desktop.dll new file mode 100644 index 00000000..51ccc50d Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-i586/jogl_desktop.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-i586/jogl_mobile.dll b/libs/jogamp-all-platforms/lib/windows-i586/jogl_mobile.dll new file mode 100644 index 00000000..dd882421 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-i586/jogl_mobile.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-i586/nativewindow_awt.dll b/libs/jogamp-all-platforms/lib/windows-i586/nativewindow_awt.dll new file mode 100644 index 00000000..104ddce5 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-i586/nativewindow_awt.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-i586/nativewindow_win32.dll b/libs/jogamp-all-platforms/lib/windows-i586/nativewindow_win32.dll new file mode 100644 index 00000000..719f9673 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-i586/nativewindow_win32.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-i586/newt.dll b/libs/jogamp-all-platforms/lib/windows-i586/newt.dll new file mode 100644 index 00000000..1f20ac9f Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-i586/newt.dll differ diff --git a/libs/jogamp-all-platforms/lib/windows-i586/soft_oal.dll b/libs/jogamp-all-platforms/lib/windows-i586/soft_oal.dll new file mode 100644 index 00000000..af7a45c3 Binary files /dev/null and b/libs/jogamp-all-platforms/lib/windows-i586/soft_oal.dll differ diff --git a/libs/lwjgl/LICENSE b/libs/lwjgl/LICENSE deleted file mode 100644 index a983c18a..00000000 --- a/libs/lwjgl/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -Copyright (c) 2012-present Lightweight Java Game Library -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -- Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -- 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. - -- Neither the name Lightweight Java Game Library nor the names of - its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"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 THE COPYRIGHT OWNER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 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. \ No newline at end of file diff --git a/libs/lwjgl/build.txt b/libs/lwjgl/build.txt deleted file mode 100644 index e454bfa6..00000000 --- a/libs/lwjgl/build.txt +++ /dev/null @@ -1 +0,0 @@ -LWJGL 3.1.1 build 16 \ No newline at end of file diff --git a/libs/lwjgl/dyncall_license.txt b/libs/lwjgl/dyncall_license.txt deleted file mode 100644 index f119bb7c..00000000 --- a/libs/lwjgl/dyncall_license.txt +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2007-2015 Daniel Adler , - Tassilo Philipp - -Permission to use, copy, modify, and distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/libs/lwjgl/glfw_license.txt b/libs/lwjgl/glfw_license.txt deleted file mode 100644 index e7c49d62..00000000 --- a/libs/lwjgl/glfw_license.txt +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2010 Camilla Berglund - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. diff --git a/libs/lwjgl/jemalloc_license.txt b/libs/lwjgl/jemalloc_license.txt deleted file mode 100644 index c95c2baa..00000000 --- a/libs/lwjgl/jemalloc_license.txt +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (C) 2002-2014 Jason Evans . -All rights reserved. -Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. -Copyright (C) 2009-2014 Facebook, 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: -1. Redistributions of source code must retain the above copyright notice(s), - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice(s), - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``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 THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 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. \ No newline at end of file diff --git a/libs/lwjgl/khronos_license.txt b/libs/lwjgl/khronos_license.txt deleted file mode 100644 index 96c8f0cd..00000000 --- a/libs/lwjgl/khronos_license.txt +++ /dev/null @@ -1,22 +0,0 @@ -/* -** Copyright (c) 2013-2014 The Khronos Group Inc. -** -** Permission is hereby granted, free of charge, to any person obtaining a -** copy of this software and/or associated documentation files (the -** "Materials"), to deal in the Materials without restriction, including -** without limitation the rights to use, copy, modify, merge, publish, -** distribute, sublicense, and/or sell copies of the Materials, and to -** permit persons to whom the Materials are furnished to do so, subject to -** the following conditions: -** -** The above copyright notice and this permission notice shall be included -** in all copies or substantial portions of the Materials. -** -** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -*/ \ No newline at end of file diff --git a/res/skin.png b/res/skin.png index cc688515..3f137992 100644 Binary files a/res/skin.png and b/res/skin.png differ diff --git a/res/skin.xcf b/res/skin.xcf index 9048a6f3..8a724d7e 100644 Binary files a/res/skin.xcf and b/res/skin.xcf differ diff --git a/src/org/warp/picalculator/Main.java b/src/org/warp/picalculator/Main.java index 18dc6dee..44ab0e6a 100644 --- a/src/org/warp/picalculator/Main.java +++ b/src/org/warp/picalculator/Main.java @@ -1,15 +1,14 @@ package org.warp.picalculator; import org.warp.picalculator.device.Keyboard; -import org.warp.picalculator.device.PIDisplay; -import org.warp.picalculator.screens.LoadingScreen; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.screens.LoadingScreen; import com.pi4j.wiringpi.Gpio; public class Main { public static int[] screenPos = new int[] { 0, 0 }; public static final int[] screenSize = new int[] { 480, 320 }; - public static final int screenScale = 1; public static final boolean zoomed = true; public static Main instance; public static boolean haxMode = true; diff --git a/src/org/warp/picalculator/TestGPU.java b/src/org/warp/picalculator/TestGPU.java new file mode 100644 index 00000000..0d35c7b4 --- /dev/null +++ b/src/org/warp/picalculator/TestGPU.java @@ -0,0 +1,57 @@ +package org.warp.picalculator; + +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.Display; +import org.warp.picalculator.gui.graphicengine.Drawable; +import org.warp.picalculator.gui.graphicengine.RAWFont; +import org.warp.picalculator.gui.graphicengine.Renderer; +import org.warp.picalculator.gui.graphicengine.gpu.GPUDisplay; +import org.warp.picalculator.gui.graphicengine.gpu.GPURenderer; +import org.warp.picalculator.gui.screens.LoadingScreen; + +public class TestGPU { + + public static final GPUDisplay d = new GPUDisplay(); + + public static void main(String[] args) { + Utils.debugOn = true; + Utils.debugThirdScreen = false; + d.create(); + + Scene s = new Scene(d); + } + + private static class Scene implements Drawable { + + private RAWFont[] fonts; + private int[] textures; + + private GPURenderer r; + private Display d; + + public Scene(Display d) { + this.d = d; + this.r = (GPURenderer) d.getRenderer(); + d.start(this); + +// fonts = new RAWFont[1]; +// textures = new int[100]; +// fonts[0] = new RAWFont(); +// fonts[0].create("big"); + new Thread(()->{ + try { + Thread.sleep(60000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + System.exit(0); + }).start(); + } + + @Override + public void refresh() { + } + + } +} diff --git a/src/org/warp/picalculator/Utils.java b/src/org/warp/picalculator/Utils.java index 58892462..c35d2f75 100644 --- a/src/org/warp/picalculator/Utils.java +++ b/src/org/warp/picalculator/Utils.java @@ -1,7 +1,5 @@ package org.warp.picalculator; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawLine; - import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; @@ -14,8 +12,8 @@ import java.util.List; import org.nevec.rjm.BigDecimalMath; import org.nevec.rjm.Rational; -import org.warp.picalculator.device.PIDisplay; -import org.warp.picalculator.device.graphicengine.RAWFont; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.RAWFont; import org.warp.picalculator.math.functions.AnteriorFunction; import org.warp.picalculator.math.functions.Division; import org.warp.picalculator.math.functions.Expression; @@ -352,10 +350,10 @@ public class Utils { var.draw(x + wsegno, y + (hsegno - h1)); - glDrawLine(x + 1, y + hsegno - 3, x + 3, y + hsegno - 1); - glDrawLine(x + 3, y + (hsegno - 1) / 2 + 1, x + 3, y + hsegno - 1); - glDrawLine(x + 4, y, x + 4, y + (hsegno - 1) / 2); - glDrawLine(x + 4, y, x + 4 + 1 + w1 + 1, y); + PIDisplay.renderer.glDrawLine(x + 1, y + hsegno - 3, x + 3, y + hsegno - 1); + PIDisplay.renderer.glDrawLine(x + 3, y + (hsegno - 1) / 2 + 1, x + 3, y + hsegno - 1); + PIDisplay.renderer.glDrawLine(x + 4, y, x + 4, y + (hsegno - 1) / 2); + PIDisplay.renderer.glDrawLine(x + 4, y, x + 4 + 1 + w1 + 1, y); } public static final int getFontHeight() { diff --git a/src/org/warp/picalculator/device/Keyboard.java b/src/org/warp/picalculator/device/Keyboard.java index 417cf288..f5f41316 100644 --- a/src/org/warp/picalculator/device/Keyboard.java +++ b/src/org/warp/picalculator/device/Keyboard.java @@ -1,13 +1,15 @@ package org.warp.picalculator.device; import java.awt.event.KeyEvent; + import org.warp.picalculator.Utils; import org.warp.picalculator.device.chip.ParallelToSerial; import org.warp.picalculator.device.chip.SerialToParallel; -import org.warp.picalculator.device.graphicengine.Display; -import org.warp.picalculator.device.graphicengine.Screen; -import org.warp.picalculator.screens.KeyboardDebugScreen; -import org.warp.picalculator.screens.MarioScreen; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; +import org.warp.picalculator.gui.screens.KeyboardDebugScreen; +import org.warp.picalculator.gui.screens.MarioScreen; +import org.warp.picalculator.gui.screens.Screen; import com.pi4j.wiringpi.Gpio; @@ -686,7 +688,7 @@ public class Keyboard { } else { switch (k) { case POWER: - Display.destroy(); + PIDisplay.display.destroy(); break; case NONE: break; @@ -734,7 +736,7 @@ public class Keyboard { refresh = true; } if (refresh) { - Display.repaint(); + PIDisplay.display.repaint(); } } } @@ -758,7 +760,7 @@ public class Keyboard { } } if (refresh) { - Display.repaint(); + PIDisplay.display.repaint(); } } } diff --git a/src/org/warp/picalculator/device/PIDisplay.java b/src/org/warp/picalculator/gui/PIDisplay.java similarity index 71% rename from src/org/warp/picalculator/device/PIDisplay.java rename to src/org/warp/picalculator/gui/PIDisplay.java index dd2068cb..bf626c95 100644 --- a/src/org/warp/picalculator/device/PIDisplay.java +++ b/src/org/warp/picalculator/gui/PIDisplay.java @@ -1,17 +1,4 @@ -package org.warp.picalculator.device; - -import static org.warp.picalculator.device.graphicengine.Display.Render.getMatrixOfImage; -import static org.warp.picalculator.device.graphicengine.Display.Render.glClear; -import static org.warp.picalculator.device.graphicengine.Display.Render.glColor; -import static org.warp.picalculator.device.graphicengine.Display.Render.glColor3i; -import static org.warp.picalculator.device.graphicengine.Display.Render.glColor4i; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawLine; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawSkin; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringCenter; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringLeft; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringRight; -import static org.warp.picalculator.device.graphicengine.Display.Render.glFillRect; -import static org.warp.picalculator.device.graphicengine.Display.Render.glSetFont; +package org.warp.picalculator.gui; import java.awt.image.BufferedImage; import java.io.IOException; @@ -20,24 +7,22 @@ import javax.imageio.ImageIO; import org.warp.picalculator.Main; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.graphicengine.Display; -import org.warp.picalculator.device.graphicengine.RAWFont; -import org.warp.picalculator.device.graphicengine.Screen; +import org.warp.picalculator.device.Keyboard; +import org.warp.picalculator.gui.graphicengine.Display; +import org.warp.picalculator.gui.graphicengine.Drawable; +import org.warp.picalculator.gui.graphicengine.RAWFont; +import org.warp.picalculator.gui.graphicengine.Renderer; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; +import org.warp.picalculator.gui.screens.Screen; + import com.pi4j.wiringpi.Gpio; -/** - * STB Truetype oversampling demo. - * - *

- * This is a Java port of https:/ - * /github - * .com/nothings/stb/blob/master/tests/oversample/main.c. - *

- */ -public final class PIDisplay { +public final class PIDisplay implements Drawable { public static PIDisplay INSTANCE; private static float brightness; + + public static final Display display = new CPUDisplay(); + public static final Renderer renderer = display.getRenderer(); private static int[] skin; private static int[] skinSize; @@ -202,7 +187,7 @@ public final class PIDisplay { private void load_skin() throws IOException { BufferedImage img = ImageIO.read(Main.instance.getClass().getResource("/skin.png")); - skin = getMatrixOfImage(img); + skin = renderer.getMatrixOfImage(img); skinSize = new int[] { img.getWidth(), img.getHeight() }; } @@ -220,23 +205,23 @@ public final class PIDisplay { fonts[4].create("32"); fonts[5] = new RAWFont(); fonts[5].create("square"); - glSetFont(fonts[0]); + renderer.glSetFont(fonts[0]); } private void draw_init() { - glClear(); + renderer.glClear(); } public static void drawSkinPart(int x, int y, int sx1, int sy1, int sx2, int sy2) { - glDrawSkin(skinSize[0], skin, x, y, sx1, sy1, sx2, sy2, false); + renderer.glDrawSkin(skinSize[0], skin, x, y, sx1, sy1, sx2, sy2, false); } private void draw_status() { - glColor(0xFFc5c2af); - glFillRect(0, 0, Main.screenSize[0], 20); - glColor3i(0, 0, 0); - glDrawLine(0, 20, Main.screenSize[0]-1, 20); - glColor3i(0, 0, 0); + renderer.glColor(0xFFc5c2af); + renderer.glFillRect(0, 0, Main.screenSize[0], 20); + renderer.glColor3i(0, 0, 0); + renderer.glDrawLine(0, 20, Main.screenSize[0]-1, 20); + renderer.glColor3i(0, 0, 0); if (Keyboard.shift) { drawSkinPart(2 + 18 * 0, 2, 16 * 2, 16 * 0, 16 + 16 * 2, 16 + 16 * 0); } else { @@ -268,15 +253,9 @@ public final class PIDisplay { int padding = 2; - int brightness = (int) (Math.ceil(PIDisplay.brightness * 4)); - if (brightness <= 1) { - drawSkinPart(Main.screenSize[0] - (padding + 16), 2, 16 * 10, 16 * 0, 16 + 16 * 10, 16 + 16 * 0); - } else if (brightness == 2) { - drawSkinPart(Main.screenSize[0] - (padding + 16), 2, 16 * 11, 16 * 0, 16 + 16 * 11, 16 + 16 * 0); - } else if (brightness == 3) { - drawSkinPart(Main.screenSize[0] - (padding + 16), 2, 16 * 12, 16 * 0, 16 + 16 * 12, 16 + 16 * 0); - } else if (brightness >= 4) { - drawSkinPart(Main.screenSize[0] - (padding + 16), 2, 16 * 13, 16 * 0, 16 + 16 * 13, 16 + 16 * 0); + int brightness = (int) (Math.ceil(PIDisplay.brightness * 9)); + if (brightness <= 10) { + drawSkinPart(Main.screenSize[0] - (padding + 16), 2, 16 * brightness, 16 * 1, 16 + 16 * brightness, 16 + 16 * 1); } else { Utils.debug.println("Brightness error"); } @@ -303,6 +282,7 @@ public final class PIDisplay { padding += 18; + screen.renderStatusbar(); } private void draw_screen() { @@ -310,27 +290,27 @@ public final class PIDisplay { } private void draw_bottom() { - glDrawStringLeft(2, 90, displayDebugString); + renderer.glDrawStringLeft(2, 90, displayDebugString); } private void draw_world() { - glColor3i(255, 255, 255); + renderer.glColor3i(255, 255, 255); if (error != null) { - glSetFont(Utils.getFont(false, false)); - glColor3i(129, 28, 22); - glDrawStringRight(Main.screenSize[0] - 2, Main.screenSize[1]- PIDisplay.glyphsHeight[1] - 2, "ANDREA CAVALLI'S CALCULATOR"); - glColor3i(149, 32, 26); - glDrawStringCenter((Main.screenSize[0] / 2), 22, error); - glColor3i(164, 34, 28); + renderer.glSetFont(Utils.getFont(false, false)); + renderer.glColor3i(129, 28, 22); + renderer.glDrawStringRight(Main.screenSize[0] - 2, Main.screenSize[1]- PIDisplay.glyphsHeight[1] - 2, "ANDREA CAVALLI'S CALCULATOR"); + renderer.glColor3i(149, 32, 26); + renderer.glDrawStringCenter((Main.screenSize[0] / 2), 22, error); + renderer.glColor3i(164, 34, 28); int i = 22; for (String stackPart : errorStackTrace) { - glDrawStringLeft(2, 22 + i, stackPart); + renderer.glDrawStringLeft(2, 22 + i, stackPart); i += 11; } - glSetFont(fonts[0]); - glColor3i(129, 28, 22); - glDrawStringCenter((Main.screenSize[0] / 2), 11, "UNEXPECTED EXCEPTION"); + renderer.glSetFont(fonts[0]); + renderer.glColor3i(129, 28, 22); + renderer.glDrawStringCenter((Main.screenSize[0] / 2), 11, "UNEXPECTED EXCEPTION"); } else { draw_screen(); draw_status(); @@ -345,6 +325,7 @@ public final class PIDisplay { private long precTime = -1; + @Override public void refresh() { float dt = 0; long newtime = System.nanoTime(); @@ -368,9 +349,9 @@ public final class PIDisplay { } private void checkDisplayResized() { - if (Display.wasResized()) { - Main.screenSize[0] = Display.getWidth(); - Main.screenSize[1]= Display.getHeight(); + if (display.wasResized()) { + Main.screenSize[0] = display.getWidth(); + Main.screenSize[1]= display.getHeight(); } }; @@ -378,7 +359,7 @@ public final class PIDisplay { try { load_skin(); load_fonts(); - Display.create(); + display.create(); try { screen.initialize(); @@ -387,14 +368,14 @@ public final class PIDisplay { System.exit(0); } - Display.start(); + display.start(this); Main.instance.afterStart(); double extratime = 0; - while (Display.initialized) { + while (CPUDisplay.initialized) { long start = System.currentTimeMillis(); - Display.repaint(); + display.repaint(); long end = System.currentTimeMillis(); double delta = (end - start) / 1000d; int deltaInt = (int) Math.floor(delta); @@ -417,7 +398,7 @@ public final class PIDisplay { } public static void setBrightness(float newval) { - if (newval >= 0.1 && newval <= 1) { + if (newval >= 0 && newval <= 1) { brightness = newval; if (Utils.debugOn == false) { Gpio.pwmWrite(12, (int) Math.ceil(brightness*1024)); @@ -429,8 +410,8 @@ public final class PIDisplay { public static void cycleBrightness(boolean reverse) { final float step = reverse?-0.1f:0.1f; if (brightness + step > 1f) { - setBrightness(0.1f); - } else if (brightness + step < 0.1f) { + setBrightness(0f); + } else if (brightness + step <= 0f) { setBrightness(1.0f); } else { changeBrightness(step); @@ -447,6 +428,10 @@ public final class PIDisplay { public static void colore(float f1, float f2, float f3, float f4) { PIDisplay.INSTANCE.colore = new float[] { f1, f2, f3, f4 }; - glColor4i((int) (f1 * 255), (int) (f2 * 255), (int) (f3 * 255), (int) (f4 * 255)); + renderer.glColor4i((int) (f1 * 255), (int) (f2 * 255), (int) (f3 * 255), (int) (f4 * 255)); + } + + public static Drawable getDrawable() { + return INSTANCE; } } \ No newline at end of file diff --git a/src/org/warp/picalculator/gui/graphicengine/Display.java b/src/org/warp/picalculator/gui/graphicengine/Display.java new file mode 100644 index 00000000..efd60ef2 --- /dev/null +++ b/src/org/warp/picalculator/gui/graphicengine/Display.java @@ -0,0 +1,32 @@ +package org.warp.picalculator.gui.graphicengine; + +import java.awt.image.BufferedImage; + +public interface Display { + + public int[] getSize(); + + public boolean isInitialized(); + + public void setTitle(String title); + + public void setResizable(boolean r); + + public void setDisplayMode(final int ww, final int wh); + + public void create(); + + public boolean wasResized(); + + public int getWidth(); + + public int getHeight(); + + public void destroy(); + + public void start(Drawable d); + + public void repaint(); + + public Renderer getRenderer(); +} diff --git a/src/org/warp/picalculator/gui/graphicengine/Drawable.java b/src/org/warp/picalculator/gui/graphicengine/Drawable.java new file mode 100644 index 00000000..38d03518 --- /dev/null +++ b/src/org/warp/picalculator/gui/graphicengine/Drawable.java @@ -0,0 +1,5 @@ +package org.warp.picalculator.gui.graphicengine; + +public interface Drawable { + public void refresh(); +} diff --git a/src/org/warp/picalculator/device/graphicengine/RAWFont.java b/src/org/warp/picalculator/gui/graphicengine/RAWFont.java similarity index 95% rename from src/org/warp/picalculator/device/graphicengine/RAWFont.java rename to src/org/warp/picalculator/gui/graphicengine/RAWFont.java index 3e1b988f..d8477629 100644 --- a/src/org/warp/picalculator/device/graphicengine/RAWFont.java +++ b/src/org/warp/picalculator/gui/graphicengine/RAWFont.java @@ -1,4 +1,4 @@ -package org.warp.picalculator.device.graphicengine; +package org.warp.picalculator.gui.graphicengine; import java.awt.image.BufferedImage; import java.awt.image.DataBufferInt; @@ -28,6 +28,7 @@ public class RAWFont { public int charH; public int charS; public int charIntCount; + public boolean installed; public static final int intBits = 31; public void create(String name) { diff --git a/src/org/warp/picalculator/gui/graphicengine/Renderer.java b/src/org/warp/picalculator/gui/graphicengine/Renderer.java new file mode 100644 index 00000000..aa369fc0 --- /dev/null +++ b/src/org/warp/picalculator/gui/graphicengine/Renderer.java @@ -0,0 +1,43 @@ +package org.warp.picalculator.gui.graphicengine; + +import java.awt.FontMetrics; +import java.awt.image.BufferedImage; + +public interface Renderer { + public void glColor3i(int r, int gg, int b); + + public void glColor(int c); + + public int glGetClearColor(); + + public void glClearColor(int c); + + public void glColor4i(int red, int green, int blue, int alpha); + + public void glClearColor(int red, int green, int blue, int alpha); + + public void glClear(); + + public void glDrawSkin(int skinwidth, int[] skin, int x0, int y0, int s0, int t0, int s1, int t1, boolean transparent); + + public void glDrawLine(int x0, int y0, int x1, int y1); + + public void glFillRect(int x0, int y0, int w1, int h1); + + @Deprecated + public int[] getMatrixOfImage(BufferedImage bufferedImage); + + public void glDrawStringLeft(int x, int y, String text); + + public void glDrawStringCenter(int x, int y, String text); + + public void glDrawStringRight(int x, int y, String text); + + public void glSetFont(RAWFont font); + + public int glGetStringWidth(RAWFont rf, String text); + + public int glGetFontWidth(FontMetrics fm, String text); + + public RAWFont getCurrentFont(); +} \ No newline at end of file diff --git a/src/org/warp/picalculator/device/graphicengine/Display.java b/src/org/warp/picalculator/gui/graphicengine/cpu/CPUDisplay.java similarity index 64% rename from src/org/warp/picalculator/device/graphicengine/Display.java rename to src/org/warp/picalculator/gui/graphicengine/cpu/CPUDisplay.java index 59a943d4..28991ff3 100644 --- a/src/org/warp/picalculator/device/graphicengine/Display.java +++ b/src/org/warp/picalculator/gui/graphicengine/cpu/CPUDisplay.java @@ -1,32 +1,36 @@ -package org.warp.picalculator.device.graphicengine; +package org.warp.picalculator.gui.graphicengine.cpu; import java.awt.FontMetrics; import java.awt.image.BufferedImage; import org.warp.picalculator.Main; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.PIDisplay; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.Display; +import org.warp.picalculator.gui.graphicengine.Drawable; +import org.warp.picalculator.gui.graphicengine.RAWFont; +import org.warp.picalculator.gui.graphicengine.Renderer; -public class Display { +public class CPUDisplay implements Display { - private static SwingWindow INSTANCE = new SwingWindow(); + private static SwingWindow INSTANCE; public static int[] size = new int[] { 1, 1 }; public static BufferedImage g = new BufferedImage(size[0], size[1], BufferedImage.TYPE_INT_RGB); static int[] canvas2d = new int[1]; public static int color = 0xFF000000; public static boolean initialized = false; - public static void setTitle(String title) { + public void setTitle(String title) { INSTANCE.setTitle(title); } - public static void setResizable(boolean r) { + public void setResizable(boolean r) { INSTANCE.setResizable(r); if (!r) INSTANCE.setUndecorated(true); } - public static void setDisplayMode(final int ww, final int wh) { + public void setDisplayMode(final int ww, final int wh) { INSTANCE.setSize(ww, wh); size = new int[] { ww, wh }; canvas2d = new int[ww * wh]; @@ -34,14 +38,15 @@ public class Display { INSTANCE.wasResized = false; } - public static void create() { - Display.setResizable(Utils.debugOn&!Utils.debugThirdScreen); - Display.setDisplayMode(Main.screenSize[0], Main.screenSize[1]); + public void create() { + INSTANCE = new SwingWindow(PIDisplay.getDrawable()); + setResizable(Utils.debugOn&!Utils.debugThirdScreen); + setDisplayMode(Main.screenSize[0], Main.screenSize[1]); INSTANCE.setVisible(true); initialized = true; } - public static boolean wasResized() { + public boolean wasResized() { if (INSTANCE.wasResized) { size = new int[] { INSTANCE.getWidth(), INSTANCE.getHeight() }; canvas2d = new int[size[0] * size[1]]; @@ -52,35 +57,35 @@ public class Display { return false; } - public static int getWidth() { + public int getWidth() { return INSTANCE.getWidth()-Main.screenPos[0]; } - public static int getHeight() { + public int getHeight() { return INSTANCE.getHeight()-Main.screenPos[1]; } - public static void destroy() { + public void destroy() { initialized = false; INSTANCE.setVisible(false); INSTANCE.dispose(); } - public static void start() { + public void start(Drawable d) { } @Deprecated() - public static void refresh() { + public void refresh() { if (PIDisplay.screen == null || (PIDisplay.error != null && PIDisplay.error.length() > 0) || PIDisplay.screen == null || PIDisplay.screen.mustBeRefreshed()) { - Display.INSTANCE.c.repaint(); + CPUDisplay.INSTANCE.c.repaint(); } } - public static void repaint() { - Display.INSTANCE.c.repaint(); + public void repaint() { + CPUDisplay.INSTANCE.c.repaint(); } - public static abstract class Startable { + public abstract class Startable { public Startable() { this.force = false; } @@ -94,31 +99,31 @@ public class Display { public abstract void run(); } - public static class Render { - public static int clearcolor = 0xFFc5c2af; - public static RAWFont currentFont; + public class Render implements Renderer { + public int clearcolor = 0xFFc5c2af; + public RAWFont currentFont; - public static void glColor3i(int r, int gg, int b) { + public void glColor3i(int r, int gg, int b) { glColor4i(r, gg, b, 255); } - public static void glColor(int c) { + public void glColor(int c) { color = c & 0xFFFFFFFF; } - public static void glClearColor(int c) { + public void glClearColor(int c) { clearcolor = c & 0xFFFFFFFF; } - public static void glColor4i(int red, int green, int blue, int alpha) { + public void glColor4i(int red, int green, int blue, int alpha) { color = (alpha << 24) + (red << 16) + (green << 8) + (blue); } - public static void glClearColor(int red, int green, int blue, int alpha) { + public void glClearColor(int red, int green, int blue, int alpha) { clearcolor = (alpha << 24) + (red << 16) + (green << 8) + (blue); } - public static void glClear() { + public void glClear() { for (int x = 0; x < size[0]; x++) { for (int y = 0; y < size[1]; y++) { canvas2d[x + y * size[0]] = clearcolor; @@ -126,7 +131,7 @@ public class Display { } } - public static void glDrawSkin(int skinwidth, int[] skin, int x0, int y0, int s0, int t0, int s1, int t1, boolean transparent) { + public void glDrawSkin(int skinwidth, int[] skin, int x0, int y0, int s0, int t0, int s1, int t1, boolean transparent) { x0+=Main.screenPos[0]; y0+=Main.screenPos[1]; int oldColor; @@ -191,7 +196,7 @@ public class Display { } } - public static void glDrawLine(int x0, int y0, int x1, int y1) { + public void glDrawLine(int x0, int y0, int x1, int y1) { x0+=Main.screenPos[0]; x1+=Main.screenPos[0]; y0+=Main.screenPos[1]; @@ -217,7 +222,7 @@ public class Display { } } - public static void glFillRect(int x0, int y0, int w1, int h1) { + public void glFillRect(int x0, int y0, int w1, int h1) { x0+=Main.screenPos[0]; y0+=Main.screenPos[1]; int x1 = x0+w1; @@ -239,7 +244,7 @@ public class Display { } } - public static int[] getMatrixOfImage(BufferedImage bufferedImage) { + public int[] getMatrixOfImage(BufferedImage bufferedImage) { int width = bufferedImage.getWidth(null); int height = bufferedImage.getHeight(null); int[] pixels = new int[width * height]; @@ -252,28 +257,28 @@ public class Display { return pixels; } - public static void glDrawStringLeft(int x, int y, String text) { + public void glDrawStringLeft(int x, int y, String text) { x+=Main.screenPos[0]; y+=Main.screenPos[1]; final int[] chars = currentFont.getCharIndexes(text); currentFont.drawText(canvas2d, size, x, y, chars, color); } - public static void glDrawStringCenter(int x, int y, String text) { - glDrawStringLeft(x - (glGetStringWidth(Display.Render.currentFont, text) / 2), y, text); + public void glDrawStringCenter(int x, int y, String text) { + glDrawStringLeft(x - (glGetStringWidth(currentFont, text) / 2), y, text); } - public static void glDrawStringRight(int x, int y, String text) { - glDrawStringLeft(x - glGetStringWidth(Display.Render.currentFont, text), y, text); + public void glDrawStringRight(int x, int y, String text) { + glDrawStringLeft(x - glGetStringWidth(currentFont, text), y, text); } - public static void glSetFont(RAWFont font) { + public void glSetFont(RAWFont font) { if (currentFont != font) { currentFont = font; } } - public static int glGetStringWidth(RAWFont rf, String text) { + public int glGetStringWidth(RAWFont rf, String text) { int w =(rf.charW+1)*text.length(); if (text.length() > 0) { return w-1; @@ -283,14 +288,39 @@ public class Display { // return text.length()*6; } - public static int glGetFontWidth(FontMetrics fm, String text) { + public int glGetFontWidth(FontMetrics fm, String text) { return fm.stringWidth(text); } @Deprecated - public static int glGetCurrentFontHeight() { + public int glGetCurrentFontHeight() { return currentFont.charH; } + @Override + public int glGetClearColor() { + return clearcolor; + } + + @Override + public RAWFont getCurrentFont() { + return currentFont; + } + + } + + @Override + public int[] getSize() { + return size; + } + + @Override + public boolean isInitialized() { + return initialized; + } + + @Override + public Renderer getRenderer() { + return new Render(); } } diff --git a/src/org/warp/picalculator/device/graphicengine/SwingWindow.java b/src/org/warp/picalculator/gui/graphicengine/cpu/SwingWindow.java similarity index 87% rename from src/org/warp/picalculator/device/graphicengine/SwingWindow.java rename to src/org/warp/picalculator/gui/graphicengine/cpu/SwingWindow.java index 400cf362..38a89201 100644 --- a/src/org/warp/picalculator/device/graphicengine/SwingWindow.java +++ b/src/org/warp/picalculator/gui/graphicengine/cpu/SwingWindow.java @@ -1,4 +1,4 @@ -package org.warp.picalculator.device.graphicengine; +package org.warp.picalculator.gui.graphicengine.cpu; import java.awt.Cursor; import java.awt.Dimension; @@ -18,14 +18,17 @@ import javax.swing.JPanel; import org.warp.picalculator.Utils; import org.warp.picalculator.device.Keyboard; import org.warp.picalculator.device.Keyboard.Key; -import org.warp.picalculator.device.PIDisplay; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.Drawable; public class SwingWindow extends JFrame { private static final long serialVersionUID = 2945898937634075491L; public CustomCanvas c; + private static Drawable d; public boolean wasResized = false; - public SwingWindow() { + public SwingWindow(Drawable d) { + SwingWindow.d = d; c = new CustomCanvas(); c.setDoubleBuffered(false); this.add(c); @@ -56,7 +59,7 @@ public class SwingWindow extends JFrame { this.addComponentListener(new ComponentListener() { @Override public void componentHidden(ComponentEvent e) { - Display.destroy(); + PIDisplay.display.destroy(); } @Override @@ -165,6 +168,9 @@ public class SwingWindow extends JFrame { case KeyEvent.VK_A: Keyboard.keyReleased(Key.ALPHA); break; + case KeyEvent.VK_M: + Keyboard.keyPressed(Key.SURD_MODE); + break; case KeyEvent.VK_LEFT: //LEFT row = 2; @@ -220,13 +226,13 @@ public class SwingWindow extends JFrame { @Override public void paintComponent(Graphics g) { // long time1 = System.nanoTime(); - PIDisplay.INSTANCE.refresh(); + d.refresh(); - final int[] a = ((DataBufferInt) Display.g.getRaster().getDataBuffer()).getData(); + final int[] a = ((DataBufferInt) CPUDisplay.g.getRaster().getDataBuffer()).getData(); // System.arraycopy(canvas2d, 0, a, 0, canvas2d.length); - Display.canvas2d = a; - g.clearRect(0, 0, Display.size[0], Display.size[1]); - g.drawImage(Display.g, 0, 0, null); + CPUDisplay.canvas2d = a; + g.clearRect(0, 0, CPUDisplay.size[0], CPUDisplay.size[1]); + g.drawImage(CPUDisplay.g, 0, 0, null); // long time2 = System.nanoTime(); // double timeDelta = ((double)(time2-time1))/1000000000d; // double mediaAttuale = timeDelta; diff --git a/src/org/warp/picalculator/gui/graphicengine/gpu/CalculatorWindow.java b/src/org/warp/picalculator/gui/graphicengine/gpu/CalculatorWindow.java new file mode 100644 index 00000000..2aaa4b6f --- /dev/null +++ b/src/org/warp/picalculator/gui/graphicengine/gpu/CalculatorWindow.java @@ -0,0 +1,673 @@ +/** + * Copyright 2012-2013 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: + * + * 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 + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * 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 org.warp.picalculator.gui.graphicengine.gpu; + +import com.jogamp.opengl.GL; +import com.jogamp.opengl.GL2ES1; +import com.jogamp.opengl.GL2ES2; +import com.jogamp.opengl.GLAutoDrawable; +import com.jogamp.opengl.GLEventListener; +import com.jogamp.opengl.GLException; +import com.jogamp.opengl.GLProfile; +import com.jogamp.opengl.GLCapabilities; +import com.jogamp.newt.opengl.GLWindow; + +import com.jogamp.opengl.util.*; +import com.jogamp.opengl.util.texture.Texture; +import com.jogamp.opengl.util.texture.TextureIO; +import com.jogamp.common.nio.Buffers; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.FloatBuffer; + +import javax.imageio.ImageIO; + +import org.warp.picalculator.gui.graphicengine.Display; + +/** + *
+ *   __ __|_  ___________________________________________________________________________  ___|__ __
+ *  //    /\                                           _                                  /\    \\
+ * //____/  \__     __ _____ _____ _____ _____ _____  | |     __ _____ _____ __        __/  \____\\
+ *  \    \  / /  __|  |     |   __|  _  |     |  _  | | |  __|  |     |   __|  |      /\ \  /    /
+ *   \____\/_/  |  |  |  |  |  |  |     | | | |   __| | | |  |  |  |  |  |  |  |__   "  \_\/____/
+ *  /\    \     |_____|_____|_____|__|__|_|_|_|__|    | | |_____|_____|_____|_____|  _  /    /\
+ * /  \____\                       http://jogamp.org  |_|                              /____/  \
+ * \  /   "' _________________________________________________________________________ `"   \  /
+ *  \/____.                                                                             .____\/
+ * 
+ * + *

+ * JOGL2 OpenGL ES 2 demo to expose and learn what the RAW OpenGL ES 2 API looks like. + * + * Compile, run and enjoy: + wget http://jogamp.org/deployment/jogamp-current/archive/jogamp-all-platforms.7z + 7z x jogamp-all-platforms.7z + cd jogamp-all-platforms + mkdir -p demos/es2 + cd demos/es2 + wget https://raw.github.com/xranby/jogl-demos/master/src/demos/es2/RawGL2ES2demo.java + cd ../.. + javac -cp jar/jogl-all.jar:jar/gluegen-rt.jar demos/es2/RawGL2ES2demo.java + java -cp jar/jogl-all.jar:jar/gluegen-rt.jar:. demos.es2.RawGL2ES2demo + *

+ * + * + * @author Xerxes Rånby (xranby) + */ + +public class CalculatorWindow implements GLEventListener{ + +/* Introducing the OpenGL ES 2 Vertex shader + * + * The main loop inside the vertex shader gets executed + * one time for each vertex. + * + * vertex -> * uniform data -> mat4 projection = ( 1, 0, 0, 0, + * (0,1,0) / \ 0, 1, 0, 0, + * / . \ <- origo (0,0,0) 0, 0, 1, 0, + * / \ 0, 0,-1, 1 ); + * vertex -> *-------* <- vertex + * (-1,-1,0) (1,-1,0) <- attribute data can be used + * (0, 0,1) for color, position, normals etc. + * + * The vertex shader recive input data in form of + * "uniform" data that are common to all vertex + * and + * "attribute" data that are individual to each vertex. + * One vertex can have several "attribute" data sources enabled. + * + * The vertex shader produce output used by the fragment shader. + * gl_Position are expected to get set to the final vertex position. + * You can also send additional user defined + * "varying" data to the fragment shader. + * + * Model Translate, Scale and Rotate are done here by matrix-multiplying a + * projection matrix against each vertex position. + * + * The whole vertex shader program are a String containing GLSL ES language + * http://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf + * sent to the GPU driver for compilation. + */ +private String vertexShaderString = +// For GLSL 1 and 1.1 code i highly recomend to not include a +// GLSL ES language #version line, GLSL ES section 3.4 +// Many GPU drivers refuse to compile the shader if #version is different from +// the drivers internal GLSL version. +// +// This demo use GLSL version 1.1 (the implicit version) + +"#if __VERSION__ >= 130\n" + // GLSL 130+ uses in and out +" #define attribute in\n" + // instead of attribute and varying +" #define varying out\n" + // used by OpenGL 3 core and later. +"#endif\n" + + +"#ifdef GL_ES \n" + +"precision mediump float; \n" + // Precision Qualifiers +"precision mediump int; \n" + // GLSL ES section 4.5.2 +"#endif \n" + + +"uniform mat4 uniform_Projection; \n" + // Incomming data used by +"attribute vec4 attribute_Position; \n" + // the vertex shader +"attribute vec4 attribute_Color; \n" + // uniform and attributes +"attribute vec2 a_TexCoordinate; \n" + + +"varying vec2 v_TexCoordinate; \n" + +"varying vec4 varying_Color; \n" + // Outgoing varying data + // sent to the fragment shader +"void main(void) \n" + +"{ \n" + +" varying_Color = attribute_Color; \n" + +" v_TexCoordinate = a_TexCoordinate; \n" + +" gl_Position = uniform_Projection * attribute_Position; \n" + +"} "; + +/* Introducing the OpenGL ES 2 Fragment shader + * + * The main loop of the fragment shader gets executed for each visible + * pixel fragment on the render buffer. + * + * vertex-> * + * (0,1,-1) /f\ + * /ffF\ <- This fragment F gl_FragCoord get interpolated + * /fffff\ to (0.25,0.25,-1) based on the + * vertex-> *fffffff* <-vertex three vertex gl_Position. + * (-1,-1,-1) (1,-1,-1) + * + * + * All incomming "varying" and gl_FragCoord data to the fragment shader + * gets interpolated based on the vertex positions. + * + * The fragment shader produce and store the final color data output into + * gl_FragColor. + * + * Is up to you to set the final colors and calculate lightning here based on + * supplied position, color and normal data. + * + * The whole fragment shader program are a String containing GLSL ES language + * http://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf + * sent to the GPU driver for compilation. + */ +private String fragmentShaderString = +"#if __VERSION__ >= 130\n" + +" #define varying in\n" + +" out vec4 mgl_FragColor;\n" + +" #define texture2D texture\n" + +" #define gl_FragColor mgl_FragColor\n" + +"#endif\n" + + +"#ifdef GL_ES \n" + +"precision mediump float; \n" + +"precision mediump int; \n" + +"#endif \n" + + +"uniform sampler2D u_Texture; \n" + + +"varying vec2 v_TexCoordinate; \n" + +"varying vec4 varying_Color; \n" + //incomming varying data to the + //frament shader + //sent from the vertex shader +"void main (void) \n" + +"{ \n" + + +" gl_FragColor = (varying_Color * texture2D(u_Texture, v_TexCoordinate));" + +"} "; + + +FloatBuffer fbVertices = Buffers.newDirectFloatBuffer(2000*18); // max 2000 quadrati +FloatBuffer fbColors = Buffers.newDirectFloatBuffer(2000*24); // max 2000 quadrati +FloatBuffer fbTextureCoordinates = Buffers.newDirectFloatBuffer(2000*12); // max 2000 quadrati +final Texture[] texture = new Texture[1]; +final int[] textureHandle = new int[1]; + +private final Display disp; +public CalculatorWindow(Display disp) { + this.disp = disp; +} + + /* Introducing projection matrix helper functions + * + * OpenGL ES 2 vertex projection transformations gets applied inside the + * vertex shader, all you have to do are to calculate and supply a projection matrix. + * + * Its recomended to use the com/jogamp/opengl/util/PMVMatrix.java + * import com.jogamp.opengl.util.PMVMatrix; + * To simplify all your projection model view matrix creation needs. + * + * These helpers here are based on PMVMatrix code and common linear + * algebra for matrix multiplication, translate and rotations. + */ + private void glMultMatrixf(FloatBuffer a, FloatBuffer b, FloatBuffer d) { + final int aP = a.position(); + final int bP = b.position(); + final int dP = d.position(); + for (int i = 0; i < 4; i++) { + final float ai0=a.get(aP+i+0*4), ai1=a.get(aP+i+1*4), ai2=a.get(aP+i+2*4), ai3=a.get(aP+i+3*4); + d.put(dP+i+0*4 , ai0 * b.get(bP+0+0*4) + ai1 * b.get(bP+1+0*4) + ai2 * b.get(bP+2+0*4) + ai3 * b.get(bP+3+0*4) ); + d.put(dP+i+1*4 , ai0 * b.get(bP+0+1*4) + ai1 * b.get(bP+1+1*4) + ai2 * b.get(bP+2+1*4) + ai3 * b.get(bP+3+1*4) ); + d.put(dP+i+2*4 , ai0 * b.get(bP+0+2*4) + ai1 * b.get(bP+1+2*4) + ai2 * b.get(bP+2+2*4) + ai3 * b.get(bP+3+2*4) ); + d.put(dP+i+3*4 , ai0 * b.get(bP+0+3*4) + ai1 * b.get(bP+1+3*4) + ai2 * b.get(bP+2+3*4) + ai3 * b.get(bP+3+3*4) ); + } + } + + private float[] multiply(float[] a,float[] b){ + float[] tmp = new float[16]; + glMultMatrixf(FloatBuffer.wrap(a),FloatBuffer.wrap(b),FloatBuffer.wrap(tmp)); + return tmp; + } + + private float[] translate(float[] m,float x,float y,float z){ + float[] t = { 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + x, y, z, 1.0f }; + return multiply(m, t); + } + + private float[] rotate(float[] m,float a,float x,float y,float z){ + float s, c; + s = (float)Math.sin(Math.toRadians(a)); + c = (float)Math.cos(Math.toRadians(a)); + float[] r = { + x * x * (1.0f - c) + c, y * x * (1.0f - c) + z * s, x * z * (1.0f - c) - y * s, 0.0f, + x * y * (1.0f - c) - z * s, y * y * (1.0f - c) + c, y * z * (1.0f - c) + x * s, 0.0f, + x * z * (1.0f - c) + y * s, y * z * (1.0f - c) - x * s, z * z * (1.0f - c) + c, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f }; + return multiply(m, r); + } + +/* Introducing the GL2ES2 demo + * + * How to render a triangle using ~500 lines of code using the RAW + * OpenGL ES 2 API. + * The Programmable pipeline in OpenGL ES 2 are both fast and flexible + * yet it do take some extra lines of code to setup. + * + */ + private double t0 = System.currentTimeMillis(); + private double theta; + private double s; + + private static int width=1920; + private static int height=1080; + + private int shaderProgram; + private int vertShader; + private int fragShader; + private int ModelViewProjectionMatrixHandle; + private int mTextureUniformHandle; + private int mTextureCoordinateHandle; + private final int mTextureCoordinateDataSize = 2; + private int mTextureDataHandle; + static final int COLOR_IDX = 0; + static final int VERTICES_IDX = 1; + static final int TEXTURE_IDX = 2; + int[] vboHandles; + + public GLWindow window; + + public void create(){ + /* This demo are based on the GL2ES2 GLProfile that uses common hardware acceleration + * functionality of desktop OpenGL 3, 2 and mobile OpenGL ES 2 devices. + * JogAmp JOGL will probe all the installed libGL.so, libEGL.so and libGLESv2.so librarys on + * the system to find which one provide hardware acceleration for your GPU device. + * Its common to find more than one version of these librarys installed on a system. + * For example on a ARM Linux system JOGL may find + * Hardware accelerated Nvidia tegra GPU drivers in: /usr/lib/nvidia-tegra/libEGL.so + * Software rendered Mesa Gallium driver in: /usr/lib/arm-linux-gnueabi/mesa-egl/libEGL.so.1 + * Software rendered Mesa X11 in: /usr/lib/arm-linux-gnueabi/mesa/libGL.so + * Good news!: JOGL does all this probing for you all you have to do are to ask for + * the GLProfile you want to use. + */ + + GLCapabilities caps = new GLCapabilities(GLProfile.get(GLProfile.GL2ES2)); + // We may at this point tweak the caps and request a translucent drawable + caps.setBackgroundOpaque(false); + GLWindow glWindow = GLWindow.create(caps); + window = glWindow; + + /* You may combine the NEWT GLWindow inside existing Swing and AWT + * applications by encapsulating the glWindow inside a + * com.jogamp.newt.awt.NewtCanvasAWT canvas. + * + * NewtCanvasAWT newtCanvas = new NewtCanvasAWT(glWindow); + * JFrame frame = new JFrame("RAW GL2ES2 Demo inside a JFrame!"); + * frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + * frame.setSize(width,height); + * frame.add(newtCanvas); + * // add some swing code if you like. + * // javax.swing.JButton b = new javax.swing.JButton(); + * // b.setText("Hi"); + * // frame.add(b); + * frame.setVisible(true); + */ + + // In this demo we prefer to setup and view the GLWindow directly + // this allows the demo to run on -Djava.awt.headless=true systems + glWindow.setTitle("Raw GL2ES2 Demo"); + + // Finally we connect the GLEventListener application code to the NEWT GLWindow. + // GLWindow will call the GLEventListener init, reshape, display and dispose + // functions when needed. + glWindow.addGLEventListener(this /* GLEventListener */); + Animator animator = new Animator(); + animator.add(glWindow); + animator.start(); + } + + public void init(GLAutoDrawable drawable) { + GL2ES2 gl = drawable.getGL().getGL2ES2(); + + System.err.println("Chosen GLCapabilities: " + drawable.getChosenGLCapabilities()); + System.err.println("INIT GL IS: " + gl.getClass().getName()); + System.err.println("GL_VENDOR: " + gl.glGetString(GL.GL_VENDOR)); + System.err.println("GL_RENDERER: " + gl.glGetString(GL.GL_RENDERER)); + System.err.println("GL_VERSION: " + gl.glGetString(GL.GL_VERSION)); + + /* The initialization below will use the OpenGL ES 2 API directly + * to setup the two shader programs that will be run on the GPU. + * + * Its recommended to use the jogamp/opengl/util/glsl/ classes + * import com.jogamp.opengl.util.glsl.ShaderCode; + * import com.jogamp.opengl.util.glsl.ShaderProgram; + * import com.jogamp.opengl.util.glsl.ShaderState; + * to simplify shader customization, compile and loading. + * + * You may also want to look at the JOGL RedSquareES2 demo + * http://jogamp.org/git/?p=jogl.git;a=blob;f=src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java;hb=HEAD#l78 + * to see how the shader customization, compile and loading is done + * using the recommended JogAmp GLSL utility classes. + */ + + // Make the shader strings compatible with OpenGL 3 core if needed + // GL2ES2 also includes the intersection of GL3 core + // The default implicit GLSL version 1.1 is now depricated in GL3 core + // GLSL 1.3 is the minimum version that now has to be explicitly set. + // This allows the shaders to compile using the latest + // desktop OpenGL 3 and 4 drivers. + if(gl.isGL3core()){ + System.out.println("GL3 core detected: explicit add #version 130 to shaders"); + vertexShaderString = "#version 130\n"+vertexShaderString; + fragmentShaderString = "#version 130\n"+fragmentShaderString; + } + + // Create GPU shader handles + // OpenGL ES retuns a index id to be stored for future reference. + vertShader = gl.glCreateShader(GL2ES2.GL_VERTEX_SHADER); + fragShader = gl.glCreateShader(GL2ES2.GL_FRAGMENT_SHADER); + + //Generate textures + gl.glGenTextures(1, textureHandle, 0); + + try { + Texture t = loadTexture("test.png"); + textureHandle[0] = t.getTarget(); + texture[0] = t; + gl.glBindTexture(GL2ES2.GL_TEXTURE_2D, textureHandle[0]); + } catch (GLException | IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + //Compile the vertexShader String into a program. + String[] vlines = new String[] { vertexShaderString }; + int[] vlengths = new int[] { vlines[0].length() }; + gl.glShaderSource(vertShader, vlines.length, vlines, vlengths, 0); + gl.glCompileShader(vertShader); + + //Check compile status. + int[] compiled = new int[1]; + gl.glGetShaderiv(vertShader, GL2ES2.GL_COMPILE_STATUS, compiled,0); + if(compiled[0]!=0){System.out.println("Horray! vertex shader compiled");} + else { + int[] logLength = new int[1]; + gl.glGetShaderiv(vertShader, GL2ES2.GL_INFO_LOG_LENGTH, logLength, 0); + + byte[] log = new byte[logLength[0]]; + gl.glGetShaderInfoLog(vertShader, logLength[0], (int[])null, 0, log, 0); + + System.err.println("Error compiling the vertex shader: " + new String(log)); + System.exit(1); + } + + //Compile the fragmentShader String into a program. + String[] flines = new String[] { fragmentShaderString }; + int[] flengths = new int[] { flines[0].length() }; + gl.glShaderSource(fragShader, flines.length, flines, flengths, 0); + gl.glCompileShader(fragShader); + + //Check compile status. + gl.glGetShaderiv(fragShader, GL2ES2.GL_COMPILE_STATUS, compiled,0); + if(compiled[0]!=0){System.out.println("Horray! fragment shader compiled");} + else { + int[] logLength = new int[1]; + gl.glGetShaderiv(fragShader, GL2ES2.GL_INFO_LOG_LENGTH, logLength, 0); + + byte[] log = new byte[logLength[0]]; + gl.glGetShaderInfoLog(fragShader, logLength[0], (int[])null, 0, log, 0); + + System.err.println("Error compiling the fragment shader: " + new String(log)); + System.exit(1); + } + + //Each shaderProgram must have + //one vertex shader and one fragment shader. + shaderProgram = gl.glCreateProgram(); + gl.glAttachShader(shaderProgram, vertShader); + gl.glAttachShader(shaderProgram, fragShader); + + //Associate attribute ids with the attribute names inside + //the vertex shader. + gl.glBindAttribLocation(shaderProgram, 0, "attribute_Position"); + gl.glBindAttribLocation(shaderProgram, 1, "attribute_Color"); + gl.glBindAttribLocation(shaderProgram, 2, "a_TexCoordinate"); + + gl.glLinkProgram(shaderProgram); + + //Get a id number to the uniform_Projection matrix + //so that we can update it. + ModelViewProjectionMatrixHandle = gl.glGetUniformLocation(shaderProgram, "uniform_Projection"); + mTextureUniformHandle = gl.glGetUniformLocation(shaderProgram, "u_Texture"); + mTextureCoordinateHandle = gl.glGetAttribLocation(shaderProgram, "a_TexCoordinate"); + + /* GL2ES2 also includes the intersection of GL3 core + * GL3 core and later mandates that a "Vector Buffer Object" must + * be created and bound before calls such as gl.glDrawArrays is used. + * The VBO lines in this demo makes the code forward compatible with + * OpenGL 3 and ES 3 core and later where a default + * vector buffer object is deprecated. + * + * Generate two VBO pointers / handles + * VBO is data buffers stored inside the graphics card memory. + */ + vboHandles = new int[3]; + gl.glGenBuffers(3, vboHandles, 0); + + + } + + public void reshape(GLAutoDrawable drawable, int x, int y, int z, int h) { + System.out.println("Window resized to width=" + z + " height=" + h); + width = z; + height = h; + + // Get gl + GL2ES2 gl = drawable.getGL().getGL2ES2(); + + // Optional: Set viewport + // Render to a square at the center of the window. + gl.glViewport((width-height)/2,0,height,height); + } + + public void display(GLAutoDrawable drawable) { + // Update variables used in animation + double t1 = System.currentTimeMillis(); + theta += (t1-t0)*0.005f; + t0 = t1; + s = Math.sin(theta); + + // Get gl + GL2ES2 gl = drawable.getGL().getGL2ES2(); + + // Clear screen + gl.glClearColor(0, 0, 0, 0f); // Purple + gl.glClear(GL2ES2.GL_STENCIL_BUFFER_BIT | + GL2ES2.GL_COLOR_BUFFER_BIT | + GL2ES2.GL_DEPTH_BUFFER_BIT ); + + // Use the shaderProgram that got linked during the init part. + gl.glUseProgram(shaderProgram); + + /* Change a projection matrix + * The matrix multiplications and OpenGL ES2 code below + * basically match this OpenGL ES1 code. + * note that the model_view_projection matrix gets sent to the vertexShader. + * + * gl.glLoadIdentity(); + * gl.glTranslatef(0.0f,0.0f,-0.1f); + * gl.glRotatef((float)30f*(float)s,1.0f,0.0f,1.0f); + * + */ + + // Set the active texture unit to texture unit 0. + gl.glActiveTexture(textureHandle[0]); + + // Bind the texture to this unit. + gl.glBindTexture(GL2ES2.GL_TEXTURE_2D, mTextureDataHandle); + + // Tell the texture uniform sampler to use this texture in the shader by binding to texture unit 0. + gl.glUniform1i(mTextureUniformHandle, 0); + + float[] model_view_projection; + float[] identity_matrix = { + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + }; + model_view_projection = identity_matrix; +// model_view_projection = rotate(model_view_projection,30f*(float)s,1.0f,0.0f,1.0f); +// model_view_projection = translate(model_view_projection,-0.5f,-0.5f, 0f); + + // Send the final projection matrix to the vertex shader by + // using the uniform location id obtained during the init part. + gl.glUniformMatrix4fv(ModelViewProjectionMatrixHandle, 1, false, model_view_projection, 0); + + /* + * Render a triangle: + * The OpenGL ES2 code below basically match this OpenGL code. + * + * gl.glBegin(GL_TRIANGLES); // Drawing Using Triangles + * gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top + * gl.glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left + * gl.glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right + * gl.glEnd(); // Finished Drawing The Triangle + */ + + fbVertices.clear(); + fbColors.clear(); + fbTextureCoordinates.clear(); + + fbVertices.put(new float[]{ + 0.0f, 0.0f, 0.0f, //Top + 1.0f, 1.0f, 0.0f, //Bottom Left + 0.0f, 1.0f, 0.0f, //Bottom Right + }); + fbColors.put(new float[]{ + 1.0f, 0.0f, 0.0f, 1.0f, //Top color (red) + 0.0f, 0.0f, 0.0f, 1.0f, //Bottom Left color (black) + 1.0f, 1.0f, 0.0f, 1.0f, //Bottom Right color (yellow) + }); + fbTextureCoordinates.put(new float[]{ + 0.0f, 0.0f, + 0.0f, 1.0f, + 1.0f, 0.0f, + }); + fbVertices.put(new float[]{ + 0.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, + 1.0f, 1.0f, 0.0f}); + fbColors.put(new float[]{ + 1.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 1.0f}); + fbTextureCoordinates.put(new float[]{ + 0.0f, 1.0f, + 1.0f, 1.0f, + 1.0f, 0.0f, + }); + fbColors.position(0); + fbVertices.position(0); + fbTextureCoordinates.position(0); + int numTriangles = fbVertices.limit()/9; + + // Select the VBO, GPU memory data, to use for vertices + gl.glBindBuffer(GL2ES2.GL_ARRAY_BUFFER, vboHandles[VERTICES_IDX]); + + // transfer data to VBO, this perform the copy of data from CPU -> GPU memory + int numBytes = numTriangles * 9 * 4; + gl.glBufferData(GL.GL_ARRAY_BUFFER, numBytes, fbVertices, GL.GL_STATIC_DRAW); + + // Associate Vertex attribute 0 with the last bound VBO + gl.glVertexAttribPointer(0 /* the vertex attribute */, 3, + GL2ES2.GL_FLOAT, false /* normalized? */, 0 /* stride */, + 0 /* The bound VBO data offset */); + + // VBO + // gl.glBindBuffer(GL2ES2.GL_ARRAY_BUFFER, 0); // You can unbind the VBO after it have been associated using glVertexAttribPointer + + gl.glEnableVertexAttribArray(0); + + // Select the VBO, GPU memory data, to use for colors + gl.glBindBuffer(GL2ES2.GL_ARRAY_BUFFER, vboHandles[COLOR_IDX]); + + numBytes = numTriangles * 12 * 4; + gl.glBufferData(GL.GL_ARRAY_BUFFER, numBytes, fbColors, GL.GL_STATIC_DRAW); + + // Associate Vertex attribute 1 with the last bound VBO + gl.glVertexAttribPointer(1 /* the color attribute */, 4 /* four possitions used for each vertex */, + GL2ES2.GL_FLOAT, false /* normalized? */, 0 /* stride */, + 0 /* The bound VBO data offset */); + + gl.glEnableVertexAttribArray(1); + + // Select the VBO, GPU memory data, to use for texture + gl.glBindBuffer(GL2ES2.GL_ARRAY_BUFFER, vboHandles[TEXTURE_IDX]); + + numBytes = numTriangles * 6 * 4; + gl.glBufferData(GL.GL_ARRAY_BUFFER, numBytes, fbTextureCoordinates, GL.GL_STATIC_DRAW); + + // Associate Vertex attribute 1 with the last bound VBO + gl.glVertexAttribPointer(mTextureCoordinateHandle /* the texture attribute */, 2 /* two possitions used for each coordinate */, + GL2ES2.GL_FLOAT, false /* normalized? */, 0 /* stride */, + 0 /* The bound VBO data offset */); + + gl.glEnableVertexAttribArray(mTextureCoordinateHandle); + + + gl.glDrawArrays(GL2ES2.GL_TRIANGLES, 0, numTriangles*3); //Draw the vertices as triangle + + gl.glDisableVertexAttribArray(0); // Allow release of vertex position memory + gl.glDisableVertexAttribArray(1); // Allow release of vertex color memory + gl.glDisableVertexAttribArray(mTextureCoordinateHandle); // Allow release of vertex texture memory + +// disp.di + } + + public void drawQuad() { + + } + + public void dispose(GLAutoDrawable drawable){ + System.out.println("cleanup, remember to release shaders"); + GL2ES2 gl = drawable.getGL().getGL2ES2(); + gl.glUseProgram(0); + gl.glDeleteBuffers(3, vboHandles, 0); // Release VBO, color and vertices, buffer GPU memory. + vboHandles = null; + gl.glDetachShader(shaderProgram, vertShader); + gl.glDeleteShader(vertShader); + gl.glDetachShader(shaderProgram, fragShader); + gl.glDeleteShader(fragShader); + gl.glDeleteProgram(shaderProgram); + System.exit(0); + } + + public static Texture loadTexture(String file) throws GLException, IOException + { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + ImageIO.write(ImageIO.read(new File(file)), "png", os); + InputStream fis = new ByteArrayInputStream(os.toByteArray()); + return TextureIO.newTexture(fis, true, TextureIO.PNG); + } + +} \ No newline at end of file diff --git a/src/org/warp/picalculator/gui/graphicengine/gpu/GPUDisplay.java b/src/org/warp/picalculator/gui/graphicengine/gpu/GPUDisplay.java new file mode 100644 index 00000000..e08b85da --- /dev/null +++ b/src/org/warp/picalculator/gui/graphicengine/gpu/GPUDisplay.java @@ -0,0 +1,102 @@ +package org.warp.picalculator.gui.graphicengine.gpu; + +import java.awt.image.BufferedImage; + +import org.warp.picalculator.Main; +import org.warp.picalculator.Utils; +import org.warp.picalculator.gui.graphicengine.Drawable; +import org.warp.picalculator.gui.graphicengine.Renderer; + +public class GPUDisplay implements org.warp.picalculator.gui.graphicengine.Display { + + private boolean initialized = false; + private CalculatorWindow wnd; + private Drawable d; + private GPURenderer r; + + @Override + public int[] getSize() { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean isInitialized() { + return initialized; + } + + @Override + public void setTitle(String title) { + // TODO Auto-generated method stub + + } + + @Override + public void setResizable(boolean r) { + if (!r) { + wnd.window.setPosition(0, 0); + } + wnd.window.setResizable(r); + wnd.window.setUndecorated(!r); + wnd.window.setPointerVisible(r); + } + + @Override + public void setDisplayMode(int ww, int wh) { + wnd.window.setSize(ww, wh); + } + + @Override + public void create() { + r = new GPURenderer(); + wnd = new CalculatorWindow(this); + wnd.create(); + setDisplayMode(Main.screenSize[0], Main.screenSize[1]); + setResizable(Utils.debugOn&!Utils.debugThirdScreen); + initialized = true; + } + + @Override + public boolean wasResized() { + // TODO Auto-generated method stub + return false; + } + + @Override + public int getWidth() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public int getHeight() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public void destroy() { +// EGL.destroy(); (Automatic) + } + + @Override + public void start(Drawable d) { + this.d = d; + wnd.window.setVisible(true); + } + + @Override + public void repaint() { + if (d != null) { + r.gl.glClearColor(red, green, blue, alpha); + d.refresh(); + r.glFlush(); + } + } + + @Override + public GPURenderer getRenderer() { + return r; + } + +} diff --git a/src/org/warp/picalculator/gui/graphicengine/gpu/GPURenderer.java b/src/org/warp/picalculator/gui/graphicengine/gpu/GPURenderer.java new file mode 100644 index 00000000..9ae6b3eb --- /dev/null +++ b/src/org/warp/picalculator/gui/graphicengine/gpu/GPURenderer.java @@ -0,0 +1,124 @@ +package org.warp.picalculator.gui.graphicengine.gpu; + +import java.awt.FontMetrics; +import java.awt.image.BufferedImage; + +import org.warp.picalculator.gui.graphicengine.RAWFont; +import org.warp.picalculator.gui.graphicengine.Renderer; + +import com.jogamp.opengl.GL2ES2; + +public class GPURenderer implements Renderer { + + public GL2ES2 gl; + + @Override + public void glColor3i(int r, int gg, int b) { + // TODO Auto-generated method stub + + } + + @Override + public void glColor(int c) { + // TODO Auto-generated method stub + + } + + @Override + public int glGetClearColor() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public void glClearColor(int c) { + // TODO Auto-generated method stub + + } + + @Override + public void glColor4i(int red, int green, int blue, int alpha) { + // TODO Auto-generated method stub + + } + + @Override + public void glClearColor(int red, int green, int blue, int alpha) { + // TODO Auto-generated method stub + + } + + @Override + public void glClear() { + // TODO Auto-generated method stub + + } + + @Override + public void glDrawSkin(int skinwidth, int[] skin, int x0, int y0, int s0, int t0, int s1, int t1, + boolean transparent) { + // TODO Auto-generated method stub + + } + + @Override + public void glDrawLine(int x0, int y0, int x1, int y1) { + // TODO Auto-generated method stub + + } + + @Override + public void glFillRect(int x0, int y0, int w1, int h1) { + // TODO Auto-generated method stub + + } + + @Override + public int[] getMatrixOfImage(BufferedImage bufferedImage) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void glDrawStringLeft(int x, int y, String text) { + // TODO Auto-generated method stub + + } + + @Override + public void glDrawStringCenter(int x, int y, String text) { + // TODO Auto-generated method stub + + } + + @Override + public void glDrawStringRight(int x, int y, String text) { + // TODO Auto-generated method stub + + } + + @Override + public void glSetFont(RAWFont font) { + // TODO Auto-generated method stub + + } + + @Override + public int glGetStringWidth(RAWFont rf, String text) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public int glGetFontWidth(FontMetrics fm, String text) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public RAWFont getCurrentFont() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/org/warp/picalculator/screens/ChooseVariableValueScreen.java b/src/org/warp/picalculator/gui/screens/ChooseVariableValueScreen.java similarity index 55% rename from src/org/warp/picalculator/screens/ChooseVariableValueScreen.java rename to src/org/warp/picalculator/gui/screens/ChooseVariableValueScreen.java index 7162086a..e0bcf95e 100644 --- a/src/org/warp/picalculator/screens/ChooseVariableValueScreen.java +++ b/src/org/warp/picalculator/gui/screens/ChooseVariableValueScreen.java @@ -1,12 +1,8 @@ -package org.warp.picalculator.screens; - -import static org.warp.picalculator.device.graphicengine.Display.Render.glColor3i; -import static org.warp.picalculator.device.graphicengine.Display.Render.glColor4i; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringCenter; +package org.warp.picalculator.gui.screens; import org.warp.picalculator.Main; import org.warp.picalculator.device.Keyboard.Key; -import org.warp.picalculator.device.graphicengine.Screen; +import org.warp.picalculator.gui.PIDisplay; import org.warp.picalculator.math.functions.Function; import org.warp.picalculator.math.functions.Variable.VariableValue; @@ -32,12 +28,12 @@ public class ChooseVariableValueScreen extends Screen { @Override public void render() { - glColor4i(0, 0, 0, 64); - glDrawStringCenter(Main.screenSize[0]/2+1, Main.screenSize[1]/4, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); - glDrawStringCenter(Main.screenSize[0]/2, Main.screenSize[1]/4+1, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); - glDrawStringCenter(Main.screenSize[0]/2+1, Main.screenSize[1]/4+1, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); - glColor3i(255, 0, 0); - glDrawStringCenter(Main.screenSize[0]/2, Main.screenSize[1]/4, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); + PIDisplay.renderer.glColor4i(0, 0, 0, 64); + PIDisplay.renderer.glDrawStringCenter(Main.screenSize[0]/2+1, Main.screenSize[1]/4, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); + PIDisplay.renderer.glDrawStringCenter(Main.screenSize[0]/2, Main.screenSize[1]/4+1, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); + PIDisplay.renderer.glDrawStringCenter(Main.screenSize[0]/2+1, Main.screenSize[1]/4+1, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); + PIDisplay.renderer.glColor3i(255, 0, 0); + PIDisplay.renderer.glDrawStringCenter(Main.screenSize[0]/2, Main.screenSize[1]/4, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); } @Override diff --git a/src/org/warp/picalculator/screens/EmptyScreen.java b/src/org/warp/picalculator/gui/screens/EmptyScreen.java similarity index 82% rename from src/org/warp/picalculator/screens/EmptyScreen.java rename to src/org/warp/picalculator/gui/screens/EmptyScreen.java index 7b47224a..0fea5479 100644 --- a/src/org/warp/picalculator/screens/EmptyScreen.java +++ b/src/org/warp/picalculator/gui/screens/EmptyScreen.java @@ -1,7 +1,6 @@ -package org.warp.picalculator.screens; +package org.warp.picalculator.gui.screens; import org.warp.picalculator.device.Keyboard.Key; -import org.warp.picalculator.device.graphicengine.Screen; public class EmptyScreen extends Screen { diff --git a/src/org/warp/picalculator/screens/KeyboardDebugScreen.java b/src/org/warp/picalculator/gui/screens/KeyboardDebugScreen.java similarity index 59% rename from src/org/warp/picalculator/screens/KeyboardDebugScreen.java rename to src/org/warp/picalculator/gui/screens/KeyboardDebugScreen.java index 0ef15378..49ab8309 100644 --- a/src/org/warp/picalculator/screens/KeyboardDebugScreen.java +++ b/src/org/warp/picalculator/gui/screens/KeyboardDebugScreen.java @@ -1,12 +1,12 @@ -package org.warp.picalculator.screens; +package org.warp.picalculator.gui.screens; -import static org.warp.picalculator.device.PIDisplay.colore; -import static org.warp.picalculator.device.PIDisplay.fonts; -import static org.warp.picalculator.device.graphicengine.Display.Render.*; +import static org.warp.picalculator.device.graphicengine.cpu.CPUDisplay.Render.*; +import static org.warp.picalculator.gui.PIDisplay.colore; +import static org.warp.picalculator.gui.PIDisplay.fonts; import org.warp.picalculator.Main; import org.warp.picalculator.device.Keyboard.Key; -import org.warp.picalculator.device.graphicengine.Screen; +import org.warp.picalculator.gui.PIDisplay; public class KeyboardDebugScreen extends Screen { @@ -32,33 +32,33 @@ public class KeyboardDebugScreen extends Screen { @Override public void render() { - glSetFont(fonts[2]); + PIDisplay.renderer.glSetFont(fonts[2]); colore(0.75f, 0.0f, 0.0f, 1.0f); - glDrawStringRight(Main.screenSize[0] - 10, 30, "-" + keyevent.toUpperCase() + "-"); + PIDisplay.renderer.glDrawStringRight(Main.screenSize[0] - 10, 30, "-" + keyevent.toUpperCase() + "-"); if (keyevent != "NONE") { - glSetFont(fonts[2]); + PIDisplay.renderer.glSetFont(fonts[2]); colore(0.0f, 0.0f, 0.0f, 1.0f); - glDrawStringLeft(10, 30, "Key position"); - glDrawStringLeft(10, 45, "X: " + keyX + ", Y:" + keyY); - glDrawStringLeft(10, 65, "Key value"); - glDrawStringLeft(10, 80, key); + PIDisplay.renderer.glDrawStringLeft(10, 30, "Key position"); + PIDisplay.renderer.glDrawStringLeft(10, 45, "X: " + keyX + ", Y:" + keyY); + PIDisplay.renderer.glDrawStringLeft(10, 65, "Key value"); + PIDisplay.renderer.glDrawStringLeft(10, 80, key); } - glSetFont(fonts[3]); + PIDisplay.renderer.glSetFont(fonts[3]); colore(0.0f, 0.0f, 0.0f, 1.0f); for (int i = 0; i < 5; i++) { if (log[i] != null) { - glDrawStringLeft(10, 230 + 15*(i+1), log[i].toUpperCase()); + PIDisplay.renderer.glDrawStringLeft(10, 230 + 15*(i+1), log[i].toUpperCase()); } } //FROM SERIAL colore(0.0f, 0.0f, 0.0f, 1.0f); - glFillRect(-80+100+200, 90, 5, 5); - glFillRect(-80+100, 100, 200, 70); - glSetFont(fonts[2]); + PIDisplay.renderer.glFillRect(-80+100+200, 90, 5, 5); + PIDisplay.renderer.glFillRect(-80+100, 100, 200, 70); + PIDisplay.renderer.glSetFont(fonts[2]); colore(1.0f, 1.0f, 1.0f, 1.0f); - glDrawStringCenter(-80+100+200/2, 100+70/2-(currentFont.charH/2), "FROM SERIAL"); - glSetFont(fonts[3]); + PIDisplay.renderer.glDrawStringCenter(-80+100+200/2, 100+70/2-(PIDisplay.renderer.getCurrentFont().charH/2), "FROM SERIAL"); + PIDisplay.renderer.glSetFont(fonts[3]); colore(0.0f, 0.0f, 1.0f, 1.0f); for (int i = 0; i < 8; i++) { if (pinsA[i] == 1) { @@ -70,9 +70,9 @@ public class KeyboardDebugScreen extends Screen { } else if (pinsA[i] == 0) { colore(1.0f, 0.0f, 0.0f, 1.0f); } - glFillRect(-80+103+25*(7-i), 80, 20, 20); + PIDisplay.renderer.glFillRect(-80+103+25*(7-i), 80, 20, 20); colore(0.0f, 0.0f, 0.0f, 1.0f); - glDrawStringCenter(-80+113+25*(7-i), 90-(currentFont.charH/2), ""+(i+1)); + PIDisplay.renderer.glDrawStringCenter(-80+113+25*(7-i), 90-(PIDisplay.renderer.getCurrentFont().charH/2), ""+(i+1)); } for (int i = 15; i >= 8; i--) { if (pinsA[i] == 1) { @@ -84,9 +84,9 @@ public class KeyboardDebugScreen extends Screen { } else if (pinsA[i] == 0) { colore(1.0f, 0.0f, 0.0f, 1.0f); } - glFillRect(-80+103+25*(i-8), 170, 20, 20); + PIDisplay.renderer.glFillRect(-80+103+25*(i-8), 170, 20, 20); colore(0.0f, 0.0f, 0.0f, 1.0f); - glDrawStringCenter(-80+113+25*(i-8), 180-(currentFont.charH/2), ""+(i+1)); + PIDisplay.renderer.glDrawStringCenter(-80+113+25*(i-8), 180-(PIDisplay.renderer.getCurrentFont().charH/2), ""+(i+1)); } for (int i = 0; i < 8; i++) { if (dataA[i]) { @@ -94,17 +94,17 @@ public class KeyboardDebugScreen extends Screen { } else { colore(1.0f, 0.0f, 0.0f, 1.0f); } - glFillRect(-80+160+10*(i), 150, 8, 8); + PIDisplay.renderer.glFillRect(-80+160+10*(i), 150, 8, 8); } //TO SERIAL colore(0.0f, 0.0f, 0.0f, 1.0f); - glFillRect(150+90, 200, 5, 5); - glFillRect(150+100, 100, 200, 70); - glSetFont(fonts[2]); + PIDisplay.renderer.glFillRect(150+90, 200, 5, 5); + PIDisplay.renderer.glFillRect(150+100, 100, 200, 70); + PIDisplay.renderer.glSetFont(fonts[2]); colore(1.0f, 1.0f, 1.0f, 1.0f); - glDrawStringCenter(150+100+200/2, 100+70/2-(currentFont.charH/2), "TO SERIAL"); - glSetFont(fonts[3]); + PIDisplay.renderer.glDrawStringCenter(150+100+200/2, 100+70/2-(PIDisplay.renderer.getCurrentFont().charH/2), "TO SERIAL"); + PIDisplay.renderer.glSetFont(fonts[3]); colore(0.0f, 0.0f, 1.0f, 1.0f); for (int i = 15; i >= 8; i--) { if (pinsB[i] == 1) { @@ -116,9 +116,9 @@ public class KeyboardDebugScreen extends Screen { } else if (pinsB[i] == 0) { colore(1.0f, 0.0f, 0.0f, 1.0f); } - glFillRect(150+103+25*(15-i), 80, 20, 20); + PIDisplay.renderer.glFillRect(150+103+25*(15-i), 80, 20, 20); colore(0.0f, 0.0f, 0.0f, 1.0f); - glDrawStringCenter(150+113+25*(15-i), 90-(currentFont.charH/2), ""+(i+1)); + PIDisplay.renderer.glDrawStringCenter(150+113+25*(15-i), 90-(PIDisplay.renderer.getCurrentFont().charH/2), ""+(i+1)); } for (int i = 7; i >= 0; i--) { if (pinsB[i] == 1) { @@ -130,9 +130,9 @@ public class KeyboardDebugScreen extends Screen { } else if (pinsB[i] == 0) { colore(1.0f, 0.0f, 0.0f, 1.0f); } - glFillRect(150+103+25*(i), 170, 20, 20); + PIDisplay.renderer.glFillRect(150+103+25*(i), 170, 20, 20); colore(0.0f, 0.0f, 0.0f, 1.0f); - glDrawStringCenter(150+113+25*(i), 180-(currentFont.charH/2), ""+(i+1)); + PIDisplay.renderer.glDrawStringCenter(150+113+25*(i), 180-(PIDisplay.renderer.getCurrentFont().charH/2), ""+(i+1)); } for (int i = 0; i < 8; i++) { if (dataB[i]) { @@ -140,7 +140,7 @@ public class KeyboardDebugScreen extends Screen { } else { colore(1.0f, 0.0f, 0.0f, 1.0f); } - glFillRect(150+160+10*(i), 150, 8, 8); + PIDisplay.renderer.glFillRect(150+160+10*(i), 150, 8, 8); } //GPIO @@ -151,13 +151,13 @@ public class KeyboardDebugScreen extends Screen { colore(1.0f, 0.0f, 0.0f, 1.0f); } if (i % 2 == 0) { - glFillRect(53+15*((i)/2), 50, 5, 5); + PIDisplay.renderer.glFillRect(53+15*((i)/2), 50, 5, 5); colore(0.0f, 0.0f, 0.0f, 1.0f); - glDrawStringCenter(55+15*((i)/2), 60, ""+(i+1)); + PIDisplay.renderer.glDrawStringCenter(55+15*((i)/2), 60, ""+(i+1)); } else { - glFillRect(53+15*((i-1)/2), 40, 5, 5); + PIDisplay.renderer.glFillRect(53+15*((i-1)/2), 40, 5, 5); colore(0.0f, 0.0f, 0.0f, 1.0f); - glDrawStringCenter(55+15*((i-1)/2), 35-currentFont.charH, ""+(i+1)); + PIDisplay.renderer.glDrawStringCenter(55+15*((i-1)/2), 35-PIDisplay.renderer.getCurrentFont().charH, ""+(i+1)); } } @@ -169,7 +169,7 @@ public class KeyboardDebugScreen extends Screen { } else { colore(1.0f, 0.0f, 0.0f, 1.0f); } - glFillRect(250+6*c, 250+6*r, 5, 5); + PIDisplay.renderer.glFillRect(250+6*c, 250+6*r, 5, 5); } } } diff --git a/src/org/warp/picalculator/screens/LoadingScreen.java b/src/org/warp/picalculator/gui/screens/LoadingScreen.java similarity index 55% rename from src/org/warp/picalculator/screens/LoadingScreen.java rename to src/org/warp/picalculator/gui/screens/LoadingScreen.java index bb1963a8..c5014763 100644 --- a/src/org/warp/picalculator/screens/LoadingScreen.java +++ b/src/org/warp/picalculator/gui/screens/LoadingScreen.java @@ -1,14 +1,11 @@ -package org.warp.picalculator.screens; +package org.warp.picalculator.gui.screens; -import static org.warp.picalculator.device.PIDisplay.colore; -import static org.warp.picalculator.device.PIDisplay.fonts; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringCenter; -import static org.warp.picalculator.device.graphicengine.Display.Render.glSetFont; +import static org.warp.picalculator.gui.PIDisplay.colore; +import static org.warp.picalculator.gui.PIDisplay.fonts; import org.warp.picalculator.Main; import org.warp.picalculator.device.Keyboard.Key; -import org.warp.picalculator.device.PIDisplay; -import org.warp.picalculator.device.graphicengine.Screen; +import org.warp.picalculator.gui.PIDisplay; public class LoadingScreen extends Screen { @@ -59,23 +56,23 @@ public class LoadingScreen extends Screen { @Override public void render() { - glSetFont(fonts[2]); + PIDisplay.renderer.glSetFont(fonts[2]); colore(1.0f, 1.0f, 1.0f, 1.0f); - glDrawStringCenter((Main.screenSize[0] / 2) - 1,(int) ((Main.screenSize[1]/ 2) - 25 + loadingTextTranslation), titleString); + PIDisplay.renderer.glDrawStringCenter((Main.screenSize[0] / 2) - 1,(int) ((Main.screenSize[1]/ 2) - 25 + loadingTextTranslation), titleString); colore(1.0f, 1.0f, 1.0f, 1.0f); - glDrawStringCenter((Main.screenSize[0] / 2) + 1,(int) ((Main.screenSize[1]/ 2) - 25 + loadingTextTranslation), titleString); + PIDisplay.renderer.glDrawStringCenter((Main.screenSize[0] / 2) + 1,(int) ((Main.screenSize[1]/ 2) - 25 + loadingTextTranslation), titleString); colore(1.0f, 1.0f, 1.0f, 1.0f); - glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1]/ 2) - 25 - 1 + loadingTextTranslation), titleString); + PIDisplay.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1]/ 2) - 25 - 1 + loadingTextTranslation), titleString); colore(1.0f, 1.0f, 1.0f, 1.0f); - glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1]/ 2) - 25 + 1 + loadingTextTranslation), titleString); + PIDisplay.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1]/ 2) - 25 + 1 + loadingTextTranslation), titleString); colore(1.0f, 0.5f, 0.0f, 1.0f); - glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1]/ 2) - 25 + loadingTextTranslation), titleString); + PIDisplay.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (int) ((Main.screenSize[1]/ 2) - 25 + loadingTextTranslation), titleString); colore(0.0f, 0.0f, 0.0f, 0.75f); - glSetFont(fonts[0]); - glDrawStringCenter((Main.screenSize[0] / 2), (Main.screenSize[1]/ 2) + 11, "LOADING"); - glSetFont(fonts[1]); + PIDisplay.renderer.glSetFont(fonts[0]); + PIDisplay.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (Main.screenSize[1]/ 2) + 11, "LOADING"); + PIDisplay.renderer.glSetFont(fonts[1]); colore(0.0f, 0.0f, 0.0f, 0.5f); - glDrawStringCenter((Main.screenSize[0] / 2), (Main.screenSize[1]/ 2) + 22, "PLEASE WAIT..."); + PIDisplay.renderer.glDrawStringCenter((Main.screenSize[0] / 2), (Main.screenSize[1]/ 2) + 22, "PLEASE WAIT..."); } diff --git a/src/org/warp/picalculator/screens/MarioScreen.java b/src/org/warp/picalculator/gui/screens/MarioScreen.java similarity index 64% rename from src/org/warp/picalculator/screens/MarioScreen.java rename to src/org/warp/picalculator/gui/screens/MarioScreen.java index b6f6e914..b8957680 100644 --- a/src/org/warp/picalculator/screens/MarioScreen.java +++ b/src/org/warp/picalculator/gui/screens/MarioScreen.java @@ -1,10 +1,4 @@ -package org.warp.picalculator.screens; - -import static org.warp.picalculator.device.graphicengine.Display.Render.getMatrixOfImage; -import static org.warp.picalculator.device.graphicengine.Display.Render.glClearColor; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawSkin; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringLeft; -import static org.warp.picalculator.device.graphicengine.Display.Render.glSetFont; +package org.warp.picalculator.gui.screens; import java.awt.image.BufferedImage; import java.io.IOException; @@ -14,8 +8,7 @@ import javax.imageio.ImageIO; import org.warp.picalculator.Main; import org.warp.picalculator.device.Keyboard; import org.warp.picalculator.device.Keyboard.Key; -import org.warp.picalculator.device.PIDisplay; -import org.warp.picalculator.device.graphicengine.Screen; +import org.warp.picalculator.gui.PIDisplay; public class MarioScreen extends Screen { @@ -45,7 +38,7 @@ public class MarioScreen extends Screen { BufferedImage img; try { img = ImageIO.read(Main.instance.getClass().getResource("/marioskin.png")); - skin = getMatrixOfImage(img); + skin = PIDisplay.renderer.getMatrixOfImage(img); skinSize = new int[] { img.getWidth(), img.getHeight() }; } catch (IOException e) { e.printStackTrace(); @@ -53,7 +46,7 @@ public class MarioScreen extends Screen { } try { img = ImageIO.read(Main.instance.getClass().getResource("/marioground.png")); - ground = getMatrixOfImage(img); + ground = PIDisplay.renderer.getMatrixOfImage(img); groundSize = new int[] { img.getWidth(), img.getHeight() }; } catch (IOException e) { e.printStackTrace(); @@ -135,34 +128,34 @@ public class MarioScreen extends Screen { } marioForces[0] *= 0.75; - glClearColor(0xff9290ff); + PIDisplay.renderer.glClearColor(0xff9290ff); } } @Override public void render() { if (errored) { - glDrawStringLeft(0, 20, "ERROR"); + PIDisplay.renderer.glDrawStringLeft(0, 20, "ERROR"); } else { - glSetFont(PIDisplay.fonts[0]); - glDrawSkin(groundSize[0], ground, 0, 25+25, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16, 25+25, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*2, 25+25, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*3, 25+25, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*4, 25+25, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*5, 25+25, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*6, 25+25, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*7, 25+25, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*8, 25+25, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 0, 25+25+16, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16, 25+25+16, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*2, 25+25+16, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*3, 25+25+16, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*4, 25+25+16, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*5, 25+25+16, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*6, 25+25+16, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*7, 25+25+16, 0, 0, 16, 16, false); - glDrawSkin(groundSize[0], ground, 16*8, 25+25+16, 0, 0, 16, 16, false); + PIDisplay.renderer.glSetFont(PIDisplay.fonts[0]); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 0, 25+25, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16, 25+25, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*2, 25+25, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*3, 25+25, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*4, 25+25, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*5, 25+25, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*6, 25+25, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*7, 25+25, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*8, 25+25, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 0, 25+25+16, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16, 25+25+16, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*2, 25+25+16, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*3, 25+25+16, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*4, 25+25+16, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*5, 25+25+16, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*6, 25+25+16, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*7, 25+25+16, 0, 0, 16, 16, false); + PIDisplay.renderer.glDrawSkin(groundSize[0], ground, 16*8, 25+25+16, 0, 0, 16, 16, false); // EASTER EGG // glSetFont(PIDisplay.fonts[4]); @@ -182,7 +175,7 @@ public class MarioScreen extends Screen { // glDrawStringRight(0, Main.screenSize[1]-glGetCurrentFontHeight(), "G"); //DRAW MARIO - glDrawSkin(skinSize[0], skin, getPosX()-18, 25+getPosY(), 35*(marioSkinPos[0]+(flipped?2:1)), 27*marioSkinPos[1], 35*(marioSkinPos[0]+(flipped?1:2)), 27*(marioSkinPos[1]+1), true); + PIDisplay.renderer.glDrawSkin(skinSize[0], skin, getPosX()-18, 25+getPosY(), 35*(marioSkinPos[0]+(flipped?2:1)), 27*marioSkinPos[1], 35*(marioSkinPos[0]+(flipped?1:2)), 27*(marioSkinPos[1]+1), true); } } diff --git a/src/org/warp/picalculator/screens/MathInputScreen.java b/src/org/warp/picalculator/gui/screens/MathInputScreen.java similarity index 87% rename from src/org/warp/picalculator/screens/MathInputScreen.java rename to src/org/warp/picalculator/gui/screens/MathInputScreen.java index c8bab1f5..538b5b0f 100644 --- a/src/org/warp/picalculator/screens/MathInputScreen.java +++ b/src/org/warp/picalculator/gui/screens/MathInputScreen.java @@ -1,13 +1,4 @@ -package org.warp.picalculator.screens; - -import static org.warp.picalculator.device.graphicengine.Display.Render.clearcolor; -import static org.warp.picalculator.device.graphicengine.Display.Render.glClearColor; -import static org.warp.picalculator.device.graphicengine.Display.Render.glColor; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringLeft; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringRight; -import static org.warp.picalculator.device.graphicengine.Display.Render.glFillRect; -import static org.warp.picalculator.device.graphicengine.Display.Render.glGetStringWidth; -import static org.warp.picalculator.device.graphicengine.Display.Render.glSetFont; +package org.warp.picalculator.gui.screens; import java.io.PrintWriter; import java.io.StringWriter; @@ -24,10 +15,8 @@ import org.warp.picalculator.Main; import org.warp.picalculator.Utils; import org.warp.picalculator.device.Keyboard; import org.warp.picalculator.device.Keyboard.Key; -import org.warp.picalculator.device.PIDisplay; -import org.warp.picalculator.device.graphicengine.Display; -import org.warp.picalculator.device.graphicengine.RAWFont; -import org.warp.picalculator.device.graphicengine.Screen; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.RAWFont; import org.warp.picalculator.math.AngleMode; import org.warp.picalculator.math.Calculator; import org.warp.picalculator.math.MathematicalSymbols; @@ -146,23 +135,38 @@ public class MathInputScreen extends Screen { } if (PIDisplay.error == null) { - glClearColor(0xFFc5c2af); + PIDisplay.renderer.glClearColor(0xFFc5c2af); } else { - glClearColor(0xFFDC3C32); + PIDisplay.renderer.glClearColor(0xFFDC3C32); } } private static final RAWFont fontBig = Utils.getFont(false); + @Override + public void renderStatusbar() { + PIDisplay.renderer.glColor3i(0, 0, 0); + int pos = 2; + int spacersNumb = 1; + int skinN = 0; + if (calc.exactMode) { + skinN = 22; + PIDisplay.drawSkinPart(2 + 18 * pos + 2 * spacersNumb, 2, 16 * skinN, 16 * 0, 16 + 16 * skinN, 16 + 16 * 0); + } else { + skinN = 21; + PIDisplay.drawSkinPart(2 + 18 * pos + 2 * spacersNumb, 2, 16 * skinN, 16 * 0, 16 + 16 * skinN, 16 + 16 * 0); + } + } + @Override public void render() { - Display.Render.glSetFont(fontBig); + PIDisplay.renderer.glSetFont(fontBig); final int textColor = 0xFF000000; final int padding = 4; - glColor(textColor); + PIDisplay.renderer.glColor(textColor); final int caretRealPos = MathematicalSymbols.getGraphicRepresentation(nuovaEquazione.substring(0, caretPos)).length()*(fontBig.charW+1); final String inputTextWithoutCaret = MathematicalSymbols.getGraphicRepresentation(nuovaEquazione); - final boolean tooLongI = padding+glGetStringWidth(fontBig, nuovaEquazione)+padding >= Main.screenSize[0]; + final boolean tooLongI = padding+PIDisplay.renderer.glGetStringWidth(fontBig, nuovaEquazione)+padding >= Main.screenSize[0]; int scrollI = 0; if (tooLongI) { scrollI = -scrollX; @@ -172,14 +176,14 @@ public class MathInputScreen extends Screen { scrollI = 0; } } - glDrawStringLeft(padding+scrollI, padding+20, inputTextWithoutCaret); + PIDisplay.renderer.glDrawStringLeft(padding+scrollI, padding+20, inputTextWithoutCaret); if (showCaret) { - glDrawStringLeft(padding+scrollI+caretRealPos, padding+20, "|"); + PIDisplay.renderer.glDrawStringLeft(padding+scrollI+caretRealPos, padding+20, "|"); } if (tooLongI) { - glColor(clearcolor); - glFillRect(Main.screenSize[0]-16-2, padding+20, fontBig.charH, Main.screenSize[0]); - glColor(textColor); + PIDisplay.renderer.glColor(PIDisplay.renderer.glGetClearColor()); + PIDisplay.renderer.glFillRect(Main.screenSize[0]-16-2, padding+20, fontBig.charH, Main.screenSize[0]); + PIDisplay.renderer.glColor(textColor); PIDisplay.drawSkinPart(Main.screenSize[0]-16, padding+20+fontBig.charH/2-16/2, 304, 0, 304+16, 16); } if (calc.f != null) { @@ -201,9 +205,9 @@ public class MathInputScreen extends Screen { final int y = padding+20+padding+fontBig.charH+1+topSpacing; fnc.draw(padding+scrollA, y); if (tooLong) { - glColor(clearcolor); - glFillRect(Main.screenSize[0]-16-2, y, fnc.getHeight(), Main.screenSize[0]); - glColor(textColor); + PIDisplay.renderer.glColor(PIDisplay.renderer.glGetClearColor()); + PIDisplay.renderer.glFillRect(Main.screenSize[0]-16-2, y, fnc.getHeight(), Main.screenSize[0]); + PIDisplay.renderer.glColor(textColor); PIDisplay.drawSkinPart(Main.screenSize[0]-16, y+fnc.getHeight()/2-16/2, 304, 0, 304+16, 16); } } catch (NullPointerException e) { @@ -216,14 +220,14 @@ public class MathInputScreen extends Screen { int bottomSpacing = 0; for (Function f : calc.f2) { bottomSpacing += f.getHeight()+2; - f.draw(Display.getWidth() - 2 - f.getWidth(), Display.getHeight() - bottomSpacing); + f.draw(PIDisplay.display.getWidth() - 2 - f.getWidth(), PIDisplay.display.getHeight() - bottomSpacing); } if (calc.resultsCount > 1 && calc.resultsCount != calc.f2.size()) { String resultsCountText = calc.resultsCount+" total results".toUpperCase(); - glColor(0xFF9AAEA0); - glSetFont(Utils.getFont(true)); + PIDisplay.renderer.glColor(0xFF9AAEA0); + PIDisplay.renderer.glSetFont(Utils.getFont(true)); bottomSpacing += fontBig.charH+2; - glDrawStringRight(Display.getWidth() - 2, Display.getHeight() - bottomSpacing, resultsCountText); + PIDisplay.renderer.glDrawStringRight(PIDisplay.display.getWidth() - 2, PIDisplay.display.getHeight() - bottomSpacing, resultsCountText); } } } @@ -430,7 +434,7 @@ public class MathInputScreen extends Screen { } else { caretPos = nuovaEquazione.length(); } - scrollX = glGetStringWidth(fontBig, nuovaEquazione.substring(0, caretPos)+"|||"); + scrollX = PIDisplay.renderer.glGetStringWidth(fontBig, nuovaEquazione.substring(0, caretPos)+"|||"); showCaret = true; showCaretDelta = 0L; return true; @@ -440,7 +444,7 @@ public class MathInputScreen extends Screen { } else { caretPos = 0; } - scrollX = glGetStringWidth(fontBig, nuovaEquazione.substring(0, caretPos)+"|||"); + scrollX = PIDisplay.renderer.glGetStringWidth(fontBig, nuovaEquazione.substring(0, caretPos)+"|||"); showCaret = true; showCaretDelta = 0L; return true; @@ -647,7 +651,7 @@ public class MathInputScreen extends Screen { MathInputScreen cloned = clone(); cloned.caretPos = cloned.equazioneCorrente.length(); cloned.nuovaEquazione = cloned.equazioneCorrente; - cloned.scrollX = glGetStringWidth(fontBig, cloned.equazioneCorrente); + cloned.scrollX = PIDisplay.renderer.glGetStringWidth(fontBig, cloned.equazioneCorrente); try {cloned.interpreta(true);} catch (Error e) {} PIDisplay.INSTANCE.replaceScreen(cloned); this.initialized = false; @@ -660,7 +664,7 @@ public class MathInputScreen extends Screen { int len = chr.length(); nuovaEquazione=nuovaEquazione.substring(0, caretPos)+chr+nuovaEquazione.substring(caretPos, nuovaEquazione.length()); caretPos+=len; - scrollX = glGetStringWidth(fontBig, nuovaEquazione.substring(0, caretPos)+"|||"); + scrollX = PIDisplay.renderer.glGetStringWidth(fontBig, nuovaEquazione.substring(0, caretPos)+"|||"); showCaret = true; showCaretDelta = 0L; afterDoNextStep = false; diff --git a/src/org/warp/picalculator/device/graphicengine/Screen.java b/src/org/warp/picalculator/gui/screens/Screen.java similarity index 82% rename from src/org/warp/picalculator/device/graphicengine/Screen.java rename to src/org/warp/picalculator/gui/screens/Screen.java index 4395c6e0..21ea5a13 100644 --- a/src/org/warp/picalculator/device/graphicengine/Screen.java +++ b/src/org/warp/picalculator/gui/screens/Screen.java @@ -1,7 +1,7 @@ -package org.warp.picalculator.device.graphicengine; +package org.warp.picalculator.gui.screens; import org.warp.picalculator.device.Keyboard.Key; -import org.warp.picalculator.device.PIDisplay; +import org.warp.picalculator.gui.PIDisplay; public abstract class Screen { public PIDisplay d; @@ -30,6 +30,10 @@ public abstract class Screen { public abstract void init() throws InterruptedException; public abstract void render(); + + public void renderStatusbar() { + + } public abstract void beforeRender(float dt); diff --git a/src/org/warp/picalculator/screens/SolveEquationScreen.java b/src/org/warp/picalculator/gui/screens/SolveEquationScreen.java similarity index 53% rename from src/org/warp/picalculator/screens/SolveEquationScreen.java rename to src/org/warp/picalculator/gui/screens/SolveEquationScreen.java index df8ca635..e7c35118 100644 --- a/src/org/warp/picalculator/screens/SolveEquationScreen.java +++ b/src/org/warp/picalculator/gui/screens/SolveEquationScreen.java @@ -1,14 +1,9 @@ -package org.warp.picalculator.screens; - -import static org.warp.picalculator.device.graphicengine.Display.Render.glColor3i; -import static org.warp.picalculator.device.graphicengine.Display.Render.glColor4i; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringCenter; +package org.warp.picalculator.gui.screens; import org.warp.picalculator.Error; import org.warp.picalculator.Main; import org.warp.picalculator.device.Keyboard.Key; -import org.warp.picalculator.device.PIDisplay; -import org.warp.picalculator.device.graphicengine.Screen; +import org.warp.picalculator.gui.PIDisplay; import org.warp.picalculator.math.Calculator; public class SolveEquationScreen extends Screen { @@ -32,12 +27,12 @@ public class SolveEquationScreen extends Screen { @Override public void render() { - glColor4i(0, 0, 0, 64); - glDrawStringCenter(Main.screenSize[0]/2+1, Main.screenSize[1]/4, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); - glDrawStringCenter(Main.screenSize[0]/2, Main.screenSize[1]/4+1, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); - glDrawStringCenter(Main.screenSize[0]/2+1, Main.screenSize[1]/4+1, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); - glColor3i(255, 0, 0); - glDrawStringCenter(Main.screenSize[0]/2, Main.screenSize[1]/4, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); + PIDisplay.renderer.glColor4i(0, 0, 0, 64); + PIDisplay.renderer.glDrawStringCenter(Main.screenSize[0]/2+1, Main.screenSize[1]/4, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); + PIDisplay.renderer.glDrawStringCenter(Main.screenSize[0]/2, Main.screenSize[1]/4+1, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); + PIDisplay.renderer.glDrawStringCenter(Main.screenSize[0]/2+1, Main.screenSize[1]/4+1, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); + PIDisplay.renderer.glColor3i(255, 0, 0); + PIDisplay.renderer.glDrawStringCenter(Main.screenSize[0]/2, Main.screenSize[1]/4, "WORK IN PROGRESS. THIS SCREEN MUST HAVE A GUI TO SELECT THE VARIABLE TO SOLVE."); } @Override diff --git a/src/org/warp/picalculator/math/functions/AnteriorFunction.java b/src/org/warp/picalculator/math/functions/AnteriorFunction.java index 3eeb0d6e..0e61fdbe 100644 --- a/src/org/warp/picalculator/math/functions/AnteriorFunction.java +++ b/src/org/warp/picalculator/math/functions/AnteriorFunction.java @@ -1,13 +1,11 @@ package org.warp.picalculator.math.functions; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringLeft; -import static org.warp.picalculator.device.graphicengine.Display.Render.glGetStringWidth; - import java.util.ArrayList; import org.warp.picalculator.Error; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.graphicengine.Display; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; import org.warp.picalculator.math.Calculator; import com.rits.cloning.Cloner; @@ -85,7 +83,7 @@ public abstract class AnteriorFunction implements Function { variable.setSmall(small); variable.generateGraphics(); - width = glGetStringWidth(Utils.getFont(small), getSymbol()) + 1 + getVariable().getWidth(); + width = PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), getSymbol()) + 1 + getVariable().getWidth(); height = variable.getHeight(); line = variable.getLine(); } @@ -93,12 +91,12 @@ public abstract class AnteriorFunction implements Function { @Override public void draw(int x, int y) { float h1 = getVariable().getHeight(); - int wsegno = glGetStringWidth(Utils.getFont(small), getSymbol()); + int wsegno = PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), getSymbol()); float hsegno = Utils.getFontHeight(small); float maxh = getHeight(); - Display.Render.glSetFont(Utils.getFont(small)); + PIDisplay.renderer.glSetFont(Utils.getFont(small)); - glDrawStringLeft(x, (int) Math.floor(y + (maxh - hsegno) / 2), getSymbol()); + PIDisplay.renderer.glDrawStringLeft(x, (int) Math.floor(y + (maxh - hsegno) / 2), getSymbol()); getVariable().draw(x + wsegno + 1, (int) Math.floor(y + (maxh - h1) / 2)); } diff --git a/src/org/warp/picalculator/math/functions/Division.java b/src/org/warp/picalculator/math/functions/Division.java index 1c28b767..0b69cb67 100644 --- a/src/org/warp/picalculator/math/functions/Division.java +++ b/src/org/warp/picalculator/math/functions/Division.java @@ -1,14 +1,11 @@ package org.warp.picalculator.math.functions; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringLeft; -import static org.warp.picalculator.device.graphicengine.Display.Render.glFillRect; -import static org.warp.picalculator.device.graphicengine.Display.Render.glGetStringWidth; - import java.util.ArrayList; import org.warp.picalculator.Error; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.graphicengine.Display; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; import org.warp.picalculator.math.Calculator; import org.warp.picalculator.math.MathematicalSymbols; import org.warp.picalculator.math.rules.FractionsRule1; @@ -108,9 +105,9 @@ public class Division extends FunctionTwoValues { } int w1 = 0; int h1 = 0; - Display.Render.glSetFont(Utils.getFont(small)); + PIDisplay.renderer.glSetFont(Utils.getFont(small)); if (minus) { - w1 = glGetStringWidth(Utils.getFont(small), numerator); + w1 = PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), numerator); h1 = Utils.getFont(small).charH; } else { w1 = ((Function) var1).getWidth(); @@ -124,15 +121,15 @@ public class Division extends FunctionTwoValues { maxw = 1 + w2; } if (minus && drawMinus) { - minusw = glGetStringWidth(Utils.getFont(small), "-") + 1; + minusw = PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), "-") + 1; minush = Utils.getFont(small).charH; - glDrawStringLeft(x+1, y + h1 + 1 + 1 - (minush / 2), "-"); - glDrawStringLeft((int) (x+1 + minusw + 1 + (maxw - w1) / 2d), y, numerator); + PIDisplay.renderer.glDrawStringLeft(x+1, y + h1 + 1 + 1 - (minush / 2), "-"); + PIDisplay.renderer.glDrawStringLeft((int) (x+1 + minusw + 1 + (maxw - w1) / 2d), y, numerator); } else { ((Function) var1).draw((int) (x+1 + minusw + (maxw - w1) / 2d), y); } ((Function) var2).draw((int) (x+1 + minusw + (maxw - w2) / 2d), y + h1 + 1 + 1 + 1); - glFillRect(x+1+ minusw, y + h1 + 1, maxw, 1); + PIDisplay.renderer.glFillRect(x+1+ minusw, y + h1 + 1, maxw, 1); } @Override @@ -179,7 +176,7 @@ public class Division extends FunctionTwoValues { } int w1 = 0; if (minus) { - w1 = glGetStringWidth(Utils.getFont(small), numerator); + w1 = PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), numerator); } else { w1 = variable1.getWidth(); } @@ -191,7 +188,7 @@ public class Division extends FunctionTwoValues { maxw = w2+1; } if (minus && drawMinus) { - return 1 + glGetStringWidth(Utils.getFont(small), "-") + 1 + maxw; + return 1 + PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), "-") + 1 + maxw; } else { return 1 + maxw; } diff --git a/src/org/warp/picalculator/math/functions/EmptyNumber.java b/src/org/warp/picalculator/math/functions/EmptyNumber.java index 22d9cf1c..65eeab63 100644 --- a/src/org/warp/picalculator/math/functions/EmptyNumber.java +++ b/src/org/warp/picalculator/math/functions/EmptyNumber.java @@ -4,7 +4,8 @@ import java.util.List; import org.warp.picalculator.Error; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.graphicengine.Display; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; import org.warp.picalculator.math.Calculator; public class EmptyNumber implements Function { @@ -38,12 +39,12 @@ public class EmptyNumber implements Function { @Override public void draw(int x, int y) { - Display.Render.glDrawStringLeft(x, y, "␀"); + PIDisplay.renderer.glDrawStringLeft(x, y, "␀"); } @Override public int getWidth() { - return Display.Render.glGetStringWidth(Utils.getFont(small), "␀"); + return PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), "␀"); } @Override diff --git a/src/org/warp/picalculator/math/functions/Expression.java b/src/org/warp/picalculator/math/functions/Expression.java index 687ed9f3..2a0cb0f1 100644 --- a/src/org/warp/picalculator/math/functions/Expression.java +++ b/src/org/warp/picalculator/math/functions/Expression.java @@ -2,7 +2,6 @@ package org.warp.picalculator.math.functions; import static org.warp.picalculator.Utils.ArrayToRegex; import static org.warp.picalculator.Utils.concat; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawLine; import java.math.BigDecimal; import java.util.ArrayList; @@ -13,6 +12,7 @@ import java.util.regex.Pattern; import org.warp.picalculator.Error; import org.warp.picalculator.Errors; import org.warp.picalculator.Utils; +import org.warp.picalculator.gui.PIDisplay; import org.warp.picalculator.math.Calculator; import org.warp.picalculator.math.MathematicalSymbols; import org.warp.picalculator.math.functions.trigonometry.ArcCosine; @@ -696,9 +696,9 @@ public class Expression extends FunctionMultipleValues { float maxy = y + getHeight(); int h = getHeight(); x += 1; - glDrawLine(x, y + 2, x + 2, y); - glDrawLine(x, y + 2, x, y + h - 3); - glDrawLine(x, y + h - 3, x + 2, y + h - 1); + PIDisplay.renderer.glDrawLine(x, y + 2, x + 2, y); + PIDisplay.renderer.glDrawLine(x, y + 2, x, y + h - 3); + PIDisplay.renderer.glDrawLine(x, y + h - 3, x + 2, y + h - 1); x += 4; for (Function f : functions) { float fheight = f.getHeight(); @@ -707,9 +707,9 @@ public class Expression extends FunctionMultipleValues { x += f.getWidth(); } x += 2; - glDrawLine(x, y, x + 2, y + 2); - glDrawLine(x + 2, y + 2, x + 2, y + h - 3); - glDrawLine(x, y + h - 1, x + 2, y + h - 3); + PIDisplay.renderer.glDrawLine(x, y, x + 2, y + 2); + PIDisplay.renderer.glDrawLine(x + 2, y + 2, x + 2, y + h - 3); + PIDisplay.renderer.glDrawLine(x, y + h - 1, x + 2, y + h - 3); x += 4; } } diff --git a/src/org/warp/picalculator/math/functions/FunctionTwoValues.java b/src/org/warp/picalculator/math/functions/FunctionTwoValues.java index 8074c037..944e61ac 100644 --- a/src/org/warp/picalculator/math/functions/FunctionTwoValues.java +++ b/src/org/warp/picalculator/math/functions/FunctionTwoValues.java @@ -1,13 +1,11 @@ package org.warp.picalculator.math.functions; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringLeft; -import static org.warp.picalculator.device.graphicengine.Display.Render.glGetStringWidth; - import java.util.ArrayList; import org.warp.picalculator.Error; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.graphicengine.Display; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; import org.warp.picalculator.math.Calculator; import com.rits.cloning.Cloner; @@ -114,9 +112,9 @@ public abstract class FunctionTwoValues implements Function { variable1.draw(dx + x, ln - variable1.getLine() + y); dx += 1+variable1.getWidth(); if (drawSignum()) { - Display.Render.glSetFont(Utils.getFont(small)); - glDrawStringLeft(dx + x, ln - Utils.getFontHeight(small) / 2 + y, getSymbol()); - dx += glGetStringWidth(Utils.getFont(small), getSymbol()); + PIDisplay.renderer.glSetFont(Utils.getFont(small)); + PIDisplay.renderer.glDrawStringLeft(dx + x, ln - Utils.getFontHeight(small) / 2 + y, getSymbol()); + dx += PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), getSymbol()); } variable2.draw(dx + x, ln - variable2.getLine() + y); } @@ -165,7 +163,7 @@ public abstract class FunctionTwoValues implements Function { } protected int calcWidth() { - return variable1.getWidth() + 1 + (drawSignum() ? glGetStringWidth(Utils.getFont(small), getSymbol()) : 0) + variable2.getWidth(); + return variable1.getWidth() + 1 + (drawSignum() ? PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), getSymbol()) : 0) + variable2.getWidth(); } protected int calcHeight() { diff --git a/src/org/warp/picalculator/math/functions/Joke.java b/src/org/warp/picalculator/math/functions/Joke.java index a8201aeb..582cc2f7 100644 --- a/src/org/warp/picalculator/math/functions/Joke.java +++ b/src/org/warp/picalculator/math/functions/Joke.java @@ -4,9 +4,9 @@ import java.util.List; import org.warp.picalculator.Error; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.PIDisplay; -import org.warp.picalculator.device.graphicengine.Display; -import org.warp.picalculator.device.graphicengine.RAWFont; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.RAWFont; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; import org.warp.picalculator.math.Calculator; public class Joke implements Function { @@ -46,22 +46,22 @@ public class Joke implements Function { @Override public void draw(int x, int y) { - RAWFont rf = Display.Render.currentFont; + RAWFont rf = PIDisplay.renderer.getCurrentFont(); if (jokesFont[joke] >= 0) { - Display.Render.glSetFont(PIDisplay.fonts[jokesFont[joke]]); + PIDisplay.renderer.glSetFont(PIDisplay.fonts[jokesFont[joke]]); } - Display.Render.glDrawStringLeft(x, y, jokes[joke]); + PIDisplay.renderer.glDrawStringLeft(x, y, jokes[joke]); if (jokesFont[joke] >= 0) { - Display.Render.glSetFont(rf); + PIDisplay.renderer.glSetFont(rf); } } @Override public int getWidth() { if (jokesFont[joke] >= 0) { - return Display.Render.glGetStringWidth(PIDisplay.fonts[jokesFont[joke]], jokes[joke]); + return PIDisplay.renderer.glGetStringWidth(PIDisplay.fonts[jokesFont[joke]], jokes[joke]); } else { - return Display.Render.glGetStringWidth(Utils.getFont(small), jokes[joke]); + return PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), jokes[joke]); } } diff --git a/src/org/warp/picalculator/math/functions/Negative.java b/src/org/warp/picalculator/math/functions/Negative.java index dba70998..5e44c8cb 100644 --- a/src/org/warp/picalculator/math/functions/Negative.java +++ b/src/org/warp/picalculator/math/functions/Negative.java @@ -5,7 +5,8 @@ import java.util.ArrayList; import org.warp.picalculator.Error; import org.warp.picalculator.Errors; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.graphicengine.Display; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; import org.warp.picalculator.math.Calculator; import org.warp.picalculator.math.MathematicalSymbols; import org.warp.picalculator.math.rules.ExpandRule1; @@ -33,7 +34,7 @@ public class Negative extends AnteriorFunction { variable.generateGraphics(); height = getVariable().getHeight(); - width = Display.Render.glGetStringWidth(Utils.getFont(small), "-") + getVariable().getWidth(); + width = PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), "-") + getVariable().getWidth(); line = getVariable().getLine(); } diff --git a/src/org/warp/picalculator/math/functions/Number.java b/src/org/warp/picalculator/math/functions/Number.java index 1f357449..f3a2f25b 100644 --- a/src/org/warp/picalculator/math/functions/Number.java +++ b/src/org/warp/picalculator/math/functions/Number.java @@ -1,8 +1,5 @@ package org.warp.picalculator.math.functions; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringLeft; -import static org.warp.picalculator.device.graphicengine.Display.Render.glGetStringWidth; - import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; @@ -12,8 +9,9 @@ import java.util.List; import org.nevec.rjm.BigDecimalMath; import org.warp.picalculator.Error; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.graphicengine.Display; -import org.warp.picalculator.device.graphicengine.RAWFont; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.RAWFont; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; import org.warp.picalculator.math.Calculator; import com.rits.cloning.Cloner; @@ -133,7 +131,7 @@ public class Number implements Function { @Override public void draw(int x, int y) { - Display.Render.glSetFont(Utils.getFont(small)); + PIDisplay.renderer.glSetFont(Utils.getFont(small)); String t = toString(); if (t.startsWith("-")) { @@ -147,12 +145,12 @@ public class Number implements Function { final RAWFont defaultf = Utils.getFont(small); final RAWFont smallf = Utils.getFont(true); String s = t.substring(0, t.indexOf("ℯ℮")+2); - int sw = glGetStringWidth(defaultf, s); - glDrawStringLeft(x+1, y+smallf.charH-2, s); - Display.Render.glSetFont(smallf); - glDrawStringLeft(x+1+sw-3, y, t.substring(t.indexOf("ℯ℮")+2)); + int sw = PIDisplay.renderer.glGetStringWidth(defaultf, s); + PIDisplay.renderer.glDrawStringLeft(x+1, y+smallf.charH-2, s); + PIDisplay.renderer.glSetFont(smallf); + PIDisplay.renderer.glDrawStringLeft(x+1+sw-3, y, t.substring(t.indexOf("ℯ℮")+2)); } else { - glDrawStringLeft(x+1, y, t); + PIDisplay.renderer.glDrawStringLeft(x+1, y, t); } } @@ -196,10 +194,10 @@ public class Number implements Function { final RAWFont defaultf = Utils.getFont(small); final RAWFont smallf = Utils.getFont(true); String s = t.substring(0, t.indexOf("ℯ℮")+2); - int sw = glGetStringWidth(defaultf, s); - return 1+sw-3+glGetStringWidth(smallf, t.substring(t.indexOf("ℯ℮")+2)); + int sw = PIDisplay.renderer.glGetStringWidth(defaultf, s); + return 1+sw-3+PIDisplay.renderer.glGetStringWidth(smallf, t.substring(t.indexOf("ℯ℮")+2)); } else { - return glGetStringWidth(Utils.getFont(small), t)+1; + return PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), t)+1; } } diff --git a/src/org/warp/picalculator/math/functions/Root.java b/src/org/warp/picalculator/math/functions/Root.java index 359ff25e..1a65cd47 100644 --- a/src/org/warp/picalculator/math/functions/Root.java +++ b/src/org/warp/picalculator/math/functions/Root.java @@ -1,12 +1,11 @@ package org.warp.picalculator.math.functions; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawLine; - import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; import org.warp.picalculator.Error; +import org.warp.picalculator.gui.PIDisplay; import org.warp.picalculator.math.Calculator; import org.warp.picalculator.math.MathematicalSymbols; @@ -99,10 +98,10 @@ public class Root extends FunctionTwoValues { getVariable1().draw(x + 1, y); getVariable2().draw(x + 1 + w2 + 2, y + h2 - 2); - glDrawLine(x + 1 + w2 - 2, y + height - 3, x + 1 + w2, y + height); - glDrawLine(x + 1 + w2, y + height - 1 - hh, x + 1 + w2, y + height - 1); - glDrawLine(x + 1 + w2 + 1, y + height - 2 - h1, x + 1 + w2 + 1, y + height - 1 - hh - 1); - glDrawLine(x + 1 + w2 + 1, y + height - h1 - 2, x + 1 + w2 + 2 + w1 + 1, y + height - h1 - 2); + PIDisplay.renderer.glDrawLine(x + 1 + w2 - 2, y + height - 3, x + 1 + w2, y + height); + PIDisplay.renderer.glDrawLine(x + 1 + w2, y + height - 1 - hh, x + 1 + w2, y + height - 1); + PIDisplay.renderer.glDrawLine(x + 1 + w2 + 1, y + height - 2 - h1, x + 1 + w2 + 1, y + height - 1 - hh - 1); + PIDisplay.renderer.glDrawLine(x + 1 + w2 + 1, y + height - h1 - 2, x + 1 + w2 + 2 + w1 + 1, y + height - h1 - 2); } @Override diff --git a/src/org/warp/picalculator/math/functions/Sum.java b/src/org/warp/picalculator/math/functions/Sum.java index 6df3d953..d28f1e78 100644 --- a/src/org/warp/picalculator/math/functions/Sum.java +++ b/src/org/warp/picalculator/math/functions/Sum.java @@ -1,13 +1,12 @@ package org.warp.picalculator.math.functions; -import static org.warp.picalculator.device.graphicengine.Display.Render.glGetStringWidth; - import java.math.BigDecimal; import java.util.ArrayList; import org.warp.picalculator.Error; import org.warp.picalculator.Errors; import org.warp.picalculator.Utils; +import org.warp.picalculator.gui.PIDisplay; import org.warp.picalculator.math.Calculator; import org.warp.picalculator.math.MathematicalSymbols; import org.warp.picalculator.math.rules.NumberRule3; @@ -114,7 +113,7 @@ public class Sum extends FunctionTwoValues { int dx = 0; dx += variable1.getWidth(); dx += 1; - dx += glGetStringWidth(Utils.getFont(small), getSymbol()); + dx += PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), getSymbol()); return dx += variable2.getWidth(); } diff --git a/src/org/warp/picalculator/math/functions/SumSubtraction.java b/src/org/warp/picalculator/math/functions/SumSubtraction.java index 8172c4eb..d90f3148 100644 --- a/src/org/warp/picalculator/math/functions/SumSubtraction.java +++ b/src/org/warp/picalculator/math/functions/SumSubtraction.java @@ -1,14 +1,12 @@ package org.warp.picalculator.math.functions; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringLeft; -import static org.warp.picalculator.device.graphicengine.Display.Render.glGetStringWidth; - import java.util.ArrayList; import org.warp.picalculator.Error; import org.warp.picalculator.Errors; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.graphicengine.Display; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; import org.warp.picalculator.math.Calculator; import org.warp.picalculator.math.MathematicalSymbols; import org.warp.picalculator.math.rules.ExpandRule1; @@ -88,10 +86,10 @@ public class SumSubtraction extends FunctionTwoValues { int dx = 0; variable1.draw(dx + x, ln - variable1.getLine() + y); dx += variable1.getWidth(); - Display.Render.glSetFont(Utils.getFont(small)); + PIDisplay.renderer.glSetFont(Utils.getFont(small)); dx += 1; - glDrawStringLeft(dx + x, ln - Utils.getFontHeight(small) / 2 + y, getSymbol()); - dx += glGetStringWidth(Utils.getFont(small), getSymbol()); + PIDisplay.renderer.glDrawStringLeft(dx + x, ln - Utils.getFontHeight(small) / 2 + y, getSymbol()); + dx += PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), getSymbol()); variable2.draw(dx + x, ln - variable2.getLine() + y); } @@ -105,7 +103,7 @@ public class SumSubtraction extends FunctionTwoValues { int dx = 0; dx += variable1.getWidth(); dx += 1; - dx += glGetStringWidth(Utils.getFont(small), getSymbol()); + dx += PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), getSymbol()); return dx += variable2.getWidth(); } diff --git a/src/org/warp/picalculator/math/functions/Undefined.java b/src/org/warp/picalculator/math/functions/Undefined.java index 90562ad4..d73a9cd7 100644 --- a/src/org/warp/picalculator/math/functions/Undefined.java +++ b/src/org/warp/picalculator/math/functions/Undefined.java @@ -4,7 +4,8 @@ import java.util.List; import org.warp.picalculator.Error; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.graphicengine.Display; +import org.warp.picalculator.gui.PIDisplay; +import org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay; import org.warp.picalculator.math.Calculator; public class Undefined implements Function { @@ -35,15 +36,15 @@ public class Undefined implements Function { @Override public void generateGraphics() { - width = Display.Render.glGetStringWidth(Utils.getFont(small), "UNDEFINED"); + width = PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), "UNDEFINED"); height = Utils.getFontHeight(small); line = height/2; } @Override public void draw(int x, int y) { - Display.Render.glSetFont(Utils.getFont(small)); - Display.Render.glDrawStringLeft(x, y, "UNDEFINED"); + PIDisplay.renderer.glSetFont(Utils.getFont(small)); + PIDisplay.renderer.glDrawStringLeft(x, y, "UNDEFINED"); } @Override diff --git a/src/org/warp/picalculator/math/functions/Variable.java b/src/org/warp/picalculator/math/functions/Variable.java index 50e03a4b..d5b5096c 100644 --- a/src/org/warp/picalculator/math/functions/Variable.java +++ b/src/org/warp/picalculator/math/functions/Variable.java @@ -1,14 +1,11 @@ package org.warp.picalculator.math.functions; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawStringLeft; -import static org.warp.picalculator.device.graphicengine.Display.Render.glGetStringWidth; - import java.util.ArrayList; import java.util.List; import org.warp.picalculator.Error; import org.warp.picalculator.Utils; -import org.warp.picalculator.device.graphicengine.Display; +import org.warp.picalculator.gui.PIDisplay; import org.warp.picalculator.math.Calculator; import com.rits.cloning.Cloner; @@ -65,8 +62,8 @@ public class Variable implements Function { @Override public void draw(int x, int y) { - Display.Render.glSetFont(Utils.getFont(small)); - glDrawStringLeft(x+1, y, toString()); + PIDisplay.renderer.glSetFont(Utils.getFont(small)); + PIDisplay.renderer.glDrawStringLeft(x+1, y, toString()); } @Override @@ -85,7 +82,7 @@ public class Variable implements Function { } public int calcWidth() { - return glGetStringWidth(Utils.getFont(small), toString())+1; + return PIDisplay.renderer.glGetStringWidth(Utils.getFont(small), toString())+1; } @Override diff --git a/src/org/warp/picalculator/math/functions/equations/EquationsSystem.java b/src/org/warp/picalculator/math/functions/equations/EquationsSystem.java index 7c8f9403..04ddb820 100644 --- a/src/org/warp/picalculator/math/functions/equations/EquationsSystem.java +++ b/src/org/warp/picalculator/math/functions/equations/EquationsSystem.java @@ -1,11 +1,10 @@ package org.warp.picalculator.math.functions.equations; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawLine; - import java.util.ArrayList; import java.util.List; import org.warp.picalculator.Error; +import org.warp.picalculator.gui.PIDisplay; import org.warp.picalculator.math.Calculator; import org.warp.picalculator.math.functions.Expression; import org.warp.picalculator.math.functions.Function; @@ -109,13 +108,13 @@ public class EquationsSystem extends FunctionMultipleValues { } - glDrawLine(x + 2, y + 0, x + 3, y + 0); - glDrawLine(x + 1, y + 1, x + 1, y + marginBottom / 2); - glDrawLine(x + 2, y + marginBottom / 2 + 1, x + 2, y + marginBottom - 1); - glDrawLine(x + 0, y + marginBottom, x + 1, y + marginBottom); - glDrawLine(x + 2, y + marginBottom + 1, x + 2, y + marginBottom + spazioSopra / 2 - 1); - glDrawLine(x + 1, y + marginBottom + spazioSopra / 2, x + 1, y + h - 1); - glDrawLine(x + 2, y + h, x + 3, y + h); + PIDisplay.renderer.glDrawLine(x + 2, y + 0, x + 3, y + 0); + PIDisplay.renderer.glDrawLine(x + 1, y + 1, x + 1, y + marginBottom / 2); + PIDisplay.renderer.glDrawLine(x + 2, y + marginBottom / 2 + 1, x + 2, y + marginBottom - 1); + PIDisplay.renderer.glDrawLine(x + 0, y + marginBottom, x + 1, y + marginBottom); + PIDisplay.renderer.glDrawLine(x + 2, y + marginBottom + 1, x + 2, y + marginBottom + spazioSopra / 2 - 1); + PIDisplay.renderer.glDrawLine(x + 1, y + marginBottom + spazioSopra / 2, x + 1, y + h - 1); + PIDisplay.renderer.glDrawLine(x + 2, y + h, x + 3, y + h); } @Override diff --git a/src/org/warp/picalculator/math/functions/equations/EquationsSystemPart.java b/src/org/warp/picalculator/math/functions/equations/EquationsSystemPart.java index f9435bd7..15538b56 100644 --- a/src/org/warp/picalculator/math/functions/equations/EquationsSystemPart.java +++ b/src/org/warp/picalculator/math/functions/equations/EquationsSystemPart.java @@ -1,6 +1,6 @@ package org.warp.picalculator.math.functions.equations; -import static org.warp.picalculator.device.graphicengine.Display.Render.glDrawLine; +import static org.warp.picalculator.gui.graphicengine.cpu.CPUDisplay.Render.glDrawLine; import java.util.ArrayList; import java.util.List; diff --git a/src/org/warp/picalculator/math/rules/NumberRule2.java b/src/org/warp/picalculator/math/rules/NumberRule2.java index e7f23c7d..bec01ff1 100644 --- a/src/org/warp/picalculator/math/rules/NumberRule2.java +++ b/src/org/warp/picalculator/math/rules/NumberRule2.java @@ -55,7 +55,7 @@ public class NumberRule2 { } } - result.add(a.setParent(root)); + result.add(a); return result; } diff --git a/src/org/warp/picalculator/math/rules/SyntaxRule2.java b/src/org/warp/picalculator/math/rules/SyntaxRule2.java index e53d7aab..2e5266f5 100644 --- a/src/org/warp/picalculator/math/rules/SyntaxRule2.java +++ b/src/org/warp/picalculator/math/rules/SyntaxRule2.java @@ -3,6 +3,7 @@ package org.warp.picalculator.math.rules; import java.util.ArrayList; import org.warp.picalculator.Error; +import org.warp.picalculator.math.Calculator; import org.warp.picalculator.math.functions.Expression; import org.warp.picalculator.math.functions.Function; import org.warp.picalculator.math.functions.Sum; diff --git a/test.png b/test.png new file mode 100644 index 00000000..703116f8 Binary files /dev/null and b/test.png differ