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

Side by Side Diff: Source/platform/geometry/FloatRect.cpp

Issue 1098193002: Remove unused fitToPoints API (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 8 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
« no previous file with comments | « Source/platform/geometry/FloatRect.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved.
3 * Copyright (C) 2005 Nokia. All rights reserved. 3 * Copyright (C) 2005 Nokia. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 15 matching lines...) Expand all
26 26
27 #include "config.h" 27 #include "config.h"
28 #include "platform/geometry/FloatRect.h" 28 #include "platform/geometry/FloatRect.h"
29 29
30 #include "platform/FloatConversion.h" 30 #include "platform/FloatConversion.h"
31 #include "platform/geometry/IntRect.h" 31 #include "platform/geometry/IntRect.h"
32 #include "platform/geometry/LayoutRect.h" 32 #include "platform/geometry/LayoutRect.h"
33 #include "third_party/skia/include/core/SkRect.h" 33 #include "third_party/skia/include/core/SkRect.h"
34 #include "wtf/MathExtras.h" 34 #include "wtf/MathExtras.h"
35 35
36 #include <algorithm>
37 #include <math.h>
38
39 namespace blink { 36 namespace blink {
40 37
41 FloatRect::FloatRect(const IntRect& r) : m_location(r.location()), m_size(r.size ()) 38 FloatRect::FloatRect(const IntRect& r) : m_location(r.location()), m_size(r.size ())
42 { 39 {
43 } 40 }
44 41
45 FloatRect::FloatRect(const LayoutRect& r) : m_location(r.location()), m_size(r.s ize()) 42 FloatRect::FloatRect(const LayoutRect& r) : m_location(r.location()), m_size(r.s ize())
46 { 43 {
47 } 44 }
48 45
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 { 166 {
170 FloatRect result; 167 FloatRect result;
171 168
172 size_t count = rects.size(); 169 size_t count = rects.size();
173 for (size_t i = 0; i < count; ++i) 170 for (size_t i = 0; i < count; ++i)
174 result.unite(rects[i]); 171 result.unite(rects[i]);
175 172
176 return result; 173 return result;
177 } 174 }
178 175
179 void FloatRect::fitToPoints(const FloatPoint& p0, const FloatPoint& p1)
180 {
181 float left = std::min(p0.x(), p1.x());
182 float top = std::min(p0.y(), p1.y());
183 float right = std::max(p0.x(), p1.x());
184 float bottom = std::max(p0.y(), p1.y());
185
186 setLocationAndSizeFromEdges(left, top, right, bottom);
187 }
188
189 namespace {
190 // Helpers for 3- and 4-way max and min.
191
192 template <typename T>
193 T min3(const T& v1, const T& v2, const T& v3)
194 {
195 return std::min(std::min(v1, v2), v3);
196 }
197
198 template <typename T>
199 T max3(const T& v1, const T& v2, const T& v3)
200 {
201 return std::max(std::max(v1, v2), v3);
202 }
203
204 template <typename T>
205 T min4(const T& v1, const T& v2, const T& v3, const T& v4)
206 {
207 return std::min(std::min(v1, v2), std::min(v3, v4));
208 }
209
210 template <typename T>
211 T max4(const T& v1, const T& v2, const T& v3, const T& v4)
212 {
213 return std::max(std::max(v1, v2), std::max(v3, v4));
214 }
215
216 } // anonymous namespace
217
218 void FloatRect::fitToPoints(const FloatPoint& p0, const FloatPoint& p1, const Fl oatPoint& p2)
219 {
220 float left = min3(p0.x(), p1.x(), p2.x());
221 float top = min3(p0.y(), p1.y(), p2.y());
222 float right = max3(p0.x(), p1.x(), p2.x());
223 float bottom = max3(p0.y(), p1.y(), p2.y());
224
225 setLocationAndSizeFromEdges(left, top, right, bottom);
226 }
227
228 void FloatRect::fitToPoints(const FloatPoint& p0, const FloatPoint& p1, const Fl oatPoint& p2, const FloatPoint& p3)
229 {
230 float left = min4(p0.x(), p1.x(), p2.x(), p3.x());
231 float top = min4(p0.y(), p1.y(), p2.y(), p3.y());
232 float right = max4(p0.x(), p1.x(), p2.x(), p3.x());
233 float bottom = max4(p0.y(), p1.y(), p2.y(), p3.y());
234
235 setLocationAndSizeFromEdges(left, top, right, bottom);
236 }
237
238 #ifndef NDEBUG 176 #ifndef NDEBUG
239 void FloatRect::show() const 177 void FloatRect::show() const
240 { 178 {
241 LayoutRect(*this).show(); 179 LayoutRect(*this).show();
242 } 180 }
243 #endif 181 #endif
244 182
245 IntRect enclosingIntRect(const FloatRect& rect) 183 IntRect enclosingIntRect(const FloatRect& rect)
246 { 184 {
247 IntPoint location = flooredIntPoint(rect.minXMinYCorner()); 185 IntPoint location = flooredIntPoint(rect.minXMinYCorner());
(...skipping 23 matching lines...) Expand all
271 return FloatRect(); 209 return FloatRect();
272 210
273 float widthScale = destRect.width() / srcRect.width(); 211 float widthScale = destRect.width() / srcRect.width();
274 float heightScale = destRect.height() / srcRect.height(); 212 float heightScale = destRect.height() / srcRect.height();
275 return FloatRect(destRect.x() + (r.x() - srcRect.x()) * widthScale, 213 return FloatRect(destRect.x() + (r.x() - srcRect.x()) * widthScale,
276 destRect.y() + (r.y() - srcRect.y()) * heightScale, 214 destRect.y() + (r.y() - srcRect.y()) * heightScale,
277 r.width() * widthScale, r.height() * heightScale); 215 r.width() * widthScale, r.height() * heightScale);
278 } 216 }
279 217
280 } 218 }
OLDNEW
« no previous file with comments | « Source/platform/geometry/FloatRect.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698