commit-bot@chromium.org
e61a86cfa0
Guard against most unintentionally ephemeral SkAutoFoo instantiations.
...
I think I applied the trick everywhere possible. Limitations:
- can't be used with templated classes
- all constructors and destructors must be defined inline
A couple of the SkAutoFoo were unused in Skia, Chromium, and Android, so I
deleted them. This change caught the same bugs Cary found in SkPath, plus one
more in SampleApp.
BUG=
R=reed@google.com , caryclark@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/72603005
git-svn-id: http://skia.googlecode.com/svn/trunk@12301 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 16:03:59 +00:00
reed@google.com
3443fd8886
move SkImageInfo into its own header
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/71813002
git-svn-id: http://skia.googlecode.com/svn/trunk@12273 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 19:09:13 +00:00
commit-bot@chromium.org
21a0b10d7c
Remove deprecated setIsOpaque() API from SkBitmap.
...
Clients we care (Blink, Chromium) were updated, so we can remove this now.
BUG=None
R=bsalomon@google.com , reed@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/66723017
git-svn-id: http://skia.googlecode.com/svn/trunk@12251 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 18:16:34 +00:00
commit-bot@chromium.org
6e3e42296b
Break up SkLazyPixelRef functionally into class hierarchy.
...
The reason for this CL is to allow greater decoder flexibility.
Chrome currently uses its own decoding functions. These allow for
greater flexibility in dealing with images with multiple frames or
partial data. The DecodeProc function was not flexible enough to
handle these. Instead of asking the decoder to squeeze everything
into the DecodeProc, we now ask the downstream library to inherit from
SkCachingPixelRef. If WebKit's LazyDecodingPixelRef is re-tooled to
inherit from SkCachingPixelRef, then it can make use of Skia's caching
ability while still allowing it to deal with multiple frames, scaling,
subsetting, and partial data.
- The abstract SkCachingPixelRef class handles caching the decoded
data in a SkScaledImageCache. This class relies on the virtual
functions onDecodeInfo() and onDecode() to do the actual decoding
of data.
- The SkLazyCachingPixelRef class is derived from SkCachingPixelRef.
It provides an implementation of onDecodeInfo() and onDecode() in
terms of calls to a SkBitmapFactory::DecodeProc function. It also
provides an Install() static method which installs a new
SkLazyCachingPixelRef into a SkBitmap.
SkLazyCachingPixelRef exists for two reasons: to test
SkCachingPixelRef within Skia and as an example for downstream
developers to make their own classes that inherit from
SkCachingPixelRef.
- The CachedDecodingPixelRefTest was updated to test the
SkLazyCachingPixelRef class and indirectly the SkCachingPixelRef
class.
BUG=
R=reed@google.com , scroggo@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/54203006
git-svn-id: http://skia.googlecode.com/svn/trunk@12149 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:30 +00:00
reed@google.com
4469938e92
Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning""
...
This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d.
BUG=
Review URL: https://codereview.chromium.org/54603004
git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 17:28:30 +00:00
reed@google.com
6fcbfcead5
Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"
...
This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497.
git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:31:11 +00:00
reed@google.com
081560e3ab
add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning
...
BUG=
R=robertphillips@google.com , senorblanco@chromium.org , vandebo@chromium.org
Review URL: https://codereview.chromium.org/51033004
git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:24:08 +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
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
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
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
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
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
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
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
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
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
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
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
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
djsollen@google.com
4bd2bdbf04
Upstream changes from Android.
...
Review URL: https://codereview.chromium.org/12699002
git-svn-id: http://skia.googlecode.com/svn/trunk@8045 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-08 18:35:13 +00:00
scroggo@google.com
e5f48243bd
Fix a bunch of warnings, mainly around rowBytes.
...
My recent change changed the way SkBitmap::fRowBytes is stored,
and parameter/return values referring to rowBytes were changed
to type size_t. Change the storage back, and eliminate warnings
resulting from returning a size_t.
Review URL: https://codereview.appspot.com/7396059
git-svn-id: http://skia.googlecode.com/svn/trunk@7855 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-25 21:47:41 +00:00
scroggo@google.com
0ba4bf427a
Use size_t for rowBytes.
...
Previously, we were using uint32_t sometimes, int sometimes, and
size_t sometimes. Switch to using size_t, since we are actually
talking about a number of bytes.
In copyPixelsTo, use 0 as a flag to use the internal rowBytes,
which is more consistent with setConfig.
Review URL: https://codereview.appspot.com/7370047
git-svn-id: http://skia.googlecode.com/svn/trunk@7843 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-25 16:02:36 +00:00
robertphillips@google.com
76f9e938df
Added print out of SkShader information to debugger
...
https://codereview.appspot.com/7105045/
git-svn-id: http://skia.googlecode.com/svn/trunk@7201 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 20:17:47 +00:00
epoger@google.com
d27fe34d1e
comment-only fix
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6702 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-07 15:27:27 +00:00
reed@google.com
2a7579d117
CG imagedecoder never sets isOpaque, so add method to SkBitmap to compute that,
...
and call it from CG imagedecoder.
Review URL: https://codereview.appspot.com/6816101
git-svn-id: http://skia.googlecode.com/svn/trunk@6334 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 18:30:18 +00:00
rmistry@google.com
fbfcd56021
Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/ )
...
This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054
git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:09:54 +00:00
scroggo@google.com
6a9368d411
SkBitmap::scrollRect changes pixels, but only if not immutable.
...
scrollRect will now return false if the bitmap is immutable, and
call notifyPixelsChanged when changing the pixels. This will give
the bitmap a new generation ID.
Review URL: https://codereview.appspot.com/6480046
git-svn-id: http://skia.googlecode.com/svn/trunk@5230 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-22 16:19:52 +00:00
djsollen@google.com
21830d9009
Refactor Bitmap Storage for SkPicture using SkPipe's design.
...
Refactor Picture and Pipe bitmap storage into common data structure
Update SkFlattenable buffers to be more modular.
This CL is an effort to stage the conversion to named
parameters for all SkFlattenable commands. This particular
stage only does the following two things...
1. Move flattenable buffers from SkFlattenable.h into
their own header.
2. Update and Add new read write methods for better clarity
and convenience.
BUG=
Review URL: https://codereview.appspot.com/6445079
git-svn-id: http://skia.googlecode.com/svn/trunk@4994 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 19:49:41 +00:00
djsollen@google.com
c73dd5c688
Update SkFlattenable buffers to be more modular.
...
This CL is an effort to stage the conversion to named
parameters for all SkFlattenable commands. This particular
stage only does the following two things...
1. Move flattenable buffers from SkFlattenable.h into
their own header.
2. Update and Add new read write methods for better clarity
and convenience.
BUG=
Review URL: https://codereview.appspot.com/6448095
git-svn-id: http://skia.googlecode.com/svn/trunk@4980 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:54:32 +00:00
djsollen@google.com
c84b8335ee
Reapply "Remove Bitmaps Raw Pixel Support."
...
This CL reapplies r4722. Now that we have addressed the issues
in Chrome tests that were causing asserts to be fired.
Review URL: https://codereview.appspot.com/6452050
git-svn-id: http://skia.googlecode.com/svn/trunk@4804 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 13:41:44 +00:00
djsollen@google.com
56f8f338b6
Revert "Remove Bitmaps Raw Pixel Support."
...
BUG=
TEST=
Review URL: https://codereview.appspot.com/6449049
git-svn-id: http://skia.googlecode.com/svn/trunk@4780 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 14:48:52 +00:00
djsollen@google.com
c1d1f414a0
Remove Bitmaps Raw Pixel Support.
...
bitmap.setPixels(...) now creates a mutable pixelRef instead
of just setting fPixels.
Review URL: https://codereview.appspot.com/6419044
git-svn-id: http://skia.googlecode.com/svn/trunk@4722 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-23 16:54:30 +00:00
robertphillips@google.com
15c0fea699
AutoScratchTexture can now release its texture and it will return to the texture cache when freed
...
http://codereview.appspot.com/6262043/
git-svn-id: http://skia.googlecode.com/svn/trunk@4301 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-22 12:41:43 +00:00
robertphillips@google.com
15e9d3e66e
Expanded distribution of instance counting
...
http://codereview.appspot.com/6300114/
git-svn-id: http://skia.googlecode.com/svn/trunk@4291 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-21 20:25:03 +00:00
djsollen@google.com
64a0ec3655
Move SkColorTable into its own header and reduce includes in SkFlattenable.h
...
Review URL: https://codereview.appspot.com/6299072
git-svn-id: http://skia.googlecode.com/svn/trunk@4236 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-12 15:17:27 +00:00
reed@google.com
5dd510f1d2
update dox for copy-constructor
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3966 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 13:04:22 +00:00
reed@google.com
80e1459c32
add IRect variant of getBounds()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3414 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-16 14:58:07 +00:00
reed@google.com
fb2d3c6981
forward declare SkRect
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3410 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-15 21:18:11 +00:00
reed@google.com
86b2e43a33
add getBounds() helper
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3409 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-15 21:17:03 +00:00