Commit Graph

1251 Commits

Author SHA1 Message Date
robertphillips@google.com
af3a3b9fb1 Revert r7901 & r7899 to allow DEPS roll
git-svn-id: http://skia.googlecode.com/svn/trunk@7909 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 23:08:28 +00:00
commit-bot@chromium.org
aa537d4bdb Make SkTDArray accessors const-friendly.
This change creates const and non-const versions of SkTDArray::begin(), end(), operator[]() and getAt(). This will keep us from inadvertently changing a const SkTDArray, which the previous signatures allowed.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7902 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 19:03:13 +00:00
jvanverth@google.com
b8b705b1b9 Add new vertex attribute array specification.
This changes the old method of setting vertex layout to a new one where we
specify vertex attribute data separately from attribute bindings (i.e. program
functionality). Attribute data is now set up via an array of generic attribute
types and offsets, and this is mapped to the old program functionality by
setting specific attribute indices. This allows us to create more general 
inputs to shaders.


git-svn-id: http://skia.googlecode.com/svn/trunk@7899 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 16:28:34 +00:00
bsalomon@google.com
ff436617d8 Sort GL extension strings and search to find.
Review URL: https://codereview.chromium.org/12316141

git-svn-id: http://skia.googlecode.com/svn/trunk@7889 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 19:07:32 +00:00
junov@chromium.org
29b19e53cf Change SkTileGride geometry calculations to match the Chromium compositor.
This patch changes the semantics of tileWidth/Height to include the border region, and
uses an offset to take into account the fact that there is no outer border for outer
tiles. This patch also fixes a previous bug where the right column and bottom row were
considered to be included in bounds that are expressed as an SkIRect.

Companion Chromium CL required for roll: https://codereview.chromium.org/12221077/

TEST=TileGrid unit test
Review URL: https://codereview.appspot.com/7350050

git-svn-id: http://skia.googlecode.com/svn/trunk@7885 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 18:35:16 +00:00
bsalomon@google.com
f47dd74da3 Rename template param to SkSTArray to be consistent with its base class, SkTArray.
R=jvanverth@google.com
Review URL: https://codereview.appspot.com/7372050

git-svn-id: http://skia.googlecode.com/svn/trunk@7862 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-26 15:40:01 +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
scroggo@google.com
32ef131f52 Remove SkSerializationHelpers.
Move the function definition for EncodeBitmap to SkPicture,
where InstallPixelRefProc has already moved (and where it is
relevant).

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7837 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 22:04:19 +00:00
scroggo@google.com
f8d7d27313 Create SkLazyPixelRef which performs lazy decoding.
The new pixel ref behaves similarly to SkImageRef, with some key differences:
It does not depend on the images project.
It requires an SkImageCache, which handles allocation and caching of the pixel
memory.
It takes a function signature for decoding which decodes into already allocated
pixel memory rather than into an SkBitmap.

Add two implementations of SkImageCache: SkLruImageCache and SkAshmemImageCache.

Replace SkSerializationHelpers::DecodeBitmap with SkPicture::InstallPixelRefProc,
and update sites that referenced it.

SkBitmapFactory now sets the pixel ref to a new object of the new
class SkLazyPixelRef, provided it has an SkImageCache for caching.

Provide an option to do lazy decodes in render_pictures and bench_pictures.

SkPicture:
Eliminate the default parameters in the constructor.
If a proc for decoding bitmaps is installed, use it to decode any encoded
data in subpictures.
When parsing deserializing subpictures, check for success.
When serializing subpictures, pass the picture's bitmap encoder to the
subpicture's call to serialize.

Update BitmapFactoryTest to test its new behavior.

BUG=https://code.google.com/p/skia/issues/detail?id=1008
BUG=https://code.google.com/p/skia/issues/detail?id=1009

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 21:38:35 +00:00
sugoi@google.com
4b6d432f1e Small adjustments to SkRectShaderImageFilter to follow up on original cl.
Review URL: https://codereview.appspot.com/7377049

git-svn-id: http://skia.googlecode.com/svn/trunk@7816 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 20:26:50 +00:00
sugoi@google.com
a1c511b870 New SkRectShaderImageFilter image filter
This new changelist also introduces a new image filter called SkRectShaderImageFilter which is make to simply apply a shader on a region without using any inputs.

TEST=Added ShaderImageFilter test
Review URL: https://codereview.appspot.com/7300046

git-svn-id: http://skia.googlecode.com/svn/trunk@7808 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 15:02:28 +00:00
skia.committer@gmail.com
76bf70d38f Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7787 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-20 07:02:30 +00:00
mike@reedtribe.org
baaf8c53ca add as experiment to factor out low-level enums and types
git-svn-id: http://skia.googlecode.com/svn/trunk@7786 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-20 02:49:16 +00:00
humper@google.com
cfb7b91b57 print a useful message when assert fails on the mac
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7742 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-14 18:56:22 +00:00
robertphillips@google.com
791f12e6cf Move SkPaint::toString from debugger to SkPaint
https://codereview.appspot.com/7314092/



git-svn-id: http://skia.googlecode.com/svn/trunk@7732 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-14 13:53:53 +00:00
junov@chromium.org
8d84b8f420 Adding comments based on review https://codereview.appspot.com/7300072/
git-svn-id: http://skia.googlecode.com/svn/trunk@7686 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-08 21:56:16 +00:00
junov@chromium.org
f507c410e3 Adding option to SkTileGrid for specifying border pixels.
The purpose of this patch is to make it possible for the chromium compositor to
generate a TileGrid structure that is better suited for scaled playback.
Review URL: https://codereview.appspot.com/7300072

git-svn-id: http://skia.googlecode.com/svn/trunk@7680 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-08 21:03:30 +00:00
djsollen@google.com
efbe8e9bed Fix errors when compiling with -Wall -Werror on Android.
This CL also turns those features on by default on Android

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7645 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 18:58:35 +00:00
mike@reedtribe.org
53f3f31e17 tweak to spacing, to trigger build
git-svn-id: http://skia.googlecode.com/svn/trunk@7607 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-06 03:43:57 +00:00
reed@google.com
3d5b998bd7 use SkToS32 to turn a ptrdiff_t into an int (on 64bit build)
git-svn-id: http://skia.googlecode.com/svn/trunk@7562 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 22:40:28 +00:00
reed@google.com
25cfa69342 land https://codereview.appspot.com/7221086/ -- add Multiply xfermode matching CSS spec
git-svn-id: http://skia.googlecode.com/svn/trunk@7553 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 20:06:00 +00:00
bungeman@google.com
7de18e5c7b Add sk_ignore_unused_variable to avoid warnings.
https://codereview.appspot.com/7218045/


git-svn-id: http://skia.googlecode.com/svn/trunk@7539 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 15:58:08 +00:00
mike@reedtribe.org
aac2fb8019 move kStyleCount out of Style enum, and into its own, to avoid
1. someone passing kStyleCount as a parameter
2. warnings about not handling all enum values in a switch

We should probably move to remove kCountFoo from all of our enums for these reasons.



git-svn-id: http://skia.googlecode.com/svn/trunk@7532 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 05:17:10 +00:00
reed@google.com
408586e2a6 remove the kMultiply_Mode alias for kModulate_Mode. We plan to re-target kMultiply_Mode
in the future, to match the CSS spec.



git-svn-id: http://skia.googlecode.com/svn/trunk@7518 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-01 16:44:50 +00:00
djsollen@google.com
d9b0f480be Only support SkPicture abort for Android due to the fragility of the existing API
Review URL: https://codereview.appspot.com/7225083

git-svn-id: http://skia.googlecode.com/svn/trunk@7515 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-01 16:18:09 +00:00
djsollen@google.com
528a556514 Fix android errors when unflattening an SkImageRef_ashmem object.
Review URL: https://codereview.appspot.com/7228071

git-svn-id: http://skia.googlecode.com/svn/trunk@7514 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-01 15:57:13 +00:00
robertphillips@google.com
e7c843d2e5 Readding kMultiply_Mode (as an alias to kModulate_Mode) in SkXfermode.h to get Chrome to compile
git-svn-id: http://skia.googlecode.com/svn/trunk@7480 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-31 01:23:39 +00:00
reed@google.com
8d3cd7a170 clone of https://codereview.appspot.com/7208043/
Review URL: https://codereview.appspot.com/7232062

