package nbtool.gui.logviews.images;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.util.Map;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import nbtool.gui.logviews.misc.ViewParent;
import nbtool.images.ImageParent;
import nbtool.images.Y16Image;
import nbtool.images.YUYV8888Image;
import nbtool.util.SharedConstants;
import nbtool.util.Utility;
public class ZoomImageView extends ViewParent {
private static final long serialVersionUID = 1L;
protected void useSize(Dimension s) {
sp.setBounds(0,0, s.width, s.height);
}
public ZoomImageView() {
super();
addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
useSize(e.getComponent().getSize());
}
});
setLayout(null);
iv = new ZoomImageDisplay();
sp = new JScrollPane(iv);
sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
this.add(sp);
}
private JScrollPane sp;
private ZoomImageDisplay iv;
@Override
public void setupDisplay() {
iv.useImage(displayedLog.blocks.get(0).parseAsYUVImage().toBufferedImage());
}
@Override
public String[] displayableTypes() {
return new String[]{SharedConstants.LogClass_Tripoint(), SharedConstants.LogClass_YUVImage()};
}
}