| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CCDrawQuad_h | 5 #ifndef CCDrawQuad_h |
| 6 #define CCDrawQuad_h | 6 #define CCDrawQuad_h |
| 7 | 7 |
| 8 #include "CCSharedQuadState.h" | 8 #include "CCSharedQuadState.h" |
| 9 | 9 |
| 10 namespace cc { | 10 namespace cc { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 DebugBorder, | 31 DebugBorder, |
| 32 IOSurfaceContent, | 32 IOSurfaceContent, |
| 33 RenderPass, | 33 RenderPass, |
| 34 TextureContent, | 34 TextureContent, |
| 35 SolidColor, | 35 SolidColor, |
| 36 TiledContent, | 36 TiledContent, |
| 37 YUVVideoContent, | 37 YUVVideoContent, |
| 38 StreamVideoContent, | 38 StreamVideoContent, |
| 39 }; | 39 }; |
| 40 | 40 |
| 41 IntRect quadRect() const { return m_quadRect; } | 41 WebKit::WebRect quadRect() const { return m_quadRect; } |
| 42 const WebKit::WebTransformationMatrix& quadTransform() const { return m_shar
edQuadState->quadTransform; } | 42 const WebKit::WebTransformationMatrix& quadTransform() const { return m_shar
edQuadState->quadTransform; } |
| 43 IntRect visibleContentRect() const { return m_sharedQuadState->visibleConten
tRect; } | 43 WebKit::WebRect visibleContentRect() const { return m_sharedQuadState->visib
leContentRect; } |
| 44 IntRect clippedRectInTarget() const { return m_sharedQuadState->clippedRectI
nTarget; } | 44 WebKit::WebRect clippedRectInTarget() const { return m_sharedQuadState->clip
pedRectInTarget; } |
| 45 float opacity() const { return m_sharedQuadState->opacity; } | 45 float opacity() const { return m_sharedQuadState->opacity; } |
| 46 // For the purposes of blending, what part of the contents of this quad are
opaque? | 46 // For the purposes of blending, what part of the contents of this quad are
opaque? |
| 47 IntRect opaqueRect() const; | 47 WebKit::WebRect opaqueRect() const; |
| 48 bool needsBlending() const { return m_needsBlending || !opaqueRect().contain
s(m_quadVisibleRect); } | 48 bool needsBlending() const; |
| 49 | 49 |
| 50 // Allows changing the rect that gets drawn to make it smaller. Parameter pa
ssed | 50 // Allows changing the rect that gets drawn to make it smaller. Parameter pa
ssed |
| 51 // in will be clipped to quadRect(). | 51 // in will be clipped to quadRect(). |
| 52 void setQuadVisibleRect(const IntRect&); | 52 void setQuadVisibleRect(const WebKit::WebRect&); |
| 53 IntRect quadVisibleRect() const { return m_quadVisibleRect; } | 53 WebKit::WebRect quadVisibleRect() const { return m_quadVisibleRect; } |
| 54 bool isDebugQuad() const { return m_material == DebugBorder; } | 54 bool isDebugQuad() const { return m_material == DebugBorder; } |
| 55 | 55 |
| 56 Material material() const { return m_material; } | 56 Material material() const { return m_material; } |
| 57 | 57 |
| 58 // Returns transfer size of this object based on the derived class (by | 58 // Returns transfer size of this object based on the derived class (by |
| 59 // looking at the material type). | 59 // looking at the material type). |
| 60 unsigned size() const; | 60 unsigned size() const; |
| 61 | 61 |
| 62 scoped_ptr<CCDrawQuad> copy(const CCSharedQuadState* copiedSharedQuadState)
const; | 62 scoped_ptr<CCDrawQuad> copy(const CCSharedQuadState* copiedSharedQuadState)
const; |
| 63 | 63 |
| 64 const CCSharedQuadState* sharedQuadState() const { return m_sharedQuadState;
} | 64 const CCSharedQuadState* sharedQuadState() const { return m_sharedQuadState;
} |
| 65 int sharedQuadStateId() const { return m_sharedQuadStateId; } | 65 int sharedQuadStateId() const { return m_sharedQuadStateId; } |
| 66 void setSharedQuadState(const CCSharedQuadState*); | 66 void setSharedQuadState(const CCSharedQuadState*); |
| 67 | 67 |
| 68 protected: | 68 protected: |
| 69 CCDrawQuad(const CCSharedQuadState*, Material, const IntRect&); | 69 CCDrawQuad(const CCSharedQuadState*, Material, const WebKit::WebRect&); |
| 70 | 70 |
| 71 // Stores state common to a large bundle of quads; kept separate for memory | 71 // Stores state common to a large bundle of quads; kept separate for memory |
| 72 // efficiency. There is special treatment to reconstruct these pointers | 72 // efficiency. There is special treatment to reconstruct these pointers |
| 73 // during serialization. | 73 // during serialization. |
| 74 const CCSharedQuadState* m_sharedQuadState; | 74 const CCSharedQuadState* m_sharedQuadState; |
| 75 int m_sharedQuadStateId; | 75 int m_sharedQuadStateId; |
| 76 | 76 |
| 77 Material m_material; | 77 Material m_material; |
| 78 IntRect m_quadRect; | 78 WebKit::WebRect m_quadRect; |
| 79 IntRect m_quadVisibleRect; | 79 WebKit::WebRect m_quadVisibleRect; |
| 80 | 80 |
| 81 // By default, the shared quad state determines whether or not this quad is | 81 // By default, the shared quad state determines whether or not this quad is |
| 82 // opaque or needs blending. Derived classes can override with these | 82 // opaque or needs blending. Derived classes can override with these |
| 83 // variables. | 83 // variables. |
| 84 bool m_quadOpaque; | 84 bool m_quadOpaque; |
| 85 bool m_needsBlending; | 85 bool m_needsBlending; |
| 86 | 86 |
| 87 // Be default, this rect is empty. It is used when the shared quad state and
above | 87 // Be default, this rect is empty. It is used when the shared quad state and
above |
| 88 // variables determine that the quad is not fully opaque but may be partiall
y opaque. | 88 // variables determine that the quad is not fully opaque but may be partiall
y opaque. |
| 89 IntRect m_opaqueRect; | 89 WebKit::WebRect m_opaqueRect; |
| 90 }; | 90 }; |
| 91 | 91 |
| 92 #pragma pack(pop) | 92 #pragma pack(pop) |
| 93 | 93 |
| 94 } | 94 } |
| 95 | 95 |
| 96 #endif | 96 #endif |
| OLD | NEW |