├── .gitignore ├── BlueIrisViewer-android ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── .tpignore ├── AndroidManifest.xml ├── assets │ ├── ScreenBrightness.exe │ └── data │ │ ├── default.fnt │ │ ├── default.png │ │ ├── libgdx_about.png │ │ ├── uiskin.atlas │ │ ├── uiskin.json │ │ └── uiskin.png ├── bin │ └── AndroidManifest.xml ├── gen │ └── org │ │ └── brian │ │ └── blueirisviewer │ │ ├── BuildConfig.java │ │ └── R.java ├── libs │ ├── armeabi-v7a │ │ └── libgdx.so │ ├── armeabi │ │ └── libgdx.so │ ├── gdx-backend-android-sources.jar │ └── gdx-backend-android.jar ├── proguard.cfg ├── project.properties ├── res │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-ldpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── layout │ │ └── main.xml │ └── values │ │ └── strings.xml └── src │ └── org │ └── brian │ └── blueirisviewer │ └── MainActivity.java ├── BlueIrisViewer-desktop ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── .tpignore ├── libs │ ├── gdx-backend-lwjgl-natives.jar │ ├── gdx-backend-lwjgl-sources.jar │ ├── gdx-backend-lwjgl.jar │ ├── gdx-natives.jar │ ├── xmlpull-1.1.3.1.jar │ ├── xpp3_min-1.1.4c.jar │ └── xstream-1.4.7.jar └── src │ └── org │ └── brian │ └── blueirisviewer │ ├── DesktopWindowHelper.java │ ├── Main.java │ ├── NativeUtils.java │ └── XStreamSerializer.java ├── BlueIrisViewer-html ├── .classpath ├── .project ├── .settings │ ├── com.google.gdt.eclipse.core.prefs │ └── com.google.gwt.eclipse.core.prefs ├── .tpignore ├── gwt-unitCache │ ├── gwt-unitCache-0000013A574C5A30 │ └── gwt-unitCache-0000013A577685A4 ├── src │ └── org │ │ └── brian │ │ └── blueirisviewer │ │ ├── GwtDefinition.gwt.xml │ │ └── client │ │ └── GwtLauncher.java └── war │ ├── WEB-INF │ ├── classes │ │ └── org │ │ │ └── brian │ │ │ └── blueirisviewer │ │ │ ├── GwtDefinition.gwt.xml │ │ │ └── client │ │ │ └── GwtLauncher.class │ ├── deploy │ │ └── org.brian.blueirisviewer.GwtDefinition │ │ │ └── rpcPolicyManifest │ │ │ └── manifest.txt │ ├── lib │ │ ├── gdx-backend-gwt-sources.jar │ │ ├── gdx-backend-gwt.jar │ │ └── gwt-servlet.jar │ └── web.xml │ ├── assets │ ├── assets.txt │ └── data │ │ └── libgdx.png │ ├── index.html │ └── org.brian.blueirisviewer.GwtDefinition │ ├── clear.cache.gif │ ├── gwt │ └── chrome │ │ ├── chrome.css │ │ ├── chrome_rtl.css │ │ └── images │ │ ├── corner.png │ │ ├── corner_ie6.png │ │ ├── hborder.png │ │ ├── hborder_ie6.png │ │ ├── ie6 │ │ ├── corner_dialog_topleft.png │ │ ├── corner_dialog_topright.png │ │ ├── hborder_blue_shadow.png │ │ ├── hborder_gray_shadow.png │ │ ├── vborder_blue_shadow.png │ │ └── vborder_gray_shadow.png │ │ ├── splitPanelThumb.png │ │ ├── vborder.png │ │ └── vborder_ie6.png │ ├── hosted.html │ ├── org.brian.blueirisviewer.GwtDefinition.nocache.js │ ├── soundmanager2-jsmin.js │ ├── soundmanager2-setup.js │ ├── soundmanager2_debug.swf │ └── soundmanager2_flash9_debug.swf ├── BlueIrisViewer ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── .tpignore ├── libs │ ├── gdx-sources.jar │ ├── gdx.jar │ ├── json-simple-1.1.1.jar │ ├── turbojpeg.jar │ ├── tween-engine-api-sources.jar │ └── tween-engine-api.jar └── src │ ├── BlueIrisViewer.gwt.xml │ └── org │ └── brian │ └── blueirisviewer │ ├── BIVSettings.java │ ├── BlueIrisViewer.java │ ├── FreezeDetector.java │ ├── GameTime.java │ ├── images │ ├── DownloadedJpeg.java │ ├── DownloadedTexture.java │ ├── Images.java │ └── PixelManipulator.java │ ├── instantreplay │ ├── InstantReplayImage.java │ ├── InstantReplayImageCollection.java │ └── InstantReplayManager.java │ ├── ui │ ├── AboutWnd.java │ ├── CameraLayoutWnd.java │ ├── FreezeDetectionWnd.java │ ├── InstantReplayWnd.java │ ├── MainOptionsWnd.java │ ├── NightModeWnd.java │ ├── PerformanceWnd.java │ ├── ServerSetupWnd.java │ ├── UI.java │ ├── UIElement.java │ ├── WhatIsPixelManipulationWnd.java │ ├── WhatIsResolutionModeWnd.java │ └── WindowOptionsWnd.java │ └── util │ ├── Base64.java │ ├── ByteArrayPool.java │ ├── Encryption.java │ ├── HttpHelper.java │ ├── IntPoint.java │ ├── IntRectangle.java │ ├── IntRunnable.java │ ├── Logger.java │ ├── NightModeManager.java │ ├── OSDetection.java │ ├── ObjectSerializer.java │ ├── PostData.java │ ├── ReAuthenticateException.java │ ├── ScreenBrightness.java │ ├── SerializableObjectBase.java │ ├── Utilities.java │ ├── WindowHelper.java │ └── string.java ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | 25 | /Release/ 26 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /gen/ 3 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | BlueIrisViewer-android 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 3 | org.eclipse.jdt.core.compiler.compliance=1.5 4 | org.eclipse.jdt.core.compiler.source=1.5 5 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/.tpignore: -------------------------------------------------------------------------------- 1 | \Q/bin/\E.* 2 | \Q/gen/\E.* 3 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 13 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/assets/ScreenBrightness.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/assets/ScreenBrightness.exe -------------------------------------------------------------------------------- /BlueIrisViewer-android/assets/data/default.fnt: -------------------------------------------------------------------------------- 1 | info face="Droid Sans" size=17 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 2 | common lineHeight=20 base=18 scaleW=256 scaleH=128 pages=1 packed=0 3 | page id=0 file="default.png" 4 | chars count=96 5 | char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=16 xadvance=4 page=0 chnl=0 6 | char id=124 x=0 y=0 width=6 height=20 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0 7 | char id=106 x=6 y=0 width=9 height=20 xoffset=-4 yoffset=3 xadvance=4 page=0 chnl=0 8 | char id=81 x=15 y=0 width=15 height=19 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0 9 | char id=74 x=30 y=0 width=11 height=19 xoffset=-5 yoffset=3 xadvance=4 page=0 chnl=0 10 | char id=125 x=41 y=0 width=10 height=18 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0 11 | char id=123 x=51 y=0 width=10 height=18 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0 12 | char id=93 x=61 y=0 width=8 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0 13 | char id=91 x=69 y=0 width=8 height=18 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=0 14 | char id=41 x=77 y=0 width=9 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0 15 | char id=40 x=86 y=0 width=9 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0 16 | char id=64 x=95 y=0 width=18 height=17 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=0 17 | char id=121 x=113 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0 18 | char id=113 x=126 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0 19 | char id=112 x=139 y=0 width=13 height=17 xoffset=-2 yoffset=6 xadvance=9 page=0 chnl=0 20 | char id=103 x=152 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0 21 | char id=38 x=165 y=0 width=16 height=16 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=0 22 | char id=37 x=181 y=0 width=18 height=16 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=0 23 | char id=36 x=199 y=0 width=12 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 24 | char id=63 x=211 y=0 width=11 height=16 xoffset=-3 yoffset=3 xadvance=7 page=0 chnl=0 25 | char id=33 x=222 y=0 width=7 height=16 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0 26 | char id=48 x=229 y=0 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 27 | char id=57 x=242 y=0 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 28 | char id=56 x=0 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 29 | char id=54 x=13 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 30 | char id=53 x=26 y=20 width=12 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 31 | char id=51 x=38 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 32 | char id=100 x=51 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 33 | char id=98 x=64 y=20 width=13 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 34 | char id=85 x=77 y=20 width=14 height=16 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0 35 | char id=83 x=91 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0 36 | char id=79 x=104 y=20 width=15 height=16 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0 37 | char id=71 x=119 y=20 width=14 height=16 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0 38 | char id=67 x=133 y=20 width=13 height=16 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0 39 | char id=127 x=146 y=20 width=12 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0 40 | char id=35 x=158 y=20 width=15 height=15 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=0 41 | char id=92 x=173 y=20 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0 42 | char id=47 x=184 y=20 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0 43 | char id=59 x=195 y=20 width=8 height=15 xoffset=-3 yoffset=6 xadvance=4 page=0 chnl=0 44 | char id=55 x=203 y=20 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 45 | char id=52 x=216 y=20 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 46 | char id=50 x=230 y=20 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 47 | char id=49 x=243 y=20 width=9 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 48 | char id=116 x=0 y=36 width=10 height=15 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=0 49 | char id=108 x=10 y=36 width=6 height=15 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0 50 | char id=107 x=16 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0 51 | char id=105 x=28 y=36 width=7 height=15 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0 52 | char id=104 x=35 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0 53 | char id=102 x=47 y=36 width=11 height=15 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0 54 | char id=90 x=58 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 55 | char id=89 x=71 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0 56 | char id=88 x=84 y=36 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 57 | char id=87 x=98 y=36 width=19 height=15 xoffset=-3 yoffset=3 xadvance=15 page=0 chnl=0 58 | char id=86 x=117 y=36 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 59 | char id=84 x=131 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0 60 | char id=82 x=144 y=36 width=13 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0 61 | char id=80 x=157 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 62 | char id=78 x=169 y=36 width=14 height=15 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0 63 | char id=77 x=183 y=36 width=17 height=15 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=0 64 | char id=76 x=200 y=36 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0 65 | char id=75 x=211 y=36 width=13 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 66 | char id=73 x=224 y=36 width=10 height=15 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0 67 | char id=72 x=234 y=36 width=14 height=15 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0 68 | char id=70 x=0 y=51 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0 69 | char id=69 x=11 y=51 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0 70 | char id=68 x=22 y=51 width=14 height=15 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0 71 | char id=66 x=36 y=51 width=13 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0 72 | char id=65 x=49 y=51 width=15 height=15 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=0 73 | char id=58 x=64 y=51 width=7 height=13 xoffset=-2 yoffset=6 xadvance=4 page=0 chnl=0 74 | char id=117 x=71 y=51 width=12 height=13 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=0 75 | char id=115 x=83 y=51 width=11 height=13 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0 76 | char id=111 x=94 y=51 width=13 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0 77 | char id=101 x=107 y=51 width=13 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0 78 | char id=99 x=120 y=51 width=12 height=13 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0 79 | char id=97 x=132 y=51 width=12 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0 80 | char id=60 x=144 y=51 width=13 height=12 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=0 81 | char id=122 x=157 y=51 width=11 height=12 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0 82 | char id=120 x=168 y=51 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0 83 | char id=119 x=181 y=51 width=17 height=12 xoffset=-3 yoffset=6 xadvance=12 page=0 chnl=0 84 | char id=118 x=198 y=51 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0 85 | char id=114 x=211 y=51 width=10 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=0 86 | char id=110 x=221 y=51 width=12 height=12 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=0 87 | char id=109 x=233 y=51 width=17 height=12 xoffset=-2 yoffset=6 xadvance=15 page=0 chnl=0 88 | char id=94 x=0 y=66 width=13 height=11 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 89 | char id=62 x=13 y=66 width=13 height=11 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=0 90 | char id=42 x=26 y=66 width=13 height=10 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 91 | char id=43 x=39 y=66 width=13 height=10 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0 92 | char id=61 x=52 y=66 width=13 height=8 xoffset=-3 yoffset=7 xadvance=9 page=0 chnl=0 93 | char id=39 x=65 y=66 width=6 height=8 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=0 94 | char id=34 x=71 y=66 width=9 height=8 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=0 95 | char id=44 x=80 y=66 width=8 height=7 xoffset=-3 yoffset=14 xadvance=4 page=0 chnl=0 96 | char id=126 x=88 y=66 width=13 height=6 xoffset=-3 yoffset=8 xadvance=9 page=0 chnl=0 97 | char id=46 x=101 y=66 width=7 height=6 xoffset=-2 yoffset=13 xadvance=4 page=0 chnl=0 98 | char id=96 x=108 y=66 width=8 height=6 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0 99 | char id=45 x=116 y=66 width=9 height=5 xoffset=-3 yoffset=10 xadvance=5 page=0 chnl=0 100 | char id=95 x=125 y=66 width=13 height=4 xoffset=-4 yoffset=17 xadvance=6 page=0 chnl=0 101 | kernings count=-1 102 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/assets/data/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/assets/data/default.png -------------------------------------------------------------------------------- /BlueIrisViewer-android/assets/data/libgdx_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/assets/data/libgdx_about.png -------------------------------------------------------------------------------- /BlueIrisViewer-android/assets/data/uiskin.atlas: -------------------------------------------------------------------------------- 1 | 2 | uiskin.png 3 | format: RGBA8888 4 | filter: Nearest,Nearest 5 | repeat: none 6 | default 7 | rotate: false 8 | xy: 1, 50 9 | size: 254, 77 10 | orig: 254, 77 11 | offset: 0, 0 12 | index: -1 13 | default-window 14 | rotate: false 15 | xy: 1, 20 16 | size: 27, 29 17 | split: 4, 3, 20, 3 18 | orig: 27, 29 19 | offset: 0, 0 20 | index: -1 21 | default-select 22 | rotate: false 23 | xy: 29, 29 24 | size: 27, 20 25 | split: 4, 14, 4, 4 26 | orig: 27, 20 27 | offset: 0, 0 28 | index: -1 29 | default-round-large 30 | rotate: false 31 | xy: 57, 29 32 | size: 20, 20 33 | split: 5, 5, 5, 4 34 | orig: 20, 20 35 | offset: 0, 0 36 | index: -1 37 | default-scroll 38 | rotate: false 39 | xy: 78, 29 40 | size: 20, 20 41 | split: 2, 2, 2, 2 42 | orig: 20, 20 43 | offset: 0, 0 44 | index: -1 45 | default-slider-knob 46 | rotate: false 47 | xy: 1, 1 48 | size: 9, 18 49 | orig: 9, 18 50 | offset: 0, 0 51 | index: -1 52 | default-round-down 53 | rotate: false 54 | xy: 99, 29 55 | size: 12, 20 56 | split: 5, 5, 5, 4 57 | orig: 12, 20 58 | offset: 0, 0 59 | index: -1 60 | default-round 61 | rotate: false 62 | xy: 112, 29 63 | size: 12, 20 64 | split: 5, 5, 5, 4 65 | pad: 4, 4, 1, 1 66 | orig: 12, 20 67 | offset: 0, 0 68 | index: -1 69 | check-off 70 | rotate: false 71 | xy: 11, 5 72 | size: 14, 14 73 | orig: 14, 14 74 | offset: 0, 0 75 | index: -1 76 | textfield 77 | rotate: false 78 | xy: 11, 5 79 | size: 14, 14 80 | split: 3, 3, 3, 3 81 | orig: 14, 14 82 | offset: 0, 0 83 | index: -1 84 | check-on 85 | rotate: false 86 | xy: 125, 35 87 | size: 14, 14 88 | orig: 14, 14 89 | offset: 0, 0 90 | index: -1 91 | tree-minus 92 | rotate: false 93 | xy: 140, 35 94 | size: 14, 14 95 | orig: 14, 14 96 | offset: 0, 0 97 | index: -1 98 | tree-plus 99 | rotate: false 100 | xy: 155, 35 101 | size: 14, 14 102 | orig: 14, 14 103 | offset: 0, 0 104 | index: -1 105 | default-slider 106 | rotate: false 107 | xy: 29, 20 108 | size: 8, 8 109 | split: 2, 2, 2, 2 110 | orig: 8, 8 111 | offset: 0, 0 112 | index: -1 113 | default-pane 114 | rotate: false 115 | xy: 11, 1 116 | size: 5, 3 117 | split: 1, 1, 1, 1 118 | orig: 5, 3 119 | offset: 0, 0 120 | index: -1 121 | default-rect-pad 122 | rotate: false 123 | xy: 11, 1 124 | size: 5, 3 125 | split: 1, 1, 1, 1 126 | orig: 5, 3 127 | offset: 0, 0 128 | index: -1 129 | default-splitpane 130 | rotate: false 131 | xy: 17, 1 132 | size: 5, 3 133 | split: 0, 5, 0, 0 134 | orig: 5, 3 135 | offset: 0, 0 136 | index: -1 137 | cursor 138 | rotate: false 139 | xy: 23, 1 140 | size: 3, 3 141 | split: 1, 1, 1, 1 142 | orig: 3, 3 143 | offset: 0, 0 144 | index: -1 145 | default-splitpane-vertical 146 | rotate: false 147 | xy: 125, 29 148 | size: 3, 5 149 | split: 0, 0, 0, 5 150 | orig: 3, 5 151 | offset: 0, 0 152 | index: -1 153 | default-rect-down 154 | rotate: false 155 | xy: 170, 46 156 | size: 3, 3 157 | split: 1, 1, 1, 1 158 | orig: 3, 3 159 | offset: 0, 0 160 | index: -1 161 | default-rect 162 | rotate: false 163 | xy: 38, 25 164 | size: 3, 3 165 | split: 1, 1, 1, 1 166 | orig: 3, 3 167 | offset: 0, 0 168 | index: -1 169 | default-select-selection 170 | rotate: false 171 | xy: 26, 16 172 | size: 3, 3 173 | split: 1, 1, 1, 1 174 | orig: 3, 3 175 | offset: 0, 0 176 | index: -1 177 | default-pane-noborder 178 | rotate: false 179 | xy: 129, 33 180 | size: 1, 1 181 | split: 0, 0, 0, 0 182 | orig: 1, 1 183 | offset: 0, 0 184 | index: -1 185 | selection 186 | rotate: false 187 | xy: 170, 44 188 | size: 1, 1 189 | orig: 1, 1 190 | offset: 0, 0 191 | index: -1 192 | white 193 | rotate: false 194 | xy: 174, 48 195 | size: 1, 1 196 | orig: 1, 1 197 | offset: 0, 0 198 | index: -1 199 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/assets/data/uiskin.json: -------------------------------------------------------------------------------- 1 | { 2 | com.badlogic.gdx.graphics.g2d.BitmapFont: { default-font: { file: default.fnt } }, 3 | com.badlogic.gdx.graphics.Color: { 4 | green: { a: 1, b: 0, g: 1, r: 0 }, 5 | white: { a: 1, b: 1, g: 1, r: 1 }, 6 | red: { a: 1, b: 0, g: 0, r: 1 }, 7 | black: { a: 1, b: 0, g: 0, r: 0 } 8 | }, 9 | com.badlogic.gdx.scenes.scene2d.ui.Skin$TintedDrawable: { 10 | dialogDim: { name: white, color: { r: 0, g: 0, b: 0, a: 0.45 } } 11 | }, 12 | com.badlogic.gdx.scenes.scene2d.ui.Button$ButtonStyle: { 13 | default: { down: default-round-down, up: default-round }, 14 | toggle: { down: default-round-down, checked: default-round-down, up: default-round } 15 | }, 16 | com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: { 17 | default: { down: default-round-down, up: default-round, font: default-font, fontColor: white }, 18 | toggle: { down: default-round-down, up: default-round, checked: default-round-down, font: default-font, fontColor: white, downFontColor: red } 19 | }, 20 | com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle: { 21 | default: { vScroll: default-scroll, hScrollKnob: default-round-large, background: default-rect, hScroll: default-scroll, vScrollKnob: default-round-large } 22 | }, 23 | com.badlogic.gdx.scenes.scene2d.ui.SelectBox$SelectBoxStyle: { 24 | default: { 25 | font: default-font, fontColor: white, background: default-select, 26 | scrollStyle: default, 27 | listStyle: { font: default-font, selection: default-select-selection } 28 | } 29 | }, 30 | com.badlogic.gdx.scenes.scene2d.ui.SplitPane$SplitPaneStyle: { 31 | default-vertical: { handle: default-splitpane-vertical }, 32 | default-horizontal: { handle: default-splitpane } 33 | }, 34 | com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: { 35 | default: { titleFont: default-font, background: default-window, titleFontColor: white }, 36 | dialog: { titleFont: default-font, background: default-window, titleFontColor: white, stageBackground: dialogDim } 37 | }, 38 | com.badlogic.gdx.scenes.scene2d.ui.Slider$SliderStyle: { 39 | default-horizontal: { background: default-slider, knob: default-slider-knob } 40 | }, 41 | com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: { 42 | default: { font: default-font, fontColor: white } 43 | }, 44 | com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle: { 45 | default: { selection: selection, background: textfield, font: default-font, fontColor: white, cursor: cursor } 46 | }, 47 | com.badlogic.gdx.scenes.scene2d.ui.CheckBox$CheckBoxStyle: { 48 | default: { checkboxOn: check-on, checkboxOff: check-off, font: default-font, fontColor: white } 49 | }, 50 | com.badlogic.gdx.scenes.scene2d.ui.List$ListStyle: { 51 | default: { fontColorUnselected: white, selection: selection, fontColorSelected: white, font: default-font } 52 | }, 53 | com.badlogic.gdx.scenes.scene2d.ui.Touchpad$TouchpadStyle: { 54 | default: { background: default-pane, knob: default-round-large } 55 | }, 56 | com.badlogic.gdx.scenes.scene2d.ui.Tree$TreeStyle: { 57 | default: { minus: tree-minus, plus: tree-plus, selection: default-select-selection } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/assets/data/uiskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/assets/data/uiskin.png -------------------------------------------------------------------------------- /BlueIrisViewer-android/bin/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 13 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/gen/org/brian/blueirisviewer/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /** Automatically generated file. DO NOT MODIFY */ 2 | package org.brian.blueirisviewer; 3 | 4 | public final class BuildConfig { 5 | public final static boolean DEBUG = true; 6 | } -------------------------------------------------------------------------------- /BlueIrisViewer-android/gen/org/brian/blueirisviewer/R.java: -------------------------------------------------------------------------------- 1 | /* AUTO-GENERATED FILE. DO NOT MODIFY. 2 | * 3 | * This class was automatically generated by the 4 | * aapt tool from the resource data it found. It 5 | * should not be modified by hand. 6 | */ 7 | 8 | package org.brian.blueirisviewer; 9 | 10 | public final class R { 11 | public static final class attr { 12 | } 13 | public static final class drawable { 14 | public static final int ic_launcher=0x7f020000; 15 | } 16 | public static final class layout { 17 | public static final int main=0x7f030000; 18 | } 19 | public static final class string { 20 | public static final int app_name=0x7f040000; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/libs/armeabi-v7a/libgdx.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/libs/armeabi-v7a/libgdx.so -------------------------------------------------------------------------------- /BlueIrisViewer-android/libs/armeabi/libgdx.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/libs/armeabi/libgdx.so -------------------------------------------------------------------------------- /BlueIrisViewer-android/libs/gdx-backend-android-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/libs/gdx-backend-android-sources.jar -------------------------------------------------------------------------------- /BlueIrisViewer-android/libs/gdx-backend-android.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/libs/gdx-backend-android.jar -------------------------------------------------------------------------------- /BlueIrisViewer-android/proguard.cfg: -------------------------------------------------------------------------------- 1 | -optimizationpasses 5 2 | -dontusemixedcaseclassnames 3 | -dontskipnonpubliclibraryclasses 4 | -dontpreverify 5 | -verbose 6 | -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 7 | 8 | -keep public class * extends android.app.Activity 9 | -keep public class * extends android.app.Application 10 | -keep public class * extends android.app.Service 11 | -keep public class * extends android.content.BroadcastReceiver 12 | -keep public class * extends android.content.ContentProvider 13 | -keep public class * extends android.app.backup.BackupAgentHelper 14 | -keep public class * extends android.preference.Preference 15 | -keep public class com.android.vending.licensing.ILicensingService 16 | 17 | -keepclasseswithmembernames class * { 18 | native ; 19 | } 20 | 21 | -keepclasseswithmembers class * { 22 | public (android.content.Context, android.util.AttributeSet); 23 | } 24 | 25 | -keepclasseswithmembers class * { 26 | public (android.content.Context, android.util.AttributeSet, int); 27 | } 28 | 29 | -keepclassmembers class * extends android.app.Activity { 30 | public void *(android.view.View); 31 | } 32 | 33 | -keepclassmembers enum * { 34 | public static **[] values(); 35 | public static ** valueOf(java.lang.String); 36 | } 37 | 38 | -keep class * implements android.os.Parcelable { 39 | public static final android.os.Parcelable$Creator *; 40 | } 41 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system use, 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | 10 | # Project target. 11 | target=android-15 12 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /BlueIrisViewer-android/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /BlueIrisViewer-android/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-android/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /BlueIrisViewer-android/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | My LibGDX Game 4 | -------------------------------------------------------------------------------- /BlueIrisViewer-android/src/org/brian/blueirisviewer/MainActivity.java: -------------------------------------------------------------------------------- 1 | package org.brian.blueirisviewer; 2 | 3 | import android.os.Bundle; 4 | 5 | import com.badlogic.gdx.backends.android.AndroidApplication; 6 | import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration; 7 | 8 | public class MainActivity extends AndroidApplication 9 | { 10 | @Override 11 | public void onCreate(Bundle savedInstanceState) 12 | { 13 | super.onCreate(savedInstanceState); 14 | 15 | AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration(); 16 | 17 | initialize(new BlueIrisViewer(null), cfg); 18 | } 19 | } -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /Debug/ 3 | -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | BlueIrisViewer-desktop 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | 19 | assets 20 | 2 21 | PARENT-1-PROJECT_LOC/BlueIrisViewer-android/assets 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.6 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.source=1.6 12 | -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/.tpignore: -------------------------------------------------------------------------------- 1 | \Q/BIVSettings.cfg\E 2 | \Q/BlueIrisViewer_Errors.txt\E 3 | \Q/BlueIrisView_InstantReplayCache\E 4 | \Q/BIV_Config.txt\E 5 | /bin/.* 6 | /bin/ 7 | \Q/BlueIrisViewer_Errors.old1.txt\E 8 | \Q/libturbojpeg.dll\E 9 | -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/libs/gdx-backend-lwjgl-natives.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-desktop/libs/gdx-backend-lwjgl-natives.jar -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/libs/gdx-backend-lwjgl-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-desktop/libs/gdx-backend-lwjgl-sources.jar -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/libs/gdx-backend-lwjgl.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-desktop/libs/gdx-backend-lwjgl.jar -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/libs/gdx-natives.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-desktop/libs/gdx-natives.jar -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/libs/xmlpull-1.1.3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-desktop/libs/xmlpull-1.1.3.1.jar -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/libs/xpp3_min-1.1.4c.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-desktop/libs/xpp3_min-1.1.4c.jar -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/libs/xstream-1.4.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-desktop/libs/xstream-1.4.7.jar -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/src/org/brian/blueirisviewer/DesktopWindowHelper.java: -------------------------------------------------------------------------------- 1 | package org.brian.blueirisviewer; 2 | 3 | import org.brian.blueirisviewer.util.IntPoint; 4 | import org.brian.blueirisviewer.util.IntRectangle; 5 | import org.brian.blueirisviewer.util.Logger; 6 | import org.brian.blueirisviewer.util.WindowHelper; 7 | import org.lwjgl.LWJGLException; 8 | import org.lwjgl.opengl.DisplayMode; 9 | 10 | public class DesktopWindowHelper implements WindowHelper 11 | { 12 | @Override 13 | public IntRectangle GetWindowRectangle() 14 | { 15 | return new IntRectangle(org.lwjgl.opengl.Display.getX(), org.lwjgl.opengl.Display.getY(), org.lwjgl.opengl.Display.getWidth(), 16 | org.lwjgl.opengl.Display.getHeight()); 17 | } 18 | 19 | @Override 20 | public void SetWindowRectangle(IntRectangle rect) 21 | { 22 | org.lwjgl.opengl.Display.setLocation(rect.x, rect.y); 23 | try 24 | { 25 | org.lwjgl.opengl.Display.setDisplayMode(new DisplayMode(rect.width, rect.height)); 26 | } 27 | catch (LWJGLException e) 28 | { 29 | Logger.debug(e, this); 30 | } 31 | } 32 | 33 | @Override 34 | public void SetWindowPosition(IntPoint point) 35 | { 36 | org.lwjgl.opengl.Display.setLocation(point.x, point.y); 37 | } 38 | 39 | @Override 40 | public void SetWindowSize(IntPoint size) 41 | { 42 | try 43 | { 44 | org.lwjgl.opengl.Display.setDisplayMode(new DisplayMode(size.x, size.y)); 45 | } 46 | catch (LWJGLException e) 47 | { 48 | Logger.debug(e, this); 49 | } 50 | } 51 | 52 | @Override 53 | public void SetWindowResizable(boolean resizable) 54 | { 55 | org.lwjgl.opengl.Display.setResizable(resizable); 56 | } 57 | 58 | @Override 59 | public void SetWindowBorderless(boolean borderless) 60 | { 61 | IntRectangle currentPosition = GetWindowRectangle(); 62 | System.setProperty("org.lwjgl.opengl.Window.undecorated", borderless ? "true" : "false"); 63 | org.lwjgl.opengl.Display.setTitle("BlueIrisViewer"); 64 | SetWindowRectangle(currentPosition); 65 | SetWindowResizable(!borderless); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/src/org/brian/blueirisviewer/Main.java: -------------------------------------------------------------------------------- 1 | package org.brian.blueirisviewer; 2 | 3 | import java.awt.GraphicsDevice; 4 | import java.awt.GraphicsEnvironment; 5 | import java.awt.Rectangle; 6 | import java.io.File; 7 | import java.io.IOException; 8 | 9 | import org.brian.blueirisviewer.util.Logger; 10 | import org.brian.blueirisviewer.util.OSDetection; 11 | import org.brian.blueirisviewer.util.SerializableObjectBase; 12 | 13 | import com.badlogic.gdx.LifecycleListener; 14 | import com.badlogic.gdx.backends.lwjgl.LwjglApplication; 15 | import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration; 16 | 17 | public class Main 18 | { 19 | static LwjglApplication app; 20 | static BlueIrisViewer biv; 21 | 22 | public static void main(String[] args) 23 | { 24 | if (OSDetection.isWindows()) 25 | { 26 | try 27 | { 28 | if (OSDetection.is64Bit()) 29 | BlueIrisViewer.bLibjpegTurboAvailable = NativeUtils.extractFileFromJar("/libturbojpeg64.dll", 30 | "libturbojpeg.dll"); 31 | else 32 | BlueIrisViewer.bLibjpegTurboAvailable = NativeUtils.extractFileFromJar("/libturbojpeg32.dll", 33 | "libturbojpeg.dll"); 34 | } 35 | catch (IOException e) 36 | { 37 | e.printStackTrace(); 38 | } 39 | 40 | try 41 | { 42 | if (NativeUtils.extractFileFromJar("/ScreenBrightness.exe", "ScreenBrightness.exe")) 43 | BlueIrisViewer.sScreenBrightnessProgramPath = "ScreenBrightness.exe"; 44 | } 45 | catch (IOException e) 46 | { 47 | e.printStackTrace(); 48 | } 49 | } 50 | 51 | SerializableObjectBase.SetSerializer(new XStreamSerializer()); 52 | 53 | BIVSettings bivSettings = new BIVSettings(); 54 | bivSettings.Load(); 55 | 56 | if (bivSettings.borderless) 57 | System.setProperty("org.lwjgl.opengl.Window.undecorated", "true"); 58 | 59 | LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration(); 60 | cfg.title = bivSettings.windowTitle; 61 | cfg.useGL30 = false; 62 | cfg.width = 1280; 63 | cfg.height = 720; 64 | cfg.resizable = !bivSettings.borderless; 65 | 66 | if (bivSettings.loadStartPositionAndSizeUponAppStart) 67 | { 68 | // Ensure the stored position is on-screen 69 | int centerX = bivSettings.startPositionX + (bivSettings.startSizeW / 2); 70 | int centerY = bivSettings.startPositionY + (bivSettings.startSizeH / 2); 71 | 72 | GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); 73 | GraphicsDevice[] allScreens = env.getScreenDevices(); 74 | 75 | boolean positionIsOnScreen = false; 76 | Rectangle firstScreen = null; 77 | for (int i = 0; i < allScreens.length; i++) 78 | { 79 | Rectangle screen = allScreens[i].getDefaultConfiguration().getBounds(); 80 | if (firstScreen == null) 81 | firstScreen = screen; 82 | if (screen.contains(centerX, centerY)) 83 | { 84 | positionIsOnScreen = true; 85 | break; 86 | } 87 | } 88 | if (!positionIsOnScreen && firstScreen != null) 89 | { 90 | bivSettings.startPositionX = firstScreen.x + 20; 91 | bivSettings.startPositionY = firstScreen.y + 20; 92 | bivSettings.startSizeW = firstScreen.width - 100; 93 | bivSettings.startSizeH = firstScreen.height - 150; 94 | } 95 | 96 | cfg.x = bivSettings.startPositionX; 97 | cfg.y = bivSettings.startPositionY; 98 | cfg.width = bivSettings.startSizeW; 99 | cfg.height = bivSettings.startSizeH; 100 | } 101 | 102 | biv = new BlueIrisViewer(new DesktopWindowHelper()); 103 | app = new LwjglApplication(biv, cfg); 104 | app.addLifecycleListener(listener); 105 | } 106 | 107 | private static LifecycleListener listener = new LifecycleListener() 108 | { 109 | @Override 110 | public void resume() 111 | { 112 | } 113 | 114 | @Override 115 | public void pause() 116 | { 117 | } 118 | 119 | @Override 120 | public void dispose() 121 | { 122 | app.removeLifecycleListener(listener); 123 | 124 | if (biv.restart) 125 | { 126 | StringBuilder cmd = new StringBuilder(); 127 | cmd.append("\"").append(System.getProperty("java.home")); 128 | cmd.append(File.separator).append("bin").append(File.separator).append("java\" -jar \""); 129 | File jarFile = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().getPath()); 130 | cmd.append(jarFile.getAbsolutePath()).append("\""); 131 | // try 132 | // { 133 | // Utilities.WriteTextFile("restart.txt", cmd.toString()); 134 | // } 135 | // catch (Exception e1) 136 | // { 137 | // e1.printStackTrace(); 138 | // } 139 | try 140 | { 141 | Runtime.getRuntime().exec(cmd.toString()); 142 | } 143 | catch (IOException e) 144 | { 145 | Logger.debug(e, this); 146 | } 147 | } 148 | } 149 | }; 150 | } 151 | -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/src/org/brian/blueirisviewer/NativeUtils.java: -------------------------------------------------------------------------------- 1 | package org.brian.blueirisviewer; 2 | 3 | import java.io.File; 4 | import java.io.FileNotFoundException; 5 | import java.io.FileOutputStream; 6 | import java.io.IOException; 7 | import java.io.InputStream; 8 | import java.io.OutputStream; 9 | 10 | /** 11 | * Simple library class for working with JNI (Java Native Interface) 12 | * 13 | * @see http://adamheinrich.com/2012/how-to-load-native-jni-library-from-jar 14 | * 15 | * @author Adam Heirnich <adam@adamh.cz>, http://www.adamh.cz 16 | */ 17 | public class NativeUtils 18 | { 19 | 20 | /** 21 | * Private constructor - this class will never be instanced 22 | */ 23 | private NativeUtils() 24 | { 25 | } 26 | 27 | /** 28 | * Loads library from current JAR archive 29 | * 30 | * The file from JAR is copied into system temporary directory and then loaded. The temporary file is deleted after 31 | * exiting. Method uses String as filename because the pathname is "abstract", not system-dependent. 32 | * 33 | * @param path 34 | * The filename inside JAR as absolute path (beginning with '/'), e.g. "/libturbojpeg32.dll" or 35 | * "/libturbojpeg64.dll" 36 | * @param outPath 37 | * The path on disk to write the file to. e.g. "libturbojpeg.dll" 38 | * @throws IOException 39 | * If temporary file creation or read/write operation fails 40 | * @throws IllegalArgumentException 41 | * If source file (param path) does not exist 42 | * @throws IllegalArgumentException 43 | * If the path is not absolute or if the filename is shorter than three characters (restriction of 44 | * {@see File#createTempFile(java.lang.String, java.lang.String)}). 45 | * @return True if successful. Exception otherwise. 46 | */ 47 | public static boolean extractFileFromJar(String path, String outPath) throws IOException 48 | { 49 | if (!path.startsWith("/")) 50 | { 51 | throw new IllegalArgumentException("The path has to be absolute (start with '/')."); 52 | } 53 | 54 | // Obtain filename from path 55 | String[] parts = path.split("/"); 56 | String filename = (parts.length > 1) ? parts[parts.length - 1] : null; 57 | 58 | // Split filename to prexif and suffix (extension) 59 | String prefix = ""; 60 | if (filename != null) 61 | { 62 | parts = filename.split("\\.", 2); 63 | prefix = parts[0]; 64 | } 65 | 66 | // Check if the filename is okay 67 | if (filename == null || prefix.length() < 3) 68 | { 69 | throw new IllegalArgumentException("The filename has to be at least 3 characters long."); 70 | } 71 | 72 | // Prepare temporary file 73 | File outFile = new File(outPath); 74 | 75 | if (outFile.exists()) 76 | { 77 | outFile.delete(); 78 | } 79 | 80 | // Prepare buffer for data copying 81 | byte[] buffer = new byte[1024]; 82 | int readBytes; 83 | 84 | // Open and check input stream 85 | InputStream is = NativeUtils.class.getResourceAsStream(path); 86 | if (is == null) 87 | { 88 | throw new FileNotFoundException("File " + path + " was not found inside JAR."); 89 | } 90 | 91 | // Open output stream and copy data between source file in JAR and the temporary file 92 | OutputStream os = null; 93 | try 94 | { 95 | os = new FileOutputStream(outFile); 96 | while ((readBytes = is.read(buffer)) != -1) 97 | { 98 | os.write(buffer, 0, readBytes); 99 | } 100 | } 101 | catch (FileNotFoundException ex) 102 | { 103 | // Eat this error; it is almost certainly caused by the file being open by another instance of the app. 104 | } 105 | finally 106 | { 107 | // If read/write fails, close streams safely before throwing an exception 108 | if (os != null) 109 | os.close(); 110 | is.close(); 111 | } 112 | return true; 113 | } 114 | } -------------------------------------------------------------------------------- /BlueIrisViewer-desktop/src/org/brian/blueirisviewer/XStreamSerializer.java: -------------------------------------------------------------------------------- 1 | package org.brian.blueirisviewer; 2 | 3 | import com.thoughtworks.xstream.XStream; 4 | 5 | public class XStreamSerializer implements org.brian.blueirisviewer.util.ObjectSerializer 6 | { 7 | XStream xstream = new XStream(); 8 | 9 | @Override 10 | public String serialize(Object object) 11 | { 12 | return xstream.toXML(object); 13 | } 14 | 15 | @Override 16 | public void deserialize(String xml, Object root) 17 | { 18 | xstream.fromXML(xml, root); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | BlueIrisViewer-html 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.google.gdt.eclipse.core.webAppProjectValidator 15 | 16 | 17 | 18 | 19 | com.google.gwt.eclipse.core.gwtProjectValidator 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.jdt.core.javanature 26 | com.google.gwt.eclipse.core.gwtNature 27 | 28 | 29 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/.settings/com.google.gdt.eclipse.core.prefs: -------------------------------------------------------------------------------- 1 | #Mon Mar 12 16:45:59 CET 2012 2 | eclipse.preferences.version=1 3 | warSrcDir=war 4 | warSrcDirIsOutput=true 5 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/.settings/com.google.gwt.eclipse.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | filesCopiedToWebInfLib=gwt-servlet.jar 3 | gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy1zdHJpY3QgLW9wdGltaXplIDkgLWxvY2FsV29ya2VycyA2XV0+PC9leHRyYS1hcmdzPjx2bS1hcmdzPjwhW0NEQVRBWy1YbXgxMDI0bV1dPjwvdm0tYXJncz48ZW50cnktcG9pbnQtbW9kdWxlPm15LmxpYmdkeC5wcm9qZWN0Lk15R2FtZTwvZW50cnktcG9pbnQtbW9kdWxlPjwvZ3d0LWNvbXBpbGUtc2V0dGluZ3M+ 4 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/.tpignore: -------------------------------------------------------------------------------- 1 | \Q/gwt-unitCache/\E.* 2 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/gwt-unitCache/gwt-unitCache-0000013A574C5A30: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/gwt-unitCache/gwt-unitCache-0000013A574C5A30 -------------------------------------------------------------------------------- /BlueIrisViewer-html/gwt-unitCache/gwt-unitCache-0000013A577685A4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/gwt-unitCache/gwt-unitCache-0000013A577685A4 -------------------------------------------------------------------------------- /BlueIrisViewer-html/src/org/brian/blueirisviewer/GwtDefinition.gwt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/src/org/brian/blueirisviewer/client/GwtLauncher.java: -------------------------------------------------------------------------------- 1 | package org.brian.blueirisviewer.client; 2 | 3 | import org.brian.blueirisviewer.BlueIrisViewer; 4 | import com.badlogic.gdx.ApplicationListener; 5 | import com.badlogic.gdx.backends.gwt.GwtApplication; 6 | import com.badlogic.gdx.backends.gwt.GwtApplicationConfiguration; 7 | 8 | public class GwtLauncher extends GwtApplication { 9 | @Override 10 | public GwtApplicationConfiguration getConfig () { 11 | GwtApplicationConfiguration cfg = new GwtApplicationConfiguration(480, 320); 12 | return cfg; 13 | } 14 | 15 | @Override 16 | public ApplicationListener getApplicationListener () { 17 | return new BlueIrisViewer(null); 18 | } 19 | } -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/WEB-INF/classes/org/brian/blueirisviewer/GwtDefinition.gwt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/WEB-INF/classes/org/brian/blueirisviewer/client/GwtLauncher.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/WEB-INF/classes/org/brian/blueirisviewer/client/GwtLauncher.class -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/WEB-INF/deploy/org.brian.blueirisviewer.GwtDefinition/rpcPolicyManifest/manifest.txt: -------------------------------------------------------------------------------- 1 | # Module org.brian.blueirisviewer.GwtDefinition 2 | # RPC service class, partial path of RPC policy file 3 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/WEB-INF/lib/gdx-backend-gwt-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/WEB-INF/lib/gdx-backend-gwt-sources.jar -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/WEB-INF/lib/gdx-backend-gwt.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/WEB-INF/lib/gdx-backend-gwt.jar -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/WEB-INF/lib/gwt-servlet.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/WEB-INF/lib/gwt-servlet.jar -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/assets/assets.txt: -------------------------------------------------------------------------------- 1 | d: 2 | d:data 3 | i:data/libgdx.png 4 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/assets/data/libgdx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/assets/data/libgdx.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | BlueIrisViewer 5 | 6 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 35 | 36 | -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/clear.cache.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/clear.cache.gif -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/corner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/corner.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/corner_ie6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/corner_ie6.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/hborder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/hborder.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/hborder_ie6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/hborder_ie6.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/corner_dialog_topleft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/corner_dialog_topleft.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/corner_dialog_topright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/corner_dialog_topright.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/hborder_blue_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/hborder_blue_shadow.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/hborder_gray_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/hborder_gray_shadow.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/vborder_blue_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/vborder_blue_shadow.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/vborder_gray_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/ie6/vborder_gray_shadow.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/splitPanelThumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/splitPanelThumb.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/vborder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/vborder.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/vborder_ie6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bp2008/blueirisviewer/3b63389a6147a223771810496b8c8dd6ff97338a/BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/gwt/chrome/images/vborder_ie6.png -------------------------------------------------------------------------------- /BlueIrisViewer-html/war/org.brian.blueirisviewer.GwtDefinition/org.brian.blueirisviewer.GwtDefinition.nocache.js: -------------------------------------------------------------------------------- 1 | function org_brian_blueirisviewer_GwtDefinition(){var N='',ub='" for "gwt:onLoadErrorFn"',sb='" for "gwt:onPropertyErrorFn"',gb='"><\/script>',X='#',Sb='.cache.html',Z='/',Rb=':',mb='::',dc='