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, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r
ights 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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 }; | 110 }; |
111 | 111 |
112 enum MapCoordinatesMode { | 112 enum MapCoordinatesMode { |
113 IsFixed = 1 << 0, | 113 IsFixed = 1 << 0, |
114 UseTransforms = 1 << 1, | 114 UseTransforms = 1 << 1, |
115 ApplyContainerFlip = 1 << 2, | 115 ApplyContainerFlip = 1 << 2, |
116 TraverseDocumentBoundaries = 1 << 3, | 116 TraverseDocumentBoundaries = 1 << 3, |
117 }; | 117 }; |
118 typedef unsigned MapCoordinatesFlags; | 118 typedef unsigned MapCoordinatesFlags; |
119 | 119 |
| 120 enum InvalidationReason { |
| 121 InvalidationIncremental, |
| 122 InvalidationSelfLayout, |
| 123 InvalidationBorderFitLines, |
| 124 InvalidationBorderRadius, |
| 125 InvalidationBoundsChangeWithBackground, |
| 126 InvalidationBoundsChange, |
| 127 InvalidationScroll, |
| 128 InvalidationSelection, |
| 129 InvalidationLayer, |
| 130 InvalidationRepaint, |
| 131 InvalidationRepaintRectangle |
| 132 }; |
| 133 |
120 const int caretWidth = 1; | 134 const int caretWidth = 1; |
121 | 135 |
122 struct AnnotatedRegionValue { | 136 struct AnnotatedRegionValue { |
123 bool operator==(const AnnotatedRegionValue& o) const | 137 bool operator==(const AnnotatedRegionValue& o) const |
124 { | 138 { |
125 return draggable == o.draggable && bounds == o.bounds; | 139 return draggable == o.draggable && bounds == o.bounds; |
126 } | 140 } |
127 | 141 |
128 LayoutRect bounds; | 142 LayoutRect bounds; |
129 bool draggable; | 143 bool draggable; |
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
794 TextDecorationStyle style; | 808 TextDecorationStyle style; |
795 AppliedTextDecoration() : color(Color::transparent), style(TextDecoratio
nStyleSolid) { } | 809 AppliedTextDecoration() : color(Color::transparent), style(TextDecoratio
nStyleSolid) { } |
796 }; | 810 }; |
797 | 811 |
798 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli
ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu
irksMode = false, bool firstlineStyle = false); | 812 void getTextDecorations(unsigned decorations, AppliedTextDecoration& underli
ne, AppliedTextDecoration& overline, AppliedTextDecoration& linethrough, bool qu
irksMode = false, bool firstlineStyle = false); |
799 | 813 |
800 // Return the RenderLayerModelObject in the container chain which is respons
ible for painting this object, or 0 | 814 // Return the RenderLayerModelObject in the container chain which is respons
ible for painting this object, or 0 |
801 // if painting is root-relative. This is the container that should be passed
to the 'forRepaint' | 815 // if painting is root-relative. This is the container that should be passed
to the 'forRepaint' |
802 // methods. | 816 // methods. |
803 RenderLayerModelObject* containerForRepaint() const; | 817 RenderLayerModelObject* containerForRepaint() const; |
| 818 |
804 // Actually do the repaint of rect r for this object which has been computed
in the coordinate space | 819 // Actually do the repaint of rect r for this object which has been computed
in the coordinate space |
805 // of repaintContainer. If repaintContainer is 0, repaint via the view. | 820 // of repaintContainer. If repaintContainer is 0, repaint via the view. |
806 void repaintUsingContainer(const RenderLayerModelObject* repaintContainer, c
onst IntRect&) const; | 821 void repaintUsingContainer(const RenderLayerModelObject* repaintContainer, c
onst IntRect&, InvalidationReason) const; |
807 | 822 |
808 // Repaint the entire object. Called when, e.g., the color of a border chan
ges, or when a border | 823 // Repaint the entire object. Called when, e.g., the color of a border chan
ges, or when a border |
809 // style changes. | 824 // style changes. |
810 void repaint() const; | 825 void repaint() const; |
811 | 826 |
812 // Repaint a specific subrectangle within a given object. The rect |r| is i
n the object's coordinate space. | 827 // Repaint a specific subrectangle within a given object. The rect |r| is i
n the object's coordinate space. |
813 void repaintRectangle(const LayoutRect&) const; | 828 void repaintRectangle(const LayoutRect&) const; |
814 | 829 |
815 // Repaint only if our old bounds and new bounds are different. The caller m
ay pass in newBounds if they are known. | 830 // Repaint only if our old bounds and new bounds are different. The caller m
ay pass in newBounds if they are known. |
816 bool repaintAfterLayoutIfNeeded(const RenderLayerModelObject* repaintContain
er, bool wasSelfLayout, | 831 bool repaintAfterLayoutIfNeeded(const RenderLayerModelObject* repaintContain
er, bool wasSelfLayout, |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1061 RenderStyle* cachedFirstLineStyle() const; | 1076 RenderStyle* cachedFirstLineStyle() const; |
1062 StyleDifference adjustStyleDifference(StyleDifference, unsigned contextSensi
tiveProperties) const; | 1077 StyleDifference adjustStyleDifference(StyleDifference, unsigned contextSensi
tiveProperties) const; |
1063 | 1078 |
1064 Color selectionColor(int colorProperty) const; | 1079 Color selectionColor(int colorProperty) const; |
1065 | 1080 |
1066 void removeShapeImageClient(ShapeValue*); | 1081 void removeShapeImageClient(ShapeValue*); |
1067 | 1082 |
1068 #ifndef NDEBUG | 1083 #ifndef NDEBUG |
1069 void checkBlockPositionedObjectsNeedLayout(); | 1084 void checkBlockPositionedObjectsNeedLayout(); |
1070 #endif | 1085 #endif |
| 1086 const char* invalidationReasonToString(InvalidationReason) const; |
1071 | 1087 |
1072 RefPtr<RenderStyle> m_style; | 1088 RefPtr<RenderStyle> m_style; |
1073 | 1089 |
1074 Node* m_node; | 1090 Node* m_node; |
1075 | 1091 |
1076 RenderObject* m_parent; | 1092 RenderObject* m_parent; |
1077 RenderObject* m_previous; | 1093 RenderObject* m_previous; |
1078 RenderObject* m_next; | 1094 RenderObject* m_next; |
1079 | 1095 |
1080 #ifndef NDEBUG | 1096 #ifndef NDEBUG |
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1426 void showTree(const WebCore::RenderObject*); | 1442 void showTree(const WebCore::RenderObject*); |
1427 void showLineTree(const WebCore::RenderObject*); | 1443 void showLineTree(const WebCore::RenderObject*); |
1428 void showRenderTree(const WebCore::RenderObject* object1); | 1444 void showRenderTree(const WebCore::RenderObject* object1); |
1429 // We don't make object2 an optional parameter so that showRenderTree | 1445 // We don't make object2 an optional parameter so that showRenderTree |
1430 // can be called from gdb easily. | 1446 // can be called from gdb easily. |
1431 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO
bject* object2); | 1447 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO
bject* object2); |
1432 | 1448 |
1433 #endif | 1449 #endif |
1434 | 1450 |
1435 #endif // RenderObject_h | 1451 #endif // RenderObject_h |
OLD | NEW |