Commit Graph

101 Commits

Author SHA1 Message Date
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
reed@google.com
3636ed558f embed a refdict inside SkDevice
udate unittests to test refdict's destructor



git-svn-id: http://skia.googlecode.com/svn/trunk@731 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 23:50:57 +00:00
reed@google.com
0e190d0e12 add refdict class, for holding a dictionary of reference-counted objects
-- experimental



git-svn-id: http://skia.googlecode.com/svn/trunk@730 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 23:36:05 +00:00
vandebo@chromium.org
2a22e10ab2 Add Truetype and Type 1 font embedding support
Sorry this is such a large CL.  It was very exploratory for me to make this
work.

- Add an interface to SkFontHost to retrieve font information and provide NULL implementations on all platforms except Linux.
- Segment large Type 1 fonts into fonts with shared resources with 255 glyphs each.
- Convert the various Type 1 formats to the form PDF wants.
- Update font as we draw text instead of as part of the graphical state.
- Remove built-in font support, we can't really use it.

Other changes I can pull out to a separate CL if you like.

- Add SkTScopedPtr class.
- Fix double free of resources.
- Fix bug in resource unique-ifying code.
- Don't print anything for any empty clip path.
- Fix copy paste error - MiterLimit.
- Fix sign extension bug in SkPDFString
- Fix FlateTest rename that was missed on a previous commit.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@728 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 21:01:34 +00:00
reed@google.com
9ce6e75248 init src either opaquely (e.g. white), or with a valid ctable index (e.g. 0)
git-svn-id: http://skia.googlecode.com/svn/trunk@680 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-10 14:04:07 +00:00
reed@google.com
1fcd51e6b2 add template macro to "safely" perform casts w/o breaking strict-aliasing
fix aliasing warnings



git-svn-id: http://skia.googlecode.com/svn/trunk@674 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 15:50:27 +00:00