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

Unified Diff: sky/engine/core/rendering/shapes/RasterShape.h

Issue 703563002: Remove shape-outside. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « sky/engine/core/rendering/shapes/PolygonShape.cpp ('k') | sky/engine/core/rendering/shapes/RasterShape.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/rendering/shapes/RasterShape.h
diff --git a/sky/engine/core/rendering/shapes/RasterShape.h b/sky/engine/core/rendering/shapes/RasterShape.h
deleted file mode 100644
index c51b5a5710f698c714b4deedab636ce2946f8993..0000000000000000000000000000000000000000
--- a/sky/engine/core/rendering/shapes/RasterShape.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the following
- * disclaimer.
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef RasterShape_h
-#define RasterShape_h
-
-#include "core/rendering/shapes/Shape.h"
-#include "core/rendering/shapes/ShapeInterval.h"
-#include "platform/geometry/FloatRect.h"
-#include "wtf/Assertions.h"
-#include "wtf/Vector.h"
-
-namespace blink {
-
-class RasterShapeIntervals {
-public:
- RasterShapeIntervals(unsigned size, int offset = 0)
- : m_offset(offset)
- {
- m_intervals.resize(clampTo<int>(size));
- }
-
- void initializeBounds();
- const IntRect& bounds() const { return m_bounds; }
- bool isEmpty() const { return m_bounds.isEmpty(); }
-
- IntShapeInterval& intervalAt(int y)
- {
- ASSERT(y + m_offset >= 0 && static_cast<unsigned>(y + m_offset) < m_intervals.size());
- return m_intervals[y + m_offset];
- }
-
- const IntShapeInterval& intervalAt(int y) const
- {
- ASSERT(y + m_offset >= 0 && static_cast<unsigned>(y + m_offset) < m_intervals.size());
- return m_intervals[y + m_offset];
- }
-
- PassOwnPtr<RasterShapeIntervals> computeShapeMarginIntervals(int shapeMargin) const;
-
- void buildBoundsPath(Path&) const;
-
-private:
- int size() const { return m_intervals.size(); }
- int offset() const { return m_offset; }
- int minY() const { return -m_offset; }
- int maxY() const { return -m_offset + m_intervals.size(); }
-
- IntRect m_bounds;
- Vector<IntShapeInterval> m_intervals;
- int m_offset;
-};
-
-class RasterShape final : public Shape {
- WTF_MAKE_NONCOPYABLE(RasterShape);
-public:
- RasterShape(PassOwnPtr<RasterShapeIntervals> intervals, const IntSize& marginRectSize)
- : m_intervals(intervals)
- , m_marginRectSize(marginRectSize)
- {
- m_intervals->initializeBounds();
- }
-
- virtual LayoutRect shapeMarginLogicalBoundingBox() const override { return static_cast<LayoutRect>(marginIntervals().bounds()); }
- virtual bool isEmpty() const override { return m_intervals->isEmpty(); }
- virtual LineSegment getExcludedInterval(LayoutUnit logicalTop, LayoutUnit logicalHeight) const override;
- virtual void buildDisplayPaths(DisplayPaths& paths) const override
- {
- m_intervals->buildBoundsPath(paths.shape);
- if (shapeMargin())
- marginIntervals().buildBoundsPath(paths.marginShape);
- }
-
-private:
- const RasterShapeIntervals& marginIntervals() const;
-
- OwnPtr<RasterShapeIntervals> m_intervals;
- mutable OwnPtr<RasterShapeIntervals> m_marginIntervals;
- IntSize m_marginRectSize;
-};
-
-} // namespace blink
-
-#endif // RasterShape_h
« no previous file with comments | « sky/engine/core/rendering/shapes/PolygonShape.cpp ('k') | sky/engine/core/rendering/shapes/RasterShape.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698