Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(390)

Side by Side Diff: Source/platform/transforms/TranslateTransformOperation.h

Issue 1158603003: CSS Independent Transform Properties (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Remove animation from CL Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 13 matching lines...) Expand all
24 24
25 #ifndef TranslateTransformOperation_h 25 #ifndef TranslateTransformOperation_h
26 #define TranslateTransformOperation_h 26 #define TranslateTransformOperation_h
27 27
28 #include "platform/Length.h" 28 #include "platform/Length.h"
29 #include "platform/LengthFunctions.h" 29 #include "platform/LengthFunctions.h"
30 #include "platform/transforms/TransformOperation.h" 30 #include "platform/transforms/TransformOperation.h"
31 31
32 namespace blink { 32 namespace blink {
33 33
34 class PLATFORM_EXPORT TranslateTransformOperation : public TransformOperation { 34 class PLATFORM_EXPORT TranslateTransformOperation final : public TransformOperat ion {
35 public: 35 public:
36 static PassRefPtr<TranslateTransformOperation> create(const Length& tx, cons t Length& ty, OperationType type) 36 static PassRefPtr<TranslateTransformOperation> create(const Length& tx, cons t Length& ty, OperationType type)
37 { 37 {
38 return adoptRef(new TranslateTransformOperation(tx, ty, 0, type)); 38 return adoptRef(new TranslateTransformOperation(tx, ty, 0, type));
39 } 39 }
40 40
41 static PassRefPtr<TranslateTransformOperation> create(const Length& tx, cons t Length& ty, double tz, OperationType type) 41 static PassRefPtr<TranslateTransformOperation> create(const Length& tx, cons t Length& ty, double tz, OperationType type)
42 { 42 {
43 return adoptRef(new TranslateTransformOperation(tx, ty, tz, type)); 43 return adoptRef(new TranslateTransformOperation(tx, ty, tz, type));
44 } 44 }
45 45
46 virtual bool canBlendWith(const TransformOperation& other) const; 46 virtual bool canBlendWith(const TransformOperation& other) const;
47 47
48 double x(const FloatSize& borderBoxSize) const { return floatValueForLength( m_x, borderBoxSize.width()); } 48 double x(const FloatSize& borderBoxSize) const { return floatValueForLength( m_x, borderBoxSize.width()); }
49 double y(const FloatSize& borderBoxSize) const { return floatValueForLength( m_y, borderBoxSize.height()); } 49 double y(const FloatSize& borderBoxSize) const { return floatValueForLength( m_y, borderBoxSize.height()); }
50 50
51 Length x() const { return m_x; } 51 Length x() const { return m_x; }
52 Length y() const { return m_y; } 52 Length y() const { return m_y; }
53 double z() const { return m_z; } 53 double z() const { return m_z; }
54
55 private:
56 virtual OperationType type() const override { return m_type; } 54 virtual OperationType type() const override { return m_type; }
57 55
58 virtual bool operator==(const TransformOperation& o) const override 56 virtual bool operator==(const TransformOperation& o) const override
59 { 57 {
60 if (!isSameType(o)) 58 if (!isSameType(o))
61 return false; 59 return false;
62 const TranslateTransformOperation* t = static_cast<const TranslateTransf ormOperation*>(&o); 60 const TranslateTransformOperation* t = static_cast<const TranslateTransf ormOperation*>(&o);
63 return m_x == t->m_x && m_y == t->m_y && m_z == t->m_z; 61 return m_x == t->m_x && m_y == t->m_y && m_z == t->m_z;
64 } 62 }
65 63
64 private:
66 virtual void apply(TransformationMatrix& transform, const FloatSize& borderB oxSize) const override 65 virtual void apply(TransformationMatrix& transform, const FloatSize& borderB oxSize) const override
67 { 66 {
68 transform.translate3d(x(borderBoxSize), y(borderBoxSize), z()); 67 transform.translate3d(x(borderBoxSize), y(borderBoxSize), z());
69 } 68 }
70 69
71 virtual PassRefPtr<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) override; 70 virtual PassRefPtr<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) override;
72 71
73 virtual bool dependsOnBoxSize() const override 72 virtual bool dependsOnBoxSize() const override
74 { 73 {
75 return m_x.hasPercent() || m_y.hasPercent(); 74 return m_x.hasPercent() || m_y.hasPercent();
76 } 75 }
77 76
78 TranslateTransformOperation(const Length& tx, const Length& ty, double tz, O perationType type) 77 TranslateTransformOperation(const Length& tx, const Length& ty, double tz, O perationType type)
79 : m_x(tx) 78 : m_x(tx)
80 , m_y(ty) 79 , m_y(ty)
81 , m_z(tz) 80 , m_z(tz)
82 , m_type(type) 81 , m_type(type)
83 { 82 {
84 ASSERT(type == TranslateX || type == TranslateY || type == TranslateZ || type == Translate || type == Translate3D); 83 ASSERT(type == TranslateX || type == TranslateY || type == TranslateZ || type == Translate || type == Translate3D);
85 } 84 }
86 85
87 Length m_x; 86 Length m_x;
88 Length m_y; 87 Length m_y;
89 double m_z; 88 double m_z;
90 OperationType m_type; 89 OperationType m_type;
91 }; 90 };
92 91
92 DEFINE_TRANSFORM_TYPE_CASTS(TranslateTransformOperation, isTranslateTransformOpe ration());
93
93 } // namespace blink 94 } // namespace blink
94 95
95 #endif // TranslateTransformOperation_h 96 #endif // TranslateTransformOperation_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698