diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/CreateAssetSetWizardState.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/CreateAssetSetWizardState.java | 258 |
1 files changed, 0 insertions, 258 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/CreateAssetSetWizardState.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/CreateAssetSetWizardState.java deleted file mode 100644 index d3a0f42e9..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/assetstudio/CreateAssetSetWizardState.java +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.android.ide.eclipse.adt.internal.assetstudio; - -import static com.android.ide.eclipse.adt.internal.wizards.templates.NewProjectWizard.DEFAULT_LAUNCHER_ICON; - -import com.android.annotations.NonNull; -import com.android.assetstudiolib.GraphicGenerator; -import com.android.assetstudiolib.GraphicGenerator.Shape; -import com.android.assetstudiolib.GraphicGeneratorContext; -import com.android.ide.eclipse.adt.AdtPlugin; -import com.android.ide.eclipse.adt.internal.wizards.templates.TemplateManager; - -import org.eclipse.core.resources.IProject; -import org.eclipse.swt.graphics.RGB; - -import java.awt.Font; -import java.awt.GraphicsEnvironment; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -import javax.imageio.ImageIO; - -/** - * Value object for the AssetStudio wizard. These values are both set by the - * wizard as well as read by the wizard initially, so passing in a configured - * {@link CreateAssetSetWizardState} to the icon generator is possible. - */ -public class CreateAssetSetWizardState implements GraphicGeneratorContext { - /** - * The type of asset being created. This field is static such that when you - * bring up the wizard repeatedly (for example to create multiple - * notification icons) you don't have to keep selecting the same type over - * and over. - */ - public static AssetType sLastType = AssetType.LAUNCHER; - - /** The type of asset to be created */ - public AssetType type = sLastType; - - /** The base name to use for the created icons */ - public String outputName; - - /** The minimum SDK being targeted */ - public int minSdk = -1; - - /** The project to create the icons into */ - public IProject project; - - /** Whether empty space around the source image should be trimmed */ - public boolean trim = true; - - /** The type of source the icon is being created from */ - public SourceType sourceType = SourceType.TEXT; - - /** If {@link #sourceType} is a {@link SourceType#CLIPART}, the name of the clipart image */ - public String clipartName; - - /** If {@link #sourceType} is a {@link SourceType#IMAGE}, the path to the input image */ - public File imagePath; - - /** If {@link #sourceType} is a {@link SourceType#TEXT}, the text to render */ - public String text = "aA"; - - /** The amount of padding to add around the source image */ - public int padding = 15; - - /** The background shape */ - public Shape shape = Shape.SQUARE; - - /** Whether the image should be cropped */ - public boolean crop; - - /** Whether to use Holo Dark for action bar icons */ - public boolean holoDark; - - /** The background color to use for the shape (unless the shape is {@link Shape#NONE} */ - public RGB background = new RGB(0xff, 0x00, 0x00); - - /** The background color to use for the text or clipart (unless shape is {@link Shape#NONE} */ - public RGB foreground = new RGB(0x00, 0x00, 0x00); - - /** If {@link #sourceType} is a {@link SourceType#TEXT}, the font of the text to render */ - private Font mTextFont; - - private Map<String, BufferedImage> mImageCache = null; - - /** - * Gets the text font to be used for text rendering if the - * {@link #sourceType} is a {@link SourceType#TEXT} - * - * @return the text font - */ - @NonNull - public Font getTextFont() { - if (mTextFont == null) { - GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); - String[] fontNames = env.getAvailableFontFamilyNames(); - for (String familyName : fontNames) { - if (familyName.equals("Helvetica")) { - mTextFont = new java.awt.Font(familyName, java.awt.Font.BOLD, 512); - break; - } - } - if (mTextFont == null) { - for (String familyName : fontNames) { - if (familyName.equals("Arial")) { - mTextFont = new java.awt.Font(familyName, java.awt.Font.BOLD, 512); - break; - } - } - - if (mTextFont == null) { - mTextFont = new java.awt.Font("SansSerif", java.awt.Font.BOLD, 512); - } - } - } - - return mTextFont; - } - - /** - * Sets the text font to be used for text rendering if the - * {@link #sourceType} is a {@link SourceType#TEXT} - * - * @param textFont the font to use - */ - public void setTextFont(@NonNull Font textFont) { - mTextFont = textFont; - } - - /** Types of sources that the asset studio can use to generate icons from */ - public enum SourceType { - /** Generate the icon using the image pointed to by {@link #imagePath} */ - IMAGE, - - /** Generate the icon using the clipart named by {@link #clipartName} */ - CLIPART, - - /** Generate the icon using the text in {@link #text} */ - TEXT - } - - // ---- Implements GraphicGeneratorContext ---- - - @Override - public BufferedImage loadImageResource(String relativeName) { - try { - return getCachedImage(relativeName, true); - } catch (IOException e) { - AdtPlugin.log(e, null); - return null; - } - } - - BufferedImage getCachedImage(String path, boolean isPluginRelative) - throws IOException { - BufferedImage image = mImageCache != null ? mImageCache.get(path) : null; - if (image == null) { - image = getImage(path, isPluginRelative); - if (mImageCache == null) { - mImageCache = new HashMap<String, BufferedImage>(); - } - mImageCache.put(path, image); - } - - return image; - } - - @NonNull - static BufferedImage getImage(@NonNull String path, boolean isPluginRelative) - throws IOException { - BufferedImage image = null; - if (isPluginRelative) { - image = GraphicGenerator.getStencilImage(path); - } else { - if (path.equals(DEFAULT_LAUNCHER_ICON)) { - File file = TemplateManager.getTemplateLocation( - "projects/NewAndroidApplication/root/res/drawable-xhdpi/ic_launcher.png"); //$NON-NLS-1$ - if (file != null) { - path = file.getPath(); - } else { - image = GraphicGenerator.getStencilImage("user.png"); - } - } - - File file = new File(path); - - // Requires Batik - //if (file.getName().endsWith(DOT_SVG)) { - // image = loadSvgImage(file); - //} - - if (image == null) { - image = ImageIO.read(file); - } - } - - if (image == null) { - image = new BufferedImage(1,1, BufferedImage.TYPE_INT_ARGB); - } - - return image; - } - - // This requires Batik for SVG rendering - // - //public static BufferedImage loadSvgImage(File file) { - // BufferedImageTranscoder transcoder = new BufferedImageTranscoder(); - // - // String svgURI = file.toURI().toString(); - // TranscoderInput input = new TranscoderInput(svgURI); - // - // try { - // transcoder.transcode(input, null); - // } catch (TranscoderException e) { - // e.printStackTrace(); - // return null; - // } - // - // return transcoder.decodedImage; - //} - // - ///** - // * A dummy implementation of an {@link ImageTranscoder} that simply stores the {@link - // * BufferedImage} generated by the SVG library. - // */ - //private static class BufferedImageTranscoder extends ImageTranscoder { - // public BufferedImage decodedImage; - // - // @Override - // public BufferedImage createImage(int w, int h) { - // return new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); - // } - // - // @Override - // public void writeImage(BufferedImage image, TranscoderOutput output) - // throws TranscoderException { - // this.decodedImage = image; - // } - //} -} |