bibliothek.gui.dock.station.screen
Class HardBoundaryRestriction

java.lang.Object
  extended by bibliothek.gui.dock.station.screen.AbstractBoundaryRestriction
      extended by bibliothek.gui.dock.station.screen.HardBoundaryRestriction
All Implemented Interfaces:
BoundaryRestriction

public class HardBoundaryRestriction
extends AbstractBoundaryRestriction

A restriction that ensures that each dialog is always visible on exactly one screen.

Author:
Benjamin Sigg

Field Summary
 
Fields inherited from interface bibliothek.gui.dock.station.screen.BoundaryRestriction
FREE, HARD, MEDIUM
 
Constructor Summary
HardBoundaryRestriction()
           
 
Method Summary
protected  Rectangle boundsInDevice(ScreenDockWindow window, int x, int y, int width, int height, GraphicsDevice device)
          Calculates size and location of dialog such that it is in device.
protected  Rectangle checkSize(ScreenDockWindow window)
          Checks the size and location of window
protected  Rectangle checkSize(ScreenDockWindow window, Rectangle target)
          Checks the size and location of window assuming that window will be give the boundaries target.
protected  double measureBounds(ScreenDockWindow window, int x, int y, int width, int height, GraphicsDevice device)
          Checks how good window fits into the screen device
 
Methods inherited from class bibliothek.gui.dock.station.screen.AbstractBoundaryRestriction
check, check, getMaximumSize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HardBoundaryRestriction

public HardBoundaryRestriction()
Method Detail

checkSize

protected Rectangle checkSize(ScreenDockWindow window)
Description copied from class: AbstractBoundaryRestriction
Checks the size and location of window

Specified by:
checkSize in class AbstractBoundaryRestriction
Parameters:
window - the window whose boundaries are checked
Returns:
the new boundaries or null if the current boundaries of window are valid

checkSize

protected Rectangle checkSize(ScreenDockWindow window,
                              Rectangle target)
Description copied from class: AbstractBoundaryRestriction
Checks the size and location of window assuming that window will be give the boundaries target.

Specified by:
checkSize in class AbstractBoundaryRestriction
Parameters:
window - the window whose boundaries are checked
target - the boundaries that are requested
Returns:
the boundaries to use or null if target is valid

measureBounds

protected double measureBounds(ScreenDockWindow window,
                               int x,
                               int y,
                               int width,
                               int height,
                               GraphicsDevice device)
Checks how good window fits into the screen device

Parameters:
window - the window that is checked
x - the desired x-coordinate
y - the desired y-coordinate
width - the desired width
height - the desired height
device - the targeted screen
Returns:
a value between 0 and 1, where 0 means "does not fit" and 1 means "perfect".

boundsInDevice

protected Rectangle boundsInDevice(ScreenDockWindow window,
                                   int x,
                                   int y,
                                   int width,
                                   int height,
                                   GraphicsDevice device)
Calculates size and location of dialog such that it is in device.

Parameters:
window - the window to check
x - the desired x-coordinate
y - the desired y-coordinate
width - the desired width
height - the desired height
device - the screen in which to show this dialog
Returns:
the new bounds, can be null