diff options
| author | Tor Norbye <tnorbye@google.com> | 2011-07-15 21:16:56 -0700 |
|---|---|---|
| committer | Tor Norbye <tnorbye@google.com> | 2011-07-27 16:46:57 -0700 |
| commit | 7208e72d510e1bf5d3860f4a15d135e42d64eaa0 (patch) | |
| tree | b190a7e85efd913d5aaff25f0ccaa37ffb28312e /assetstudio | |
| parent | c766a5e884fbb9a3a4f02809961942173c7cce8b (diff) | |
| download | sdk-7208e72d510e1bf5d3860f4a15d135e42d64eaa0.tar.gz sdk-7208e72d510e1bf5d3860f4a15d135e42d64eaa0.tar.bz2 sdk-7208e72d510e1bf5d3860f4a15d135e42d64eaa0.zip | |
Asset Studio wizard
This is an initial integration of the Android Asset Studio into
Eclipse, as a New Asset wizard. It uses the Java port of the Android
Asset Studio to generate the assets:
https://code.google.com/a/google.com/p/android-asset-studio-java/
It only supports launcher icons, and some of the configurable
parameters (file, shape, crop).
To run it, put the AssetStudioLib.jar file into the the adt libs
directory.
There's a new "Asset Set" wizard in the New wizard, which will open up
a two page wizard; the first page lets you select the project (which
it attempts to pick up from context), as well as the type of asset to
create, and the asset output name.
In the second page there are the various widgets to tweak the code
generator, and a preview area on the right which updates as you tweak
the various controls.
The main remaining work is to support additional asset types as
they are added to the assetstudio generator library.
Change-Id: I2e556337f8e5c3bc09e84b35a342ba05110abebc
Diffstat (limited to 'assetstudio')
| -rw-r--r-- | assetstudio/.classpath | 7 | ||||
| -rw-r--r-- | assetstudio/.gitignore | 2 | ||||
| -rw-r--r-- | assetstudio/.project | 17 | ||||
| -rw-r--r-- | assetstudio/.settings/org.eclipse.jdt.core.prefs | 71 | ||||
| -rw-r--r-- | assetstudio/Android.mk | 30 | ||||
| -rw-r--r-- | assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java (renamed from assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/GraphicGenerator.java) | 38 | ||||
| -rw-r--r-- | assetstudio/src/com/android/assetstudiolib/GraphicGeneratorContext.java (renamed from assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/GraphicGeneratorContext.java) | 0 | ||||
| -rw-r--r-- | assetstudio/src/com/android/assetstudiolib/LauncherIconGenerator.java (renamed from assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/LauncherIconGenerator.java) | 19 | ||||
| -rw-r--r-- | assetstudio/src/com/android/assetstudiolib/MenuIconGenerator.java (renamed from assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/MenuIconGenerator.java) | 6 | ||||
| -rw-r--r-- | assetstudio/src/com/android/assetstudiolib/Util.java (renamed from assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/Util.java) | 0 | ||||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/hdpi/back.png (renamed from assetstudio/res/launcher-stencil/circle/hdpi/back.png) | bin | 1885 -> 1885 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/hdpi/fore1.png (renamed from assetstudio/res/launcher-stencil/circle/hdpi/fore1.png) | bin | 666 -> 666 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/hdpi/fore2.png (renamed from assetstudio/res/launcher-stencil/circle/hdpi/fore2.png) | bin | 2922 -> 2922 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/hdpi/fore3.png (renamed from assetstudio/res/launcher-stencil/circle/hdpi/fore3.png) | bin | 4690 -> 4690 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/hdpi/mask.png (renamed from assetstudio/res/launcher-stencil/circle/hdpi/mask.png) | bin | 992 -> 992 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/ldpi/back.png (renamed from assetstudio/res/launcher-stencil/circle/ldpi/back.png) | bin | 745 -> 745 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/ldpi/fore1.png (renamed from assetstudio/res/launcher-stencil/circle/ldpi/fore1.png) | bin | 376 -> 376 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/ldpi/fore2.png (renamed from assetstudio/res/launcher-stencil/circle/ldpi/fore2.png) | bin | 1370 -> 1370 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/ldpi/fore3.png (renamed from assetstudio/res/launcher-stencil/circle/ldpi/fore3.png) | bin | 2432 -> 2432 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/ldpi/mask.png (renamed from assetstudio/res/launcher-stencil/circle/ldpi/mask.png) | bin | 435 -> 435 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/mdpi/back.png (renamed from assetstudio/res/launcher-stencil/circle/mdpi/back.png) | bin | 1162 -> 1162 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/mdpi/fore1.png (renamed from assetstudio/res/launcher-stencil/circle/mdpi/fore1.png) | bin | 457 -> 457 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/mdpi/fore2.png (renamed from assetstudio/res/launcher-stencil/circle/mdpi/fore2.png) | bin | 1720 -> 1720 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/mdpi/fore3.png (renamed from assetstudio/res/launcher-stencil/circle/mdpi/fore3.png) | bin | 2926 -> 2926 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/mdpi/mask.png (renamed from assetstudio/res/launcher-stencil/circle/mdpi/mask.png) | bin | 610 -> 610 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/web/back.png (renamed from assetstudio/res/launcher-stencil/circle/web/back.png) | bin | 29806 -> 29806 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/web/fore1.png (renamed from assetstudio/res/launcher-stencil/circle/web/fore1.png) | bin | 30292 -> 30292 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/web/fore2.png (renamed from assetstudio/res/launcher-stencil/circle/web/fore2.png) | bin | 59463 -> 59463 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/web/fore3.png (renamed from assetstudio/res/launcher-stencil/circle/web/fore3.png) | bin | 61713 -> 61713 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/web/mask.png (renamed from assetstudio/res/launcher-stencil/circle/web/mask.png) | bin | 8447 -> 8447 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/xhdpi/back.png (renamed from assetstudio/res/launcher-stencil/circle/xhdpi/back.png) | bin | 3451 -> 3451 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/xhdpi/fore1.png (renamed from assetstudio/res/launcher-stencil/circle/xhdpi/fore1.png) | bin | 1746 -> 1746 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/xhdpi/fore2.png (renamed from assetstudio/res/launcher-stencil/circle/xhdpi/fore2.png) | bin | 5054 -> 5054 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/xhdpi/fore3.png (renamed from assetstudio/res/launcher-stencil/circle/xhdpi/fore3.png) | bin | 6239 -> 6239 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/circle/xhdpi/mask.png (renamed from assetstudio/res/launcher-stencil/circle/xhdpi/mask.png) | bin | 2142 -> 2142 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/hdpi/back.png (renamed from assetstudio/res/launcher-stencil/square/hdpi/back.png) | bin | 713 -> 713 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/hdpi/fore1.png (renamed from assetstudio/res/launcher-stencil/square/hdpi/fore1.png) | bin | 331 -> 331 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/hdpi/fore2.png (renamed from assetstudio/res/launcher-stencil/square/hdpi/fore2.png) | bin | 1477 -> 1477 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/hdpi/fore3.png (renamed from assetstudio/res/launcher-stencil/square/hdpi/fore3.png) | bin | 3592 -> 3592 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/hdpi/mask.png (renamed from assetstudio/res/launcher-stencil/square/hdpi/mask.png) | bin | 370 -> 370 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/ldpi/back.png (renamed from assetstudio/res/launcher-stencil/square/ldpi/back.png) | bin | 295 -> 295 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/ldpi/fore1.png (renamed from assetstudio/res/launcher-stencil/square/ldpi/fore1.png) | bin | 212 -> 212 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/ldpi/fore2.png (renamed from assetstudio/res/launcher-stencil/square/ldpi/fore2.png) | bin | 693 -> 693 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/ldpi/fore3.png (renamed from assetstudio/res/launcher-stencil/square/ldpi/fore3.png) | bin | 2061 -> 2061 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/ldpi/mask.png (renamed from assetstudio/res/launcher-stencil/square/ldpi/mask.png) | bin | 205 -> 205 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/mdpi/back.png (renamed from assetstudio/res/launcher-stencil/square/mdpi/back.png) | bin | 455 -> 455 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/mdpi/fore1.png (renamed from assetstudio/res/launcher-stencil/square/mdpi/fore1.png) | bin | 239 -> 239 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/mdpi/fore2.png (renamed from assetstudio/res/launcher-stencil/square/mdpi/fore2.png) | bin | 1010 -> 1010 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/mdpi/fore3.png (renamed from assetstudio/res/launcher-stencil/square/mdpi/fore3.png) | bin | 2510 -> 2510 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/mdpi/mask.png (renamed from assetstudio/res/launcher-stencil/square/mdpi/mask.png) | bin | 250 -> 250 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/web/back.png (renamed from assetstudio/res/launcher-stencil/square/web/back.png) | bin | 10984 -> 10984 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/web/fore1.png (renamed from assetstudio/res/launcher-stencil/square/web/fore1.png) | bin | 8562 -> 8562 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/web/fore2.png (renamed from assetstudio/res/launcher-stencil/square/web/fore2.png) | bin | 26230 -> 26230 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/web/fore3.png (renamed from assetstudio/res/launcher-stencil/square/web/fore3.png) | bin | 42175 -> 42175 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/web/mask.png (renamed from assetstudio/res/launcher-stencil/square/web/mask.png) | bin | 3786 -> 3786 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/xhdpi/back.png (renamed from assetstudio/res/launcher-stencil/square/xhdpi/back.png) | bin | 1956 -> 1956 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/xhdpi/fore1.png (renamed from assetstudio/res/launcher-stencil/square/xhdpi/fore1.png) | bin | 1289 -> 1289 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/xhdpi/fore2.png (renamed from assetstudio/res/launcher-stencil/square/xhdpi/fore2.png) | bin | 2932 -> 2932 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/xhdpi/fore3.png (renamed from assetstudio/res/launcher-stencil/square/xhdpi/fore3.png) | bin | 4649 -> 4649 bytes | |||
| -rw-r--r-- | assetstudio/src/images/launcher_stencil/square/xhdpi/mask.png (renamed from assetstudio/res/launcher-stencil/square/xhdpi/mask.png) | bin | 1396 -> 1396 bytes |
60 files changed, 164 insertions, 26 deletions
diff --git a/assetstudio/.classpath b/assetstudio/.classpath new file mode 100644 index 000000000..ee79d9631 --- /dev/null +++ b/assetstudio/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="output" path="bin"/> + <classpathentry combineaccessrules="false" kind="src" path="/common"/> +</classpath> diff --git a/assetstudio/.gitignore b/assetstudio/.gitignore new file mode 100644 index 000000000..fe99505dc --- /dev/null +++ b/assetstudio/.gitignore @@ -0,0 +1,2 @@ +bin + diff --git a/assetstudio/.project b/assetstudio/.project new file mode 100644 index 000000000..f9aa2cead --- /dev/null +++ b/assetstudio/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>assetstudio</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/assetstudio/.settings/org.eclipse.jdt.core.prefs b/assetstudio/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..e755df233 --- /dev/null +++ b/assetstudio/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,71 @@ +#Thu Jun 09 12:26:44 PDT 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.nullReference=error +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning diff --git a/assetstudio/Android.mk b/assetstudio/Android.mk new file mode 100644 index 000000000..a48c3a076 --- /dev/null +++ b/assetstudio/Android.mk @@ -0,0 +1,30 @@ +# +# Copyright (C) 2011 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 +# +# 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. +# +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(call all-java-files-under,src) +LOCAL_JAVA_RESOURCE_DIRS := src + +# TODO: Replace common with the batik stuff +LOCAL_JAVA_LIBRARIES := \ + common + +LOCAL_MODULE := assetstudio + +LOCAL_MODULE_TAGS := optional + +include $(BUILD_HOST_JAVA_LIBRARY) diff --git a/assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/GraphicGenerator.java b/assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java index 25f70391d..e53f0ab64 100644 --- a/assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/GraphicGenerator.java +++ b/assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java @@ -16,6 +16,14 @@ package com.android.assetstudiolib; +import com.android.resources.Density; + +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; + +import javax.imageio.ImageIO; + /** * The base Generator class. */ @@ -24,23 +32,21 @@ public class GraphicGenerator { * Options used for all generators. */ public static class Options { - /** - * The screen density of the icon. - */ - public static enum Density { - LDPI("ldpi", 120), MDPI("mdpi", 160), HDPI("hdpi", 240), XHDPI("xhdpi", 320); - - public String id; - public int dpi; + } - Density(String id, int dpi) { - this.id = id; - this.dpi = dpi; - } + public static float getScaleFactor(Density density) { + return density.getDpiValue() / (float) Density.DEFAULT_DENSITY; + } - public float scaleFactor() { - return (float) this.dpi / 160; - } - } + /** + * Returns one of the built in stencil images, or null + * + * @param relativePath stencil path such as "launcher-stencil/square/web/back.png" + * @return the image, or null + * @throws IOException if an unexpected I/O error occurs + */ + public static BufferedImage getStencilImage(String relativePath) throws IOException { + InputStream is = GraphicGenerator.class.getResourceAsStream(relativePath); + return ImageIO.read(is); } } diff --git a/assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/GraphicGeneratorContext.java b/assetstudio/src/com/android/assetstudiolib/GraphicGeneratorContext.java index e0b00a67b..e0b00a67b 100644 --- a/assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/GraphicGeneratorContext.java +++ b/assetstudio/src/com/android/assetstudiolib/GraphicGeneratorContext.java diff --git a/assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/LauncherIconGenerator.java b/assetstudio/src/com/android/assetstudiolib/LauncherIconGenerator.java index e9cc65b61..b6715a484 100644 --- a/assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/LauncherIconGenerator.java +++ b/assetstudio/src/com/android/assetstudiolib/LauncherIconGenerator.java @@ -16,6 +16,8 @@ package com.android.assetstudiolib; +import com.android.resources.Density; + import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Graphics2D; @@ -36,16 +38,17 @@ public class LauncherIconGenerator extends GraphicGenerator { public LauncherIconGenerator(GraphicGeneratorContext context, Options options) { mOptions = options; - mBackImage = context.loadImageResource("launcher-stencil/" - + options.shape.id + "/" + options.density.id + "/back.png"); - mForeImage = context.loadImageResource("launcher-stencil/" - + options.shape.id + "/" + options.density.id + "/" + options.style.id + ".png"); - mMaskImage = context.loadImageResource("launcher-stencil/" - + options.shape.id + "/" + options.density.id + "/mask.png"); + mBackImage = context.loadImageResource("/images/launcher_stencil/" + + options.shape.id + "/" + options.density.getResourceValue() + "/back.png"); + mForeImage = context.loadImageResource("/images/launcher_stencil/" + + options.shape.id + "/" + options.density.getResourceValue() + "/" + + options.style.id + ".png"); + mMaskImage = context.loadImageResource("/images/launcher_stencil/" + + options.shape.id + "/" + options.density.getResourceValue() + "/mask.png"); } public BufferedImage generate() { - final float scaleFactor = mOptions.density.scaleFactor(); + final float scaleFactor = GraphicGenerator.getScaleFactor(mOptions.density); Rectangle imageRect = Util.scaleRectangle(BASE_IMAGE_RECT, scaleFactor); Rectangle targetRect = Util.scaleRectangle(BASE_TARGET_RECT, scaleFactor); @@ -80,7 +83,7 @@ public class LauncherIconGenerator extends GraphicGenerator { public boolean crop = true; public Shape shape = Shape.SQUARE; public Style style = Style.SIMPLE; - public GraphicGenerator.Options.Density density = GraphicGenerator.Options.Density.XHDPI; + public Density density = Density.XHIGH; public static enum Shape { CIRCLE("circle"), SQUARE("square"); diff --git a/assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/MenuIconGenerator.java b/assetstudio/src/com/android/assetstudiolib/MenuIconGenerator.java index bff6e42ed..07b7a6b2d 100644 --- a/assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/MenuIconGenerator.java +++ b/assetstudio/src/com/android/assetstudiolib/MenuIconGenerator.java @@ -16,6 +16,8 @@ package com.android.assetstudiolib; +import com.android.resources.Density; + import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics2D; @@ -36,7 +38,7 @@ public class MenuIconGenerator extends GraphicGenerator { } public BufferedImage generate() { - final float scaleFactor = mOptions.density.scaleFactor(); + final float scaleFactor = GraphicGenerator.getScaleFactor(mOptions.density); Rectangle imageRect = Util.scaleRectangle(BASE_IMAGE_RECT, scaleFactor); Rectangle targetRect = Util.scaleRectangle(BASE_TARGET_RECT, scaleFactor); @@ -85,6 +87,6 @@ public class MenuIconGenerator extends GraphicGenerator { public static class Options { public BufferedImage sourceImage; - public GraphicGenerator.Options.Density density = GraphicGenerator.Options.Density.XHDPI; + public Density density = Density.XHIGH; } } diff --git a/assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/Util.java b/assetstudio/src/com/android/assetstudiolib/Util.java index 82299a402..82299a402 100644 --- a/assetstudio/libs/assetstudiolib/src/com/android/assetstudiolib/Util.java +++ b/assetstudio/src/com/android/assetstudiolib/Util.java diff --git a/assetstudio/res/launcher-stencil/circle/hdpi/back.png b/assetstudio/src/images/launcher_stencil/circle/hdpi/back.png Binary files differindex 8e3dbc1b6..8e3dbc1b6 100644 --- a/assetstudio/res/launcher-stencil/circle/hdpi/back.png +++ b/assetstudio/src/images/launcher_stencil/circle/hdpi/back.png diff --git a/assetstudio/res/launcher-stencil/circle/hdpi/fore1.png b/assetstudio/src/images/launcher_stencil/circle/hdpi/fore1.png Binary files differindex 79d75c0d3..79d75c0d3 100644 --- a/assetstudio/res/launcher-stencil/circle/hdpi/fore1.png +++ b/assetstudio/src/images/launcher_stencil/circle/hdpi/fore1.png diff --git a/assetstudio/res/launcher-stencil/circle/hdpi/fore2.png b/assetstudio/src/images/launcher_stencil/circle/hdpi/fore2.png Binary files differindex 594257aa5..594257aa5 100644 --- a/assetstudio/res/launcher-stencil/circle/hdpi/fore2.png +++ b/assetstudio/src/images/launcher_stencil/circle/hdpi/fore2.png diff --git a/assetstudio/res/launcher-stencil/circle/hdpi/fore3.png b/assetstudio/src/images/launcher_stencil/circle/hdpi/fore3.png Binary files differindex 65fb48bf4..65fb48bf4 100644 --- a/assetstudio/res/launcher-stencil/circle/hdpi/fore3.png +++ b/assetstudio/src/images/launcher_stencil/circle/hdpi/fore3.png diff --git a/assetstudio/res/launcher-stencil/circle/hdpi/mask.png b/assetstudio/src/images/launcher_stencil/circle/hdpi/mask.png Binary files differindex 99e787ade..99e787ade 100644 --- a/assetstudio/res/launcher-stencil/circle/hdpi/mask.png +++ b/assetstudio/src/images/launcher_stencil/circle/hdpi/mask.png diff --git a/assetstudio/res/launcher-stencil/circle/ldpi/back.png b/assetstudio/src/images/launcher_stencil/circle/ldpi/back.png Binary files differindex d9a9fcc5e..d9a9fcc5e 100644 --- a/assetstudio/res/launcher-stencil/circle/ldpi/back.png +++ b/assetstudio/src/images/launcher_stencil/circle/ldpi/back.png diff --git a/assetstudio/res/launcher-stencil/circle/ldpi/fore1.png b/assetstudio/src/images/launcher_stencil/circle/ldpi/fore1.png Binary files differindex ecc3bc54e..ecc3bc54e 100644 --- a/assetstudio/res/launcher-stencil/circle/ldpi/fore1.png +++ b/assetstudio/src/images/launcher_stencil/circle/ldpi/fore1.png diff --git a/assetstudio/res/launcher-stencil/circle/ldpi/fore2.png b/assetstudio/src/images/launcher_stencil/circle/ldpi/fore2.png Binary files differindex c86b59c7a..c86b59c7a 100644 --- a/assetstudio/res/launcher-stencil/circle/ldpi/fore2.png +++ b/assetstudio/src/images/launcher_stencil/circle/ldpi/fore2.png diff --git a/assetstudio/res/launcher-stencil/circle/ldpi/fore3.png b/assetstudio/src/images/launcher_stencil/circle/ldpi/fore3.png Binary files differindex 1ae4d315d..1ae4d315d 100644 --- a/assetstudio/res/launcher-stencil/circle/ldpi/fore3.png +++ b/assetstudio/src/images/launcher_stencil/circle/ldpi/fore3.png diff --git a/assetstudio/res/launcher-stencil/circle/ldpi/mask.png b/assetstudio/src/images/launcher_stencil/circle/ldpi/mask.png Binary files differindex e537ad052..e537ad052 100644 --- a/assetstudio/res/launcher-stencil/circle/ldpi/mask.png +++ b/assetstudio/src/images/launcher_stencil/circle/ldpi/mask.png diff --git a/assetstudio/res/launcher-stencil/circle/mdpi/back.png b/assetstudio/src/images/launcher_stencil/circle/mdpi/back.png Binary files differindex e16503876..e16503876 100644 --- a/assetstudio/res/launcher-stencil/circle/mdpi/back.png +++ b/assetstudio/src/images/launcher_stencil/circle/mdpi/back.png diff --git a/assetstudio/res/launcher-stencil/circle/mdpi/fore1.png b/assetstudio/src/images/launcher_stencil/circle/mdpi/fore1.png Binary files differindex c42af1339..c42af1339 100644 --- a/assetstudio/res/launcher-stencil/circle/mdpi/fore1.png +++ b/assetstudio/src/images/launcher_stencil/circle/mdpi/fore1.png diff --git a/assetstudio/res/launcher-stencil/circle/mdpi/fore2.png b/assetstudio/src/images/launcher_stencil/circle/mdpi/fore2.png Binary files differindex 0c0682190..0c0682190 100644 --- a/assetstudio/res/launcher-stencil/circle/mdpi/fore2.png +++ b/assetstudio/src/images/launcher_stencil/circle/mdpi/fore2.png diff --git a/assetstudio/res/launcher-stencil/circle/mdpi/fore3.png b/assetstudio/src/images/launcher_stencil/circle/mdpi/fore3.png Binary files differindex 01fe4181b..01fe4181b 100644 --- a/assetstudio/res/launcher-stencil/circle/mdpi/fore3.png +++ b/assetstudio/src/images/launcher_stencil/circle/mdpi/fore3.png diff --git a/assetstudio/res/launcher-stencil/circle/mdpi/mask.png b/assetstudio/src/images/launcher_stencil/circle/mdpi/mask.png Binary files differindex 19f18bf74..19f18bf74 100644 --- a/assetstudio/res/launcher-stencil/circle/mdpi/mask.png +++ b/assetstudio/src/images/launcher_stencil/circle/mdpi/mask.png diff --git a/assetstudio/res/launcher-stencil/circle/web/back.png b/assetstudio/src/images/launcher_stencil/circle/web/back.png Binary files differindex 191c677eb..191c677eb 100644 --- a/assetstudio/res/launcher-stencil/circle/web/back.png +++ b/assetstudio/src/images/launcher_stencil/circle/web/back.png diff --git a/assetstudio/res/launcher-stencil/circle/web/fore1.png b/assetstudio/src/images/launcher_stencil/circle/web/fore1.png Binary files differindex 7ea80969b..7ea80969b 100644 --- a/assetstudio/res/launcher-stencil/circle/web/fore1.png +++ b/assetstudio/src/images/launcher_stencil/circle/web/fore1.png diff --git a/assetstudio/res/launcher-stencil/circle/web/fore2.png b/assetstudio/src/images/launcher_stencil/circle/web/fore2.png Binary files differindex 5a762401b..5a762401b 100644 --- a/assetstudio/res/launcher-stencil/circle/web/fore2.png +++ b/assetstudio/src/images/launcher_stencil/circle/web/fore2.png diff --git a/assetstudio/res/launcher-stencil/circle/web/fore3.png b/assetstudio/src/images/launcher_stencil/circle/web/fore3.png Binary files differindex 1794bff68..1794bff68 100644 --- a/assetstudio/res/launcher-stencil/circle/web/fore3.png +++ b/assetstudio/src/images/launcher_stencil/circle/web/fore3.png diff --git a/assetstudio/res/launcher-stencil/circle/web/mask.png b/assetstudio/src/images/launcher_stencil/circle/web/mask.png Binary files differindex 8316d80dc..8316d80dc 100644 --- a/assetstudio/res/launcher-stencil/circle/web/mask.png +++ b/assetstudio/src/images/launcher_stencil/circle/web/mask.png diff --git a/assetstudio/res/launcher-stencil/circle/xhdpi/back.png b/assetstudio/src/images/launcher_stencil/circle/xhdpi/back.png Binary files differindex e655af629..e655af629 100644 --- a/assetstudio/res/launcher-stencil/circle/xhdpi/back.png +++ b/assetstudio/src/images/launcher_stencil/circle/xhdpi/back.png diff --git a/assetstudio/res/launcher-stencil/circle/xhdpi/fore1.png b/assetstudio/src/images/launcher_stencil/circle/xhdpi/fore1.png Binary files differindex 639ccbaa5..639ccbaa5 100644 --- a/assetstudio/res/launcher-stencil/circle/xhdpi/fore1.png +++ b/assetstudio/src/images/launcher_stencil/circle/xhdpi/fore1.png diff --git a/assetstudio/res/launcher-stencil/circle/xhdpi/fore2.png b/assetstudio/src/images/launcher_stencil/circle/xhdpi/fore2.png Binary files differindex b92245289..b92245289 100644 --- a/assetstudio/res/launcher-stencil/circle/xhdpi/fore2.png +++ b/assetstudio/src/images/launcher_stencil/circle/xhdpi/fore2.png diff --git a/assetstudio/res/launcher-stencil/circle/xhdpi/fore3.png b/assetstudio/src/images/launcher_stencil/circle/xhdpi/fore3.png Binary files differindex 5f1c15e81..5f1c15e81 100644 --- a/assetstudio/res/launcher-stencil/circle/xhdpi/fore3.png +++ b/assetstudio/src/images/launcher_stencil/circle/xhdpi/fore3.png diff --git a/assetstudio/res/launcher-stencil/circle/xhdpi/mask.png b/assetstudio/src/images/launcher_stencil/circle/xhdpi/mask.png Binary files differindex 6dc3bc76e..6dc3bc76e 100644 --- a/assetstudio/res/launcher-stencil/circle/xhdpi/mask.png +++ b/assetstudio/src/images/launcher_stencil/circle/xhdpi/mask.png diff --git a/assetstudio/res/launcher-stencil/square/hdpi/back.png b/assetstudio/src/images/launcher_stencil/square/hdpi/back.png Binary files differindex 3e582114e..3e582114e 100644 --- a/assetstudio/res/launcher-stencil/square/hdpi/back.png +++ b/assetstudio/src/images/launcher_stencil/square/hdpi/back.png diff --git a/assetstudio/res/launcher-stencil/square/hdpi/fore1.png b/assetstudio/src/images/launcher_stencil/square/hdpi/fore1.png Binary files differindex e76d49356..e76d49356 100644 --- a/assetstudio/res/launcher-stencil/square/hdpi/fore1.png +++ b/assetstudio/src/images/launcher_stencil/square/hdpi/fore1.png diff --git a/assetstudio/res/launcher-stencil/square/hdpi/fore2.png b/assetstudio/src/images/launcher_stencil/square/hdpi/fore2.png Binary files differindex ab28d8d15..ab28d8d15 100644 --- a/assetstudio/res/launcher-stencil/square/hdpi/fore2.png +++ b/assetstudio/src/images/launcher_stencil/square/hdpi/fore2.png diff --git a/assetstudio/res/launcher-stencil/square/hdpi/fore3.png b/assetstudio/src/images/launcher_stencil/square/hdpi/fore3.png Binary files differindex 59f5e8f55..59f5e8f55 100644 --- a/assetstudio/res/launcher-stencil/square/hdpi/fore3.png +++ b/assetstudio/src/images/launcher_stencil/square/hdpi/fore3.png diff --git a/assetstudio/res/launcher-stencil/square/hdpi/mask.png b/assetstudio/src/images/launcher_stencil/square/hdpi/mask.png Binary files differindex 9c56fe6be..9c56fe6be 100644 --- a/assetstudio/res/launcher-stencil/square/hdpi/mask.png +++ b/assetstudio/src/images/launcher_stencil/square/hdpi/mask.png diff --git a/assetstudio/res/launcher-stencil/square/ldpi/back.png b/assetstudio/src/images/launcher_stencil/square/ldpi/back.png Binary files differindex 1a68be3b7..1a68be3b7 100644 --- a/assetstudio/res/launcher-stencil/square/ldpi/back.png +++ b/assetstudio/src/images/launcher_stencil/square/ldpi/back.png diff --git a/assetstudio/res/launcher-stencil/square/ldpi/fore1.png b/assetstudio/src/images/launcher_stencil/square/ldpi/fore1.png Binary files differindex c46e1c270..c46e1c270 100644 --- a/assetstudio/res/launcher-stencil/square/ldpi/fore1.png +++ b/assetstudio/src/images/launcher_stencil/square/ldpi/fore1.png diff --git a/assetstudio/res/launcher-stencil/square/ldpi/fore2.png b/assetstudio/src/images/launcher_stencil/square/ldpi/fore2.png Binary files differindex 3bc8315a3..3bc8315a3 100644 --- a/assetstudio/res/launcher-stencil/square/ldpi/fore2.png +++ b/assetstudio/src/images/launcher_stencil/square/ldpi/fore2.png diff --git a/assetstudio/res/launcher-stencil/square/ldpi/fore3.png b/assetstudio/src/images/launcher_stencil/square/ldpi/fore3.png Binary files differindex 0bfa4f71d..0bfa4f71d 100644 --- a/assetstudio/res/launcher-stencil/square/ldpi/fore3.png +++ b/assetstudio/src/images/launcher_stencil/square/ldpi/fore3.png diff --git a/assetstudio/res/launcher-stencil/square/ldpi/mask.png b/assetstudio/src/images/launcher_stencil/square/ldpi/mask.png Binary files differindex 04d6d1a7c..04d6d1a7c 100644 --- a/assetstudio/res/launcher-stencil/square/ldpi/mask.png +++ b/assetstudio/src/images/launcher_stencil/square/ldpi/mask.png diff --git a/assetstudio/res/launcher-stencil/square/mdpi/back.png b/assetstudio/src/images/launcher_stencil/square/mdpi/back.png Binary files differindex f49e51393..f49e51393 100644 --- a/assetstudio/res/launcher-stencil/square/mdpi/back.png +++ b/assetstudio/src/images/launcher_stencil/square/mdpi/back.png diff --git a/assetstudio/res/launcher-stencil/square/mdpi/fore1.png b/assetstudio/src/images/launcher_stencil/square/mdpi/fore1.png Binary files differindex 2837d41dd..2837d41dd 100644 --- a/assetstudio/res/launcher-stencil/square/mdpi/fore1.png +++ b/assetstudio/src/images/launcher_stencil/square/mdpi/fore1.png diff --git a/assetstudio/res/launcher-stencil/square/mdpi/fore2.png b/assetstudio/src/images/launcher_stencil/square/mdpi/fore2.png Binary files differindex 566941fc4..566941fc4 100644 --- a/assetstudio/res/launcher-stencil/square/mdpi/fore2.png +++ b/assetstudio/src/images/launcher_stencil/square/mdpi/fore2.png diff --git a/assetstudio/res/launcher-stencil/square/mdpi/fore3.png b/assetstudio/src/images/launcher_stencil/square/mdpi/fore3.png Binary files differindex 9bcfc5e56..9bcfc5e56 100644 --- a/assetstudio/res/launcher-stencil/square/mdpi/fore3.png +++ b/assetstudio/src/images/launcher_stencil/square/mdpi/fore3.png diff --git a/assetstudio/res/launcher-stencil/square/mdpi/mask.png b/assetstudio/src/images/launcher_stencil/square/mdpi/mask.png Binary files differindex 90e5cd072..90e5cd072 100644 --- a/assetstudio/res/launcher-stencil/square/mdpi/mask.png +++ b/assetstudio/src/images/launcher_stencil/square/mdpi/mask.png diff --git a/assetstudio/res/launcher-stencil/square/web/back.png b/assetstudio/src/images/launcher_stencil/square/web/back.png Binary files differindex 2f008b7a3..2f008b7a3 100644 --- a/assetstudio/res/launcher-stencil/square/web/back.png +++ b/assetstudio/src/images/launcher_stencil/square/web/back.png diff --git a/assetstudio/res/launcher-stencil/square/web/fore1.png b/assetstudio/src/images/launcher_stencil/square/web/fore1.png Binary files differindex 527ac470d..527ac470d 100644 --- a/assetstudio/res/launcher-stencil/square/web/fore1.png +++ b/assetstudio/src/images/launcher_stencil/square/web/fore1.png diff --git a/assetstudio/res/launcher-stencil/square/web/fore2.png b/assetstudio/src/images/launcher_stencil/square/web/fore2.png Binary files differindex 5e557f839..5e557f839 100644 --- a/assetstudio/res/launcher-stencil/square/web/fore2.png +++ b/assetstudio/src/images/launcher_stencil/square/web/fore2.png diff --git a/assetstudio/res/launcher-stencil/square/web/fore3.png b/assetstudio/src/images/launcher_stencil/square/web/fore3.png Binary files differindex 58d85afbe..58d85afbe 100644 --- a/assetstudio/res/launcher-stencil/square/web/fore3.png +++ b/assetstudio/src/images/launcher_stencil/square/web/fore3.png diff --git a/assetstudio/res/launcher-stencil/square/web/mask.png b/assetstudio/src/images/launcher_stencil/square/web/mask.png Binary files differindex 2c8019695..2c8019695 100644 --- a/assetstudio/res/launcher-stencil/square/web/mask.png +++ b/assetstudio/src/images/launcher_stencil/square/web/mask.png diff --git a/assetstudio/res/launcher-stencil/square/xhdpi/back.png b/assetstudio/src/images/launcher_stencil/square/xhdpi/back.png Binary files differindex 84caac0a0..84caac0a0 100644 --- a/assetstudio/res/launcher-stencil/square/xhdpi/back.png +++ b/assetstudio/src/images/launcher_stencil/square/xhdpi/back.png diff --git a/assetstudio/res/launcher-stencil/square/xhdpi/fore1.png b/assetstudio/src/images/launcher_stencil/square/xhdpi/fore1.png Binary files differindex 2d237e1a6..2d237e1a6 100644 --- a/assetstudio/res/launcher-stencil/square/xhdpi/fore1.png +++ b/assetstudio/src/images/launcher_stencil/square/xhdpi/fore1.png diff --git a/assetstudio/res/launcher-stencil/square/xhdpi/fore2.png b/assetstudio/src/images/launcher_stencil/square/xhdpi/fore2.png Binary files differindex cce5e0e19..cce5e0e19 100644 --- a/assetstudio/res/launcher-stencil/square/xhdpi/fore2.png +++ b/assetstudio/src/images/launcher_stencil/square/xhdpi/fore2.png diff --git a/assetstudio/res/launcher-stencil/square/xhdpi/fore3.png b/assetstudio/src/images/launcher_stencil/square/xhdpi/fore3.png Binary files differindex 3b91aa470..3b91aa470 100644 --- a/assetstudio/res/launcher-stencil/square/xhdpi/fore3.png +++ b/assetstudio/src/images/launcher_stencil/square/xhdpi/fore3.png diff --git a/assetstudio/res/launcher-stencil/square/xhdpi/mask.png b/assetstudio/src/images/launcher_stencil/square/xhdpi/mask.png Binary files differindex 9e0bbdc3a..9e0bbdc3a 100644 --- a/assetstudio/res/launcher-stencil/square/xhdpi/mask.png +++ b/assetstudio/src/images/launcher_stencil/square/xhdpi/mask.png |
