Package org.fife.ui.rtextarea
Class ImageBackgroundPainterStrategy
java.lang.Object
org.fife.ui.rtextarea.ImageBackgroundPainterStrategy
- All Implemented Interfaces:
BackgroundPainterStrategy
- Direct Known Subclasses:
BufferedImageBackgroundPainterStrategy
,VolatileImageBackgroundPainterStrategy
public abstract class ImageBackgroundPainterStrategy
extends Object
implements BackgroundPainterStrategy
A strategy for painting the background of an
RTextAreaBase
as an image. The image is always stretched to completely fill the
RTextAreaBase
.
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).
- Version:
- 0.1
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Image
private int
private int
private int
private RTextAreaBase
protected MediaTracker
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the "master" image; that is, the original, unscaled image.Returns the text area using this strategy.int
Returns the scaling hint being used.final void
Paints the image at the specified location and at the specified size.protected abstract void
paintImage
(Graphics g, int x, int y) Paints the image at the specified location.protected abstract void
rescaleImage
(int width, int height, int hint) Rescales the displayed image to be the specified size.void
Sets the image this background painter displays.void
Sets the image this background painter displays.void
setScalingHint
(int hint) Sets the scaling hint to use when scaling the image.
-
Field Details
-
tracker
-
textArea
-
master
-
oldWidth
private int oldWidth -
oldHeight
private int oldHeight -
scalingHint
private int scalingHint
-
-
Constructor Details
-
ImageBackgroundPainterStrategy
Constructor.- Parameters:
textArea
- The text area using this image as its background.
-
-
Method Details
-
getRTextAreaBase
Returns the text area using this strategy.- Returns:
- The text area.
-
getMasterImage
Returns the "master" image; that is, the original, unscaled image. When the image needs to be rescaled, scaling should be done from this image, to prevent repeated scaling from distorting the image.- Returns:
- The master image.
-
getScalingHint
public int getScalingHint()Returns the scaling hint being used.- Returns:
- The scaling hint to use when scaling an image.
- See Also:
-
paint
Paints the image at the specified location and at the specified size.- Specified by:
paint
in interfaceBackgroundPainterStrategy
- Parameters:
g
- The graphics context.bounds
- The bounds in which to paint the image. The image will be scaled to fit exactly in these bounds if necessary.
-
paintImage
Paints the image at the specified location. This method assumes scaling has already been done, and simply paints the background image "as-is."- Parameters:
g
- The graphics context.x
- The x-coordinate at which to paint.y
- The y-coordinate at which to paint.
-
rescaleImage
protected abstract void rescaleImage(int width, int height, int hint) Rescales the displayed image to be the specified size.- Parameters:
width
- The new width of the image.height
- The new height of the image.hint
- The scaling hint to use.
-
setImage
Sets the image this background painter displays.- Parameters:
imageURL
- URL of a file containing the image to display.
-
setImage
Sets the image this background painter displays.- Parameters:
image
- The new image to use for the background.
-
setScalingHint
public void setScalingHint(int hint) Sets the scaling hint to use when scaling the image.- Parameters:
hint
- The hint to apply; e.g.Image.SCALE_DEFAULT
.- See Also:
-