Commit Graph

506 Commits

Author SHA1 Message Date
reed@google.com
0da0627646 fix fixed-point build
git-svn-id: http://skia.googlecode.com/svn/trunk@3837 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-03 20:26:06 +00:00
reed@google.com
99c114e0ac We were numerically overflowing our 16bit coordinates that we communicate
between these two procs. The fixes was in two parts:

1. Just don't draw bitmaps larger than 64K-1 in width or height, since we
   can't represent those coordinates in our transport format (yet).
2. Perform an unsigned shift during the calculation, so we don't get
   sign-extension bleed when packing the two values (X,Y) into our 32bit
   slot.
Review URL: https://codereview.appspot.com/6173046

git-svn-id: http://skia.googlecode.com/svn/trunk@3836 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-03 20:14:26 +00:00
reed@google.com
684119d126 add more tests for rgn::intersects(rect)
git-svn-id: http://skia.googlecode.com/svn/trunk@3820 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-02 16:52:12 +00:00
reed@google.com
7ab71baf65 add more tests around contains for rects and regions
git-svn-id: http://skia.googlecode.com/svn/trunk@3818 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-02 16:09:21 +00:00
djsollen@google.com
f0a062bc45 Add device to top level N-way canvas.
Review URL: https://codereview.appspot.com/6131062

git-svn-id: http://skia.googlecode.com/svn/trunk@3811 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-01 16:50:25 +00:00
reed@google.com
9d5f76a250 fix bug (and add test) for drawing an inverse-path whose bounds do intersect
the clip, but whose edges do not (e.g. a curve). We used to overdraw a section
(and assert).



git-svn-id: http://skia.googlecode.com/svn/trunk@3809 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-01 14:49:28 +00:00
reed@google.com
8a0d8ff854 add tests for how empty regions should behave in intersects() and contains()
Review URL: https://codereview.appspot.com/6134053

git-svn-id: http://skia.googlecode.com/svn/trunk@3795 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-30 16:28:04 +00:00
mike@reedtribe.org
67c3184a67 add test for contains and intersects, in advance of optimization work
git-svn-id: http://skia.googlecode.com/svn/trunk@3787 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-28 20:09:19 +00:00
reed@google.com
ded4414985 Apply fix from #3739 to quads and cubics as well
Fixes http://code.google.com/p/chromium/issues/detail?id=125249
Review URL: https://codereview.appspot.com/6137046

git-svn-id: http://skia.googlecode.com/svn/trunk@3786 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-27 20:22:07 +00:00
epoger@google.com
c4ae974db6 Add SkString.contains()
Review URL: https://codereview.appspot.com/6130046

git-svn-id: http://skia.googlecode.com/svn/trunk@3781 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-27 17:11:31 +00:00
bsalomon@google.com
69afee1c8f add isSimilarityTransform() and some tests
Committed on behalf of Guanqun.Lu@gmail.com

Review URL: http://codereview.appspot.com/5999050/


git-svn-id: http://skia.googlecode.com/svn/trunk@3762 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-25 15:07:40 +00:00
reed@google.com
1df888bc3a check for numerical imprecision on phase
fixes http://code.google.com/p/chromium/issues/detail?id=124652



git-svn-id: http://skia.googlecode.com/svn/trunk@3761 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-24 22:47:21 +00:00
reed@google.com
e49aca968c add optional storage parameter to SkWriter32
git-svn-id: http://skia.googlecode.com/svn/trunk@3759 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-24 21:12:39 +00:00
reed@google.com
fab1ddd3a8 only add pathmeasure segment if the accumulated length was actually changed,
and not based on if the local length was > 0. This is necessary since 

    assert(delta > 0);  // true
    prevDistance = distance;
    distance += delta;
    assert(distance > prevDistance);    // not always true

Fixes https://bugs.webkit.org/show_bug.cgi?id=78979



git-svn-id: http://skia.googlecode.com/svn/trunk@3739 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-20 15:10:32 +00:00
reed@google.com
5bfa55b1cd fix unused-return-result-warning for invert/getPosTan
git-svn-id: http://skia.googlecode.com/svn/trunk@3733 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-19 18:59:25 +00:00
reed@google.com
8b0a335b6b retarget fonttable tests to use SkTypeface api, rather than (should-be-private) SkFontHost api
git-svn-id: http://skia.googlecode.com/svn/trunk@3732 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-19 18:52:39 +00:00
bsalomon@google.com
6aa2965ca8 Track oval in SkPath
Committed on behalf of Guanqun.Lu@gmail.com

Review URL:http://codereview.appspot.com/6012047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3716 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-18 13:29:52 +00:00
bsalomon@google.com
f3488ebaac Revert r3705 for fixed pt failures.
git-svn-id: http://skia.googlecode.com/svn/trunk@3706 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-17 15:38:20 +00:00
bsalomon@google.com
c047d414a4 track oval in SkPath
Committed on behalf of Guanqun.Lu@gmail.com

Review URL: http://codereview.appspot.com/6012047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3705 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-17 15:22:06 +00:00
reed@google.com
a90aa53498 fix clamping when we chop a cubic
Review URL: https://codereview.appspot.com/6039048

git-svn-id: http://skia.googlecode.com/svn/trunk@3691 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 16:27:09 +00:00
robertphillips@google.com
6853e808a4 Addressed more Windows compiler complaint issues
http://codereview.appspot.com/6007056/



git-svn-id: http://skia.googlecode.com/svn/trunk@3689 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 15:50:18 +00:00
bsalomon@google.com
d0b95896d6 Revert r3681 due to fixed point failures in tests.
git-svn-id: http://skia.googlecode.com/svn/trunk@3684 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 14:41:02 +00:00
bsalomon@google.com
8d75bf6ab3 add isSimilarityTransform() and some tests
Committed on behalf of Guanqun.Lu@gmail.com

Review URL: http://codereview.appspot.com/5999050/




git-svn-id: http://skia.googlecode.com/svn/trunk@3681 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 14:06:50 +00:00
mike@reedtribe.org
6093e65829 dd DrawPathTest to gyp
add regression tests for bug 533



git-svn-id: http://skia.googlecode.com/svn/trunk@3678 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-14 12:55:17 +00:00
reed@google.com
90c07ea1d0 replace getTotalClipStack() with replayClips()+ClipVisitor
git-svn-id: http://skia.googlecode.com/svn/trunk@3670 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-13 13:50:27 +00:00
djsollen@google.com
2b2ede3e71 Decouple the SkFlattenable from SkReader32/SkWriter32.
The current impl for SkFlattenable read/write buffers is 
that they extend from SkReader32 and SkWriter32, but that
dependency must be abstract if we are to add any other
serialization format.
Review URL: https://codereview.appspot.com/5999045

git-svn-id: http://skia.googlecode.com/svn/trunk@3654 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-12 13:24:04 +00:00
epoger@google.com
94fa43c625 Fix SkPathStroker::lineTo() for line with length SK_ScalarNearlyZero
Review URL: https://codereview.appspot.com/5992077

git-svn-id: http://skia.googlecode.com/svn/trunk@3650 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-11 17:51:01 +00:00
tomhudson@google.com
75589257c6 Fix miscellaneous compiler warnings from Visual Studio 2010.
Changes serialization path for MorphologyImageFilter, handling of Windows
HRESULTS; otherwise just tweaks tests.



git-svn-id: http://skia.googlecode.com/svn/trunk@3642 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-10 17:42:21 +00:00
bsalomon@google.com
0e5104c157 misc fixes
Submitted on behalf of Guanqun.Lu@gmail.com

Review URL: http://codereview.appspot.com/5988070/



git-svn-id: http://skia.googlecode.com/svn/trunk@3640 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-10 16:20:41 +00:00
robertphillips@google.com
09042b80d2 Fixing Windows compiler complaints
http://codereview.appspot.com/5991056/



git-svn-id: http://skia.googlecode.com/svn/trunk@3626 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 20:01:46 +00:00
robertphillips@google.com
38c3a30a97 Fixed issue with Fixed Point scalars in ReadWriteAlphaTest.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@3623 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 18:25:24 +00:00
robertphillips@google.com
6995068c5a Initial version of R8 support
http://codereview.appspot.com/5967067/



