bibliothek.gui.dock.station.screen
Class HardBoundaryRestriction

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

public class HardBoundaryRestriction
extends java.lang.Object
implements BoundaryRestriction

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  java.awt.Rectangle boundsInDevice(ScreenDockWindow window, int x, int y, int width, int height, java.awt.GraphicsDevice device)
          Calculates size and location of dialog such that it is in device.
 java.awt.Rectangle check(ScreenDockWindow window)
          Calculates the bounds which window can have.
 java.awt.Rectangle check(ScreenDockWindow window, java.awt.Rectangle target)
          Calculates the bounds which window can have.
protected  double measureBounds(ScreenDockWindow window, int x, int y, int width, int height, java.awt.GraphicsDevice device)
          Checks how good window fits into the screen device
 
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

check

public java.awt.Rectangle check(ScreenDockWindow window)
Description copied from interface: BoundaryRestriction
Calculates the bounds which window can have.

Specified by:
check in interface BoundaryRestriction
Parameters:
window - the window whose bounds should be checked.
Returns:
the new boundaries of window, can be null to indicate that the current boundaries are valid.

check

public java.awt.Rectangle check(ScreenDockWindow window,
                                java.awt.Rectangle target)
Description copied from interface: BoundaryRestriction
Calculates the bounds which window can have.

Specified by:
check in interface BoundaryRestriction
Parameters:
window - the window whose future bounds should be checked.
target - the bounds window should have, this method should not write into target.
Returns:
the new boundaries, null to indicate that target is valid.

measureBounds

protected double measureBounds(ScreenDockWindow window,
                               int x,
                               int y,
                               int width,
                               int height,
                               java.awt.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 java.awt.Rectangle boundsInDevice(ScreenDockWindow window,
                                            int x,
                                            int y,
                                            int width,
                                            int height,
                                            java.awt.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