forked from 2009Scape/Server
Added initial version
This commit is contained in:
commit
b1dccb3fed
14153 changed files with 1285206 additions and 0 deletions
141
Client/src/main/java/org/runite/client/Display.java
Normal file
141
Client/src/main/java/org/runite/client/Display.java
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
package org.runite.client;
|
||||
|
||||
import java.awt.DisplayMode;
|
||||
import java.awt.Frame;
|
||||
import java.awt.GraphicsDevice;
|
||||
import java.awt.GraphicsEnvironment;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
public class Display {
|
||||
|
||||
private GraphicsDevice graphicsDevice;
|
||||
private DisplayMode displayMode;
|
||||
|
||||
|
||||
private void method917(Frame var1) {
|
||||
boolean var3 = false;
|
||||
|
||||
Field var4;
|
||||
boolean var5;
|
||||
try {
|
||||
var4 = Class.forName("sun.awt.Win32GraphicsDevice").getDeclaredField("valid");
|
||||
var4.setAccessible(true);
|
||||
var5 = ((Boolean) var4.get(this.graphicsDevice)).booleanValue();
|
||||
if (var5) {
|
||||
var4.set(this.graphicsDevice, Boolean.FALSE);
|
||||
var3 = true;
|
||||
}
|
||||
} catch (Throwable var15) {
|
||||
}
|
||||
|
||||
var5 = false;
|
||||
|
||||
try {
|
||||
var5 = true;
|
||||
this.graphicsDevice.setFullScreenWindow(var1);
|
||||
var5 = false;
|
||||
} finally {
|
||||
if (var5 && var3) {
|
||||
try {
|
||||
Field var7 = Class.forName("sun.awt.Win32GraphicsDevice").getDeclaredField("valid");
|
||||
var7.set(this.graphicsDevice, Boolean.TRUE);
|
||||
} catch (Throwable var13) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (var3) {
|
||||
try {
|
||||
var4 = Class.forName("sun.awt.Win32GraphicsDevice").getDeclaredField("valid");
|
||||
var4.set(this.graphicsDevice, Boolean.TRUE);
|
||||
} catch (Throwable var14) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void method918(int var1, int var2, int var3, int var4, Frame var5, int var6) {
|
||||
this.displayMode = this.graphicsDevice.getDisplayMode();
|
||||
if (var1 > -6) {
|
||||
this.method919(false);
|
||||
}
|
||||
|
||||
if (this.displayMode == null) {
|
||||
throw new NullPointerException();
|
||||
} else {
|
||||
var5.setUndecorated(true);
|
||||
var5.enableInputMethods(false);
|
||||
this.method917(var5);
|
||||
if (var2 == 0) {
|
||||
int var7 = this.displayMode.getRefreshRate();
|
||||
DisplayMode[] var8 = this.graphicsDevice.getDisplayModes();
|
||||
boolean var9 = false;
|
||||
|
||||
for (int var10 = 0; var10 < var8.length; ++var10) {
|
||||
if (var8[var10].getWidth() == var6 && var8[var10].getHeight() == var4 && var3 == var8[var10].getBitDepth()) {
|
||||
int var11 = var8[var10].getRefreshRate();
|
||||
if (!var9 || Math.abs(var2 - var7) > Math.abs(var11 - var7)) {
|
||||
var9 = true;
|
||||
var2 = var11;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!var9) {
|
||||
var2 = var7;
|
||||
}
|
||||
}
|
||||
|
||||
this.graphicsDevice.setDisplayMode(new DisplayMode(var6, var4, var3, var2));
|
||||
}
|
||||
}
|
||||
|
||||
public int[] method919(boolean var1) {
|
||||
if (var1) {
|
||||
DisplayMode[] var2 = this.graphicsDevice.getDisplayModes();
|
||||
int[] var3 = new int[var2.length << 2];
|
||||
|
||||
for (int var4 = 0; var4 < var2.length; ++var4) {
|
||||
var3[var4 << 2] = var2[var4].getWidth();
|
||||
var3[1 + (var4 << 2)] = var2[var4].getHeight();
|
||||
var3[(var4 << 2) - -2] = var2[var4].getBitDepth();
|
||||
var3[3 + (var4 << 2)] = var2[var4].getRefreshRate();
|
||||
}
|
||||
|
||||
return var3;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void method920() {
|
||||
if (this.displayMode != null) {
|
||||
this.graphicsDevice.setDisplayMode(this.displayMode);
|
||||
if (!this.graphicsDevice.getDisplayMode().equals(this.displayMode)) {
|
||||
throw new RuntimeException("Did not return to correct resolution!");
|
||||
}
|
||||
|
||||
this.displayMode = null;
|
||||
}
|
||||
|
||||
this.method917(null);
|
||||
}
|
||||
|
||||
public Display() throws Exception {
|
||||
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
|
||||
this.graphicsDevice = env.getDefaultScreenDevice();
|
||||
|
||||
if (!this.graphicsDevice.isFullScreenSupported()) {
|
||||
for (int i = 0; env.getScreenDevices().length > i; ++i) {
|
||||
GraphicsDevice device = env.getScreenDevices()[i];
|
||||
if (device != null && device.isFullScreenSupported()) {
|
||||
this.graphicsDevice = device;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue