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

Side by Side Diff: Source/core/paint/PaintPhase.h

Issue 1315213002: (WIP) Paint invalidation for slimming paint v2 (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 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
« no previous file with comments | « Source/core/paint/BlockPainter.cpp ('k') | Source/core/paint/ViewPainter.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 20 matching lines...) Expand all
31 /* 31 /*
32 * The painting of a layer occurs in three distinct phases. Each phase involve s 32 * The painting of a layer occurs in three distinct phases. Each phase involve s
33 * a recursive descent into the layer's layout objects. The first phase is the background phase. 33 * a recursive descent into the layer's layout objects. The first phase is the background phase.
34 * The backgrounds and borders of all blocks are painted. Inlines are not pain ted at all. 34 * The backgrounds and borders of all blocks are painted. Inlines are not pain ted at all.
35 * Floats must paint above block backgrounds but entirely below inline content that can overlap them. 35 * Floats must paint above block backgrounds but entirely below inline content that can overlap them.
36 * In the foreground phase, all inlines are fully painted. Inline replaced ele ments will get all 36 * In the foreground phase, all inlines are fully painted. Inline replaced ele ments will get all
37 * three phases invoked on them during this phase. 37 * three phases invoked on them during this phase.
38 */ 38 */
39 39
40 enum PaintPhase { 40 enum PaintPhase {
41 PaintPhaseInvalidation = -1,
41 PaintPhaseBlockBackground = 0, 42 PaintPhaseBlockBackground = 0,
42 PaintPhaseChildBlockBackground = 1, 43 PaintPhaseChildBlockBackground = 1,
43 PaintPhaseChildBlockBackgrounds = 2, 44 PaintPhaseChildBlockBackgrounds = 2,
44 PaintPhaseFloat = 3, 45 PaintPhaseFloat = 3,
45 PaintPhaseForeground = 4, 46 PaintPhaseForeground = 4,
46 PaintPhaseOutline = 5, 47 PaintPhaseOutline = 5,
47 PaintPhaseChildOutlines = 6, 48 PaintPhaseChildOutlines = 6,
48 PaintPhaseSelfOutline = 7, 49 PaintPhaseSelfOutline = 7,
49 PaintPhaseSelection = 8, 50 PaintPhaseSelection = 8,
50 PaintPhaseCollapsedTableBorders = 9, 51 PaintPhaseCollapsedTableBorders = 9,
51 PaintPhaseTextClip = 10, 52 PaintPhaseTextClip = 10,
52 PaintPhaseMask = 11, 53 PaintPhaseMask = 11,
53 PaintPhaseClippingMask = 12, 54 PaintPhaseClippingMask = 12,
54 PaintPhaseMax = PaintPhaseClippingMask, 55 PaintPhaseMax = PaintPhaseClippingMask,
55 // These values must be kept in sync with DisplayItem::Type and DisplayItem: :typeAsDebugString(). 56 // These values except PaintPhaseInvalidation must be kept in sync with
57 // DisplayItem::Type and DisplayItem::typeAsDebugString().
56 }; 58 };
57 59
58 // Those flags are meant as global tree operations. This means 60 // Those flags are meant as global tree operations. This means
59 // that they should be constant for a paint phase. 61 // that they should be constant for a paint phase.
60 enum GlobalPaintFlag { 62 enum GlobalPaintFlag {
61 GlobalPaintNormalPhase = 0, 63 GlobalPaintNormalPhase = 0,
62 // Used when painting selection as part of a drag-image. This 64 // Used when painting selection as part of a drag-image. This
63 // flag disables a lot of the painting code and specifically 65 // flag disables a lot of the painting code and specifically
64 // triggers a PaintPhaseSelection. 66 // triggers a PaintPhaseSelection.
65 GlobalPaintSelectionOnly = 1 << 0, 67 GlobalPaintSelectionOnly = 1 << 0,
66 // Used when painting a drag-image or printing in order to 68 // Used when painting a drag-image or printing in order to
67 // ignore the hardware layers and paint the whole tree 69 // ignore the hardware layers and paint the whole tree
68 // into the topmost layer. 70 // into the topmost layer.
69 GlobalPaintFlattenCompositingLayers = 1 << 1, 71 GlobalPaintFlattenCompositingLayers = 1 << 1,
70 // Used when printing in order to adapt the output to the medium, for 72 // Used when printing in order to adapt the output to the medium, for
71 // instance by not painting shadows and selections on text, and add 73 // instance by not painting shadows and selections on text, and add
72 // URL metadata for links. 74 // URL metadata for links.
73 GlobalPaintPrinting = 1 << 2 75 GlobalPaintPrinting = 1 << 2
74 }; 76 };
75 77
76 typedef unsigned GlobalPaintFlags; 78 typedef unsigned GlobalPaintFlags;
77 79
78 } // namespace blink 80 } // namespace blink
79 81
80 #endif // PaintPhase_h 82 #endif // PaintPhase_h
OLDNEW
« no previous file with comments | « Source/core/paint/BlockPainter.cpp ('k') | Source/core/paint/ViewPainter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698