summaryrefslogtreecommitdiffstats
path: root/graphics/java
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/java')
-rw-r--r--graphics/java/android/graphics/drawable/LayerDrawable.java30
-rw-r--r--graphics/java/android/renderscript/Allocation.java2
-rw-r--r--graphics/java/android/renderscript/RenderScript.java13
-rw-r--r--graphics/java/android/renderscript/Script.java4
-rw-r--r--graphics/java/android/renderscript/ScriptC.java4
5 files changed, 43 insertions, 10 deletions
diff --git a/graphics/java/android/graphics/drawable/LayerDrawable.java b/graphics/java/android/graphics/drawable/LayerDrawable.java
index b6cce7e..09c041f 100644
--- a/graphics/java/android/graphics/drawable/LayerDrawable.java
+++ b/graphics/java/android/graphics/drawable/LayerDrawable.java
@@ -26,6 +26,7 @@ import android.graphics.ColorFilter;
import android.graphics.PixelFormat;
import android.graphics.Rect;
import android.util.AttributeSet;
+import android.util.Slog;
import android.view.View;
import java.io.IOException;
@@ -49,6 +50,7 @@ import java.io.IOException;
public class LayerDrawable extends Drawable implements Drawable.Callback {
LayerState mLayerState;
+ private int mOpacityOverride = PixelFormat.UNKNOWN;
private int[] mPaddingL;
private int[] mPaddingT;
private int[] mPaddingR;
@@ -113,6 +115,13 @@ public class LayerDrawable extends Drawable implements Drawable.Callback {
int type;
+ TypedArray a = r.obtainAttributes(attrs, com.android.internal.R.styleable.LayerDrawable);
+
+ mOpacityOverride = a.getInt(com.android.internal.R.styleable.LayerDrawable_opacity,
+ PixelFormat.UNKNOWN);
+
+ a.recycle();
+
final int innerDepth = parser.getDepth() + 1;
int depth;
while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
@@ -125,7 +134,7 @@ public class LayerDrawable extends Drawable implements Drawable.Callback {
continue;
}
- TypedArray a = r.obtainAttributes(attrs,
+ a = r.obtainAttributes(attrs,
com.android.internal.R.styleable.LayerDrawableItem);
int left = a.getDimensionPixelOffset(
@@ -391,9 +400,28 @@ public class LayerDrawable extends Drawable implements Drawable.Callback {
array[i].mDrawable.setColorFilter(cf);
}
}
+
+ /**
+ * Sets the opacity of this drawable directly, instead of collecting the states from
+ * the layers
+ *
+ * @param opacity The opacity to use, or {@link PixelFormat#UNKNOWN PixelFormat.UNKNOWN}
+ * for the default behavior
+ *
+ * @see PixelFormat#UNKNOWN
+ * @see PixelFormat#TRANSLUCENT
+ * @see PixelFormat#TRANSPARENT
+ * @see PixelFormat#OPAQUE
+ */
+ public void setOpacity(int opacity) {
+ mOpacityOverride = opacity;
+ }
@Override
public int getOpacity() {
+ if (mOpacityOverride != PixelFormat.UNKNOWN) {
+ return mOpacityOverride;
+ }
return mLayerState.getOpacity();
}
diff --git a/graphics/java/android/renderscript/Allocation.java b/graphics/java/android/renderscript/Allocation.java
index 9dc291b..0de53f2 100644
--- a/graphics/java/android/renderscript/Allocation.java
+++ b/graphics/java/android/renderscript/Allocation.java
@@ -352,7 +352,7 @@ public class Allocation extends BaseObj {
if (bc == Bitmap.Config.RGB_565) {
return Element.RGB_565(rs);
}
- throw new RSInvalidStateException("Bad bitmap type.");
+ throw new RSInvalidStateException("Bad bitmap type: " + bc);
}
static private Type typeFromBitmap(RenderScript rs, Bitmap b) {
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index df03e13..dcf86e3 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -389,6 +389,10 @@ public class RenderScript {
synchronized void nScriptSetVarV(int id, int slot, byte[] val) {
rsnScriptSetVarV(mContext, id, slot, val);
}
+ native void rsnScriptSetVarObj(int con, int id, int slot, int val);
+ synchronized void nScriptSetVarObj(int id, int slot, int val) {
+ rsnScriptSetVarObj(mContext, id, slot, val);
+ }
native void rsnScriptCBegin(int con);
synchronized void nScriptCBegin() {
@@ -398,9 +402,9 @@ public class RenderScript {
synchronized void nScriptCSetScript(byte[] script, int offset, int length) {
rsnScriptCSetScript(mContext, script, offset, length);
}
- native int rsnScriptCCreate(int con);
- synchronized int nScriptCCreate() {
- return rsnScriptCCreate(mContext);
+ native int rsnScriptCCreate(int con, String val);
+ synchronized int nScriptCCreate(String val) {
+ return rsnScriptCCreate(mContext, val);
}
native void rsnSamplerBegin(int con);
@@ -810,6 +814,3 @@ public class RenderScript {
return 0;
}
}
-
-
-
diff --git a/graphics/java/android/renderscript/Script.java b/graphics/java/android/renderscript/Script.java
index 7d7dd6d..ea616c6 100644
--- a/graphics/java/android/renderscript/Script.java
+++ b/graphics/java/android/renderscript/Script.java
@@ -88,6 +88,10 @@ public class Script extends BaseObj {
mRS.nScriptSetVarI(getID(), index, v ? 1 : 0);
}
+ public void setVar(int index, BaseObj o) {
+ mRS.nScriptSetVarObj(getID(), index, (o == null) ? 0 : o.getID());
+ }
+
public void setVar(int index, FieldPacker v) {
mRS.nScriptSetVarV(getID(), index, v.getData());
}
diff --git a/graphics/java/android/renderscript/ScriptC.java b/graphics/java/android/renderscript/ScriptC.java
index 44fc5fd..64ed75b 100644
--- a/graphics/java/android/renderscript/ScriptC.java
+++ b/graphics/java/android/renderscript/ScriptC.java
@@ -75,7 +75,7 @@ public class ScriptC extends Script {
rs.nScriptCBegin();
rs.nScriptCSetScript(pgm, 0, pgmLength);
- return rs.nScriptCCreate();
+ Log.v(TAG, "Create script for resource = " + resources.getResourceName(resourceID));
+ return rs.nScriptCCreate(resources.getResourceName(resourceID));
}
}
-