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 #include "config.h" | 5 #include "config.h" |
6 #include "CCDrawQuad.h" | 6 #include "CCDrawQuad.h" |
7 | 7 |
8 #include "CCCheckerboardDrawQuad.h" | 8 #include "CCCheckerboardDrawQuad.h" |
9 #include "CCDebugBorderDrawQuad.h" | 9 #include "CCDebugBorderDrawQuad.h" |
10 #include "CCIOSurfaceDrawQuad.h" | 10 #include "CCIOSurfaceDrawQuad.h" |
11 #include "CCRenderPassDrawQuad.h" | 11 #include "CCRenderPassDrawQuad.h" |
12 #include "CCSolidColorDrawQuad.h" | 12 #include "CCSolidColorDrawQuad.h" |
13 #include "CCStreamVideoDrawQuad.h" | 13 #include "CCStreamVideoDrawQuad.h" |
14 #include "CCTextureDrawQuad.h" | 14 #include "CCTextureDrawQuad.h" |
15 #include "CCTileDrawQuad.h" | 15 #include "CCTileDrawQuad.h" |
16 #include "CCYUVVideoDrawQuad.h" | 16 #include "CCYUVVideoDrawQuad.h" |
17 #include "IntRect.h" | 17 #include "IntRect.h" |
18 | 18 |
19 namespace cc { | 19 namespace cc { |
20 | 20 |
21 CCDrawQuad::CCDrawQuad(const CCSharedQuadState* sharedQuadState, Material materi
al, const IntRect& quadRect) | 21 DrawQuad::DrawQuad(const SharedQuadState* sharedQuadState, Material material, co
nst IntRect& quadRect) |
22 : m_sharedQuadState(sharedQuadState) | 22 : m_sharedQuadState(sharedQuadState) |
23 , m_sharedQuadStateId(sharedQuadState->id) | 23 , m_sharedQuadStateId(sharedQuadState->id) |
24 , m_material(material) | 24 , m_material(material) |
25 , m_quadRect(quadRect) | 25 , m_quadRect(quadRect) |
26 , m_quadVisibleRect(quadRect) | 26 , m_quadVisibleRect(quadRect) |
27 , m_quadOpaque(true) | 27 , m_quadOpaque(true) |
28 , m_needsBlending(false) | 28 , m_needsBlending(false) |
29 { | 29 { |
30 ASSERT(m_sharedQuadState); | 30 ASSERT(m_sharedQuadState); |
31 ASSERT(m_material != Invalid); | 31 ASSERT(m_material != Invalid); |
32 } | 32 } |
33 | 33 |
34 IntRect CCDrawQuad::opaqueRect() const | 34 IntRect DrawQuad::opaqueRect() const |
35 { | 35 { |
36 if (opacity() != 1) | 36 if (opacity() != 1) |
37 return IntRect(); | 37 return IntRect(); |
38 if (m_sharedQuadState->opaque && m_quadOpaque) | 38 if (m_sharedQuadState->opaque && m_quadOpaque) |
39 return m_quadRect; | 39 return m_quadRect; |
40 return m_opaqueRect; | 40 return m_opaqueRect; |
41 } | 41 } |
42 | 42 |
43 void CCDrawQuad::setQuadVisibleRect(const IntRect& quadVisibleRect) | 43 void DrawQuad::setQuadVisibleRect(const IntRect& quadVisibleRect) |
44 { | 44 { |
45 IntRect intersection = quadVisibleRect; | 45 IntRect intersection = quadVisibleRect; |
46 intersection.intersect(m_quadRect); | 46 intersection.intersect(m_quadRect); |
47 m_quadVisibleRect = intersection; | 47 m_quadVisibleRect = intersection; |
48 } | 48 } |
49 | 49 |
50 unsigned CCDrawQuad::size() const | 50 unsigned DrawQuad::size() const |
51 { | 51 { |
52 switch (material()) { | 52 switch (material()) { |
53 case Checkerboard: | 53 case Checkerboard: |
54 return sizeof(CCCheckerboardDrawQuad); | 54 return sizeof(CheckerboardDrawQuad); |
55 case DebugBorder: | 55 case DebugBorder: |
56 return sizeof(CCDebugBorderDrawQuad); | 56 return sizeof(DebugBorderDrawQuad); |
57 case IOSurfaceContent: | 57 case IOSurfaceContent: |
58 return sizeof(CCIOSurfaceDrawQuad); | 58 return sizeof(IOSurfaceDrawQuad); |
59 case TextureContent: | 59 case TextureContent: |
60 return sizeof(CCTextureDrawQuad); | 60 return sizeof(TextureDrawQuad); |
61 case SolidColor: | 61 case SolidColor: |
62 return sizeof(CCSolidColorDrawQuad); | 62 return sizeof(SolidColorDrawQuad); |
63 case TiledContent: | 63 case TiledContent: |
64 return sizeof(CCTileDrawQuad); | 64 return sizeof(TileDrawQuad); |
65 case StreamVideoContent: | 65 case StreamVideoContent: |
66 return sizeof(CCStreamVideoDrawQuad); | 66 return sizeof(StreamVideoDrawQuad); |
67 case RenderPass: | 67 case RenderPass: |
68 return sizeof(CCRenderPassDrawQuad); | 68 return sizeof(RenderPassDrawQuad); |
69 case YUVVideoContent: | 69 case YUVVideoContent: |
70 return sizeof(CCYUVVideoDrawQuad); | 70 return sizeof(YUVVideoDrawQuad); |
71 case Invalid: | 71 case Invalid: |
72 break; | 72 break; |
73 } | 73 } |
74 | 74 |
75 CRASH(); | 75 CRASH(); |
76 return sizeof(CCDrawQuad); | 76 return sizeof(DrawQuad); |
77 } | 77 } |
78 | 78 |
79 scoped_ptr<CCDrawQuad> CCDrawQuad::copy(const CCSharedQuadState* copiedSharedQua
dState) const | 79 scoped_ptr<DrawQuad> DrawQuad::copy(const SharedQuadState* copiedSharedQuadState
) const |
80 { | 80 { |
81 // RenderPass quads have their own copy() method. | 81 // RenderPass quads have their own copy() method. |
82 ASSERT(material() != RenderPass); | 82 ASSERT(material() != RenderPass); |
83 | 83 |
84 unsigned bytes = size(); | 84 unsigned bytes = size(); |
85 ASSERT(bytes); | 85 ASSERT(bytes); |
86 | 86 |
87 scoped_ptr<CCDrawQuad> copyQuad(reinterpret_cast<CCDrawQuad*>(new char[bytes
])); | 87 scoped_ptr<DrawQuad> copyQuad(reinterpret_cast<DrawQuad*>(new char[bytes])); |
88 memcpy(copyQuad.get(), this, bytes); | 88 memcpy(copyQuad.get(), this, bytes); |
89 copyQuad->setSharedQuadState(copiedSharedQuadState); | 89 copyQuad->setSharedQuadState(copiedSharedQuadState); |
90 | 90 |
91 return copyQuad.Pass(); | 91 return copyQuad.Pass(); |
92 } | 92 } |
93 | 93 |
94 void CCDrawQuad::setSharedQuadState(const CCSharedQuadState* sharedQuadState) | 94 void DrawQuad::setSharedQuadState(const SharedQuadState* sharedQuadState) |
95 { | 95 { |
96 m_sharedQuadState = sharedQuadState; | 96 m_sharedQuadState = sharedQuadState; |
97 m_sharedQuadStateId = sharedQuadState->id; | 97 m_sharedQuadStateId = sharedQuadState->id; |
98 } | 98 } |
99 | 99 |
100 } | 100 } |
OLD | NEW |