summaryrefslogtreecommitdiffstats
path: root/webkit/renderer/compositor_bindings/web_transform_operations_impl.cc
blob: 8201f5ae16e5f6fa4799c5e6ca5b32bfe2235ce5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "webkit/renderer/compositor_bindings/web_transform_operations_impl.h"

#include <algorithm>

#include "ui/gfx/transform.h"

namespace webkit {

WebTransformOperationsImpl::WebTransformOperationsImpl() {}

const cc::TransformOperations&
WebTransformOperationsImpl::AsTransformOperations() const {
  return transform_operations_;
}

bool WebTransformOperationsImpl::canBlendWith(
    const blink::WebTransformOperations& other) const {
  const WebTransformOperationsImpl& other_impl =
      static_cast<const WebTransformOperationsImpl&>(other);
  return transform_operations_.CanBlendWith(other_impl.transform_operations_);
}

void WebTransformOperationsImpl::appendTranslate(double x, double y, double z) {
  transform_operations_.AppendTranslate(x, y, z);
}

void WebTransformOperationsImpl::appendRotate(double x,
                                              double y,
                                              double z,
                                              double degrees) {
  transform_operations_.AppendRotate(x, y, z, degrees);
}

void WebTransformOperationsImpl::appendScale(double x, double y, double z) {
  transform_operations_.AppendScale(x, y, z);
}

void WebTransformOperationsImpl::appendSkew(double x, double y) {
  transform_operations_.AppendSkew(x, y);
}

void WebTransformOperationsImpl::appendPerspective(double depth) {
  transform_operations_.AppendPerspective(depth);
}

void WebTransformOperationsImpl::appendMatrix(const SkMatrix44& matrix) {
  gfx::Transform transform(gfx::Transform::kSkipInitialization);
  transform.matrix() = matrix;
  transform_operations_.AppendMatrix(transform);
}

void WebTransformOperationsImpl::appendIdentity() {
  transform_operations_.AppendIdentity();
}

bool WebTransformOperationsImpl::isIdentity() const {
  return transform_operations_.IsIdentity();
}

WebTransformOperationsImpl::~WebTransformOperationsImpl() {}

}  // namespace webkit