-
Notifications
You must be signed in to change notification settings - Fork 0
/
Scaling.java
77 lines (54 loc) · 1.64 KB
/
Scaling.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.util.List;
import edu.princeton.cs.introcs.StdDraw;
public class Scaling{
public static int[] screenResolution() {
// Classe qui récupère les infos de l'ordi
//import java.awt.GraphicsDevice;
//import java.awt.GraphicsEnvironment;
int[] wh;
wh = new int[2];
GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
wh[0] = gd.getDisplayMode().getWidth(); // width resolution
wh[1] = gd.getDisplayMode().getHeight();//length resolution
//System.out.println(wh[0]);
return wh;
}
public static String aspectRatio(int w,int h) {
if (w/h == 16/9) {
return "16x9";
}
else if (w/h == 3/2) {
return "3x2";
}
else if(w/h == 4/3) {
return "4x3";
}
else {return "UnssuportedAspectRatio";}
}
public static double[] scalingFactor(){
int width=screenResolution()[0];
int height = screenResolution()[1];
double[] scalingWH = new double[2];
if(aspectRatio(width,height).equals("16x9")) {
// The game original resolution is 1280/720 (we decided this) we will scale for other resolution accordingly.
scalingWH[0] = 1;//(((double) width/1280)/1); // la moitié de la résolution
scalingWH[1] = 1;//(((double) height/720)/1.1);
//System.out.println(scalingWH[0]);
return scalingWH;
}
else {
scalingWH[0]=1; scalingWH[1]=1;
return scalingWH;
}
}
public static void printList(double[] list) {
for (int d=0; d<list.length;d++) {
if (d==list.length) {
System.out.println(list[d]);
}
System.out.println(list[d]);
}
}
}