History log of /external/skia/src/core/SkDraw.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5dc6b7d1a8bc591d62366ff83c434ff74f3e10fc 14-Apr-2015 reed <reed@google.com> change hairline procs to take array of points

BUG=skia:

Review URL: https://codereview.chromium.org/1085883002
/external/skia/src/core/SkDraw.cpp
054eef2b5ca84bf5b03e5ddba0c30055f5e474cc 11-Apr-2015 reed <reed@chromium.org> change hairline procs to take SkPoint by value, more efficient on SSE and NEON

precursor for https://codereview.chromium.org/1074313002/

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1084433002
/external/skia/src/core/SkDraw.cpp
36352bf5e38f45a70ee4f4fc132a38048d38206d 26-Mar-2015 mtklein <mtklein@chromium.org> C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}

NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
/external/skia/src/core/SkDraw.cpp
903dcb08b146cbaf81420a734a64692038b467ca 16-Mar-2015 bungeman <bungeman@google.com> Add __STDC_LIMIT_MACROS to SkDraw.cpp.
/external/skia/src/core/SkDraw.cpp
d095f2bf06ca810844233bea9fb06de585643b32 16-Mar-2015 bungeman <bungeman@google.com> Test for glyphs which straddle the edge of device space.

If a glyph ends up with a left edge near the extreme right edge of
device space, the right edge may end up at the extreme left. The
current clip tests do not test for this situation and attempt to
draw the glyphs. This results in the blitters never reaching the
right edge of the glyph and so reading from other memory.

BUG=chromium:467011

Review URL: https://codereview.chromium.org/1012763002
/external/skia/src/core/SkDraw.cpp
11fa2247b747eb75e2f158dc7571d458ed6c0115 13-Mar-2015 reed <reed@chromium.org> some utils for rect and matrix

BUG=skia:

Review URL: https://codereview.chromium.org/1003813003
/external/skia/src/core/SkDraw.cpp
79738cc7bf12d212bef4ff80591d1bf6f383663d 11-Mar-2015 bungeman <bungeman@google.com> Glyph positions maintain 32 bit integer part.

A glyph position when mapped from canvas space to device space may land
outside the bounds of the current 16 bit integer part of device space.
Device space is already limited to 32 bits for the integer part,
but for a short space in drawText and drawPosText it is currently
limited to 16 bits (SkFixed). Raise this limit by moving to 48.16.
This matches the current similar fix for measureText.

BUG=chromium:375322

Review URL: https://codereview.chromium.org/977623002
/external/skia/src/core/SkDraw.cpp
b69d0e0ac45e13f667bc11a937dcb547072bc93d 25-Feb-2015 herb <herb@google.com> BUG=skia:

(mtklein from here on)
No public API changes.
TBR=reed@google.com

Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15

