// Copyright 2013 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_GFX_GEOMETRY_TRANSFORM_OPERATIONS_H_ #define UI_GFX_GEOMETRY_TRANSFORM_OPERATIONS_H_ #include <memory> #include <optional> #include <unordered_map> #include <vector> #include "base/check_op.h" #include "base/gtest_prod_util.h" #include "ui/gfx/geometry/geometry_skia_export.h" #include "ui/gfx/geometry/transform.h" #include "ui/gfx/geometry/transform_operation.h" namespace gfx { class BoxF; struct DecomposedTransform; // Transform operations are a decomposed transformation matrix. It can be // applied to obtain a Transform at any time, and can be blended // intelligently with other transform operations, so long as they represent the // same decomposition. For example, if we have a transform that is made up of // a rotation followed by skew, it can be blended intelligently with another // transform made up of a rotation followed by a skew. Blending is possible if // we have two dissimilar sets of transform operations, but the effect may not // be what was intended. For more information, see the comments for the blend // function below. class GEOMETRY_SKIA_EXPORT TransformOperations { … }; } // namespace gfx #endif // UI_GFX_GEOMETRY_TRANSFORM_OPERATIONS_H_