The comparisons used in the various properties setters could fail badly in some specific conditions. The scale properties in particular did not use the same comparisons. This change also clamps alpha to the 0..1 range which avoids overflow issues with lowp registers in GLSL computations. Change-Id: I3e73b584e907a14e2c33d0865ca0d2d4d5bff31d
37 lines
945 B
C
37 lines
945 B
C
/*
|
|
* Copyright (C) 2010 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.
|
|
*/
|
|
|
|
#ifndef ANDROID_HWUI_COMPARE_H
|
|
#define ANDROID_HWUI_COMPARE_H
|
|
|
|
#include <cmath>
|
|
|
|
/**
|
|
* Compare floats.
|
|
*/
|
|
#define LTE_FLOAT(a) \
|
|
if (a < rhs.a) return true; \
|
|
if (a == rhs.a)
|
|
|
|
/**
|
|
* Compare integers.
|
|
*/
|
|
#define LTE_INT(a) \
|
|
if (a < rhs.a) return true; \
|
|
if (a == rhs.a)
|
|
|
|
#endif // ANDROID_HWUI_COMPARE_H
|