OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2006 Apple Computer, Inc. | 3 * Copyright (C) 2006 Apple Computer, Inc. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 | 141 |
142 PaintInvalidationReason InvalidatePaintIfNeeded( | 142 PaintInvalidationReason InvalidatePaintIfNeeded( |
143 const PaintInvalidationState&) override; | 143 const PaintInvalidationState&) override; |
144 PaintInvalidationReason InvalidatePaintIfNeeded( | 144 PaintInvalidationReason InvalidatePaintIfNeeded( |
145 const PaintInvalidatorContext&) const override; | 145 const PaintInvalidatorContext&) const override; |
146 | 146 |
147 void Paint(const PaintInfo&, const LayoutPoint&) const override; | 147 void Paint(const PaintInfo&, const LayoutPoint&) const override; |
148 void PaintBoxDecorationBackground(const PaintInfo&, | 148 void PaintBoxDecorationBackground(const PaintInfo&, |
149 const LayoutPoint&) const override; | 149 const LayoutPoint&) const override; |
150 | 150 |
151 enum SelectionPaintInvalidationMode { | |
152 kPaintInvalidationNewXOROld, | |
153 kPaintInvalidationNewMinusOld | |
154 }; | |
155 void SetSelection( | |
156 LayoutObject* start, | |
157 int start_pos, | |
158 LayoutObject*, | |
159 int end_pos, | |
160 SelectionPaintInvalidationMode = kPaintInvalidationNewXOROld); | |
161 void ClearSelection(); | 151 void ClearSelection(); |
162 bool HasPendingSelection() const; | 152 bool HasPendingSelection() const; |
163 void CommitPendingSelection(); | 153 void CommitPendingSelection(); |
164 IntRect SelectionBounds(); | |
165 void SelectionStartEnd(int& start_pos, int& end_pos); | 154 void SelectionStartEnd(int& start_pos, int& end_pos); |
166 void InvalidatePaintForSelection(); | |
167 | 155 |
168 void AbsoluteRects(Vector<IntRect>&, | 156 void AbsoluteRects(Vector<IntRect>&, |
169 const LayoutPoint& accumulated_offset) const override; | 157 const LayoutPoint& accumulated_offset) const override; |
170 void AbsoluteQuads(Vector<FloatQuad>&, | 158 void AbsoluteQuads(Vector<FloatQuad>&, |
171 MapCoordinatesFlags mode = 0) const override; | 159 MapCoordinatesFlags mode = 0) const override; |
172 | 160 |
173 LayoutRect ViewRect() const override; | 161 LayoutRect ViewRect() const override; |
174 LayoutRect OverflowClipRect( | 162 LayoutRect OverflowClipRect( |
175 const LayoutPoint& location, | 163 const LayoutPoint& location, |
176 OverlayScrollbarClipBehavior = | 164 OverlayScrollbarClipBehavior = |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 | 272 |
285 bool ShouldUsePrintingLayout() const; | 273 bool ShouldUsePrintingLayout() const; |
286 | 274 |
287 int ViewLogicalWidthForBoxSizing() const; | 275 int ViewLogicalWidthForBoxSizing() const; |
288 int ViewLogicalHeightForBoxSizing() const; | 276 int ViewLogicalHeightForBoxSizing() const; |
289 | 277 |
290 bool PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const override; | 278 bool PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const override; |
291 | 279 |
292 UntracedMember<FrameView> frame_view_; | 280 UntracedMember<FrameView> frame_view_; |
293 | 281 |
294 // The current selection represented as 2 boundaries. | |
295 // Selection boundaries are represented in LayoutView by a tuple | |
296 // (LayoutObject, DOM node offset). | |
297 // See http://www.w3.org/TR/dom/#range for more information. | |
298 // | |
299 // |m_selectionStartPos| and |m_selectionEndPos| are only valid for | |
300 // |Text| node without 'transform' or 'first-letter'. | |
301 // | |
302 // Those are used for selection painting and paint invalidation upon | |
303 // selection change. | |
304 LayoutObject* selection_start_; | |
305 LayoutObject* selection_end_; | |
306 | |
307 // TODO(yosin): Clarify the meaning of these variables. editing/ passes | |
308 // them as offsets in the DOM tree but layout uses them as offset in the | |
309 // layout tree. | |
310 int selection_start_pos_; | |
311 int selection_end_pos_; | |
312 | |
313 // The page logical height. | 282 // The page logical height. |
314 // This is only used during printing to split the content into pages. | 283 // This is only used during printing to split the content into pages. |
315 // Outside of printing, this is 0. | 284 // Outside of printing, this is 0. |
316 LayoutUnit page_logical_height_; | 285 LayoutUnit page_logical_height_; |
317 | 286 |
318 // LayoutState is an optimization used during layout. | 287 // LayoutState is an optimization used during layout. |
319 // |m_layoutState| will be nullptr outside of layout. | 288 // |m_layoutState| will be nullptr outside of layout. |
320 // | 289 // |
321 // See the class comment for more details. | 290 // See the class comment for more details. |
322 LayoutState* layout_state_; | 291 LayoutState* layout_state_; |
323 | 292 |
324 std::unique_ptr<ViewFragmentationContext> fragmentation_context_; | 293 std::unique_ptr<ViewFragmentationContext> fragmentation_context_; |
325 std::unique_ptr<PaintLayerCompositor> compositor_; | 294 std::unique_ptr<PaintLayerCompositor> compositor_; |
326 RefPtr<IntervalArena> interval_arena_; | 295 RefPtr<IntervalArena> interval_arena_; |
327 | 296 |
328 LayoutQuote* layout_quote_head_; | 297 LayoutQuote* layout_quote_head_; |
329 unsigned layout_counter_count_; | 298 unsigned layout_counter_count_; |
330 | 299 |
331 unsigned hit_test_count_; | 300 unsigned hit_test_count_; |
332 unsigned hit_test_cache_hits_; | 301 unsigned hit_test_cache_hits_; |
333 Persistent<HitTestCache> hit_test_cache_; | 302 Persistent<HitTestCache> hit_test_cache_; |
334 }; | 303 }; |
335 | 304 |
336 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutView, IsLayoutView()); | 305 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutView, IsLayoutView()); |
337 | 306 |
338 } // namespace blink | 307 } // namespace blink |
339 | 308 |
340 #endif // LayoutView_h | 309 #endif // LayoutView_h |
OLD | NEW |