From 3b9d33b3e0295445979ba9a36cb73780bc16fb60 Mon Sep 17 00:00:00 2001 From: Xavier Ducrohet Date: Tue, 13 Oct 2009 19:24:58 -0700 Subject: [PATCH] Fix RawImage.getARGB to force alpha to 0xFF for buffers with no alpha. Change-Id: I6b95f5758c36979cca06483f1ff797ba67ecd056 --- .../ddms/libs/ddmlib/src/com/android/ddmlib/RawImage.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/ddms/libs/ddmlib/src/com/android/ddmlib/RawImage.java b/tools/ddms/libs/ddmlib/src/com/android/ddmlib/RawImage.java index 6132bd0fe..3ec61485e 100644 --- a/tools/ddms/libs/ddmlib/src/com/android/ddmlib/RawImage.java +++ b/tools/ddms/libs/ddmlib/src/com/android/ddmlib/RawImage.java @@ -186,7 +186,12 @@ public final class RawImage { int r = ((value >>> red_offset) & getMask(red_length)) << (8 - red_length); int g = ((value >>> green_offset) & getMask(green_length)) << (8 - green_length); int b = ((value >>> blue_offset) & getMask(blue_length)) << (8 - blue_length); - int a = ((value >>> alpha_offset) & getMask(alpha_length)) << (8 - alpha_length); + int a; + if (alpha_length == 0) { + a = 0xFF; // force alpha to opaque if there's no alpha value in the framebuffer. + } else { + a = ((value >>> alpha_offset) & getMask(alpha_length)) << (8 - alpha_length); + } return a << 24 | r << 16 | g << 8 | b; }