git-svn-id: http://skia.googlecode.com/svn/trunk@3622 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 18:06:10 +00:00
reed@google.com
6de0bfc51a regression unittest for the fix in rev. 3558 (handling nan in antihairpaths)
git-svn-id: http://skia.googlecode.com/svn/trunk@3562 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 17:43:33 +00:00
robertphillips@google.com
d3b9fbbc48 Code changes for ANGLE GL interface. .gyp file changes will be delivered later.
http://codereview.appspot.com/5940046/



git-svn-id: http://skia.googlecode.com/svn/trunk@3519 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 16:19:11 +00:00
djsollen@google.com
ba28d03e94 Create macro for registering classes for deserialization
Review URL: https://codereview.appspot.com/5909063

git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 17:57:35 +00:00
bsalomon@google.com
39d4f3a02c restore line accidentally deleted in MatrixTest.cpp in r3491
git-svn-id: http://skia.googlecode.com/svn/trunk@3492 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 17:25:45 +00:00
bsalomon@google.com
9ed2ecd3ac Another fix for fixed point (nan == nan in fixed pt)
git-svn-id: http://skia.googlecode.com/svn/trunk@3491 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 15:57:37 +00:00
djsollen@google.com
cefc865090 Fix test to use the flattenable writer class instead of
flattening the object directly.
Review URL: https://codereview.appspot.com/5901059

git-svn-id: http://skia.googlecode.com/svn/trunk@3490 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 15:52:10 +00:00
bsalomon@google.com
8fe84b53a6 Add SkMatrix::cheapEqualTo, use in Gr code
Review URL: http://codereview.appspot.com/5865057/



git-svn-id: http://skia.googlecode.com/svn/trunk@3488 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 15:24:27 +00:00
bungeman@google.com
34f10260ad Glyph advances from generateAdvance do not always match generateMetrics results.
http://codereview.appspot.com/5841071/


git-svn-id: http://skia.googlecode.com/svn/trunk@3480 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-23 18:11:47 +00:00
bsalomon@google.com
6f86c3e0a6 fix clang compilation warning
Submitted on behalf of Guanqun.Lu@gmail.com

Review URL: http://codereview.appspot.com/5833045/


git-svn-id: http://skia.googlecode.com/svn/trunk@3472 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-22 21:29:10 +00:00
djsollen@google.com
e63793a2c8 Upstream changes from Android repository.
Review URL: https://codereview.appspot.com/5752055

git-svn-id: http://skia.googlecode.com/svn/trunk@3449 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 15:39:03 +00:00
bungeman@google.com
f8aa18c08d Compile with c++0x.
http://codereview.appspot.com/5841074/


git-svn-id: http://skia.googlecode.com/svn/trunk@3434 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-19 21:04:52 +00:00
tomhudson@google.com
0435f161fc Close a couple of minor memory leaks, add a valgrind suppression file to
mute complaints about apparent driver bugs.

http://codereview.appspot.com/5837046/



git-svn-id: http://skia.googlecode.com/svn/trunk@3406 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-15 18:16:39 +00:00
reed@google.com
dc5f76d806 unittest for kUTF32_TextEncoding
git-svn-id: http://skia.googlecode.com/svn/trunk@3390 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-14 20:05:35 +00:00
reed@google.com
470f07f9a9 promote floats to scalars for the fixed-point build
git-svn-id: http://skia.googlecode.com/svn/trunk@3370 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-12 21:31:00 +00:00
reed@google.com
0a0726542e add unittest for rev. 3366 -- clipping antihairlines
git-svn-id: http://skia.googlecode.com/svn/trunk@3367 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-12 21:11:18 +00:00
tomhudson@google.com
4c4337291d If we try to clip against a path and the path only contains a rect, treat it as a clip against a rect.
(Works around a performance issue: JavaScript Canvas2D API only provides canvas.clipPath(), and we don't
optimize path clips nearly as much as we can rects; this shows up more in Ganesh than in the software
rasterizer.)

http://codereview.appspot.com/5795044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3355 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-09 16:48:20 +00:00
vandebo@chromium.org
cc46a0ab52 Fix copy paste error in test ref counting.
TBR=reed@google.com

Review URL: https://codereview.appspot.com/5727066

git-svn-id: http://skia.googlecode.com/svn/trunk@3320 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-05 19:14:37 +00:00
vandebo@chromium.org
c0376febfc [PDF] Fix name objects containing characters > 0x80 and add a test.
This fixes chrome bug http://crbug.com/115258

Review URL: https://codereview.appspot.com/5726048

git-svn-id: http://skia.googlecode.com/svn/trunk@3319 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-05 18:44:33 +00:00
reed@google.com
c256cd11e9 remove fragile assert
git-svn-id: http://skia.googlecode.com/svn/trunk@3286 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-29 21:57:36 +00:00
reed@google.com
087d5aafb1 fix edgecase in chopcubic where we computed duplicate tvalues
git-svn-id: http://skia.googlecode.com/svn/trunk@3285 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-29 20:59:24 +00:00
reed@google.com
9b0da23f0a fix bug and add test for aaclip when blitV is called
git-svn-id: http://skia.googlecode.com/svn/trunk@3281 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-29 13:59:15 +00:00
junov@chromium.org
a907ac3e3e Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track matrix and clipping state
Removed 'virtual' from a few canvas methods that no longer need it thanks to this change.

BUG=http://code.google.com/p/skia/issues/detail?id=506
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5697052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3261 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 21:54:07 +00:00
junov@chromium.org
0b5b0ce39c reverting r3257 because of gm failure.
git-svn-id: http://skia.googlecode.com/svn/trunk@3258 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 20:44:56 +00:00
junov@chromium.org
421bcc375a Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track matrix and clipping state
Removed 'virtual' from a few canvas methods that no longer need it thanks to this change.

BUG=http://code.google.com/p/skia/issues/detail?id=506
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5697052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3256 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 20:07:08 +00:00
junov@chromium.org
87f982c808 Fix for crash in SkDeferredCanvas when optional SkPaint argument is NULL
BUG=http://code.google.com/p/skia/issues/detail?id=505
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5699054/



git-svn-id: http://skia.googlecode.com/svn/trunk@3246 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 21:34:34 +00:00
reed@google.com
dceecc70a8 always allocate (only) the width of the clip for the AA row, since it will
already be clamped to 32K (our impl limit at the moment.)

add unittest to confirm this fix



git-svn-id: http://skia.googlecode.com/svn/trunk@3242 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 19:20:19 +00:00
reed@google.com
fbd033d572 Fix memory leak in GetTableData() and add unittests for it
Review URL: https://codereview.appspot.com/5693048

git-svn-id: http://skia.googlecode.com/svn/trunk@3239 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 16:15:58 +00:00
reed@google.com
44eedf8270 don't require tableCount>0 since some platform fonts may not support that
git-svn-id: http://skia.googlecode.com/svn/trunk@3238 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 15:45:17 +00:00
bsalomon@google.com
a91e923874 GPU device preserves pixel values across read/write/read of unpremul pixel values
Review URL: http://codereview.appspot.com/5695047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3237 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 15:39:54 +00:00
reed@google.com
78525202b8 remove 'OS/2' table from known-sizes, since its size is not always the same
git-svn-id: http://skia.googlecode.com/svn/trunk@3236 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 15:11:42 +00:00
junov@chromium.org
dadcfdc929 Fixing Canvas unit test to correctly verify object flattening in SkPicture
BUG=http://code.google.com/p/skia/issues/detail?id=507
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5685082/



git-svn-id: http://skia.googlecode.com/svn/trunk@3235 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 14:59:22 +00:00
bsalomon@google.com
53aab7813c Fix line endings.
git-svn-id: http://skia.googlecode.com/svn/trunk@3234 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 14:54:49 +00:00
reed@google.com
17aa07df01 add unittest for FontHost (just tables at the moment)
git-svn-id: http://skia.googlecode.com/svn/trunk@3233 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 14:51:10 +00:00
junov@chromium.org
76b9c4b71b Disabling failing unit test on linux
TBR=reed
TEST=unit test CanvasTest
BUG=http://code.google.com/p/skia/issues/detail?id=507



git-svn-id: http://skia.googlecode.com/svn/trunk@3229 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-22 21:24:41 +00:00
junov@chromium.org
1cc8f6f3c4 Adding more unit testing for SkCanvas and derived classes.
BUG=http://code.google.com/p/skia/issues/detail?id=481
REVIEW=http://codereview.appspot.com/5674077/
TEST=unit test CanvasTest



