Commit Graph

91 Commits

Author SHA1 Message Date
robertphillips@google.com
83d1a68141 Add special handling of rectori case for gpu
https://codereview.chromium.org/15080010/



git-svn-id: http://skia.googlecode.com/svn/trunk@9175 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-17 12:50:27 +00:00
reed@google.com
3eff3592ac need to clamp all of the cubic points after a chop, in case our finite precision
meant we didn't compute values below the chop-point.

crbug:234190

R=caryclark@google.com

Review URL: https://codereview.chromium.org/14607012

git-svn-id: http://skia.googlecode.com/svn/trunk@9071 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 21:08:21 +00:00
caryclark@google.com
7abfa49390 turn on pathops unit test
This temporarily disables SK_ENABLE_INST_COUNT 
( skbug.com/1219 )

This fixes a linktime error on VS2012 in
PathTest.cpp; -SK_ScalarInfinity should be
SK_ScalarNegativeInfinity instead.

This adds pathops and pathops unit tests to the
main unit tests.

Should this change destabilize anything, it should
be sufficient to comment out the pathops gypi
includes. at test.gyp:18,21.
Review URL: https://codereview.chromium.org/14137010

git-svn-id: http://skia.googlecode.com/svn/trunk@8644 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 11:59:41 +00:00
skia.committer@gmail.com
391ca66276 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8608 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 07:01:45 +00:00
reed@google.com
7a90daf258 fix bug introduced with SK_IGNORE_CUBIC_STROKE_FIX where we no longer respected
subDivide limit. This caused problems with degenate paths (too much recursion).

The fix was two parts:
1. decrement the subDivide limit as we recurse
2. up the limit for cubics to 7, to match our current quality

added unittest that replicated the too-much-recursion bug.
Review URL: https://codereview.chromium.org/14086002

git-svn-id: http://skia.googlecode.com/svn/trunk@8599 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:44:00 +00:00
jvanverth@google.com
c490f801b0 Change random number generator for 'tests' to SkMWCRandom. Also removes some
unused headers and fixes a couple of bugs exposed by changing the random 
number generator:

First, the function SkMatrix::getMaxStretch() had an error where it was testing
the square of a number against near-zero. This led to it occasionally taking a
cheaper but imprecise path for computing the eigenvalues of the matrix. It's 
been replaced with a check against the square of SK_ScalarNearlyZero. 

The second case was a failure in ClipStackTest, where it hit the rare case of 
a practically empty clip stack (it has a single Union) and we set a tight 
bounds. The bounds rect doesn't get set by GrReducedClip::ReduceClipStack() in 
this case, so when it clips the reduced stack it's clipping against garbage, 
and the resulting regions don't match. The solution is to initialize the 
tightBounds rect.


git-svn-id: http://skia.googlecode.com/svn/trunk@7952 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-04 13:56:38 +00:00
sugoi@google.com
54f0d1b711 Tests : Unused parameters cleanup
I removed unused parameters in the tests wherever it was trivial to do so. I'm trying to get the easy ones out of the way before we get into more involved discussions around this.
Review URL: https://codereview.appspot.com/7394055

git-svn-id: http://skia.googlecode.com/svn/trunk@7891 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 19:17:41 +00:00
reed@google.com
dff53c26e7 remove obsolete build flag SK_IGNORE_CONVEX_QUAD_OPT
Review URL: https://codereview.appspot.com/7363046

git-svn-id: http://skia.googlecode.com/svn/trunk@7820 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 14:19:58 +00:00
robertphillips@google.com
194bf824f0 Reverse sense of convex-quad-fix compiler flag
https://codereview.appspot.com/7206045/



git-svn-id: http://skia.googlecode.com/svn/trunk@7349 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 20:45:26 +00:00
skia.committer@gmail.com
36df7ed46b Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7293 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-19 07:05:38 +00:00
reed@google.com
64d6295b0f increase iteration count from 16 to 24, when computing cubic-line intersection.
This fixes crbug 170666. Before the fix, were were finishing the "clip" step
with a curve that was still partly negative, and so as assert would fire.

added unittest to confirm that the assert doesn't fire.



git-svn-id: http://skia.googlecode.com/svn/trunk@7278 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 17:49:28 +00:00
skia.committer@gmail.com
ff21c2e0ae Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7215 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 07:05:56 +00:00
reed@google.com
848148ec10 Fix bug in cubic-clipper (SkEdgeClipper). When we chop the cubic on Top/Bottom
of the cliprect, we (correctly) clamp the Y coordinate of the control-point
right next to the on-curve point that was chopped (this ensures we don't go
slightly outside of the clip-rect due to imperfect T value calculation). However,
the code was also clamping the other control-point as well, resulting in warping
the cubic, which could sometimes force it outside of the clip.

The fix is to just remove the line of code that clampped the 2nd control-point.

