1package com.xtremelabs.robolectric.shadows;
2
3import android.graphics.PixelFormat;
4import android.util.DisplayMetrics;
5import android.view.Display;
6import android.view.Surface;
7import com.xtremelabs.robolectric.internal.Implementation;
8import com.xtremelabs.robolectric.internal.Implements;
9
10/**
11 * A shadow for Display with some reasonable defaults
12 */
13@SuppressWarnings({"UnusedDeclaration"})
14@Implements(Display.class)
15public class ShadowDisplay {
16    private int displayId;
17    private int width = 480;
18    private int height = 800;
19    private float density = 1.5f;
20    private int densityDpi = DisplayMetrics.DENSITY_HIGH;
21    private float xdpi = 240.0f;
22    private float ydpi = 240.0f;
23    private float scaledDensity = 1.0f;
24    private float refreshRate = 60.0f;
25    private int rotation = Surface.ROTATION_0;
26    private int pixelFormat = PixelFormat.RGBA_4444;
27
28    @Implementation
29    public int getHeight() {
30        return height;
31    }
32
33    @Implementation
34    public void getMetrics(DisplayMetrics outMetrics) {
35        outMetrics.density = density;
36        outMetrics.densityDpi = densityDpi;
37        outMetrics.scaledDensity = scaledDensity;
38        outMetrics.widthPixels = width;
39        outMetrics.heightPixels = height;
40        outMetrics.xdpi = xdpi;
41        outMetrics.ydpi = ydpi;
42    }
43
44    @Implementation
45    public int getWidth() {
46        return width;
47    }
48
49    @Implementation
50    public int getDisplayId() {
51        return displayId;
52    }
53
54    @Implementation
55    public float getRefreshRate() {
56        return refreshRate;
57    }
58
59    @Implementation
60    public int getRotation() {
61        return rotation;
62    }
63
64    @Implementation
65    public int getPixelFormat() {
66        return pixelFormat;
67    }
68
69    public float getDensity() {
70        return density;
71    }
72
73    public void setDensity(float density) {
74        this.density = density;
75    }
76
77    public int getDensityDpi() {
78        return densityDpi;
79    }
80
81    public void setDensityDpi(int densityDpi) {
82        this.densityDpi = densityDpi;
83    }
84
85    public float getXdpi() {
86        return xdpi;
87    }
88
89    public void setXdpi(float xdpi) {
90        this.xdpi = xdpi;
91    }
92
93    public float getYdpi() {
94        return ydpi;
95    }
96
97    public void setYdpi(float ydpi) {
98        this.ydpi = ydpi;
99    }
100
101    public float getScaledDensity() {
102        return scaledDensity;
103    }
104
105    public void setScaledDensity(float scaledDensity) {
106        this.scaledDensity = scaledDensity;
107    }
108
109    public void setDisplayId(int displayId) {
110        this.displayId = displayId;
111    }
112
113    public void setWidth(int width) {
114        this.width = width;
115    }
116
117    public void setHeight(int height) {
118        this.height = height;
119    }
120
121    public void setRefreshRate(float refreshRate) {
122        this.refreshRate = refreshRate;
123    }
124
125    public void setRotation(int rotation) {
126        this.rotation = rotation;
127    }
128
129    public void setPixelFormat(int pixelFormat) {
130        this.pixelFormat = pixelFormat;
131    }
132
133}
134