Review URL: https://codereview.chromium.org/939123002
/external/skia/src/core/SkDraw.cpp
e59bbf1cd5dcce66181083821c43a157998bc78b 24-Feb-2015 scroggo <scroggo@google.com> Revert of Make fID and MixedID calculations private (patchset #5 id:80001 of https://codereview.chromium.org/939123002/)

Reason for revert:
This actually *does* change the public API - fID is now private, and it was being used on Android. See https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantis-userdebug/1751533/5242b865d3e9bebc650c9b326dfa9d68c8bd1f59562bf32b85301fb984dc8b26/logs/build.log?Signature=Q0el9M4kTu1KQ8u02KX9TH1Pa22y9BkDK1IW%2B9OeJJNfrDEVzLXAz0XQ%2BHHQM8xVjft06jZJva1V8InZmgjcOk6PdZQbQW6XwwsHLKsbpbAE48iTWH3AlJAAoTtj9cifzgeHW8g80IcVxwHXmINRER%2BLPz3eHGisgfTTFUoWYCc%3D&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Expires=1424786471 :

In file included from frameworks/base/libs/hwui/tests/../font/Font.cpp:26:0:
external/skia/src/core/SkGlyph.h: In member function 'android::uirenderer::CachedGlyphInfo* android::uirenderer::Font::cacheGlyph(const SkPaint*, glyph_t, bool)':
external/skia/src/core/SkGlyph.h:157:17: error: 'uint32_t SkGlyph::fID' is private
uint32_t fID;
^
frameworks/base/libs/hwui/tests/../font/Font.cpp:482:39: error: within this context
newGlyph->mGlyphIndex = skiaGlyph.fID;

We need to update Android in order to hide fID.

Original issue's description:
> BUG=skia:
>
> (mtklein from here on)
> No public API changes.
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15

TBR=mtklein@google.com,herb@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/951353002
/external/skia/src/core/SkDraw.cpp
f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 24-Feb-2015 herb <herb@google.com> BUG=skia:

(mtklein from here on)
No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/939123002
/external/skia/src/core/SkDraw.cpp
f87fe78bc36c94143625fc38cc848d0da86eb60d 17-Feb-2015 reed <reed@chromium.org> use common impl for drawTextOnPath

BUG=skia:

Review URL: https://codereview.chromium.org/925343003
/external/skia/src/core/SkDraw.cpp
05d9044de4f1c6e791df66a425638752daac4c6b 12-Feb-2015 reed <reed@google.com> optional res-scale parameter to getFillPath

BUG=skia:
NOTREECHECKS=True
TBR=

Review URL: https://codereview.chromium.org/911053005
/external/skia/src/core/SkDraw.cpp
dcfb7cf336cafffd8d149c908b615e1deaa3a49b 22-Jan-2015 egdaniel <egdaniel@google.com> Remove the need for asCoeff in SkXfermode.

BUG=skia:

Review URL: https://codereview.chromium.org/864833002
/external/skia/src/core/SkDraw.cpp
1a178ca6dd2ff7f62c684f7d0ee94e54fc31c91b 15-Jan-2015 fmalita <fmalita@chromium.org> Use device-space stroke width for SkDraw::drawRect() quick-reject

The stroke width needs to be CTM-adjusted when applied to device space
rects.

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

Review URL: https://codereview.chromium.org/801353008
/external/skia/src/core/SkDraw.cpp
72c9faab45124e08c85f70ca38536914862d947c 09-Jan-2015 mtklein <mtklein@chromium.org> Fix up all the easy virtual ... SK_OVERRIDE cases.

This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases. We'll have to manually clean up the rest
over time unless I level up in regexes.

for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end

BUG=skia:

Review URL: https://codereview.chromium.org/806653007
/external/skia/src/core/SkDraw.cpp
7e44bb191633e225fd0455c267dbf67f9ee8633e 07-Jan-2015 mtklein <mtklein@chromium.org> Remove macros that make it look like it's a good idea to not be able to flatten.

There are only a handful of SkFlattenables that are not flattenable. That
there are any seems highly illogical. To make this look less like a normal
thing, this removes both macros that marked SkFlattenables as non-flattenable
(in slightly different ways).

The handful of SkFlattenables in our codebase that can't be flattened now
assert violently that they can't be flattened. They're internal or
part of animator... places where we'll never actually flatten them.

TestLooper and DummyRasterizer were so trivial that I just made them flattenable.

BUG=skia:

Review URL: https://codereview.chromium.org/841753002
/external/skia/src/core/SkDraw.cpp
0393912de72bc3d8b3640c122c53470dd0da1e6d 15-Dec-2014 reed <reed@google.com> pass dst-rect through from drawBitmapRect for better precision

BUG=skia:

Review URL: https://codereview.chromium.org/797963002
/external/skia/src/core/SkDraw.cpp
7ef849d45a4de02697697ea213bfae7c215a0c38 24-Nov-2014 mtklein <mtklein@chromium.org> Add Sk prefix to CreateBitmapShader.

It's neither static nor namespaced, so we should probably prefix it.

BUG=skia:

Review URL: https://codereview.chromium.org/754083002
/external/skia/src/core/SkDraw.cpp
b07a94f1cba3976596ae1a7f23d8c2043ba353f3 19-Nov-2014 reed <reed@chromium.org> add roundOut that returns its result

BUG=skia:

Review URL: https://codereview.chromium.org/742663002
/external/skia/src/core/SkDraw.cpp
bc97c9378bf8b89cc17280a2a04a5c3a9405e6ab 13-Nov-2014 bungeman <bungeman@google.com> Remove SK_IGNORE_SUBPIXEL_AXIS_ALIGN_FIX.

This define was added with "Always round text position correctly."
9447103029273a9f8dd7f5997e8af7a1e3ee7488 . The affected clients
have been rebaselined and this is no longer defined anywhere.

Review URL: https://codereview.chromium.org/722333002
/external/skia/src/core/SkDraw.cpp
9f2251c73ed6f417dd1057d487bf523e04488440 04-Nov-2014 robertphillips <robertphillips@google.com> Crop the fast path dashed lines to the cull rect

Without:

maxrss loops min median mean max stddev samples config bench
56M 1 13.3ms 13.6ms 13.6ms 14.2ms 2% Ooooo..... 8888 GM_dashing5_bw
56M 13 390us 417us 416us 459us 5% ooooO..o.o gpu GM_dashing5_bw
56M 1 13.4ms 13.9ms 14.1ms 15ms 3% Oooo..ooOo 8888 GM_dashing5_aa
56M 13 402us 421us 416us 425us 2% Ooo.ooOOOO gpu GM_dashing5_aa

With:

40M 1 1.53ms 1.54ms 1.54ms 1.55ms 0% oo.O...o.. 8888 GM_dashing5_bw
40M 12 407us 412us 415us 445us 3% ...Oo..... gpu GM_dashing5_bw
40M 1 1.7ms 1.7ms 1.7ms 1.72ms 0% o.O....... 8888 GM_dashing5_aa
43M 13 405us 409us 409us 415us 1% ooo.Ooo..o gpu GM_dashing5_aa

The GM images (including the new one) are the same with and without this CL.

BUG=428296

Review URL: https://codereview.chromium.org/699623003
/external/skia/src/core/SkDraw.cpp
5698f91d602dc974ad5c453ff9588ded7353050b 04-Nov-2014 reed <reed@google.com> remove dead SK_DISABLE_DASHING_OPTIMIZATION flag

BUG=skia:

Review URL: https://codereview.chromium.org/698003004
/external/skia/src/core/SkDraw.cpp
b3eb687f8a89eb1eacd1afb4016401eb392f66ab 24-Oct-2014 jvanverth <jvanverth@google.com> Set temporary paths volatile so we don't cache them.

Any path that is generated frame-to-frame should not be rendered by using the
DistanceFieldPathRenderer, because generating the initial distance field,
uploading it and rendering it takes longer than the SoftwarePathRenderer.

BUG=skia:2935

Review URL: https://codereview.chromium.org/677463002
/external/skia/src/core/SkDraw.cpp
05c4a4322e7d4f3417b7df33825bab8603d52051 29-Sep-2014 fmalita <fmalita@chromium.org> Revert of Revert of Fix SkTextBlob offset semantics. (patchset #1 id:1 of https://codereview.chromium.org/609223003/)

Reason for revert:
Re-landing: Chromium-side fix to be landed with the roll (https://codereview.chromium.org/607853003/)

Original issue's description:
> Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/)
>
> Reason for revert:
> Breaking the Chrome builds with the error:
>
> [14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions
> [14:54:14.318022] virtual void drawPosText(const SkDraw& draw,
> [14:54:14.318082] ^
>
> Original issue's description:
> > Fix SkTextBlob offset semantics.
> >
> > Implement proper x/y drawTextBlob() handling by plumbing a
> > drawPosText() offset parameter (to act as an additional glyph pos
> > translation) throughout the device layer.
> >
> > The new offset superceeds the existing constY, with a minor semantic
> > tweak: whereas previous implementations were ignoring constY in 2D
> > positioning mode (scalarsPerGlyph == 2), now the offset is always
> > observed, in all positioning modes. We can do this because existing
> > drawPosText() clients always pass constY == 0 for full positioning mode.
> >
> > R=reed@google.com, jvanverth@google.com, robertphillips@google.com
> >
> > Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2
>
> TBR=jvanverth@google.com,reed@google.com,bsalomon@google.com,fmalita@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/d46b8d2bab7cfba8458432248e1568ac377429e9

R=jvanverth@google.com, reed@google.com, bsalomon@google.com, robertphillips@google.com
TBR=bsalomon@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/607413003
/external/skia/src/core/SkDraw.cpp
d46b8d2bab7cfba8458432248e1568ac377429e9 29-Sep-2014 robertphillips <robertphillips@google.com> Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/)

Reason for revert:
Breaking the Chrome builds with the error:

[14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions
[14:54:14.318022] virtual void drawPosText(const SkDraw& draw,
[14:54:14.318082] ^

Original issue's description:
> Fix SkTextBlob offset semantics.
>
> Implement proper x/y drawTextBlob() handling by plumbing a
> drawPosText() offset parameter (to act as an additional glyph pos
> translation) throughout the device layer.
>
> The new offset superceeds the existing constY, with a minor semantic
> tweak: whereas previous implementations were ignoring constY in 2D
> positioning mode (scalarsPerGlyph == 2), now the offset is always
> observed, in all positioning modes. We can do this because existing
> drawPosText() clients always pass constY == 0 for full positioning mode.
>
> R=reed@google.com, jvanverth@google.com, robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2

R=jvanverth@google.com, reed@google.com, bsalomon@google.com, fmalita@chromium.org
TBR=bsalomon@google.com, fmalita@chromium.org, jvanverth@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/609223003
/external/skia/src/core/SkDraw.cpp
c13bc571d3e61a43b87eb97f0719abd304cafaf2 26-Sep-2014 Florin Malita <fmalita@google.com> Fix SkTextBlob offset semantics.

Implement proper x/y drawTextBlob() handling by plumbing a
drawPosText() offset parameter (to act as an additional glyph pos
translation) throughout the device layer.

The new offset superceeds the existing constY, with a minor semantic
tweak: whereas previous implementations were ignoring constY in 2D
positioning mode (scalarsPerGlyph == 2), now the offset is always
observed, in all positioning modes. We can do this because existing
drawPosText() clients always pass constY == 0 for full positioning mode.

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

Review URL: https://codereview.chromium.org/605533002
/external/skia/src/core/SkDraw.cpp
e010f1c2a0e6fe9cbaa73be01c7d878308b5166c 17-Sep-2014 reed <reed@google.com> hide deviceproperties, prepare the way for surfaceprops

BUG=skia:
NOTRY=True
R=bungeman@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/577023002
/external/skia/src/core/SkDraw.cpp
b3eba478d5bed5fb2b5f0f224738c8c292cebf36 09-Sep-2014 george <george@mozilla.com> Outset the stroke width when computing the bounds for drawing a stroked rect, or 1 if it's a hairline

Adds a testcase for stroke rect bug

R=reed@google.com, reed1
BUG=skia:

Author: george@mozilla.com

Review URL: https://codereview.chromium.org/552743004
/external/skia/src/core/SkDraw.cpp
49f085dddff10473b6ebf832a974288300224e60 05-Sep-2014 bsalomon <bsalomon@google.com> "NULL !=" = NULL

R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
/external/skia/src/core/SkDraw.cpp
9fa60daad4d5f54c0dbe3dbcc7608a8f6d721187 21-Aug-2014 reed <reed@google.com> Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc).

Refactoring pattern:

1. guard the existing constructor(readbuffer) with the legacy build-flag
2. If you are a instancable subclass, implement CreateProc(readbuffer) to create a new instances from the buffer params (or return NULL).

If you're a shader subclass
1. You must read/write the local matrix if your class accepts that in its factory/constructor, else ignore it.

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

Author: reed@google.com

Review URL: https://codereview.chromium.org/395603002
/external/skia/src/core/SkDraw.cpp
53f0959fc024c56dc55fe6bf86380127b59abec9 06-Aug-2014 krajcevski <krajcevski@google.com> Allow custom blitters to be passed to SkDraw::drawPath

R=reed@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/444003004
/external/skia/src/core/SkDraw.cpp
cb9a2c8934f009b6ee1ca73d662ac18b285085d9 13-Jun-2014 kkinnunen <kkinnunen@nvidia.com> Extract "text align proc" functions as reusable classes

Extract "text align proc" as reusable classes. These classes need to be used
when writing GrTextContext subclasses.

Moves "text align proc" code that is duplicated in SkDraw and
SkBitmapTextContext to SkDrawProcs.h and SkTextMapState.h. This functionality is
also used in the new GrStencilAndCoverTextContext.

Creates new functor classes SkTextAlignProc and SkTextAlignProcScalar which
represent the previous "text align procs".

Moves TextMapState from SkDraw to SkTextMapStateProc and make it similar functor.

The transform should be comparable in speed, as the compiler can and does avoid
the call and eliminate some of the branches.

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

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/335573002
/external/skia/src/core/SkDraw.cpp
868074b50b0fc3e460d2aa97c1096827fe0a1935 03-Jun-2014 reed <reed@google.com> remove SkBounder -- unused and unloved

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/312553006
/external/skia/src/core/SkDraw.cpp
a3264e53ee3f3c5d6a2c813df7e44b5b96d207f2 30-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Revert of setConfig -> setInfo (https://codereview.chromium.org/308683005/)"

This reverts commit eecaea4148805834f223681f70b6488ceba12d09.

R=robertphillips@google.com, scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14989 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
559a8833f0eae4af37dc0ffc3ee97e1fb14817b1 30-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix the rendering error of SkDraw::drawVertices in gpu path for solid color.

If both textures and vertex-colors are NULL, drawVertices should stroke hairlines with the paint's color.
This behavior is a useful debugging mode to visualize the mesh.

BUG=skia:2266
R=bsalomon@google.com, reed@google.com

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14985 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
4e82cdb90abb34a2ab60fcdb26e7bfc17e8e4da9 23-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> fix stroking large drawPosText

BUG=skia:
R=bungeman@google.com, yunchao.he@intel.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14865 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
80116dcf1e1baf9817ae42d0aca51f7eabaa2880 06-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> add local-matrix to shader::context

BUG=skia:
R=scroggo@google.com, dominikg@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14592 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
06a32062620daee7a93742f553829a8d4f93f720 05-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> fix TriColorShader to respect the paint's alpha

results can be seen in new gm: vertices_80

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14581 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ce56d965069c1649afe14319cb239e6ad670682a 05-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove SkShader virtual method validContext

patch from issue 267923005

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14573 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6803c219dd3be4a73e7bb5c4bb8a5b1f803624d0 04-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of fix the error that path is inversed for stroke and strokeAndFill styles (https://codereview.chromium.org/183683010/)

R=bsalomon@google.com, reed@google.com, yunchao.he@intel.com
TBR=reed@google.com
NOTRY=True

Reason for revert:
broke unittests

Original issue's description:
> fix the error that path is inversed for stroke and strokeAndFill styles.
>
> However, because hairline stroke + fill = fill (see src/core/SkStrokeRec.cpp), strokeAndFill will be thought as fill style when paint.getStrokeWidth() <= 0, this edge case can be inverse-filled.
>
> BUG=skia:2222
>
> Committed: http://code.google.com/p/skia/source/detail?r=14561

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14562 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
1f99d933e5dab98c5047c7fe19fd4d7180c2cad4 04-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> fix the error that path is inversed for stroke and strokeAndFill styles.

However, because hairline stroke + fill = fill (see src/core/SkStrokeRec.cpp), strokeAndFill will be thought as fill style when paint.getStrokeWidth() <= 0, this edge case can be inverse-filled.

BUG=skia:2222
R=bsalomon@google.com, reed@google.com

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14561 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e901b6de3ef8dea842008a08fc81e92fb1478d61 01-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> create struct to hold all the params passed around for shader::context

BUG=skia:
R=scroggo@google.com, dominikg@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14514 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
9c9005a347e9996f357bd79591bd34f74f8bbc66 28-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move SkShader::fLocalMatrix into SkShader constructor.

As a first step towards removing SkShader::setLocalMatrix, which will make
SkShader thread-safe, remove calls to setLocalMatrix that happen immediately
after the shader is being created. Instead, pass the matrix into the constructor
or factory method.

BUG=skia:1976
R=scroggo@google.com, reed@google.com, skyostil@google.com, mtklein@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14401 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
87fcd950198a16211b3988610beebb5ca5bcf323 23-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/249643002/)

Reason for revert:
Chromium side change landed along side DEPS roll that includes r14323.

Original issue's description:
> Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/)
>
> Reason for revert:
> This is blocking the DEPS roll into Chromium. Failures can be seen here:
>
> http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/174333
>
> Original issue's description:
> > Extract most of the mutable state of SkShader into a separate Context object.
> >
> > SkShader currently stores some state during draw calls via setContext(...).
> > Move that mutable state into a separate SkShader::Context class that is
> > constructed on demand for the duration of the draw.
> >
> > Calls to setContext() are replaced with createContext() which returns a context
> > corresponding to the shader object or NULL if the parameters to createContext
> > are invalid.
> >
> > TEST=out/Debug/dm
> > BUG=skia:1976
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14216
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14323
>
> TBR=scroggo@google.com,skyostil@chromium.org,tomhudson@chromium.org,senorblanco@chromium.org,reed@google.com,bungeman@google.com,dominikg@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14326

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com, dominikg@chromium.org
TBR=bungeman@google.com, dominikg@chromium.org, reed@google.com, scroggo@google.com, senorblanco@chromium.org, skyostil@chromium.org, tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14328 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6e5671d8c9b2d9885e351b631b1dfbb4ed403789 23-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/)

Reason for revert:
This is blocking the DEPS roll into Chromium. Failures can be seen here:

http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/174333

Original issue's description:
> Extract most of the mutable state of SkShader into a separate Context object.
>
> SkShader currently stores some state during draw calls via setContext(...).
> Move that mutable state into a separate SkShader::Context class that is
> constructed on demand for the duration of the draw.
>
> Calls to setContext() are replaced with createContext() which returns a context
> corresponding to the shader object or NULL if the parameters to createContext
> are invalid.
>
> TEST=out/Debug/dm
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14216
>
> Committed: http://code.google.com/p/skia/source/detail?r=14323

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com, dominikg@chromium.org
TBR=bungeman@google.com, dominikg@chromium.org, reed@google.com, scroggo@google.com, senorblanco@chromium.org, skyostil@chromium.org, tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14326 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
bc2f1dc85e458af7bdb87873e60207f9f7299e4a 23-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Extract most of the mutable state of SkShader into a separate Context object.

SkShader currently stores some state during draw calls via setContext(...).
Move that mutable state into a separate SkShader::Context class that is
constructed on demand for the duration of the draw.

Calls to setContext() are replaced with createContext() which returns a context
corresponding to the shader object or NULL if the parameters to createContext
are invalid.

TEST=out/Debug/dm
BUG=skia:1976

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

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14323 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
53783b026a00683c1fb504127c3398dabb61ea73 17-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/)

Reason for revert:
Causing memory leaks in Chromium.

Original issue's description:
> Extract most of the mutable state of SkShader into a separate Context object.
>
> SkShader currently stores some state during draw calls via setContext(...).
> Move that mutable state into a separate SkShader::Context class that is
> constructed on demand for the duration of the draw.
>
> Calls to setContext() are replaced with createContext() which returns a context
> corresponding to the shader object or NULL if the parameters to createContext
> are invalid.
>
> TEST=out/Debug/dm
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14216

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, dominikg@chromium.org
TBR=dominikg@chromium.org, reed@google.com, scroggo@google.com, senorblanco@chromium.org, skyostil@chromium.org, tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976

Author: bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14247 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
001f4ed2fb62ecdc98ce2884d925de11b7516d23 16-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Extract most of the mutable state of SkShader into a separate Context object.

SkShader currently stores some state during draw calls via setContext(...).
Move that mutable state into a separate SkShader::Context class that is
constructed on demand for the duration of the draw.

Calls to setContext() are replaced with createContext() which returns a context
corresponding to the shader object or NULL if the parameters to createContext
are invalid.

TEST=out/Debug/dm
BUG=skia:1976
R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14216 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
28fcae2ec77eb16a79e155f8d788b20457f1c951 11-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/)

Reason for revert:
Want to reland the original CL.

Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144

R=reed@google.com, bensong@google.com
TBR=bensong@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14156 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
96edc2459820f0f60ea9b57959c1e5018ef95e28 11-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)

