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

Unified Diff: third_party/WebKit/Source/core/svg/SVGPathSeg.h

Issue 1416273002: Remove SVGPathElement.pathSegList and related interfaces (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 2 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: third_party/WebKit/Source/core/svg/SVGPathSeg.h
diff --git a/third_party/WebKit/Source/core/svg/SVGPathSeg.h b/third_party/WebKit/Source/core/svg/SVGPathSeg.h
deleted file mode 100644
index 86d25391216b9fe5edd16ca82b3bbb4a7eeeaf63..0000000000000000000000000000000000000000
--- a/third_party/WebKit/Source/core/svg/SVGPathSeg.h
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org>
- * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef SVGPathSeg_h
-#define SVGPathSeg_h
-
-#include "bindings/core/v8/ScriptWrappable.h"
-#include "platform/geometry/FloatPoint.h"
-#include "platform/heap/Handle.h"
-#include "wtf/Allocator.h"
-#include "wtf/RefCounted.h"
-#include "wtf/text/WTFString.h"
-
-namespace blink {
-
-enum ListModification {
- ListModificationUnknown = 0,
- ListModificationInsert = 1,
- ListModificationReplace = 2,
- ListModificationRemove = 3,
- ListModificationAppend = 4
-};
-
-enum SVGPathSegType {
- PathSegUnknown = 0,
- PathSegClosePath = 1,
- PathSegMoveToAbs = 2,
- PathSegMoveToRel = 3,
- PathSegLineToAbs = 4,
- PathSegLineToRel = 5,
- PathSegCurveToCubicAbs = 6,
- PathSegCurveToCubicRel = 7,
- PathSegCurveToQuadraticAbs = 8,
- PathSegCurveToQuadraticRel = 9,
- PathSegArcAbs = 10,
- PathSegArcRel = 11,
- PathSegLineToHorizontalAbs = 12,
- PathSegLineToHorizontalRel = 13,
- PathSegLineToVerticalAbs = 14,
- PathSegLineToVerticalRel = 15,
- PathSegCurveToCubicSmoothAbs = 16,
- PathSegCurveToCubicSmoothRel = 17,
- PathSegCurveToQuadraticSmoothAbs = 18,
- PathSegCurveToQuadraticSmoothRel = 19
-};
-
-static inline SVGPathSegType toAbsolutePathSegType(const SVGPathSegType type)
-{
- // Clear the LSB to get the absolute command.
- return type >= PathSegMoveToAbs ? static_cast<SVGPathSegType>(type & ~1u) : type;
-}
-
-static inline bool isAbsolutePathSegType(const SVGPathSegType type)
-{
- // For commands with an ordinal >= PathSegMoveToAbs, and odd number => relative command.
- return type < PathSegMoveToAbs || type % 2 == 0;
-}
-
-struct PathSegmentData {
- STACK_ALLOCATED();
- PathSegmentData()
- : command(PathSegUnknown)
- , arcSweep(false)
- , arcLarge(false)
- {
- }
-
- const FloatPoint& arcRadii() const { return point1; }
- float arcAngle() const { return point2.x(); }
-
- float r1() const { return arcRadii().x(); }
- float r2() const { return arcRadii().y(); }
-
- bool largeArcFlag() const { return arcLarge; }
- bool sweepFlag() const { return arcSweep; }
-
- float x() const { return targetPoint.x(); }
- float y() const { return targetPoint.y(); }
-
- float x1() const { return point1.x(); }
- float y1() const { return point1.y(); }
-
- float x2() const { return point2.x(); }
- float y2() const { return point2.y(); }
-
- SVGPathSegType command;
- FloatPoint targetPoint;
- FloatPoint point1;
- FloatPoint point2;
- bool arcSweep;
- bool arcLarge;
-};
-
-class SVGPropertyBase;
-class SVGPathElement;
-class SVGElement;
-
-class SVGPathSeg : public RefCountedWillBeGarbageCollectedFinalized<SVGPathSeg>, public ScriptWrappable {
- DEFINE_WRAPPERTYPEINFO();
-public:
- // SVGPathSeg itself is used as a tear-off type.
- // FIXME: A tear-off type should be introduced to distinguish animVal/baseVal
- typedef SVGPathSeg TearOffType;
-
- explicit SVGPathSeg(SVGPathElement* contextElement);
-
- virtual ~SVGPathSeg() { }
-
- // Forward declare these enums in the w3c naming scheme, for IDL generation
- enum {
- PATHSEG_UNKNOWN = PathSegUnknown,
- PATHSEG_CLOSEPATH = PathSegClosePath,
- PATHSEG_MOVETO_ABS = PathSegMoveToAbs,
- PATHSEG_MOVETO_REL = PathSegMoveToRel,
- PATHSEG_LINETO_ABS = PathSegLineToAbs,
- PATHSEG_LINETO_REL = PathSegLineToRel,
- PATHSEG_CURVETO_CUBIC_ABS = PathSegCurveToCubicAbs,
- PATHSEG_CURVETO_CUBIC_REL = PathSegCurveToCubicRel,
- PATHSEG_CURVETO_QUADRATIC_ABS = PathSegCurveToQuadraticAbs,
- PATHSEG_CURVETO_QUADRATIC_REL = PathSegCurveToQuadraticRel,
- PATHSEG_ARC_ABS = PathSegArcAbs,
- PATHSEG_ARC_REL = PathSegArcRel,
- PATHSEG_LINETO_HORIZONTAL_ABS = PathSegLineToHorizontalAbs,
- PATHSEG_LINETO_HORIZONTAL_REL = PathSegLineToHorizontalRel,
- PATHSEG_LINETO_VERTICAL_ABS = PathSegLineToVerticalAbs,
- PATHSEG_LINETO_VERTICAL_REL = PathSegLineToVerticalRel,
- PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = PathSegCurveToCubicSmoothAbs,
- PATHSEG_CURVETO_CUBIC_SMOOTH_REL = PathSegCurveToCubicSmoothRel,
- PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = PathSegCurveToQuadraticSmoothAbs,
- PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = PathSegCurveToQuadraticSmoothRel
- };
-
- virtual unsigned short pathSegType() const = 0;
- virtual String pathSegTypeAsLetter() const = 0;
-
- SVGPropertyBase* ownerList() const
- {
- return m_ownerList;
- }
-
- void setOwnerList(SVGPropertyBase* ownerList)
- {
- // Previous owner list must be cleared before setting new owner list.
- ASSERT((!ownerList && m_ownerList) || (ownerList && !m_ownerList));
-
- m_ownerList = ownerList;
- }
-
- void setContextElement(SVGElement* contextElement)
- {
- m_contextElement = contextElement;
- }
-
- static PassRefPtrWillBeRawPtr<SVGPathSeg> create() { ASSERT_NOT_REACHED(); return nullptr; }
- virtual PassRefPtrWillBeRawPtr<SVGPathSeg> clone() = 0;
-
- DECLARE_VIRTUAL_TRACE();
-
-protected:
- void commitChange();
-
-private:
- RawPtrWillBeMember<SVGPropertyBase> m_ownerList;
- GC_PLUGIN_IGNORE("528275")
- SVGElement* m_contextElement;
-};
-
-class SVGPathSegSingleCoordinate : public SVGPathSeg {
-public:
- float x() const { return m_x; }
- void setX(float x)
- {
- m_x = x;
- commitChange();
- }
-
- float y() const { return m_y; }
- void setY(float y)
- {
- m_y = y;
- commitChange();
- }
-
-protected:
- SVGPathSegSingleCoordinate(SVGPathElement* element, float x, float y)
- : SVGPathSeg(element)
- , m_x(x)
- , m_y(y)
- {
- }
-
-private:
- float m_x;
- float m_y;
-};
-
-} // namespace blink
-
-#endif // SVGPathSeg_h
« no previous file with comments | « third_party/WebKit/Source/core/svg/SVGPathParser.h ('k') | third_party/WebKit/Source/core/svg/SVGPathSeg.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698