blob: 31c01ec5c6266816aacee3c2100cb05cc00e4910 [file] [log] [blame] [edit]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#pragma once
#include "impeller/geometry/quaternion.h"
#include "impeller/geometry/scalar.h"
#include "impeller/geometry/shear.h"
#include "impeller/geometry/vector.h"
namespace impeller {
struct MatrixDecomposition {
Vector3 translation;
Vector3 scale;
Shear shear;
Vector4 perspective;
Quaternion rotation;
enum class Component {
kTranslation = 1 << 0,
kScale = 1 << 1,
kShear = 1 << 2,
kPerspective = 1 << 3,
kRotation = 1 << 4,
};
uint64_t GetComponentsMask() const;
};
} // namespace impeller