git-svn-id: http://skia.googlecode.com/svn/trunk@3228 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-22 21:00:42 +00:00
vandebo@chromium.org
b9682d38c1 Change append to appendf for call sites with no format arguments.
Original CL: http://codereview.appspot.com/5685062/

Review URL: https://codereview.appspot.com/5686059

git-svn-id: http://skia.googlecode.com/svn/trunk@3225 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-21 18:53:39 +00:00
caryclark@google.com
543c719a6d Revert r3036. This change breaks loading images as
described in Chromium issue 114107. The Chromium break
may be fixed by WebKit patch 78239, at which time
this patch can be reapplied.
Review URL: https://codereview.appspot.com/5675077

git-svn-id: http://skia.googlecode.com/svn/trunk@3219 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-17 14:42:22 +00:00
bsalomon@google.com
6843ac4beb Turn off test in fixed pt build.
git-svn-id: http://skia.googlecode.com/svn/trunk@3217 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-17 13:49:03 +00:00
bsalomon@google.com
f0ed80a7eb Make cross_prod used in SkPath::cheapComputeDirection fallback to double computation when result is 0. Verbal LGTM from reed.
git-svn-id: http://skia.googlecode.com/svn/trunk@3216 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-17 13:38:26 +00:00
reed@google.com
80cdb9a213 aaclip needs to handle paths with holes
Review URL: https://codereview.appspot.com/5671066

git-svn-id: http://skia.googlecode.com/svn/trunk@3209 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-16 18:56:17 +00:00
tomhudson@google.com
6bf38b59c9 Move GL-specific include files to their own subdirectory, to better
coexist alongside D3D backend.
Requires gyp change.

http://codereview.appspot.com/5665045/



git-svn-id: http://skia.googlecode.com/svn/trunk@3185 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-14 15:11:59 +00:00
junov@chromium.org
b1e218e782 Adding missing SkIntToScalar to resolve DeferredCanvas unit test failures with fixed-point build
TBR=reed
TEST=DeferredCanvas unit test



git-svn-id: http://skia.googlecode.com/svn/trunk@3182 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-13 22:27:58 +00:00
junov@chromium.org
8f9ecbd346 Adding API and unit testing for deferred canvas clearing/purging
REVIEW=http://codereview.appspot.com/5646057/
TEST=DeferredCanvas unit test



git-svn-id: http://skia.googlecode.com/svn/trunk@3181 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-13 21:53:45 +00:00
tomhudson@google.com
4072556641 Add two files missed in r3165; most critically the gyp!
git-svn-id: http://skia.googlecode.com/svn/trunk@3166 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-10 21:35:06 +00:00
bsalomon@google.com
b447d21577 Fix dumb error of starting loop with 0 instead of 1 that uses shift to increment.
git-svn-id: http://skia.googlecode.com/svn/trunk@3163 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-10 20:25:36 +00:00
bsalomon@google.com
89ec61e33d Add GrGLContextInfo
Review URL: http://codereview.appspot.com/5653060/



git-svn-id: http://skia.googlecode.com/svn/trunk@3162 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-10 20:05:18 +00:00
bsalomon@google.com
b9f026fb21 Turn on read pixels test for raster backend
Review URL: http://codereview.appspot.com/5643070/



git-svn-id: http://skia.googlecode.com/svn/trunk@3156 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-09 13:53:48 +00:00
junov@chromium.org
1f9767c03b Fixing backing store access in SkDeferredCanvas.
Chromium CL required for rolling skia DEPS past this change is posted here: https://chromiumcodereview.appspot.com/9341003/
 
BUG=http://code.google.com/p/skia/issues/detail?id=475
REVIEW=http://codereview.appspot.com/5626047/
TEST=DeferredCanvas unit test



git-svn-id: http://skia.googlecode.com/svn/trunk@3147 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-07 16:27:57 +00:00
reed@google.com
d414666d18 add additional tests for path direction with multiple pts on y-max
git-svn-id: http://skia.googlecode.com/svn/trunk@3121 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-31 15:42:29 +00:00
reed@google.com
ac8543ff57 use contour with global ymax to determine direction
git-svn-id: http://skia.googlecode.com/svn/trunk@3110 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-30 20:51:25 +00:00
reed@google.com
5546ef2dd9 inject a 32767 bounded cliprect before using SuperSampler blitter, to avoid
crash/assert when our run-array is larger than int16_t. Better fix may be to
"tile" the drawing, so we never see a clip that's too wide, and perhaps this
technique can help us avoid disabling AA for large parths (not sure tho).



git-svn-id: http://skia.googlecode.com/svn/trunk@3104 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-30 17:09:45 +00:00
tomhudson@google.com
13e812c69a Interpolate vertical linear gradients for improved quality.
Consolidate interpolation functions, add new faster more accurate dithering
interpolator.



git-svn-id: http://skia.googlecode.com/svn/trunk@3072 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-18 21:28:01 +00:00
schenney@chromium.org
a6d04d90e2 Fixing the behavior of SkPathMeasure to reflect changes in SkPath::Iter.
This implementation modifies SkPath::Iter extensively to avoid copying
the points when used to measure path length.

BUG=446
TEST=tests/PathMeasureTest.cpp
Review URL: https://codereview.appspot.com/5533074

git-svn-id: http://skia.googlecode.com/svn/trunk@3062 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-18 18:02:10 +00:00
skyostil@google.com
0eb7576c65 Modify SkBitmap::extractSubset() to respect volatility
The resulting subset bitmap will always have the same volatility flag as the
source bitmap.

BUG=452
Review URL: http://codereview.appspot.com/5544052

git-svn-id: http://skia.googlecode.com/svn/trunk@3039 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-16 10:45:53 +00:00
bungeman@google.com
2211b62327 Subpixel text 3/8 of a pixel too far to the right.
http://codereview.appspot.com/5502097/


git-svn-id: http://skia.googlecode.com/svn/trunk@3037 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-13 15:02:58 +00:00
skyostil@google.com
ce7adb580e Modify SkBitmap::extractSubset() to respect opaqueness
The resulting subset bitmap will always have the same opaqueness flag as the
source bitmap.

BUG=439
Review URL: http://codereview.appspot.com/5534051

git-svn-id: http://skia.googlecode.com/svn/trunk@3036 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-13 14:56:51 +00:00
schenney@chromium.org
510c6b186d Adding new SkPathMeasure tests, defined out for now as they fail.
Review URL: http://codereview.appspot.com/5529078

git-svn-id: http://skia.googlecode.com/svn/trunk@3029 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-12 20:04:06 +00:00
reed@google.com
d335d1d784 automatically inject a moveTo if we see a close followed by a line/quad/cubic
git-svn-id: http://skia.googlecode.com/svn/trunk@3027 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-12 18:17:11 +00:00
reed@google.com
cabaf1daf3 reenable direction test, fix handling of degenerate segments in the non-convex case
git-svn-id: http://skia.googlecode.com/svn/trunk@3021 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-11 21:03:05 +00:00
epoger@google.com
dc7a506018 Fix SkScalar values in ClipperTest.cpp; these were breaking one Windows buildbot
TBR=reed
Review URL: http://codereview.appspot.com/5535052

git-svn-id: http://skia.googlecode.com/svn/trunk@3020 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-11 20:43:29 +00:00
reed@google.com
47628314a1 disable test until I can fix it
git-svn-id: http://skia.googlecode.com/svn/trunk@3018 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-11 19:17:23 +00:00
reed@google.com
6da3d1757c improve clamping logic when handling imprecise chopping of cubics
http://code.google.com/p/skia/issues/detail?id=444



git-svn-id: http://skia.googlecode.com/svn/trunk@3011 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-11 16:41:26 +00:00
reed@google.com
e354397dd9 use SkIntToScalar(10) instead of 10 for parameters (for scalar==fixed)
git-svn-id: http://skia.googlecode.com/svn/trunk@3002 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-10 18:59:22 +00:00
reed@google.com
3e71a88762 add gm for reverseAddPath
git-svn-id: http://skia.googlecode.com/svn/trunk@3001 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-10 18:44:37 +00:00
djsollen@google.com
8688e5b7d1 Exclude BGRA readPixel tests on Android until bug 438 is resolved.
Review URL: http://codereview.appspot.com/5522053

