Go to file
Brian Osman a372429440 Align SkSpan API with std::span
SkSpan is a convenient type to use on API boundaries - callers can have
their collection in a stack-allocated array, or any contiguous container
(std::vector, etc). Those will all implicitly convert to SkSpan, making
call-sites easy to read/write.

Before making it part of Skia's public API, this CL removes parts of the
API that aren't present in std::span -- when Skia moves to C++20, this
should allow us to use std::span instead, and remove SkSpan entirely.

The most disruptive change is the removal of `int count()`. That's
replaced by a new free function `SkCount` that works on any container,
and incorporates the overflow check from SkTo<int>.

Change-Id: I86cdfad1700f341da3b81a965b396ca9d8b79df9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405816
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-10 17:41:52 +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 Remove SkTextBlobDiffCanvas, use tracking device directly with base SkCanvas 2021-05-06 16:11:57 +00:00
bin Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Fix ANGLE roll 2021-05-10 15:34:52 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org Add some comments 2021-04-27 22:16:02 +00:00
dm Convert dmsaa to an SkSurfaceProp 2021-04-20 16:24:56 +00:00
docker [infra] Fix index.d.ts copy in Wasm Docker build 2021-02-23 15:54:11 +00:00
docs/examples Must pass filtering to picture shader 2021-03-18 22:18:47 +00:00
example Reland "Remove use of legacy display globals." 2020-10-05 19:13:58 +00:00
experimental Add NGA compilation stubs 2021-05-05 16:48:01 +00:00
fuzz More sanitization of coordinates in GrTriangulator 2021-05-10 15:23:02 +00:00
gm Reland "Better first-class shader & color filter support in runtime effects" 2021-05-05 22:06:46 +00:00
gn Add test demonstrating missed opportunities with casts. 2021-05-07 22:04:16 +00:00
include Align SkSpan API with std::span 2021-05-10 17:41:52 +00:00
infra Update SKP version 2021-05-09 06:36:19 +00:00
modules [androidkit] expose minimal stroke settings to Java 2021-05-10 16:33:32 +00:00
platform_tools [androidkit] expose minimal stroke settings to Java 2021-05-10 16:33:32 +00:00
resources Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
samplecode Rename GrTessellatingStencilFillOp -> GrPathStencilFillOp 2021-05-06 22:59:47 +00:00
site Restore cube demo to canvaskit demo page 2021-04-21 21:55:27 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Align SkSpan API with std::span 2021-05-10 17:41:52 +00:00
tests Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
third_party Roll skcms from 31ba46d6a284 to bae5e281e80f (1 revision) 2021-05-08 21:32:59 +00:00
tools Reuse GL enums for ANGLE vendor/renderer 2021-05-10 13:38:30 +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 [sk] Add DEPS entry for "sk" tool 2021-04-09 14:21:37 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add UWP support 2021-02-10 19:04:42 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Add NGA compilation stubs 2021-05-05 16:48:01 +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 SK Tool from 33de3938b244 to bccbf0e3ae0f 2021-05-10 12:59:01 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
go.sum [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py Revert "Display a Docs-Preview link for each modified MD file" 2021-04-22 13:39:28 +00:00
public.bzl Enable DSL FP tests. 2021-04-22 21:03:43 +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 mapRect function and RectToRect constructor to SkM44 2021-05-05 19:57:26 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +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.