Go to file
Michael Ludwig 9716414e93 Simplify GrClip API
Removes quickContains(SkRect), quickContains(SkRRect), and isRRect().
Replaces these three functions with preApply() that conservatively
determines the clip effect up to a single rrect intersection. The major
motivation for this is the new GrClipStack implementation. preApply()
and apply() will be able to reuse much more code compared to separating
the preApply functionality across the older three functions that were
removed. Additionally, preApply is able to convey more information for
less work, since it can usually determine being skipped or unclipped while
determining if the clip is a single rrect.

As part of using this API, the attemptQuadOptimiziation and the equivalent
rrect optimization are overhauled. Hopefully legibility is improved, and
the rrect case is now applied outside of the android framework (but with
tighter AA requirements).

Bug: skia:10205
Change-Id: I33249dd75a28a611495f87b211cb7ec74ebb7ba4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298506
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-06-24 15:12:12 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench add simple pathbuilder 2020-06-24 01:50:30 +00:00
bin Roll gn. 2020-06-18 19:33:04 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Use Dawn's BUILD.gn instead of defining another one for Skia. 2020-04-13 23:26:31 +00:00
client_utils/android Remove SkBitmapRegionDecoder and SkBRDAllocator 2020-06-01 20:56:29 +00:00
demos.skia.org [demos] Move to subdir 2020-06-23 17:29:37 +00:00
dm Misc changes to get *ooprdll configs running 2020-06-24 15:10:53 +00:00
docker Support specifying hash and patch_ref in skia-release & skia-wasm-release Dockerfiles 2020-05-06 20:39:04 +00:00
docs/examples Remove SkSurface::MakeFromBackendTextureAsRenderTarget from public API 2020-05-29 15:09:52 +00:00
example Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
experimental [skrive] Parse ellipse data 2020-06-24 02:17:30 +00:00
fuzz replace max_len with if statements 2020-06-16 17:26:30 +00:00
gm Simplify GrClip API 2020-06-24 15:12:12 +00:00
gn add simple pathbuilder 2020-06-24 01:50:30 +00:00
include add simple pathbuilder 2020-06-24 01:50:30 +00:00
infra Disable one more D3D test 2020-06-24 13:47:41 +00:00
modules [canvaskit] High performance Path APIs 2020-06-24 12:40:49 +00:00
platform_tools Reland the new module for skia lib for g3 2020-06-23 14:19:13 +00:00
resources Runtime effect implementation of color cube filter 2020-05-28 15:45:48 +00:00
samplecode Handle kMatrixMultiply in ByteCode -> SkVM 2020-06-19 20:31:10 +00:00
site Regularize selection of fontmgr. 2020-06-11 12:28:03 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Simplify GrClip API 2020-06-24 15:12:12 +00:00
tests Simplify GrClip API 2020-06-24 15:12:12 +00:00
third_party decouple werror and -isystem in third_party 2020-06-19 21:59:35 +00:00
tools Update viewer to call the gpuSetup GM entry point 2020-06-24 13:43:59 +00:00
.clang-format Disable BinPackParameters in .clang-format 2020-03-27 14:32:40 +00:00
.clang-tidy add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +00:00
.gitignore Reland the new module for skia lib for g3 2020-06-23 14:19:13 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Fixing a bug in SkOpEdgeBuilder::walk that causes pathOps to fail when cubic segment is reducable 2020-04-21 16:56:54 +00:00
BUILD.gn Reland the new module for skia lib for g3 2020-06-23 14:19:13 +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 9daab8cbffb7 to 1496de215a39 (13 revisions) 2020-06-24 04:46:00 +00:00
go.mod Update Go Deps 2020-06-21 05:38:24 +00:00
go.sum Update Go Deps 2020-06-21 05:38:24 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py PRESUBMIT: Don't check formatting of deleted files 2020-04-08 10:36:09 +00:00
public.bzl Fix public.bzl formatting 2020-06-23 16:27:17 +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 Add SkSurface flush call that takes a GrBackendSurfaceMutableState. 2020-06-12 20:40:54 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +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.