package com.elsealabs.xshot.capture;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
/**
* Monitor.java
*
* A representation of a singular computer monitor. This representation
* holds information about the GraphicsDevice and its main configuration,
* as well as information about its dimensions and default status.
*
*/
public class Monitor
{
private GraphicsConfiguration config;
private GraphicsEnvironment env;
private GraphicsDevice device;
private Rectangle bounds;
private boolean isdefault;
public Monitor(GraphicsDevice graphicsDevice)
{
env = GraphicsEnvironment.getLocalGraphicsEnvironment();
device = graphicsDevice;
config = device.getDefaultConfiguration();
isdefault = env.getDefaultScreenDevice() == device;
bounds = config.getBounds();
System.out.println("NMB: " + bounds);
}
public Rectangle getBounds()
{
return bounds;
}
public boolean isDefaultMonitor()
{
return isdefault;
}
public GraphicsConfiguration getConfiguration()
{
return config;
}
public GraphicsDevice getDevice()
{
return device;
}
@Override
public String toString()
{
return "Monitor\n"
+ "\ttype = " + device.getType() + "\n"
+ "\tid = " + device.getIDstring() + "\n"
+ "\tdefault = " + isdefault;
}
}