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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h

Issue 2385123003: Rewrap comments to 80 columns in Source/platform/graphics/paint/. (Closed)
Patch Set: Resync Created 4 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 DisplayItem_h 5 #ifndef DisplayItem_h
6 #define DisplayItem_h 6 #define DisplayItem_h
7 7
8 #include "platform/PlatformExport.h" 8 #include "platform/PlatformExport.h"
9 #include "platform/graphics/ContiguousContainer.h" 9 #include "platform/graphics/ContiguousContainer.h"
10 #include "platform/graphics/paint/DisplayItemClient.h" 10 #include "platform/graphics/paint/DisplayItemClient.h"
(...skipping 20 matching lines...) Expand all
31 public: 31 public:
32 enum { 32 enum {
33 // Must be kept in sync with core/paint/PaintPhase.h. 33 // Must be kept in sync with core/paint/PaintPhase.h.
34 kPaintPhaseMax = 11, 34 kPaintPhaseMax = 11,
35 }; 35 };
36 36
37 // A display item type uniquely identifies a display item of a client. 37 // A display item type uniquely identifies a display item of a client.
38 // Some display item types can be categorized using the following directives: 38 // Some display item types can be categorized using the following directives:
39 // - In enum Type: 39 // - In enum Type:
40 // - enum value <Category>First; 40 // - enum value <Category>First;
41 // - enum values of the category, first of which should equal <Category>Firs t; 41 // - enum values of the category, first of which should equal
42 // (for ease of maintenance, the values should be in alphabetic order) 42 // <Category>First (for ease of maintenance, the values should be in
43 // - enum value <Category>Last which should be equal to the last of the enum values of the category 43 // alphabetic order);
44 // - DEFINE_CATEGORY_METHODS(<Category>) to define is<Category>Type(Type) and is<Category>() methods. 44 // - enum value <Category>Last which should be equal to the last of the enum
45 // values of the category
46 // - DEFINE_CATEGORY_METHODS(<Category>) to define is<Category>Type(Type) and
47 // is<Category>() methods.
45 // 48 //
46 // A category or subset of a category can contain types each of which correspo nds to a PaintPhase: 49 // A category or subset of a category can contain types each of which
50 // corresponds to a PaintPhase:
47 // - In enum Type: 51 // - In enum Type:
48 // - enum value <Category>[<Subset>]PaintPhaseFirst; 52 // - enum value <Category>[<Subset>]PaintPhaseFirst;
49 // - enum value <Category>[<Subset>]PaintPhaseLast = <Category>[<Subset>]Pai ntPhaseFirst + PaintPhaseMax; 53 // - enum value <Category>[<Subset>]PaintPhaseLast =
54 // <Category>[<Subset>]PaintPhaseFirst + PaintPhaseMax;
50 // - DEFINE_PAINT_PHASE_CONVERSION_METHOD(<Category>[<Subset>]) to define 55 // - DEFINE_PAINT_PHASE_CONVERSION_METHOD(<Category>[<Subset>]) to define
51 // paintPhaseTo<Category>[<Subset>]Type(PaintPhase) method. 56 // paintPhaseTo<Category>[<Subset>]Type(PaintPhase) method.
52 // 57 //
53 // A category can be derived from another category, containing types each of w hich corresponds to a 58 // A category can be derived from another category, containing types each of
54 // value of the latter category: 59 // which corresponds to a value of the latter category:
55 // - In enum Type: 60 // - In enum Type:
56 // - enum value <Category>First; 61 // - enum value <Category>First;
57 // - enum value <Category>Last = <Category>First + <BaseCategory>Last - <Bas eCategory>First; 62 // - enum value <Category>Last =
58 // - DEFINE_CONVERSION_METHODS(<Category>, <category>, <BaseCategory>, <baseCa tegory>) to define methods to 63 // <Category>First + <BaseCategory>Last - <BaseCategory>First;
59 // convert types between the categories; 64 // - DEFINE_CONVERSION_METHODS(<Category>,
65 // <category>,
66 // <BaseCategory>,
67 // <baseCategory>)
68 // to define methods to convert types between the categories.
60 enum Type { 69 enum Type {
61 kDrawingFirst, 70 kDrawingFirst,
62 kDrawingPaintPhaseFirst = kDrawingFirst, 71 kDrawingPaintPhaseFirst = kDrawingFirst,
63 kDrawingPaintPhaseLast = kDrawingFirst + kPaintPhaseMax, 72 kDrawingPaintPhaseLast = kDrawingFirst + kPaintPhaseMax,
64 kBoxDecorationBackground, 73 kBoxDecorationBackground,
65 kCaret, 74 kCaret,
66 kColumnRules, 75 kColumnRules,
67 kDebugDrawing, 76 kDebugDrawing,
68 kDocumentBackground, 77 kDocumentBackground,
69 kDragImage, 78 kDragImage,
(...skipping 24 matching lines...) Expand all
94 kScrollbarForwardTrack, 103 kScrollbarForwardTrack,
95 kScrollbarThumb, 104 kScrollbarThumb,
96 kScrollbarTickmarks, 105 kScrollbarTickmarks,
97 kScrollbarTrackBackground, 106 kScrollbarTrackBackground,
98 kScrollbarCompositedScrollbar, 107 kScrollbarCompositedScrollbar,
99 kSelectionTint, 108 kSelectionTint,
100 kTableCellBackgroundFromColumnGroup, 109 kTableCellBackgroundFromColumnGroup,
101 kTableCellBackgroundFromColumn, 110 kTableCellBackgroundFromColumn,
102 kTableCellBackgroundFromSection, 111 kTableCellBackgroundFromSection,
103 kTableCellBackgroundFromRow, 112 kTableCellBackgroundFromRow,
104 // Table collapsed borders can be painted together (e.g., left & top) but th ere are at most 4 phases of collapsed 113 // Table collapsed borders can be painted together (e.g., left & top) but
105 // border painting for a single cell. To disambiguate these phases of collap sed border painting, a mask is used. 114 // there are at most 4 phases of collapsed border painting for a single
106 // TableCollapsedBorderBase can be larger than TableCollapsedBorderUnaligned Base to ensure the base lower bits are 0's. 115 // cell. To disambiguate these phases of collapsed border painting, a mask
116 // is used. TableCollapsedBorderBase can be larger than
117 // TableCollapsedBorderUnalignedBase to ensure the base lower bits are 0's.
107 kTableCollapsedBorderUnalignedBase, 118 kTableCollapsedBorderUnalignedBase,
108 kTableCollapsedBorderBase = 119 kTableCollapsedBorderBase =
109 (((kTableCollapsedBorderUnalignedBase - 1) >> 4) + 1) << 4, 120 (((kTableCollapsedBorderUnalignedBase - 1) >> 4) + 1) << 4,
110 kTableCollapsedBorderLast = kTableCollapsedBorderBase + 0x0f, 121 kTableCollapsedBorderLast = kTableCollapsedBorderBase + 0x0f,
111 kTableSectionBoxShadowInset, 122 kTableSectionBoxShadowInset,
112 kTableSectionBoxShadowNormal, 123 kTableSectionBoxShadowNormal,
113 kTableRowBoxShadowInset, 124 kTableRowBoxShadowInset,
114 kTableRowBoxShadowNormal, 125 kTableRowBoxShadowNormal,
115 kVideoBitmap, 126 kVideoBitmap,
116 kWebPlugin, 127 kWebPlugin,
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 kEndSubsequence, 199 kEndSubsequence,
189 200
190 kUninitializedType, 201 kUninitializedType,
191 kTypeLast = kUninitializedType 202 kTypeLast = kUninitializedType
192 }; 203 };
193 204
194 static_assert(kTableCollapsedBorderBase >= kTableCollapsedBorderUnalignedBase, 205 static_assert(kTableCollapsedBorderBase >= kTableCollapsedBorderUnalignedBase,
195 "TableCollapsedBorder types overlap with other types"); 206 "TableCollapsedBorder types overlap with other types");
196 static_assert((kTableCollapsedBorderBase & 0xf) == 0, 207 static_assert((kTableCollapsedBorderBase & 0xf) == 0,
197 "The lowest 4 bits of TableCollapsedBorderBase should be zero"); 208 "The lowest 4 bits of TableCollapsedBorderBase should be zero");
198 // Bits or'ed onto TableCollapsedBorderBase to generate a real table collapsed border type. 209 // Bits or'ed onto TableCollapsedBorderBase to generate a real table collapsed
210 // border type.
199 enum TableCollapsedBorderSides { 211 enum TableCollapsedBorderSides {
200 TableCollapsedBorderTop = 1 << 0, 212 TableCollapsedBorderTop = 1 << 0,
201 TableCollapsedBorderRight = 1 << 1, 213 TableCollapsedBorderRight = 1 << 1,
202 TableCollapsedBorderBottom = 1 << 2, 214 TableCollapsedBorderBottom = 1 << 2,
203 TableCollapsedBorderLeft = 1 << 3, 215 TableCollapsedBorderLeft = 1 << 3,
204 }; 216 };
205 217
206 DisplayItem(const DisplayItemClient& client, Type type, size_t derivedSize) 218 DisplayItem(const DisplayItemClient& client, Type type, size_t derivedSize)
207 : m_client(&client), 219 : m_client(&client),
208 m_type(type), 220 m_type(type),
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 return *m_client; 252 return *m_client;
241 } 253 }
242 Type getType() const { return m_type; } 254 Type getType() const { return m_type; }
243 255
244 // Size of this object in memory, used to move it with memcpy. 256 // Size of this object in memory, used to move it with memcpy.
245 // This is not sizeof(*this), because it needs to account for the size of 257 // This is not sizeof(*this), because it needs to account for the size of
246 // the derived class (i.e. runtime type). Derived classes are expected to 258 // the derived class (i.e. runtime type). Derived classes are expected to
247 // supply this to the DisplayItem constructor. 259 // supply this to the DisplayItem constructor.
248 size_t derivedSize() const { return m_derivedSize; } 260 size_t derivedSize() const { return m_derivedSize; }
249 261
250 // For PaintController only. Painters should use DisplayItemCacheSkipper inste ad. 262 // For PaintController only. Painters should use DisplayItemCacheSkipper
263 // instead.
251 void setSkippedCache() { m_skippedCache = true; } 264 void setSkippedCache() { m_skippedCache = true; }
252 bool skippedCache() const { return m_skippedCache; } 265 bool skippedCache() const { return m_skippedCache; }
253 266
254 // TODO(wkorman): Only DrawingDisplayItem needs the visual rect argument. 267 // TODO(wkorman): Only DrawingDisplayItem needs the visual rect argument.
255 // Consider refactoring class hierarchy to make this more explicit. 268 // Consider refactoring class hierarchy to make this more explicit.
256 virtual void appendToWebDisplayItemList(const IntRect&, 269 virtual void appendToWebDisplayItemList(const IntRect&,
257 WebDisplayItemList*) const {} 270 WebDisplayItemList*) const {}
258 271
259 // See comments of enum Type for usage of the following macros. 272 // See comments of enum Type for usage of the following macros.
260 #define DEFINE_CATEGORY_METHODS(Category) \ 273 #define DEFINE_CATEGORY_METHODS(Category) \
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 bool isEndAndPairedWith(DisplayItem::Type otherType) const override = 0; 422 bool isEndAndPairedWith(DisplayItem::Type otherType) const override = 0;
410 #endif 423 #endif
411 424
412 private: 425 private:
413 bool isEnd() const final { return true; } 426 bool isEnd() const final { return true; }
414 }; 427 };
415 428
416 } // namespace blink 429 } // namespace blink
417 430
418 #endif // DisplayItem_h 431 #endif // DisplayItem_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698