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

Side by Side Diff: core/src/fxcrt/fx_basic_coords.cpp

Issue 1752543002: Add CFX_FloatRect::ToFxRect(). (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 9 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 | « core/include/fxcrt/fx_coordinates.h ('k') | fpdfsdk/src/fxedit/fxet_pageobjs.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include <limits.h> 7 #include <limits.h>
8 8
9 #include "core/include/fxcrt/fx_coordinates.h" 9 #include "core/include/fxcrt/fx_coordinates.h"
10 #include "core/include/fxcrt/fx_ext.h" 10 #include "core/include/fxcrt/fx_ext.h"
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 i2 = i1 + length; 180 i2 = i1 + length;
181 } 181 }
182 FX_RECT CFX_FloatRect::GetClosestRect() const { 182 FX_RECT CFX_FloatRect::GetClosestRect() const {
183 CFX_FloatRect rect1 = *this; 183 CFX_FloatRect rect1 = *this;
184 FX_RECT rect; 184 FX_RECT rect;
185 _MatchFloatRange(rect1.left, rect1.right, rect.left, rect.right); 185 _MatchFloatRange(rect1.left, rect1.right, rect.left, rect.right);
186 _MatchFloatRange(rect1.bottom, rect1.top, rect.top, rect.bottom); 186 _MatchFloatRange(rect1.bottom, rect1.top, rect.top, rect.bottom);
187 rect.Normalize(); 187 rect.Normalize();
188 return rect; 188 return rect;
189 } 189 }
190 FX_BOOL CFX_FloatRect::Contains(const CFX_FloatRect& other_rect) const { 190
191 CFX_FloatRect n1 = *this; 191 bool CFX_FloatRect::Contains(const CFX_FloatRect& other_rect) const {
192 CFX_FloatRect n1(*this);
193 CFX_FloatRect n2(other_rect);
192 n1.Normalize(); 194 n1.Normalize();
193 CFX_FloatRect n2 = other_rect;
194 n2.Normalize(); 195 n2.Normalize();
195 if (n2.left >= n1.left && n2.right <= n1.right && n2.bottom >= n1.bottom && 196 return n2.left >= n1.left && n2.right <= n1.right && n2.bottom >= n1.bottom &&
196 n2.top <= n1.top) { 197 n2.top <= n1.top;
197 return TRUE;
198 }
199 return FALSE;
200 } 198 }
201 FX_BOOL CFX_FloatRect::Contains(FX_FLOAT x, FX_FLOAT y) const { 199
202 CFX_FloatRect n1 = *this; 200 bool CFX_FloatRect::Contains(FX_FLOAT x, FX_FLOAT y) const {
201 CFX_FloatRect n1(*this);
203 n1.Normalize(); 202 n1.Normalize();
204 return x <= n1.right && x >= n1.left && y <= n1.top && y >= n1.bottom; 203 return x <= n1.right && x >= n1.left && y <= n1.top && y >= n1.bottom;
205 } 204 }
205
206 void CFX_FloatRect::UpdateRect(FX_FLOAT x, FX_FLOAT y) { 206 void CFX_FloatRect::UpdateRect(FX_FLOAT x, FX_FLOAT y) {
207 if (left > x) { 207 if (left > x) {
208 left = x; 208 left = x;
209 } 209 }
210 if (right < x) { 210 if (right < x) {
211 right = x; 211 right = x;
212 } 212 }
213 if (bottom > y) { 213 if (bottom > y) {
214 bottom = y; 214 bottom = y;
215 } 215 }
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 left = x[i]; 508 left = x[i];
509 } 509 }
510 if (top < y[i]) { 510 if (top < y[i]) {
511 top = y[i]; 511 top = y[i];
512 } 512 }
513 if (bottom > y[i]) { 513 if (bottom > y[i]) {
514 bottom = y[i]; 514 bottom = y[i];
515 } 515 }
516 } 516 }
517 } 517 }
OLDNEW
« no previous file with comments | « core/include/fxcrt/fx_coordinates.h ('k') | fpdfsdk/src/fxedit/fxet_pageobjs.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698