aboutsummaryrefslogtreecommitdiffstats
path: root/assetstudio/src
diff options
context:
space:
mode:
Diffstat (limited to 'assetstudio/src')
-rw-r--r--assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java2
-rw-r--r--assetstudio/src/com/android/assetstudiolib/LauncherIconGenerator.java29
2 files changed, 22 insertions, 9 deletions
diff --git a/assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java b/assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java
index fa81392..0124000 100644
--- a/assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java
+++ b/assetstudio/src/com/android/assetstudiolib/GraphicGenerator.java
@@ -59,6 +59,8 @@ public abstract class GraphicGenerator {
/** Shapes that can be used for icon backgrounds */
public static enum Shape {
+ /** No background */
+ NONE("none"),
/** Circular background */
CIRCLE("circle"),
/** Square background */
diff --git a/assetstudio/src/com/android/assetstudiolib/LauncherIconGenerator.java b/assetstudio/src/com/android/assetstudiolib/LauncherIconGenerator.java
index 4e0534d..b3e327b 100644
--- a/assetstudio/src/com/android/assetstudiolib/LauncherIconGenerator.java
+++ b/assetstudio/src/com/android/assetstudiolib/LauncherIconGenerator.java
@@ -42,12 +42,17 @@ public class LauncherIconGenerator extends GraphicGenerator {
density = launcherOptions.density.getResourceValue();
}
String shape = launcherOptions.shape.id;
- BufferedImage mBackImage = context.loadImageResource("/images/launcher_stencil/"
+ BufferedImage mBackImage = null;
+ BufferedImage mForeImage = null;
+ BufferedImage mMaskImage = null;
+ if (launcherOptions.shape != Shape.NONE) {
+ mBackImage = context.loadImageResource("/images/launcher_stencil/"
+ shape + "/" + density + "/back.png");
- BufferedImage mForeImage = context.loadImageResource("/images/launcher_stencil/"
+ mForeImage = context.loadImageResource("/images/launcher_stencil/"
+ shape + "/" + density + "/" + launcherOptions.style.id + ".png");
- BufferedImage mMaskImage = context.loadImageResource("/images/launcher_stencil/"
+ mMaskImage = context.loadImageResource("/images/launcher_stencil/"
+ shape + "/" + density + "/mask.png");
+ }
float scaleFactor = GraphicGenerator.getMdpiScaleFactor(launcherOptions.density);
if (launcherOptions.isWebGraphic) {
@@ -59,14 +64,18 @@ public class LauncherIconGenerator extends GraphicGenerator {
BufferedImage outImage = Util.newArgbBufferedImage(imageRect.width, imageRect.height);
Graphics2D g = (Graphics2D) outImage.getGraphics();
- g.drawImage(mBackImage, 0, 0, null);
+ if (mBackImage != null) {
+ g.drawImage(mBackImage, 0, 0, null);
+ }
BufferedImage tempImage = Util.newArgbBufferedImage(imageRect.width, imageRect.height);
Graphics2D g2 = (Graphics2D) tempImage.getGraphics();
- g2.drawImage(mMaskImage, 0, 0, null);
- g2.setComposite(AlphaComposite.SrcAtop);
- g2.setPaint(new Color(launcherOptions.backgroundColor));
- g2.fillRect(0, 0, imageRect.width, imageRect.height);
+ if (mMaskImage != null) {
+ g2.drawImage(mMaskImage, 0, 0, null);
+ g2.setComposite(AlphaComposite.SrcAtop);
+ g2.setPaint(new Color(launcherOptions.backgroundColor));
+ g2.fillRect(0, 0, imageRect.width, imageRect.height);
+ }
if (launcherOptions.crop) {
Util.drawCenterCrop(g2, launcherOptions.sourceImage, targetRect);
@@ -75,7 +84,9 @@ public class LauncherIconGenerator extends GraphicGenerator {
}
g.drawImage(tempImage, 0, 0, null);
- g.drawImage(mForeImage, 0, 0, null);
+ if (mForeImage != null) {
+ g.drawImage(mForeImage, 0, 0, null);
+ }
g.dispose();
g2.dispose();