GraphicsConfigurationWithTransparency
Date: 2016-04-28

org.apache.xmlgraphics.java2d

## Class GraphicsConfigurationWithTransparency

- java.lang.Object
- - java.awt.GraphicsConfiguration
  - - org.apache.xmlgraphics.java2d.AbstractGraphicsConfiguration
    - - org.apache.xmlgraphics.java2d.GraphicsConfigurationWithTransparency

-     public class GraphicsConfigurationWithTransparency
      extends AbstractGraphicsConfiguration

  An implementation of `GraphicsConfiguration` that supports transparencies (alpha channels).

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `GraphicsConfigurationWithTransparency()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.awt.image.BufferedImage` | `createCompatibleImage(int width, int height)` Construct a buffered image with an alpha channel.
    `java.awt.image.BufferedImage` | `createCompatibleImage(int width, int height, int transparency)` Construct a buffered image with an alpha channel, unless transparency is OPAQUE (no alpha at all).
    `java.awt.Rectangle` | `getBounds()` TODO: This should return the page bounds in Pts, I couldn't figure out how to get this for the current page (this still works for now, but it should be fixed...).
    `java.awt.image.ColorModel` | `getColorModel()` Return a good default color model for this 'device'.
    `java.awt.image.ColorModel` | `getColorModel(int transparency)` Return a good color model given `transparency`
    `java.awt.geom.AffineTransform` | `getDefaultTransform()` The default transform (1:1).
    `java.awt.GraphicsDevice` | `getDevice()` Return our dummy instance of GraphicsDevice
    `java.awt.geom.AffineTransform` | `getNormalizingTransform()` The normalizing transform (1:1) (since we currently render images at 72dpi, which we might want to change in the future).

    - ### Methods inherited from class org.apache.xmlgraphics.java2d.AbstractGraphicsConfiguration

      `createCompatibleVolatileImage, createCompatibleVolatileImage`

    - ### Methods inherited from class java.awt.GraphicsConfiguration

      `createCompatibleVolatileImage, createCompatibleVolatileImage, getBufferCapabilities, getImageCapabilities, isTranslucencyCapable`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### GraphicsConfigurationWithTransparency

          public GraphicsConfigurationWithTransparency()

  - ### Method Detail

    - #### createCompatibleImage

          public java.awt.image.BufferedImage createCompatibleImage(int width,
                                                           int height,
                                                           int transparency)

      Construct a buffered image with an alpha channel, unless transparency is OPAQUE (no alpha at all).
      Overrides:
        `createCompatibleImage` in class `java.awt.GraphicsConfiguration`
      Parameters:
        `width` - the width of the image
        `height` - the height of the image
        `transparency` - the alpha value of the image
      Returns:
        the new buffered image

    - #### createCompatibleImage

          public java.awt.image.BufferedImage createCompatibleImage(int width,
                                                           int height)

      Construct a buffered image with an alpha channel.
      Overrides:
        `createCompatibleImage` in class `java.awt.GraphicsConfiguration`
      Parameters:
        `width` - the width of the image
        `height` - the height of the image
      Returns:
        the new buffered image

    - #### getBounds

          public java.awt.Rectangle getBounds()

      TODO: This should return the page bounds in Pts, I couldn't figure out how to get this for the current page (this still works for now, but it should be fixed...).
      Specified by:
        `getBounds` in class `java.awt.GraphicsConfiguration`
      Returns:
        the bounds of the document page

    - #### getColorModel

          public java.awt.image.ColorModel getColorModel()

      Return a good default color model for this 'device'.
      Specified by:
        `getColorModel` in class `java.awt.GraphicsConfiguration`
      Returns:
        the colour model for the configuration

    - #### getColorModel

          public java.awt.image.ColorModel getColorModel(int transparency)

      Return a good color model given `transparency`
      Specified by:
        `getColorModel` in class `java.awt.GraphicsConfiguration`
      Parameters:
        `transparency` - the alpha value for the colour model
      Returns:
        the colour model for the configuration

    - #### getDefaultTransform

          public java.awt.geom.AffineTransform getDefaultTransform()

      The default transform (1:1).
      Specified by:
        `getDefaultTransform` in class `java.awt.GraphicsConfiguration`
      Returns:
        the default transform for the configuration

    - #### getNormalizingTransform

          public java.awt.geom.AffineTransform getNormalizingTransform()

      The normalizing transform (1:1) (since we currently render images at 72dpi, which we might want to change in the future).
      Specified by:
        `getNormalizingTransform` in class `java.awt.GraphicsConfiguration`
      Returns:
        the normalizing transform for the configuration

    - #### getDevice

          public java.awt.GraphicsDevice getDevice()

      Return our dummy instance of GraphicsDevice
      Specified by:
        `getDevice` in class `java.awt.GraphicsConfiguration`
      Returns:
        the graphics device