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

Side by Side Diff: cc/draw_quad.h

Issue 11189043: cc: Rename cc classes and members to match filenames (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 {
11 11
12 // WARNING! All CCXYZDrawQuad classes must remain PODs (plain old data). 12 // WARNING! All XYZDrawQuad classes must remain PODs (plain old data).
13 // They are intended to be "serializable" by copying their raw bytes, so they 13 // They are intended to be "serializable" by copying their raw bytes, so they
14 // must not contain any non-bit-copyable member variables! 14 // must not contain any non-bit-copyable member variables!
15 // 15 //
16 // Furthermore, the class members need to be packed so they are aligned 16 // Furthermore, the class members need to be packed so they are aligned
17 // properly and don't have paddings/gaps, otherwise memory check tools 17 // properly and don't have paddings/gaps, otherwise memory check tools
18 // like Valgrind will complain about uninitialized memory usage when 18 // like Valgrind will complain about uninitialized memory usage when
19 // transferring these classes over the wire. 19 // transferring these classes over the wire.
20 #pragma pack(push, 4) 20 #pragma pack(push, 4)
21 21
22 // CCDrawQuad is a bag of data used for drawing a quad. Because different 22 // DrawQuad is a bag of data used for drawing a quad. Because different
23 // materials need different bits of per-quad data to render, classes that derive 23 // materials need different bits of per-quad data to render, classes that derive
24 // from CCDrawQuad store additional data in their derived instance. The Material 24 // from DrawQuad store additional data in their derived instance. The Material
25 // enum is used to "safely" downcast to the derived class. 25 // enum is used to "safely" downcast to the derived class.
26 class CCDrawQuad { 26 class DrawQuad {
27 public: 27 public:
28 enum Material { 28 enum Material {
29 Invalid, 29 Invalid,
30 Checkerboard, 30 Checkerboard,
31 DebugBorder, 31 DebugBorder,
32 IOSurfaceContent, 32 IOSurfaceContent,
33 RenderPass, 33 RenderPass,
34 TextureContent, 34 TextureContent,
35 SolidColor, 35 SolidColor,
36 TiledContent, 36 TiledContent,
(...skipping 15 matching lines...) Expand all
52 void setQuadVisibleRect(const IntRect&); 52 void setQuadVisibleRect(const IntRect&);
53 IntRect quadVisibleRect() const { return m_quadVisibleRect; } 53 IntRect 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<DrawQuad> copy(const SharedQuadState* copiedSharedQuadState) cons t;
63 63
64 const CCSharedQuadState* sharedQuadState() const { return m_sharedQuadState; } 64 const SharedQuadState* 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 SharedQuadState*);
67 67
68 protected: 68 protected:
69 CCDrawQuad(const CCSharedQuadState*, Material, const IntRect&); 69 DrawQuad(const SharedQuadState*, Material, const IntRect&);
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 SharedQuadState* 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 IntRect m_quadRect;
79 IntRect m_quadVisibleRect; 79 IntRect 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 IntRect 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
« cc/active_animation.h ('K') | « cc/direct_renderer.cc ('k') | cc/draw_quad.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698