Reason for revert:
Chrome's side of define changes not easy to figure out quickly. Reverting this for DEPS roll for now.

Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14149 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
d923288e50b5a69afb0bdd5c161191b24cab8345 11-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/)

Reason for revert:
fixes on the chrome side are landing (brettw), keep fingers crossed.

Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14145 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
757ebd20ef284b6428eb9f4b9b69826cc3640a82 11-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)

Reason for revert:
breaking the Chrome deps roll.
http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio

Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14144 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
149e9a107c356b0151433fb23c2b1c8d0634947c 09-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Rename kPMColor_SkColorType to kN32_SkColorType.

The new name better represents what this flag means.

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

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14117 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
92362383a4de7b0d819c88fa8b74242bb2507602 18-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove SkCanvas matrix ops return value.

The internal SkMatrix ops can no longer fail -> we can remove the bool
return value.

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

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13849 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0f10f7bf1fb43ca6346dc220a076773b1f19a367 13-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Allow toString capability to be toggled independent of developer mode.

This change is motivated by the desire to see the text information in the debugger when not in developer mode. It is structured so user's can disable it if the capability is not wanted.

R=bsalomon@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13795 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a5572e5bb2a2bbeeb59de0741c2527869d365a0c 07-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add a class to allocate small objects w/o extra calls to new.

