X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fsave%2FImagePreviewPanel.java;fp=tim%2Fprune%2Fsave%2FImagePreviewPanel.java;h=0000000000000000000000000000000000000000;hb=ce6f2161b8596f7018d6a76bff79bc9e571f35fd;hp=6f4ac889ad144731bb82d6485e8e5dc7721766d5;hpb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465;p=GpsPrune.git diff --git a/tim/prune/save/ImagePreviewPanel.java b/tim/prune/save/ImagePreviewPanel.java deleted file mode 100644 index 6f4ac88..0000000 --- a/tim/prune/save/ImagePreviewPanel.java +++ /dev/null @@ -1,98 +0,0 @@ -package tim.prune.save; - -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Graphics; - -import javax.swing.JPanel; - -import tim.prune.I18nManager; - -/** - * GUI component to display an image preview for the POV export - * and for the image export - */ -public class ImagePreviewPanel extends JPanel -{ - /** Base image */ - private GroutedImage _baseImage = null; - /** Loading flag */ - private boolean _loading = false; - - /** String to show before image is loaded */ - private static final String LOADING_STRING = I18nManager.getText("details.photo.loading") + " ..."; - /** Colour to use if there aren't any tiles at all (same as colour of POV export without image) */ - private static final Color EMPTY_IMAGE_COLOUR = new Color(0.5f, 0.75f, 0.8f); - - - /** Set the base image */ - public void setImage(GroutedImage inImage) - { - _baseImage = inImage; - _loading = false; - repaint(); - } - - /** Inform that a load is starting */ - public void startLoading() - { - _baseImage = null; - _loading = true; - repaint(); - } - - /** Get minimum size */ - public Dimension getMinimumSize() { - return new Dimension(200, 200); - } - /** Preferred size */ - public Dimension getPreferredSize() { - return getMinimumSize(); - } - - /** - * Override paint method - * @see javax.swing.JComponent#paint(java.awt.Graphics) - */ - public void paint(Graphics inG) - { - super.paint(inG); - if (_loading) - { - inG.setColor(Color.BLACK); - inG.drawString(LOADING_STRING, 10, 30); - } - else if (_baseImage != null) - { - final int width = getWidth(); - final int height = getHeight(); - final int previewSize = Math.min(width, height); - if (previewSize > 1) - { - if (_baseImage.isValid()) - { - inG.drawImage(_baseImage.getImage(), - (width-previewSize)/2, (height-previewSize)/2, previewSize, previewSize, this); - } - else - { - // No content found at all - inG.setColor(EMPTY_IMAGE_COLOUR); - inG.fillRect((width-previewSize)/2, (height-previewSize)/2, previewSize, previewSize); - } - // draw frame around it to make it more obvious - inG.setColor(Color.BLACK); - inG.drawRect((width-previewSize)/2, (height-previewSize)/2, previewSize-1, previewSize-1); - } - } - } - - /** - * @return true if there is an image to use and it contains map tiles - */ - public boolean getTilesFound() - { - return _baseImage != null && _baseImage.isValid() && _baseImage.getImageSize() > 1 - && _baseImage.getNumTilesUsed() > 0; - } -}