Commit Graph

1789 Commits

Author SHA1 Message Date
reed@google.com
4db592c408 remove contains(x,y) for rects and rrects ... not well defined, and unused
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12022 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 17:39:43 +00:00
reed@google.com
35fe7372b1 prototype for kerning api
BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12018 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 15:07:03 +00:00
robertphillips@google.com
7101abe5b3 Reverting r12010 (Use SkPathRef gen id for SkPath::getGenerationID https://codereview.chromium.org/49693002) due to test failures in PathTest on Android
git-svn-id: http://skia.googlecode.com/svn/trunk@12012 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 22:45:37 +00:00
commit-bot@chromium.org
4cc7518d9b Use SkPathRef gen id for SkPath::getGenerationID
R=mtklein@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12010 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 21:34:55 +00:00
commit-bot@chromium.org
950923b437 All SkAnnotations are no-draw. Propose we fold that through.
BUG=
R=edisonn@google.com, reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12008 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 20:44:39 +00:00
commit-bot@chromium.org
77e079af1a Enabling validation code in serialization and adding serialization to fuzzer
BUG=

Committed: http://code.google.com/p/skia/source/detail?r=11968

R=reed@google.com, mtklein@google.com, senorblanco@chromium.org, bsalomon@google.com, robertphillips@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11981 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 15:52:02 +00:00
robertphillips@google.com
3721ee652a Reverting r11968 (Enabling validation code in serialization and adding serialization to fuzzer - https://codereview.chromium.org/44573002) due to failure on Chromium AllQuads test.
git-svn-id: http://skia.googlecode.com/svn/trunk@11974 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 12:08:52 +00:00
commit-bot@chromium.org
d25d6c7b8e Enabling validation code in serialization and adding serialization to fuzzer
BUG=
R=reed@google.com, mtklein@google.com, senorblanco@chromium.org, bsalomon@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11968 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 21:04:40 +00:00
bungeman@google.com
10ba006631 Allow users to build on top of, instead of beneath, SkRefCnt.
Alternative to r11811.

The Chromium half of this can be seen at https://codereview.chromium.org/40973002/ .

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11967 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 18:40:24 +00:00
bungeman@google.com
3c996f8a15 Implement charToGlyph on remaining ports.
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11955 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 21:39:35 +00:00
commit-bot@chromium.org
50a3043194 We want to give SkPixelRef a way to signal over to GrResourceCache that it's become pointless to keep around textures based on that SkPixelRef when its pixels change, so that it can be a good citizen and free those textures.
This adds an invalidation listener mechanism to SkPixelRef to let it send this message while still staying ignorant of who's listening.

These messages are tricky to deliver.  The SkPixelRefs they originates from and the GrResourceCaches they ultimately end up at may be on different threads; neither class is threadsafe; their object lifetimes are totally independent; it's a many-senders-to-many-receivers relation; and neither codebase should really know about the other.

So I've added a per-message-type global message bus to broadcast messages to threadsafe inboxes.  Anyone can post() a message, which will show up in all the inboxes of that type, read whenever the inbox's owner calls poll().  The implementation is _dumb_; it can be improved in several dimensions (inbox size limits, lock-free message delivery) if we find the need.

I took some care to make sure not to send the invalidation message for any SkPixelRef that's sharing a generation ID with another SkPixelRef.

BUG=
R=bsalomon@google.com, scroggo@google.com, reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11949 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 17:44:27 +00:00
tomhudson@google.com
381010e550 Expose SkPicture::willPlayBackBitmaps()
This returns true if (1) the picture has finished recording and
(2) this picture or any picture drawn into it refers to any bitmaps. 
It allows clients doing complicated manipulations of the picture to 
early-out when there are no bitmaps present. 

BUG=303281
R=reed@google.com



git-svn-id: http://skia.googlecode.com/svn/trunk@11935 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 11:12:47 +00:00
senorblanco@chromium.org
1a6382f5e7 Split up SkXfermode::asNewEffectOrCoeff() into asNewEffect(), asCoeff().
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11926 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 18:41:36 +00:00
commit-bot@chromium.org
c0b7e10c6a Initial error handling code
I made it as simple as possible. The impact seems minimal and it should do what's necessary to make this code secure.

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=11247

R=reed@google.com, scroggo@google.com, djsollen@google.com, sugoi@google.com, bsalomon@google.com, mtklein@google.com, senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11922 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 17:06:21 +00:00
commit-bot@chromium.org
1f81fd6546 SK_ONCE for SkData and SkPathRef
Adds SK_ONCE_FRIEND, to allow SK_DEF_ONCE code to be friends with a class.  This had to go in include/core to be visible to headers there.

BUG=
R=reed@google.com, bungeman@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11914 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 14:44:08 +00:00
senorblanco@chromium.org
fbcd415aa0 Remove GrContext from SkXfermode::[Aa]sNewEffectOrCoeff() and all subclasses,
since it's unused.

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11913 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 14:03:22 +00:00
bsalomon@google.com
7ce564cccb Revert "If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance."
This reverts commit r11904

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11909 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 16:54:15 +00:00
bsalomon@google.com
ad254fee73 If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
Committed: http://code.google.com/p/skia/source/detail?r=11842

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11904 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 13:19:12 +00:00
commit-bot@chromium.org
8c294900f3 Add DPI stettings to SkDocument::CreatePDF(). Tests will be added in a future cl, once DPI will be used in SkPDFDevice
R=reed@google.com, bungeman@google.com, vandebo@chromium.org

Author: edisonn@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11886 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 17:14:37 +00:00
reed@google.com
383a697692 store SkAlphaType inside SkBitmap, on road to support unpremul
BUG=
R=bsalomon@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11877 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 14:00:07 +00:00
robertphillips@google.com
c2eae47954 Reverting revert of r11862 (Constify SkFlattenable::getFactory()) or reverting r11871.
git-svn-id: http://skia.googlecode.com/svn/trunk@11876 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 12:26:10 +00:00
robertphillips@google.com
b5e391025e Reverted due to Chromium compilation failures. Please see:
https://codereview.chromium.org/30973002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11871 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-20 13:34:21 +00:00
senorblanco@chromium.org
7938bae14a Implement crop rect support for SkMatrixConvolutionImageFilter.
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11863 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 20:08:14 +00:00
commit-bot@chromium.org
575604d4c2 Constify SkFlattenable::getFactory().
This allows us to also constify the argument of
SkFlattenableWriteBuffer::writeFlattenable() - which I've recently found
myself const-casting for no apparent good reason.

R=bungeman@google.com, mtklein@google.com, reed@google.com

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11862 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 19:37:55 +00:00
senorblanco@chromium.org
1aa68723b8 Make SkImageFilter::asNewEffect() (and all derived-class overrides) protected.
R=bsalomon@google.com, bsalomon

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11847 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 19:35:09 +00:00
robertphillips@google.com
c2cc1dbe81 Revert r11842 (call drawRect to try GrAARectRenderer if the path is a rect - https://codereview.chromium.org/23484007) due to changes to the following GM images:
inverse_paths
pathopsinverse




git-svn-id: http://skia.googlecode.com/svn/trunk@11845 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 17:34:20 +00:00
commit-bot@chromium.org
521a46750d If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
R=bsalomon@google.com, robertphillips@google.com, reed@google.com

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:21 +00:00
senorblanco@chromium.org
3f1f2a3a59 Make CropRect immutable after construction.
BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11819 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:07:48 +00:00
robertphillips@google.com
e9cd27d4a3 Third wave of Win64 warning cleanup
https://codereview.chromium.org/27487003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11817 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 17:48:11 +00:00
commit-bot@chromium.org
8f930ff33e Remove unused header SkImageTypes.h
R=reed@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11815 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 17:02:28 +00:00
senorblanco@chromium.org
8b66abb9bc Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome.
BUG=
R=reed@google.com, reed

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11812 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:46:00 +00:00
commit-bot@chromium.org
6d2533ebd2 Add hooks for external run-time reference adoption checks to SkRefCnt.
The reference adoption checks are to help detect memory
leaks and bad usage when using SkRefCnt subclasses with
Blink's RefPtr.

BUG=crbug.com/304265
R=reed@google.com, bungeman@google.com

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11811 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:15:58 +00:00
reed@google.com
353482251e force readbuffer clients to use specialized readFoo for flattenables
BUG=
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11803 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 13:05:06 +00:00
commit-bot@chromium.org
2f92966c6a Remove SkDataTable from SkFlattenable hierarchy.
As far as I can tell, we never really needed this.  No code outside the unit
test calls this code.

BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11792 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:39:57 +00:00
commit-bot@chromium.org
e0e1da34f3 Remove SkColorTable from SkFlattenable hierarchy.
BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11791 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 20:36:16 +00:00
skia.committer@gmail.com
fbc58a3055 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11769 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 07:02:27 +00:00
robertphillips@google.com
adacc7067a Start cleaning up 64bit Win warnings
https://codereview.chromium.org/27192003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11764 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 21:53:24 +00:00
reed@google.com
0cd2ac6c72 change SkAnnotation to not inherit from SkFlattenable (does not need dynamic factories)
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11762 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 20:02:44 +00:00
reed@google.com
4979f32cd3 remove SkDataSet, and just store a key/value in SkAnnotation
BUG=
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11759 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 16:49:15 +00:00
commit-bot@chromium.org
2887119a63 save/restore the canvas around every bench draw call
BUG=

Committed: http://code.google.com/p/skia/source/detail?r=11728

R=djsollen@google.com, reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11755 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 15:28:01 +00:00
reed@google.com
da30055b29 SkData need not be a Flattenable, since it does not need subclass/factories
BUG=
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11754 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 14:33:11 +00:00
commit-bot@chromium.org
5e00989a28 Add SkPDFDeviceFlatenner which extends SkPDFDevice to add support to flatten the path and the text when we have perspective.
prepare to deprecate SkPDFDevice constructor, and route gm and render_pdfs to use SkDocument::Create pdf interface instead. - controlled by a flag
add comments where we are supposed to flatten other features (paint, shaders, ... )

R=reed@google.com, bungeman@google.com, scroggo@google.com, vandebo@chromium.org, bsalomon@google.com

Author: edisonn@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11751 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 13:42:12 +00:00
bungeman@google.com
fab44db294 Clean up SkTypes.h.
This change removes sk_stdint.h since it is only needed for vs2008 and earlier.
This change removes SK_MMAP_SUPPORT define since it is no longer used.
This change removes the stdio.h include from SkTypes.h since on many systems
this is a very large header, few Skia files actually use it, it is
available everywhere standard, and SkDebugf should be used instead.

After this change there is no need for external users to put Skia's
include/config into their own list of includes, saving the headache
of having two header files of the same name and sometimes getting the
wrong one depending on include order.

R=bsalomon@google.com, djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:50:45 +00:00
reed@google.com
fb6deed66c make explicit the requirement that all colorfilters are reentrant-safe
BUG=
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11705 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 17:35:58 +00:00
reed@google.com
0a6151d66c Revert "Revert "change SkColorTable to be immutable""
This reverts commit b8162cb840f4cb6002ef68d5ac775c6a122c52a9.

Fixed was call-sites in benches that used the (now gone) setIsOpaque api.

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11695 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 14:44:56 +00:00
senorblanco@chromium.org
b295fb6ff3 Change SkImageFilter's cropRect from SkIRect to a CropRect struct, containing an SkRect and flags indicating which parameters are set.
NOTE: this will require SK_CROP_RECT_IS_INT=1 to be set in Chrome until Blink has been updated to use SkImageFilter::CropRect. Include https://codereview.chromium.org/26528002/ with the Skia roll.

Note also that SK_CROP_RECT_IS_INT is a temporary measure until all call sites in Blink have been updated to use SkRect.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11692 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 13:51:19 +00:00
commit-bot@chromium.org
b5a6651f9f SkDocument api changes (abort, close return success, set DCT encoder...).
R=reed@google.com, reed

Author: edisonn@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11688 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 21:09:00 +00:00
reed@google.com
48d9ff5b34 Revert "change SkColorTable to be immutable"
This reverts commit 1c0ff422868b3badf5ffe0790a5d051d1896e2f7.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11677 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 16:49:45 +00:00
reed@google.com
9864c24e40 change SkColorTable to be immutable
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11676 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 16:34:47 +00:00
commit-bot@chromium.org
df187c7eb2 ARM Skia NEON patches - 28 - Xfermode: SIMD modeprocs
Xfermode: allow for SIMD modeprocs

    This patch introduces the ability to have SIMD Xfermode modeprocs.
    In the NEON implementation, SIMD modeprocs will process 8 pixels
    at a time.

    Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=11654

R=djsollen@google.com, mtklein@google.com, reed@google.com

Author: kevin.petit.arm@gmail.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11669 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 14:39:46 +00:00
djsollen@google.com
6f980c6a23 Revert "ARM Skia NEON patches - 28 - Xfermode: SIMD modeprocs"
This reverts http://code.google.com/p/skia/source/detail?r=11654

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11655 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-08 16:59:53 +00:00
commit-bot@chromium.org
84cc1ebc5a ARM Skia NEON patches - 28 - Xfermode: SIMD modeprocs
Xfermode: allow for SIMD modeprocs

    This patch introduces the ability to have SIMD Xfermode modeprocs.
    In the NEON implementation, SIMD modeprocs will process 8 pixels
    at a time.

    Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

BUG=
R=djsollen@google.com, mtklein@google.com, reed@google.com

Author: kevin.petit.arm@gmail.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11654 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-08 16:47:22 +00:00
commit-bot@chromium.org
86490573b5 commit to xfermode objects being immutable
BUG=
R=djsollen@google.com, mtklein@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11614 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 16:52:55 +00:00
commit-bot@chromium.org
3390b9ac9a Repurpose GrGLCoordTransform as GrGLProgramEffects
Creates a GrGLProgramEffects class that the GrGLProgram uses to manage
an array of effects. This gives us enough abstraction for the program
to cleanly handle different types of coord transforms.

R=bsalomon@google.com

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11588 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-03 15:17:58 +00:00
robertphillips@google.com
aaf3e64b2c Move makeSpace and resetToSize from SkPathRef.cpp to .h
https://codereview.chromium.org/25754002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11578 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 17:49:50 +00:00
commit-bot@chromium.org
80390ec0f5 Threads can race to be the first one to calculate the empty path ref's bounds.
To dodge the problem, call computeBounds when creating the global empty path
ref.

There's still another race here, which is that we can race to create the empty
path ref in the first place.  As written we can conceivably allocate an
arbitrary number of empty path refs, one of which ends up pointed to by the
global variable at the end.

I've punted on fixing this for now because 1) tsan has not complained yet; 2) I
think it can be fixed by the same approach as we can fix the memsets in
25415003, so I want to wait to see how that review goes
first.

BUG=
R=reed@google.com, robertphillips@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11576 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 16:42:58 +00:00
robertphillips@google.com
0308707248 Make it explicit that some validate methods are debug only
https://codereview.chromium.org/25716003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11575 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 16:42:21 +00:00
scroggo@google.com
8d2392487c Add an option on SkImageDecoder to skip writing 0s.
Only implemented for PNG.

Add a getter and setter, and sets the default to false in the
constructor. Also copies the setting in copyFieldsToOther.

Fix an indpendent bug where fDitherImage was not being copied in
copyFieldsToOther.

In SkScaledBitmapSampler::begin, consolidate the settings passed in
by passing a const reference to the decoder. The decoder can be
referenced for its settings of dither, unpremultiplied, and now
skipping writing zeroes. Update callers to use the new API. In png
decoder, rather than passing around a pointer to an initial
read of getDitherImage, and potentially changing it, look at the
field on the decoder itself, and modify it directly. This is a
change in behavior - now if that same decoder is used to decode
a different image, the dither setting has changed. I think this is
okay because A) the typical use case is to use a new decoder for
each decode, B) we do not make any promises that a decode does not
change the decoder and C) it makes the code in SkScaledBitmapSampler
much cleaner.