Add SkSmallAllocator, a template for allocating small (as defined by the
instantiation) objects without extra calls to new. Add a helper macro to
make using it simple.

Remove SkTemplatesPriv.h, whose behavior is replaced by SkSmallAllocator.
The old SK_PLACEMENT_NEW had the following drawbacks:
- Easily confused with SkNEW_PLACEMENT.
- Requires passing around lots of void*s along with the storageSize.
- Requires using a separate class for deleting it.
- We had multiple ways Auto objects for deleting in different places.
- It always did a straight heap allocation on Windows, meaning Windows
did not get any advantages from the confusing code.
The new SkSmallAllocator simplifies things:
- It is clear about what it does.
- It takes care of the deletion in one place that is automatically
handled.

Further, the new class can be used to create more than one object. This
is in preparation for BUG=skia:1976, for which we would like to create
a new object without extra heap allocations. The plan is to create both
the blitter and the new object on the stack using the SkSmallAllocator.

Add a new test for SkSmallAllocator.

SkShader.h:
Move the private version of CreateBitmapShader to SkBitmapProcShader
(which already has the implementation) and remove the friend class
(which was only used to call this private function). This allows
SkSmallAllocator to reside in the private src/ directory.

SkBitmapProcShader:
Move CreateBitmapShader and the macro for the storage size here. With
the macro in a (private) header, the (private) headers with function
declarations (which now depend on the storage size used) can see the
macro.
Use SkSmallAllocator in CreateBitmapShader.
Change the macro to kBlitterStorageByteCount, since SkSmallAllocator
takes a byte count as its template parameter.

SkBlitter:
Use the SkSmallAllocator.
Remove Sk3DShader::fKillProc and SkAutoCallProc. Both of their
behaviors have been moved into SkSmallAllocator (SkAutoCallProc was
unnecessary anyway, because the only time we ever used it we also
called detach(), so its auto behavior never happened).
Create the Sk3DShader on the stack, if there's room.
Remove the helper version of Choose, which was unused.

SmallAllocatorTest:
Test for the new class.

The rest:
Use SkSmallAllocator.

BUG=skia:1976
R=reed@google.com, mtklein@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13696 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
900ecf2f1579d42c9d2959831787af0346320f86 20-Feb-2014 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use colortype instead of config

patch from issue 172063004

BUG=skia:
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13520 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8b0e8ac5f582de80356019406e2975079bf0829d 30-Jan-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Refactor read and write buffers.

Eliminates SkFlattenable{Read,Write}Buffer, promoting SkOrdered{Read,Write}Buffer
a step each in the hierarchy.

What used to be this:

SkFlattenableWriteBuffer -> SkOrderedWriteBuffer
SkFlattenableReadBuffer -> SkOrderedReadBuffer
SkFlattenableReadBuffer -> SkValidatingReadBuffer

is now

SkWriteBuffer
SkReadBuffer -> SkValidatingReadBuffer

Benefits:
- code is simpler, names are less wordy
- the generic SkFlattenableFooBuffer code in SkPaint was incorrect; removed
- write buffers are completely devirtualized, important for record speed

This refactoring was mostly mechanical. You aren't going to find anything
interesting in files with less than 10 lines changed.

BUG=skia:
R=reed@google.com, scroggo@google.com, djsollen@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13245 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a8c7f7702fb4bbedb615031bc653c5cd161a038e 24-Jan-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> fix (some) 64bit warnings -- size_t -> int

BUG=skia:
R=mtklein@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13178 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
9fb00413ec55deb3a4953d4dff2dba3ec5cdb645 06-Jan-2014 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> SK_SUPPORTED_DEPRECATED_FIXEDROUND around deprecated fixed[round,ceil,floor]

git-svn-id: http://skia.googlecode.com/svn/trunk@12903 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
51c2a83bdac0745fc3b60795401d5db29c10ce11 30-Dec-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix drawVertices when we have both colors and textures

fix: don't re-call setContext on the composshader (i.e. on the tricolor shader) for each triangle,
since the trishader handles that explicitly. Just call setContext on the original shader.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12847 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8128d8c119382279918b90ad8d80ccb3aaebb8a0 19-Dec-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move distance field font code into GrDistanceFieldTextContext.

This avoids the SkDraw path and renders the distance field glyphs directly from
GrDistanceFieldTextContext. It also disables LCD, subpixel and autohinting, and
removes the supporting code when rendering DF fonts.

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

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12770 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e1ca705cac4b946993f6cbf798e2a0ba27e739f3 17-Dec-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients

BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12719 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
cfd90d6073baef9841dcb6e7b25d244f06ceeeaa 13-Dec-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Use SkScalar when aligning glyphs in user space.

Drawing text from paths is done in user space and not in device space.
All operations in user space should be performed with SkScalars.

BUG=327031
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12682 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e0a868c84ebc34c5a16b5faa1546016abb9ca0ac 22-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Apply hairline optimization only if the path renderer wants it

Make the decision to convert thin, non-hairline paths to hairline
paths at the renderer level.

The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.

Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by a renderer that
wants the optimization. Previously the optimization was applied only
when callgraph started with SkCanvas::drawPath.

Applies the optimization for GrAAHairLineRenderer and
GrDefaultPathRenderer.

