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

Side by Side Diff: cc/CCDrawQuad.h

Issue 10989028: cc: Remove WebCore dependecies from CCRenderPass and CCDrawQuad classes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 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 | Annotate | Revision Log
OLDNEW
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
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
OLDNEW
« no previous file with comments | « cc/CCDirectRenderer.cpp ('k') | cc/CCDrawQuad.cpp » ('j') | cc/scoped_ptr_hash_map.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698