Go to file
Nathaniel Nifong e09b314405 Add ParagraphBuilder.pushPaintStyle to allow text to be colors with paints.
Previously one could not color text with paints, even though TextStyle's foregroundColor and
backgroundColor fields are SkPaints. Canvaskit only exposed these as colors in order to allow
SimpleTextStyle to be a value object that would not have to be deleted by the user.

CanvasKit.Paint is a bound SkPaint. I wanted to allow a user to pass a paint to be used
in a text style without alterting SimpleTextStyle's status as a value-object.

So I've added a new bound method, pushPaintStyle which acts just like pushStyle but allows
a foreground and background paint to be supplied which are used to override the existing paints.

The user is responsible for deleting these paints.

Sorry for the kludgy design, if you have got a more elegant way, I'm open to suggestions.

Change-Id: Ib78464171346fe9f717f6d5b9d9428b1d0278498
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307596
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2020-08-04 13:23:06 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
bin bin/try: automatically set 'git cl issue' when not found 2020-06-25 17:44:01 +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 Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
demos.skia.org Modify CanvasKit to work in a Web Worker and add a demo of it in action. 2020-07-21 22:21:06 +00:00
dm Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
docker Fix swiftshader Dockerfile. 2020-07-20 17:17:53 +00:00
docs/examples Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
example Clean up GrContext references in the src/gpu 2020-07-16 14:14:08 +00:00
experimental Use more of pathbuilder 2020-08-03 21:04:55 +00:00
fuzz updated skp fuzzer 2020-07-31 21:27:13 +00:00
gm Use more of pathbuilder 2020-08-03 21:04:55 +00:00
gn GN: Add support for GN's framework variable in the toolchain 2020-08-03 15:41:37 +00:00
include Use more of pathbuilder 2020-08-03 21:04:55 +00:00
infra Increase ClangTidy code coverage by enabling features. 2020-08-03 15:37:30 +00:00
modules Add ParagraphBuilder.pushPaintStyle to allow text to be colors with paints. 2020-08-04 13:23:06 +00:00
platform_tools Remove "dummy" to comply with Android's inclusive language guidance 2020-07-31 19:11:23 +00:00
resources Remove "master" from lua files 2020-07-28 13:35:37 +00:00
samplecode Rename GrTessellateStroke* -> GrStrokeTessellate* and friends 2020-07-31 02:24:05 +00:00
site A quick start guide for CanvasKit app structure 2020-08-03 19:17:17 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Add contains(SkPoint) to SkRRect 2020-08-04 12:57:56 +00:00
tests Use more of pathbuilder 2020-08-03 21:04:55 +00:00
third_party Roll skcms from 8da4cb002cb4 to b1f9041ffe31 (1 revision) 2020-07-31 13:54:35 +00:00
tools Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
.clang-format Disable BinPackParameters in .clang-format 2020-03-27 14:32:40 +00:00
.clang-tidy Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
.gitignore [infra] Update recipe dependencies 2020-08-03 11:34:57 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS GCC: fix unknown attribute warnings for no_sanitize 2020-07-06 13:52:22 +00:00
BUILD.gn updated skp fuzzer 2020-07-31 21:27: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 41442cce3d0f to 709472c9dd0c (23 revisions) 2020-08-04 06:48:06 +00:00
go.mod Update Go Deps 2020-07-25 05:33:32 +00:00
go.sum Update Go Deps 2020-07-25 05:33:32 +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 Don't define SK_GL when no other GPU backends are enabled 2020-07-31 14:14:35 +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 remove (unused) DirectTo... methods 2020-07-28 23:47:07 +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.