This changes gm results for dashing3_{msaa4,gpu} and drawlooper_msaa4.

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

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12357 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
75a22954453f4c0e3c0cb2ec0a46f32a473622f9 21-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Minor fixes for distance field fonts:
- Remove additional transform in drawpostext()
- Use bitmap fonts if rasterizer set in paint
- Correctly set scale ratio for drawtext()

R=bsalomon@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12338 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e61a86cfa00ea393ecc4a71fca94e1d476a37ecc 18-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
5308c83a366f965c308862bed1b6acf594af3df9 13-Nov-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> drawPosTextOnPath is now deprecated, removing all overrides and impls

BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12270 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
11a253b686d2f6e9def2de8a4507591fcadfe987 12-Nov-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@12232 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
d830d13c27437b4677a4a1abfa866d98dc2d2ab9 11-Nov-2013 jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Hook in rough distance field support for fonts

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12229 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a8e33a92e27ca1523601226cad83c79a7e00c93b 08-Nov-2013 scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add ability to ninepatch blurred rounded rectangle

Speed up drawing large blurry round rectangles by converting them to
nine patches.

SkDraw:
Add drawRRect.

SkBitmapDevice:
Call SkDraw::drawRRect instead of converting SkRRect to an SkPath.

SkMaskFilter/SkBlurMaskFilter:
Create a nine patch of a blurred round rect and draw it instead of
drawing the entire thing.

SkPDFDevice:
Override drawRRect to perform the old behavior in
SkBitmapDevice::drawRect.

Depends on https://codereview.chromium.org/52703003

Tests are in https://codereview.chromium.org/52793005

BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12198 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
1b20a10f0205da2d53e0837e4ddc6b2bd3b8a462 08-Nov-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Do not apply hairline optimization for paths if nv_path_rendering is used"

This reverts commit r12185.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12187 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
44fb865e81a57e0c72de3109d0ed5ea428aa1f44 08-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Do not apply hairline optimization for paths if nv_path_rendering is used

Do not convert thin, non-hairline paths to hairline paths if
nv_path_rendering is used.

The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.

Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by the
path-drawing code (GrContext::drawPathInternal). Previously the
optimization was applied only when callgraph started with
SkCanvas::drawPath. This changes drawlooper_msaa4, dashing3_msaa4 and
dashing3_gpu

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12185 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
126f7f5244502c0cbf1e5fec1d2ad7a0f2eb6c34 07-Nov-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.""

This reverts commit 3c77887b3eb2d32ab668ab4e5f2f9e79103956e8.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12167 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
84e922bfb3e7a03f6e35beb2f1e4f2657e7cd3e9 04-Nov-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values."

This reverts commit d615e839b71f75df895de6850b774a9e1c28ad2a.

Revert "must initialize SkDraw.fClip"

This reverts commit 108e46d29b5f57927fc8b8c403bb52019d8cb16d.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12122 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ac9d306a92e569e85a7611e9db00943b5b551f1e 04-Nov-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12118 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
4469938e92d779dff05e745559e67907bbf21e78 31-Oct-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
6fcbfcead5dc1b61fa5b4c139a1a3714e8c58091 31-Oct-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
081560e3abe25c4821b79ca1465f4dbd371c4b5c 31-Oct-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
6b00a1ec2ad525cae559d6b6e2157786686b2953 29-Aug-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@10992 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
1c028bd395dc52ca12b99f85f0c297d15a288c2d 28-Aug-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix state machine so we know simple only loops once, but we can call maprect in debug mode

Revert "Revert of r10943."

This reverts commit 9e83074cce521d3cc3b8b3a9b819a612a07d800a.

BUG=
R=tomhudson@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10981 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e09d6f48190ee8c015fc22e9531293861bd99184 27-Aug-2013 rmistry@google.com <rmistry@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of r10943.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10944 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
42cb6c0247894b631976fd361d46be9260b27c3b 27-Aug-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add SkDeviceLooper to handle larger-than-fixedpoint

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10943 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
2853429d39b16c1bd09d1e88147a608908f284df 24-Jul-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove dead defines from SkUserConfig.h

BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10296 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
81e3412ebf2ca936a1c7d11f0b9e23cf518b8895 26-Jun-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "avoid AntiFrameRect when strokeSize is too small. Workaround for skbug/1368"

This reverts commit b70c77bb33495b5956550b39d479cf9b911d6114.

git-svn-id: http://skia.googlecode.com/svn/trunk@9762 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
056ae7cec3f2643796d275861f90c858e3a26c1e 26-Jun-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> avoid AntiFrameRect when strokeSize is too small. Workaround for skbug/1368

BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9761 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6ba4572eed5a4ecfdd22d118fa55b5c06902b574 21-Jun-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove dst/rendertarget support for kARGB_4444_Config

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9727 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5a64902ee92847f53dfc5b211da19d074179be64 05-Jun-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> call through to the device from SkDraw

BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9449 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8f6ef4010f6835c5ce9ede180e50a6a58512a81e 05-Jun-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@9440 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ed43dffbf140cebc0575bed7b4dff1b32430ad21 04-Jun-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add size limit for using glyphcache. above that, draw using paths

BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9429 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5bdfb331ac650cf464baa96a49e2473ee10a515c 02-May-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Detect color masks, and divert to draw-sprite instead of maskblitters.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8967 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
fc2f0d0e6e6f72503ff9504296556dc637059c15 29-Mar-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use SkTCast



git-svn-id: http://skia.googlecode.com/svn/trunk@8443 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e5f48243bdbed2662be7a31be0888abc273b09e8 25-Feb-2013 scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
9447103029273a9f8dd7f5997e8af7a1e3ee7488 25-Feb-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Always round text position correctly.
https://codereview.appspot.com/7383049/

Will require rebaseline of fontscaler GM.

Must add SK_IGNORE_SUBPIXEL_AXIS_ALIGN_FIX to Chromium
until ~150 layout tests can be rebaselined.



git-svn-id: http://skia.googlecode.com/svn/trunk@7842 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
13b77e83076d3735a86926f6f48741e1360c525c 22-Feb-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove obsolete build flags:

SK_IGNORE_TRANS_CLAMP_FIX
SK_IGNORE_1XN_BITMAP_OPT
SK_IGNORE_CLIP_BUG_FIX
SK_IGNORE_FAST_SCALEMATRIX_INVERT
SK_IGNORE_QUAD_STROKE_FIX
SK_IGNORE_MULTIPLY_XFERMODE_OPT
SK_IGNORE_LARGE_DASH_OPT
Review URL: https://codereview.appspot.com/7381050

git-svn-id: http://skia.googlecode.com/svn/trunk@7829 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
19376b80476b0fdbdcc8ac33bfdbae9b0d3fdce7 05-Feb-2013 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix unbalanced Shader set/endContext calls in drawVertices

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7588 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8d3cd7a170c810e3816bf00220cbef51e7b16795 30-Jan-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
e16efc1882ab34a0bb3ae361a2d37f840044cf87 26-Jan-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
4024f32d99b63a599c544a49f526e53c25135159 25-Jan-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@7385 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
4bbdeac58cc928dc66296bde3bd06e78070d96b7 24-Jan-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
f38f93c118b71e414c33fe2619ed1d7b1267a7a1 22-Jan-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix Android only code in SkDraw for 7317.


git-svn-id: http://skia.googlecode.com/svn/trunk@7322 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
532470f34dbe9fc0b8b71e3917eca8894feaf336 22-Jan-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
76f9e938df0b5826fd4c80b854ceafaf385cfbe1 15-Jan-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
7f5350346aa69447d59ef976011746fd3fe6904e 14-Jan-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove SK_DRAW_POS_TEXT_IGNORE_SUBPIXEL_LEFT_ALIGN_FIX.
https://codereview.appspot.com/7070073/