git-svn-id: http://skia.googlecode.com/svn/trunk@2987 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-09 13:02:20 +00:00
mike@reedtribe.org
c52b1927c2 add unittest for sk_memset16 and sk_memset32
git-svn-id: http://skia.googlecode.com/svn/trunk@2985 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-07 03:49:13 +00:00
bsalomon@google.com
cadbcb8e53 Towards enabling -Werror in skia on Linux
Review URL: http://codereview.appspot.com/5516044/



git-svn-id: http://skia.googlecode.com/svn/trunk@2983 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-06 19:22:11 +00:00
schenney@chromium.org
6630d8d8ea Add the ability to iterate through a path without modification. This change is
required by WebKit SVG in order to correctly draw markers and endcaps.

BUG=415
TEST=TestPath in the unit tests
Review URL: http://codereview.appspot.com/5505097

git-svn-id: http://skia.googlecode.com/svn/trunk@2962 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-04 21:05:51 +00:00
vandebo@chromium.org
9ad3599a3a Fix ToUnicode generation bug.
Code from arthurhsu@chromium.org Original CL: http://codereview.appspot.com/5492061/

BUG=Chromium:104062

Review URL: http://codereview.appspot.com/5498064

git-svn-id: http://skia.googlecode.com/svn/trunk@2944 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-03 18:35:39 +00:00
reed@google.com
21e0bc2045 add move-close-move and move-close-move-close to the "empty" paths to test
git-svn-id: http://skia.googlecode.com/svn/trunk@2921 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 20:26:01 +00:00
reed@google.com
ee068aae55 add unittest for invariants for empty paths, still need to think about
hairlines in those cases



git-svn-id: http://skia.googlecode.com/svn/trunk@2919 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 19:36:21 +00:00
reed@google.com
419f43348a add SkUnichar_IsVariationSelector()
git-svn-id: http://skia.googlecode.com/svn/trunk@2915 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 15:21:32 +00:00
schenney@chromium.org
6c31d9d9b4 Fixing PathTest. It was always broken in the convexity test code due
to a failure to correctly use SkScalar.

git-svn-id: http://skia.googlecode.com/svn/trunk@2904 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 16:33:30 +00:00
schenney@chromium.org
3287949868 Fixing the build for FIXED tests. PathTest was incorrect using "1" instead of "SK_Scalar1".
git-svn-id: http://skia.googlecode.com/svn/trunk@2902 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 15:33:11 +00:00
schenney@chromium.org
4da06ab335 Modifying SkPath to store all verbs provided by the user, and to give
correct results for all stroke and fill modes even on the various types
of degenerate paths.

The goals of this patch include:
1. Have Skia store all of the verbs implied by path construction methods, even
if those define degenerate paths. The SVG implementation in WebKit, which is
backed by Skia, needs to know about all elements of the path, even degenerate
ones, for the correct drawing of markers and line caps. For example, in SVG you
should be able to draw a scatter plot by specifying a marker for vertices and
then giving a sequence of moveTo commands. Skia will not store the moveTos,
requiring a different storage mechanism.

2. Assuming 1, maintain the current Skia behavior. That is, make Skia robust to
degenerate paths.

3. Fix an existing bug in Skia where a degenerate moveTo-lineTo pair spits out
warnings from rasterization and produces incorrect results in inverse-fill
renderings.

4. Adds extensive testing for degenerate paths and path rendering in general.

To meet these goals, the patch I am proposing will result in minor additional
storage for degenerate paths (a few bytes per degenerate path, only if the user
defines such paths). There is also some additional overhead in the iteration
code, with the path now cleaned to remove degenerate segments as part of the
iteration process. I suspect this will also fix issues with computing normal
vectors to degenerate segments. Benchmarking suggests that this change may
result in slightly (< 1%) slower path drawing due to the checks for
degeneracy. This overhead could be removed (in fact, a significant speedup
could occur) if the results of iterating to clean up the path were cached.
This would cost memory, of course, and quite a bit of it.

BUG=398
TEST=tests/PathTest.cpp
     gm/cubicpaths.cpp
     gm/degeneratesegments.cpp
     gm/movepaths.cpp
     gm/linepaths.cpp
     gm/quadpaths.cpp
Review URL: http://codereview.appspot.com/5482051

git-svn-id: http://skia.googlecode.com/svn/trunk@2901 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 15:14:18 +00:00
reed@google.com
7c2029367c add canvas::isDrawingToLayer(), as a fast query for chrome; faster than
setting up a drawiter and counting the layers.



git-svn-id: http://skia.googlecode.com/svn/trunk@2875 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-14 18:48:05 +00:00
junov@chromium.org
b6e161937b Adding isOpaque method to skia shader classes
REVIEW=http://codereview.appspot.com/5451102/
TEST=unit test ShaderOpacity



git-svn-id: http://skia.googlecode.com/svn/trunk@2840 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-09 15:48:03 +00:00
reed@google.com
5ae777dcad rename sk_float_isNaN to sk_float_isnan to match related functions
add sk_float_isinf returning non-zero if the argument is +/- infinity



git-svn-id: http://skia.googlecode.com/svn/trunk@2813 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-06 20:18:05 +00:00
reed@google.com
1607863b60 rename hasValidCoordinates to isFinite (on SkRect) and reimplement for speed
git-svn-id: http://skia.googlecode.com/svn/trunk@2811 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-06 18:56:37 +00:00
reed@google.com
61873a59d7 add sk_float_isfinite to mask platform differences
git-svn-id: http://skia.googlecode.com/svn/trunk@2803 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-05 21:47:25 +00:00
reed@google.com
d230e3e532 add test for isFinite
git-svn-id: http://skia.googlecode.com/svn/trunk@2800 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-05 20:49:37 +00:00
djsollen@google.com
b44cd65a53 Fix Paint == comparison on Android.
The == operator was incorrect because of Androids use of
fGenerationID. This change moves the ID to the end of the
paint struct and omits it from the == comparison.
Review URL: http://codereview.appspot.com/5437098

git-svn-id: http://skia.googlecode.com/svn/trunk@2780 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-01 17:09:21 +00:00
reed@google.com
37f3ae0b9f add unittest for save/restore
git-svn-id: http://skia.googlecode.com/svn/trunk@2751 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-28 16:06:04 +00:00
reed@google.com
a052aca410 more rgn==aaclip tests
git-svn-id: http://skia.googlecode.com/svn/trunk@2744 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-23 19:43:46 +00:00
bsalomon@google.com
31648eb1cf Fix warnings
Review URL: http://codereview.appspot.com/5433054/


git-svn-id: http://skia.googlecode.com/svn/trunk@2741 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-23 15:01:08 +00:00
mike@reedtribe.org
95b85bd1ba add test that aaclip.setRegion creates the same mask as the region
... in prep for optimizatin work on setRegion.



git-svn-id: http://skia.googlecode.com/svn/trunk@2739 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-23 03:12:58 +00:00
reed@google.com
3d60812865 don't quickReject bitmaps if there is a looper or other possible bounds-modifier
add unittest for the above change



git-svn-id: http://skia.googlecode.com/svn/trunk@2722 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-21 15:16:16 +00:00
mike@reedtribe.org
3565f0fd25 add test for IsMode
git-svn-id: http://skia.googlecode.com/svn/trunk@2704 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-17 02:27:26 +00:00
reed@google.com
b03db4a366 fix signed/unsigned warning (use size_t in conjunction with SK_ARRAY_COUNT)
git-svn-id: http://skia.googlecode.com/svn/trunk@2702 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-16 21:36:27 +00:00
reed@google.com
3563c9ee52 fix autobounds dude to call a custom version of rect.join that doesn't ignore
empty rects (since path.bounds must be the bounds of its control-pts, including
empty subcontours)



git-svn-id: http://skia.googlecode.com/svn/trunk@2679 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-14 19:34:57 +00:00
bsalomon@google.com
1dcf506a1a Remove GrGpuGLFixed subclass and ES1 support
Review URL: http://codereview.appspot.com/5376094/


git-svn-id: http://skia.googlecode.com/svn/trunk@2678 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-14 19:29:53 +00:00
reed@google.com
ffdb018dae add test for bounds (disabled as it fails)
git-svn-id: http://skia.googlecode.com/svn/trunk@2677 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-14 19:29:14 +00:00
bsalomon@google.com
74b98715a3 Do writepixels alpha-premul using gpu
Review URL: http://codereview.appspot.com/5373064/



