org.havi.ui
Class HEmulatedGraphicsDevice

java.lang.Object
  extended byorg.havi.ui.HScreenDevice
      extended byorg.havi.ui.HGraphicsDevice
          extended byorg.havi.ui.HEmulatedGraphicsDevice
All Implemented Interfaces:
ResourceProxy, ResourceServer

public abstract class HEmulatedGraphicsDevice
extends HGraphicsDevice

An HEmulatedGraphicsDevice is a "virtual" graphics device that has the capability to be configured to perform one (of many) possible emulations. For example, in the DVB context a 4:3 television might have an HEmulatedGraphicsDevice that had an HEmulatedGraphicsConfiguration that emulated a virtual 14:9 display. The 14:9 HEmulatedGraphicsConfiguration would be used for rendering into from AWT, whilst being displayed on the "true" 4:3 physical display. The relationship between the emulation and implementation is encapsulated within the HEmulatedGraphicsConfiguration.

An HEmulatedGraphicsDevice transforms both AWT pixel-oriented drawing operations and AWT user-input event coordinates, this is performed outside of the Java application (typically in hardware).

An HEmulatedGraphicsDevice may (of necessity) modify coordinates for Components and/or events to the nearest physical / virtual pixel --- authors should not depend on single pixel accuracy.

There is no difference to a Java application between an HGraphicsDevice and an HEmulatedGraphicsDevice, except for the implication of possible rounding errors in integer pixel positions, e.g. Component placement and/or resolution of events.

Java2D mechanisms should behave as per their normal semantics, with respect to display on-screen.


Constructor Summary
protected HEmulatedGraphicsDevice()
          It is not intended that applications should directly construct HEmulatedGraphicsDevice objects.
 
Method Summary
 boolean setGraphicsConfiguration(HEmulatedGraphicsConfiguration hegc)
          Set the graphics configuration for the device.
 
Methods inherited from class org.havi.ui.HGraphicsDevice
getBestConfiguration, getBestConfiguration, getConfigurations, getCurrentConfiguration, getDefaultConfiguration, setGraphicsConfiguration
 
Methods inherited from class org.havi.ui.HScreenDevice
addResourceStatusEventListener, addScreenConfigurationListener, addScreenConfigurationListener, getClient, getIDstring, getScreenAspectRatio, releaseDevice, removeResourceStatusEventListener, removeScreenConfigurationListener, reserveDevice
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HEmulatedGraphicsDevice

protected HEmulatedGraphicsDevice()
It is not intended that applications should directly construct HEmulatedGraphicsDevice objects.

Creates an HEmulatedGraphicsDevice object. See the class description for details of constructor parameters and default values.

Method Detail

setGraphicsConfiguration

public boolean setGraphicsConfiguration(HEmulatedGraphicsConfiguration hegc)
                                 throws java.lang.SecurityException,
                                        HPermissionDeniedException,
                                        HConfigurationException
Set the graphics configuration for the device.

Parameters:
hegc - the HEmulatedGraphicsConfiguration to which this device should be set.
Returns:
A boolean indicating whether the configuration could be applied successfully. If the configuration could not be applied successfully, the configuration after this method may not match the configuration of the device prior to this method being called --- applications should take steps to determine whether a partial change of settings has been made.
Throws:
java.lang.SecurityException - if the application does not have sufficient rights to set the configuration for this device.
HPermissionDeniedException - (HPermissionDeniedException) if the application does not currently have the right to set the configuration for this device.
HConfigurationException - (HConfigurationException) if the specified configuration is not valid for this device.