DisplayDeviceInfo.java revision 848c2dc93b6795e171f3dd6f64ea0be65e2762ca
1fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown/* 2fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * Copyright (C) 2012 The Android Open Source Project 3fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * 4fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * Licensed under the Apache License, Version 2.0 (the "License"); 5fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * you may not use this file except in compliance with the License. 6fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * You may obtain a copy of the License at 7fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * 8fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * http://www.apache.org/licenses/LICENSE-2.0 9fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * 10fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * Unless required by applicable law or agreed to in writing, software 11fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * distributed under the License is distributed on an "AS IS" BASIS, 12fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * See the License for the specific language governing permissions and 14fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * limitations under the License. 15fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown */ 16fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown 17fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brownpackage com.android.server.display; 18fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown 19fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown/** 20fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * Describes the characteristics of a physical display device. 21fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown */ 22fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brownpublic final class DisplayDeviceInfo { 23fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown /** 24848c2dc93b6795e171f3dd6f64ea0be65e2762caJeff Brown * Gets the name of the display device, which may be derived from 25848c2dc93b6795e171f3dd6f64ea0be65e2762caJeff Brown * EDID or other sources. The name may be displayed to the user. 26848c2dc93b6795e171f3dd6f64ea0be65e2762caJeff Brown */ 27848c2dc93b6795e171f3dd6f64ea0be65e2762caJeff Brown public String name; 28848c2dc93b6795e171f3dd6f64ea0be65e2762caJeff Brown 29848c2dc93b6795e171f3dd6f64ea0be65e2762caJeff Brown /** 30fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * The width of the display in its natural orientation, in pixels. 31fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * This value is not affected by display rotation. 32fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown */ 33fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown public int width; 34fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown 35fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown /** 36fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * The height of the display in its natural orientation, in pixels. 37fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * This value is not affected by display rotation. 38fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown */ 39fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown public int height; 40fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown 41fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown public float refreshRate; 42908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn public int densityDpi; 43fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown public float xDpi; 44fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown public float yDpi; 45fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown 46fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown public void copyFrom(DisplayDeviceInfo other) { 47848c2dc93b6795e171f3dd6f64ea0be65e2762caJeff Brown name = other.name; 48fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown width = other.width; 49fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown height = other.height; 50fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown refreshRate = other.refreshRate; 51908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn densityDpi = other.densityDpi; 52fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown xDpi = other.xDpi; 53fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown yDpi = other.yDpi; 54fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown } 55fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown 56848c2dc93b6795e171f3dd6f64ea0be65e2762caJeff Brown // For debugging purposes 57fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown @Override 58fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown public String toString() { 59848c2dc93b6795e171f3dd6f64ea0be65e2762caJeff Brown return "\"" + name + "\": " + width + " x " + height + ", " + refreshRate + " fps, " 60908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn + "density " + densityDpi + ", " + xDpi + " x " + yDpi + " dpi"; 61fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown } 62fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown} 63