git-svn-id: http://skia.googlecode.com/svn/trunk@2668 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-11 19:46:16 +00:00
vandebo@chromium.org
beb7fe1869 [PDF] Optimize W-array generation with respect to subsetted fonts and add test.
Testing framework originally from http://codereview.appspot.com/4916044

Review URL: http://codereview.appspot.com/5379041

git-svn-id: http://skia.googlecode.com/svn/trunk@2667 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-11 19:38:54 +00:00
bsalomon@google.com
bbce8b29bd Turn off WritePixelsTest in fixed pt build (GPU device known not to work, no plan to fix)
git-svn-id: http://skia.googlecode.com/svn/trunk@2663 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-10 21:20:37 +00:00
bsalomon@google.com
d58a1cd00b Add config8888 support to writePixels
Review URL: http://codereview.appspot.com/5374052/



git-svn-id: http://skia.googlecode.com/svn/trunk@2662 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-10 20:57:43 +00:00
bsalomon@google.com
a2092aab4b Fix return value in read pixels unit test
git-svn-id: http://skia.googlecode.com/svn/trunk@2656 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-10 15:10:24 +00:00
tomhudson@google.com
f74ad8c91a Removes warnings generated by gcc and clang.
git-svn-id: http://skia.googlecode.com/svn/trunk@2651 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-09 22:15:08 +00:00
reed@google.com
8d7e39c835 add experimental test for blending math (disabled for now)
git-svn-id: http://skia.googlecode.com/svn/trunk@2648 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-09 17:12:08 +00:00
bsalomon@google.com
c436499622 [GPU] Add explicit byte order and PM vs. UPM 8888 configs
Review URL: http://codereview.appspot.com/5347042/



git-svn-id: http://skia.googlecode.com/svn/trunk@2618 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-07 15:54:49 +00:00
bsalomon@google.com
6850eab42b Override 32BPP format in SkCanvas::readPixels
Review URL: http://codereview.appspot.com/5330073/



