Define ComputedOperation::AccmulateMatrix.

If we set the composite operation to accumulate, we may need to accumulate two
mismatched transform lists, and then to interpolate them. In order to
accumulate two mismatched transform lists, we also need the reference
box information, so use the same idea as that for interpolation. i.e.
use AccmulateMatrix to store it temporarily, and convert it into matrix
later.
This commit is contained in:
Boris Chiou 2017-05-31 15:38:14 +08:00
parent a6099d0fc0
commit 313f7d86db
4 changed files with 107 additions and 9 deletions

View file

@ -2896,8 +2896,10 @@ impl Fragment {
Matrix4D::create_skew(Radians::new(theta_x.radians()),
Radians::new(theta_y.radians()))
}
transform::ComputedOperation::InterpolateMatrix { .. } => {
// TODO: Convert InterpolateMatrix into a valid Matrix4D by the reference box.
transform::ComputedOperation::InterpolateMatrix { .. } |
transform::ComputedOperation::AccumulateMatrix { .. } => {
// TODO: Convert InterpolateMatrix/AccmulateMatrix into a valid Matrix4D by
// the reference box.
Matrix4D::identity()
}
};