d3cfbcae10
This adds the pieces needed to accomplish this, and although clients could do it, I figured it would be nice to expose as a universal tool (on TextBlob). Bug: skia: Change-Id: Id5d61744973de2da75049d33d40e1dc442c2442c Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201601 Reviewed-by: Ben Wagner <bungeman@google.com>
4.5 KiB
4.5 KiB
CanvasKit Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
SkPathMeasure
,RSXFormBuilder
,SkFont.getWidths
,SkTextBlob.MakeFromRSXform
which were needed to add the helper functionSkTextBlob.MakeOnPath
.
Changed
- Location in Skia Git repo now
modules/canvaskit
(wasexperimental/canvaskit
)
Fixed
- Extern bug in
CanvasKit.SkMatrix.invert
- Fallback to CPU now properly refreshes the canvas to get access to the CanvasRenderingContext2D.
[0.5.0] - 2019-03-08
Added
- isVolitile option to
CanvasKit.MakeSkVertices
. The previous (and current default) behavior was for this to be true; some applications may go faster if set to false. SkCanvas.saveLayer(rect, paint)
SkCanvas.restoreToCount(int)
which can be used with the output of .save() and .saveLayer().- Optional particles library from modules/particles.
See CanvasKit.MakeParticles(json)
; - More public APIs for working with Surfaces/Contexts
GetWebGLContext
,MakeGrContext
,MakeOnScreenGLSurface
,MakeRenderTarget
. SkSurface.getSurface()
andSkCanvas.getSurface()
for making compatible surfaces (typically used as a workspace and then "saved" withsurface.makeImageSnapshot()
)
Breaking
CanvasKit.MakeWebGLCanvasSurface
no longer takes a webgl context as a first arg, only a canvas or an id of a canvas. If users want to manage their own GL contexts, they should build theSkSurface
themselves withGetWebGLContext
->MakeGrContext
->MakeOnScreenGLSurface
.
[0.4.1] - 2019-03-01
Added
- Optional arguments to
MakeManagedAnimation
for supplying external assets (like images, fonts).
[0.4.0] - 2019-02-25
Added
SkPath.addRoundRect
,SkPath.reset
,SkPath.rewind
exposed.SkCanvas.drawArc
,SkCanvas.drawLine
,SkCanvas.drawOval
,SkCanvas.drawRoundRect
exposed.- Can import/export a SkPath to an array of commands. See
CanvasKit.MakePathFromCmds
andSkPath.toCmds
. SkCanvas.drawTextBlob()
andSkCanvas.SkTextBlob.MakeFromText()
to draw text to a canvas.CanvasKit.TextEncoding
enum. For use withSkTextBlob
.- Text shaping with
ShapedText
object andSkCanvas.drawText
. At compile time, one can choose between using Harfbuzz/ICU (default) or a primitive one ("primitive_shaper") which just does line breaking. Using Harfbuzz/ICU substantially increases code size (4.3 MB to 6.4 MB).
Changed
SkCanvas.drawText()
now requires anSkFont
object for raw strings.
Removed
SkPaint.setTextSize()
,SkPaint.getTextSize()
,SkPaint.setTypeface()
which should be replaced by usingSkFont
.- Deprecated
CanvasKitInit().then()
interface (see 0.3.1 notes)
Fixed
- Potential bug in
ready()
if already loaded.
[0.3.1] - 2019-01-04
Added
SkFont
now exposed.MakeCanvasSurface
can now take a canvas element directly.MakeWebGLCanvasSurface
can now take a WebGL context as an integer and use it directly.
Changed
CanvasKitInit(...).then()
is no longer the recommended way to initialize things. It will be removed in 0.4.0. UseCanvasKitInit(...).ready()
, which returns a real Promise.
Removed
SkPaint.measureText
- useSkFont.measureText
instead.
[0.3.0] - 2018-12-18
Added
- Add Canvas2D JS layer. This mirrors the HTML Canvas API. This may be omitted at compile time
it by adding
no_canvas
to thecompile.sh
invocation. CanvasKit.FontMgr.DefaultRef()
andfontmgr.MakeTypefaceFromData
to load fonts.- Exposed
SkPath.setVolatile
. Some animations see performance improvements by setting their paths' volatility to true.
Fixed
SkPath.addRect
now correctly draws counter-clockwise vs clockwise.
Changed
CanvasKit.MakeImageShader
no longer takes encoded bytes, but anSkImage
, created fromCanvasKit.MakeImageFromEncoded
. Additionally, the optional parametersclampIfUnpremul
andlocalMatrix
have been exposed.SkPath.arcTo
now takesstartAngle
,sweepAngle
,forceMoveTo
as additional parameters.SkPath.stroke
has a new optionprecision
It defaults to 1.0.- CanvasKit comes with one font (NotoMono) instead of the Skia TestTypeface. Clients are encouraged
to use the new
fontmgr.MakeTypefaceFromData
for more font variety.
Removed
CanvasKit.initFonts()
- no longer needed.
[0.2.1] - 2018-11-20
Beginning of Changelog history