Actually this is the same as color accumulation. Now we can pass test cases
that interpolation with overflowed values.
MozReview-Commit-ID: L4RqBhG5n3l
This patch was written with the help of the following script. Also, manually
add mozilla qualifier to the enum values in nsStyleCoord.h, gfxRect.h, and
Types.h to make it build.
function rename() {
find .\
-type f\
! -path "./obj*"\
! -path "./.git"\
! -path "./.hg"\
\( -name "*.cpp" -or\
-name "*.h" \)\
-exec sed -i -e "s/$1/$2/g" "{}" \;
}
rename "NS_SIDE_TOP" "eSideTop"
rename "NS_SIDE_RIGHT" "eSideRight"
rename "NS_SIDE_BOTTOM" "eSideBottom"
rename "NS_SIDE_LEFT" "eSideLeft"
MozReview-Commit-ID: 9T0ORsqM6nP
This patch is written with the help of the following script.
function rename() {
find .\
-type f\
! -path "./obj*"\
! -path "./.git"\
! -path "./.hg"\
\( -name "*.cpp" -or\
-name "*.h" \)\
-exec sed -i -e "s/$1/$2/g" "{}" \;
}
rename "css::Side" "Side"
MozReview-Commit-ID: DPV6vivpPUp
We should follow the rules used by other types - return false if computing
the distance is failed. So make ComputeShapeDistance and return the status
and let the last argument be the output distance.
MozReview-Commit-ID: CFoQhgyqILB
Both eUnit_Shadow and the drop-shadow of eUnit_Filter needs to compute the
distance of two shadows, so we can factor out the implementation.
MozReview-Commit-ID: IGdxQWMXdE1
We want to reuse AddShapeFunction for calculating the distance, so add
one more argument to enable/disable the default restrictions, so we can
reuse AddShapeFunction to get the differences, which may be negative values,
between two shape functions.
MozReview-Commit-ID: FgzOnPzyyAQ
Two things in this patch:
1. Move AddCSSValuePixelPercentCalc to the position above AddTransformTranslate.
2. Simplify AddTransformTranslate, i.e. re-use the same switch case of
AddCSSValuePixelPercentCalc.
MozReview-Commit-ID: BMEpkOHDoaT
Decompose the 2d/3d matrix and calculate the Euclidean distance of
translate, scale, skew, quaternion, and perspective vectors.
MozReview-Commit-ID: 5nX9EeqvZi9
Move Decompose2DMatrix and Decompose3DMatrix into nsStyleTransformMatrix
and remove some trailing spaces.
Both AddWeighted and ComputeDistance need Decompose2DMatrix and
Decompose3DMatrix on transform property, and both decomposition functions are
related to nsStyleTransformMatrix, so we move them into nsStyleTransformMatrix
to make StyleAnimationValue more concise.
MozReview-Commit-ID: 5aVK7971rDD
Reuse AddTransformLists to get the identity transform functions to
replace none, and then treat them with another transform list as two matched
ones.
MozReview-Commit-ID: HwdBPCiUivg
Implement these transform functions for matched transform lists:
1. translate3d
2. scale3d
3. skewXY (and skewX, skewY, skew)
4. rotateX, rotateY, rotateZ, rotate, and rotate3d with the same
direction axis.
MozReview-Commit-ID: 94so7VGHqc8
We also need these functions in ComputeDistance:
1. AddTransformTranslate
2. AddCSSValueAngle
3. TransformFunctionsMatch
So move them up.
MozReview-Commit-ID: 8mSFEOgUsLT