Skip to content
Snippets Groups Projects
Commit b8c2091e authored by Tobias Pietzsch's avatar Tobias Pietzsch
Browse files

RenderResult: add javadoc

parent d7acca85
No related branches found
No related tags found
No related merge requests found
......@@ -6,49 +6,65 @@ import net.imglib2.realtransform.AffineTransform3D;
import net.imglib2.type.numeric.ARGBType;
/**
* TODO javadoc
* Provides the {@link MultiResolutionRenderer renderer} with a target image
* ({@code RandomAccessibleInterval<ARGBType>}) to render to. Provides the
* {@link RenderTarget} with the rendered image and transform etc necessary to
* display it.
*/
public interface RenderResult
{
/**
* TODO javadoc
* Allocate storage such that {@link #getScreenImage()} holds an image of
* {@code width * height}.
* <p>
* (Called by the {@link MultiResolutionRenderer renderer}.)
*/
void init( int width, int height );
/**
* TODO javadoc
* Get the image to render to.
* <p>
* (Called by the {@link MultiResolutionRenderer renderer}.)
*
* @return
* @return the image to render to
*/
// TODO: rename getTargetImage() ???
RandomAccessibleInterval< ARGBType > getScreenImage();
/**
* TODO javadoc
* Get the viewer transform used to render image.
* This is with respect to the screen resolution (doesn't include scaling).
* Get the viewer transform used to render image. This is with respect to
* the screen resolution (doesn't include scaling).
* <p>
* (Called by the {@link MultiResolutionRenderer renderer} to set the
* transform.)
*/
AffineTransform3D getViewerTransform();
/**
* TODO javadoc
* Get the scale factor from target coordinates to screen resolution.
*/
double getScaleFactor();
/**
* TODO javadoc
* Set the scale factor from target coordinates to screen resolution.
*/
void setScaleFactor( double scaleFactor );
/**
* Fill in {@code interval} with data from {@code patch},
* scaled by the relative scale between this {@code RenderResult} and {@code patch},
* and shifted such that {@code (0,0)} of the {@code patch} is placed at {@code (ox,oy)} of this {@code RenderResult}
* Fill in {@code interval} with data from {@code patch}, scaled by the
* relative scale between this {@code RenderResult} and {@code patch}, and
* shifted such that {@code (0,0)} of the {@code patch} is placed at
* {@code (ox,oy)} of this {@code RenderResult}
* <p>
* Note that only data in {@code interval} will be modified, although the scaled and shifted {@code patch} might fall partially outside.
* Note that only data in {@code interval} will be modified, although the
* scaled and shifted {@code patch} might fall partially outside.
*/
void patch( final RenderResult patch, final Interval interval, final double ox, final double oy );
/**
* Notify that the {@link #getScreenImage() target image} data was changed.
* <p>
* (Called by the {@link MultiResolutionRenderer renderer}.)
*/
void setUpdated();
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment