diff options
author | Doris Liu <tianliu@google.com> | 2016-02-04 20:04:10 +0000 |
---|---|---|
committer | Doris Liu <tianliu@google.com> | 2016-02-04 20:59:00 +0000 |
commit | 5a11e8d0ba21624025b89ac63bbd18befa55be0e (patch) | |
tree | 5166f73696e1ea08cde286757403fa944f40efc0 /libs/hwui/PropertyValuesHolder.cpp | |
parent | 95085d154b1ea6b4db3ae14d39a1c8c8a6560f78 (diff) |
Revert "VectorDrawable native rendering - Step 4 of MANY"
b/26949340 and b/26975469, b/26975079 as well
This reverts commit f276acd98457bcaabc9e79a17a736b3b484f005e.
Change-Id: I4b55177daf0d289bc03604c71fd4bf579f65073a
Diffstat (limited to 'libs/hwui/PropertyValuesHolder.cpp')
-rw-r--r-- | libs/hwui/PropertyValuesHolder.cpp | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/libs/hwui/PropertyValuesHolder.cpp b/libs/hwui/PropertyValuesHolder.cpp deleted file mode 100644 index 8f837f6048d6..000000000000 --- a/libs/hwui/PropertyValuesHolder.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "PropertyValuesHolder.h" - -#include "utils/VectorDrawableUtils.h" - -#include <utils/Log.h> - -namespace android { -namespace uirenderer { - -using namespace VectorDrawable; - -float PropertyValuesHolder::getValueFromData(float fraction) { - if (mDataSource.size() == 0) { - LOG_ALWAYS_FATAL("No data source is defined"); - return 0; - } - if (fraction <= 0.0f) { - return mDataSource.front(); - } - if (fraction >= 1.0f) { - return mDataSource.back(); - } - - fraction *= mDataSource.size() - 1; - int lowIndex = floor(fraction); - fraction -= lowIndex; - - float value = mDataSource[lowIndex] * (1.0f - fraction) - + mDataSource[lowIndex + 1] * fraction; - return value; -} - -void GroupPropertyValuesHolder::setFraction(float fraction) { - float animatedValue; - if (mDataSource.size() > 0) { - animatedValue = getValueFromData(fraction); - } else { - animatedValue = mStartValue * (1 - fraction) + mEndValue * fraction; - } - mGroup->setPropertyValue(mPropertyId, animatedValue); -} - -inline U8CPU lerp(U8CPU fromValue, U8CPU toValue, float fraction) { - return (U8CPU) (fromValue * (1 - fraction) + toValue * fraction); -} - -// TODO: Add a test for this -SkColor FullPathColorPropertyValuesHolder::interpolateColors(SkColor fromColor, SkColor toColor, - float fraction) { - U8CPU alpha = lerp(SkColorGetA(fromColor), SkColorGetA(toColor), fraction); - U8CPU red = lerp(SkColorGetR(fromColor), SkColorGetR(toColor), fraction); - U8CPU green = lerp(SkColorGetG(fromColor), SkColorGetG(toColor), fraction); - U8CPU blue = lerp(SkColorGetB(fromColor), SkColorGetB(toColor), fraction); - return SkColorSetARGB(alpha, red, green, blue); -} - -void FullPathColorPropertyValuesHolder::setFraction(float fraction) { - SkColor animatedValue = interpolateColors(mStartValue, mEndValue, fraction); - mFullPath->setColorPropertyValue(mPropertyId, animatedValue); -} - -void FullPathPropertyValuesHolder::setFraction(float fraction) { - float animatedValue; - if (mDataSource.size() > 0) { - animatedValue = getValueFromData(fraction); - } else { - animatedValue = mStartValue * (1 - fraction) + mEndValue * fraction; - } - mFullPath->setPropertyValue(mPropertyId, animatedValue); -} - -void PathDataPropertyValuesHolder::setFraction(float fraction) { - VectorDrawableUtils::interpolatePaths(&mPathData, mStartValue, mEndValue, fraction); - mPath->setPathData(mPathData); -} - -void RootAlphaPropertyValuesHolder::setFraction(float fraction) { - float animatedValue = mStartValue * (1 - fraction) + mEndValue * fraction; - mTree->setRootAlpha(animatedValue); -} - -} // namepace uirenderer -} // namespace android |