blob: 8021010198f4591804e9aedd684ce7aadf717272 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @author Alexey A. Petrenko
* @version $Revision$
*/
package java.awt;
/**
* The DisplayMode class contains the bit depth, height, width and refresh rate
* of a GraphicsDevice.
*
* @since Android 1.0
*/
public final class DisplayMode {
/**
* The width.
*/
private final int width;
/**
* The height.
*/
private final int height;
/**
* The bit depth.
*/
private final int bitDepth;
/**
* The refresh rate.
*/
private final int refreshRate;
/**
* The Constant Value BIT_DEPTH_MULTI indicates the bit depth
*/
public static final int BIT_DEPTH_MULTI = -1;
/**
* The Constant REFRESH_RATE_UNKNOWN indicates the refresh rate.
*/
public static final int REFRESH_RATE_UNKNOWN = 0;
/**
* Creates a new DisplayMode object with the specified parameters.
*
* @param width
* the width of the display.
* @param height
* the height of the display.
* @param bitDepth
* the bit depth of the display.
* @param refreshRate
* the refresh rate of the display.
*/
public DisplayMode(int width, int height, int bitDepth, int refreshRate) {
this.width = width;
this.height = height;
this.bitDepth = bitDepth;
this.refreshRate = refreshRate;
}
/**
* Compares if this DisplayMode is equal to the specified object or not.
*
* @param dm
* the Object to be compared.
* @return true, if the specified object is a DisplayMode with the same data
* values as this DisplayMode, false otherwise.
*/
@Override
public boolean equals(Object dm) {
if (dm instanceof DisplayMode) {
return equals((DisplayMode)dm);
}
return false;
}
/**
* Compares if this DisplayMode is equal to the specified DisplayMode object
* or not.
*
* @param dm
* the DisplayMode to be compared.
* @return true, if all of the data values of this DisplayMode are equal to
* the values of the specified DisplayMode object, false otherwise.
*/
public boolean equals(DisplayMode dm) {
if (dm == null) {
return false;
}
if (dm.bitDepth != bitDepth) {
return false;
}
if (dm.refreshRate != refreshRate) {
return false;
}
if (dm.width != width) {
return false;
}
if (dm.height != height) {
return false;
}
return true;
}
/**
* Gets the bit depth of the DisplayMode, returns BIT_DEPTH_MULTI value if
* multiple bit depths are supported in this display mode.
*
* @return the bit depth of the DisplayMode.
*/
public int getBitDepth() {
return bitDepth;
}
/**
* Gets the height of the DisplayMode.
*
* @return the height of the DisplayMode.
*/
public int getHeight() {
return height;
}
/**
* Gets the refresh rate of the DisplayMode, returns REFRESH_RATE_UNKNOWN
* value if the information is not available.
*
* @return the refresh rate of the DisplayMode.
*/
public int getRefreshRate() {
return refreshRate;
}
/**
* Gets the width of the DisplayMode.
*
* @return the width of the DisplayMode.
*/
public int getWidth() {
return width;
}
}