aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkRect.h
Commit message (Collapse)AuthorAge
* restore intersect methods to use old-style empty-checks on their inputsGravatar Mike Reed2018-01-10
| | | | | | | | | | Bug introduced when we made isEmpty check for int32_t width/height Bug:800804 Change-Id: I59799c88fb02f176c1545dd0edae050b510df079 Reviewed-on: https://skia-review.googlesource.com/93302 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* use 64bit math to compute is a rect is emptyGravatar Mike Reed2018-01-09
| | | | | | | | | | | Will work next to try to make isEmpty() private Bug: skia:7470 Bug:799715 Change-Id: I7b43028ecd86dca68e0c67225712516d2f2f88a2 Reviewed-on: https://skia-review.googlesource.com/92620 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* make growToInclude privateGravatar Mike Reed2018-01-08
| | | | | | | | | Bug: skia: Change-Id: Id55344ba2f33563d22c2bf4d5829a9a31095a47d Reviewed-on: https://skia-review.googlesource.com/92143 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* move largest apis into privateGravatar Mike Reed2018-01-08
| | | | | | | | | Related to https://skia-review.googlesource.com/c/skia/+/91860 Bug: skia: Change-Id: Ia8fd981b422bbab75541b078277d2e09e1fc9d41 Reviewed-on: https://skia-review.googlesource.com/91940 Reviewed-by: Brian Salomon <bsalomon@google.com>
* check for irect with overflow width/heightGravatar Mike Reed2018-01-03
| | | | | | | | Bug:798066 Change-Id: Iac324ac5a32fae241a528751c84279ce60ac4baf Reviewed-on: https://skia-review.googlesource.com/90544 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com>
* generated include refreshGravatar Cary Clark2017-10-30
| | | | | | | | | | | | The latest, minor changes on includes already generated, plus four new ones. TBR=reed@google.com Bug: skia:6898 Change-Id: If06ae9b9aaa3a0a9fae570aa7a6698ff340c43b8 Reviewed-on: https://skia-review.googlesource.com/62862 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* Revert "Revert "Fix a couple float-cast-overflow in SkScan*.""Gravatar Ben Wagner2017-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b6abb9b4e088abee8b8dfcce9c9f7eb759518198. Reason for revert: It doesn't make sense that this CL would affect the tests implicated in the perf regression in skia:7143, and the revert had no effect on the perf of those tests. Seems like the perf alert was either noise or due to a different CL. Original change's description: > Revert "Fix a couple float-cast-overflow in SkScan*." > > This reverts commit 3cd0bef0fd9d062bbcc313c329b4f31925e8ded7. > > Reason for revert: https://bugs.chromium.org/p/skia/issues/detail?id=7143 > > Original change's description: > > Fix a couple float-cast-overflow in SkScan*. > > > > Bug: skia:5060 > > Change-Id: I60a48993c77631aaad9354bb86b13204dc618bf4 > > Reviewed-on: https://skia-review.googlesource.com/47422 > > Commit-Queue: Ben Wagner <benjaminwagner@google.com> > > Reviewed-by: Mike Reed <reed@google.com> > > TBR=benjaminwagner@google.com,reed@google.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: skia:7143 > Change-Id: I0f19720a7d8344789a375bbb6b9e28bf4f4e55ae > Reviewed-on: https://skia-review.googlesource.com/57240 > Commit-Queue: Ben Wagner <benjaminwagner@google.com> > Reviewed-by: Ben Wagner <benjaminwagner@google.com> TBR=benjaminwagner@google.com,reed@google.com Change-Id: I29ac47d6665e2e52ee2a6500488dc407c8d2af1c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7143 Reviewed-on: https://skia-review.googlesource.com/57440 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Revert "Fix a couple float-cast-overflow in SkScan*."Gravatar Ben Wagner2017-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3cd0bef0fd9d062bbcc313c329b4f31925e8ded7. Reason for revert: https://bugs.chromium.org/p/skia/issues/detail?id=7143 Original change's description: > Fix a couple float-cast-overflow in SkScan*. > > Bug: skia:5060 > Change-Id: I60a48993c77631aaad9354bb86b13204dc618bf4 > Reviewed-on: https://skia-review.googlesource.com/47422 > Commit-Queue: Ben Wagner <benjaminwagner@google.com> > Reviewed-by: Mike Reed <reed@google.com> TBR=benjaminwagner@google.com,reed@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia:7143 Change-Id: I0f19720a7d8344789a375bbb6b9e28bf4f4e55ae Reviewed-on: https://skia-review.googlesource.com/57240 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Fix a couple float-cast-overflow in SkScan*.Gravatar Ben Wagner2017-10-07
| | | | | | | | Bug: skia:5060 Change-Id: I60a48993c77631aaad9354bb86b13204dc618bf4 Reviewed-on: https://skia-review.googlesource.com/47422 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Mike Reed <reed@google.com>
* add constexpr to SkRect, SkIRect Make functionsGravatar Cary Clark2017-10-05
| | | | | | | | | | | | | Also, doing so exposed a couple of unused variables in tests. R: bsalomon@google.com Bug: skia: 6898 Change-Id: I7b065e26a838fe55a1d772bcefaef5325e1baa61 Reviewed-on: https://skia-review.googlesource.com/55680 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* minor changes to SkMatrix.h and SkRect.hGravatar Cary Clark2017-09-19
| | | | | | | | | | | | | | | Add missing param names so doxygen comments have something to reference. Add commas for all members in enums for consistency across includes. TBR=reed@google.com Bug: skia: 6898 Change-Id: Ida92ed6144430072d52846001b2f618043b5b480 Reviewed-on: https://skia-review.googlesource.com/48046 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* change SkRect::growToInclude to take a point instead of x,yGravatar Mike Reed2017-08-28
| | | | | | | | | | | | | | This avoids the dangerous overload problem of growToInclude(0, 0) matching to (const SkPoint[], count) rather than growToInclude(x, y) Bug: skia: Change-Id: Iaba8b1a579638ff363fde62e4e3004052dd2b2ac Reviewed-on: https://skia-review.googlesource.com/39501 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove SkIsS16 and SkIsU16.Gravatar Ben Wagner2017-08-25
| | | | | | | | | | | SkIsS16 can be replaced with SkTFitsIn<int16_t> and SkIsU16 is never used. Change-Id: I734f677149fab102cdb295a7b34faa3e3089134a Reviewed-on: https://skia-review.googlesource.com/38600 Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Align const pointer casts in SkRectGravatar Kevin Lubick2017-07-24
| | | | | | | | | | Clang5 reports this as a bug. Bug: skia: Change-Id: I838b8abf2399429358f83d3232dc9d2caac54967 Reviewed-on: https://skia-review.googlesource.com/26080 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Sort all user-supplied rects before computeFastBoundsGravatar Brian Osman2017-05-13
| | | | | | | | | | | | | | | | https://codereview.chromium.org/908353002 fixed drawRect 2+ years ago, but drawOval and drawArc were still susceptible. This version ensures that all rects are sorted before we do the bounds check. Added a new makeSorted helper to simplify the code, and an assert to catch any future oversight. All other drawing functions compute their bounds rect in some way that already ensures it is sorted. Bug: skia: Change-Id: I8926b2dbe9d496d0876f1ac5313bd058ae4568b7 Reviewed-on: https://skia-review.googlesource.com/16702 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add tracking of unique proxyID beside unique renderTargetID in auditTrail ↵Gravatar Robert Phillips2017-03-31
| | | | | | | | | | | and clearOp Split out of: https://skia-review.googlesource.com/c/10284/ (Omnibus: Remove GrSurface-derived classes from ops) Change-Id: I5845a47d94decc455ec3b1f0a5876b1c82aa32e8 Reviewed-on: https://skia-review.googlesource.com/10750 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* optimize intersect, use getType to utilize fast-case in preTranslateGravatar Mike Reed2017-03-07
| | | | | | | | | | | | | | | 10-15% speed up in clip_record_overhead bench Comparing the raw fType field was missing the (maybe deprecatable) IsRectToRect bit (0x10), which is set for identity and translate matrices, so we were never taking the fast case. BUG=skia: Change-Id: I1c73f4bae42f2311454c7568ef8891239c3cae83 Reviewed-on: https://skia-review.googlesource.com/9388 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Herb Derby <herb@google.com>
* helper to SkRect to create from SkISizeGravatar reed2016-09-12
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2332733002 TBR= NOTREECHECKS=True NOTRY=True Review-Url: https://codereview.chromium.org/2332733002
* In GrShape detect that stroked axis-aligned lines are rrects.Gravatar bsalomon2016-07-18
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151313002 Review-Url: https://codereview.chromium.org/2151313002
* Revert of try to speed-up maprect + round2i + contains (patchset #8 ↵Gravatar msarett2016-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:140001 of https://codereview.chromium.org/2133413002/ ) Reason for revert: Breaking the roll... https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/253294/steps/compile%20%28with%20patch%29/logs/stdio Original issue's description: > try to speed-up maprect + round2i + contains > > We call roundOut in a few places. If we can get SkNx::Ceil we could efficiently implement that as well. > > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2133413002 > CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > Committed: https://skia.googlesource.com/skia/+/b42b785d1cbc98bd34aceae338060831b974f9c5 TBR=mtklein@google.com,reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2136343002
* try to speed-up maprect + round2i + containsGravatar reed2016-07-11
| | | | | | | | | | We call roundOut in a few places. If we can get SkNx::Ceil we could efficiently implement that as well. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2133413002 CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2133413002
* Add bounds to GrShapeGravatar bsalomon2016-05-13
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970003003 Review-Url: https://codereview.chromium.org/1970003003
* Cleanups related to SkFixed.Gravatar benjaminwagner2016-02-25
| | | | | | | | | | | | | | | | | | | | | This CL relands https://codereview.chromium.org/1683743005/ with two fixes: - Removing the test for vertical text. Vertical text doesn't work on Windows and breakText isn't supported for non-trivial text. - Omit PaintBreakTextTest in Google3 because we don't have the correct font setup yet. Remove SK_FixedNaN. It does not seem to be supported or used anywhere in Skia, Chromium, Android, or Google3, (except accidentally by TwoPtRadial::kDontDrawT). I think supporting it would erase any benefit of SkFixed over float. Remove SkBitmapFilter::lookup. It does not appear to be used anywhere in Skia, Chromium, Android, or Google3. Fix a bug in SkPaint::breakText that limited it to ~5kB of text. Now it can handle more than 1GB. BUG=skia:4632 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1683743005 Committed: https://skia.googlesource.com/skia/+/7ea5cb18389db11a94175de95c9db2b44972630c patch from issue 1683743005 at patchset 120001 (http://crrev.com/1683743005#ps120001) Review URL: https://codereview.chromium.org/1739453002
* Revert of Simple cleanups related to SkFixed. (patchset #4 id:120001 of ↵Gravatar benjaminwagner2016-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1683743005/ ) Reason for revert: New test is failing on Windows. Original issue's description: > Cleanups related to SkFixed. > > Remove SK_FixedNaN. It does not seem to be supported or used anywhere in Skia, Chromium, Android, or Google3, (except accidentally by TwoPtRadial::kDontDrawT). I think supporting it would erase any benefit of SkFixed over float. > > Remove SkBitmapFilter::lookup. It does not appear to be used anywhere in Skia, Chromium, Android, or Google3. > > Fix a bug in SkPaint::breakText that limited it to ~5kB of text. Now it can handle more than 1GB. > > BUG=skia:4632 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1683743005 > > Committed: https://skia.googlesource.com/skia/+/7ea5cb18389db11a94175de95c9db2b44972630c TBR=mtklein@google.com,reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4632 Review URL: https://codereview.chromium.org/1724283003
* Cleanups related to SkFixed.Gravatar benjaminwagner2016-02-24
| | | | | | | | | | | | | Remove SK_FixedNaN. It does not seem to be supported or used anywhere in Skia, Chromium, Android, or Google3, (except accidentally by TwoPtRadial::kDontDrawT). I think supporting it would erase any benefit of SkFixed over float. Remove SkBitmapFilter::lookup. It does not appear to be used anywhere in Skia, Chromium, Android, or Google3. Fix a bug in SkPaint::breakText that limited it to ~5kB of text. Now it can handle more than 1GB. BUG=skia:4632 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1683743005 Review URL: https://codereview.chromium.org/1683743005
* handle halfway case in scan converterGravatar caryclark2016-01-04
| | | | | | | | | | | | | | | | | Scan edges that start at exactly -0.5 aren't trimmed by clipping or by rounding, triggering a debug assert. One way to fix this is to round the top and left down instead of up. Also, move the path initialization of gm/composeshader.cpp to make debugging other path problems easier. R=reed@google.com BUG=skia:2715 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1544873002 Review URL: https://codereview.chromium.org/1544873002
* Simple CL to add a joinWithPossiblyEmptyArg to SkRectGravatar joshualitt2015-05-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1118293002
* Remove useless SkASSERT in SkRect.h and SkRegion.hGravatar dongseong.hwang2015-04-28
| | | | | | | | | The pointer of reference is always not-null. It causes >50k lines of warnning when chromium is compiled by clang. Warning looks like ../../third_party/skia/include/core/SkRect.h:284:19: warning: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Wundefined-bool-conversion] do { if (&r) break; SkNO_RETURN_HINT(); SkDebugf_FileLine("../../third_party/skia/include/core/SkRect.h", 284, false, "%s:%d: failed assertion \"%s\"\n", "../../third_party/skia/include/core/SkRect.h", 284, "&r"); SkDebugf_FileLine("../../third_party/skia/include/core/SkRect.h", 284, true, "SK_CRASH"); } while (false); Review URL: https://codereview.chromium.org/1111013002
* some utils for rect and matrixGravatar reed2015-03-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1003813003
* I'd really like to land this before the branch so speedy reviews are ↵Gravatar joshualitt2015-02-25
| | | | | | | | | | appreciated. BUG=skia: Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336 Review URL: https://codereview.chromium.org/936943002
* Revert of Pass clip to context (patchset #8 id:180001 of ↵Gravatar joshualitt2015-02-25
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/936943002/) Reason for revert: Strange blur problems on nexus 5 Original issue's description: > I'd really like to land this before the branch so speedy reviews are appreciated. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336 TBR=jvanverth@google.com,senorblanco@google.com,bsalomon@google.com,senorblanco@chromium.org,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/956083002
* I'd really like to land this before the branch so speedy reviews are ↵Gravatar joshualitt2015-02-25
| | | | | | | | appreciated. BUG=skia: Review URL: https://codereview.chromium.org/936943002
* Move clip off of draw targetGravatar joshualitt2015-02-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/947443003
* It is dangerous to ignore SkRect::intersect's return valueGravatar robertphillips2015-01-07
| | | | | | Committed: https://skia.googlesource.com/skia/+/152f524fd325b7776b01f84afbfe2fa071648a05 Review URL: https://codereview.chromium.org/833943002
* Revert of It is dangerous to ignore SkRect::intersect's return value ↵Gravatar robertphillips2015-01-07
| | | | | | | | | | | | | | | | | | (patchset #6 id:100001 of https://codereview.chromium.org/833943002/) Reason for revert: Still more Chromium clean up to do Original issue's description: > It is dangerous to ignore SkRect::intersect's return value > > Committed: https://skia.googlesource.com/skia/+/152f524fd325b7776b01f84afbfe2fa071648a05 TBR=reed@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/825983005
* It is dangerous to ignore SkRect::intersect's return valueGravatar robertphillips2015-01-07
| | | | Review URL: https://codereview.chromium.org/833943002
* add sample for arcToGravatar reed2014-12-16
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/808793002
* pass dst-rect through from drawBitmapRect for better precisionGravatar reed2014-12-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/797963002
* Rewrite NaN checks in terms of SkScalarIsNaN()Gravatar ehsan.akhgari2014-12-15
| | | | | | | | | | We are trying to replace Skia's NaN checker with our own in Mozilla, so it would be nice to have to patch a single place by making sure these NaN checks used SkScalarIsNaN(). BUG=skia: Review URL: https://codereview.chromium.org/809443002
* add dumpHex option to rect and rrect, to match pathGravatar reed2014-12-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/801383002
* add roundOut that returns its resultGravatar reed2014-11-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/742663002
* change roundOut() to take a dst, so we can use that signature to return IRectGravatar reed2014-11-18
| | | | | | | BUG=skia: TBR=robertphilips Review URL: https://codereview.chromium.org/731373003
* Optimize SkRect::sort()Gravatar qiankun.miao2014-11-03
| | | | | | | | | This optimization can reduce comparison and assignments. For geo_rect_sort benchmark, performance improved to 1.63us from 3.28us. BUG=skia: Review URL: https://codereview.chromium.org/695443005
* add tests for large cordinates bounds when building aaclipGravatar reed2014-10-15
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/658753002
* faster SkRect::sortGravatar reed2014-10-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/646863002
* cleanup and optimize rect intersect routinesGravatar reed2014-10-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/640723004
* add SkRect::joinNonEmptyArg for faster unioningGravatar reed2014-10-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/619853005
* update to accommodate latest clang in chrome toolchainGravatar caryclark2014-09-18
| | | | | | | | | | | remove asserts for null pointers to references change var args signature to pointer instead of array R=mtklein@google.com, reed@android.com, reed@google.com, mtklein, reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/577243002
* Add dump() to SkClipStack to help with debugging.Gravatar bsalomon2014-06-09
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/311263015
* add makeOffset and makeInset to SkRectGravatar reed2014-06-02
| | | | | | | | | | TBR=bsalomon precursor for https://codereview.chromium.org/306013010 Author: reed@google.com Review URL: https://codereview.chromium.org/306893012