git-svn-id: http://skia.googlecode.com/svn/trunk@7159 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
070dcd8ad37a4c5b8a9015938409b27bb3ce3ab9 07-Jan-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> abandon SK_IGNORE_TREAT_AS_SPRITE as a flag, and use SK_IGNORE_TRANS_CLAMP_FIX
for the fixes in SkDraw.cpp and SkBitmapProcState.cpp

Also, change the call in SkDraw.cpp to pass 0 for subpixel bits, to match the
old logic.... we should have a runtime fix for this in the future, so a caller
*can* get subpixel-filtered images w/ just translate.



git-svn-id: http://skia.googlecode.com/svn/trunk@7065 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ae57358447bac678e3fc458fa2857a349a6a7081 03-Jan-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use SkTreatAsSprite in SkDraw (with guard for chrome if needed)



git-svn-id: http://skia.googlecode.com/svn/trunk@6994 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
30711b764be6bbb58caa30a0ac5d1474c894efe7 18-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
7a03d86a3d9adcb13432fbd82039725149487c97 18-Dec-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6872 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6d87557278052c131957e5d6e093d3a675162d22 17-Dec-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 3on/3off dashing optimization

https://codereview.appspot.com/6891046/



git-svn-id: http://skia.googlecode.com/svn/trunk@6851 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
f7ef56d9104fc651769760df9d5f861ef36de658 14-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> call lock-pixels once we know we're a sprite
Review URL: https://codereview.appspot.com/6938058

git-svn-id: http://skia.googlecode.com/svn/trunk@6819 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ea033606a06d05d2d42aa7118409fee798e53167 14-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
a641f3f18e5319773989812a888f3fad49e4f2ad 13-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
135e16cd8ebb2ba30458b284d4a17e1eea81ad35 13-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> revert 6798 (assert in GM)



git-svn-id: http://skia.googlecode.com/svn/trunk@6802 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
1adcf8859cc9414591038e440e3f22382c8e4aa0 13-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
0264fb4543b0d8cebe00f1ee32433784f4ceb074 06-Dec-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6687 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
935ad026826fb7d31d562ff7326b84ec3a827456 05-Dec-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add drawPoints dash bench

https://codereview.appspot.com/6866053/



git-svn-id: http://skia.googlecode.com/svn/trunk@6678 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
c3d7d90973528527131c72549b10c2a21300e0ac 30-Nov-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6632 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
2d47a21b27035798d53de4d5cb8ac7c03534ab27 29-Nov-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use fast-pt case when radius <= 1/2, instead of just hairlines
Review URL: https://codereview.appspot.com/6854116

git-svn-id: http://skia.googlecode.com/svn/trunk@6616 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
629ab540667422d3edcb97c51e9628b7051e1ba4 28-Nov-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added dashing fast path

https://codereview.appspot.com/6844067/



git-svn-id: http://skia.googlecode.com/svn/trunk@6585 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5f0add3ad6e1d6129307276c81ba6624f92ca112 26-Nov-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove legacy build-guards, now that webkit has rebaselined these.

SK_DISABLE_FAST_AA_STROKE_RECT
SK_IGNORE_FAST_BLURRECT
SK_DISABLE_EXTRACTSUBSET_OPAQUE_FIX
SK_IGNORE_CF_OPTIMIZATION
SK_IGNORE_NEW_STROKERECT
SK_DISABLE_GPU_BLUR
SK_IGNORE_ROTATED_FREETYPE_FIX

The changes should all be:

remove code for #ifdef
remove guard for #ifndef
Review URL: https://codereview.appspot.com/6858073

git-svn-id: http://skia.googlecode.com/svn/trunk@6546 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
f94b3a4cebd4adab09c40ebe23c02a615e10c394 31-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
5dc26b97366934ba0f896cea02a3fec027d5d5c1 11-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
fc84359aa920567e72742877a1249f52d076ad35 11-Oct-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@5892 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
36d6edac9f3e63d9a5f499d0076550d08b80eaca 10-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Draw hairline text as path.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5884 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0e354aacd84d3bede3f97cbde35a54ba62a89533 08-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
fbfcd5602128ec010c82cb733c9cdc0a3254f9f3 23-Aug-2012 rmistry@google.com <rmistry@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
7b4531f64cbd85d32a77ceab1bdec8335c5a7864 07-Aug-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> change SkTextToPathIter to allow continuation even when there is no path for
the current glyph. Fixes bug in getTextPath() if there are spaces in the text.

Update gm to add space-characters, so images will have to be rebaselined.



git-svn-id: http://skia.googlecode.com/svn/trunk@4979 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e69137620ab0b5b40d230318c8e11b822f63cb9d 07-Aug-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> move SkTextToPathIter into private header



git-svn-id: http://skia.googlecode.com/svn/trunk@4977 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
7324415759fe0c5a0902877b664aa942a89bd940 11-May-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use mapPoints instead of mapXY for the 2 corners of a rect (faster)



git-svn-id: http://skia.googlecode.com/svn/trunk@3906 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
aeb07864052fde0acba0ae1a42a01db3407f1f6e 18-Apr-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> inline common case when we are left-aligned in drawPosText
Review URL: https://codereview.appspot.com/6051051

git-svn-id: http://skia.googlecode.com/svn/trunk@3727 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8f17b0d5e14fa336f65e33ecf30f15929aa75790 12-Apr-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> detect when pathmeasure fails, and don't access uninitialized tangent



git-svn-id: http://skia.googlecode.com/svn/trunk@3655 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
2ac4ef5e6e0c9c95c9200408ba25a95ca758eac2 04-Apr-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing the drawing of blurred shodows for hairline paths with software rendering

BUG=http://code.google.com/p/chromium/issues/detail?id=121251
REVIEW=http://codereview.appspot.com/5981053/



git-svn-id: http://skia.googlecode.com/svn/trunk@3592 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ba28d03e94dc221d6a803bf2a84a420b9159255c 26-Mar-2012 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Create macro for registering classes for deserialization
Review URL: https://codereview.appspot.com/5909063

git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6db75fc2c393ba86a3f533597a8bcd348477e79c 23-Mar-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Initialize margin, which was being used uninitialized in compute_bounds()
on some code paths we apparently aren't exercising.
Caught by Matt Woodrow & gwright@kde.org

http://codereview.appspot.com/5519056/
http://code.google.com/p/skia/issues/detail?id=435



git-svn-id: http://skia.googlecode.com/svn/trunk@3474 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
166e653f67f3fffc3846184a25ce45ab083f07a2 20-Mar-2012 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix scaling issue when drawing text on a path.

If the paint is stroked and the font size is small
we were incorrectly rendering the sample text.
Review URL: https://codereview.appspot.com/5844060

git-svn-id: http://skia.googlecode.com/svn/trunk@3437 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
dd1be60702b3622f49d97651e31d13eaf2175cf8 18-Jan-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Pull xfer mode test out of generic draw-as-hairline test. Use coverage rather than alpha to draw hairlines < 1pix wide in GPU.

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




git-svn-id: http://skia.googlecode.com/svn/trunk@3070 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
2211b623274e24d0025763cfa855c9eb53d5b900 13-Jan-2012 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Subpixel text 3/8 of a pixel too far to the right.
http://codereview.appspot.com/5502097/


git-svn-id: http://skia.googlecode.com/svn/trunk@3037 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
9330cfe851b14b8985acc14caa3dc5ad20b0b2a8 04-Jan-2012 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> drawPosText with center or right align skips every other character.
http://codereview.appspot.com/5504118/


git-svn-id: http://skia.googlecode.com/svn/trunk@2959 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0c00f21fee3f5cfa3aa7e5d46ff94cb8cf340451 28-Dec-2011 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add SkDEBUGFAIL to clean up use of SkASSERT(!"text");
catch a couple of latent SkASSERT("text") bugs.

http://codereview.appspot.com/5504090/



