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

Side by Side Diff: third_party/WebKit/Source/platform/geometry/FloatPolygon.h

Issue 2392543003: reflow comments in platform/geometry (Closed)
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. 2 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above 8 * 1. Redistributions of source code must retain the above
9 * copyright notice, this list of conditions and the following 9 * copyright notice, this list of conditions and the following
10 * disclaimer. 10 * disclaimer.
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 typedef PODIntervalTree<float, FloatPolygonEdge*> EdgeIntervalTree; 79 typedef PODIntervalTree<float, FloatPolygonEdge*> EdgeIntervalTree;
80 80
81 bool containsNonZero(const FloatPoint&) const; 81 bool containsNonZero(const FloatPoint&) const;
82 bool containsEvenOdd(const FloatPoint&) const; 82 bool containsEvenOdd(const FloatPoint&) const;
83 83
84 std::unique_ptr<Vector<FloatPoint>> m_vertices; 84 std::unique_ptr<Vector<FloatPoint>> m_vertices;
85 WindRule m_fillRule; 85 WindRule m_fillRule;
86 FloatRect m_boundingBox; 86 FloatRect m_boundingBox;
87 bool m_empty; 87 bool m_empty;
88 Vector<FloatPolygonEdge> m_edges; 88 Vector<FloatPolygonEdge> m_edges;
89 EdgeIntervalTree 89 EdgeIntervalTree m_edgeTree; // Each EdgeIntervalTree node stores minY, maxY,
90 m_edgeTree; // Each EdgeIntervalTree node stores minY, maxY, and a ("User Data") pointer to a FloatPolygonEdge. 90 // and a ("UserData") pointer to a
91 // FloatPolygonEdge.
91 }; 92 };
92 93
93 class PLATFORM_EXPORT VertexPair { 94 class PLATFORM_EXPORT VertexPair {
94 public: 95 public:
95 virtual ~VertexPair() {} 96 virtual ~VertexPair() {}
96 97
97 virtual const FloatPoint& vertex1() const = 0; 98 virtual const FloatPoint& vertex1() const = 0;
98 virtual const FloatPoint& vertex2() const = 0; 99 virtual const FloatPoint& vertex2() const = 0;
99 100
100 float minX() const { return std::min(vertex1().x(), vertex2().x()); } 101 float minX() const { return std::min(vertex1().x(), vertex2().x()); }
(...skipping 29 matching lines...) Expand all
130 ASSERT(m_polygon && m_polygon->numberOfEdges() > 1); 131 ASSERT(m_polygon && m_polygon->numberOfEdges() > 1);
131 return m_polygon->edgeAt((m_edgeIndex + 1) % m_polygon->numberOfEdges()); 132 return m_polygon->edgeAt((m_edgeIndex + 1) % m_polygon->numberOfEdges());
132 } 133 }
133 134
134 const FloatPolygon* polygon() const { return m_polygon; } 135 const FloatPolygon* polygon() const { return m_polygon; }
135 unsigned vertexIndex1() const { return m_vertexIndex1; } 136 unsigned vertexIndex1() const { return m_vertexIndex1; }
136 unsigned vertexIndex2() const { return m_vertexIndex2; } 137 unsigned vertexIndex2() const { return m_vertexIndex2; }
137 unsigned edgeIndex() const { return m_edgeIndex; } 138 unsigned edgeIndex() const { return m_edgeIndex; }
138 139
139 private: 140 private:
140 // Edge vertex index1 is less than index2, except the last edge, where index2 is 0. When a polygon edge 141 // Edge vertex index1 is less than index2, except the last edge, where index2
141 // is defined by 3 or more colinear vertices, index2 can be the the index of t he last colinear vertex. 142 // is 0. When a polygon edge is defined by 3 or more colinear vertices, index2
143 // can be the the index of the last colinear vertex.
142 unsigned m_vertexIndex1; 144 unsigned m_vertexIndex1;
143 unsigned m_vertexIndex2; 145 unsigned m_vertexIndex2;
144 unsigned m_edgeIndex; 146 unsigned m_edgeIndex;
145 const FloatPolygon* m_polygon; 147 const FloatPolygon* m_polygon;
146 }; 148 };
147 149
148 // These structures are used by PODIntervalTree for debugging. 150 // These structures are used by PODIntervalTree for debugging.
149 #ifndef NDEBUG 151 #ifndef NDEBUG
150 template <> 152 template <>
151 struct ValueToString<float> { 153 struct ValueToString<float> {
152 STATIC_ONLY(ValueToString); 154 STATIC_ONLY(ValueToString);
153 static String toString(const float value) { return String::number(value); } 155 static String toString(const float value) { return String::number(value); }
154 }; 156 };
155 157
156 template <> 158 template <>
157 struct ValueToString<FloatPolygonEdge*> { 159 struct ValueToString<FloatPolygonEdge*> {
158 STATIC_ONLY(ValueToString); 160 STATIC_ONLY(ValueToString);
159 static String toString(const FloatPolygonEdge* edge) { 161 static String toString(const FloatPolygonEdge* edge) {
160 return String::format("%p (%f,%f %f,%f)", edge, edge->vertex1().x(), 162 return String::format("%p (%f,%f %f,%f)", edge, edge->vertex1().x(),
161 edge->vertex1().y(), edge->vertex2().x(), 163 edge->vertex1().y(), edge->vertex2().x(),
162 edge->vertex2().y()); 164 edge->vertex2().y());
163 } 165 }
164 }; 166 };
165 #endif 167 #endif
166 168
167 } // namespace blink 169 } // namespace blink
168 170
169 #endif // FloatPolygon_h 171 #endif // FloatPolygon_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698