From 531ee701ddca2d1604fcce8e5d6d8837a3f651ac Mon Sep 17 00:00:00 2001 From: John Reck Date: Tue, 13 May 2014 10:06:08 -0700 Subject: Clamp to uint8 for alpha Change-Id: Id3e51671297bfb879969ad2fe7a5741dd4cf4c29 --- libs/hwui/Animator.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libs') diff --git a/libs/hwui/Animator.cpp b/libs/hwui/Animator.cpp index 6a3003e..a033f86 100644 --- a/libs/hwui/Animator.cpp +++ b/libs/hwui/Animator.cpp @@ -199,13 +199,18 @@ float CanvasPropertyPaintAnimator::getValue() const { return -1; } +static uint8_t to_uint8(float value) { + int c = (int) (value + .5f); + return static_cast( c < 0 ? 0 : c > 255 ? 255 : c ); +} + void CanvasPropertyPaintAnimator::setValue(float value) { switch (mField) { case STROKE_WIDTH: mProperty->value.setStrokeWidth(value); return; case ALPHA: - mProperty->value.setAlpha(value); + mProperty->value.setAlpha(to_uint8(value)); return; } LOG_ALWAYS_FATAL("Unknown field %d", (int) mField); -- cgit v1.1