git-svn-id: http://skia.googlecode.com/svn/trunk@2600 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-03 20:29:47 +00:00
bsalomon@google.com
c69809745e Recommit r2584 with gpu pass of the new ReadPixels test disabled in fixed pt (gpu code doesn't work in general in fixed pt).
git-svn-id: http://skia.googlecode.com/svn/trunk@2586 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:57:21 +00:00
bsalomon@google.com
ace7bd5623 Revert r2584 (new test fails in fixed pt builds)
git-svn-id: http://skia.googlecode.com/svn/trunk@2585 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:39:51 +00:00
bsalomon@google.com
1a8ddf0a35 Changes the SkCanvas::readPixels API. Allows caller to read into prealloced bitmap pixels. Changes how clipping to device bounds is handled.
Review URL: http://codereview.appspot.com/5307077/



git-svn-id: http://skia.googlecode.com/svn/trunk@2584 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:34:16 +00:00
reed@google.com
ab77aafa8c remove tests for copyPixelsFrom (it is not gone)
git-svn-id: http://skia.googlecode.com/svn/trunk@2580 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-01 16:03:35 +00:00
bsalomon@google.com
74913722bf Add NULL GL context implementation. Use in bench (-nullgl) and SampleApp (backspace key)
Review URL: http://codereview.appspot.com/5303080/


git-svn-id: http://skia.googlecode.com/svn/trunk@2545 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-27 20:44:19 +00:00
reed@google.com
c904191995 now we trim the aaclip after building it, to ensure that it has tight bounds
around its (rle compressed) image.



git-svn-id: http://skia.googlecode.com/svn/trunk@2542 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-27 16:58:46 +00:00
tomhudson@google.com
83a444602e Remove warnings (trailing \, signed vs unsigned, parenthesization).
Convert some tabs into spaces.



git-svn-id: http://skia.googlecode.com/svn/trunk@2541 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-27 15:27:51 +00:00
reed@google.com
d8676d2fd2 add test for rgn-ops. some disable for now as they don't work (yet)
git-svn-id: http://skia.googlecode.com/svn/trunk@2537 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-26 18:01:25 +00:00
reed@google.com
91d449ebf8 add header to document debug-vs-release, fixed-vs-float
git-svn-id: http://skia.googlecode.com/svn/trunk@2536 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-26 15:25:18 +00:00
reed@google.com
12e1525306 fix new test to work in fixed-point
git-svn-id: http://skia.googlecode.com/svn/trunk@2535 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-26 15:19:36 +00:00
reed@google.com
209c41511e add initial unittests for aaclip. Fix case where BuilderBlitter skipped the top
few scanlines (of its bounds) and therefore didn't know to trim its bounds back
down. This can happen when the path's bounds are larger than the curve's bounds
(i.e. the control points are outside of the tight-bounds of the shape.)



git-svn-id: http://skia.googlecode.com/svn/trunk@2534 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-26 15:03:48 +00:00
bsalomon@google.com
57f5d9854b Recommit r2510 now that mac build bot issue has been fixed.
git-svn-id: http://skia.googlecode.com/svn/trunk@2521 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-24 21:17:53 +00:00
reed@google.com
045e62d715 enable soft clipping (yikes)
git-svn-id: http://skia.googlecode.com/svn/trunk@2515 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-24 12:19:46 +00:00
bsalomon@google.com
d92780b558 Temporary revert of r2510. The test that it introduced fails on the Mac build bots. I suspect there is something wrong with the Mac bot machine's GL that is preventing context creation from succeeding. The OpenGL Driver monitor on the machine only shows a software rasterizer. aglChoosePixelFormat seems to fail regardless of input. It may just need a reboot. I'll investigate it more on Monday.
git-svn-id: http://skia.googlecode.com/svn/trunk@2511 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-20 21:54:46 +00:00
bsalomon@google.com
d47fafe057 Add test that validates GrGLInterfaces
Review URL: http://codereview.appspot.com/5304048/



git-svn-id: http://skia.googlecode.com/svn/trunk@2510 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-20 21:09:45 +00:00
bsalomon@google.com
373a6635b7 Virtualize SkGLContext with subclasses SkNativeGLContext and SkMesaGLContext, allow both in gm
Review URL: http://codereview.appspot.com/5307045/



git-svn-id: http://skia.googlecode.com/svn/trunk@2499 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-19 20:43:20 +00:00
reed@google.com
19f286b6f4 add tests for read/writePackedUInt, and fix a bug there.
git-svn-id: http://skia.googlecode.com/svn/trunk@2482 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-18 11:49:52 +00:00
bsalomon@google.com
e295313f01 move utils/SkEGLContext to gpu/SkGLContext, some gpu.gyp cleanup, set eol style LF on all gpu files
Review URL: http://codereview.appspot.com/5242056/



git-svn-id: http://skia.googlecode.com/svn/trunk@2474 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-13 13:33:08 +00:00
reed@google.com
d9f2dea532 update to new api for doAA
git-svn-id: http://skia.googlecode.com/svn/trunk@2463 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-12 14:43:27 +00:00
bungeman@google.com
07faed1102 Setting perspective in fixed point.
http://codereview.appspot.com/5088043/


git-svn-id: http://skia.googlecode.com/svn/trunk@2435 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-07 21:55:56 +00:00
reed@google.com
111c19bfeb fix scalar=fixed for the new tests
git-svn-id: http://skia.googlecode.com/svn/trunk@2427 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-06 20:13:22 +00:00
reed@google.com
0abb499daf add SkAlphaBlend255
git-svn-id: http://skia.googlecode.com/svn/trunk@2426 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-06 20:04:36 +00:00
tomhudson@google.com
889bd8bd7f Make SkMath.h less visible in public header files.
git-svn-id: http://skia.googlecode.com/svn/trunk@2340 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-27 17:38:17 +00:00
reed@google.com
53effc5e32 add tests for flatten, unflatten and transform
git-svn-id: http://skia.googlecode.com/svn/trunk@2303 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-21 19:05:12 +00:00
reed@google.com
10296ccb6a add segment types query to SkPath (i.e. does it have any quads)
git-svn-id: http://skia.googlecode.com/svn/trunk@2292 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-21 12:29:05 +00:00
bsalomon@google.com
383963280d [gpu] Remove getMaxStretch for perspective, use mapRadius for perspective path subdiv tol, add test
Review URL: http://codereview.appspot.com/4975063/



git-svn-id: http://skia.googlecode.com/svn/trunk@2246 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-09 19:32:04 +00:00
reed@google.com
55b5f4bd6a add SkPoint::CanNormalize to unify decisions about when a vector is degenerate
git-svn-id: http://skia.googlecode.com/svn/trunk@2236 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-07 12:23:41 +00:00
bungeman@google.com
d16872c21f Fix BlurTest to work with fixed point.
git-svn-id: http://skia.googlecode.com/svn/trunk@2212 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-02 15:46:17 +00:00
bungeman@google.com
5af16f8d67 Reduce size of filter mask.
http://codereview.appspot.com/4965057/

Reduce the size of filter masks, fix HQ blur when clipped, and add tests.


git-svn-id: http://skia.googlecode.com/svn/trunk@2211 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-02 15:06:44 +00:00
bsalomon@google.com
9dfb7577c4 Skip test GLPrograms test when GL or Gr context can't be created.
TBR: http://codereview.appspot.com/4946041/



git-svn-id: http://skia.googlecode.com/svn/trunk@2167 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-24 03:29:11 +00:00
bsalomon@google.com
a8e686eb6c Make program unit test run clean and add it to tests program
Review URL: http://codereview.appspot.com/4898049/


git-svn-id: http://skia.googlecode.com/svn/trunk@2121 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-16 15:45:58 +00:00
vandebo@chromium.org
04c643b773 Use bfrange to shrink ToUnicode table.
Patch from Arthur Hsu.  Original CL: http://codereview.appspot.com/4844043/
BUG=258

Review URL: http://codereview.appspot.com/4808083

git-svn-id: http://skia.googlecode.com/svn/trunk@2075 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-08 22:33:05 +00:00
tomhudson@google.com
221db3c336 Fix initialization of variables; eliminates warnings on Linux.
git-svn-id: http://skia.googlecode.com/svn/trunk@1990 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28 21:10:29 +00:00
epoger@google.com
ec3ed6a5eb Automatic update of all copyright notices to reflect new license terms.
I have manually examined all of these diffs and restored a few files that
seem to require manual adjustment.

The following files still need to be modified manually, in a separate CL:

android_sample/SampleApp/AndroidManifest.xml
android_sample/SampleApp/res/layout/layout.xml
android_sample/SampleApp/res/menu/sample.xml
android_sample/SampleApp/res/values/strings.xml
android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java
android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java
experimental/CiCarbonSampleMain.c
experimental/CocoaDebugger/main.m
experimental/FileReaderApp/main.m
experimental/SimpleCocoaApp/main.m
experimental/iOSSampleApp/Shared/SkAlertPrompt.h
experimental/iOSSampleApp/Shared/SkAlertPrompt.m
experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig
gpu/src/android/GrGLDefaultInterface_android.cpp
gyp/common.gypi
gyp_skia
include/ports/SkHarfBuzzFont.h
include/views/SkOSWindow_wxwidgets.h
make.bat
make.py
src/opts/memset.arm.S
src/opts/memset16_neon.S
src/opts/memset32_neon.S
src/opts/opts_check_arm.cpp
src/ports/SkDebug_brew.cpp
src/ports/SkMemory_brew.cpp
src/ports/SkOSFile_brew.cpp
src/ports/SkXMLParser_empty.cpp
src/utils/ios/SkImageDecoder_iOS.mm
src/utils/ios/SkOSFile_iOS.mm
src/utils/ios/SkStream_NSData.mm
tests/FillPathTest.cpp
Review URL: http://codereview.appspot.com/4816058

git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28 14:26:00 +00:00
epoger@google.com
fd03db0fe9 Manually update copyright notices in files that defied the automated process
used in http://codereview.appspot.com/4816058/ ('Automatic update of all copyright notices to reflect new license terms.')

Note that the following files have been left alone, because they name
copyright holders outside of Google.  Please let me know if we need to update
these files:

experimental/CiCarbonSampleMain.c
src/opts/memset16_neon.S
src/opts/memset32_neon.S
src/opts/opts_check_arm.cpp
src/ports/SkDebug_brew.cpp
src/ports/SkMemory_brew.cpp
src/ports/SkOSFile_brew.cpp
Review URL: http://codereview.appspot.com/4806054

git-svn-id: http://skia.googlecode.com/svn/trunk@1981 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28 14:24:55 +00:00
vandebo@chromium.org
17e66e2d34 [PDF] Improve efficiency of glyph id collection during font subsetting.
Patch from Arthur Hsu, original CL: http://codereview.appspot.com/4828044/

Review URL: http://codereview.appspot.com/4798057

git-svn-id: http://skia.googlecode.com/svn/trunk@1978 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-27 20:59:55 +00:00
reed@google.com
6fc321a18a add test for SkConvertQuadToCubic
git-svn-id: http://skia.googlecode.com/svn/trunk@1967 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-27 13:54:36 +00:00
caryclark@google.com
f131694617 Add functionality for isRect() to SkPath.
http://codereview.appspot.com/4807052/

M    src/core/SkPath.cpp
M    tests/PathTest.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@1964 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-26 19:54:45 +00:00
vandebo@chromium.org
d3a094ca34 [PDF] Fix bug in catalog substitution.
Review URL: http://codereview.appspot.com/4816051

git-svn-id: http://skia.googlecode.com/svn/trunk@1955 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-25 22:22:25 +00:00
vandebo@chromium.org
421d6443fb [PDF] Make stream compression optional on a per device basis.
There are a lot of small pieces to make this change work:
- SkPDFDocument (and SkPDFCatalog) take flags to disable compression (and font embedding - not implemented yet, can disable font subsetting for now).
- SkPDFStream now defers compression until the size/emit step.
- Classes that *had* a stream (because they didn't know the stream size at construction time) now *are* streams to make the substitution work correctly.
- The SkPDFShader implementation got pulled apart into two classes, one that is a SkPDFDict, and one that is a SkPDFStream (making the common ancestor SkPDFObject).
- Added helper methods in SkPDFObject for children that have simple resource lists.
- Added an iterator to SkPDFDict so that a substitute SkPDFStream can get a copy of the stream dictionary.
- Change SkPDFDocument to have a pointer to an SkPDFCatalog to remove a new circular header reference.

Review URL: http://codereview.appspot.com/4700045

git-svn-id: http://skia.googlecode.com/svn/trunk@1911 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-20 17:39:01 +00:00
bungeman@google.com
ba7983e55c Fix build break from 1851.
In fixed point, kMPersp2 is a magic number, not SK_Scalar1.


git-svn-id: http://skia.googlecode.com/svn/trunk@1852 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-13 20:18:16 +00:00
bungeman@google.com
1ddd7c3928 Change pdfTransform to asAffine.
http://codereview.appspot.com/4704044/



git-svn-id: http://skia.googlecode.com/svn/trunk@1851 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-13 19:41:55 +00:00
bsalomon@google.com
b3b8dfa313 Fix path iter returned pt on close, test path close pt in unit test.
Review URL: http://codereview.appspot.com/4715044/



git-svn-id: http://skia.googlecode.com/svn/trunk@1849 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-13 17:44:36 +00:00
tomhudson@google.com
47e0a09052 Replace vsnprintf with vsnprintf_s; add code to reproduce issue to StringTest;
fix another Windows test failure.



git-svn-id: http://skia.googlecode.com/svn/trunk@1829 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-08 17:49:22 +00:00
reed@google.com
2b75f4279a add asABlur() to maskfilters, so devices like gpu and pdf can query them.
git-svn-id: http://skia.googlecode.com/svn/trunk@1816 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-07 13:43:38 +00:00
vandebo@chromium.org
2ef12d4bb5 [PDF] Add a concept of a substitute object to the SkPDFCatalog class.
Code by Arthur Hsu, original code review: http://codereview.appspot.com/4650060/

Review URL: http://codereview.appspot.com/4639102

git-svn-id: http://skia.googlecode.com/svn/trunk@1812 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-06 23:31:24 +00:00
vandebo@chromium.org
d3a8c94dfd A bit set class. Will be used for font subsetting.
Committed on behalf of arthurhsu@chromium.org with a few final nits.

Original CL: http://codereview.appspot.com/4627077

Review URL: http://codereview.appspot.com/4657070

git-svn-id: http://skia.googlecode.com/svn/trunk@1788 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-02 01:26:37 +00:00
tomhudson@google.com
ee69472409 Remove compile warning by removing unnecessary output.
git-svn-id: http://skia.googlecode.com/svn/trunk@1783 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-01 20:22:01 +00:00
tomhudson@google.com
3a1f6a06cc SkStringPrintf helper fucntion + a new unit test for it.
git-svn-id: http://skia.googlecode.com/svn/trunk@1766 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-30 14:39:52 +00:00
epoger@google.com
f65817c3c0 remove last vestiges of intentional break
git-svn-id: http://skia.googlecode.com/svn/trunk@1753 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-29 14:34:52 +00:00
epoger@google.com
33250842da fix intentional break
git-svn-id: http://skia.googlecode.com/svn/trunk@1751 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-29 14:26:14 +00:00
epoger@google.com
601d1baa75 another intentional break
git-svn-id: http://skia.googlecode.com/svn/trunk@1750 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-29 14:14:24 +00:00
epoger@google.com
3721a7a053 fix intentional break
git-svn-id: http://skia.googlecode.com/svn/trunk@1749 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-29 13:55:12 +00:00
epoger@google.com
2278a7809e intentional error to exercise buildbot emails
git-svn-id: http://skia.googlecode.com/svn/trunk@1748 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-29 13:41:47 +00:00
reed@google.com
8a85d0c493 replace detach/getStream apis on dynamicwstream with SkData
http://codereview.appspot.com/4657046/



git-svn-id: http://skia.googlecode.com/svn/trunk@1714 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 19:12:12 +00:00
reed@google.com
6f2b44d2ff add (disabled) tests for common angles
git-svn-id: http://skia.googlecode.com/svn/trunk@1708 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 18:13:39 +00:00
tomhudson@google.com
fc1539a040 Experimental framework for fast quadratic subdivision density computation code.
Lets us test multiple implementations of the code that determines how many
points to divide a quadratic into and guarantee that estimates are within
a factor of two of the conservative computation.



git-svn-id: http://skia.googlecode.com/svn/trunk@1701 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 15:43:24 +00:00
reed@google.com
8d0b5770f8 rename public SkDataRef to SkData
rename animator's internal SkData to SkDataInput



git-svn-id: http://skia.googlecode.com/svn/trunk@1697 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 13:07:31 +00:00
reed@google.com
70442a6cf7 add copyToData() to dyanamicwstream
git-svn-id: http://skia.googlecode.com/svn/trunk@1695 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-23 21:48:04 +00:00
epoger@google.com
d33f75c7be Move PointTest.cpp out of tests/core into tests/ ; the other arrangement was
"clever" but was causing build problems.



git-svn-id: http://skia.googlecode.com/svn/trunk@1604 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-15 18:49:21 +00:00
epoger@google.com
1fd56dc6e1 Implement SkPoint::Normalize() for SK_SCALAR_IS_FIXED and add performance warning to its declaration
http://codereview.appspot.com/4582043/



git-svn-id: http://skia.googlecode.com/svn/trunk@1602 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-15 18:04:58 +00:00
reed@google.com
1622c99150 add
git-svn-id: http://skia.googlecode.com/svn/trunk@1589 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-14 19:22:21 +00:00
epoger@google.com
baa677b248 delete all old (non-Gyp) buildfiles
git-svn-id: http://skia.googlecode.com/svn/trunk@1583 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-14 18:35:08 +00:00
reed@google.com
da9fac0aa1 add row/col major getters, plus unit-tests
git-svn-id: http://skia.googlecode.com/svn/trunk@1564 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-13 14:46:52 +00:00
reed@google.com
125002a94c update SkMatrix44
git-svn-id: http://skia.googlecode.com/svn/trunk@1559 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-09 19:13:41 +00:00
epoger@google.com
bf083a9a20 fix windows compile errors in "tests"
git-svn-id: http://skia.googlecode.com/svn/trunk@1547 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-08 18:26:08 +00:00
tomhudson@google.com
ddab2276cb Duplicates code from GrPathUtils to verify that an approximation for the number
of points in a quadratic curve is within +/- 2x the value determined by the
previous expensive method.

Running a similar approximation method on the Guimark2 HTML5 Charting demo drops
the share of time spent in SkPoint::distanceToLineSegmentBetweenSqd() from 4.57%
to under 0.6%, although SkPath::Iter::next(), SkPath::lineTo(), and
GrPathUtils::quadraticPointCount() all increase a bit.

Using a similar approximation method for SampleSlides.cpp produces visually
reasonable results. Without a relevant gm (it looks like gm/pathfill.cpp doesn't
have explicit quadratics?) I'm not sure how to get a better output quality
test.

We could avoid code duplication by:
 - have two implementations in GrPathUtils (computedQuadraticPointCount() &
estimatedQuadraticPointCount() are my working titles)
 - use a #define to select between them at compile time
 - expose both of them in the header file for this test to access



git-svn-id: http://skia.googlecode.com/svn/trunk@1540 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-08 14:46:28 +00:00
reed@google.com
103c036218 pass correct size to read(buffer, ...) tests
git-svn-id: http://skia.googlecode.com/svn/trunk@1398 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-23 12:28:48 +00:00
reed@google.com
dde0956375 add cross-process option to gpipe
add unittests for reader32 and writer32



git-svn-id: http://skia.googlecode.com/svn/trunk@1397 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-23 12:21:05 +00:00
epoger@google.com
bcc56836ea tiny document-only change
git-svn-id: http://skia.googlecode.com/svn/trunk@1391 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-20 17:35:46 +00:00
epoger@google.com
1f75399dce fix PathTest for SKIA_SCALAR=fixed
http://codereview.appspot.com/4528083/



git-svn-id: http://skia.googlecode.com/svn/trunk@1371 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-18 20:23:30 +00:00
vandebo@chromium.org
6cc26da383 [PDF] Fix PDF primitives test for fixed scalars.
110999 is out of range for SkFixed (+/- 32767)

BUG=269

Review URL: http://codereview.appspot.com/4530051

git-svn-id: http://skia.googlecode.com/svn/trunk@1365 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-18 17:08:05 +00:00
epoger@google.com
2047f00e46 get tests closer to passing for SKIA_SCALAR=fixed
http://codereview.appspot.com/4532064/



git-svn-id: http://skia.googlecode.com/svn/trunk@1351 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-17 17:36:59 +00:00
reed@google.com
b54455e440 Change getConvexity() to now compute it if the value is set to kUnkown.
Change behavior for degenerate paths: now those return kConvex instead of kUnknown



git-svn-id: http://skia.googlecode.com/svn/trunk@1330 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-16 14:16:04 +00:00
reed@google.com
85b6e399d5 detect more than one loop in computeconvexity
git-svn-id: http://skia.googlecode.com/svn/trunk@1326 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-15 20:25:17 +00:00
reed@google.com
7c42481c9d migrate more tests from GrPath.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@1325 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-15 04:38:34 +00:00
reed@google.com
04863fa14a add Convexity enum to SkPath
git-svn-id: http://skia.googlecode.com/svn/trunk@1324 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-15 04:08:24 +00:00
epoger@google.com
a8fd79d407 make tests return nonzero if failing
http://codereview.appspot.com/4545042/



git-svn-id: http://skia.googlecode.com/svn/trunk@1323 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-13 19:26:48 +00:00
epoger@google.com
6e7a7b3b1d Another tiny comment-only change to trigger buildbot
git-svn-id: http://skia.googlecode.com/svn/trunk@1322 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-13 15:15:11 +00:00
epoger@google.com
4b8117db70 Tiny comment-only change to trigger buildbot
git-svn-id: http://skia.googlecode.com/svn/trunk@1321 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-13 15:01:59 +00:00
epoger@google.com
189520db79 Fix intentional breakage in previous commit
git-svn-id: http://skia.googlecode.com/svn/trunk@1313 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-12 13:50:57 +00:00
epoger@google.com
262d5f78c0 Intentional breakage to test notifications, will fix quickly
git-svn-id: http://skia.googlecode.com/svn/trunk@1312 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-12 13:48:24 +00:00
epoger@google.com
540fb22fe9 Tiny comment-only change to trigger update
git-svn-id: http://skia.googlecode.com/svn/trunk@1311 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-12 13:39:43 +00:00
epoger@google.com
67d78b18d3 Fix my intentional break.
git-svn-id: http://skia.googlecode.com/svn/trunk@1307 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-11 18:51:01 +00:00
epoger@google.com
76c5847bcd Intentionally break tests, will fix quickly.
git-svn-id: http://skia.googlecode.com/svn/trunk@1305 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-11 18:45:12 +00:00
epoger@google.com
f28b78b0bb Another comment-only change to test notifications
git-svn-id: http://skia.googlecode.com/svn/trunk@1304 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-11 18:32:30 +00:00
epoger@google.com
823c973d3d Tiny comment-only change to test notifications
git-svn-id: http://skia.googlecode.com/svn/trunk@1302 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-11 18:10:18 +00:00
reed@google.com
75595d9392 update
git-svn-id: http://skia.googlecode.com/svn/trunk@1232 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-03 21:27:49 +00:00
vandebo@chromium.org
1e1c36f4f8 Add comparison and assignment to SkClipStack (and fix an optimization bug).
Review URL: http://codereview.appspot.com/4423085

git-svn-id: http://skia.googlecode.com/svn/trunk@1230 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-03 16:26:09 +00:00
epoger@google.com
69731aa60c Another tiny comment-only change to trigger svn update
git-svn-id: http://skia.googlecode.com/svn/trunk@1191 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 19:31:33 +00:00
epoger@google.com
9395a7e696 Tiny comment-only change to trigger SVN update in buildbot
git-svn-id: http://skia.googlecode.com/svn/trunk@1184 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 14:58:35 +00:00
reed@google.com
83acbe0a78 add test for premultiplycolor
git-svn-id: http://skia.googlecode.com/svn/trunk@1167 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-22 19:18:20 +00:00
epoger@google.com
e05aec3b45 tiny test commit
http://codereview.appspot.com/4432053



git-svn-id: http://skia.googlecode.com/svn/trunk@1163 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-20 15:54:09 +00:00
reed@google.com
13659f1f8d handle overflow
note: gradient caller doesn't so we can still draw wrong when the caller
converts its initial fx from float->fixed. Perhaps SkClampRange should offer
a float interface as well.



git-svn-id: http://skia.googlecode.com/svn/trunk@1149 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-18 19:59:38 +00:00
reed@google.com
63c1ad82fc add fFx1 field, returning where to start the iterator for fCount1 range
add unittest



git-svn-id: http://skia.googlecode.com/svn/trunk@1145 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-18 14:15:36 +00:00
vandebo@chromium.org
fb0b0edd86 [PDF] If the clip is empty, we shouldn't bother actually drawing anything.
Plus, fix ifdef for flate test.

Review URL: http://codereview.appspot.com/4420041

git-svn-id: http://skia.googlecode.com/svn/trunk@1141 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-15 20:01:17 +00:00
reed@google.com
43c50c8c77 add reflection asColorMode to SkColorFilter (for gpu)
git-svn-id: http://skia.googlecode.com/svn/trunk@1126 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 15:50:52 +00:00
reed@google.com
c0d4aa2088 fix asMode() to always succeed if the xfermode was built from a Mode
update dox to reflect this
update test



git-svn-id: http://skia.googlecode.com/svn/trunk@1121 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-13 21:12:04 +00:00
reed@google.com
772813afa6 add code to test different premul techniques (disabled right now)
git-svn-id: http://skia.googlecode.com/svn/trunk@1030 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 22:34:45 +00:00
reed@google.com
e733071abe add refcnt helper to metadata
add unittests for metadata



git-svn-id: http://skia.googlecode.com/svn/trunk@1019 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 18:23:21 +00:00
reed@google.com
2ade0863c3 abort drawing if srcRect is outside of the bitmap bounds
git-svn-id: http://skia.googlecode.com/svn/trunk@951 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-17 17:48:04 +00:00
reed@google.com
ddbf4c85de remove unused methods from SkRefPtr, as a check-point for better understanding
what we want to do with this class.



git-svn-id: http://skia.googlecode.com/svn/trunk@903 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 16:06:06 +00:00
vandebo@chromium.org
094316bd28 [PDF] Restrict scalars to the range that PDF understands.
* Add a config flag to ignore the restrictions
* Apply restriction to both SkPDFScalar and scalars used in content streams.
* +/- 32,767 for the integer part.
* +/1 1/65536 for the fraction part.

Review URL: http://codereview.appspot.com/4240050

git-svn-id: http://skia.googlecode.com/svn/trunk@882 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 03:15:13 +00:00
reed@google.com
8072e4fdc8 bump SkStrAppendScalar_MaxSize to 14 to accomodate the largest string now that
scalar->string uses %.8g. Floats have at most 8 significant digits, plus we add
more space for sign, decimal point and exponent.

add tests to check these limits.



git-svn-id: http://skia.googlecode.com/svn/trunk@872 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-01 15:44:08 +00:00
reed@google.com
fa06e52803 use sprintf to generate float->string for SkString routines, removing the
worry of first converting the scalar to a fixed.



git-svn-id: http://skia.googlecode.com/svn/trunk@865 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-28 21:29:58 +00:00
reed@google.com
f4888c4b45 add simple test for SkBitmap::getColor()
git-svn-id: http://skia.googlecode.com/svn/trunk@859 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-25 19:50:19 +00:00
reed@google.com
a67573e25f http://codereview.appspot.com/4233041/
Add templated version of SkAutoTUnref.
Add unittests for it.
Remove unused helper apis on SkAutoUnref.



git-svn-id: http://skia.googlecode.com/svn/trunk@858 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-25 18:10:29 +00:00
reed@google.com
bdee9fc778 add tests for SkClipStack
git-svn-id: http://skia.googlecode.com/svn/trunk@828 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 20:17:43 +00:00
reed@google.com
f9e7132075 add tests for pushing on back as well as front
git-svn-id: http://skia.googlecode.com/svn/trunk@827 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 19:56:18 +00:00
reed@google.com
4c09d5cd4b rename SkDeque::Iter to SkDeque::F2BIter, since it runs front-to-back (in preparation
for another iter that runs back-to-front (B2FIter).

add unittest for Deque



git-svn-id: http://skia.googlecode.com/svn/trunk@821 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 13:16:38 +00:00
reed@android.com
d413445531 update to work correctly for scalar == fixed or float
git-svn-id: http://skia.googlecode.com/svn/trunk@780 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-09 02:24:26 +00:00
reed@google.com
077910e20c add SkScalarIsFinite(), and use it for a more portable impl of SkRect::isValidCoords()
git-svn-id: http://skia.googlecode.com/svn/trunk@775 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-08 21:56:39 +00:00
vandebo@chromium.org
4854327772 [PDF] Add support for xfermodes / blend modes.
- Change SkGraphicState to track and set the blend mode (xfermode) for modes built in to PDF (non porter duff modes + src over).
- Add SkXfermode::asMode() to retrieve xfermode as an enum for non porter duff modes.
- Move SkXfermode.cpp around a bit to support asMode() -- Generally move utility functions toward the top of the file.
- Make SkPDFFormXObject an isolated transparency group, as it used for saveLayer, which draws on transparent, not the device background.
- Set the graphic state in drawDevice and drawBitmap in order to get the right xfermode and alpha.

Review URL: http://codereview.appspot.com/4131043

git-svn-id: http://skia.googlecode.com/svn/trunk@774 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-08 19:28:07 +00:00
reed@google.com
62047cf198 clear the convex-hint in reset() and rewind(), to match its state in a newly
created path.

todo: convexity perhaps should be tristate: yes, no, unknown



git-svn-id: http://skia.googlecode.com/svn/trunk@768 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 19:39:09 +00:00
reed@google.com
534240f605 hide divide-by-zero from the compiler, to avoid the warning
git-svn-id: http://skia.googlecode.com/svn/trunk@766 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 19:08:59 +00:00
wjmaclean@chromium.org
ff1ec2f1a8 Add unit test for SkRect::hasValidCoordinates().
git-svn-id: http://skia.googlecode.com/svn/trunk@765 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 17:48:40 +00:00
reed@google.com
82065d667f remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with
SkSafeRef() and SkSafeUnref().

This is basically a bug waiting to happen. An optimizing compiler can remove
checks for null on "this" if it chooses. However, SkRefCnt::safeRef() relies on
precisely this check...

void SkRefCnt::safeRef() {
    if (this) {
        this->ref();
    }
}

Since a compiler might skip the if-clause, it breaks the intention of this
method, hence its removal.

static inline void SkSafeRef(SkRefCnt* obj) {
    if (obj) {
        obj->ref();
    }
}

This form is not ignored by an optimizing compile, so we use it instead.




git-svn-id: http://skia.googlecode.com/svn/trunk@762 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 15:30:46 +00:00