unittest added to reproduce a test cubic that triggered an assert, due to the
cubic being outside of the cliprect. The test (w/o the fix) will assert in 
a SK_DEBUG build.
Review URL: https://codereview.appspot.com/7100056

git-svn-id: http://skia.googlecode.com/svn/trunk@7184 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 15:51:59 +00:00
bsalomon@google.com
50c79d886b Enable warnings-as-errors on Windows.
Review URL: https://codereview.appspot.com/7066054

git-svn-id: http://skia.googlecode.com/svn/trunk@7094 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-08 20:31:53 +00:00
reed@google.com
a8a3b3d9a0 check for bad enum use when adding contours
Review URL: https://codereview.appspot.com/6849103

git-svn-id: http://skia.googlecode.com/svn/trunk@6547 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-26 18:16:27 +00:00
skia.committer@gmail.com
1c9c0d3711 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6540 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-22 02:02:41 +00:00
caryclark@google.com
f68154a3cf Add isRect variant that returns path closure and direction.
Add path test to verify that when isRect() returns false,
output parameters are unchanged.
Review URL: https://codereview.appspot.com/6855074

git-svn-id: http://skia.googlecode.com/svn/trunk@6524 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-21 15:18:06 +00:00
caryclark@google.com
bfe90370ea detect wrapped rect in path
Allow a rect to start in the middle of a span, and
wrap all the way around.

Initialize variable to suppress warning.

Add tests to detect rects constructed from a stroked
path.
Review URL: https://codereview.appspot.com/6847082

git-svn-id: http://skia.googlecode.com/svn/trunk@6522 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-21 13:56:20 +00:00
skia.committer@gmail.com
3458716b52 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6500 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-20 02:01:23 +00:00
caryclark@google.com
56f233ab54 add two nested rect detector to path
Tease apart existing one rect path detector so
that a new variant can detect two nested rects as well.

Add tests to verify that both one and two rect
detectors both work and return the correct results.

Suppress other warnings in PathTest.
Review URL: https://codereview.appspot.com/6850059

git-svn-id: http://skia.googlecode.com/svn/trunk@6475 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-19 13:06:06 +00:00
mike@reedtribe.org
b947625800 remove unused (and undefined) SkColorSpace parameter.
git-svn-id: http://skia.googlecode.com/svn/trunk@6427 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-15 02:37:45 +00:00
skia.committer@gmail.com
cec8de6821 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6413 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-14 02:01:22 +00:00
bsalomon@google.com
9bee33afbe Add a conservativelyContainsRect function to SkPath.
Review URL: https://codereview.appspot.com/6852044

git-svn-id: http://skia.googlecode.com/svn/trunk@6411 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-13 21:51:38 +00:00
skia.committer@gmail.com
fbb0ed959d Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6409 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-13 21:46:06 +00:00
bsalomon@google.com
30c174b9ce Make SkPath cache the result of cheapComputeDirection.
Review URL: https://codereview.appspot.com/6810111

git-svn-id: http://skia.googlecode.com/svn/trunk@6394 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-13 14:36:42 +00:00
reed@google.com
20fb0c7f22 add tests for degenerate serifs to computeDirection
git-svn-id: http://skia.googlecode.com/svn/trunk@6391 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-13 13:47:39 +00:00
skia.committer@gmail.com
8b0e2340e1 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6088 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 02:01:20 +00:00
reed@google.com
a8790debaa If a path is known to be nonfinite, don't forget that in our autobounds
helper. "Once a non-finite, always a non-finite".

Inspired by crbug/157157
Review URL: https://codereview.appspot.com/6764047

git-svn-id: http://skia.googlecode.com/svn/trunk@6087 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-24 21:04:04 +00:00
robertphillips@google.com
158618ec62 Removed degenerate quads from zero radius Chrome-style round rects
https://codereview.appspot.com/6737059/



git-svn-id: http://skia.googlecode.com/svn/trunk@6053 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-23 16:56:56 +00:00
skia.committer@gmail.com
6a748ad8d8 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6013 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-19 02:01:19 +00:00
robertphillips@google.com
c7a37c7bb2 Place r5997 (make arcto's convex) behind a compiler flag to delay day of reckoning with Webkit baselines
git-svn-id: http://skia.googlecode.com/svn/trunk@6012 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-19 01:26:18 +00:00
robertphillips@google.com
b95eaa8d08 Altered arcTo's canonical points to (usually) be convex
https://codereview.appspot.com/6709051/

This will require rebaselining of: degeneratesegments, shadertext & shadertext2



git-svn-id: http://skia.googlecode.com/svn/trunk@5997 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-18 15:26:12 +00:00
robertphillips@google.com
968c17ddda fixed compiler complaints
http://codereview.appspot.com/6499124/



git-svn-id: http://skia.googlecode.com/svn/trunk@5565 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-17 12:05:40 +00:00
skia.committer@gmail.com
055c7c299c Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5561 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-15 02:01:41 +00:00
reed@google.com
8cae8358f7 fix fragile cubic stepper, where we want to assert that each tesselated segment
is monotonically going down, but the finite math we use cannot ensure that...
so we explicitly pin the y-value after it is calculated.

add unittest that exercises the bug/assert that was found on an SVG site



git-svn-id: http://skia.googlecode.com/svn/trunk@5544 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-14 15:18:41 +00:00
rmistry@google.com
d6176b0dca Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)
This CL is part II of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6474054