git-svn-id: http://skia.googlecode.com/svn/trunk@2926 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
be2aa2aa1f8bf73d974bdd9438fc741bbf0cfbe6 17-Nov-2011 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> use AsMode instead of deprecated IsMode



git-svn-id: http://skia.googlecode.com/svn/trunk@2705 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
56c69773aea56c6c6bd47bc7e7970dd081205184 08-Nov-2011 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Update files to use SK_BUILD_FOR_ANDROID.

This CL also removes any unecessary references to
the ANDROID definition.
Review URL: http://codereview.appspot.com/5354049

git-svn-id: http://skia.googlecode.com/svn/trunk@2629 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
83a444602ec580a0040713eed588c245b4ae0ee9 27-Oct-2011 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove warnings (trailing \, signed vs unsigned, parenthesization).
Convert some tabs into spaces.



git-svn-id: http://skia.googlecode.com/svn/trunk@2541 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
045e62d715f5ee9b03deb5af3c750f8318096179 24-Oct-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> enable soft clipping (yikes)



git-svn-id: http://skia.googlecode.com/svn/trunk@2515 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
02f55841854ae32f21a13417e9ee711463e488cf 04-Oct-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Change SkAutoMaskImage so that we're less likely to write leaky code.
http://codereview.appspot.com/5180047/


git-svn-id: http://skia.googlecode.com/svn/trunk@2409 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
dcd0f3a980095b77ebe605b49777a4bd37ca7b0a 04-Oct-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> quick-rejects based on xfermode, using SkPaint::nothingToDraw()



git-svn-id: http://skia.googlecode.com/svn/trunk@2402 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
bf2ac7e52f84095368dc50600fd6e78cc96044e3 26-Sep-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix 2333. Be sure fImage is assigned before giving to SkAutoMaskImage.


git-svn-id: http://skia.googlecode.com/svn/trunk@2334 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0a60b3d32eae945688b69599f11679662657f751 26-Sep-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix leak of mask in draw.
http://codereview.appspot.com/5132046/


git-svn-id: http://skia.googlecode.com/svn/trunk@2333 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6a87fafc5ce0d7fdf1decf8bb9dd6942f2433add 19-Sep-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> revert match for newAlpha to exactly match old math, so we don't drive
dumprendertree crazy



git-svn-id: http://skia.googlecode.com/svn/trunk@2287 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ecadf99c8450646dfd9c2754f3e845245beab8b6 19-Sep-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use new SkDrawTreatAsHairline method to decide when to approximate a thin-line
with a hairline (and have its alpha modulated).

idea is to be able to share this new function with SkGpuDevice



git-svn-id: http://skia.googlecode.com/svn/trunk@2283 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5af16f8d670b3ce1c7644a4737e02e2e2257614e 02-Sep-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reduce size of filter mask.
http://codereview.appspot.com/4965057/

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


git-svn-id: http://skia.googlecode.com/svn/trunk@2211 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
cb6ccdde5120ec45df208c0b958b263d8252a505 23-Aug-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> respect subpixel positioning



git-svn-id: http://skia.googlecode.com/svn/trunk@2165 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
52c748b1691f02f90b27c35bc05074fcef709e66 22-Aug-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Gpu can draw underlined text.
http://codereview.appspot.com/4919047/


git-svn-id: http://skia.googlecode.com/svn/trunk@2154 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ddc75dc216c36acce70aceb293b9b0a0257c2f21 22-Aug-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Allow the y-baseline to float except when text is horizontal, as we were already
doing for the gpu case. Note: drawPosText was already behaving this way, this
change just brings drawText into line with drawPosText.



git-svn-id: http://skia.googlecode.com/svn/trunk@2152 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
b81be7a7809fb0c24ff7d589d537c38b04b772f1 28-Jul-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Include <new> required for placement new in SkTLazy.

Also, add SkTLazy to gyp and remove old includes.


git-svn-id: http://skia.googlecode.com/svn/trunk@1984 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976e 28-Jul-2011 epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Automatic update of all copyright notices to reflect new license terms.

I have manually examined all of these diffs and restored a few files that
seem to require manual adjustment.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
026dceead9b957e0b080d55c5a7fbb919e6f00b6 27-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> include <new> for SkTLazy, since windows seems to need it.



git-svn-id: http://skia.googlecode.com/svn/trunk@1976 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
32e5d97ccf60f859db063ebd6e903c362e625767 27-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> don't modify a const paint



git-svn-id: http://skia.googlecode.com/svn/trunk@1974 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
fd4236ecc1d5eb1bb48ca9dc33df5e9051c3036e 25-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> don't modify const SkDraw, since multiple threads may be watching it...



git-svn-id: http://skia.googlecode.com/svn/trunk@1954 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
40c2ba27b6e5c6a4b6c073264f8c0a7c86355abe 25-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> don/t modify const paint, since it could be used in different threads



git-svn-id: http://skia.googlecode.com/svn/trunk@1953 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
1d6ee0bd4db7f3b676209341214641d9af5a965f 05-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> defer allocating blitter until we know we need it (i.e. gpu-devices don't need,
which they signal by setting a custom D1G proc)



git-svn-id: http://skia.googlecode.com/svn/trunk@1791 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8d430185e08d2067584837a76b7193b803fee7a0 06-Jun-2011 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Increase use of SkMatrix::hasPerspective(), merge in has_perspective().
Unifies SkMatrix::hasPerspective(), has_perspective(), and manual tests of SkMatrix::getType & kPerspective_Mask.



git-svn-id: http://skia.googlecode.com/svn/trunk@1517 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
39ce0ac09a375aab18659b1a4ed0c503b0b81a4c 08-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> unbias fy in the gpu glyphproc, since skia has pre-added 1/2 to the value
(assuming we would call floor to get a rounded value.)

apply finalFYMask not to the initial fy, but to the fyMask (so it is always
applied in the loop) in drawText.



git-svn-id: http://skia.googlecode.com/svn/trunk@1084 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
62ab7addb06bbc5b93460eaf2f70a9f8399308d3 05-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> export SkDraw::ComputeRectType() and share that with SkGpuDevice



git-svn-id: http://skia.googlecode.com/svn/trunk@1055 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6115338c59799b4ef09cda187f23867dea093f6e 05-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> handle scale < 0 for stroke-rects



git-svn-id: http://skia.googlecode.com/svn/trunk@1052 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
761fb62b0eb174783316d2a8b933fba896ca6355 04-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> reenable fast stroked rects, now that we correctly handle non-square scale
also, degenerate non-antialias rectangles now draw properly



git-svn-id: http://skia.googlecode.com/svn/trunk@1049 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
338029608024c1c735e4d351aec7ed3319c5f0b4 04-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> temporarily disable fast stroking, until we handle non-square scales in matrix



git-svn-id: http://skia.googlecode.com/svn/trunk@1047 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5bff8d2030ec976cd5081b759a495cc28e79deb6 04-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add #ifdef SK_DISABLE_FAST_AA_STROKE_RECT to disable new 8x faster antialiased
stroked rects, since it draws slightly different (more correct) pixels, for
clients that want pixel compatibility.



git-svn-id: http://skia.googlecode.com/svn/trunk@1043 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
7ff678bc1618dc669648198a7bdca8adfb189505 04-Apr-2011 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> faster stroke rects



git-svn-id: http://skia.googlecode.com/svn/trunk@1042 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0a0a236c3ba241046d38caaf78226ec68ff9c998 23-Mar-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Initialize fClip in SkBounder, in case doIRect() is called before it is used
inside a canvas (which calls setClip).

Export a global empty region. Used by SkBounder's constructor.



git-svn-id: http://skia.googlecode.com/svn/trunk@985 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
cd9d69b9ce7eb301a9fd8d91b9f95fd99b07bae5 14-Mar-2011 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Upstreaming changes from android.

