OLD | NEW |
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 Loading... |
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 |
OLD | NEW |