20 package net.sf.gridarta.model.face;
22 import java.awt.Toolkit;
23 import java.awt.image.FilteredImageSource;
24 import java.awt.image.ImageFilter;
25 import javax.swing.ImageIcon;
26 import org.jetbrains.annotations.NotNull;
27 import org.jetbrains.annotations.Nullable;
80 protected ImageIcon
createImage(@NotNull
final String faceName,
final long stretch) {
82 throw new IllegalStateException(
"FilterFaceProvider in use but parent not set.");
85 if (imageIcon == null) {
94 return new ImageIcon(Toolkit.getDefaultToolkit().createImage(
new FilteredImageSource(imageIcon.getImage().getSource(),
filter)));
95 }
catch (
final Exception ignored) {
A FilterFaceProvider provides modified versions of icons provided by another FaceProvider by applying...
FilterFaceProvider(@Nullable final FaceProvider parent, @NotNull final ImageFilter filter)
Creates a new instance.
Abstract Base class for FaceProviders which implements a memory sensitive cache.
This interface represents a lazy loader that provides images on demand.
FaceProvider parent
The FaceProvider to get the original icon from.
ImageIcon getImageIconForFacename(@NotNull String faceName, long stretch)
Get an image from this FaceProvider.
final ImageFilter filter
The Filter to apply.
void setParent(@Nullable final FaceProvider parent)
Sets a new provider as parent.
void setStretchedFactor(final long stretchFactor)
Set the stretch factor for this instance.
FilterFaceProvider(@NotNull final ImageFilter filter)
Create a new instance.
An ImageFilter that produces stretched faces.
ImageIcon createImage(@NotNull final String faceName, final long stretch)