Commit Graph

34 Commits

Author SHA1 Message Date
Mike Reed
1f85dd9159 Expose embolden on Font
Change-Id: I92c3b86b8cfff1a77e2a27503ec0cdc8b0cab784
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406037
Reviewed-by: Mike Reed <reed@google.com>
2021-05-09 18:03:44 +00:00
Mike Reed
7d093d8828 Quick out-of-range fix for selections
Change-Id: I6373f9a70c6e341a39114f0bdce50a92ee745dcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406036
Reviewed-by: Mike Reed <reed@google.com>
2021-05-09 17:28:45 +00:00
Mike Reed
511c327de6 Sync styles when inserting/deleting text
Change-Id: I263ae85b0b229d359b865d8b8c9f4aed736b0654
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405880
Reviewed-by: Mike Reed <reed@google.com>
2021-05-09 17:00:14 +00:00
Mike Reed
686dd910dd Track non-shaping style runs
We only break runs (from the shaper's perspective) on typeface/size
changes. All others we just track locally, and then 'chop up' our draws
accordingly.

Change-Id: I81695772f71175cd5116ed34981ecf16b52123c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405876
Reviewed-by: Mike Reed <reed@google.com>
2021-05-08 20:18:36 +00:00
Mike Reed
72de83df3a Manage styles in editor
Change-Id: Ifde8853a780b8406ef6b794cd458904ee0663771
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405694
Reviewed-by: Mike Reed <reed@google.com>
2021-05-07 21:17:42 +00:00
Mike Reed
cced68e42c fakeBold is gone, scaleX is in (sort of)
Change-Id: I5db9e935d0c43de92a9688baf8cb1e1f9e74e7c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405684
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-05-07 17:26:25 +00:00
Mike Reed
c48c3e5d57 Try new factory for ShapedLines
Known hacks for now:
- only default typeface
- only ascii support

Fonts have several limitations for now.

SkParagraph (our temporary backend) wants a fontmgr up front,
rather than just relying on the typefaces in its styles. This makes it
hard to inter-op with our JS api. Not a long-term problem, as this
backend is short-term. The hacky work-around is just to pass NULL for
the typeface for now.

Related but different, I haven't yet figured out how to "return" a
JS Typeface object. Something about bare-pointers and sk_sp. I'll figure
it out eventually, but for now I just set the output slot to null
as well. (there's a TODO in the .cpp)

Ascii support

JS strings are UTF16 (afaik). However, our current backend thinks in
terms of UTF8 offsets. Plus, (at the moment) when I try to access the
JS string for C++, it coerces to utf8 (std::string).

We can fix both of these eventually, but for now I'll just test with
ascii input characters, and the API can still work.


Change-Id: I62ca71b0b45d017ac8e3881c06720776dc2d75a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405400
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-05-06 23:01:47 +00:00
Kevin Lubick
3232a6625b [canvaskit] Small example fixes
Change-Id: If7a05b34975f2fee8f057e649bfe3a7b0fc541b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404778
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-05-05 17:20:26 +00:00
Mike Reed
c1a5a48159 Move editor into utils
Change-Id: I2dd8877317cc751ec4380f1d88c1ef79dad96442
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404238
Reviewed-by: Mike Reed <reed@google.com>
2021-05-04 19:32:34 +00:00
Mike Reed
2a5eacb0f9 Split some helpers into separate js file
Also handle ctrl and meta better.

Change-Id: I2149f1dfaa4b0af58cae8d16ead5432d17e05916
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404157
Reviewed-by: Mike Reed <reed@google.com>
2021-05-04 15:18:28 +00:00
Mike Reed
faf7bf5966 Edit text
Change-Id: I57282da8f9d2bf1334bc8246c843dfdf475e338c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404016
Reviewed-by: Mike Reed <reed@google.com>
2021-05-04 14:34:09 +00:00
Mike Reed
bf688645ac Support arrow-keys
Change-Id: I4cfd99001ea99888c8781e018f67c644d1d6e3d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403597
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-05-03 20:33:33 +00:00
Mike Reed
ca2ad539f2 Remove getShapedRuns, add some dox
Change-Id: I7e226622475f7ee7173e7d2ec6fc388bd1792253
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403598
Reviewed-by: Yegor Jbanov <yjbanov@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-05-03 17:54:50 +00:00
Mike Reed
a46fe7d587 Return shapedlines for text api
Change-Id: I8f9aa6e0cffb3441706bd0efeb0886209cac012a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403256
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-05-03 14:21:11 +00:00
Mike Reed
097263bb50 Track mouse for cursor and hilites
Change-Id: Icfc8a28fa0c9e3118ef4ddc5ae12162aab3fb484
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398556
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-04-30 20:49:40 +00:00
Kevin Lubick
995f2e6159 [canvaskit] Scope IsWhiteSpace to GlyphRunFlags
Change-Id: I66120e39d1ba6099ff9be1e37438c85a11c7794e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402998
Reviewed-by: Mike Reed <reed@google.com>
2021-04-30 15:29:32 +00:00
Kevin Lubick
d1c9e52144 [canvaskit] Fix whitespace constant definition.
Also some includes that I noticed along the way.

Change-Id: If48a3a9ff8bd5daea21065051c811e8b3e8a701f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402136
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-04-28 13:29:03 +00:00
Mike Reed
ae33954b49 Updates to GlyphRuns[]
1. Fold "origin" into the positions (simplification)
2. Extend positions and offset arrays by 1, to include 1-past last glyph
3. Add flags field to run (with just WS flag for now)

Change-Id: I93e38df808a5e9e4e5bcedbc62bc5a7aa433ef2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399876
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Yegor Jbanov <yjbanov@google.com>
2021-04-28 00:42:54 +00:00
Kevin Lubick
7978abafee [canvaskit] Deploy 0.26.0
Change-Id: I162e82824e1447409f5dbe7e32ec892f28e1cbf5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400296
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-04-23 12:44:52 +00:00
Kevin Lubick
4755b0b525 [canvaskit] Add TextHeightBehavior
Bug: skia:11881
Change-Id: I220f5ad43de95324172ee5b6d3d5a975a3f8a166
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399836
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-04-22 18:21:44 +00:00
weiyuhuang
04c82165b1 [canvaskit] Add halfLeading to TextStyle and StrutStyle
- Add halfLeading (introduced in https://skia-review.googlesource.com/c/skia/+/394969) to canvaskit bindings

- Fix wrong initial value of fDescent

Change-Id: I01d522cd5a3761f32426038dce2ab82f24c9c529
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398276
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2021-04-20 20:21:56 +00:00
Brian Osman
8f1dff6a9e Remove layout(marker) from runtime effect SkSL
This is another strange, experimental feature that clutters the
implementation and isn't used by anyone (to my knowledge).

Change-Id: I538b7eca0cd28aab32f4739b23459731ade9105e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398226
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-04-19 18:48:45 +00:00
Mike Reed
4c8c87e815 Show text hilites
Font was missing getMetrics()

However, seems like getShapedRuns() needs to return its
particular line spacing choices...

Change-Id: I574ebf789fb03b79c8e09198f1cb6e09dac3441b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/397916
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-04-19 17:45:51 +00:00
Mike Reed
66aed2136b Expose proposed Shaper API to JS
Requires: https://skia-review.googlesource.com/c/skia/+/392837

Change-Id: I3b779b699fbcade7702049a83b98db8dfe86433d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/397436
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-04-17 15:16:23 +00:00
Mike Reed
9983b1efd9 Expose drawGlyphs to CK
Precursor for https://skia-review.googlesource.com/c/skia/+/392837

Change-Id: I94cf555d3185e4e2689888a3ae2acf6f57a0fb65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396496
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-04-14 19:15:50 +00:00
Mike Reed
e0f3d612b0 Change GlyphIDArray to 16bit
pre-cl to prepare for more Glyph methods
e.g. https://skia-review.googlesource.com/c/skia/+/396496

Change-Id: I334f9d93ea2183a69f2d9087a783ad7d7277248b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396498
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-04-14 13:44:48 +00:00
Kevin Lubick
4a84c34383 [canvaskit] Expose Strut RectHeightStyle
Bug: skia:11845
Change-Id: Ic0c0812a906bc9c71194ae8a118e04b22194dc69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393976
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-04-08 17:52:35 +00:00
Kevin Lubick
a40581f86d [canvaskit] Fix type definitions
Followup to https://skia-review.googlesource.com/c/skia/+/388837

There were several errors reported by
make typecheck

Change-Id: I4beb772056fff405c1cc5c4be21ef14a6901b188
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392716
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-04-05 18:21:29 +00:00
Mike Reed
6e7d2b3b72 Add drawPatch to canvaskit
Change-Id: I66214398f020ab6e824c5509babe5107f6b46d7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388837
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-31 15:28:21 +00:00
Kevin Lubick
ca709aa82b [canvaskit] Update to 0.25.1
Built at revision 2ee4d7a7f5

Change-Id: Idfa16920b5262f75ac4db18705e8849c91f3c91d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390407
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-03-30 18:14:07 +00:00
Mike Reed
5514431d0e Extend drawAtlas with optional sampling parameter
Change-Id: Id26f0d9ca5381da807b072c8b59745f2afd8df60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386860
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Yegor Jbanov <yjbanov@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-25 18:04:32 +00:00
Florin Malita
baab5aff09 [skottie/wasm] Plumb text properties in WASM bindings
Only text string + size for now, we can surface more if needed.

Change-Id: I4b40c1bb5e27ea5fc4ed20a1214c4eeb04bf1ca8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382279
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-03-10 18:34:04 +00:00
Kevin Lubick
0676317b1f [canvaskit] Deploy 0.25.0
Change-Id: I1af79766e6e781b8190a3aa266fc7e8eb7d1b0df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/378256
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-03-02 12:45:42 +00:00
Kevin Lubick
3b760b6fa8 [canvaskit] Add full build to npm release.
Also rename //modules/canvaskit/canvaskit to //modules/canvaskit/npm_build
to make it more clear the purpose of that folder (what we ship to
npm and stage our builds for local testing).

Bug: skia:11203
Change-Id: I4299ded97d14f4155c36798d60e88a660ce6fe6a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372392
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-02-23 14:40:43 +00:00