git-svn-id: http://skia.googlecode.com/svn/trunk@7476 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-30 21:36:11 +00:00
senorblanco@chromium.org
c2594f4106 This changes the signature of SkImageFilter::filterImageGPU() to use SkBitmaps for input and output, and removes the rect param. This allows us to return textures which are larger than the actual result, such as when GrAutoScratchTextures are used. The SkBitmap's size represents the active region, while the GrTexture's size is the full texture size.
This fixes the bicubic image filter GM on the GPU, which otherwise draws garbage outside the filtered region.  It also moves us closer to unifying the signatures of SkImageFilter::onFilterImage() and SkImageFilter::filterImageGPU().

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7467 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-30 19:08:47 +00:00
reed@google.com
8c0bc9b712 add SK_API to SkMutex (for chrome)
git-svn-id: http://skia.googlecode.com/svn/trunk@7443 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-29 13:03:36 +00:00
skia.committer@gmail.com
cdcb2ce274 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7439 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-29 07:05:52 +00:00
reed@google.com
24d10cb635 tweak to comments, ws change to trigger bots
git-svn-id: http://skia.googlecode.com/svn/trunk@7435 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 22:36:34 +00:00
reed@google.com
75847199c2 fix build
Review URL: https://codereview.appspot.com/7229052

git-svn-id: http://skia.googlecode.com/svn/trunk@7426 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 20:53:22 +00:00
robertphillips@google.com
4991b8f234 Added toString to SkDrawLooper-derived classes
https://codereview.appspot.com/7195054/



git-svn-id: http://skia.googlecode.com/svn/trunk@7422 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 20:21:59 +00:00
skia.committer@gmail.com
e16efc1882 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-26 07:06:02 +00:00
bsalomon@google.com
3bc7200240 Move random from core to utils
Review URL: https://codereview.appspot.com/7193064

git-svn-id: http://skia.googlecode.com/svn/trunk@7395 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-25 17:49:03 +00:00
skia.committer@gmail.com
4024f32d99 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7385 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-25 07:06:46 +00:00
reed@google.com
4bbdeac58c add optional cull-rect to patheffects, so they can do less work if their results
lie outside of the current clip-bounds (the cull rect).
Review URL: https://codereview.appspot.com/7206044

git-svn-id: http://skia.googlecode.com/svn/trunk@7378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-24 21:03:11 +00:00
skia.committer@gmail.com
43a6b6a046 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7357 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-24 07:06:13 +00:00
reed@google.com
1d6cff7293 add alias for MakeFromIRect (just Make)
git-svn-id: http://skia.googlecode.com/svn/trunk@7340 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 15:37:56 +00:00
bungeman@google.com
23c2939a4f Use Skia style cast in SkDeviceProperties.
(Alternative to 7329.)


git-svn-id: http://skia.googlecode.com/svn/trunk@7339 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 15:31:43 +00:00
robertphillips@google.com
5133fc73fe Speculative fix for cros_daisy compilation failure
include/core/SkDeviceProperties.h:82:51: error: narrowing conversion of '(((int)orientation) | ((int)layout))' from 'int' to 'uint8_t

unreviewed



git-svn-id: http://skia.googlecode.com/svn/trunk@7329 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 01:46:26 +00:00
bungeman@google.com
ba3284e7bb Fix VC++ warning and Android only code for 7317.
git-svn-id: http://skia.googlecode.com/svn/trunk@7319 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 19:49:33 +00:00
bungeman@google.com
532470f34d Expose geometry and gamma on device.
https://codereview.appspot.com/6499101/


git-svn-id: http://skia.googlecode.com/svn/trunk@7317 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 19:25:14 +00:00
robertphillips@google.com
b83b6b4f76 Added toString to SkXfermode-derived classes (for debugger)
https://codereview.appspot.com/7139058/



git-svn-id: http://skia.googlecode.com/svn/trunk@7308 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 14:32:09 +00:00
jvanverth@google.com
46d3d39e65 Add GPU support for axis-aligned ovals:
- Add drawOval base function to SkDevice, and override in SkGpuDevice
- Move isSimilarityMatrix to SkMatrix (renamed to isSimilarity) and fixed up unit test
- Since both SkGpuDevice::drawOval() and GrContext::drawPath() can try to draw ovals, added GrContext::canDrawOval() and GrContext::internalDrawOval() to avoid duplicate code
- Hooked in axis-aligned oval fill shader
- Enabled GPU stroked circles
- Added stroked circle bench test

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



git-svn-id: http://skia.googlecode.com/svn/trunk@7304 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 13:34:01 +00:00
skia.committer@gmail.com
4d28d9889b Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7240 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-17 07:06:06 +00:00
junov@chromium.org
4668e13c37 Adding SK_API to SkTileGridPicture class declaration
Unreviewed


git-svn-id: http://skia.googlecode.com/svn/trunk@7227 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 16:07:39 +00:00
bsalomon@google.com
0ac6af4997 Wrap GrEffects in GrEffectPtr.
This is the first step towards automatic recycling of scratch resouces in the cache via ref-cnts.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7092061

git-svn-id: http://skia.googlecode.com/svn/trunk@7222 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 15:16:18 +00:00
reed@google.com
6f54724c11 remove legacy build-flags for drawBitmapRect
add SkRect::isetWH()
Review URL: https://codereview.appspot.com/7127045

git-svn-id: http://skia.googlecode.com/svn/trunk@7221 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 15:15:24 +00:00
bsalomon@google.com
4e23068b37 Re-enable inst counting in debug builds.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7098066

git-svn-id: http://skia.googlecode.com/svn/trunk@7206 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 20:37:04 +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
skia.committer@gmail.com
7fc0e0a75a Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7173 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 02:01:40 +00:00
humper@google.com
18a48c3c1c replace getline with fgets for portability
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7163 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-14 19:42:08 +00:00
humper@google.com
61a972f11f fix gcc build
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7160 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-14 19:03:46 +00:00
humper@google.com
7af56bee17 Runtime configuration system for skia. This will allow developers to control settings at launch time without relying on compile-time flags or recompilation. It can be used to turn features on and off, as well as to control numeric quantities to 'tune' algorithms. Once I make sure it's working across all platforms I'll send out a quick tutorial on its use.
Review URL: https://codereview.appspot.com/7098051

git-svn-id: http://skia.googlecode.com/svn/trunk@7158 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-14 18:49:19 +00:00
bsalomon@google.com
e197cbf9a3 Change signature of SkShader::asNewEffect(), implement for SkBitmapProcShader.
Review URL: https://codereview.appspot.com/7086051

git-svn-id: http://skia.googlecode.com/svn/trunk@7153 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-14 16:46:26 +00:00
digit@google.com
47ebbcc7ab Use the NDK's cpu-features library when building skia for Chromium/Android.
This patch ensures that when Skia is built for Chromium, it will
always use the Android NDK's cpu-features helper library to detect
NEON at runtime.

This is needed because sandboxed Chromium renderer processes cannot
access /proc, and the probing performed in SkUtilsArm.cpp will never
work. As such, the NEON code paths will never be used even when the
device supports them.

Chromium has special code that ensures that the browser process
passes the CPU features flags to every renderer process, but
Skia needs to use android_getCpuFeatures() to get them.

See http://crbug.com/164154 for full details.
Review URL: https://codereview.appspot.com/7102045

git-svn-id: http://skia.googlecode.com/svn/trunk@7149 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-14 14:58:22 +00:00
senorblanco@chromium.org
171f5c76b9 Rename onFilterImageGPU to filterImageGPU(), to match skia convention. No change in functionality.
(Note that this does mean that clients must override onFilterImage() to implement the raster path, but filterImageGPU() to implement the GPU path.)

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7123 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-10 19:55:18 +00:00
scroggo@google.com
e490420efc Ensure that SkMemoryStream does not crash dereferencing fData.
SkMemoryStream attempts to dereference fData in multiple places.
Instead of allowing it to be NULL, resulting in a crash, set it
to SkData::NewEmpty().

Add a test for SkStream that will crash when its SkData is set to NULL.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7094 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-08 20:31:53 +00:00
reed@google.com
2b57dc6bb2 fix warings. add SkTAbs()
git-svn-id: http://skia.googlecode.com/svn/trunk@7075 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-08 13:23:32 +00:00
humper@google.com
0e51577a14 fix warning from scalar --> int32 conversion
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7061 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-07 19:54:40 +00:00
bsalomon@google.com
21cbec4870 Remove GrTDArray.
Two dynamic array classes is enough.

R=reed@google.com
Review URL: https://codereview.appspot.com/7069047