In SkScaledBitmapScampler, add new row procs for skipping zeroes. Now
that choosing the row proc has five dimensions (src config, dst config,
dither, skip writing zeroes, unpremultiplied), use a new method: each
src/dst combination has a function for choosing the right proc depending
on the decoder.

SkScaledBitmapScampler::RowProc is now public for convenience.

Remove Sample_Gray_D8888_Unpremul, which is effectively no different
from Sample_Gray_D8888.

In cases where unpremultiplied was trivial, such as 565 and when
sampling from gray, decoding may now succeed.

Add a benchmark (currently disabled) for comparing the speed of skipping
writing zeroes versus not skipping. For this particular image, which is
mostly transparent pixels, normal decoding took about 3.6 milliseconds,
while skipping zeroes in the decode took only about 2.5 milliseconds
(this is on a Nexus 4). Presumably it would be slower on an image
with a small amount of transparency, but there will be no slowdown
for an image which reports that it has no transparency.

In SkImageRef_ashmem, always skip writing zeroes, since ashmem
memory is guaranteed to be initialized to 0.

Add a flag to skip writing zeroes in skimage.

Add a regression test for choosing the rowproc to ensure I did not
change any behavior accidentally.

BUG=skia:1661
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11558 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 17:27:15 +00:00
robertphillips@google.com
650ead2f1b Added SK_API to SkPathRef.h
git-svn-id: http://skia.googlecode.com/svn/trunk@11515 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-29 14:48:38 +00:00
robertphillips@google.com
3e292aa398 Move unlikely-to-be-inlined code from SkPathRef.h to SkPathRef.cpp
https://codereview.chromium.org/24998004/



git-svn-id: http://skia.googlecode.com/svn/trunk@11506 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-27 17:48:49 +00:00
robertphillips@google.com
080958599e Compiler warning/error fix for Chromium
git-svn-id: http://skia.googlecode.com/svn/trunk@11494 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-27 12:27:27 +00:00
skia.committer@gmail.com
65caeaf32d Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11493 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-27 07:01:29 +00:00
reed@google.com
baed71fbfe add counting to Globals, and refactor some for clarity
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11484 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-26 19:28:27 +00:00
commit-bot@chromium.org
2c86fbb0b1 Add SkDivMod with a special case for ARM.
BUG=skia:1663
R=djsollen@google.com, tomhudson@google.com, reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/24159009

git-svn-id: http://skia.googlecode.com/svn/trunk@11482 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-26 19:22:54 +00:00
commit-bot@chromium.org
97f8167622 We don't flatten or unflatten SkPaintOptionsAndroid. Reproduce and fix.
BUG=skia:1625
R=djsollen@google.com, reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/24075010

git-svn-id: http://skia.googlecode.com/svn/trunk@11472 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-26 15:16:12 +00:00
robertphillips@google.com
ca0c8389e2 Move bound and isFinite into pathref
https://codereview.chromium.org/24350006/



git-svn-id: http://skia.googlecode.com/svn/trunk@11467 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-26 12:18:23 +00:00
scroggo@google.com
b5571b3324 Change SkImageDecoders to take an SkStreamRewindable.
Only affects factories, static functions that will use the factories,
and subset decoding, which all require rewinding. The decoders
themselves continue to take an SkStream. This is merely documentation
stating which functions will possibly rewind the passed in SkStream.

This is part of the general change to coordinate SkStreams with
Android's streams, which don't necessarily support rewinding in all
cases.

Update callers to use SkStreamRewindable.

BUG=skia:1572
R=bungeman@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11460 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-25 21:34:24 +00:00
robertphillips@google.com
485e1c0128 Patch SkImage.h so Chrome will compile
git-svn-id: http://skia.googlecode.com/svn/trunk@11429 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-22 21:57:03 +00:00
robertphillips@google.com
b1b6a46740 Remove SK_ENABLE_LEGACY_API_ALIASING from SkImage.h
git-svn-id: http://skia.googlecode.com/svn/trunk@11428 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-22 21:01:28 +00:00
skia.committer@gmail.com
572a865846 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11426 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-21 07:01:53 +00:00
reed@google.com
94248f85e5 add trailing quote on #error
git-svn-id: http://skia.googlecode.com/svn/trunk@11422 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 19:47:32 +00:00
reed@google.com
d28ba8010c promote SkImage::AlphaType to SkAlphaType
BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11421 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 19:33:52 +00:00
mtklein@google.com
519f9677a4 Add sk_calloc. Remove SkMemory_stdlib, which seems unused.
I'm seeing basically no difference between malloc + bzero and calloc on my desktop, but on a Galaxy Nexus calloc is never slower, and significantly faster once the allocation size becomes large, both for allocation and for _reading_.

BUG=skia:1662
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11414 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 14:31:45 +00:00
commit-bot@chromium.org
22d69f9973 I'm investigating how to make the IPC transfer a bit more secure on the
skia side by adding some safety checks. This cl is about brainstorming
and proposing possible solutions for type checking at different stages.

BUG=
R=senorblanco@google.com, sugoi@google.com, scroggo@google.com, reed@android.com, senorblanco@chromium.org, mtklein@google.com, reed@google.com

Author: sugoi@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22799007

git-svn-id: http://skia.googlecode.com/svn/trunk@11395 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 18:40:49 +00:00
djsollen@google.com
9902c38f48 Add new entry point that supports fallback font selection based on language.
BUG= chromium:287995
R=reed@google.com, wangxianzhu@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11394 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 18:22:30 +00:00
djsollen@google.com
0936c01a39 Remove 2 unused defines USE_CHROMIUM_SKIA and SK_BUILD_FOR_CHROMIUM
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11381 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 14:29:12 +00:00
reed@google.com
636d87a3f4 update devicelooper to skip internal tiles that are empty, and unittests
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11331 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 20:03:43 +00:00
robertphillips@google.com
07f81a57ba Baby step in making SkGpuDevice no longer derive from SkBitmapDevice
https://codereview.chromium.org/23641008/



