/src/mozilla-central/layout/painting/nsDisplayListInvalidation.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 | | /* vim: set ts=8 sts=2 et sw=2 tw=80: */ |
3 | | /* This Source Code Form is subject to the terms of the Mozilla Public |
4 | | * License, v. 2.0. If a copy of the MPL was not distributed with this |
5 | | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
6 | | |
7 | | #include "nsDisplayListInvalidation.h" |
8 | | #include "nsDisplayList.h" |
9 | | #include "nsIFrame.h" |
10 | | #include "nsTableFrame.h" |
11 | | |
12 | | nsDisplayItemGeometry::nsDisplayItemGeometry(nsDisplayItem* aItem, |
13 | | nsDisplayListBuilder* aBuilder) |
14 | 0 | { |
15 | 0 | MOZ_COUNT_CTOR(nsDisplayItemGeometry); |
16 | 0 | bool snap; |
17 | 0 | mBounds = aItem->GetBounds(aBuilder, &snap); |
18 | 0 | } |
19 | | |
20 | | nsDisplayItemGeometry::~nsDisplayItemGeometry() |
21 | 0 | { |
22 | 0 | MOZ_COUNT_DTOR(nsDisplayItemGeometry); |
23 | 0 | } |
24 | | |
25 | | nsDisplayItemGenericGeometry::nsDisplayItemGenericGeometry( |
26 | | nsDisplayItem* aItem, |
27 | | nsDisplayListBuilder* aBuilder) |
28 | | : nsDisplayItemGeometry(aItem, aBuilder) |
29 | | , mBorderRect(aItem->GetBorderRect()) |
30 | 0 | { |
31 | 0 | } |
32 | | |
33 | | bool |
34 | | ShouldSyncDecodeImages(nsDisplayListBuilder* aBuilder) |
35 | 0 | { |
36 | 0 | return aBuilder->ShouldSyncDecodeImages(); |
37 | 0 | } |
38 | | |
39 | | void |
40 | | nsDisplayItemGenericGeometry::MoveBy(const nsPoint& aOffset) |
41 | 0 | { |
42 | 0 | nsDisplayItemGeometry::MoveBy(aOffset); |
43 | 0 | mBorderRect.MoveBy(aOffset); |
44 | 0 | } |
45 | | |
46 | | nsDisplayItemBoundsGeometry::nsDisplayItemBoundsGeometry( |
47 | | nsDisplayItem* aItem, |
48 | | nsDisplayListBuilder* aBuilder) |
49 | | : nsDisplayItemGeometry(aItem, aBuilder) |
50 | 0 | { |
51 | 0 | nscoord radii[8]; |
52 | 0 | mHasRoundedCorners = aItem->Frame()->GetBorderRadii(radii); |
53 | 0 | } |
54 | | |
55 | | nsDisplayBorderGeometry::nsDisplayBorderGeometry(nsDisplayItem* aItem, |
56 | | nsDisplayListBuilder* aBuilder) |
57 | | : nsDisplayItemGeometry(aItem, aBuilder) |
58 | | , nsImageGeometryMixin(aItem, aBuilder) |
59 | 0 | { |
60 | 0 | } |
61 | | |
62 | | nsDisplayBackgroundGeometry::nsDisplayBackgroundGeometry( |
63 | | nsDisplayBackgroundImage* aItem, |
64 | | nsDisplayListBuilder* aBuilder) |
65 | | : nsDisplayItemGeometry(aItem, aBuilder) |
66 | | , nsImageGeometryMixin(aItem, aBuilder) |
67 | | , mPositioningArea(aItem->GetPositioningArea()) |
68 | | , mDestRect(aItem->GetDestRect()) |
69 | 0 | { |
70 | 0 | } |
71 | | |
72 | | void |
73 | | nsDisplayBackgroundGeometry::MoveBy(const nsPoint& aOffset) |
74 | 0 | { |
75 | 0 | nsDisplayItemGeometry::MoveBy(aOffset); |
76 | 0 | mPositioningArea.MoveBy(aOffset); |
77 | 0 | mDestRect.MoveBy(aOffset); |
78 | 0 | } |
79 | | |
80 | | nsDisplayThemedBackgroundGeometry::nsDisplayThemedBackgroundGeometry( |
81 | | nsDisplayThemedBackground* aItem, |
82 | | nsDisplayListBuilder* aBuilder) |
83 | | : nsDisplayItemGeometry(aItem, aBuilder) |
84 | | , mPositioningArea(aItem->GetPositioningArea()) |
85 | | , mWindowIsActive(aItem->IsWindowActive()) |
86 | 0 | { |
87 | 0 | } |
88 | | |
89 | | void |
90 | | nsDisplayThemedBackgroundGeometry::MoveBy(const nsPoint& aOffset) |
91 | 0 | { |
92 | 0 | nsDisplayItemGeometry::MoveBy(aOffset); |
93 | 0 | mPositioningArea.MoveBy(aOffset); |
94 | 0 | } |
95 | | |
96 | | nsDisplayBoxShadowInnerGeometry::nsDisplayBoxShadowInnerGeometry( |
97 | | nsDisplayItem* aItem, |
98 | | nsDisplayListBuilder* aBuilder) |
99 | | : nsDisplayItemGeometry(aItem, aBuilder) |
100 | | , mPaddingRect(aItem->GetPaddingRect()) |
101 | 0 | { |
102 | 0 | } |
103 | | |
104 | | void |
105 | | nsDisplayBoxShadowInnerGeometry::MoveBy(const nsPoint& aOffset) |
106 | 0 | { |
107 | 0 | nsDisplayItemGeometry::MoveBy(aOffset); |
108 | 0 | mPaddingRect.MoveBy(aOffset); |
109 | 0 | } |
110 | | |
111 | | nsDisplayBoxShadowOuterGeometry::nsDisplayBoxShadowOuterGeometry( |
112 | | nsDisplayItem* aItem, |
113 | | nsDisplayListBuilder* aBuilder, |
114 | | float aOpacity) |
115 | | : nsDisplayItemGenericGeometry(aItem, aBuilder) |
116 | | , mOpacity(aOpacity) |
117 | 0 | { |
118 | 0 | } |
119 | | |
120 | | void |
121 | | nsDisplaySolidColorRegionGeometry::MoveBy(const nsPoint& aOffset) |
122 | 0 | { |
123 | 0 | nsDisplayItemGeometry::MoveBy(aOffset); |
124 | 0 | mRegion.MoveBy(aOffset); |
125 | 0 | } |
126 | | |
127 | | nsDisplaySVGEffectGeometry::nsDisplaySVGEffectGeometry( |
128 | | nsDisplaySVGEffects* aItem, |
129 | | nsDisplayListBuilder* aBuilder) |
130 | | : nsDisplayItemGeometry(aItem, aBuilder) |
131 | | , mBBox(aItem->BBoxInUserSpace()) |
132 | | , mUserSpaceOffset(aItem->UserSpaceOffset()) |
133 | | , mFrameOffsetToReferenceFrame(aItem->ToReferenceFrame()) |
134 | 0 | { |
135 | 0 | } |
136 | | |
137 | | void |
138 | | nsDisplaySVGEffectGeometry::MoveBy(const nsPoint& aOffset) |
139 | 0 | { |
140 | 0 | mBounds.MoveBy(aOffset); |
141 | 0 | mFrameOffsetToReferenceFrame += aOffset; |
142 | 0 | } |
143 | | |
144 | | nsDisplayMaskGeometry::nsDisplayMaskGeometry(nsDisplayMask* aItem, |
145 | | nsDisplayListBuilder* aBuilder) |
146 | | : nsDisplaySVGEffectGeometry(aItem, aBuilder) |
147 | | , nsImageGeometryMixin(aItem, aBuilder) |
148 | | , mDestRects(aItem->GetDestRects()) |
149 | | , mOpacity(aItem->Frame()->StyleEffects()->mOpacity) |
150 | | , mHandleOpacity(aItem->ShouldHandleOpacity()) |
151 | 0 | { |
152 | 0 | } |
153 | | |
154 | | nsDisplayFilterGeometry::nsDisplayFilterGeometry(nsDisplayFilter* aItem, |
155 | | nsDisplayListBuilder* aBuilder) |
156 | | : nsDisplaySVGEffectGeometry(aItem, aBuilder) |
157 | | , nsImageGeometryMixin(aItem, aBuilder) |
158 | 0 | { |
159 | 0 | } |
160 | | |
161 | | nsCharClipGeometry::nsCharClipGeometry(nsCharClipDisplayItem* aItem, |
162 | | nsDisplayListBuilder* aBuilder) |
163 | | : nsDisplayItemGenericGeometry(aItem, aBuilder) |
164 | | , mVisIStartEdge(aItem->mVisIStartEdge) |
165 | | , mVisIEndEdge(aItem->mVisIEndEdge) |
166 | 0 | { |
167 | 0 | } |
168 | | |
169 | | nsDisplayTableItemGeometry::nsDisplayTableItemGeometry( |
170 | | nsDisplayTableItem* aItem, |
171 | | nsDisplayListBuilder* aBuilder, |
172 | | const nsPoint& aFrameOffsetToViewport) |
173 | | : nsDisplayItemGenericGeometry(aItem, aBuilder) |
174 | | , nsImageGeometryMixin(aItem, aBuilder) |
175 | | , mFrameOffsetToViewport(aFrameOffsetToViewport) |
176 | 0 | { |
177 | 0 | } |