skia2/include/utils
mtklein 15877b6eae Sketch splitting SkPicture into an interface and SkBigPicture.
Adds small pictures for drawRect(), drawTextBlob(), and drawPath().
These cover about 89% of draw calls from Blink SKPs,
and about 25% of draw calls from our GMs.

SkPicture handles:
  - serialization and deserialization
  - unique IDs

Everything else is left to the subclasses:
  - playback(), cullRect()
  - hasBitmap(), hasText(), suitableForGPU(), etc.
  - LayerInfo / AccelData if applicable.

The time to record a 1-op picture improves a good chunk
(2 mallocs to 1), and the time to record a 0-op picture
greatly improves (2 mallocs to none):

    picture_overhead_draw:   450ns -> 350ns
    picture_overhead_nodraw: 300ns -> 90ns

BUG=skia:

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

Latest blink_linux_rel:

http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/61248

Review URL: https://codereview.chromium.org/1112523006
2015-05-18 13:47:17 -07:00
..
ios Drop executable flag from headers so that they can be packaged 2014-03-11 19:55:51 +00:00
mac Make SkStream *not* ref counted. 2015-01-21 12:09:53 -08:00
win Fix SkIStream nits. 2015-01-22 07:33:51 -08:00
SkBoundaryPatch.h
SkCamera.h Enable unused param checking for public includes. 2014-11-14 11:11:46 -08:00
SkCanvasStateUtils.h Turn SkCanvasStateUtils into a class with static functions. 2014-10-10 06:19:09 -07:00
SkCubicInterval.h
SkCullPoints.h
SkDebugUtils.h Avoid wrong memory access due to double substitution and %% 2015-02-19 06:32:12 -08:00
SkDeferredCanvas.h Make drawImage a virtual on SkDevice 2015-05-06 12:56:48 -07:00
SkDumpCanvas.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
SkEventTracer.h Split default and user-supplied event tracers. 2015-04-21 09:38:03 -07:00
SkFrontBufferedStream.h Make SkStream *not* ref counted. 2015-01-21 12:09:53 -08:00
SkInterpolator.h Promote SkInterpolator unit test to our tests driver. 2014-06-26 13:07:05 -07:00
SkJSONCPP.h upstream google3 include paths for jsoncpp 2015-01-14 05:02:39 -08:00
SkLayer.h
SkLua.h SkTextBlob plumbing 2014-08-26 07:56:44 -07:00
SkLuaCanvas.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
SkMatrix44.h Add isScale() helper function to SkMatrix44. 2014-10-24 08:07:05 -07:00
SkMeshUtils.h Start cleaning up 64bit Win warnings 2013-10-14 21:53:24 +00:00
SkNinePatch.h
SkNoSaveLayerCanvas.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
SkNullCanvas.h
SkNWayCanvas.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
SkPaintFilterCanvas.h Add a paint filter utility canvas (SkPaintFilterCanvas) 2015-03-26 07:24:48 -07:00
SkParse.h [Skia] Add SK_API to SkParse. 2015-03-02 07:51:17 -08:00
SkParsePaint.h
SkParsePath.h
SkPictureUtils.h Sketch splitting SkPicture into an interface and SkBigPicture. 2015-05-18 13:47:17 -07:00
SkRandom.h There can be only one (SkRandom)! 2014-12-15 12:54:51 -08:00
SkRTConf.h Migrate SkRTConfRegistry test to DEF_TEST(). 2014-08-12 09:03:16 -07:00
SkTextBox.h add textblobs to lua 2014-11-03 19:55:41 -08:00