Made addPath take one more arg to allow for append/expand (which makes emulating the HTML canvas easier). Add Gold test for various lineTo/pathTo, etc. Make CanvasKit.Color() choose a better value for alpha when omitted (was 0, should be 1). Add some parsing logic to deal with colors/font sizes. Fonts are going to be rather complex it seems. Moves some arc-related logic to the JS side, (although this should preserve the behavior of CanvasKit.arc() to behave like the Canvas implementation) Make Examples and tests to a side-by-side comparison to HTML canvas where applicable. Add a Changelog for PathKit. There was a bug (I thought), but turns out I was wrong. The Changelog will be for future bug fixes. Bug: skia: Change-Id: I1bd603fdb518232604b098e24543e3453015b504 Reviewed-on: https://skia-review.googlesource.com/c/170446 Reviewed-by: Kevin Lubick <kjlubick@google.com>
20 lines
735 B
JavaScript
20 lines
735 B
JavaScript
|
|
// Adds any extra JS functions/helpers we want to add to CanvasKit.
|
|
// Wrapped in a function to avoid leaking global variables.
|
|
(function(CanvasKit){
|
|
|
|
function clamp(c) {
|
|
return Math.round(Math.max(0, Math.min(c || 0, 255)));
|
|
}
|
|
|
|
// Colors are just a 32 bit number with 8 bits each of a, r, g, b
|
|
// The API is the same as CSS's representation of color rgba(), that is
|
|
// r,g,b are 0-255, and a is 0.0 to 1.0.
|
|
// if a is omitted, it will be assumed to be 1.0
|
|
CanvasKit.Color = function(r, g, b, a) {
|
|
if (a === undefined) {
|
|
a = 1;
|
|
}
|
|
return (clamp(a*255) << 24) | (clamp(r) << 16) | (clamp(g) << 8) | (clamp(b) << 0);
|
|
}
|
|
}(Module)); // When this file is loaded in, the high level object is "Module";
|