BufferedImageBackgroundPainterStrategy
Date: 2017-02-11

org.fife.ui.rtextarea

## Class BufferedImageBackgroundPainterStrategy

- java.lang.Object
- - org.fife.ui.rtextarea.ImageBackgroundPainterStrategy
  - - org.fife.ui.rtextarea.BufferedImageBackgroundPainterStrategy

- All Implemented Interfaces:
    BackgroundPainterStrategy

      public class BufferedImageBackgroundPainterStrategy
      extends ImageBackgroundPainterStrategy

  A strategy for painting the background of an `RTextAreaBase` as an image. The image is always stretched to completely fill the `RTextAreaBase`.

  A `java.awt.image.BufferedImage` is used for rendering; theoretically, for performance you should use `java.awt.image.VolatileImage`; see `org.fife.ui.RTextArea.VolatileImageBackgroundPainterStrategy` for this.

  You can set the scaling hint used when stretching/skewing the image to fit in the `RTextAreaBase`'s background via the `setScalingHint` method, but keep in mind the more accurate the scaling hint, the less responsive your application will be when stretching the window (as that's the only time the image's size is recalculated).

  See Also:
    `ImageBackgroundPainterStrategy`, `VolatileImageBackgroundPainterStrategy`

- - ### Field Summary

    - ### Fields inherited from class org.fife.ui.rtextarea.ImageBackgroundPainterStrategy

      `tracker`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BufferedImageBackgroundPainterStrategy(RTextAreaBase ta)` Constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `paintImage(java.awt.Graphics g, int x, int y)` Paints the image at the specified location.
    `protected void` | `rescaleImage(int width, int height, int hint)` Rescales the displayed image to be the specified size.

    - ### Methods inherited from class org.fife.ui.rtextarea.ImageBackgroundPainterStrategy

      `getMasterImage, getRTextAreaBase, getScalingHint, paint, setImage, setImage, setScalingHint`

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

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

- - ### Constructor Detail

    - #### BufferedImageBackgroundPainterStrategy

          public BufferedImageBackgroundPainterStrategy(RTextAreaBase ta)

      Constructor.
      Parameters:
        `ta` - The text area whose background we'll be painting.

  - ### Method Detail

    - #### paintImage

          protected void paintImage(java.awt.Graphics g,
                        int x,
                        int y)

      Paints the image at the specified location. This method assumes scaling has already been done, and simply paints the background image "as-is."
      Specified by:
        `paintImage` in class `ImageBackgroundPainterStrategy`
      Parameters:
        `g` - The graphics context.
        `x` - The x-coordinate at which to paint.
        `y` - The y-coordinate at which to paint.

    - #### rescaleImage

          protected void rescaleImage(int width,
                          int height,
                          int hint)

      Rescales the displayed image to be the specified size.
      Specified by:
        `rescaleImage` in class `ImageBackgroundPainterStrategy`
      Parameters:
        `width` - The new width of the image.
        `height` - The new height of the image.
        `hint` - The scaling hint to use.