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

Unified Diff: Source/core/rendering/RenderBoxModelObject.h

Issue 559733005: Move painting code from RenderBoxModelObject into BoxPainter. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/rendering/RenderBoxModelObject.h
diff --git a/Source/core/rendering/RenderBoxModelObject.h b/Source/core/rendering/RenderBoxModelObject.h
index 2118083262f6ab150978e6b5c66c63a8a0f5e425..a57d2255728638a5c1848f68669cb73f10e3c983 100644
--- a/Source/core/rendering/RenderBoxModelObject.h
+++ b/Source/core/rendering/RenderBoxModelObject.h
@@ -50,6 +50,7 @@ enum ContentChangeType {
struct BorderEdge;
class RenderTextFragment;
+class BackgroundImageGeometry;
// This class is the base for all objects that adhere to the CSS box model as described
// at http://www.w3.org/TR/CSS21/box.html
@@ -158,7 +159,6 @@ public:
void paintBorder(const PaintInfo&, const LayoutRect&, const RenderStyle*, BackgroundBleedAvoidance = BackgroundBleedNone, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true);
bool paintNinePieceImage(GraphicsContext*, const LayoutRect&, const RenderStyle*, const NinePieceImage&, CompositeOperator = CompositeSourceOver);
void paintBoxShadow(const PaintInfo&, const LayoutRect&, const RenderStyle*, ShadowStyle, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true);
- void paintFillLayerExtended(const PaintInfo&, const Color&, const FillLayer&, const LayoutRect&, BackgroundBleedAvoidance, InlineFlowBox* = 0, const LayoutSize& = LayoutSize(), CompositeOperator = CompositeSourceOver, RenderObject* backgroundObject = 0, bool skipBaseColor = false);
virtual bool boxShadowShouldBeAppliedToBackground(BackgroundBleedAvoidance, InlineFlowBox* = 0) const;
@@ -176,92 +176,19 @@ public:
virtual void computeLayerHitTestRects(LayerHitTestRects&) const OVERRIDE;
- // FIXME: Slimming Paint: make these two methods private again after moving paint code in this class to paint/
- void paintRootBackgroundColor(const PaintInfo&, const LayoutRect&, const Color&);
- bool isDocumentElementWithOpaqueBackground() const;
-
protected:
virtual void willBeDestroyed() OVERRIDE;
- class BackgroundImageGeometry {
- public:
- BackgroundImageGeometry()
- : m_hasNonLocalGeometry(false)
- { }
-
- IntPoint destOrigin() const { return m_destOrigin; }
- void setDestOrigin(const IntPoint& destOrigin)
- {
- m_destOrigin = destOrigin;
- }
-
- IntRect destRect() const { return m_destRect; }
- void setDestRect(const IntRect& destRect)
- {
- m_destRect = destRect;
- }
-
- // Returns the phase relative to the destination rectangle.
- IntPoint relativePhase() const;
-
- IntPoint phase() const { return m_phase; }
- void setPhase(const IntPoint& phase)
- {
- m_phase = phase;
- }
-
- IntSize tileSize() const { return m_tileSize; }
- void setTileSize(const IntSize& tileSize)
- {
- m_tileSize = tileSize;
- }
-
- // Space-size represents extra width and height that may be added to
- // the image if used as a pattern with repeat: space
- IntSize spaceSize() const { return m_repeatSpacing; }
- void setSpaceSize(const IntSize& repeatSpacing)
- {
- m_repeatSpacing = repeatSpacing;
- }
-
- void setPhaseX(int x) { m_phase.setX(x); }
- void setPhaseY(int y) { m_phase.setY(y); }
-
- void setNoRepeatX(int xOffset);
- void setNoRepeatY(int yOffset);
-
- void useFixedAttachment(const IntPoint& attachmentPoint);
-
- void clip(const IntRect&);
-
- void setHasNonLocalGeometry(bool hasNonLocalGeometry = true) { m_hasNonLocalGeometry = hasNonLocalGeometry; }
- bool hasNonLocalGeometry() const { return m_hasNonLocalGeometry; }
-
- private:
- IntRect m_destRect;
- IntPoint m_destOrigin;
- IntPoint m_phase;
- IntSize m_tileSize;
- IntSize m_repeatSpacing;
- bool m_hasNonLocalGeometry; // Has background-attachment: fixed. Implies that we can't always cheaply compute destRect.
- };
-
LayoutPoint adjustedPositionRelativeToOffsetParent(const LayoutPoint&) const;
bool calculateHasBoxDecorations() const;
- void calculateBackgroundImageGeometry(const RenderLayerModelObject* paintContainer, const FillLayer&, const LayoutRect& paintRect, BackgroundImageGeometry&, RenderObject* = 0) const;
- RoundedRect backgroundRoundedRectAdjustedForBleedAvoidance(GraphicsContext*, const LayoutRect&, BackgroundBleedAvoidance, InlineFlowBox*, const LayoutSize&, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const;
LayoutRect borderInnerRectAdjustedForBleedAvoidance(GraphicsContext*, const LayoutRect&, BackgroundBleedAvoidance) const;
- InterpolationQuality chooseInterpolationQuality(GraphicsContext*, Image*, const void*, const LayoutSize&);
-
RenderBoxModelObject* continuation() const;
void setContinuation(RenderBoxModelObject*);
LayoutRect localCaretRectForEmptyElement(LayoutUnit width, LayoutUnit textIndentOffset);
- static void clipRoundedInnerRect(GraphicsContext*, const LayoutRect&, const RoundedRect& clipRect);
-
bool hasAutoHeightOrContainingBlockWithAutoHeight() const;
public:
@@ -302,13 +229,6 @@ private:
LayoutUnit computedCSSPadding(const Length&) const;
virtual bool isBoxModelObject() const OVERRIDE FINAL { return true; }
- IntSize calculateFillTileSize(const FillLayer&, const IntSize& scaledPositioningAreaSize) const;
-
- RoundedRect getBackgroundRoundedRect(const LayoutRect&, InlineFlowBox*, LayoutUnit inlineBoxWidth, LayoutUnit inlineBoxHeight,
- bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const;
-
- bool fixedBackgroundPaintsInLocalCoordinates() const;
-
void clipBorderSidePolygon(GraphicsContext*, const RoundedRect& outerBorder, const RoundedRect& innerBorder,
BoxSide, bool firstEdgeMatches, bool secondEdgeMatches);
void clipBorderSideForComplexInnerPath(GraphicsContext*, const RoundedRect&, const RoundedRect&, BoxSide, const BorderEdge[]);

Powered by Google App Engine
This is Rietveld 408576698