Class RotateScaleOpBitmapImpl
java.lang.Object
VASSAL.tools.opcache.AbstractOpImpl<BufferedImage>
VASSAL.tools.imageop.AbstractOpImpl
VASSAL.tools.imageop.AbstractTileOpImpl
VASSAL.tools.imageop.RotateScaleOpBitmapImpl
- All Implemented Interfaces:
ImageOp, RotateOp, RotateScaleOp, ScaleOp, Op<BufferedImage>
An
ImageOp which rotates and scales its source. Rotation
is about the center of the source image, and scaling ranges from
(0,Double.MAX_VALUE). If a source is to be both rotated
and scaled, using one RotateScaleOp will produce better
results than doing the rotation and scaling separately with
one RotateOp and one ScaleOp.- Since:
- 3.1.0
- Author:
- Joel Uckelman
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionRotateScaleOpBitmapImpl(ImageOp sop, double angle, double scale) Constructs anImageOpwhich will rotate and scale the image produced by its sourceImageOp.RotateScaleOpBitmapImpl(ImageOp sop, double angle, double scale, RenderingHints hints) Constructs anImageOpwhich will rotate and scale the image produced by its sourceImageOp. -
Method Summary
Modifier and TypeMethodDescriptionbooleaneval()Runs theOp.protected voidfixSize()Sets thesizewhich is used byAbstractOpImpl.getSize(),AbstractOpImpl.getHeight(), andAbstractOpImpl.getWidth().doublegetAngle()Returns the angle of rotation.getHints()doublegetScale()Returns the scale factor.Returns a list ofOps on which thisOpdepends.inthashCode()Methods inherited from class AbstractTileOpImpl
getFutureTile, getNumXTiles, getNumYTiles, getTile, getTileHeight, getTileIndices, getTileOp, getTileSize, getTileWidthModifier and TypeMethodDescriptiongetFutureTile(int tileX, int tileY, ImageOpObserver obs) Submits a request for tile(tileX,tileY), and returns a reference to that request.intReturns the number of tiles along the x-axis.intReturns the number of tiles along the y-axis.getTile(int tileX, int tileY, ImageOpObserver obs) Calculates tile(tileX,tileY), and reports completion or failure to the specifiedImageOpObserver.intReturns the standard height of theBufferedImagetiles which are returned byImageOp.getTile(Point, ImageOpObserver).Point[]getTileIndices(Rectangle rect) Returns an array ofPoints representing the tiles intersecting the givenRectangle.getTileOp(int tileX, int tileY) Returns anImageOpwhich can produce the requested tile.Returns the standard size of theBufferedImagetiles which are returned byImageOp.getTile(Point, ImageOpObserver).intReturns the standard width of theBufferedImagetiles which are returned byImageOp.getTile(Point, ImageOpObserver).Methods inherited from class AbstractOpImpl
clearCache, getFutureImage, getFutureTile, getHeight, getImage, getImage, getSize, getSizeFromCache, getTile, getTileOp, getWidthModifier and TypeMethodDescriptionstatic voidSubmits a request for theBufferedImageproduced by this operation, and returns a reference to that request.getFutureTile(Point p, ImageOpObserver obs) Submits a request for tile(tileX,tileY), and returns a reference to that request.intReturns the height of theBufferedImagewhich would be returned byImageOp.getImage().getImage()Calculates theBufferedImageproduced by this operation.getImage(ImageOpObserver obs) Calculates theBufferedImageproduced by this operation, and reports completion or failure to the specifiedImageOpObserver.getSize()Returns the size of theBufferedImagewhich would be returned byImageOp.getImage().protected DimensionA utility method for retrieving the size of the computedImagefrom the cache if theImageis cached.getTile(Point p, ImageOpObserver obs) Calculates tile(p.x,p.y), and reports completion or failure to the specifiedImageOpObserver.Returns anImageOpwhich can produce the requested tile.intgetWidth()Returns the width of theBufferedImagewhich would be returned byImageOp.getImage().Methods inherited from class AbstractOpImpl
get, get, getFuture, newKey, updateModifier and TypeMethodDescriptionget()get(OpObserver<BufferedImage> obs) getFuture(OpObserver<BufferedImage> obs) newKey()Returns the current cache key for thisOp.voidupdate()Invalidates the current cache key for thisOp.
-
Constructor Details
-
RotateScaleOpBitmapImpl
Constructs anImageOpwhich will rotate and scale the image produced by its sourceImageOp.- Parameters:
sop- the source operationangle- the angle of rotation, in degreesscale- the scale factor
-
RotateScaleOpBitmapImpl
Constructs anImageOpwhich will rotate and scale the image produced by its sourceImageOp.- Parameters:
sop- the source operationangle- the angle of rotation, in degreesscale- the scale factorhints- rendering hints- Throws:
IllegalArgumentException- ifsop == null.
-
-
Method Details
-
getSources
Description copied from class:AbstractOpImplReturns a list ofOps on which thisOpdepends.- Specified by:
getSourcesin interfaceOp<BufferedImage>- Specified by:
getSourcesin classAbstractOpImpl<BufferedImage>- Returns:
- the
Ops on which thisOpdepends
-
eval
Runs theOp. This method should be called only by the caching framework.- Specified by:
evalin interfaceImageOp- Specified by:
evalin interfaceOp<BufferedImage>- Specified by:
evalin classAbstractOpImpl- Returns:
- the result of running this
Op - Throws:
Exception- passed up from the sourceImageOp.
-
fixSize
protected void fixSize()Sets thesizewhich is used byAbstractOpImpl.getSize(),AbstractOpImpl.getHeight(), andAbstractOpImpl.getWidth().- Specified by:
fixSizein classAbstractOpImpl
-
getAngle
-
getScale
-
getHints
-
equals
-
hashCode
-