git-svn-id: http://skia.googlecode.com/svn/trunk@11311 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 12:26:23 +00:00
robertphillips@google.com
24ddde9758 Revert 11247, 11250, 11251, 11257, and 11279 to unblock DEPS roll (https://codereview.chromium.org/24159002/)
11279 Sanitizing source files in Housekeeper-Nightly - https://code.google.com/p/skia/source/detail?r=11279
11257 Canary build fix - https://codereview.chromium.org/23532068
11251 More warnings as errors fixes - https://code.google.com/p/skia/source/detail?r=11251
11250 Warnings as errors fix - https://code.google.com/p/skia/source/detail?r=11250
11247 Initial error handling code - https://chromiumcodereview.appspot.com/23021015



git-svn-id: http://skia.googlecode.com/svn/trunk@11288 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 14:04:05 +00:00
robertphillips@google.com
ba6e954140 Revert the revert of 11247, 11250, 11251 and 11279 (Chrome already relies on changes in r11247)
git-svn-id: http://skia.googlecode.com/svn/trunk@11287 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 13:40:12 +00:00
robertphillips@google.com
478884f7d3 Revert 11247, 11250, 11251 and 11279 to unblock DEPS roll (https://codereview.chromium.org/24159002/)
11279 Sanitizing source files in Housekeeper-Nightly - https://code.google.com/p/skia/source/detail?r=11279
11251 More warnings as errors fixes - https://code.google.com/p/skia/source/detail?r=11251
11250 Warnings as errors fix - https://code.google.com/p/skia/source/detail?r=11250
11247 Initial error handling code - https://chromiumcodereview.appspot.com/23021015



git-svn-id: http://skia.googlecode.com/svn/trunk@11285 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 13:19:11 +00:00
reed@google.com
cee9dcb837 start to remove lockPixels from bitmapshader
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11258 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 16:04:49 +00:00
sugoi@google.com
f4dc60457b Canary build fix
BUG=
R=bsalomon@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11257 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 15:42:46 +00:00
commit-bot@chromium.org
5792cded61 Initial error handling code
I made it as simple as possible. The impact seems minimal and it should do what's necessary to make this code secure.

BUG=
R=reed@google.com, scroggo@google.com, djsollen@google.com, sugoi@google.com, bsalomon@google.com, mtklein@google.com, senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23021015

git-svn-id: http://skia.googlecode.com/svn/trunk@11247 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 12:39:34 +00:00
bsalomon@google.com
82d1223aec Two and three color GPU gradients without textures.
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11158 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 15:36:26 +00:00
commit-bot@chromium.org
a4de8c257e Remove GrRefCnt.h in favor of SkRefCnt.h
This removes GrRefCnt.h with all its tyepdefs and #defines and just switch them
to the Sk* equivalents.

GrSafeSetNull was promoted to SkSafeSetNull in SkRefCnt.h.

BUG=None
TEST=none, no functional changes.
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23904003

git-svn-id: http://skia.googlecode.com/svn/trunk@11151 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 13:38:37 +00:00
commit-bot@chromium.org
91a798f121 alpha threshold bitmap shader
Committed: http://code.google.com/p/skia/source/detail?r=11122

R=reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23707019

git-svn-id: http://skia.googlecode.com/svn/trunk@11131 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 15:31:06 +00:00
bsalomon@google.com
67db510c9c Revert "alpha threshold bitmap shader"
This reverts commit r11122.

git-svn-id: http://skia.googlecode.com/svn/trunk@11123 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 22:48:05 +00:00
commit-bot@chromium.org
4ec4cf93b7 alpha threshold bitmap shader
R=reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23707019

git-svn-id: http://skia.googlecode.com/svn/trunk@11122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 21:54:04 +00:00
skia.committer@gmail.com
c3723db387 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11092 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 07:01:19 +00:00
humper@google.com
3aad3b01af add support for high quality image filtering on the GPU
R=bsalomon@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11087 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 19:23:53 +00:00
mtklein@google.com
bd6343b1d6 Rewrite SkTRegistry to take any trivially-copyable type.
Obviously these are all currently function pointers of type T(*)(P) for various
T and P.  In bench refactoring, I'm trying to register a function pointer of
type T(*)(), which can't be done as is (passing P=void doesn't work).  This
also lets us register things like primitives, which is conceivable useful.

BUG=
R=reed@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 17:20:18 +00:00
commit-bot@chromium.org
b8bd6cbbcd Fix bounds computation in GrAAHairlineRenderer
R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23684008

git-svn-id: http://skia.googlecode.com/svn/trunk@11054 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 14:56:17 +00:00
skia.committer@gmail.com
772c4e6d09 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11017 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 07:01:34 +00:00
commit-bot@chromium.org
e029440758 Replace SkTScopedPtr with SkAutoTDelete in Skia.
BUG=
R=djsollen@google.com, reed@google.com, vandebo@chromium.org

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/23621005

git-svn-id: http://skia.googlecode.com/svn/trunk@11016 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 22:14:04 +00:00
djsollen@google.com
5587ac09be Create a semi-stable API for capturing the state of an SkCanvas and reconstructing that state across different versions of Skia.
R=joth@chromium.org, mtklein@google.com, reed@google.com, scroggo@google.com

Committed: https://code.google.com/p/skia/source/detail?r=11010

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11013 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 20:20:40 +00:00
djsollen@google.com
16b86ced1f Revert "Create a semi-stable API for capturing the state of an SkCanvas and reconstructing that state across different versions of Skia."
This reverts r11010.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11011 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 19:41:56 +00:00
djsollen@google.com
2ce9fce145 Create a semi-stable API for capturing the state of an SkCanvas and reconstructing that state across different versions of Skia.
R=joth@chromium.org, mtklein@google.com, reed@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11010 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 19:29:09 +00:00
robertphillips@google.com
1f2f338e23 Split SkDevice into SkBaseDevice and SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
scroggo@google.com
4d213ab944 Handle SkStream::rewind properly.
include/core/SkStream.h:
Update documentation to state that rewinding a stream at the beginning
should return true. This is important because our decoders fail if
rewind returns false, assuming that the stream is not at the beginning.

src/images/SkImageDecoder_libpng.cpp:
If rewind fails, call png_error.

src/images/SkImageDecoder_libwebp.cpp:
If rewind fails, report an error and return false.

src/images/SkImageRef.cpp:
If rewind fails report an error and return false.
FIXME: Need to handle flattening properly. Should I perhaps move
writeStream into SkOrderedWriteBuffer?

src/images/SkJpegUtility.cpp:
Report a jpeg error on failure to rewind.

BUG=https://b.corp.google.com/issue?id=8432093
R=bungeman@google.com, djsollen@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10977 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 13:08:54 +00:00
senorblanco@chromium.org
fbaea53366 In image filters, apply the CTM and offset to the crop rect. This is necessary to compensate for both clipping applied by the compositor (communicated via the CTM) and for cropping applied in upstream image filters (communicated via the offset). This requires a few ugly conversions, since the crop rect is an SkIRect, and the ctm is an SkMatrix.
I also had to offset the matrix passed to filter evaluation by drawSprite() and internalDrawBitmap() by the primitive position. This is the same offset that is applied when drawing the primitive, to compensate for the internal saveLayer().

Also apply the total matrix to the filter params in asNewEffect(), so that (for example) lighting params are offset by both the compositor clipping and upstream crop rects.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10961 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 21:37:01 +00:00
robertphillips@google.com
7ce661d19c Blur refactoring
https://codereview.chromium.org/21835004/



git-svn-id: http://skia.googlecode.com/svn/trunk@10936 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 16:14:03 +00:00
sugoi@google.com
006bacfc70 Reverting change 10888
git-svn-id: http://skia.googlecode.com/svn/trunk@10889 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-23 14:07:34 +00:00
sugoi@google.com
7f076524c5 SkError as flags
git-svn-id: http://skia.googlecode.com/svn/trunk@10888 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-23 13:43:35 +00:00
skia.committer@gmail.com
37c18e4e38 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10871 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 07:01:59 +00:00
robertphillips@google.com
9241e33ca9 Chromium staging for SkDevice refactoring
https://codereview.chromium.org/23332009/



git-svn-id: http://skia.googlecode.com/svn/trunk@10844 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-21 13:54:44 +00:00
djsollen@google.com
2b343cc255 create a macro for testing if skcolor and skpmcolor have same shift values
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10838 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:28:03 +00:00
robertphillips@google.com
9b051a375b Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018 Split SkDevice out of SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
robertphillips@google.com
31acc11977 Fix name of "bleed" flag
https://codereview.chromium.org/22812014/



git-svn-id: http://skia.googlecode.com/svn/trunk@10805 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 12:13:48 +00:00
skia.committer@gmail.com
7475811143 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-17 07:01:54 +00:00
commit-bot@chromium.org
eed779d866 This CL plumbs in the drawBitmapRectToRect "bleed" flag and makes it live on the simplest GPU path.
R=bsalomon@google.com, reed@google.com, edisonn@google.com, scroggo@google.com, jvanverth@google.com, mtklein@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/20806003

git-svn-id: http://skia.googlecode.com/svn/trunk@10765 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-16 10:24:37 +00:00
commit-bot@chromium.org
6c157640c2 This CL addresses "SkCanvas::save flags are not respected by GPU backend" (https://code.google.com/p/skia/issues/detail?id=1503).
R=reed@google.com, bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/22947003

git-svn-id: http://skia.googlecode.com/svn/trunk@10762 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-16 00:53:34 +00:00
mtklein@google.com
2822c9a92b Nobody defines SK_SUPPORT_HINTING_SCALE_FACTOR any more, so remove it.
I left the dummy value in the flattened paint.  I'm hoping to do an overhaul of
the paint serialization format which will need a picture version bump anyway,
so it can all go together.  If that doesn't pan out we can remove this on its
own later.

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10757 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:20:14 +00:00
mtklein@google.com
cb8b0eeacf Update how SkPath handles fGenerationID and fSourcePath, and add tests to cover.
BUG=
R=bungeman@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10756 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:14:51 +00:00
egdaniel@google.com
259fbaf7a4 Add homogeneous point mapping to Matrix
Adds mapping of homogeneous points (points with three scalar components,
where the last component is not 1). Includes fix for tests when
running on 32 bit debug builds

BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10755 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:12:11 +00:00
mtklein@google.com
0038c12f33 Write NULL as "" so readString() always returns a non-NULL string.
BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10754 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:01:32 +00:00
robertphillips@google.com
0e6e8cc627 Revert r10705 (ARM Skia NEON patches - 04 - Clean SkFixed / SkLONGLONG) due to 1000+ linux_layout failures (http://build.chromium.org/p/tryserver.chromium/builders/linux_layout_rel/builds/18997/steps/webkit_tests/logs/stdio)
git-svn-id: http://skia.googlecode.com/svn/trunk@10729 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 13:43:23 +00:00
commit-bot@chromium.org
24ab3b0ce5 Add blend optimization helpers and use to convert rect draws to clears.
R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/22558003

git-svn-id: http://skia.googlecode.com/svn/trunk@10723 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 21:56:37 +00:00
commit-bot@chromium.org
73ab296536 ARM Skia NEON patches - 04 - Clean SkFixed / SkLONGLONG
It removes SkLONGLONG and uses int64_t to implement the  SkFixed
operations for which a SkLONGLONG version existed. It also
removes the 32 bit version that are being replaced.

BUG=
R=djsollen@google.com, reed@google.com

Author: kevin.petit.arm@gmail.com

Review URL: https://chromiumcodereview.appspot.com/18539004

git-svn-id: http://skia.googlecode.com/svn/trunk@10705 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 11:43:52 +00:00
djsollen@google.com
d4236574cf Prevent picture recording from over optimizing the culling of clips.
BUG=skia:1496
R=mtklein@google.com, reed@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10689 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-13 14:29:06 +00:00
reed@google.com
1cc07d940f Revert "Add SkCanvas::drawPosTextBounded."
This reverts commit e158aea941a6202a40b75fcee013d002089854bb.

This was an experimental API change. We will reintroduce this feature
with a different API approach, and support it w/ detailed testing
and performance measurements.

BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10680 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-12 15:40:11 +00:00
robertphillips@google.com
36bb270c1e Revert of r10671 (Experiments on calculating reciprocal of square root) due to bots failures:
Win7: http://108.170.217.252:10117/builders/Build-Win7-VS2010-x86-Debug/builds/715/steps/BuildMost/logs/stdio
Win8: http://108.170.217.252:10117/builders/Build-Win8-VS2012-x86-Debug/builds/383/steps/BuildMost/logs/stdio
Mac10.6: http://108.170.217.252:10117/builders/Build-Mac10.6-GCC-x86-Debug/builds/1259/steps/BuildMost/logs/stdio



git-svn-id: http://skia.googlecode.com/svn/trunk@10672 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-12 12:02:28 +00:00
commit-bot@chromium.org
b3ecdc464e Experiments on calculating reciprocal of square root
BUG=
R=reed@google.com, rmistry@chromium.org, bsalomon@google.com, tomhudson@chromium.org, tomhudson@google.com

Author: yang.gu@intel.com

Review URL: https://chromiumcodereview.appspot.com/21755002

git-svn-id: http://skia.googlecode.com/svn/trunk@10671 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-12 08:37:51 +00:00
jvanverth@google.com
f6ad1e8a06 Revert r10659: Add a map homogenous points to SkMatrix
git-svn-id: http://skia.googlecode.com/svn/trunk@10667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 21:06:38 +00:00
egdaniel@google.com
2fae54d945 Add a map homogenous points to SkMatrix
BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10659 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 15:07:10 +00:00
skia.committer@gmail.com
17f1ae63d5 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10650 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 07:01:22 +00:00
commit-bot@chromium.org
34504ad924 Adding 2 functions to the Skia API
I need wrappers for both SkOrderedReadBuffer and SkOrderedWriteBuffer inside Chromium in order to do the IPC serialization of Skia SkImageFilter objects.

See https://codereview.chromium.org/21271002/

BUG=
R=djsollen@google.com, scroggo@google.com, reed@google.com

Author: sugoi@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22591002

git-svn-id: http://skia.googlecode.com/svn/trunk@10642 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-08 19:20:05 +00:00
robertphillips@google.com
b265741cc1 Revert r10603 (Remove operator== from SkPaint) due to Chrome failures
git-svn-id: http://skia.googlecode.com/svn/trunk@10632 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 22:36:29 +00:00
mtklein@google.com
9c9d4a7002 Restore SkPath(const SkPath&) to copy the generation ID on Android.
BUG=
R=bsalomon@google.com, bungeman@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 19:17:53 +00:00
bungeman@google.com
839702b619 Add getFamilyNames to SkTypeface.
Committed: https://code.google.com/p/skia/source/detail?r=10589

Committed: https://code.google.com/p/skia/source/detail?r=10592

Committed: https://code.google.com/p/skia/source/detail?r=10608

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10615 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 17:09:22 +00:00
commit-bot@chromium.org
2515242ee0 Add SkCanvas::drawPosTextBounded.
This allows subclasses which need bounding box information to get it
from the caller if it has already been computed.

BUG=chromium:269080
R=reed@google.com, tomhudson@chromium.org, tomhudson@google.com

Author: jbroman@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22585002

git-svn-id: http://skia.googlecode.com/svn/trunk@10612 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 16:22:47 +00:00
robertphillips@google.com
f7af91bd79 Reverting r10608 (Add getFamilyNames to SkTypeface) due to compilation failures
git-svn-id: http://skia.googlecode.com/svn/trunk@10609 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 15:56:51 +00:00
bungeman@google.com
246b1c266f Add getFamilyNames to SkTypeface.
Committed: https://code.google.com/p/skia/source/detail?r=10589

Committed: https://code.google.com/p/skia/source/detail?r=10592

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10608 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 15:46:29 +00:00
commit-bot@chromium.org
37ffe8a5a3 Remove operator== from SkPaint
R=mtklein@google.com, reed@google.com

Author: sglez@google.com

Review URL: https://chromiumcodereview.appspot.com/21949007

git-svn-id: http://skia.googlecode.com/svn/trunk@10603 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 15:22:05 +00:00
bsalomon@google.com
75796db3b3 Revert "Add blend optimization helpers and use to convert rect draws to clears."
This reverts commit r10537.

git-svn-id: http://skia.googlecode.com/svn/trunk@10601 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 13:34:14 +00:00
bungeman@google.com
a980269c24 Add getFamilyNames to SkTypeface.
Committed: https://code.google.com/p/skia/source/detail?r=10589

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10592 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 02:45:25 +00:00
jvanverth@google.com
7ca6d2f070 Reverting r10589: Add getFamilyNames to SkTypeface
git-svn-id: http://skia.googlecode.com/svn/trunk@10590 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 23:31:44 +00:00
bungeman@google.com
990d85f02b Add getFamilyNames to SkTypeface.
Review URL: https://codereview.chromium.org/21716005

git-svn-id: http://skia.googlecode.com/svn/trunk@10589 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 22:53:04 +00:00
george@mozilla.com
aa2d35144b Change SkPreConfig.h to recognise uppercase PPC/PPC64.
git-svn-id: http://skia.googlecode.com/svn/trunk@10584 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 20:16:34 +00:00
george@mozilla.com
2d9526715e Add a default value for SK_OVERRIDE in SkPostConfig.h
Review URL: https://chromiumcodereview.appspot.com/22288002

git-svn-id: http://skia.googlecode.com/svn/trunk@10576 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 18:35:00 +00:00
bungeman@google.com
5ebbbe5377 Annotate SK_COMPILE_ASSERT's typedef as permissibly unused, to fix GCC 4.8 build warning. Patch originally by dholbert.
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10575 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 18:32:29 +00:00
commit-bot@chromium.org
c1cdf21ab8 Add blend optimization helpers and use to convert rect draws to clears.
Committed: http://code.google.com/p/skia/source/detail?r=10537

R=robertphillips@google.com, jvanverth@google.com, reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/21877006

git-svn-id: http://skia.googlecode.com/svn/trunk@10562 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 15:07:23 +00:00
senorblanco@chromium.org
97333f2da9 Remove warning comment from SkImageFilter.
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10546 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 20:29:59 +00:00
bsalomon@google.com
9b6a185e36 Revert "Add blend optimization helpers and use to convert rect draws to clears."
This reverts commit r10537.

git-svn-id: http://skia.googlecode.com/svn/trunk@10542 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 18:27:23 +00:00
commit-bot@chromium.org
66017f6cc5 Add blend optimization helpers and use to convert rect draws to clears.
R=robertphillips@google.com, jvanverth@google.com, reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/21877006

git-svn-id: http://skia.googlecode.com/svn/trunk@10537 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 16:55:55 +00:00
commit-bot@chromium.org
1aa54bf669 Added ctm matrix to GPU path
There should be no changes in behavior caused by this cl, it just adds the ctm matrix to filterImageGPU so that it may be used for scaling on all platforms when it is implemented on the blink side.

BUG=
R=senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22209002

git-svn-id: http://skia.googlecode.com/svn/trunk@10536 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 16:53:50 +00:00
bungeman@google.com
ddc218e508 Implement onGetTableTags and onGetTableData on Windows.
Implements these and removes default implementation, making the
declaration in SkTypeface pure virtual.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10500 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 22:29:43 +00:00
bungeman@google.com
397a9546e4 Reintroduce default impls removed in 10495.
Due to poor placement of overrides in the hierarchy, nacl is failing.


git-svn-id: http://skia.googlecode.com/svn/trunk@10497 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 21:01:28 +00:00
bungeman@google.com
b10b51f64d Implement onGetTableTags and onGetTableData on Windows.
Implements these and removes default implementation, making the
declaration in SkTypeface pure virtual.

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


git-svn-id: http://skia.googlecode.com/svn/trunk@10495 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 20:18:41 +00:00
reed@google.com
65a629ab33 Revert "Revert "Revert "try enabling FONTHOST_USES_FONTMGR and see what breaks"""
This reverts commit d0a1a568ac5d5c2ed94e826e91b01241de2ca0ce.

git-svn-id: http://skia.googlecode.com/svn/trunk@10472 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 19:36:07 +00:00
reed@google.com
699c06e2f5 Revert "Revert "try enabling FONTHOST_USES_FONTMGR and see what breaks""
This reverts commit a8946cf4180908d577681cb62d621db0ebcbe67e.

i.e. reapply the change to try enabling FONTHOST_USES_FONTMGR

git-svn-id: http://skia.googlecode.com/svn/trunk@10471 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 19:00:30 +00:00
bsalomon@google.com
f3f2d1619e set nominmax on windows
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10470 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 18:52:31 +00:00
reed@google.com
cde269a6a6 Revert "try enabling FONTHOST_USES_FONTMGR and see what breaks"
This reverts commit a289c38fc14664b5ba1269cfe08b3048cdbd1e97.

git-svn-id: http://skia.googlecode.com/svn/trunk@10468 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 18:25:33 +00:00
reed@google.com
b14d5bc091 try enabling FONTHOST_USES_FONTMGR and see what breaks
git-svn-id: http://skia.googlecode.com/svn/trunk@10466 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 18:08:49 +00:00
mtklein@google.com
caacc8f4e1 Remove a stray double assign that g++ 4.8 thinks has ill-defined sequencing.
BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10462 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 16:01:25 +00:00
djsollen@google.com
29bf862515 Upstream changes from Android
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10461 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 15:48:10 +00:00
robertphillips@google.com
631a59b939 added drawVertices path to GameBench
https://codereview.chromium.org/21168006/



git-svn-id: http://skia.googlecode.com/svn/trunk@10459 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 14:57:53 +00:00
robertphillips@google.com
f2776ee02a Alter assert that is causing Chromium compilation failure
../../third_party/skia/include/core/SkTypeface.h:303:19: error: implicit conversion turns string literal into bool: 'const char [14]' to 'bool' [-Werror,-Wstring-conversion]
        SkASSERT(!"unimplemented");
                 ~^~~~~~~~~~~~~~~



git-svn-id: http://skia.googlecode.com/svn/trunk@10447 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 00:00:56 +00:00
reed@google.com
30ddd615c4 refactoring for SK_FONTHOST_USES_FONTMGR option
BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10440 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-30 17:47:39 +00:00
commit-bot@chromium.org
38bad32cf5 fold SK_CPU_HAS_CONDITION_INSTR through as always defined
BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/21122005

git-svn-id: http://skia.googlecode.com/svn/trunk@10432 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-30 13:16:29 +00:00
mtklein@google.com
d49173afc8 always have conditional instruction
BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10422 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-29 20:53:14 +00:00
mtklein@google.com
069aea7f2c one more thing to try before rebaselining android
BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10420 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-29 19:30:00 +00:00
reed@google.com
08df48d241 expose getFamilyName to public SkTypeface
git-svn-id: http://skia.googlecode.com/svn/trunk@10418 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-29 18:54:08 +00:00
skia.committer@gmail.com
956b310f13 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10385 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-26 07:00:58 +00:00
senorblanco@chromium.org
4e16bb2a32 Implement crop rect for lighting image filters. Changes for the CPU path were fairly straightforward: use the bounds rectangle when traversing the pixels, not the source rectangle.
For the GPU path, this required modifying the signature of SkImageFilter::asNewEffect() to receive the bounds offset, so that the lighting filters could offset the light position by the offset. It also required modifying the base-class implementation of SkImageFilter::filterImageGPU() (which implements single-pass filters) to intersect against the bounds rect, to pass its offset to asNewEffect(), and to modify the caller's offset (so it's drawn in the correct place).

Note: this will require rebaselining the lighting GM. Six new test cases were added, to accommodate a cropped version of each lighting filter.

R=bsalomon@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10379 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-26 00:10:07 +00:00
commit-bot@chromium.org
4d24b747e2 Make SkImage_Gpu share it's pixelref with the surface to prevent premature return to scratch pool.
BUG=crbug.com/263329
TEST=Surface unit test, function Test_crbug263329
R=bsalomon@google.com, reed@google.com

Author: junov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/20354003

git-svn-id: http://skia.googlecode.com/svn/trunk@10378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 23:29:40 +00:00
bsalomon@google.com
68f2a0df14 This reverts commit 4052fd051db67bd1099fde2c4fe400cfbe1f2426.
git-svn-id: http://skia.googlecode.com/svn/trunk@10374 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 21:30:52 +00:00
commit-bot@chromium.org
47fad70da3 R=borenet@google.com, bungeman@google.com, robertphillips@google.com
Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/19862002

git-svn-id: http://skia.googlecode.com/svn/trunk@10372 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 20:01:20 +00:00
robertphillips@google.com
9bf380ce7f drawBitmap* cleanup
https://codereview.chromium.org/19977003/



git-svn-id: http://skia.googlecode.com/svn/trunk@10342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 12:10:42 +00:00
senorblanco@chromium.org
194d775edc This patch implements a crop rect for SkImageFilter. It has been implemented for SkColorFilterImageFilter and SkBlurImageFilter as examples.
In order to preserve the immutability of SkImageFilters, the crop rect is passed as a constructor parameter. If NULL (the default), the bounds of the input image are used, as before.

This also tightens up the boundary handling for SkImageBlurFilter on the GPU backend. Where we were previously using clamping semantics, we now respect decal semantics (so we don't oversaturate the edges). This brings the GPU and raster backends into closer alignment, but will require some new baselines for the GPU tests.

At a minimum, the following tests will need new baselines: imageblur, imagefiltersbase, imagefilterscropped, spritebitmap.

R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10251

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10338 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 22:19:24 +00:00
commit-bot@chromium.org
ff36a1d07f Start from scratch on a faster SkFlatDictionary.
This is like codereview.chromium.org/19276003, except it fits in better with the existing code, doesn't leak memory, and because it's back using SkChunkFlatController it's a little faster too, now a win across the board:

Slowdown	bench
-1.59%	desk_youtubetvbrowse.skp
-2.56%	desk_googlehome.skp
-6.40%	tabl_androidpolice.skp
-6.45%	desk_youtubetvvideo.skp
-6.91%	tabl_googlecalendar.skp
...
-29.70%	desk_yahoogames.skp
-32.17%	desk_googlespreadsheet.skp
-32.23%	mobi_wikipedia.skp
-37.16%	desk_chalkboard.skp
-41.57%	desk_pokemonwiki.skp
Overall slowdown: -22.74%

running bench [640 480] picture_record_recurring_paint_dictionary  NONRENDERING: cmsecs =   9.92
running bench [640 480] picture_record_unique_paint_dictionary  NONRENDERING: cmsecs =  22.16
running bench [640 480]  picture_record_dictionaries  NONRENDERING: cmsecs =   9.18

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=10328

R=tomhudson@google.com, reed@google.com, scroggo@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/19564007

git-svn-id: http://skia.googlecode.com/svn/trunk@10336 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 20:37:30 +00:00
mtklein@google.com
5174286bc5 Revert "Start from scratch on a faster SkFlatDictionary."
This reverts commit fec9bfa02d5d2b27bfa2dad3e37e5825a720784d.

git-svn-id: http://skia.googlecode.com/svn/trunk@10331 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 19:11:15 +00:00
commit-bot@chromium.org
cae5d8d570 Start from scratch on a faster SkFlatDictionary.
This is like codereview.chromium.org/19276003, except it fits in better with the existing code, doesn't leak memory, and because it's back using SkChunkFlatController it's a little faster too, now a win across the board:

Slowdown	bench
-1.59%	desk_youtubetvbrowse.skp
-2.56%	desk_googlehome.skp
-6.40%	tabl_androidpolice.skp
-6.45%	desk_youtubetvvideo.skp
-6.91%	tabl_googlecalendar.skp
...
-29.70%	desk_yahoogames.skp
-32.17%	desk_googlespreadsheet.skp
-32.23%	mobi_wikipedia.skp
-37.16%	desk_chalkboard.skp
-41.57%	desk_pokemonwiki.skp
Overall slowdown: -22.74%

running bench [640 480] picture_record_recurring_paint_dictionary  NONRENDERING: cmsecs =   9.92
running bench [640 480] picture_record_unique_paint_dictionary  NONRENDERING: cmsecs =  22.16
running bench [640 480]  picture_record_dictionaries  NONRENDERING: cmsecs =   9.18

BUG=
R=tomhudson@google.com, reed@google.com, scroggo@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/19564007

git-svn-id: http://skia.googlecode.com/svn/trunk@10328 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 18:45:27 +00:00
robertphillips@google.com
58c856a54a Reverting r10251 (Implement crop rect for SkImageFilter) due to Chromium-side unit test failures
git-svn-id: http://skia.googlecode.com/svn/trunk@10304 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 13:18:06 +00:00
skia.committer@gmail.com
7f1af501f2 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10299 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 07:01:12 +00:00
commit-bot@chromium.org
70d75ca764 Add SkChecksum::Murmur3.
BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/19500020

git-svn-id: http://skia.googlecode.com/svn/trunk@10292 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 20:25:34 +00:00
reed@google.com
602a1d7025 add scaledimagecache
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10286 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 19:13:54 +00:00
commit-bot@chromium.org
dfec28d4a9 Add SkImage->draw() call with src and dst rects.
Committed: http://code.google.com/p/skia/source/detail?r=10237

R=junov@chromium.org, senorblanco@chromium.org, reed@google.com

Author: arbesfeld@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19729007

git-svn-id: http://skia.googlecode.com/svn/trunk@10274 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 15:52:16 +00:00
senorblanco@chromium.org
ccf225cebb This patch implements a crop rect for SkImageFilter. It has been implemented for SkColorFilterImageFilter and SkBlurImageFilter as examples.
In order to preserve the immutability of SkImageFilters, the crop rect is passed as a constructor parameter. If NULL (the default), the bounds of the input image are used, as before.

This also tightens up the boundary handling for SkImageBlurFilter on the GPU backend. Where we were previously using clamping semantics, we now respect decal semantics (so we don't oversaturate the edges). This brings the GPU and raster backends into closer alignment, but will require some new baselines for the GPU tests.

At a minimum, the following tests will need new baselines: imageblur, imagefiltersbase, imagefilterscropped, spritebitmap.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10251 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 20:03:22 +00:00
reed@google.com
9cfc83cc8a stop using bitmap-filter flags outside of paint itself, as a step towards really changing them into an enum
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10240 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 17:18:18 +00:00
fmalita@google.com
1d241f13d5 Revert "Add SkImage->draw() call with src and dst rects."
This reverts commit 9c730e27e0bb550dc228ad496cadeed8787b2244.

git-svn-id: http://skia.googlecode.com/svn/trunk@10238 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 17:01:37 +00:00
commit-bot@chromium.org
1d91600a02 Add SkImage->draw() call with src and dst rects.
R=junov@chromium.org, senorblanco@chromium.org, reed@google.com

Author: arbesfeld@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19729007

git-svn-id: http://skia.googlecode.com/svn/trunk@10237 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 16:16:37 +00:00
skia.committer@gmail.com
1f3c73825b Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10223 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-20 07:00:58 +00:00
bungeman@google.com
f64c6842c1 Add a 'unique' method to SkRefCnt, document the usage, and add support.
std::shared_ptr has a method called 'unique' which captures the concept that
a reference count of 1 is special, and can be used to optimize copy on write.
It also has some undocumented need for memory barriers in certain situations
and those needs are documented here.

The motivation for looking into this is crbug.com/258499 . The use of the
reference count in this manner is a benign race with both ref() and unref().
By introducing sk_atomic_unprotected_read, it is possible for Chromium to
annotate this read to tell ThreadSanitizer that this is known.

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10221 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 23:18:52 +00:00
bungeman@google.com
c29f3d8c6d Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10171

Committed: https://code.google.com/p/skia/source/detail?r=10178

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10218 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 22:32:11 +00:00
bungeman@google.com
777ded06fd Fix some noisy warnings on Windows x64.
On Windows x64, sizeof(long) < sizeof(size_t).

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10216 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 22:30:11 +00:00
humper@google.com
138ebc3e40 The image resampling code has been transplanted from Chrome; it's incredibly fast.
We've tested this CL plumbed into Chrome and done benchmarking with excellent results.

This CL can land independent of any Chrome changes; it's completely internal to skia.

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10206 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 20:20:04 +00:00
commit-bot@chromium.org
9fdb70576b SkAlpha constant defs
R=edisonn@google.com, vandebo@chromium.org, reed@google.com

Author: richardlin@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19592014

git-svn-id: http://skia.googlecode.com/svn/trunk@10195 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 17:43:27 +00:00
bungeman@google.com
88682b77d1 Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10171

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 13:55:41 +00:00
skia.committer@gmail.com
a79919883e Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10175 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 07:00:57 +00:00
robertphillips@google.com
6eee5c3ec4 Revert r10171 due to test failure in StreamTest
git-svn-id: http://skia.googlecode.com/svn/trunk@10172 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 23:59:16 +00:00
bungeman@google.com
eacb54e174 Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10171 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 22:27:21 +00:00
scroggo@google.com
f698c8262d Allow decoding JPEG into A8.
If the original image is grayscale, allow decoding into A8.

Change the size of PrefConfigTable to allow for 8bit gray, a new source config.

Add a new sampler to SkScaledBitmapSampler to 'convert' to A8.

FIXME: Should there be a dithered option for gray scale?

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10157 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 19:34:49 +00:00
djsollen@google.com
25a11e48e5 Add bench to test float to fixed conversion
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10155 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 19:11:30 +00:00
reed@google.com
c968315136 add FilterLevel API to SkPaint, replacing various Flag bits
BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10138 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 13:47:01 +00:00
commit-bot@chromium.org
5dd567c2a5 Add getRectCount to SkRegtion
It is useful to know how many rects comprise a region,
since in some situations we can optimize code based on
the complexity of the region. For instance, if we use
SkRegion for tracking invalidation we might opt to use
the region bounds as invalidation instead of iterating
over each rect.

R=reed@google.com, tomhudson@chromium.org, caryclark@google.com, robertphillips@google.com

Author: vmpstr@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19366008

git-svn-id: http://skia.googlecode.com/svn/trunk@10129 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-17 21:39:28 +00:00
bungeman@google.com
7bdd614a19 Implement onCountGlyphs and onGetUPEM on Windows.
R=vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10089 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 19:42:57 +00:00
commit-bot@chromium.org
c2050e3a3e ARM Skia NEON patches - 01 - Simple fixes
This series contains a few fairly non-controversial fixes.





Misc: remove dead references to neon 4444 functions

Misc: avoid the double _neon_neon suffix in the clamp matrix functions.
MAKENAME already adds the _neon suffix

Misc: a few stupid / obvious fixes

BUG=
R=djsollen@google.com

Author: kevin.petit.arm@gmail.com

Review URL: https://chromiumcodereview.appspot.com/18666004

git-svn-id: http://skia.googlecode.com/svn/trunk@10072 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 13:10:31 +00:00
egdaniel@google.com
5383a75253 Add implicit hairline conic rendering to GPU
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10055 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-12 20:15:34 +00:00
robertphillips@google.com
4d37673739 Fix leak in SkAutoSTArray
https://codereview.chromium.org/18915010/



git-svn-id: http://skia.googlecode.com/svn/trunk@10053 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-12 18:44:23 +00:00
bungeman@google.com
f5cc5b140c R=mtklein@google.com
Review URL: https://codereview.chromium.org/18503009

git-svn-id: http://skia.googlecode.com/svn/trunk@10050 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-12 18:22:49 +00:00
commit-bot@chromium.org
ef284a84f5 The two leaks are:
missing unrefs in megalooper GM
  missing reset capability in oval renderer

This CL also expands the instance counting system to some recently adding classes (e.g., SkFontStyleSet)

R=bsalomon@google.com, jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/18461007

git-svn-id: http://skia.googlecode.com/svn/trunk@10030 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 22:29:29 +00:00
skia.committer@gmail.com
de2e4e8a64 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9992 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 07:01:01 +00:00
commit-bot@chromium.org
7b320703d4 Implement offset for GPU filter path. Although we can't yet use this in Blink for FEOffset, due to SVG semantics, we can use it to support crop rect (upcoming patch).
This patch adds the parameter to the filterImageGPU() signature, plumbs through the code on the GPU side, and implements support for it in SkXfermodeImageFilter for both raster and GPU.

Of the remaining filters with GPU implementations, Blur, Morphology, Bicubic and Displacement work fine; they're commutative wrt offset and can simply pass it up the chain. Blend is not, but will be removed shortly anyway (has been replaced with SkXfermodeImageFilter in Blink).

R=reed@google.com, bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15995026

git-svn-id: http://skia.googlecode.com/svn/trunk@9977 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 21:22:18 +00:00
reed@google.com
84e22d847f allow createScalerContext to return null, and then have the GDI backend trigger that if we fail to create the necessary GDI resources
BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9957 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 15:38:20 +00:00
skia.committer@gmail.com
9e1ec1a529 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9948 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 07:00:58 +00:00
humper@google.com
b088947f27 New bitmap filter checkin; this time with less build breakage
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9944 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 21:37:14 +00:00
humper@google.com
1a8940e558 Revert "More general image filter interface; tested implementation of standalone"
This reverts commit 4df3e8b079e019af5f60c13e7e6ec6589663962a.

git-svn-id: http://skia.googlecode.com/svn/trunk@9937 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 18:02:06 +00:00
humper@google.com
25fc6b9bfb More general image filter interface; tested implementation of standalone
image scaler (not yet plumbed).  High quality downsampler.  Fast SSE
resampler.

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9936 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 17:48:15 +00:00
scroggo@google.com
468142b2f5 Allow ico decoder to decode PNG sub-images.
Since Windows Vista, PNG can be embedded in an ICO file. Update
our decoder to support this.

BUG=https://code.google.com/p/skia/issues/detail?id=1398
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9932 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 15:48:24 +00:00
scroggo@google.com
bc69ce982f Remove bitmap reuse from SkImageDecoder.
Now that Android is using an SkBitmap::Allocator to reuse bitmap
memory, remove the unnecessary code to handle bitmap reuse inside
the decoders themselves.

Leaves in the code for bitmap reuse in decodeSubset, which still
may reuse bitmaps, and cropBitmap, which is called by decodeSubset.

R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9931 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 15:45:14 +00:00
humper@google.com
387db0a2e5 add extra flag (currently unused) for high quality downsampling
BUG=
R=reed@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9927 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 14:13:04 +00:00
scroggo@google.com
056dab300d Revert "Temporary change to keep chrome happy."
Now that chrome has https://chromiumcodereview.appspot.com/18078003/,
this is no longer needed.

Fully switched over to using CreateFromStream!

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9911 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-08 18:40:42 +00:00
skia.committer@gmail.com
1842adf013 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9900 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-04 07:01:07 +00:00
robertphillips@google.com
491493119c Add canFilterMaskGPU & filterMaskGPU to SkMaskFilter
https://codereview.chromium.org/18110012/



git-svn-id: http://skia.googlecode.com/svn/trunk@9888 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 15:34:35 +00:00
commit-bot@chromium.org
e63c46c356 Make SK_OVERRIDE expand to OVERRIDE on iOS
BUG=256595
R=reed@google.com

Author: glider@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18531002

git-svn-id: http://skia.googlecode.com/svn/trunk@9883 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 08:39:46 +00:00
reed@google.com
929c98d35f speculative fix for signed-unsinged compare warning
git-svn-id: http://skia.googlecode.com/svn/trunk@9876 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 20:02:06 +00:00
commit-bot@chromium.org
76e0d13789 Commented SSE blend functions and cleaned-up variable naming.
R=senorblanco@chromium.org, alokp@chromium.org, reed@google.com, bungeman@google.com

Author: ernstm@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17847010

git-svn-id: http://skia.googlecode.com/svn/trunk@9870 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 17:40:19 +00:00
reed@google.com
bcb42aecf1 add charsToGlyphs to SkTypeface
Will disable new unittest until all backends are implemented.

On Mac, new API is 4x faster than old paint one, so next CL I will reimplement the paint calls in terms of the new typeface call.

R=eae@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9860 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 13:56:39 +00:00
zachr@google.com
c6081abd2f fix copy in SkTDArray
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9839 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-01 17:04:32 +00:00
scroggo@google.com
0e0180a176 Temporary change to keep chrome happy.
Add back in a version of the constructor taking a stream so that
chrome can build until we switch chrome to using the factory.

Will be reverted once chrome switches to using the factory.

R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9823 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 21:35:29 +00:00
scroggo@google.com
f1754ec691 Replace SkPicture(SkStream) constructors with a factory.
SkPicture:
Remove the constructors which take an SkStream as an argument. Rather
than having to check a variable for success, the factory will return
NULL on failure.
Add a protected function for determining if an SkStream is an SKP
to share code with SkTimedPicture.
In the factory, check for a NULL SkStream.
Use a default decoder (from BUG:
https://code.google.com/p/skia/issues/detail?id=1325)

SkDebuggerGUI:
Call SkPicture::CreateFromStream when necessary.
Write a factory for creating SkTimedPictures and use it.

Use the factory throughout tools.

Add include/lazy to utils and effects gyp include_dirs so SkPicture.h
can reference SkImageDecoder.h which references SkBitmapFactory.h (in
include/lazy).

Changes code Chromium uses, so this will require a temporary Skia
and then a change to Chromium to use the new Skia code.

TODO: Create a decoder that does nothing to be used by pinspect,
lua pictures, etc, and allow it to not assert in SkOrderedReadBuffer.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 21:32:00 +00:00
reed@google.com
60d3235ab4 add bitmap::eraseArea
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9815 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 19:40:50 +00:00
commit-bot@chromium.org
f48e475528 Remove SK_DEBUG_PATH_REF
R=bungeman@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/18029006

git-svn-id: http://skia.googlecode.com/svn/trunk@9795 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-27 18:39:39 +00:00
skia.committer@gmail.com
52394d2ef7 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9786 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-27 07:00:58 +00:00
commit-bot@chromium.org
39095b9d14 Alias deref -> unref. This allows Skia objects to be held by WTF::RefPtr
smart pointers without need for another smart pointer type.

Note that the semantics of SkRefCnt match those WTF expects. In
particular, newly created objects have refcount 1 and objects are
deallocated at refcount 0.

This seems like a better fit than the AddRef/Release alises which exist
for scoped_ptr (but seem unused).

BUG=254509
R=reed@google.com

Author: jbroman@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17880003

git-svn-id: http://skia.googlecode.com/svn/trunk@9784 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 22:20:22 +00:00
reed@google.com
4a551d49cf struct != class, even in a friend forward declare
git-svn-id: http://skia.googlecode.com/svn/trunk@9783 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 21:28:10 +00:00
reed@google.com
2c31a4678d move legacy mipmap apis to private, save one that is currently called by chrome. It will go soon...
git-svn-id: http://skia.googlecode.com/svn/trunk@9782 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 21:09:37 +00:00
commit-bot@chromium.org
b8d00db075 Change undefined SkGpuRenderTarget and SkGpuTexture forward declares to GrRenderTarget and GrTexture.
R=robertphillips@google.com, reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/17269003

git-svn-id: http://skia.googlecode.com/svn/trunk@9775 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 19:18:23 +00:00
bungeman@google.com
dd68f4533b Fix PathRefDebugRef (SK_DEBUG_PATH_REF) case for SkPath copy constructor.
Review URL: https://codereview.chromium.org/17902003

git-svn-id: http://skia.googlecode.com/svn/trunk@9768 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 15:53:29 +00:00
reed@google.com
2cb1480ff8 remove kRLE_Index8_Config from SkBitmap
BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9764 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 14:35:02 +00:00
skia.committer@gmail.com
73a4b4f91f Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9763 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 07:00:59 +00:00
reed@google.com
62b260557d move kConfigCount out of Config enum, so we don't pullute type-checking
git-svn-id: http://skia.googlecode.com/svn/trunk@9759 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-25 21:23:54 +00:00
robertphillips@google.com
8fd160350c Revert r9724 (add rect-output parameter to isRect) to allow the DEPS roll
git-svn-id: http://skia.googlecode.com/svn/trunk@9750 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-25 15:39:58 +00:00
skia.committer@gmail.com
020b25becb Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-22 07:00:58 +00:00
reed@google.com
6ba4572eed remove dst/rendertarget support for kARGB_4444_Config
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9727 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 18:30:53 +00:00
reed@google.com
da2b21fa9b add rect-output parameter to isRect, allowing us to return the correct bounds even if a rectagular path has a trailing moveTo
https://code.google.com/p/chromium/issues/detail?id=247770

R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9724 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 17:32:32 +00:00
bungeman@google.com
28eadc9e4d Fix macro for r9718.
git-svn-id: http://skia.googlecode.com/svn/trunk@9720 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 15:28:54 +00:00
bungeman@google.com
a5809a3e4c SkPath::rewind needs to have same reset as SkPath::reset.
R=caryclark@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9718 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 15:13:34 +00:00
bungeman@google.com
e9d8319576 Add maxCharWidth and a compile flag to use old metrics (needed by Blink).
Review URL: https://codereview.chromium.org/17502006

git-svn-id: http://skia.googlecode.com/svn/trunk@9712 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 05:31:38 +00:00
reed@google.com
6757a3c71f combine glyph and image bulk alloc, and adjust initial alloc size, to reduce total waste from 50% to 30%
add diagnostics to measure cache efficiency

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9691 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 19:25:36 +00:00
epoger@google.com
27d302581a fix https://code.google.com/p/skia/issues/detail?id=1356
('32-bit Mac compiler doesn't like https://code.google.com/p/skia/source/detail?r=9686')



git-svn-id: http://skia.googlecode.com/svn/trunk@9688 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 18:52:42 +00:00
epoger@google.com
d88a3d8336 Add SkString::appendU32() and SkString::appendU64()
as needed to re-land r9682

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9686 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 18:27:20 +00:00
skia.committer@gmail.com
f85693d53a Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9631 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-15 07:00:53 +00:00
scroggo@google.com
2bbc2c945b Add an option to create unpremultiplied bitmaps.
Currently they cannot be used directly by Skia, but
the pixels can be used elsewhere.

SkImageDecoder:
Add functions to require unpremultiplied output
and query the presence of the requirement

SkImageDecoder_libpng:
SkImageDecoder_libwebp:
SkImageDecoder_WIC:
Respect the requirement for unpremultiplied output.
TODO: Fix SkImageDecoder_CG.

SkScaledBitmapSampler:
Add procs to skip premultiplication and a boolean
parameter to use those procs.

ImageDecodingTest:
Test unpremultiplied bitmap decoding.

SampleUnpremul:
Add a sample which allows visually comparing between the
unpremultiplied version (copied into a premultiplied bitmap,
since drawing unpremultiplied is not currently supported)
and a premultiplied version of image files.

gm.h:
Add a getter for the resource path, so Samples can use it.

As of patch set 13, https://codereview.chromium.org/16816016/
and https://codereview.chromium.org/16983004/, which were
approved separately.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9612 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-14 15:33:20 +00:00
robertphillips@google.com
68b6eca42e Fix for 9603
git-svn-id: http://skia.googlecode.com/svn/trunk@9604 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-14 12:45:25 +00:00
bsalomon@google.com
a47347eb9c Add operator delete for SkTArray to match operator new
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9603 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-14 12:30:50 +00:00
bsalomon@google.com
d51041469a Enhancements and a fix to templated containers.
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9582 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-13 15:13:46 +00:00
commit-bot@chromium.org
6fbe54c663 Compact the clipstack for kReplace_Op'd geometry
When adding a clip rect or clip path to the stack with the
kReplace_Op operation, remove all previous elements within the
same save frame (elements with fSaveCount equal to the current
fSaveCount of the stack). This prevents unbounded growth of the
clipstack for long-lived instances that gets reused.

Addresses https://code.google.com/p/skia/issues/detail?id=748

R=robertphillips@google.com

Author: fs@opera.com

Review URL: https://chromiumcodereview.appspot.com/16160020

git-svn-id: http://skia.googlecode.com/svn/trunk@9502 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 11:01:48 +00:00
skia.committer@gmail.com
7fb5373fb7 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9501 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 07:01:17 +00:00
mike@reedtribe.org
792bbd14c6 add drawImage to lua
git-svn-id: http://skia.googlecode.com/svn/trunk@9500 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 02:20:28 +00:00
reed@google.com
4e05fd25c8 add conic support to hairlines
git-svn-id: http://skia.googlecode.com/svn/trunk@9493 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-10 18:58:11 +00:00
mike@reedtribe.org
ddc813b0de move kAlignCount out of Align enum, so it can't accidentally be passed as a parameter
git-svn-id: http://skia.googlecode.com/svn/trunk@9479 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-08 12:58:19 +00:00
skia.committer@gmail.com
6319367bdc Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9478 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-08 07:01:13 +00:00
reed@google.com
99ac02bb70 SkDocument base for pdf, xps, etc.
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9476 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-07 20:30:16 +00:00
scroggo@google.com
c76218d5ed Fix bug in setting directories for tests.
make_canonical_dir_path only worked if the provided directory
did not end with a slash. Remove this function, and call
SkPathJoin instead. Update the documentation to acknowledge
that this is an acceptable use of SkPathJoin, and update its
test.

R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9458 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-06 14:59:56 +00:00
commit-bot@chromium.org
b4a8d97b4c Fixup some conventions in SkTArray and add reset to count method.
R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/15949021

git-svn-id: http://skia.googlecode.com/svn/trunk@9442 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-05 15:40:59 +00:00
djsollen@google.com
4fa748d580 Fix issues related to resolving fonts based on name.
1) non-system font files are not added to the cache.
2) We cache the default fonts for quick lookup.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9441 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-05 14:20:25 +00:00
skia.committer@gmail.com
8f6ef4010f Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9440 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-05 07:01:06 +00:00
reed@google.com
8cb1088034 change impl to explicitly store length as u32, rather than size_t, so we keep a packed struct on 64bit machines
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9436 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-04 20:36:52 +00:00
reed@google.com
ed43dffbf1 add size limit for using glyphcache. above that, draw using paths
BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9429 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-04 16:56:27 +00:00
skia.committer@gmail.com
11f2b44450 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9423 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-04 07:00:53 +00:00
bungeman@google.com
11c9a55afd Add SkData::NewFromFD.
Chromium needs a SkStream backed by a file descriptor.
Skia already has the code and can do the work, this change exposes the
functionality in Skia in a clean way.

https://codereview.chromium.org/15941025/


git-svn-id: http://skia.googlecode.com/svn/trunk@9408 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-03 17:10:35 +00:00
skia.committer@gmail.com
26da7f00ae Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9387 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-01 07:01:39 +00:00
reed@google.com
7edec14039 start a wrapper for color fonts
BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9381 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 20:17:57 +00:00
senorblanco@chromium.org
86fc266eda Implement SkXfermode image filter. This required changing the signature of SkXfermode::asNewEffectOrCoeffs(), to add an optional background texture.
For the raster path, we do a straightforward 2-pass method: draw background, then composite the foreground over it.

For the GPU path, if the xfermode can be expressed as an effect, we build an effect with the background texture incorporated, then do a single-pass draw fetching both foreground and background textures, and compositing to the result. If the xfermode is expressed as src/dst coefficients, we do a 2-pass draw as in the raster path and use fixed-function blending.

R=bsalomon@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9373 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 17:49:12 +00:00
reed@google.com
277c3f8765 bump picture version since SkPath has changed (conics)
enable conics in SkPath

git-svn-id: http://skia.googlecode.com/svn/trunk@9370 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 15:17:50 +00:00
scroggo@google.com
7def5e1630 Separate core and images project.
SkImage calls functions on SkImageDecoder and SkImageEncoder. This
is desired behavior, and it is also desired to include SkImage as
a part of core. In order to keep core from depending on images,
update SkImageDecoder_empty.cpp to implement all of SkImageDecoder
and SkImageEncoder. This file will be built by chrome (in
https://codereview.chromium.org/15960015).

Move force_linking from SkImageDecoder.cpp to its own file. It must
be called to force linking with the image decoders if desired. Call
the function in tools that need it:
sk_image
render_pictures
render_pdfs
sk_hello
filter
bench_pictures
debugger

SkImageDecoder:
Derive from SkNoncopyable, instead of duplicating its
hiding of constructors.

skhello:
Return rather than trying to write a null SkData to the stream.

Revert "Hamfistedly removed core dependence on images"
(commit 0f05f682a90bc125323677abf3476e1027d174f5) and
"Move SkImage::encode to SkImage_Codec.cpp."
(commit 83e47a954d0bf65439f3d9c0c93213063dd70da3.)
These two commits were temporary fixes that this change
cleans up.

SkSnapshot.cpp:
Check for a NULL encoder returned by SkImageEncoder::Create.

BUG=https://code.google.com/p/skia/issues/detail?id=1275
R=djsollen@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9364 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 14:00:10 +00:00
reed@google.com
fa2f2a48f6 Revert "add asserts to point<-->verb helpers"
This reverts commit b4775ac7b55802e87231768f002e4b42f233b0aa.

git-svn-id: http://skia.googlecode.com/svn/trunk@9347 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 15:29:48 +00:00
reed@google.com
7950a9eba7 add asserts to point<-->verb helpers
patch from issue 16153005

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9344 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 14:57:55 +00:00
skia.committer@gmail.com
a5d3e77420 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9343 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 07:01:29 +00:00
scroggo@google.com
1198e740d5 Use macros for new and delete in SkTemplates.h
Remove use of new placement array.

R=bungeman@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9329 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 20:10:25 +00:00
junov@chromium.org
ed8d6bb2be Moving updateClipConservativelyUsingBounds into SkCanvas
This method is being moved from SkPictureRecord to become a protected member of SkCanvas so that other classes derived from SkCanvas can use it.
This Patch also applies the fix provided by updateClipConservativelyUsingBounds to SkPictureUtils::GatherPixelRefs

BUG=https://code.google.com/p/chromium/issues/detail?id=244893

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9326 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 19:09:48 +00:00
reed@google.com
3467ee06d3 add != operator for SkTDArray
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9323 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 18:05:52 +00:00
bungeman@google.com
6cab1a4b6a Change SkStream.
https://codereview.chromium.org/15298009/


git-svn-id: http://skia.googlecode.com/svn/trunk@9312 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 13:43:31 +00:00
robertphillips@google.com
0a4805e33f First pass at Comment API
https://codereview.chromium.org/13957009/



git-svn-id: http://skia.googlecode.com/svn/trunk@9310 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 13:24:23 +00:00
scroggo@google.com
ccd7afb6fb Reland 'Add path utils, plus a test for it.'
Build SkPathJoin and SkBasename on windows also.

Previous CL did not build on Windows because the two functions were
accidentally placed inside an ifdef that did not include windows.
Move the functions to the top of the file, and add a comment by the
endif for clarity.

Previously reviewed at https://codereview.chromium.org/15747004/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9295 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 16:45:07 +00:00
djsollen@google.com
40078cb49e Android specific changes that are upstreamed from the android framework.
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9283 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 20:31:57 +00:00
scroggo@google.com
dbbcaa8983 Revert "Add path utils, plus a test for it."
This reverts commit d172374b46cae0bd5d7c024b9848f5bdafcc6a16.

This CL broke on Windows.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9278 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 18:28:57 +00:00
scroggo@google.com
1bee037044 Add path utils, plus a test for it.
SkOSFile:
Added class SkOSPath with functions for
modifying strings representing path names.

OSPathTest.cpp:
Test of the new utilities.

factory.cpp:
Use SkPathJoin.

gmmain and gm_expectations:
Use SkOSPath::SkPathJoin instead of a local version.

skimage_main.cpp:
Use the new location of SkPathJoin and SkBasename.

R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9277 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 18:12:17 +00:00
scroggo@google.com
24287c15d6 Revert "Patch to prevent chromium breakage until the DEPS."
This reverts commit d2a284728d30082d46b02c39d916294c6d36e11f.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9275 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 16:31:30 +00:00
senorblanco@chromium.org
68400767be Remove SkImageFilter::getInputResult(), since its return value is not
style-compliant, and doesn't allow us to abort on failure.

R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=9245

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9274 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 15:04:07 +00:00
reed@google.com
3d3a860d0b Add flag to gradients to interpolate colors in premul space. Experimental API to encapsulate the shared parameters for all gradients into a struct.
BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9273 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 14:58:44 +00:00
commit-bot@chromium.org
abcec6db9b remove outdated debugging code now that we no longer support fixed point
R=reed@google.com, djsollen@google.com

Author: djsollen@google.com

Review URL: https://chromiumcodereview.appspot.com/15879003

git-svn-id: http://skia.googlecode.com/svn/trunk@9258 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-23 16:41:42 +00:00
robertphillips@google.com
0f2b1953c7 Fix bug in SkAutoSMalloc::reset
https://codereview.chromium.org/15858007/



git-svn-id: http://skia.googlecode.com/svn/trunk@9257 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-23 14:59:40 +00:00
robertphillips@google.com
1202c2ac56 Add printing of SkColorFilter-derived classes to debugger
https://codereview.chromium.org/15697012/



git-svn-id: http://skia.googlecode.com/svn/trunk@9255 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-23 14:00:17 +00:00
robertphillips@google.com
f0656c140a Reverting r9245 due to Chrome breakage
git-svn-id: http://skia.googlecode.com/svn/trunk@9250 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 23:56:49 +00:00
commit-bot@chromium.org
be879bcda3 Mark SkDrawPictureCallback with SK_API, so that it can be derived from by SK_API classes
R=reed@google.com

Author: vmpstr@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15745015

git-svn-id: http://skia.googlecode.com/svn/trunk@9249 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 21:11:42 +00:00
senorblanco@chromium.org
be1d02e528 Remove SkImageFilter::getInputResult(), since its return value is not
style-compliant, and doesn't allow us to abort on failure.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9245 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 18:59:58 +00:00
reed@google.com
25b3bd58df add kBicubicFilterBitmap_Flag to paint, just for testing purposes.
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9236 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 13:55:54 +00:00
bsalomon@google.com
9eb6645956 Add return param to SkAutoSMalloc::reset() that indicates whether the allocation changed or not.
Review URL: https://codereview.chromium.org/15558005

git-svn-id: http://skia.googlecode.com/svn/trunk@9235 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 13:35:37 +00:00
reed@google.com
b83cb9bf89 add SkLerpXfermode
BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9229 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 21:33:11 +00:00
scroggo@google.com
edef4aa8d8 Patch to prevent chromium breakage until the DEPS.
Once https://codereview.chromium.org/15489004/ is submitted to
Skia, a DEPS roll into chrome will break due to a change in the
API. A long term fix for chrome to use the new API is at
https://codereview.chromium.org/15496006/, but since it depends
on the earlier Skia change, this patch fills in the gap.

Will be reverted once https://codereview.chromium.org/15496006/
is submitted to chrome.

R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9228 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 20:45:03 +00:00
scroggo@google.com
1b1bcc3cea New API for encoding bitmaps during serialization.
This change gives more flexibility to the implementation of
EncodeBitmap to prefer calling refEncodedData, doing its own
encode, or even doing both and making a decision about which
to use.

The new function signature also allows the implementation to
tell the ordered write buffer whether to store the pixel offset,
in the case where the encoded bitmap represents the larger
bitmap, or to ignore the pixel offset, in the case where the
implementation only encoded the subset that is used.

Requires changes to chromium to use the new function signature.
(https://codereview.chromium.org/15496006/)

SkPicture:
New API for EncodeBitmap.

SkOrderedReadBuffer:
Ifdef'd out addition of reading the offset.

SkOrderedWriteBuffer:
Never call refEncodedData. Allow the user to call that from their
EncodeBitmap function, if desired.
This addresses https://code.google.com/p/skia/issues/detail?id=1239
Add in ifdef'd out code to record the offset.

PictureTest and PictureRenderer:
Implement the new definition of EncodeBitmap. Also update the name
of the function to meet coding style guidelines.

BUG=https://code.google.com/p/skia/issues/detail?id=1239
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9226 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 20:31:23 +00:00
djsollen@google.com
7768751b8b Add buffer helper to read directly into SkString to avoid extra copying
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9218 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 16:17:14 +00:00
skia.committer@gmail.com
3e50e99fe7 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9207 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 07:01:40 +00:00
reed@google.com
74babdfce5 add SkDrawPictureCallback optional parameter to drawPicture(), which can abort the picture drawing.
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9197 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-20 17:02:41 +00:00
reed@google.com
4b0757b748 add encodeData() to SkImageEncoder, and add encoding to SkImage
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9193 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-20 16:33:41 +00:00
skia.committer@gmail.com
845220b817 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9189 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-20 11:51:35 +00:00
bsalomon@google.com
20f7f173e0 One SkTSearch to rule them all. Allow key to be of different type than the array.
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9182 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-17 19:05:03 +00:00
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
djsollen@google.com
9401deeb10 Make the use of fallback fonts in Android a runtime decision.
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9168 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-16 18:38:43 +00:00
commit-bot@chromium.org
c7a20e4093 API modifications needed to upstream Android font changes.
Committed: http://code.google.com/p/skia/source/detail?r=9083

R=reed@google.com

Author: djsollen@google.com

Review URL: https://chromiumcodereview.appspot.com/14761003

git-svn-id: http://skia.googlecode.com/svn/trunk@9107 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-13 14:09:13 +00:00
robertphillips@google.com
e55491d846 Reverting 9083 & 9084 due to Android failures
git-svn-id: http://skia.googlecode.com/svn/trunk@9085 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 22:47:33 +00:00
commit-bot@chromium.org
14451703f1 API modifications needed to upstream Android font changes.
R=reed@google.com

Author: djsollen@google.com

Review URL: https://chromiumcodereview.appspot.com/14761003

git-svn-id: http://skia.googlecode.com/svn/trunk@9083 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 20:54:20 +00:00
epoger@google.com
4a8084ced3 Revert r9081
Review URL: https://codereview.chromium.org/14773022

git-svn-id: http://skia.googlecode.com/svn/trunk@9082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 20:01:26 +00:00
epoger@google.com
3a8d3d06ea add SkString::append(const char c)
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9081 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 19:37:41 +00:00
reed@google.com
d028056712 add SK_API
git-svn-id: http://skia.googlecode.com/svn/trunk@9054 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 13:25:02 +00:00
skia.committer@gmail.com
2b34fe01d7 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9051 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 07:01:40 +00:00
reed@google.com
24bd210f2e add (untested) tangent calc for conics
git-svn-id: http://skia.googlecode.com/svn/trunk@9048 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-07 20:42:35 +00:00
reed@google.com
3b34505d79 add block comment describing sync nature of SkStream
git-svn-id: http://skia.googlecode.com/svn/trunk@9039 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-07 15:59:16 +00:00
commit-bot@chromium.org
b5e34e22aa XPS ttc handling.
R=reed@google.com

Author: bungeman@google.com

Review URL: https://chromiumcodereview.appspot.com/14873006

git-svn-id: http://skia.googlecode.com/svn/trunk@9037 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-07 15:28:15 +00:00
scroggo@google.com
2983ddd4b5 Revert "Allow supporting 1 older PICTURE_VERSION."
This reverts commit deb9d6990ef2d153230340d960d86b0966f261e1.

That change was just to allow us to bump the PICTURE_VERSION
without changing the SKPs to the new one. Since it is not
entirely reliable, I am removing it.

R=rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9035 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-07 14:45:40 +00:00
commit-bot@chromium.org
c5fd461718 Mask orientation and layout correctly.
R=reed@google.com, clefru@google.com

Author: bungeman@google.com

Review URL: https://chromiumcodereview.appspot.com/14884010

git-svn-id: http://skia.googlecode.com/svn/trunk@9022 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-06 22:23:08 +00:00
scroggo@google.com
665b2cca88 lockPixels before calling getColorTable.
Fixes a bug where we try to dereference a NULL pointer.

Update the comment for SkBitmap::getColorTable, telling
the client that pixels must be locked for it to return
non-NULL.

R=edisonn@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9018 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-06 18:08:05 +00:00
epoger@google.com
b4ca46d748 SkBitmapHasher: use 64-bit-truncated MD5 instead of 64-bit CityHash
BUG=https://code.google.com/p/skia/issues/detail?id=1257

(if we change our mind within the next few days, we can toggle the
BITMAPHASHER_USES_TRUNCATED_MD5 #ifdef ; at some point, we'll remove that
option so we can delete our CityHash implementation entirely)

R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8992 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-03 17:35:39 +00:00
skia.committer@gmail.com
2fd42c471c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@8976 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-03 07:01:00 +00:00
reed@google.com
5bdfb331ac Detect color masks, and divert to draw-sprite instead of maskblitters.
Review URL: https://codereview.chromium.org/14637007

git-svn-id: http://skia.googlecode.com/svn/trunk@8967 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 18:55:44 +00:00
junov@chromium.org
da90474b5f Adding public API method on SkImage for extracting the GPU texture handle.
TEST=Surface unit test

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8945 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-01 22:38:16 +00:00
bungeman@google.com
7103344b64 Add FontMgr to DirectWrite.
https://codereview.chromium.org/14314008/


git-svn-id: http://skia.googlecode.com/svn/trunk@8934 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-01 14:21:20 +00:00
scroggo@google.com
0cb7df9718 Allow supporting 1 older PICTURE_VERSION.
Allows https://codereview.chromium.org/14230022/ to be submitted
without breaking bench_pictures and render_pictures.

After DEPS roll and SKP capture, this will be reverted.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8918 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-30 02:37:56 +00:00
scroggo@google.com
74b7ffda68 Fixes for piping bitmaps with encoded data.
Similar goals as https://codereview.chromium.org/14437012.

Builds on patch set 1 from that issue
(https://codereview.chromium.org/14437012/#ps1).

Instead of the changes in patch set 2 from that issue, this
changes SkOrderedWriteBuffer::writeBitmap to store whether an
SkBitmapHeap was used when to store the index of the SkBitmap.
SkOrderedReadBuffer::readBitmap now uses that information to
distinguish between using the heap and unflattening.

In addition, writeBitmap now records the width/height first in
all cases. If now SkBitmapHeapReader is attached, but an
SkBitmapHeap was used to record the bitmap, reading will fail
and provide the same red SkBitmap as in the case where the
SkBitmap was encoded but could not be decoded.

Updates the PICTURE_VERSION as well.

The key differences in this CL to look at are in:
SkOrderedWriteBuffer,
SkOrderedReadBuffer,
and SkPicture.

BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8917 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-30 02:32:41 +00:00
mike@reedtribe.org
af5c506cd6 add routines to compute error between conic and quad
git-svn-id: http://skia.googlecode.com/svn/trunk@8916 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-30 02:14:58 +00:00
reed@google.com
5c341d1ff1 reenable __builtin_clz for GNUC (and clang), recognizing that it is undefined for a zero argument,
so we check for that explicitly.



git-svn-id: http://skia.googlecode.com/svn/trunk@8905 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-29 15:34:35 +00:00
reed@google.com
de58012f65 temp work-around for mysterious failure of shadertext2 when using __builtin_clz
git-svn-id: http://skia.googlecode.com/svn/trunk@8900 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-29 15:10:44 +00:00
reed@google.com
7729534da4 reland 8897 (was not a build-breaker) and fix MathTest (was a build-breaker)
git-svn-id: http://skia.googlecode.com/svn/trunk@8899 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-29 14:43:50 +00:00
reed@google.com
44d37d9d72 revert 8897 -- broke clang build
git-svn-id: http://skia.googlecode.com/svn/trunk@8898 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-29 14:31:29 +00:00
reed@google.com
c267b4bfc9 use intrinsics on more platforms for SkCLZ
Review URL: https://codereview.chromium.org/14418004

git-svn-id: http://skia.googlecode.com/svn/trunk@8897 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-29 14:18:44 +00:00
mike@reedtribe.org
97514f22e4 add computation for error in conic-as-quad
git-svn-id: http://skia.googlecode.com/svn/trunk@8887 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-27 18:23:16 +00:00
mike@reedtribe.org
28552e12a0 rename SkRationalQuad to SkConic
git-svn-id: http://skia.googlecode.com/svn/trunk@8872 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-26 00:58:29 +00:00
commit-bot@chromium.org
f2bfd54de3 Add GPU support for roundrects
This uses the OvalRenderer to render roundrects as "stretched ovals." It adds an
additional shader that handles the straight edges of ellipsoid roundrects better, 
and uses the circle shader for roundrects where the two radii are the same. Only
axis-aligned, simple roundrects are supported. Handles fill, stroke and hairline.

R=bsalomon@google.com, robertphillips@google.com, reed@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/13852049

git-svn-id: http://skia.googlecode.com/svn/trunk@8859 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 15:27:00 +00:00
caryclark@google.com
45a75fb4d0 path ops : make it real
Add an option to SkCanvas to turn on path
ops when combining clips. 

Allow Op() to use one of the input paths
as an output path.

Fix a bug in Op() when the minuend is empty
and the subtrahend is not (for difference).

Change the build to allow core to depend on pathops.
Review URL: https://codereview.chromium.org/14474002

git-svn-id: http://skia.googlecode.com/svn/trunk@8855 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 13:34:40 +00:00
robertphillips@google.com
32c1b66a2c Added "SkRRect::contains(const SkRect&) const"
https://codereview.chromium.org/14200044/



git-svn-id: http://skia.googlecode.com/svn/trunk@8854 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 12:23:00 +00:00
commit-bot@chromium.org
9711e44667 Move MMap to SkData.
R=reed@google.com

Author: bungeman@google.com

Review URL: https://chromiumcodereview.appspot.com/14336003

git-svn-id: http://skia.googlecode.com/svn/trunk@8848 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-24 20:03:00 +00:00
bsalomon@google.com
d42aca31b9 Remove static effects from the effect memory pool.
Review URL: https://codereview.chromium.org/14081016

git-svn-id: http://skia.googlecode.com/svn/trunk@8828 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-23 15:37:27 +00:00
reed@google.com
d42f7587e5 add block comment for using SkChecksum
git-svn-id: http://skia.googlecode.com/svn/trunk@8827 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-23 15:35:24 +00:00
caryclark@google.com
3b97af5add path ops -- use standard max, min, double-is-nan
fix a comment or two as well
Review URL: https://codereview.chromium.org/13934009

git-svn-id: http://skia.googlecode.com/svn/trunk@8822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-23 11:56:44 +00:00
skia.committer@gmail.com
e36a168d13 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8819 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-23 07:01:29 +00:00
reed@google.com
ea774d2a5a fix asserts in SkMulDiv255Round, and add test
Review URL: https://codereview.chromium.org/13934010

git-svn-id: http://skia.googlecode.com/svn/trunk@8813 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 20:21:56 +00:00
commit-bot@chromium.org
aa2c2ffe5a Feed Clang a pragma to ignore -Wc++11-extensions to let it build Skia on Mac.
Tested:
CXX=clang++ ./gyp_skia && ninja -C out/Debug && CXX=G++ ./gyp_skia && ninja -C out/Debug && echo "ok"

Got to ok.

BUG=
R=bungeman@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/14365009

git-svn-id: http://skia.googlecode.com/svn/trunk@8799 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 14:39:06 +00:00
commit-bot@chromium.org
c4c9870953 Adding optimization to avoid image copy in SkSurface copy on write when content is discardable
This patch also adds code to SkDeferredCanvas to trigger the optimization.

TEST=DeferredSurfaceCopy bench, Surface unit test
R=reed@google.com

Author: junov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14063015

git-svn-id: http://skia.googlecode.com/svn/trunk@8797 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 14:28:01 +00:00
mike@reedtribe.org
cac3ae3752 specialize SkDataTable for arrays where all elements are the same size.
optimize impl to not require another level of indirection (SkData) for storage.
add unittests for flattening.
optimize builder to not make a deepcopy of its chunkalloc heap.



git-svn-id: http://skia.googlecode.com/svn/trunk@8790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-21 01:37:46 +00:00
skia.committer@gmail.com
64b682ca42 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8785 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-20 07:01:07 +00:00
reed@google.com
3cceb9f400 add SkDataTable::NewEmpty()
git-svn-id: http://skia.googlecode.com/svn/trunk@8780 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 20:22:39 +00:00
reed@google.com
8c5c7a905b add SkDataTable, to efficiently store an immutable array. Includes a builder
helper class.
Review URL: https://codereview.chromium.org/14188049

git-svn-id: http://skia.googlecode.com/svn/trunk@8779 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 20:16:01 +00:00
bsalomon@google.com
8da9bc751e Add all remaining separable xfer modes to GPU backend.
Review URL: https://codereview.chromium.org/14189024

git-svn-id: http://skia.googlecode.com/svn/trunk@8768 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 15:03:21 +00:00
reed@google.com
9d1cff124c use SkAutoTDelete instead of SkTScopedPtr
Review URL: https://codereview.chromium.org/13831011

git-svn-id: http://skia.googlecode.com/svn/trunk@8749 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 18:43:26 +00:00
junov@chromium.org
96447bef11 Adding SK_API to export SkImage and SkSurface API classes
Review URL: https://codereview.chromium.org/14328002

git-svn-id: http://skia.googlecode.com/svn/trunk@8736 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 13:28:19 +00:00
skia.committer@gmail.com
45fb8b6013 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8714 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 07:00:56 +00:00