git-svn-id: http://skia.googlecode.com/svn/trunk@5263 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:14:13 +00:00
tomhudson@google.com
ed02c4d05e Fix handling of infinite bounds during "fast transforms".
http://codereview.appspot.com/6449125/



git-svn-id: http://skia.googlecode.com/svn/trunk@5042 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-10 14:10:45 +00:00
robertphillips@google.com
2972bb5fd2 Adding storage of SkPath::fIsOval
http://codereview.appspot.com/6453085/



git-svn-id: http://skia.googlecode.com/svn/trunk@4991 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 17:32:51 +00:00
reed@google.com
eef938c0a7 check that copied paths have the same segment-masks as their src
git-svn-id: http://skia.googlecode.com/svn/trunk@4898 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 20:01:49 +00:00
reed@google.com
0bb18bb264 explicitly track if a path is finite or not
we need this (it appears) so we can definitively reject non-finite paths
in canvas, before passing them down into the guts.
Review URL: https://codereview.appspot.com/6453047

git-svn-id: http://skia.googlecode.com/svn/trunk@4784 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 15:20:36 +00:00
bsalomon@google.com
4eefe6132c Handle convex paths with degeneracies in cheap direction computation
Review URL: http://codereview.appspot.com/6349085/



git-svn-id: http://skia.googlecode.com/svn/trunk@4515 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 18:28:12 +00:00
schenney@chromium.org
fedd09ba7e Really fix the build.
git-svn-id: http://skia.googlecode.com/svn/trunk@4253 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-13 18:29:20 +00:00
schenney@chromium.org
aaf1688959 Speculative build fix. Tests do not fail locally.
git-svn-id: http://skia.googlecode.com/svn/trunk@4248 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-13 17:41:00 +00:00
schenney@chromium.org
7e963605d5 Fix the problem of rendering closePath not properly after a moveTo call in
canvas 2D interface. If there is a polyline, followed by a moveTo and a
closePath, both the moveTo and the closePath should be ignored for the purposes
of drawing, and the polyline should not be closed (unless force closed is true
(for filling, for instance).

Tested for path with both valid and degenerate content, when asked to
consume degenerates and not, force closed and not.

This patch also includes a uni test refactoring to reduce the amount of code
to test path iteration and zero length paths.

BUG=6297049

TEST=tests/PathTest.cpp, testIter method.
Review URL: https://codereview.appspot.com/6300086

git-svn-id: http://skia.googlecode.com/svn/trunk@4247 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-13 17:05:43 +00:00
djsollen@google.com
94e75ee46a Rename the existing flatten(void*) methods.
This change avoids naminc confusion with the SkFlattenable flatten methods and
also changes SkPath to use the void* model instead of taking a SkReader32.
Review URL: https://codereview.appspot.com/6299062

git-svn-id: http://skia.googlecode.com/svn/trunk@4215 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-08 18:30:46 +00:00
bsalomon@google.com
df9d656c35 Add SkPath::getVerbs/countVerbs
Review URL: http://codereview.appspot.com/6306053/


git-svn-id: http://skia.googlecode.com/svn/trunk@4209 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-07 21:43:15 +00:00
caryclark@google.com
42639cddc3 fix warnings on Mac in tests
Fix these class of warnings:
- unused functions
- unused locals
- sign mismatch
- missing function prototypes
- missing newline at end of file
- 64 to 32 bit truncation

The changes prefer to link in dead code in the debug build
with 'if (false)' than to comment it out, but trivial cases
are commented out or sometimes deleted if it appears to be
a copy/paste error.
Review URL: https://codereview.appspot.com/6301045

git-svn-id: http://skia.googlecode.com/svn/trunk@4175 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06 12:03:39 +00:00
robertphillips@google.com
d414406073 Windows compiler complaint cleanup
http://codereview.appspot.com/6262047/



git-svn-id: http://skia.googlecode.com/svn/trunk@4098 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 15:29:44 +00:00
reed@google.com
744fabad47 addPoly() entry-point, to quickly add MoveTo+N*LineTo (useful in dashing)
Review URL: https://codereview.appspot.com/6256063

git-svn-id: http://skia.googlecode.com/svn/trunk@4061 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-29 19:54:52 +00:00
reed@google.com
8b06f1a7ff Detect when the caller was hairline AND strokeandfill, and resolve that into FILL
This fixes the unittests on WIN in the trybot for DEPS roll 4048
Review URL: https://codereview.appspot.com/6242057

git-svn-id: http://skia.googlecode.com/svn/trunk@4057 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-29 12:03:46 +00:00