| 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 |