# Class RgbPaperType2D

java.lang.Object
uk.ac.starlink.ttools.plot2.paper.RgbPaperType
uk.ac.starlink.ttools.plot2.paper.RgbPaperType2D

All Implemented Interfaces:
  `PaperType, PaperType2D`

Direct Known Subclasses:
  `CompositePaperType2D, OverPaperType2D`

public abstract class RgbPaperType2D extends RgbPaperType implements PaperType2D
Abstract RgbPaperType subclass for 2-dimensional plots.

Note that the default `RgbPaperType.placeDecal(Paper, Decal)` implementation paints directly to the RGB Image's graphics context. so that in the presence of decals, using the it is not OK to wait until flush time and then render everything to the image, unless you suitably override `placeDecal` as well.

Since:
  14 Feb 2013
Author:
  Mark Taylor

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected static class`
`RgbPaperType2D.RgbPaper2D`
Paper for use by this type.

### Nested classes/interfaces inherited from class RgbPaperType

`RgbPaperType.RgbPaper`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`RgbPaperType2D(String name, boolean upLayer)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected RgbPaperType.RgbPaper`
`createPaper(Rectangle bounds)`
Creates a paper object for given bounds.
`protected abstract RgbPaperType2D.RgbPaper2D`
`createPaper2D(Rectangle bounds)`
Creates a 2D paper object for given bounds.
`void`
`placeGlyph(Paper paper, double dx, double dy, Glyph glyph, Color color)`
Places a glyph at a 2-d position on the paper.

### Methods inherited from class RgbPaperType

`createDataIcon, isBitmap, placeDecal, toString`

### Methods inherited from class Object

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

### Methods inherited from interface PaperType

`createDataIcon, isBitmap, placeDecal`

## Constructor Details

### RgbPaperType2D

protected RgbPaperType2D(String name, boolean upLayer)
Constructor.

Parameters:
  `name` - paper type name
  `upLayer` - true to render layers in ascending order, false to do them in descending order

## Method Details

### placeGlyph

public void placeGlyph(Paper paper, double dx, double dy, Glyph glyph, Color color)
Description copied from interface: `PaperType2D`
Places a glyph at a 2-d position on the paper.

Specified by:
  `placeGlyph` in interface `PaperType2D`
Parameters:
  `paper` - graphics destination specific to this PaperType
  `dx` - X coordinate
  `dy` - Y coordinate
  `glyph` - graphics shape
  `color` - colour for glyph

### createPaper

protected RgbPaperType.RgbPaper createPaper(Rectangle bounds)
Description copied from class: `RgbPaperType`
Creates a paper object for given bounds.

Specified by:
  `createPaper` in class `RgbPaperType`
Parameters:
  `bounds` - plot bounds
Returns:
  new paper instance

### createPaper2D

protected abstract RgbPaperType2D.RgbPaper2D createPaper2D(Rectangle bounds)
Creates a 2D paper object for given bounds.

Parameters:
  `bounds` - plot bounds
Returns:
  new 2d paper instance