- fix compile warnings in the GPU code
- upstream android specific code (ifdef protected)
- fail gracefully when a custom allocator fails



git-svn-id: http://skia.googlecode.com/svn/trunk@936 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
82065d667f64e232bcde2ad849756a6096fcbe6f 07-Feb-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with
SkSafeRef() and SkSafeUnref().

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

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

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

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

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




git-svn-id: http://skia.googlecode.com/svn/trunk@762 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a76de3d1a92134c3e95ad7fce99234f92fa48268 13-Jan-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> If you #define SK_ALLOW_OVER_32K_BITMAPS, then skia will try to draw bitmaps
whose dimensions exceed 32K. In my testing, this is fine, but I'm coding this
as an opt-in feature for now, to allow for more testing before its enabled
by default.



git-svn-id: http://skia.googlecode.com/svn/trunk@693 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
f2b98d67dcb6fcb3120feede9c72016fc7b3ead8 20-Dec-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> merge with changes for GPU backend



git-svn-id: http://skia.googlecode.com/svn/trunk@637 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
28be72b63e457c680c192a34fb9f58e1c693363f 11-Nov-2010 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> PDF: Add text support with a font framework (font embedding to come).

Supports fakeBold, underline, strikethrough, mode (fill, stroke, both), size, skew, alignment (left, center, right).
Missing is drawFontOnPath and font lookup and embedding.
Changed SkPDFString to support how it is used from drawText methods.
Moved compile assert into SkTypes.
Moved constants and utility function used to support fakeBold, underline, and strikethrough into higher level locations.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@624 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
99a45d3b5a2f492b3ee3d5d8c8baa52745c4b2fa 26-Oct-2010 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix SkDraw::validate to work with vector Devices.

Vector devices don't have a (valid) fBitmap, so pass in width and height.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@616 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
652807bbc8c57e5fa9622126b51fd369f5c67935 27-Apr-2010 agl@chromium.org <agl@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Revert "Use hairline when line width <= 1.0, instead of < 1.0.""

This reverts commit r560. Chromium has landed at r560, so I'm applying the
revert-revert. (See the comments in r560 for details.)

git-svn-id: http://skia.googlecode.com/svn/trunk@561 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6fd950ca5c40ff4c537ec850086ce76fc51bf316 26-Apr-2010 agl@chromium.org <agl@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Use hairline when line width <= 1.0, instead of < 1.0."

This reverts commit r538 for the moment. In order to roll Chrome to include
some bug fixes, I want to land it in between this revert, and the revert
revert. That way the baseline changes from the other revisions can be
considered without conflating the huge number of changes due to r538.

git-svn-id: http://skia.googlecode.com/svn/trunk@560 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a956e4fe2e7a6701f778c632ff11e8a0ed01168f 12-Apr-2010 anatoly@google.com <anatoly@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Use hairline when line width <= 1.0, instead of < 1.0.
This speeds line drawing up considerably when drawing with
default linewidth on canvas.

Review: http://codereview.appspot.com/883047/show



git-svn-id: http://skia.googlecode.com/svn/trunk@538 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
b641c9f20beb36dbf4e8df53a199c84cef3be9b2 25-Mar-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> if we're strokeandfill+hairline, just draw fill (they way paths do) instead
of just hairline stroking (bad)



git-svn-id: http://skia.googlecode.com/svn/trunk@533 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
d055c1fde2128514167b315f4d104b177e04a3de 01-Mar-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> convert matrix <--> matrix44
add glyphrec to bounder



git-svn-id: http://skia.googlecode.com/svn/trunk@516 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
218521e15706c4377b1be49d931c4d7c8d597445 09-Feb-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> check bounder before lockPixels on the bitmap



git-svn-id: http://skia.googlecode.com/svn/trunk@493 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
474a12c4976b3000174cad5df74c498cd723c5e2 04-Jan-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added a virtual to SkBounder, called by text, that passes
the glyph's ID as well as its bounds. Made the universal
doIRect() non-abstract so that a child class can override
either the general flavor or the text flavor.



git-svn-id: http://skia.googlecode.com/svn/trunk@468 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
55e76b209c9249308a9ba3d75c2472dd55e9d298 23-Nov-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> outset the bounds if we're in hairline before quick-reject in SkDraw.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@445 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ebdeeb8a018f2df01e190fd961d68a94f0e0fcb9 03-Sep-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> don't magically convert to hairline unless we're < 1.0 in both X and Y. The new routine both checks,
and if legal, returns the new width which will be used to compute a modulated alpha.



git-svn-id: http://skia.googlecode.com/svn/trunk@352 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
b4f404ac4195e5b1f49e49c591bd69f98b246f9b 10-Jul-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> handle cap==round for drawPoints



git-svn-id: http://skia.googlecode.com/svn/trunk@266 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
187d5595901d1120d9425851e5afdd773f574502 08-Jul-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add dox for scalarcomparetype
use internal mutable version of drawPath when we've cons'd up a path on behalf
of a rect



git-svn-id: http://skia.googlecode.com/svn/trunk@258 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
4516f4786f5dda1b86a8f825b9e8e910d9c2363c 29-Jun-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use sk_bzero instead of bzero, since it isn't always available.



git-svn-id: http://skia.googlecode.com/svn/trunk@244 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0baf19375466cfc24c96532df406e7c5b1d1aae8 24-Jun-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> detect nearly translate-only matrices when drawing bitmaps (for speed)
rename setXfermode(Mode) to setXfermodeMode(Mode) for sanity
fix memory leak in setXfermode(Mode)



git-svn-id: http://skia.googlecode.com/svn/trunk@239 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
845fdaca174f4675e9acc164b510e3a5ffa9053c 23-Jun-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove deprecated use of porterduff enum



git-svn-id: http://skia.googlecode.com/svn/trunk@235 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
543ed9352c7dfd93071c08b14930cca2e82a08d4 24-Apr-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add ADD xfermode
safely handle (don't draw) if the size of SkMask exceeds 31bits



git-svn-id: http://skia.googlecode.com/svn/trunk@159 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
d252db03d9650013b545ef9781fe993c07f8f314 01-Apr-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> API change: SkPath computeBounds -> getBounds



git-svn-id: http://skia.googlecode.com/svn/trunk@140 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6c14b43a840c791699747ba4cc0ed5abf2bda218 23-Mar-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use static_cast
fix comments



git-svn-id: http://skia.googlecode.com/svn/trunk@135 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
49f0ff25a046d6001dc2d095b6fa3c30f0f46b6a 19-Mar-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> promote SkMask's rowBytes to 32bits, since its bounds is a 32bit rect
be sure a rect is sorted before using it as the path's bounds cache



git-svn-id: http://skia.googlecode.com/svn/trunk@128 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
3555591c158c242b071c7ec92ad75b6e4cb74af2 16-Mar-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add sanity checks to handles extremely large coordinates or filter margins.
Should not hurt features (we hope), but is an easy way to survive malicious
values on a small-memory machine like a handset.



git-svn-id: http://skia.googlecode.com/svn/trunk@123 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
fb12c3e6ba84f95dc15fbaddc239dede0ba1d60e 05-Mar-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix ref() in CreateTypeface
fix comment in SkDraw.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@111 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
3469c76c40790b409621fd7eff34f56240718549 24-Feb-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Handle kA8 bitmaps drawing through a matrix (was infinitely recursive)



git-svn-id: http://skia.googlecode.com/svn/trunk@95 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
689411a87ca7d19abe04b5c9baff26bd96b2123e 18-Dec-2008 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix compile by using the right (new) name for SkComposeShader.h



git-svn-id: http://skia.googlecode.com/svn/trunk@29 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8a1c16ff38322f0210116fa7293eb8817c7e477e 17-Dec-2008 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> grab from latest android



git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp