Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(444)

Side by Side Diff: Source/core/layout/svg/SVGLayoutSupport.h

Issue 945803004: Merge back LayoutLayerModelObject into RenderBoxModelObject (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /** 1 /**
2 * Copyright (C) 2007 Rob Buis <buis@kde.org> 2 * Copyright (C) 2007 Rob Buis <buis@kde.org>
3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org>
5 * Copyright (C) 2009 Google, Inc. All rights reserved. 5 * Copyright (C) 2009 Google, Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 19 matching lines...) Expand all
30 30
31 class AffineTransform; 31 class AffineTransform;
32 class FloatPoint; 32 class FloatPoint;
33 class FloatRect; 33 class FloatRect;
34 class GraphicsContext; 34 class GraphicsContext;
35 class GraphicsContextStateSaver; 35 class GraphicsContextStateSaver;
36 class PaintInvalidationState; 36 class PaintInvalidationState;
37 class LayoutRect; 37 class LayoutRect;
38 struct PaintInfo; 38 struct PaintInfo;
39 class LayoutGeometryMap; 39 class LayoutGeometryMap;
40 class LayoutLayerModelObject; 40 class RenderBoxModelObject;
41 class LayoutObject; 41 class LayoutObject;
42 class LayoutStyle; 42 class LayoutStyle;
43 class LayoutSVGRoot; 43 class LayoutSVGRoot;
44 class StrokeData; 44 class StrokeData;
45 class TransformState; 45 class TransformState;
46 46
47 class SVGLayoutSupport { 47 class SVGLayoutSupport {
48 public: 48 public:
49 // Shares child layouting code between LayoutSVGRoot/LayoutSVG(Hidden)Contai ner 49 // Shares child layouting code between LayoutSVGRoot/LayoutSVG(Hidden)Contai ner
50 static void layoutChildren(LayoutObject*, bool selfNeedsLayout); 50 static void layoutChildren(LayoutObject*, bool selfNeedsLayout);
(...skipping 14 matching lines...) Expand all
65 static bool pointInClippingArea(LayoutObject*, const FloatPoint&); 65 static bool pointInClippingArea(LayoutObject*, const FloatPoint&);
66 66
67 // Transform |pointInParent| to |object|'s user-space and check if it is 67 // Transform |pointInParent| to |object|'s user-space and check if it is
68 // within the clipping area. Returns false if the transform is singular or 68 // within the clipping area. Returns false if the transform is singular or
69 // the point is outside the clipping area. 69 // the point is outside the clipping area.
70 static bool transformToUserSpaceAndCheckClipping(LayoutObject*, const Affine Transform& localTransform, const FloatPoint& pointInParent, FloatPoint& localPoi nt); 70 static bool transformToUserSpaceAndCheckClipping(LayoutObject*, const Affine Transform& localTransform, const FloatPoint& pointInParent, FloatPoint& localPoi nt);
71 71
72 static void computeContainerBoundingBoxes(const LayoutObject* container, Flo atRect& objectBoundingBox, bool& objectBoundingBoxValid, FloatRect& strokeBoundi ngBox, FloatRect& paintInvalidationBoundingBox); 72 static void computeContainerBoundingBoxes(const LayoutObject* container, Flo atRect& objectBoundingBox, bool& objectBoundingBoxValid, FloatRect& strokeBoundi ngBox, FloatRect& paintInvalidationBoundingBox);
73 73
74 // Important functions used by nearly all SVG renderers centralizing coordin ate transformations / paint invalidation rect calculations 74 // Important functions used by nearly all SVG renderers centralizing coordin ate transformations / paint invalidation rect calculations
75 static LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutObject *, const LayoutLayerModelObject* paintInvalidationContainer, const PaintInvalida tionState*); 75 static LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutObject *, const RenderBoxModelObject* paintInvalidationContainer, const PaintInvalidati onState*);
76 static const LayoutSVGRoot& mapRectToSVGRootForPaintInvalidation(const Layou tObject*, const FloatRect& localPaintInvalidationRect, LayoutRect&); 76 static const LayoutSVGRoot& mapRectToSVGRootForPaintInvalidation(const Layou tObject*, const FloatRect& localPaintInvalidationRect, LayoutRect&);
77 static void mapLocalToContainer(const LayoutObject*, const LayoutLayerModelO bject* paintInvalidationContainer, TransformState&, bool* wasFixed = 0, const Pa intInvalidationState* = 0); 77 static void mapLocalToContainer(const LayoutObject*, const RenderBoxModelObj ect* paintInvalidationContainer, TransformState&, bool* wasFixed = 0, const Pain tInvalidationState* = 0);
78 static const LayoutObject* pushMappingToContainer(const LayoutObject*, const LayoutLayerModelObject* ancestorToStopAt, LayoutGeometryMap&); 78 static const LayoutObject* pushMappingToContainer(const LayoutObject*, const RenderBoxModelObject* ancestorToStopAt, LayoutGeometryMap&);
79 79
80 // Shared between SVG renderers and resources. 80 // Shared between SVG renderers and resources.
81 static void applyStrokeStyleToContext(GraphicsContext&, const LayoutStyle&, const LayoutObject&); 81 static void applyStrokeStyleToContext(GraphicsContext&, const LayoutStyle&, const LayoutObject&);
82 static void applyStrokeStyleToStrokeData(StrokeData&, const LayoutStyle&, co nst LayoutObject&); 82 static void applyStrokeStyleToStrokeData(StrokeData&, const LayoutStyle&, co nst LayoutObject&);
83 83
84 // Update the GC state (on |paintInfo.context|) for painting |renderer| 84 // Update the GC state (on |paintInfo.context|) for painting |renderer|
85 // using |style|. |resourceMode| is used to decide between fill/stroke. 85 // using |style|. |resourceMode| is used to decide between fill/stroke.
86 // Previous state will be saved (if needed) using |stateSaver|. 86 // Previous state will be saved (if needed) using |stateSaver|.
87 static bool updateGraphicsContext(const PaintInfo&, GraphicsContextStateSave r&, const LayoutStyle&, LayoutObject&, LayoutSVGResourceMode, const AffineTransf orm* additionalPaintServerTransform = 0); 87 static bool updateGraphicsContext(const PaintInfo&, GraphicsContextStateSave r&, const LayoutStyle&, LayoutObject&, LayoutSVGResourceMode, const AffineTransf orm* additionalPaintServerTransform = 0);
88 88
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 return true; 127 return true;
128 if (child->hasNonIsolatedBlendingDescendants() && !willIsolateBlendingDe scendantsForObject(child)) 128 if (child->hasNonIsolatedBlendingDescendants() && !willIsolateBlendingDe scendantsForObject(child))
129 return true; 129 return true;
130 } 130 }
131 return false; 131 return false;
132 } 132 }
133 133
134 } // namespace blink 134 } // namespace blink
135 135
136 #endif // SVGLayoutSupport_h 136 #endif // SVGLayoutSupport_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698