Go to file
Florin Malita c75e2401a8 [sksg] Refine invalidation logic
We need to discriminate between nodes whose bounds updates contribute to the dirty
region, and nodes whose bounds changes do not.

E.g. animated shape in a group: the animated shape node bounds should yield damage,
but the ancestor group bounds should not.

To accomplish this, we refine the invalidation state:

  1) self invalidation == the node itself was invalidated, and its bounds updates
     yield damage.
  2) descendant invalidation == the node has some (self-)invalidated descendant,
     but its own bounds are not contributing damage.

Also:

  * hoist the bounding box invalidation logic into the base class (Node::revalidate)
    and update to respect the states described above.
  * remove (now-redundant) GeometryNode bbox logic.
  * update revalidation methods to return the node bbox instead of void

TBR=
Change-Id: I8023d1793fb501c945a53f2dc2d2983e5b620ade
Reviewed-on: https://skia-review.googlesource.com/90581
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-04 00:59:20 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench SkFloatToDecimal moved to src/utils 2018-01-03 19:59:31 +00:00
bin bin/try: No prompt for a single matching job 2017-12-11 18:32:08 +00:00
debugger Update SkSurface MakeFromBackend* factories to take an SkColorType. 2017-12-19 18:41:36 +00:00
dm [skotty] Speculative g3 DM build fix 2017-12-31 22:20:40 +00:00
docs support srgb flag in bookmaker 2018-01-03 14:21:19 +00:00
example Update SkSurface MakeFromBackend* factories to take an SkColorType. 2017-12-19 18:41:36 +00:00
experimental [sksg] Refine invalidation logic 2018-01-04 00:59:20 +00:00
fuzz Add SkPipe fuzzer 2018-01-03 19:58:00 +00:00
gm use tool_utils to encapsulate checking for recording canvas and makeSurface 2018-01-02 21:06:41 +00:00
gn [sksg] Refine invalidation logic 2018-01-04 00:59:20 +00:00
include check for irect with overflow width/height 2018-01-03 21:01:54 +00:00
infra In iOS recipe, uninstall before install. 2018-01-03 23:21:30 +00:00
platform_tools SkQP: better error report workflow 2017-12-20 19:23:46 +00:00
resources [skotty] Fix path close handling 2017-12-31 00:07:39 +00:00
samplecode [sksg] Fix paint inval 2017-12-29 00:41:00 +00:00
site Update 2pt conical document 2018-01-03 20:56:52 +00:00
src check for irect with overflow width/height 2018-01-03 21:01:54 +00:00
tests [sksg] Refine invalidation logic 2018-01-04 00:59:20 +00:00
third_party Update Windows clang asset 2017-12-08 16:55:10 +00:00
tools remove unneeded readbuffer flags 2018-01-03 18:13:39 +00:00
.clang-format Mark flatennable macros as block beginning/ending in .clang-format 2017-01-09 15:31:36 +00:00
.gitignore Ignore generated README.recipes.md 2017-10-26 18:07:27 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS fix use of uninitialized flag in SkCodec 2017-10-09 19:17:05 +00:00
BUILD.gn [skotty] Add Json DM source 2017-12-31 18:44:29 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll skia/third_party/externals/angle2/ fc3463da0..6df487ef1 (1 commit) 2018-01-03 22:49:19 +00:00
Doxyfile Make the housekeeper upload doxygen to a newer bucket 2016-10-04 13:23:57 -07:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py Skip AUTHORS check for Skia service accounts 2018-01-02 18:47:01 +00:00
public.bzl Revert "add flag to fix google3" 2017-12-21 19:25:53 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
whitespace.txt Removed general bot upload permissions, whitespace change to test 2017-12-04 13:03:34 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.