chromium/third_party/skia/modules/sksg/src/SkSGTransform.cpp

/*
 * Copyright 2017 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#include "include/core/SkCanvas.h"
#include "include/core/SkPoint.h"
#include "include/private/base/SkAssert.h"
#include "modules/sksg/include/SkSGTransform.h"
#include "modules/sksg/src/SkSGTransformPriv.h"

namespace sksg {
namespace {

template <typename T>
SkMatrix AsSkMatrix(const T&);

template <>
SkMatrix AsSkMatrix<SkMatrix>(const SkMatrix& m) {}

template <>
SkMatrix AsSkMatrix<SkM44>(const SkM44& m) {}

template <typename T>
SkM44 AsSkM44(const T&);

template <>
SkM44 AsSkM44<SkMatrix>(const SkMatrix& m) {}

template <>
SkM44 AsSkM44<SkM44>(const SkM44& m) {}

template <typename T>
class Concat final : public Transform {};

template <typename T>
class Inverse final : public Transform {};

} // namespace

template <>
SkMatrix Matrix<SkMatrix>::asMatrix() const {}

template <>
SkM44 Matrix<SkMatrix>::asM44() const {}

template <>
SkMatrix Matrix<SkM44>::asMatrix() const {}

template <>
SkM44 Matrix<SkM44>::asM44() const {}

// Transform nodes don't generate damage on their own, but via ancestor TransformEffects.
Transform::Transform() :{}

sk_sp<Transform> Transform::MakeConcat(sk_sp<Transform> a, sk_sp<Transform> b) {}

sk_sp<Transform> Transform::MakeInverse(sk_sp<Transform> t) {}

TransformEffect::TransformEffect(sk_sp<RenderNode> child, sk_sp<Transform> transform)
    :{}

TransformEffect::~TransformEffect() {}

void TransformEffect::onRender(SkCanvas* canvas, const RenderContext* ctx) const {}

const RenderNode* TransformEffect::onNodeAt(const SkPoint& p) const {}

SkRect TransformEffect::onRevalidate(InvalidationController* ic, const SkMatrix& ctm) {}

} // namespace sksg