git-svn-id: http://skia.googlecode.com/svn/trunk@7053 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-07 17:23:00 +00:00
humper@google.com
f515ffc3d4 Show the paint's typeface information in the details pane of the debugger.
Also add a convenience constructor for SkMemoryStream that takes the SkData directly
(instead of having to construct an empty one and call setData).
Review URL: https://codereview.appspot.com/7065045

git-svn-id: http://skia.googlecode.com/svn/trunk@7048 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-07 15:48:19 +00:00
robertphillips@google.com
2b4e5445d2 re-add SkRefPtr to SkRefCnt.h until all uses of it have been removed from Chrome
git-svn-id: http://skia.googlecode.com/svn/trunk@7044 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-07 00:58:00 +00:00
vandebo@chromium.org
d96d17b9c1 Remove SkRefPtr
(resubmit of https://codereview.appspot.com/7030059/)
TBR=junov@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7030 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-04 19:31:24 +00:00
vandebo@chromium.org
6eb549e8ca Revert "Remove SkRefPtr" - r7021
samplecode/ still needs to be updated.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7022 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-04 18:11:21 +00:00
vandebo@chromium.org
e8a76ae8ed Remove SkRefPtr
Review URL: https://codereview.appspot.com/7030059

git-svn-id: http://skia.googlecode.com/svn/trunk@7021 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-04 17:59:42 +00:00
bsalomon@google.com
672d5c2014 Fix warnings about unused function on Mac.
Review URL: https://codereview.appspot.com/6826074/



git-svn-id: http://skia.googlecode.com/svn/trunk@6976 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-02 20:33:18 +00:00
djsollen@google.com
a44de9617a Update documentation around picture playback.
Review URL: https://codereview.appspot.com/7034045

git-svn-id: http://skia.googlecode.com/svn/trunk@6967 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-02 16:59:19 +00:00
mike@reedtribe.org
f6100c8b1a fix compiler warnings:
- initialization order in SkWriter32.h
- size_t -vs- int in rrects.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@6942 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-24 13:56:17 +00:00
mike@reedtribe.org
bcbef579d0 add SkRRect::inset(), which mimics stroking
git-svn-id: http://skia.googlecode.com/svn/trunk@6935 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-23 23:11:21 +00:00
skia.committer@gmail.com
b89a03c890 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6930 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-22 02:02:33 +00:00
reed@google.com
5595af1b2e unify how we handle externally-provided storage in SkWriter32, with the goal
of simplifying the logic in reserve() so it can be inlined/accelerated.
Review URL: https://codereview.appspot.com/6962048

git-svn-id: http://skia.googlecode.com/svn/trunk@6923 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-21 15:36:33 +00:00
reed@google.com
30711b764b change SkMaskFilter methods to const, in preparation for making the class as
immutable and re-entrant safe.
Review URL: https://codereview.appspot.com/6944069

git-svn-id: http://skia.googlecode.com/svn/trunk@6881 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-18 19:18:39 +00:00
reed@google.com
457d8a77be remove experimental setAsABlur, as it forces the instance to be mutable, and was
not adopted by chrome
Review URL: https://codereview.appspot.com/6939071

git-svn-id: http://skia.googlecode.com/svn/trunk@6879 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-18 18:20:44 +00:00
reed@google.com
fdba4041c3 change all interfaces for SkRasterizer to const, in preparation for marking it
as immutable/re-entrant safe.
Review URL: https://codereview.appspot.com/6936064

git-svn-id: http://skia.googlecode.com/svn/trunk@6878 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-18 16:57:03 +00:00
reed@google.com
548a1f3210 change all patheffect methods to const, in preparation for marking its
subclasses as immutable/re-entrant safe.
Review URL: https://codereview.appspot.com/6949071

git-svn-id: http://skia.googlecode.com/svn/trunk@6877 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-18 16:12:09 +00:00
robertphillips@google.com
4e18c7a9bb Add RRect GM
https://codereview.appspot.com/6945063/



git-svn-id: http://skia.googlecode.com/svn/trunk@6866 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-17 21:48:19 +00:00
sugoi@google.com
5f74cf8c49 Follow up on the previous patch :
- Moved the SkStrokeRec class in its own file
- Replaced SkStroke by SkStrokeRec in Ganesh
- Moved path stroking to the Ganesh level in some cases (everytime it isn't required to do it directly in SkGpuDevice). PathEffect and MaskFilter still require path stroking at the SkGpuDevice for now.
- Renamed static functions in SkPath with proper names

* No functionality shold have changed with this patch. This is a step towards enabling Ganesh Path Renderers to decide whether or not to stroke the path rather than always receiving the stroked path as an input argument.

BUG=chromium:135111
TEST=Try path rendering tests from the gm
Review URL: https://codereview.appspot.com/6946072

git-svn-id: http://skia.googlecode.com/svn/trunk@6861 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-17 21:16:45 +00:00
reed@google.com
bada64428a Make all colorfilter methods const, in preparation for declaring them
to be immutable and reentrant-safe

git-svn-id: http://skia.googlecode.com/svn/trunk@6856 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-17 20:21:44 +00:00
reed@google.com
30da745bbf Mark all methods on SkXfermode as const, in preparation for declaring all
xfermodes as immutable/reentrant-safe
Review URL: https://codereview.appspot.com/6941065

git-svn-id: http://skia.googlecode.com/svn/trunk@6855 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-17 19:55:24 +00:00
robertphillips@google.com
6d87557278 3on/3off dashing optimization
https://codereview.appspot.com/6891046/



git-svn-id: http://skia.googlecode.com/svn/trunk@6851 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-17 18:56:29 +00:00
mike@reedtribe.org
c3442d53da move inset out of SkRRect.h for now, and add experimental versions to gm
git-svn-id: http://skia.googlecode.com/svn/trunk@6833 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-17 02:34:28 +00:00
mike@reedtribe.org
37071640f6 add gm for rrect, and rrect.inset/outset
git-svn-id: http://skia.googlecode.com/svn/trunk@6832 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-17 02:10:42 +00:00
robertphillips@google.com
441a005810 Fix r6808 fix & some compiler warnings
https://codereview.appspot.com/6948047/



git-svn-id: http://skia.googlecode.com/svn/trunk@6820 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-14 13:55:06 +00:00
reed@google.com
ea033606a0 add per-draw checks for lockcounts
Review URL: https://codereview.appspot.com/6943056

git-svn-id: http://skia.googlecode.com/svn/trunk@6815 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-14 13:13:55 +00:00
skia.committer@gmail.com
61b05dcc7e Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6809 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-14 02:02:06 +00:00
robertphillips@google.com
ffbe903bc8 Fix compiler warning as error bug
Unreviewed



git-svn-id: http://skia.googlecode.com/svn/trunk@6808 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-14 00:34:28 +00:00
reed@google.com
a641f3f18e reland 6798 w/ fix for bitmap-as-mask pixel-locking
git-svn-id: http://skia.googlecode.com/svn/trunk@6806 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 22:16:30 +00:00
reed@google.com
135e16cd8e revert 6798 (assert in GM)
git-svn-id: http://skia.googlecode.com/svn/trunk@6802 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 21:53:41 +00:00
reed@google.com
2a3f08b0a7 add debugging flag SK_IGNORE_PIXELREF_SETPRELOCKED for pixelref locks (disabled)
git-svn-id: http://skia.googlecode.com/svn/trunk@6800 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 21:41:00 +00:00
reed@google.com
1adcf8859c Goal: ensure we always balance lock/unlock pixels calls.
A big caller of lockPixels is setContext in the bitmapshader.

This change replaces beginSession/endSession with adding endContext(), and
adds debugging code to ensure that
1. setContext calls are never nested
2. endContext is always called after each setContext call.
Review URL: https://codereview.appspot.com/6937046

git-svn-id: http://skia.googlecode.com/svn/trunk@6798 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 21:39:56 +00:00
junov@chromium.org
3cb834bd27 Modifying SkTileGrid to support arbitrary query rectangles.
Exposing SkTileGrid functionality in the public API through SkTileGridPicture.
This patch also makes TileGrid and Rtree testable in gm, which revealed errors.

TEST=gm with '--tileGrid'
BUG=http://code.google.com/p/chromium/issues/detail?id=164636
Review URL: https://codereview.appspot.com/6933044

git-svn-id: http://skia.googlecode.com/svn/trunk@6783 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 16:39:53 +00:00
skia.committer@gmail.com
306ab9d5de Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6774 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 02:01:33 +00:00
reed@google.com
4ed0fb7684 revert 6766, thereby re-landing 6762-6763 now that the bots are ready
git-svn-id: http://skia.googlecode.com/svn/trunk@6770 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 20:48:18 +00:00
reed@google.com
25c1408c3d revert 6762-6763, since those require new skps to be generated, and we can't
do that immediately right now... will re-submit when we can.



git-svn-id: http://skia.googlecode.com/svn/trunk@6766 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 19:15:31 +00:00
reed@google.com
9b0fd9aa66 part of prev CL for rrect
git-svn-id: http://skia.googlecode.com/svn/trunk@6763 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 19:03:29 +00:00
reed@google.com
68d61ed83e make RRect and Oval first-class drawing primitives in SkCanvas.
add RRect as a first-class clip primitive.
Review URL: https://codereview.appspot.com/6923058

git-svn-id: http://skia.googlecode.com/svn/trunk@6762 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 19:02:53 +00:00
junov@chromium.org
8cdf0f52ff Adding quickContains API method to SkClipStack
BUG=http://code.google.com/p/chromium/issues/detail?id=164580
TEST=unit test ClipStack/quickContains
Review URL: https://codereview.appspot.com/6919044

git-svn-id: http://skia.googlecode.com/svn/trunk@6760 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 17:58:15 +00:00
bsalomon@google.com
45a15f551b Modifications to GrPatherRenderer(Chain) interfaces to support clip mask manager.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6904069

git-svn-id: http://skia.googlecode.com/svn/trunk@6741 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-10 19:10:17 +00:00
bsalomon@google.com
c6b3e48cb3 Improve handling of inverse clip paths in GrClipMaskManager.
Will require rebaselining of complexclip_aa and complexclip_aa_layer on GPU.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6907052

git-svn-id: http://skia.googlecode.com/svn/trunk@6712 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-07 20:43:52 +00:00
scroggo@google.com
a2a3192847 Fix some extract subset bugs.
In SkBitmap::extractSubset, perform a deepCopy, if the pixelRef supports it.

Fixes a bug in the 'extractbitmap' gm, which attempts to draw a subset of a texture backed bitmap (if the canvas is really an SkGpuCanvas).

Also fix some bugs that happen when there is a pixel offset. These fixes get bypassed by the deepCopy, but a user can still set a pixel offset manually.

When copying GPU backed bitmap with a pixel offset, copy the offset.

If the new config is the same as the old, copy fRowBytes as well.

Add a function to SkBitmap.cpp (getUpperLeftFromOffset) to find the x,y coordinate to use when copying to a new config.

Fix a bug where readPixels copied to the correct desired config and we were setting the generation ID to match even though the desired config was not the same as the original config (caught by my new tests!).

Add some tests to verify the correct behavior.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6710 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-07 19:14:45 +00:00
reed@google.com
f56225c848 speedup peek32() when the offset is in the last block (fTail)
Review URL: https://codereview.appspot.com/6906047

git-svn-id: http://skia.googlecode.com/svn/trunk@6708 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-07 17:48:04 +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
junov@google.com
dbfac8a723 Defining new color constat for transparent color
Review URL: https://codereview.appspot.com/6901044

git-svn-id: http://skia.googlecode.com/svn/trunk@6696 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-06 21:47:40 +00:00
sugoi@google.com
12b4e27ae1 As part of preliminary groundwork for a chromium fix, this changelist is deprecating GrPathFill so that SkPath::FillType is used everywhere in order to remove some code duplication between Skia and Ganesh.
BUG=chromium:135111
TEST=Try path rendering tests from the gm
Review URL: https://codereview.appspot.com/6875058

git-svn-id: http://skia.googlecode.com/svn/trunk@6693 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-06 20:13:11 +00:00
reed@google.com
eb776128f5 add query to pixelref for its encoded data (if it has any)
Review URL: https://codereview.appspot.com/6891047

git-svn-id: http://skia.googlecode.com/svn/trunk@6689 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-06 14:26:02 +00:00
robertphillips@google.com
935ad02682 Add drawPoints dash bench
https://codereview.appspot.com/6866053/



git-svn-id: http://skia.googlecode.com/svn/trunk@6678 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-05 19:07:21 +00:00
bsalomon@google.com
8182fa0cac Make SkClipStack::Iter use SkClipStack::Element.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6871051

git-svn-id: http://skia.googlecode.com/svn/trunk@6661 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-04 14:06:06 +00:00
robertphillips@google.com
b8b8ba01f0 Fix compiler error in SkTInternalList.h
git-svn-id: http://skia.googlecode.com/svn/trunk@6659 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-03 23:34:32 +00:00
borenet@google.com
bc293c4aa4 Added SK_BUILD_FOR_NACL to SkPreConfig.h
Submitted on behalf of bmilnor@

git-svn-id: http://skia.googlecode.com/svn/trunk@6656 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-03 21:38:58 +00:00
reed@google.com
7d68335eb4 add getTypes() to SkMatrix44, to cache how complex the matrix is.
add bench

optimize operator== by performing 4 compares in a row before checking
optimize setconcat by noting when we can write the answer directly into this

At least on this macbook, I had to mark helpers like isIdentity() as inline to get them inlined.
Review URL: https://codereview.appspot.com/6863053

git-svn-id: http://skia.googlecode.com/svn/trunk@6655 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-03 21:19:52 +00:00
bsalomon@google.com
dd3f7a9efe Reland r6649 with fix for build errors.
git-svn-id: http://skia.googlecode.com/svn/trunk@6653 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-03 19:47:41 +00:00
bsalomon@google.com
acc71aa5c2 Revert 6649 due to build breaks.
git-svn-id: http://skia.googlecode.com/svn/trunk@6651 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-03 19:18:57 +00:00
bsalomon@google.com
4928f86eda Insert in middle of SkTInternalLList and SkTLList, in place cons for
SkTLList.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6870050

git-svn-id: http://skia.googlecode.com/svn/trunk@6649 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-03 19:05:44 +00:00
bsalomon@google.com
42619d8df2 Rename SkTDLinkedList to SkTInternalLinked list, add some methods useful for forthcoming SkTLList.
Review URL: https://codereview.appspot.com/6858101

git-svn-id: http://skia.googlecode.com/svn/trunk@6643 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-03 14:54:59 +00:00
tomhudson@google.com
0da23a5184 Tweak an enum declaration to make the clang compiler happy.
This exposes our "unknown type" to users, which is a loss of encapsulation.
TBR=robertphillips

http://codereview.appspot.com/6865050/



git-svn-id: http://skia.googlecode.com/svn/trunk@6641 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-03 11:41:21 +00:00
reed@google.com
9f0af0a285 Create aliases AddRef() and Release() to SkRefCnt for compatibility with scoped_refptr
Review URL: https://codereview.appspot.com/6844116

git-svn-id: http://skia.googlecode.com/svn/trunk@6639 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-30 21:30:42 +00:00
skia.committer@gmail.com
c3d7d90973 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6632 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-30 02:01:24 +00:00
bsalomon@google.com
5fac58c91d Remove SkClipStack::Iter::combinedNext.
Review URL: https://codereview.appspot.com/6844114

git-svn-id: http://skia.googlecode.com/svn/trunk@6619 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 21:14:59 +00:00
bsalomon@google.com
8a98e3bd18 Make SkClipStack::Element public.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6858096

git-svn-id: http://skia.googlecode.com/svn/trunk@6617 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 21:05:13 +00:00
bsalomon@google.com
9128edc700 Rename SkClipStack::Rec to SkClipStack::Element
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6854115

git-svn-id: http://skia.googlecode.com/svn/trunk@6605 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 18:58:19 +00:00
robertphillips@google.com
852030103e Add newline at end of SkRRect.h
git-svn-id: http://skia.googlecode.com/svn/trunk@6596 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 13:49:33 +00:00
robertphillips@google.com
5985e7c4d1 SkRoundRect start
https://codereview.appspot.com/6815058/



git-svn-id: http://skia.googlecode.com/svn/trunk@6595 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 13:24:55 +00:00
skia.committer@gmail.com
687c57c7d5 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6594 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 02:01:19 +00:00
reed@google.com
5e5885a63d update dox
git-svn-id: http://skia.googlecode.com/svn/trunk@6591 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-28 21:28:57 +00:00
robertphillips@google.com
629ab54066 Added dashing fast path
https://codereview.appspot.com/6844067/



git-svn-id: http://skia.googlecode.com/svn/trunk@6585 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-28 17:18:11 +00:00
reed@google.com
68d6bb0c11 revert prev change to reset
git-svn-id: http://skia.googlecode.com/svn/trunk@6571 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-27 18:37:52 +00:00
reed@google.com
4efd9d9872 guard for self-assignment in reset()
git-svn-id: http://skia.googlecode.com/svn/trunk@6568 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-27 17:20:39 +00:00
bsalomon@google.com
705e840944 Make the clip stack reduction test generate inverse filled paths.
Also adds some comments to GrReduceClipStack.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6847109

git-svn-id: http://skia.googlecode.com/svn/trunk@6561 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-27 15:43:57 +00:00
bsalomon@google.com
51a6286c24 Add a function that computes a reduced representation of the clip stack.
Also adds a unit test. The function is not yet used other than in the test.
Review URL: https://codereview.appspot.com/6855098

git-svn-id: http://skia.googlecode.com/svn/trunk@6553 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-26 21:19:43 +00:00
reed@google.com
971aca7557 change SkDrawFilter::filter to return a bool, where false means don't-draw
Review URL: https://codereview.appspot.com/6851111

git-svn-id: http://skia.googlecode.com/svn/trunk@6551 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-26 20:26:54 +00:00
reed@google.com
db3f0fda68 must always include another skia header (unless you're SkTypes.h). In this case,
we need SkScalar.h earlier so we can be sure to have int32_t defined.

inspired by https://codereview.appspot.com/6782122/



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

git-svn-id: http://skia.googlecode.com/svn/trunk@6547 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-26 18:16:27 +00:00
tfarina@chromium.org
223137f49d Remove GrRandom API in favor of SkRandom.
TEST=tests
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6539 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-21 22:38:36 +00:00
caryclark@google.com
f68154a3cf Add isRect variant that returns path closure and direction.
Add path test to verify that when isRect() returns false,
output parameters are unchanged.
Review URL: https://codereview.appspot.com/6855074

git-svn-id: http://skia.googlecode.com/svn/trunk@6524 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-21 15:18:06 +00:00
reed@google.com
f6c9a5ba5c add restore() to SkAutoCanvasRestore
git-svn-id: http://skia.googlecode.com/svn/trunk@6505 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-20 15:12:21 +00:00
skia.committer@gmail.com
3458716b52 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6500 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-20 02:01:23 +00:00
robertphillips@google.com
866ff8787a Reverting r6489 to fix compiler error in Chrome
143>  LINK : program database E:\b\build\slave\win_layout\build\src\build\Debug\ui.dll.pdb missing; performing full link
143>     Creating library ..\build\Debug\lib\ui.lib and object ..\build\Debug\lib\ui.exp
143>throb_animation.obj : error LNK2001: unresolved external symbol "private: static void (__cdecl*const * const SkMatrix::gMapXYProcs)(class SkMatrix const &,float,float,struct SkPoint *)" (?gMapXYProcs@SkMatrix@@0QBQ6AXABV1@MMPAUSkPoint@@@ZB)

etc 



git-svn-id: http://skia.googlecode.com/svn/trunk@6499 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-20 01:40:45 +00:00
tfarina@chromium.org
15393c7f34 Add missing SK_API define.
For a detailed explanation of this, please refer to Nico Weber description
here: https://chromiumcodereview.appspot.com/10386108

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6489 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-19 19:43:18 +00:00
reed@google.com
dab9b4fe03 use SkPath::isNestedRects() to apply blurred nine-patch
Review URL: https://codereview.appspot.com/6855063

git-svn-id: http://skia.googlecode.com/svn/trunk@6483 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-19 16:45:14 +00:00
caryclark@google.com
56f233ab54 add two nested rect detector to path
Tease apart existing one rect path detector so
that a new variant can detect two nested rects as well.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6475 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-19 13:06:06 +00:00
mike@reedtribe.org
b947625800 remove unused (and undefined) SkColorSpace parameter.
git-svn-id: http://skia.googlecode.com/svn/trunk@6427 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-15 02:37:45 +00:00
scroggo@google.com
459e6623f1 Remove a warning for comparing signed and unsigned integers.
Review URL: https://codereview.appspot.com/6851050

git-svn-id: http://skia.googlecode.com/svn/trunk@6420 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-14 21:08:53 +00:00
reed@google.com
260eae59b4 move setDevice() to protected: in preparation for its eventual demise
git-svn-id: http://skia.googlecode.com/svn/trunk@6416 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-14 19:07:24 +00:00
reed@google.com
cd5f7e2222 mark SkCanvas::setDevice as DEPRECATED -- need to remove all callers in chrome
git-svn-id: http://skia.googlecode.com/svn/trunk@6414 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-14 14:40:07 +00:00
bsalomon@google.com
9bee33afbe Add a conservativelyContainsRect function to SkPath.
Review URL: https://codereview.appspot.com/6852044

git-svn-id: http://skia.googlecode.com/svn/trunk@6411 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-13 21:51:38 +00:00
skia.committer@gmail.com
fbb0ed959d Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6409 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-13 21:46:06 +00:00
robertphillips@google.com
9a5b570e5c Allow SkPicture-derived classes install their own SkPicturePlayback-derived object
https://codereview.appspot.com/6851048/



git-svn-id: http://skia.googlecode.com/svn/trunk@6405 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-13 20:41:18 +00:00
vollick@chromium.org
5596a69e9f Add support for SK_MSCALAR_IS_FLOAT
The default is SK_MSCALAR_IS_FLOAT. You'll have to explicitly define SK_MSCALAR_IS_DOUBLE if that's what you want.

BUG=None

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6403 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-13 20:12:00 +00:00
bsalomon@google.com
30c174b9ce Make SkPath cache the result of cheapComputeDirection.
Review URL: https://codereview.appspot.com/6810111

git-svn-id: http://skia.googlecode.com/svn/trunk@6394 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-13 14:36:42 +00:00
bsalomon@google.com
2e0c79fb63 Revert 6351 due to bugs.
git-svn-id: http://skia.googlecode.com/svn/trunk@6377 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-12 13:38:57 +00:00
reed@google.com
d729b3e504 add entry-point to SkMaskFilter to fast-path rectangles.
have blurmaskfilter override this new method.

#define SK_IGNORE_FAST_BLURRECT if you want to disable this (not sure if we'll need this)
Review URL: https://codereview.appspot.com/6815087

git-svn-id: http://skia.googlecode.com/svn/trunk@6363 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-09 14:30:48 +00:00
skia.committer@gmail.com
d9f7503e0c Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6362 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-09 02:01:24 +00:00
reed@google.com
6898d52c37 add centerX() and centerY() to SkIRect (because they made me)
Review URL: https://codereview.appspot.com/6826078

git-svn-id: http://skia.googlecode.com/svn/trunk@6360 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-08 22:36:19 +00:00
bsalomon@google.com
6794a258e3 Apply intersect rects to earlier clip elements and skip rects when possible.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6814105

git-svn-id: http://skia.googlecode.com/svn/trunk@6351 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-08 15:30:53 +00:00
skia.committer@gmail.com
72b2e6fff3 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6344 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-08 02:03:56 +00:00
bsalomon@google.com
e8ca6c6e3a Combine multiple intersecting rects in SkClipStack::Iter.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6816104

git-svn-id: http://skia.googlecode.com/svn/trunk@6339 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 21:19:10 +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
bsalomon@google.com
7b7cdd147f Some improvements to reduce the number of pixels touched in generating alpha clip masks
Review URL: https://codereview.appspot.com/6828043

git-svn-id: http://skia.googlecode.com/svn/trunk@6329 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 16:17:24 +00:00
caryclark@google.com
8f0a7b8e73 Add temporary interfaces in blur and clip to
permit testing if it is to our advantage
to selectively disable soft clipping and
high quality blurs during animations.
Review URL: https://codereview.appspot.com/6812092

git-svn-id: http://skia.googlecode.com/svn/trunk@6328 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 14:54:49 +00:00
reed@google.com
4d3038379d add more utilities: roundIn(), offsetTo()
git-svn-id: http://skia.googlecode.com/svn/trunk@6320 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 22:02:51 +00:00
caryclark@google.com
a362237644 add draw filter option to picture_bench
Option allows adding a draw filter option per type
or for all types. All SkPaint flags may be filtered,
plus disabling blur and setting the hint level.
Review URL: https://codereview.appspot.com/6816092

git-svn-id: http://skia.googlecode.com/svn/trunk@6318 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 21:26:13 +00:00
thakis@chromium.org
61729ecc6c Remove a pointless anonymous namespace in a header.
Review URL: https://codereview.appspot.com/6827047

git-svn-id: http://skia.googlecode.com/svn/trunk@6304 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 00:22:56 +00:00
bsalomon@google.com
17fc651dbe Make all remaining effects use GrGLEffectMatrix
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6817079

git-svn-id: http://skia.googlecode.com/svn/trunk@6286 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-02 21:45:01 +00:00
bsalomon@google.com
92b6a94ac1 Make GrGLTextureDomainEffect use GrGLEffectMatrix.
Also, don't send redundant domain.
Review URL: https://codereview.appspot.com/6820082

git-svn-id: http://skia.googlecode.com/svn/trunk@6276 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-02 19:50:26 +00:00
junov@chromium.org
35ac048e35 Refactoring RTree integration to support SkBBoxHierarchy polymorphism in SkPicture.
This moves the rtree creation into a virtual method.
Review URL: https://codereview.appspot.com/6811057

git-svn-id: http://skia.googlecode.com/svn/trunk@6242 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 17:10:32 +00:00
bungeman@google.com
7103f182ce GDI fonthost to serialize using correct font name.
https://codereview.appspot.com/6822060/


git-svn-id: http://skia.googlecode.com/svn/trunk@6227 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-31 20:53:49 +00:00
reed@google.com
e1e7d7a6b5 add SkScalarsEqual() so we don't have to use memcmp for arrays of floats.
git-svn-id: http://skia.googlecode.com/svn/trunk@6226 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-31 19:59:23 +00:00
bsalomon@google.com
f94b3a4ceb Make SkShader store localM directly rather than as a separate alloc.
May cause very slight GM changes in gpu two pt radial/conical radients.
Review URL: https://codereview.appspot.com/6821056

git-svn-id: http://skia.googlecode.com/svn/trunk@6221 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-31 18:09:01 +00:00
bsalomon@google.com
683c3c76cf Shortcut inverting the identity matrix.
Review URL: https://codereview.appspot.com/6775087/




git-svn-id: http://skia.googlecode.com/svn/trunk@6218 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-31 16:50:38 +00:00
robertphillips@google.com
72ba668db8 Fix for error in r6214 (missing pre-declaration)
Unreviewed



git-svn-id: http://skia.googlecode.com/svn/trunk@6215 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-31 14:58:16 +00:00
robertphillips@google.com
97b6b0730d Fleshed out GPU portion of image/surface feature
https://codereview.appspot.com/6813055/



git-svn-id: http://skia.googlecode.com/svn/trunk@6214 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-31 14:48:39 +00:00
epoger@google.com
41d0d2f905 comment-only: add "this may change" warning to SkChecksum.h
Review URL: https://codereview.appspot.com/6810054

git-svn-id: http://skia.googlecode.com/svn/trunk@6205 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-30 17:33:09 +00:00
epoger@google.com
e8ebeb1f8f Add option to gm: write out images into a hierarchy, rather than a flat set of files
BUG=https://code.google.com/p/skia/issues/detail?id=743
Review URL: https://codereview.appspot.com/6810047

git-svn-id: http://skia.googlecode.com/svn/trunk@6167 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-29 16:42:11 +00:00
bsalomon@google.com
08283afc26 Rename GrSamplerState to GrEffectStage.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6777053

git-svn-id: http://skia.googlecode.com/svn/trunk@6135 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 13:01:20 +00:00
skia.committer@gmail.com
27b40e9f36 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6133 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-26 02:01:24 +00:00
reed@google.com
49a5b1967a add MACRO macros to help with concat. Stolen from gpu headers
git-svn-id: http://skia.googlecode.com/svn/trunk@6117 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 17:31:39 +00:00
robertphillips@google.com
831c726f83 Correctly set width & height in filtered SkPictures
https://codereview.appspot.com/6772047/



git-svn-id: http://skia.googlecode.com/svn/trunk@6103 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 14:45:08 +00:00
bsalomon@google.com
021fc736f8 GrCustomStage Renaming Part 5
Stuff found by searching for "stage".

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6772043

git-svn-id: http://skia.googlecode.com/svn/trunk@6089 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-25 12:47:42 +00:00
bsalomon@google.com
8ea78d83dc GrCustomStage Renaming Part 4
Rename a bunch of things found by searching for "custom".
Review URL: https://codereview.appspot.com/6765048

git-svn-id: http://skia.googlecode.com/svn/trunk@6085 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-24 20:11:30 +00:00
robertphillips@google.com
63f1127a70 Make filter tool actually filter the read in SkPicture
https://codereview.appspot.com/6765046/



git-svn-id: http://skia.googlecode.com/svn/trunk@6080 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-24 19:30:41 +00:00
bsalomon@google.com
a469c28c3c CustomStage Renaming Part 1
Search and replace:
GrCustomStage->GrEffect
GrCustomStageTestFactory->GrEffectTestFactory

renamed the cpp/h files from customStage->effect

reordered gypi, #includes, forward decls to maintain alphabetical sort.

manually fixed up some whitespace and linewraps

deleted a commented out #include

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6758046

git-svn-id: http://skia.googlecode.com/svn/trunk@6076 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-24 18:28:34 +00:00
senorblanco@chromium.org
c2e8cef479 Remove use of varargs in SkImageFilter. This is causing a crash in recent
builds of clang.  (It was also masking the fact that SkMergeImageFilter was
calling the wrong constructor!)

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6029 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-22 15:07:14 +00:00
vandebo@chromium.org
a56fedc47a Add SK_API to SkString for hclam@chromium.org
TBR=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6008 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-18 23:26:44 +00:00
bsalomon@google.com
b2ad101313 Make table color filter use asNewCustomStage.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6713051

git-svn-id: http://skia.googlecode.com/svn/trunk@5976 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-17 15:00:32 +00:00
bsalomon@google.com
67e78c9e47 Use GrCustomStage to implement color matrix.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6716044

git-svn-id: http://skia.googlecode.com/svn/trunk@5975 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-17 13:36:14 +00:00
bsalomon@google.com
dfdb7e5240 Reland r5963 with two fixes:
Missing ref in GrSweepGradient::TestCreate.
Must reset() the sampler in setup_drawstate_aaclip() to avoid hitting a (dubious) assert.



git-svn-id: http://skia.googlecode.com/svn/trunk@5964 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-16 15:19:45 +00:00
bsalomon@google.com
f6eac8af58 Revert r5962 because of failures.
git-svn-id: http://skia.googlecode.com/svn/trunk@5963 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-16 14:31:26 +00:00
bsalomon@google.com
b022177777 Require matrix for custom stage to be set when custom stage is installed.
Review URL: https://codereview.appspot.com/6696044

git-svn-id: http://skia.googlecode.com/svn/trunk@5962 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-16 14:16:11 +00:00
bungeman@google.com
4200dfe9c1 Add SK_API to base classes of classes with SK_API.
https://codereview.appspot.com/6683044/

This change should unblock rolling Skia DEPS past r5914.
TBR=reed


git-svn-id: http://skia.googlecode.com/svn/trunk@5946 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-13 17:13:18 +00:00
senorblanco@chromium.org
8d21f6c7a9 When two or more color matrix image filters are connected together, and the non-leaf matrices do not require clamping, we can concatenate their matrices and apply them together.
Review URL: https://codereview.appspot.com/6489054

git-svn-id: http://skia.googlecode.com/svn/trunk@5931 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-12 19:14:06 +00:00
reed@google.com
3bafe74a29 Add SkShader::asShadeProc to fast-path the caller when the shader is fast
Review URL: https://codereview.appspot.com/6649055

git-svn-id: http://skia.googlecode.com/svn/trunk@5930 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-12 18:56:18 +00:00
bungeman@google.com
cb1bbb375a Fonts with cubic outlines are rendered without ClearType by GDI.
https://codereview.appspot.com/6643060/


git-svn-id: http://skia.googlecode.com/svn/trunk@5929 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-12 18:48:35 +00:00
bsalomon@google.com
3ab43d5c5b Minimize use of SkDraw's matrix in SkGpuDevice.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6604068

git-svn-id: http://skia.googlecode.com/svn/trunk@5906 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-11 19:39:09 +00:00
bsalomon@google.com
5dc26b9736 SkTCopyOnFirstWrite
R=reed@google.com
Review URL: https://codereview.appspot.com/6650047

git-svn-id: http://skia.googlecode.com/svn/trunk@5905 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-11 19:32:32 +00:00
skia.committer@gmail.com
fc84359aa9 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5892 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-11 02:01:14 +00:00
senorblanco@chromium.org
9f25de7900 This patch implements generalized DAG connectivity for SkImageFilter. SkImageFilter maintains a list of inputs, which can be constructed either from a SkImageFilter** or zero or more SkImageFilter* arguments (varargs).
Existing filters which maintained their own filter connectivity were refactored to use the new constructors and flattening/unflattening code.  Modifying the remaining filters which are not yet DAG-friendly is left for future work; they are considered to have zero inputs for now.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5891 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-10 20:36:13 +00:00
bsalomon@google.com
a6926b1f03 Reland r5861 but leave setMatrixClip virtual on SkDevice (IOW this is a partial revert of r5871 which reverted r5861).
Unreviewed
Review URL: https://codereview.appspot.com/6631062

git-svn-id: http://skia.googlecode.com/svn/trunk@5881 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-10 15:25:50 +00:00
robertphillips@google.com
3fffb2ee9f Reverting r5861 (remove gainfocus and setMatixClip) due to Chrome compilation issues
git-svn-id: http://skia.googlecode.com/svn/trunk@5871 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-09 22:30:18 +00:00
bsalomon@google.com
a1c3d78f22 Remove gainFocus() and setMatrixClip() virtuals from SkDevice.
R=reed@google.com,robertphillips@google.com
Review URL: https://codereview.appspot.com/6636050

git-svn-id: http://skia.googlecode.com/svn/trunk@5861 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-09 14:20:37 +00:00
bsalomon@google.com
0e354aacd8 Remove external matrix feature.
We haven't been testing this for nearly two years.

R=reed@google.com
Review URL: https://codereview.appspot.com/6640044

git-svn-id: http://skia.googlecode.com/svn/trunk@5857 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-08 20:44:25 +00:00
scroggo@google.com
5a7c6be72b Add the ability to provide function pointers to SkPicture serialization
and deserialization for encoding and decoding bitmaps.

Remove kForceFlattenBitmapPixels_Flag, which is no longer used.

When an SkOrderedReadBuffer needs to read a bitmap, if it does not
have an image decoder, use a dummy bitmap.

In GM, add a tolerance option for color differences, used when
testing picture serialization, so it can assume two images are the
same even though PNG encoding/decoding may have resulted in small
differences.

Create dummy implementations for SkImageDecoder and SkImageEncoder
functions in SkImageDecoder_empty so that a project that does not
want to include the images project it can still build.

Allow ports to build without images project.

In Mac's image encoder, copy 4444 to 8888 before encoding.

Add SkWriter32::reservePad, to provide a pointer to write non 4 byte
aligned data, padded with zeroes.

In bench_ and render_ pictures, pass decode function to SkPicture
creation from a stream.

BUG=https://code.google.com/p/skia/issues/detail?id=842

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5818 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-04 21:46:08 +00:00
scroggo@google.com
94bc60f986 Lock gFTMutex when modifying FT globals.
This prevents a crash when running bench_pictures with multiple threads.

Also remove an unused function and fix a typo in SkFontHost.
Review URL: https://codereview.appspot.com/6625043

git-svn-id: http://skia.googlecode.com/svn/trunk@5816 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-04 20:45:06 +00:00
bsalomon@google.com
7823d9a07f Disable SK_DEBUG_PATH_REF in debug builds.
R=reed@google.com
Review URL: https://codereview.appspot.com/6602056

git-svn-id: http://skia.googlecode.com/svn/trunk@5810 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-04 17:55:30 +00:00
skia.committer@gmail.com
7cc7f49479 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5798 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-04 02:01:34 +00:00
bsalomon@google.com
ae09f2dc3f Adds extra debugging to SkPathRef that can optionally be turned on in a release build.
This is pretty hacky but hopefully will be quite short-lived.
Review URL: https://codereview.appspot.com/6584074

git-svn-id: http://skia.googlecode.com/svn/trunk@5793 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-03 19:57:01 +00:00
bsalomon@google.com
1dfe88e00a Revert r5557 (which itself was a revert of r5433). Relands SkPathRef. Will follow with change for extra debug checks to attempt to ferret out http://www.crbug.com/148637.
git-svn-id: http://skia.googlecode.com/svn/trunk@5783 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-03 13:46:20 +00:00
reed@google.com
425a8c71e4 add getSeed()
git-svn-id: http://skia.googlecode.com/svn/trunk@5775 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-02 17:51:29 +00:00
reed@google.com
dde646afb5 re-land removal of setBitmapDevice
git-svn-id: http://skia.googlecode.com/svn/trunk@5746 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-01 14:58:57 +00:00
robertphillips@google.com
35e535a10f Rolling back r5732 due to Chrome Mac compiler issues
git-svn-id: http://skia.googlecode.com/svn/trunk@5744 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-30 21:05:15 +00:00
reed@google.com
768d59b97d remove setBitmapDevice -- no longer called, and is a necessary step on our way
to removing setDevice (and hopefully getDevice after that).



git-svn-id: http://skia.googlecode.com/svn/trunk@5732 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-28 20:59:03 +00:00
senorblanco@chromium.org
9c39744a00 Fix recursive GPU processing for SkImageFilter. Plumb through the
SkImageFilter::Proxy parameter to the GPU recursion path.  Extract
DeviceImageFilterProxy from SkCanvas.cpp into its own .h, and rename it.

https://codereview.appspot.com/6575059/



git-svn-id: http://skia.googlecode.com/svn/trunk@5720 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-27 21:57:45 +00:00
bsalomon@google.com
373ebc6345 Suppress some warnings on linux.
R=reed@google.com
Review URL: https://codereview.appspot.com/6572046

git-svn-id: http://skia.googlecode.com/svn/trunk@5687 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-26 13:08:56 +00:00
mike@reedtribe.org
74bb77ee4c add getMetaData() to SkCanvas (as part of our master plan to remove
subclasses of SkCanvas and SkDevice from our clients.



git-svn-id: http://skia.googlecode.com/svn/trunk@5679 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-26 02:24:45 +00:00
reed@google.com
33535f3c48 Reimplement drawBitmapRectToRect to correctly handle fraction srcRect.
The prev impl relied on drawBitmap "deducing" the destination rect by applying
the computed matrix to the bitmap's bounds. This cannot be done if the srcRect
is fractional, and therefore not representable w/ a bitmap.

The new impl computes the same matrix, but calls down to the device via drawRect
+ a bitmap_shader. This allows us to specfiy the dstRect explicitly.

The possible down-side is that we now rely on the device subclass to efficiently
handle draRect+shader, instead of calling its drawBitmap entry-point.

To give the device the chance to handle this differently, I now call through to
a new device virtual: drawBitmapRect. The default impl is to create the shader
and call drawRect, but a subclass can intercept that.

For now, the GPU override of drawBitmapRect is mimicing the old behavior (by
rounding the srcRect to an iRect). This preserves its ability to call drawBitmap
which handles very-large textures, but shows some gittering/imprecision, due to
the rounding. ... this is the same GPU behavior we have before this CL.
Review URL: https://codereview.appspot.com/6542065

git-svn-id: http://skia.googlecode.com/svn/trunk@5663 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-25 15:37:50 +00:00
robertphillips@google.com
0e82c6729f "fix" chrome build
git-svn-id: http://skia.googlecode.com/svn/trunk@5655 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-25 00:39:51 +00:00
caryclark@google.com
594dd3cd78 iOS support work in progress
include/core/SkTypes.h
- address unsigned warning

include/core/SkInstCnt.h
src/core/SkInstCnt.cpp
gyp/common.gypi
- always define SK_ENABLE_INST_COUNT for debug builds

src/views/mac/SkNSView.mm
- only call glClear if there is a GL context

src/ports/SkImageDecoder_CG.cpp
- fix iOS hack by using proper include

gyp/opts.gyp
- exclude more ARM files from iOS for now (see issue 900)

gyp/common_conditions.gypi
- add release, more ios specific common settings

gyp/bench.gyp
- add iOS condition

gyp/SampleApp.gyp
- remove precompiled header, hardcoded SDK path
- add more frameworks

gyp/debugger.gyp
- fix syntax error
- add iOS/Android condition

gyp/core.gyp
- remove hardcoded SDK path, add more frameworks

gyp/common_variables.gypi
- add ios SDK path
- add ios SDK version

gyp/iOSSampleApp.gyp
- remove obsolete project

gyp/zlib.gyp
- add ios library path
Review URL: https://codereview.appspot.com/6551070

git-svn-id: http://skia.googlecode.com/svn/trunk@5649 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-24 19:33:57 +00:00
scroggo@google.com
a0c2bc2438 Make flattenables no longer depend on global static initializers.
Instead, force all builds to call InitializeFlattenables.

Remove the make_debugger script, which was created to force
rebuilding without global static initializers so that all flattenables
would be linked. It is no longer necessary since all flattenables
will be linked thanks to InitializeFlattenables, which now can (and
must) be called when global static initializers are turned on.

BUG=https://code.google.com/p/skia/issues/detail?id=903
BUG=https://code.google.com/p/skia/issues/detail?id=902

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5642 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-21 17:54:46 +00:00
reed@google.com
52657c75b5 remove unused parameter (that also slowed us down) to SkAutoTDelete
git-svn-id: http://skia.googlecode.com/svn/trunk@5611 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 18:04:12 +00:00
caryclark@google.com
867cbd8bc2 first cut at making iOS work
Replace __arm__ with SK_CPU_ARM
add support for iOS simulator and device
fix const warning in iOSSampleApp
update gyp files

https://code.google.com/p/skia/issues/detail?id=900
tracks fixing missing arm assembly
Review URL: https://codereview.appspot.com/6552045

git-svn-id: http://skia.googlecode.com/svn/trunk@5606 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 15:45:41 +00:00
skia.committer@gmail.com
c1ad022608 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5594 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-19 02:01:47 +00:00
reed@google.com
7112173c3c re-re-land 5578
will follow w/ new .skp files to keep the waterfall green (I hope)



git-svn-id: http://skia.googlecode.com/svn/trunk@5584 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 15:14:33 +00:00
reed@google.com
10f9f4a844 revert 5580
git-svn-id: http://skia.googlecode.com/svn/trunk@5581 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 14:04:54 +00:00
reed@google.com
eab16dea1c re-land 5578 w/ pipe fix
git-svn-id: http://skia.googlecode.com/svn/trunk@5580 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 13:47:20 +00:00
reed@google.com
c75c36a14b revert 5578 -- broke pipe
git-svn-id: http://skia.googlecode.com/svn/trunk@5579 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 13:20:52 +00:00
reed@google.com
f1ab723033 Change drawBitmapRect to take a float-src-rect instead of integer-src-rect. This
allows the client more control over the scaling. Because of virtual overrides
and wanting to keep the old call-sites up and running, this CL renames the
virtual entry-point to drawBitmapRectToRect, and downgrades drawBitmapRect to
a non-virtual helper function.

The implementation is to use the float-rect for computing the matrix, but still
cons-up an integer rect for the purposes of subsetting the original bitmap. We
do this by calling float_src->roundOut(&int_src) so that we include all
(partially) covered src pixels.

No change needed on SkDevice, since that signature is explicitly passed the
computed matrix.
Review URL: https://codereview.appspot.com/6501140

git-svn-id: http://skia.googlecode.com/svn/trunk@5578 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 12:59:44 +00:00
borenet@google.com
66bcbd12bf Check for invalid SkPictures
- Remove hasRecorded() since nobody uses it.
- Add "success" boolean to SkPicture stream constructor
- Track failures in render_pictures and bench_pictures
Review URL: https://codereview.appspot.com/6493105

git-svn-id: http://skia.googlecode.com/svn/trunk@5573 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-17 18:26:06 +00:00
bsalomon@google.com
6c5418e6c2 Temporarily revert r5433 due to http://www.crbug.com/148637 until after M23 branch.
git-svn-id: http://skia.googlecode.com/svn/trunk@5557 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-14 20:30:37 +00:00
rileya@google.com
1c6307e36f Fix some nits from http://codereview.appspot.com/6506103/
git-svn-id: http://skia.googlecode.com/svn/trunk@5547 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-14 15:52:47 +00:00
skia.committer@gmail.com
1d225f2b33 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5539 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-14 02:01:10 +00:00
rileya@google.com
8515e79a76 Add R-Tree record flag to SkPicture, plus some cleanup/fixes in associated classes.
Review URL: https://codereview.appspot.com/6506103

git-svn-id: http://skia.googlecode.com/svn/trunk@5537 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-13 21:41:51 +00:00
reed@google.com
1f1543f012 re-apply 5508, but with the new compile-flag disabled for now
git-svn-id: http://skia.googlecode.com/svn/trunk@5516 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-12 21:08:33 +00:00
reed@google.com
bfe1572f24 revert 5508 -- it broke most of the builds
Use http://skia.googlecode.com/svn/buildbot/buildbots.html to see the state of the build.



git-svn-id: http://skia.googlecode.com/svn/trunk@5511 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-12 18:34:49 +00:00
wjmaclean@chromium.org
1f8787a99f Using the device scale factor for glyph positioning
The master bug is http://code.google.com/p/chromium/issues/detail?id=138101 .
The corresponding WebKit changes for this CL are here:
https://bugs.webkit.org/show_bug.cgi?id=96137

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5508 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-12 15:53:20 +00:00
bsalomon@google.com
69aca79b5c SkPathRef: one allocation for pts+verbs, path GenID, copy-on-write
Review URL: https://codereview.appspot.com/6488063/



git-svn-id: http://skia.googlecode.com/svn/trunk@5433 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-07 15:35:06 +00:00
bsalomon@google.com
5e72845024 Add SK_API to path == decl.
Over-the-shoulder review from robertphillips@



git-svn-id: http://skia.googlecode.com/svn/trunk@5426 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-07 13:32:37 +00:00
bungeman@google.com
b24b4fa12b Future proof luminance caches.
https://codereview.appspot.com/6495071/


git-svn-id: http://skia.googlecode.com/svn/trunk@5382 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-04 13:49:59 +00:00
robertphillips@google.com
9474ed0617 Switch GrGpu's GrResource list over to using SkTDLinkedList
https://codereview.appspot.com/6500062/



git-svn-id: http://skia.googlecode.com/svn/trunk@5379 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-04 13:34:32 +00:00
scroggo@google.com
58b4ead36c Perform multi core rendering in bench_pictures.
Add a flag in SkGPipeWriter for threadsafe drawing.

Add a deferred pipe controller to SamplePipeControllers, which can
be called to play back in multiple threads.

Depends on http://codereview.appspot.com/6459105/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5371 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-31 16:15:22 +00:00
scroggo@google.com
057655589f Remove dead code and update a comment.
InlineFactoryNames_Flag is no longer used, so remove it and update
the comment.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5348 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-30 17:34:29 +00:00
skia.committer@gmail.com
a27096b474 Sanitizing source files in Skia_Nightly_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5346 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-30 14:38:00 +00:00
reed@google.com
1cf58d03a8 add SkWriter32::rewindToOffset() -- used for peephole edits in picture recording
git-svn-id: http://skia.googlecode.com/svn/trunk@5345 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-30 14:03:21 +00:00
bsalomon@google.com
405d0f43d8 In which a series of things around attachToCanvas and writePixels are fixed
Review URL: https://codereview.appspot.com/6506051/



git-svn-id: http://skia.googlecode.com/svn/trunk@5341 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-29 21:26:13 +00:00
djsollen@google.com
c9ab987efc Implement multi-threaded picture playback via cloning.
The CL adds SkPicture.clone() which produces a thread-safe copy by
creating a shallow copy of the thread-safe data within the picture and
a deep copy of the data that is not (e.g. SkPaint).  This implementation
re-flattens the paints when cloning instead of retaining the flattened
paints from the recording process.

Changes were also needed to various classes to ensure thread safety

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5335 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-29 18:52:07 +00:00
bungeman@google.com
1bfe01d06b When creating gray from lcd, use luminance instead of coverage.
https://codereview.appspot.com/6496048/


git-svn-id: http://skia.googlecode.com/svn/trunk@5318 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-28 16:02:42 +00:00
digit@google.com
536079b209 Fix Clang build on Android.
The optimize attribute is not supported with Clang/ARM r161757.

This warning, turned into an error, is emitted by -Wattribute (implicitly set).
Review URL: https://codereview.appspot.com/6489045

git-svn-id: http://skia.googlecode.com/svn/trunk@5316 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-28 15:22:37 +00:00