/*
* Copyright (C) 2015 Patryk Strach
*
* This file is part of Virtual Slide Viewer.
*
* Virtual Slide Viewer is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software Foundation,
* either version 3 of the License, or (at your option) any later version.
*
* Virtual Slide Viewer is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with Virtual Slide Viewer.
* If not, see <http://www.gnu.org/licenses/>.
*/
package virtualslideviewer.core;
import java.awt.Dimension;
import java.beans.PropertyChangeListener;
import virtualslideviewer.util.ParameterValidator;
public abstract class VirtualSlideImageDecorator extends VirtualSlideImage
{
protected VirtualSlideImage mDecoratedImage;
public VirtualSlideImageDecorator(VirtualSlideImage imageToDecorate)
{
ParameterValidator.throwIfNull(imageToDecorate, "imageToDecorate");
mDecoratedImage = imageToDecorate;
}
@Override
public Dimension getImageSize(int resIndex)
{
return mDecoratedImage.getImageSize(resIndex);
}
@Override
public int getResolutionCount()
{
return mDecoratedImage.getResolutionCount();
}
@Override
public int getChannelCount()
{
return mDecoratedImage.getChannelCount();
}
@Override
public int getZPlaneCount()
{
return mDecoratedImage.getZPlaneCount();
}
@Override
public int getTimePointCount()
{
return mDecoratedImage.getTimePointCount();
}
@Override
public Dimension getTileSize(int resIndex)
{
return mDecoratedImage.getTileSize(resIndex);
}
@Override
public boolean isRGB()
{
return mDecoratedImage.isRGB();
}
@Override
public void getTileData(byte[] dst, Tile tile)
{
mDecoratedImage.getTileData(dst, tile);
}
@Override
public void addPropertyChangeListener(PropertyChangeListener listener)
{
mDecoratedImage.addPropertyChangeListener(listener);
}
@Override
public void removePropertyChangeListener(PropertyChangeListener listener)
{
mDecoratedImage.removePropertyChangeListener(listener);
}
@Override
public String getName()
{
return mDecoratedImage.getName();
}
@Override
public void setName(String newName)
{
mDecoratedImage.setName(newName);
}
@Override
public String getID()
{
return mDecoratedImage.getID();
}
@Override
public void close()
{
mDecoratedImage.close();
}
}