Go to file
Michael Ludwig 68587ae274 Add SkClipStack::replaceClip() separate from deprecated clip op
The replaceClip functionality was added to allow Android to move off of
generalized expanding clips. At the time, SkClipStack simply used the
kReplace_SkClipOp to handle it. In order to remove those expanding ops,
SkClipStack will need a proper implementation of replaceClip().

The clip elements have an additional field to mark if
it's a replace (and it's op will be kIntersect). Adds a temporary
getRegionOp() function to unify elements that use this field vs.
elements that use the deprecated clip op (i.e. if they were deserialized
from an SKP that recorded an expanding op).

Clients of SkClipOp that checked for replace ops use the new function
instead of referring to the enum value directly.

Bug: skia:10209
Change-Id: I1c16c87fadb2becfe181db717c05e240ac87fd34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436158
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-08-04 18:17:11 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Use SkClipOp::kFoo instead of kFoo_SkClipOp from SkClipOpPriv 2021-08-03 18:08:21 +00:00
bin Fix fetch-sk on Windows 2021-08-02 22:12:12 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides fix tint roll - enable tint_build_wgsl_writer 2021-07-01 00:32:40 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org [canvaskit] Fix demo image link 2021-06-03 12:57:50 +00:00
dm Add dm via-option rtblend- to test using Runtime Blends. 2021-07-20 17:43:50 +00:00
docker [infra] Update cmake docker image to be Debian 10 2021-07-23 11:21:31 +00:00
docs/examples Hide getBlendMode() 2021-07-07 20:55:26 +00:00
example Remove SDL from DEPS (and SDL example that used it) 2021-05-27 21:37:57 +00:00
experimental Fix -Wdeprecated-copy warnings 2021-08-03 16:06:11 +00:00
fuzz Use SkClipOp::kFoo instead of kFoo_SkClipOp from SkClipOpPriv 2021-08-03 18:08:21 +00:00
gm Revert "Fission GrSurfaceFillContext into skgpu:: and skgpu::v1:: versions" 2021-08-04 17:15:45 +00:00
gn Revert "Fission GrSurfaceFillContext into skgpu:: and skgpu::v1:: versions" 2021-08-04 17:15:45 +00:00
include Make Gr*ContextPriv class hierarchy parallel Gr*Context class hierarchy 2021-08-03 14:59:04 +00:00
infra Roll recipe dependencies (trivial). 2021-08-04 08:20:43 +00:00
modules Revert "uniform Ptr (UPtr) is a sub class of Ptr" 2021-08-04 17:26:34 +00:00
platform_tools [androidkit] add seekTime and seekFrame for SkottieView util view 2021-07-29 14:12:54 +00:00
resources Add test for Runtime Effects and narrowing conversions. 2021-08-03 15:58:46 +00:00
samplecode Use SkClipOp::kFoo instead of kFoo_SkClipOp from SkClipOpPriv 2021-08-03 18:08:21 +00:00
site Update minimum Linux versions 2021-07-16 16:20:26 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Add SkClipStack::replaceClip() separate from deprecated clip op 2021-08-04 18:17:11 +00:00
tests Add SkClipStack::replaceClip() separate from deprecated clip op 2021-08-04 18:17:11 +00:00
third_party Reland "Experimental ICU runtime linking" 2021-07-27 19:51:31 +00:00
tools Use SkClipOp::kFoo instead of kFoo_SkClipOp from SkClipOpPriv 2021-08-03 18:08:21 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore add mskps/ to .gitignore 2021-07-06 21:04:55 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Correct a typo in build_workaround_header.py 2021-07-29 13:06:01 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Feed all top-level GPU accessors through skgpu::BaseDevice (take 2) 2021-07-26 14:56:37 +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 ANGLE from f016c4352f52 to 35bdaf8dc485 (14 revisions) 2021-08-04 05:22:44 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod Update go/skia.org/infra in go.mod/go.sum 2021-07-22 13:55:04 +00:00
go.sum Update go/skia.org/infra in go.mod/go.sum 2021-07-22 13:55:04 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py [fiddle] Add PRESUBMIT rule to run tools/fiddle/make_all_examples_cpp.py 2021-07-01 15:20:57 +00:00
public.bzl Reland "Experimental ICU runtime linking" 2021-07-27 19:51:31 +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
RELEASE_NOTES.txt Rename/simplify SkCanvas::resetClip() and make recordable 2021-07-23 19:05:42 +00:00
whitespace.txt Test SkCQ 2021-07-24 21:07:28 +00:00
WORKSPACE.bazel bazel baby steps 2020-09-14 15:18:32 +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.