clamp & round alpha
Bug: 16842521
Change-Id: Ifd93f40b5751746835c9d56bb3c2b5ba700bdccc
diff --git a/libs/hwui/utils/MathUtils.h b/libs/hwui/utils/MathUtils.h
index 2dfe9c6..66bc127 100644
--- a/libs/hwui/utils/MathUtils.h
+++ b/libs/hwui/utils/MathUtils.h
@@ -20,6 +20,7 @@
namespace uirenderer {
#define NON_ZERO_EPSILON (0.001f)
+#define ALPHA_EPSILON (0.001f)
class MathUtils {
public:
@@ -34,6 +35,16 @@
return value >= NON_ZERO_EPSILON;
}
+ inline static float clampAlpha(float alpha) {
+ if (alpha <= ALPHA_EPSILON) {
+ return 0;
+ } else if (alpha >= (1 - ALPHA_EPSILON)) {
+ return 1;
+ } else {
+ return alpha;
+ }
+ }
+
inline static bool areEqual(float valueA, float valueB) {
return isZero(valueA - valueB);
}