| 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 IPC { | 
 |   11 template <class P> struct ParamTraits; | 
 |   12 }; | 
 |   13  | 
|   10 namespace cc { |   14 namespace cc { | 
|   11  |   15  | 
|   12 // WARNING! All CCXYZDrawQuad classes must remain PODs (plain old data). |   16 // WARNING! All CCXYZDrawQuad classes must remain PODs (plain old data). | 
|   13 // They are intended to be "serializable" by copying their raw bytes, so they |   17 // They are intended to be "serializable" by copying their raw bytes, so they | 
|   14 // must not contain any non-bit-copyable member variables! |   18 // must not contain any non-bit-copyable member variables! | 
|   15 // |   19 // | 
|   16 // Furthermore, the class members need to be packed so they are aligned |   20 // Furthermore, the class members need to be packed so they are aligned | 
|   17 // properly and don't have paddings/gaps, otherwise memory check tools |   21 // properly and don't have paddings/gaps, otherwise memory check tools | 
|   18 // like Valgrind will complain about uninitialized memory usage when |   22 // like Valgrind will complain about uninitialized memory usage when | 
|   19 // transferring these classes over the wire. |   23 // transferring these classes over the wire. | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   59     // looking at the material type). |   63     // looking at the material type). | 
|   60     unsigned size() const; |   64     unsigned size() const; | 
|   61  |   65  | 
|   62     scoped_ptr<CCDrawQuad> copy(const CCSharedQuadState* copiedSharedQuadState) 
     const; |   66     scoped_ptr<CCDrawQuad> copy(const CCSharedQuadState* copiedSharedQuadState) 
     const; | 
|   63  |   67  | 
|   64     const CCSharedQuadState* sharedQuadState() const { return m_sharedQuadState;
      } |   68     const CCSharedQuadState* sharedQuadState() const { return m_sharedQuadState;
      } | 
|   65     int sharedQuadStateId() const { return m_sharedQuadStateId; } |   69     int sharedQuadStateId() const { return m_sharedQuadStateId; } | 
|   66     void setSharedQuadState(const CCSharedQuadState*); |   70     void setSharedQuadState(const CCSharedQuadState*); | 
|   67  |   71  | 
|   68 protected: |   72 protected: | 
 |   73     friend struct IPC::ParamTraits<CCDrawQuad>; | 
|   69     CCDrawQuad(const CCSharedQuadState*, Material, const IntRect&); |   74     CCDrawQuad(const CCSharedQuadState*, Material, const IntRect&); | 
|   70  |   75  | 
|   71     // Stores state common to a large bundle of quads; kept separate for memory |   76     // Stores state common to a large bundle of quads; kept separate for memory | 
|   72     // efficiency. There is special treatment to reconstruct these pointers |   77     // efficiency. There is special treatment to reconstruct these pointers | 
|   73     // during serialization. |   78     // during serialization. | 
|   74     const CCSharedQuadState* m_sharedQuadState; |   79     const CCSharedQuadState* m_sharedQuadState; | 
|   75     int m_sharedQuadStateId; |   80     int m_sharedQuadStateId; | 
|   76  |   81  | 
|   77     Material m_material; |   82     Material m_material; | 
|   78     IntRect m_quadRect; |   83     IntRect m_quadRect; | 
|   79     IntRect m_quadVisibleRect; |   84     IntRect m_quadVisibleRect; | 
|   80  |   85  | 
|   81     // By default, the shared quad state determines whether or not this quad is |   86     // By default, the shared quad state determines whether or not this quad is | 
|   82     // opaque or needs blending. Derived classes can override with these |   87     // opaque or needs blending. Derived classes can override with these | 
|   83     // variables. |   88     // variables. | 
|   84     bool m_quadOpaque; |   89     bool m_quadOpaque; | 
|   85     bool m_needsBlending; |   90     bool m_needsBlending; | 
|   86  |   91  | 
|   87     // Be default, this rect is empty. It is used when the shared quad state and
      above |   92     // 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. |   93     // variables determine that the quad is not fully opaque but may be partiall
     y opaque. | 
|   89     IntRect m_opaqueRect; |   94     IntRect m_opaqueRect; | 
|   90 }; |   95 }; | 
|   91  |   96  | 
|   92 #pragma pack(pop) |   97 #pragma pack(pop) | 
|   93  |   98  | 
|   94 } |   99 } | 
|   95  |  100  | 
|   96 #endif |  101 #endif | 
| OLD | NEW |