skia2/tools
Ben Wagner 668995122f Fix when a glyph has a path
Always call generateMetrics before generatePath so that generateMetrics
can determine which glyph representation to use and if that glyph
representation can be modeled as a path.

Pass an allocator into generateMetrics so that it can set the path to
not existing. This allows generatePath to continue to work as it used
to, creating a path if any path is available. However, generateMetrics
may first set the path to not existing.

Update getPath and internalGetPath to use the path on the glyph if it
has already been set. Update makeGlyph and internalMakeGlyph to always
call generateMetrics first (which is now more like initGlyph).

Update the SkGlyph::PathData to indicate that it is a dev-path and not a
user-path. A user-path will have effects applied to it. A dev-path is
always a resolved path which is always filled -- unless it is hairline.

Update everything else for the knock on effects and to take advantage of
this information.

Bug: chromium:1266022
Change-Id: Id3f3cf5a534ab99f3a5779c910c1d1e191e68b1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478658
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-12-07 14:58:29 +00:00
..
android Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
calmbench Update references to master branch 2021-05-21 15:18:16 +00:00
copyright Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
debugger [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
doxygen Include svg module in Doxygen generated output. 2021-01-06 16:40:09 +00:00
fiddle [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
flags [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
fm [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
fonts Fix when a glyph has a path 2021-12-07 14:58:29 +00:00
gdb
gpu [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
graphite [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
infra
lottie-web-perf
lottiecap
malisc Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
mdbviz [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
perf-canvaskit-puppeteer [canvaskit] Remove deprecated MakeTypefaceFromData and RefDefault 2021-10-21 16:45:42 +00:00
rebaseline Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
run-wasm-gm-tests Reland "Purge ccpr" 2021-06-19 18:42:38 +00:00
sk_app [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
skdiff [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
skiaserve [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
skottie_ios_app [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
skottie-wasm-perf
skp Add skia_motionmarksuites_desktop.py 2021-07-29 19:16:05 +00:00
skpbench [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
skqp [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
skui [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
svg Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
timer [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
trace [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
viewer [viewer] Add color histogram 2021-12-03 15:49:14 +00:00
__init__.py
abandon_gerrit_cls.py
add_codereview_message.py
AndroidSkDebugToStdOut.cpp
AutoreleasePool.h
AutoreleasePool.mm
bloaty_treemap.py bloaty_treemap.py: Fix path/symbol name collisions; make symbols unique with _1, _2, ... instead of _x, _x_x, ... 2021-12-01 21:38:55 +00:00
blob_cache_sim.cpp
build_command_buffer.py
BUILD_simulator.py
build_workaround_header.py Correct a typo in build_workaround_header.py 2021-07-29 13:06:01 +00:00
BUILD.bazel [bazel] Try adding cc_binary rules that use generated rules 2021-11-30 18:18:53 +00:00
check-headers-self-sufficient
chrome_fuzz.cpp
clang-tidy.sh
compare_codereview.py
convert-to-nia.cpp Fix convert-to-NIA stillImage check 2021-11-24 16:45:43 +00:00
cpu_modules.cpp
CrashHandler.cpp Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
CrashHandler.h
DDLPromiseImageHelper.cpp Reland "Remove GrBackendFormat's textureType use from isFormatTexturable call." 2021-08-13 22:37:13 +00:00
DDLPromiseImageHelper.h Only include SkJSONWriter when SK_ENABLE_DUMP_GPU defined 2021-11-02 16:17:17 +00:00
DDLTileHelper.cpp Reland "Remove GrBackendFormat's textureType use from isFormatTexturable call." 2021-08-13 22:37:13 +00:00
DDLTileHelper.h Move SkSpan to include/, for use in public API 2021-05-12 13:19:32 +00:00
doxygen_footer.txt
dump_record.cpp Fix cases of variable shadowing in /tools/. 2021-08-11 16:05:52 +00:00
embed_resources.py
find_run_binary.py
fix_pythonpath.py
force_older_glibc_math.h
gcov_shim
get_current_monitor_profile.cpp
get_images_from_skps.cpp
git-sync-deps [infra] Make git-sync-deps truncate directory from beginning 2021-11-15 15:36:07 +00:00
HashAndEncode.cpp More angle brackets for system includes for third_party deps 2021-11-23 18:35:52 +00:00
HashAndEncode.h
image_diff_metric.cpp
imgcvt.cpp
install_dependencies.sh Add optional --yes argument to tools/install_dependencies.sh. 2021-01-05 16:30:22 +00:00
ios_utils.h
ios_utils.m
jsondiff.py
list_gms.cpp
list_gpu_unit_tests.cpp Name Test struct's member variables consistently 2021-10-13 17:37:39 +00:00
LsanSuppressions.cpp
merge_static_libs.py Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
milestone.py Update references to master branch 2021-05-21 15:18:16 +00:00
mirror-dev.sh
misc_utils.py
MSKPPlayer.cpp Move canvas helper structs to header 2021-08-10 17:53:16 +00:00
MSKPPlayer.h Move canvas helper structs to header 2021-08-10 17:53:16 +00:00
OverwriteLine.h
parse_llvm_coverage.py
pathops_sorter.htm
pathops_visualizer.htm
ProcStats.cpp
ProcStats.h
public_headers_warnings_check.cpp
random_parse_path.cpp Fix cases of variable shadowing in /tools/. 2021-08-11 16:05:52 +00:00
random_parse_path.h
reformat-json.py Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
Registry.h
remote_demo.cpp Remove SkTextBlobDiffCanvas, use tracking device directly with base SkCanvas 2021-05-06 16:11:57 +00:00
ResourceFactory.h
Resources.cpp
Resources.h
retrieve_from_googlesource.py Update references to master branch 2021-05-21 15:18:16 +00:00
rewrite_includes.py Fix rewrite_includes to work in both Python 2 and 3. 2021-08-17 11:53:50 +00:00
RuntimeBlendUtils.cpp Convert internal SkSL to use .eval() 2021-09-03 15:54:54 +00:00
RuntimeBlendUtils.h Simplify GetRuntimeBlendForBlendMode. 2021-07-30 16:42:36 +00:00
sanitize_source_files.py Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
serve_wasm.py [infra] Deduplicate serve.py 2021-10-12 11:42:50 +00:00
SkMetaData.cpp
SkMetaData.h
skottie2movie.cpp Fix skottie2movie gpu async crash 2021-09-11 15:49:19 +00:00
skp_parser.cpp
skpinfo.cpp Print out picture version even if its unsupported 2021-07-20 00:11:39 +00:00
SkSharingProc.cpp Support building on clang with -std=c++14 but no C++17 extension warning. 2021-10-12 16:34:30 +00:00
SkSharingProc.h Accept a callback used in MultiPictureDocument::endPage 2021-01-06 16:52:50 +00:00
Stats.h
test_all.py Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
test_pdfs.py
ToolUtils.cpp Extract ToolUtils::sniff_paths 2021-10-19 17:39:11 +00:00
ToolUtils.h Extract ToolUtils::sniff_paths 2021-10-19 17:39:11 +00:00
UrlDataManager.cpp
UrlDataManager.h
using_skia_and_harfbuzz.cpp Support building on clang with -std=c++14 but no C++17 extension warning. 2021-10-12 16:34:30 +00:00
valgrind.supp
win_dbghelp.cpp
win_dbghelp.h
win_lcid.cpp
xsan.supp