@shopify/react-native-skia 0.1.134 → 0.1.136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cpp/api/JsiSkFont.h +25 -1
- package/jestSetup.js +5 -0
- package/lib/commonjs/animation/functions/interpolate.js +3 -2
- package/lib/commonjs/animation/functions/interpolate.js.map +1 -1
- package/lib/commonjs/animation/functions/interpolateColors.js +2 -2
- package/lib/commonjs/animation/functions/interpolateColors.js.map +1 -1
- package/lib/commonjs/animation/functions/interpolatePaths.js +45 -11
- package/lib/commonjs/animation/functions/interpolatePaths.js.map +1 -1
- package/lib/commonjs/mock/index.js +121 -177
- package/lib/commonjs/mock/index.js.map +1 -1
- package/lib/commonjs/skia/types/Font/Font.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkFont.js +6 -0
- package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
- package/lib/commonjs/values/api.js +1 -7
- package/lib/commonjs/values/api.js.map +1 -1
- package/lib/commonjs/values/hooks/useComputedValue.js +2 -2
- package/lib/commonjs/values/hooks/useComputedValue.js.map +1 -1
- package/lib/commonjs/views/SkiaView.web.js +11 -11
- package/lib/commonjs/views/SkiaView.web.js.map +1 -1
- package/lib/module/animation/functions/interpolate.js +2 -2
- package/lib/module/animation/functions/interpolate.js.map +1 -1
- package/lib/module/animation/functions/interpolateColors.js +1 -1
- package/lib/module/animation/functions/interpolateColors.js.map +1 -1
- package/lib/module/animation/functions/interpolatePaths.js +44 -11
- package/lib/module/animation/functions/interpolatePaths.js.map +1 -1
- package/lib/module/mock/index.js +103 -147
- package/lib/module/mock/index.js.map +1 -1
- package/lib/module/skia/types/Font/Font.js.map +1 -1
- package/lib/module/skia/web/JsiSkFont.js +6 -0
- package/lib/module/skia/web/JsiSkFont.js.map +1 -1
- package/lib/module/values/api.js +0 -4
- package/lib/module/values/api.js.map +1 -1
- package/lib/module/values/hooks/useComputedValue.js +1 -1
- package/lib/module/values/hooks/useComputedValue.js.map +1 -1
- package/lib/module/views/SkiaView.web.js +11 -11
- package/lib/module/views/SkiaView.web.js.map +1 -1
- package/lib/typescript/jestSetup.d.ts +1 -0
- package/lib/typescript/src/animation/functions/interpolate.d.ts +6 -0
- package/lib/typescript/src/animation/functions/interpolatePaths.d.ts +3 -1
- package/lib/typescript/src/mock/index.d.ts +11 -42
- package/lib/typescript/src/renderer/Canvas.d.ts +1 -1
- package/lib/typescript/src/skia/types/Font/Font.d.ts +6 -0
- package/lib/typescript/src/skia/web/JsiSkFont.d.ts +1 -0
- package/lib/typescript/src/values/api.d.ts +0 -1
- package/package.json +3 -3
- package/src/animation/functions/interpolate.ts +4 -2
- package/src/animation/functions/interpolateColors.ts +1 -1
- package/src/animation/functions/interpolatePaths.ts +59 -10
- package/src/mock/index.ts +103 -149
- package/src/skia/types/Font/Font.ts +7 -0
- package/src/skia/web/JsiSkFont.ts +6 -0
- package/src/values/api.ts +0 -2
- package/src/values/hooks/useComputedValue.ts +1 -1
- package/src/views/SkiaView.web.tsx +20 -17
package/cpp/api/JsiSkFont.h
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
#include <memory>
|
4
4
|
#include <utility>
|
5
5
|
#include <vector>
|
6
|
+
#include <numeric>
|
6
7
|
|
7
8
|
#include <jsi/jsi.h>
|
8
9
|
#include "JsiSkHostObjects.h"
|
@@ -86,6 +87,28 @@ namespace RNSkia
|
|
86
87
|
return jsiWidths;
|
87
88
|
}
|
88
89
|
|
90
|
+
JSI_HOST_FUNCTION(getTextWidth) {
|
91
|
+
auto str = arguments[0].asString(runtime).utf8(runtime);
|
92
|
+
auto numGlyphIDs = str.length();
|
93
|
+
std::vector<SkGlyphID> glyphs;
|
94
|
+
glyphs.resize(numGlyphIDs);
|
95
|
+
int glyphsSize = static_cast<int>(numGlyphIDs);
|
96
|
+
getObject()->textToGlyphs(str.c_str(), str.length(), SkTextEncoding::kUTF8,
|
97
|
+
static_cast<SkGlyphID *>(glyphs.data()), glyphsSize);
|
98
|
+
std::vector<SkScalar> widthPtrs;
|
99
|
+
widthPtrs.resize(numGlyphIDs);
|
100
|
+
if (count > 1)
|
101
|
+
{
|
102
|
+
auto paint = JsiSkPaint::fromValue(runtime, arguments[1]);
|
103
|
+
getObject()->getWidthsBounds(glyphs.data(), glyphsSize, static_cast<SkScalar *>(widthPtrs.data()), nullptr, paint.get());
|
104
|
+
}
|
105
|
+
else
|
106
|
+
{
|
107
|
+
getObject()->getWidthsBounds(glyphs.data(), glyphsSize, static_cast<SkScalar *>(widthPtrs.data()), nullptr, nullptr);
|
108
|
+
}
|
109
|
+
return jsi::Value(std::accumulate(widthPtrs.begin(), widthPtrs.end(), 0));
|
110
|
+
}
|
111
|
+
|
89
112
|
JSI_HOST_FUNCTION(getMetrics)
|
90
113
|
{
|
91
114
|
SkFontMetrics fm;
|
@@ -273,7 +296,8 @@ namespace RNSkia
|
|
273
296
|
JSI_EXPORT_FUNC(JsiSkFont, setEmbolden),
|
274
297
|
JSI_EXPORT_FUNC(JsiSkFont, setSubpixel),
|
275
298
|
JSI_EXPORT_FUNC(JsiSkFont, setTypeface),
|
276
|
-
JSI_EXPORT_FUNC(JsiSkFont, getGlyphWidths)
|
299
|
+
JSI_EXPORT_FUNC(JsiSkFont, getGlyphWidths),
|
300
|
+
JSI_EXPORT_FUNC(JsiSkFont, getTextWidth))
|
277
301
|
|
278
302
|
JsiSkFont(std::shared_ptr<RNSkPlatformContext> context, const SkFont &font)
|
279
303
|
: JsiSkWrappingSharedPtrHostObject(std::move(context),
|
package/jestSetup.js
ADDED
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.Extrapolate = void 0;
|
7
7
|
exports.interpolate = interpolate;
|
8
|
+
exports.validateInterpolationOptions = validateInterpolationOptions;
|
8
9
|
|
9
10
|
/* eslint-disable max-len */
|
10
11
|
let Extrapolate;
|
@@ -40,7 +41,7 @@ function isExtrapolate(value) {
|
|
40
41
|
// if type is correct, converts it to ExtrapolationConfig
|
41
42
|
|
42
43
|
|
43
|
-
function
|
44
|
+
function validateInterpolationOptions(type) {
|
44
45
|
// initialize extrapolationConfig with default extrapolation
|
45
46
|
const extrapolationConfig = {
|
46
47
|
extrapolateLeft: Extrapolate.EXTEND,
|
@@ -106,7 +107,7 @@ function interpolate(x, input, output, type) {
|
|
106
107
|
throw Error("Interpolation input and output should contain at least two values.");
|
107
108
|
}
|
108
109
|
|
109
|
-
const extrapolationConfig =
|
110
|
+
const extrapolationConfig = validateInterpolationOptions(type);
|
110
111
|
const {
|
111
112
|
length
|
112
113
|
} = input;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["interpolate.ts"],"names":["Extrapolate","getVal","type","coef","val","leftEdgeOutput","rightEdgeOutput","x","IDENTITY","CLAMP","EXTEND","isExtrapolate","value","
|
1
|
+
{"version":3,"sources":["interpolate.ts"],"names":["Extrapolate","getVal","type","coef","val","leftEdgeOutput","rightEdgeOutput","x","IDENTITY","CLAMP","EXTEND","isExtrapolate","value","validateInterpolationOptions","extrapolationConfig","extrapolateLeft","extrapolateRight","Error","Object","assign","internalInterpolate","narrowedInput","leftEdgeInput","rightEdgeInput","progress","interpolate","input","output","length","i"],"mappings":"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","sourcesContent":["/* eslint-disable max-len */\nexport enum Extrapolate {\n IDENTITY = \"identity\",\n CLAMP = \"clamp\",\n EXTEND = \"extend\",\n}\n\ninterface InterpolationNarrowedInput {\n leftEdgeInput: number;\n rightEdgeInput: number;\n leftEdgeOutput: number;\n rightEdgeOutput: number;\n}\n\nexport interface ExtrapolationConfig {\n extrapolateLeft?: Extrapolate | string;\n extrapolateRight?: Extrapolate | string;\n}\n\ninterface RequiredExtrapolationConfig {\n extrapolateLeft: Extrapolate;\n extrapolateRight: Extrapolate;\n}\n\nexport type ExtrapolationType =\n | ExtrapolationConfig\n | Extrapolate\n | string\n | undefined;\n\nfunction getVal(\n type: Extrapolate,\n coef: number,\n val: number,\n leftEdgeOutput: number,\n rightEdgeOutput: number,\n x: number\n): number {\n switch (type) {\n case Extrapolate.IDENTITY:\n return x;\n case Extrapolate.CLAMP:\n if (coef * val < coef * leftEdgeOutput) {\n return leftEdgeOutput;\n }\n return rightEdgeOutput;\n case Extrapolate.EXTEND:\n default:\n return val;\n }\n}\n\nfunction isExtrapolate(value: string): value is Extrapolate {\n return (\n value === Extrapolate.EXTEND ||\n value === Extrapolate.CLAMP ||\n value === Extrapolate.IDENTITY\n );\n}\n\n// validates extrapolations type\n// if type is correct, converts it to ExtrapolationConfig\nexport function validateInterpolationOptions(\n type: ExtrapolationType\n): RequiredExtrapolationConfig {\n // initialize extrapolationConfig with default extrapolation\n const extrapolationConfig: RequiredExtrapolationConfig = {\n extrapolateLeft: Extrapolate.EXTEND,\n extrapolateRight: Extrapolate.EXTEND,\n };\n\n if (!type) {\n return extrapolationConfig;\n }\n\n if (typeof type === \"string\") {\n if (!isExtrapolate(type)) {\n throw new Error(\n `No supported value for \"interpolate\" \\nSupported values: [\"extend\", \"clamp\", \"identity\", Extrapolatation.CLAMP, Extrapolatation.EXTEND, Extrapolatation.IDENTITY]\\n Valid example:\n interpolate(value, [inputRange], [outputRange], \"clamp\")`\n );\n }\n extrapolationConfig.extrapolateLeft = type;\n extrapolationConfig.extrapolateRight = type;\n return extrapolationConfig;\n }\n\n // otherwise type is extrapolation config object\n if (\n (type.extrapolateLeft && !isExtrapolate(type.extrapolateLeft)) ||\n (type.extrapolateRight && !isExtrapolate(type.extrapolateRight))\n ) {\n throw new Error(\n `No supported value for \"interpolate\" \\nSupported values: [\"extend\", \"clamp\", \"identity\", Extrapolatation.CLAMP, Extrapolatation.EXTEND, Extrapolatation.IDENTITY]\\n Valid example:\n interpolate(value, [inputRange], [outputRange], {\n extrapolateLeft: Extrapolation.CLAMP,\n extrapolateRight: Extrapolation.IDENTITY\n }})`\n );\n }\n\n Object.assign(extrapolationConfig, type);\n return extrapolationConfig;\n}\n\nfunction internalInterpolate(\n x: number,\n narrowedInput: InterpolationNarrowedInput,\n extrapolationConfig: RequiredExtrapolationConfig\n) {\n const { leftEdgeInput, rightEdgeInput, leftEdgeOutput, rightEdgeOutput } =\n narrowedInput;\n if (rightEdgeInput - leftEdgeInput === 0) {\n return leftEdgeOutput;\n }\n const progress = (x - leftEdgeInput) / (rightEdgeInput - leftEdgeInput);\n const val = leftEdgeOutput + progress * (rightEdgeOutput - leftEdgeOutput);\n const coef = rightEdgeOutput >= leftEdgeOutput ? 1 : -1;\n\n if (coef * val < coef * leftEdgeOutput) {\n return getVal(\n extrapolationConfig.extrapolateLeft,\n coef,\n val,\n leftEdgeOutput,\n rightEdgeOutput,\n x\n );\n } else if (coef * val > coef * rightEdgeOutput) {\n return getVal(\n extrapolationConfig.extrapolateRight,\n coef,\n val,\n leftEdgeOutput,\n rightEdgeOutput,\n x\n );\n }\n\n return val;\n}\n\n// e.g. function interpolate(x, input, output, type = Extrapolatation.CLAMP)\nexport function interpolate(\n x: number,\n input: readonly number[],\n output: readonly number[],\n type?: ExtrapolationType\n): number {\n if (input.length < 2 || output.length < 2) {\n throw Error(\n \"Interpolation input and output should contain at least two values.\"\n );\n }\n\n const extrapolationConfig = validateInterpolationOptions(type);\n const { length } = input;\n const narrowedInput: InterpolationNarrowedInput = {\n leftEdgeInput: input[0],\n rightEdgeInput: input[1],\n leftEdgeOutput: output[0],\n rightEdgeOutput: output[1],\n };\n if (length > 2) {\n if (x > input[length - 1]) {\n narrowedInput.leftEdgeInput = input[length - 2];\n narrowedInput.rightEdgeInput = input[length - 1];\n narrowedInput.leftEdgeOutput = output[length - 2];\n narrowedInput.rightEdgeOutput = output[length - 1];\n } else {\n for (let i = 1; i < length; ++i) {\n if (x <= input[i]) {\n narrowedInput.leftEdgeInput = input[i - 1];\n narrowedInput.rightEdgeInput = input[i];\n narrowedInput.leftEdgeOutput = output[i - 1];\n narrowedInput.rightEdgeOutput = output[i];\n break;\n }\n }\n }\n }\n\n return internalInterpolate(x, narrowedInput, extrapolationConfig);\n}\n"]}
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.mixColors = exports.interpolateColors = void 0;
|
7
7
|
|
8
|
-
var
|
8
|
+
var _math = require("../../renderer/processors/math");
|
9
9
|
|
10
10
|
var _skia = require("../../skia");
|
11
11
|
|
@@ -32,7 +32,7 @@ const mixColors = (value, x, y) => {
|
|
32
32
|
|
33
33
|
const c2 = _skia.Skia.Color(y);
|
34
34
|
|
35
|
-
return new Float32Array([(0,
|
35
|
+
return new Float32Array([(0, _math.mix)(value, c1[0], c2[0]), (0, _math.mix)(value, c1[1], c2[1]), (0, _math.mix)(value, c1[2], c2[2]), (0, _math.mix)(value, c1[3], c2[3])]);
|
36
36
|
};
|
37
37
|
|
38
38
|
exports.mixColors = mixColors;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["interpolateColors.ts"],"names":["interpolateColorsRGB","value","inputRange","outputRange","r","map","c","g","b","a","Float32Array","interpolateColors","_outputRange","cl","Skia","Color","mixColors","x","y","c1","c2"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;AAEA,MAAMA,oBAAoB,GAAG,CAC3BC,KAD2B,EAE3BC,UAF2B,EAG3BC,WAH2B,KAIxB;AACH,QAAMC,CAAC,GAAG,8BACRH,KADQ,EAERC,UAFQ,EAGRC,WAAW,CAACE,GAAZ,CAAiBC,CAAD,IAAOA,CAAC,CAAC,CAAD,CAAxB,CAHQ,EAIR,OAJQ,CAAV;AAMA,QAAMC,CAAC,GAAG,8BACRN,KADQ,EAERC,UAFQ,EAGRC,WAAW,CAACE,GAAZ,CAAiBC,CAAD,IAAOA,CAAC,CAAC,CAAD,CAAxB,CAHQ,EAIR,OAJQ,CAAV;AAMA,QAAME,CAAC,GAAG,8BACRP,KADQ,EAERC,UAFQ,EAGRC,WAAW,CAACE,GAAZ,CAAiBC,CAAD,IAAOA,CAAC,CAAC,CAAD,CAAxB,CAHQ,EAIR,OAJQ,CAAV;AAMA,QAAMG,CAAC,GAAG,8BACRR,KADQ,EAERC,UAFQ,EAGRC,WAAW,CAACE,GAAZ,CAAiBC,CAAD,IAAOA,CAAC,CAAC,CAAD,CAAxB,CAHQ,EAIR,OAJQ,CAAV;AAMA,SAAO,IAAII,YAAJ,CAAiB,CAACN,CAAD,EAAIG,CAAJ,EAAOC,CAAP,EAAUC,CAAV,CAAjB,CAAP;AACD,CA9BD;;AAgCO,MAAME,iBAAiB,GAAG,CAC/BV,KAD+B,EAE/BC,UAF+B,EAG/BU,YAH+B,KAI5B;AACH,QAAMT,WAAW,GAAGS,YAAY,CAACP,GAAb,CAAkBQ,EAAD,IAAQC,WAAKC,KAAL,CAAWF,EAAX,CAAzB,CAApB;;AACA,SAAOb,oBAAoB,CAACC,KAAD,EAAQC,UAAR,EAAoBC,WAApB,CAA3B;AACD,CAPM;;;;AASA,MAAMa,SAAS,GAAG,CAACf,KAAD,EAAgBgB,CAAhB,EAA0BC,CAA1B,KAAuC;AAC9D,QAAMC,EAAE,GAAGL,WAAKC,KAAL,CAAWE,CAAX,CAAX;;AACA,QAAMG,EAAE,GAAGN,WAAKC,KAAL,CAAWG,CAAX,CAAX;;AACA,SAAO,IAAIR,YAAJ,CAAiB,CACtB,
|
1
|
+
{"version":3,"sources":["interpolateColors.ts"],"names":["interpolateColorsRGB","value","inputRange","outputRange","r","map","c","g","b","a","Float32Array","interpolateColors","_outputRange","cl","Skia","Color","mixColors","x","y","c1","c2"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;AAEA,MAAMA,oBAAoB,GAAG,CAC3BC,KAD2B,EAE3BC,UAF2B,EAG3BC,WAH2B,KAIxB;AACH,QAAMC,CAAC,GAAG,8BACRH,KADQ,EAERC,UAFQ,EAGRC,WAAW,CAACE,GAAZ,CAAiBC,CAAD,IAAOA,CAAC,CAAC,CAAD,CAAxB,CAHQ,EAIR,OAJQ,CAAV;AAMA,QAAMC,CAAC,GAAG,8BACRN,KADQ,EAERC,UAFQ,EAGRC,WAAW,CAACE,GAAZ,CAAiBC,CAAD,IAAOA,CAAC,CAAC,CAAD,CAAxB,CAHQ,EAIR,OAJQ,CAAV;AAMA,QAAME,CAAC,GAAG,8BACRP,KADQ,EAERC,UAFQ,EAGRC,WAAW,CAACE,GAAZ,CAAiBC,CAAD,IAAOA,CAAC,CAAC,CAAD,CAAxB,CAHQ,EAIR,OAJQ,CAAV;AAMA,QAAMG,CAAC,GAAG,8BACRR,KADQ,EAERC,UAFQ,EAGRC,WAAW,CAACE,GAAZ,CAAiBC,CAAD,IAAOA,CAAC,CAAC,CAAD,CAAxB,CAHQ,EAIR,OAJQ,CAAV;AAMA,SAAO,IAAII,YAAJ,CAAiB,CAACN,CAAD,EAAIG,CAAJ,EAAOC,CAAP,EAAUC,CAAV,CAAjB,CAAP;AACD,CA9BD;;AAgCO,MAAME,iBAAiB,GAAG,CAC/BV,KAD+B,EAE/BC,UAF+B,EAG/BU,YAH+B,KAI5B;AACH,QAAMT,WAAW,GAAGS,YAAY,CAACP,GAAb,CAAkBQ,EAAD,IAAQC,WAAKC,KAAL,CAAWF,EAAX,CAAzB,CAApB;;AACA,SAAOb,oBAAoB,CAACC,KAAD,EAAQC,UAAR,EAAoBC,WAApB,CAA3B;AACD,CAPM;;;;AASA,MAAMa,SAAS,GAAG,CAACf,KAAD,EAAgBgB,CAAhB,EAA0BC,CAA1B,KAAuC;AAC9D,QAAMC,EAAE,GAAGL,WAAKC,KAAL,CAAWE,CAAX,CAAX;;AACA,QAAMG,EAAE,GAAGN,WAAKC,KAAL,CAAWG,CAAX,CAAX;;AACA,SAAO,IAAIR,YAAJ,CAAiB,CACtB,eAAIT,KAAJ,EAAWkB,EAAE,CAAC,CAAD,CAAb,EAAkBC,EAAE,CAAC,CAAD,CAApB,CADsB,EAEtB,eAAInB,KAAJ,EAAWkB,EAAE,CAAC,CAAD,CAAb,EAAkBC,EAAE,CAAC,CAAD,CAApB,CAFsB,EAGtB,eAAInB,KAAJ,EAAWkB,EAAE,CAAC,CAAD,CAAb,EAAkBC,EAAE,CAAC,CAAD,CAApB,CAHsB,EAItB,eAAInB,KAAJ,EAAWkB,EAAE,CAAC,CAAD,CAAb,EAAkBC,EAAE,CAAC,CAAD,CAApB,CAJsB,CAAjB,CAAP;AAMD,CATM","sourcesContent":["import { mix } from \"../../renderer/processors/math\";\nimport type { Color, SkColor } from \"../../skia\";\nimport { Skia } from \"../../skia\";\n\nimport { interpolate } from \"./interpolate\";\n\nconst interpolateColorsRGB = (\n value: number,\n inputRange: number[],\n outputRange: SkColor[]\n) => {\n const r = interpolate(\n value,\n inputRange,\n outputRange.map((c) => c[0]),\n \"clamp\"\n );\n const g = interpolate(\n value,\n inputRange,\n outputRange.map((c) => c[1]),\n \"clamp\"\n );\n const b = interpolate(\n value,\n inputRange,\n outputRange.map((c) => c[2]),\n \"clamp\"\n );\n const a = interpolate(\n value,\n inputRange,\n outputRange.map((c) => c[3]),\n \"clamp\"\n );\n return new Float32Array([r, g, b, a]);\n};\n\nexport const interpolateColors = (\n value: number,\n inputRange: number[],\n _outputRange: Color[]\n) => {\n const outputRange = _outputRange.map((cl) => Skia.Color(cl));\n return interpolateColorsRGB(value, inputRange, outputRange);\n};\n\nexport const mixColors = (value: number, x: Color, y: Color) => {\n const c1 = Skia.Color(x);\n const c2 = Skia.Color(y);\n return new Float32Array([\n mix(value, c1[0], c2[0]),\n mix(value, c1[1], c2[1]),\n mix(value, c1[2], c2[2]),\n mix(value, c1[3], c2[3]),\n ]);\n};\n"]}
|
@@ -5,11 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.interpolatePaths = void 0;
|
7
7
|
|
8
|
+
var _typeddash = require("../../renderer/typeddash");
|
9
|
+
|
10
|
+
var _interpolate = require("./interpolate");
|
11
|
+
|
12
|
+
const lerp = (value, from, to, p1, p2) => {
|
13
|
+
const t = (value - from) / (to - from);
|
14
|
+
return p2.interpolate(p1, t);
|
15
|
+
};
|
8
16
|
/**
|
9
17
|
* Maps an input value within a range to an output path within a path range.
|
10
18
|
* @param value - The input value.
|
11
19
|
* @param inputRange - The range of the input value.
|
12
20
|
* @param outputRange - The range of the output path.
|
21
|
+
* @param options - Extrapolation options
|
13
22
|
* @returns The output path.
|
14
23
|
* @example <caption>Map a value between 0 and 1 to a path between two paths.</caption>
|
15
24
|
* const path1 = new Path();
|
@@ -20,25 +29,50 @@ exports.interpolatePaths = void 0;
|
|
20
29
|
* path2.lineTo(0, 100);
|
21
30
|
* const path = interpolatePath(0.5, [0, 1], [path1, path2]);
|
22
31
|
*/
|
23
|
-
|
32
|
+
|
33
|
+
|
34
|
+
const interpolatePaths = (value, input, outputRange, options) => {
|
35
|
+
const extrapolation = (0, _interpolate.validateInterpolationOptions)(options);
|
36
|
+
|
37
|
+
if (value < input[0]) {
|
38
|
+
switch (extrapolation.extrapolateLeft) {
|
39
|
+
case _interpolate.Extrapolate.CLAMP:
|
40
|
+
return outputRange[0];
|
41
|
+
|
42
|
+
case _interpolate.Extrapolate.EXTEND:
|
43
|
+
return lerp(value, input[0], input[1], outputRange[0], outputRange[1]);
|
44
|
+
|
45
|
+
case _interpolate.Extrapolate.IDENTITY:
|
46
|
+
throw new Error("Identity is not a supported extrapolation type for interpolatePaths()");
|
47
|
+
|
48
|
+
default:
|
49
|
+
(0, _typeddash.exhaustiveCheck)(extrapolation.extrapolateLeft);
|
50
|
+
}
|
51
|
+
} else if (value > input[input.length - 1]) {
|
52
|
+
switch (extrapolation.extrapolateRight) {
|
53
|
+
case _interpolate.Extrapolate.CLAMP:
|
54
|
+
return outputRange[outputRange.length - 1];
|
55
|
+
|
56
|
+
case _interpolate.Extrapolate.EXTEND:
|
57
|
+
return lerp(value, input[input.length - 2], input[input.length - 1], outputRange[input.length - 2], outputRange[input.length - 1]);
|
58
|
+
|
59
|
+
case _interpolate.Extrapolate.IDENTITY:
|
60
|
+
throw new Error("Identity is not a supported extrapolation type for interpolatePaths()");
|
61
|
+
|
62
|
+
default:
|
63
|
+
(0, _typeddash.exhaustiveCheck)(extrapolation.extrapolateRight);
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
24
67
|
let i = 0;
|
25
68
|
|
26
69
|
for (; i <= input.length - 1; i++) {
|
27
70
|
if (value >= input[i] && value <= input[i + 1]) {
|
28
71
|
break;
|
29
72
|
}
|
30
|
-
|
31
|
-
if (i === input.length - 1) {
|
32
|
-
if (value < input[0]) {
|
33
|
-
return outputRange[0];
|
34
|
-
} else {
|
35
|
-
return outputRange[i];
|
36
|
-
}
|
37
|
-
}
|
38
73
|
}
|
39
74
|
|
40
|
-
|
41
|
-
return outputRange[i + 1].interpolate(outputRange[i], t);
|
75
|
+
return lerp(value, input[i], input[i + 1], outputRange[i], outputRange[i + 1]);
|
42
76
|
};
|
43
77
|
|
44
78
|
exports.interpolatePaths = interpolatePaths;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["interpolatePaths.ts"],"names":["
|
1
|
+
{"version":3,"sources":["interpolatePaths.ts"],"names":["lerp","value","from","to","p1","p2","t","interpolate","interpolatePaths","input","outputRange","options","extrapolation","extrapolateLeft","Extrapolate","CLAMP","EXTEND","IDENTITY","Error","length","extrapolateRight","i"],"mappings":";;;;;;;AACA;;AAGA;;AAEA,MAAMA,IAAI,GAAG,CACXC,KADW,EAEXC,IAFW,EAGXC,EAHW,EAIXC,EAJW,EAKXC,EALW,KAMR;AACH,QAAMC,CAAC,GAAG,CAACL,KAAK,GAAGC,IAAT,KAAkBC,EAAE,GAAGD,IAAvB,CAAV;AACA,SAAOG,EAAE,CAACE,WAAH,CAAeH,EAAf,EAAmBE,CAAnB,CAAP;AACD,CATD;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAME,gBAAgB,GAAG,CAC9BP,KAD8B,EAE9BQ,KAF8B,EAG9BC,WAH8B,EAI9BC,OAJ8B,KAK3B;AACH,QAAMC,aAAa,GAAG,+CAA6BD,OAA7B,CAAtB;;AACA,MAAIV,KAAK,GAAGQ,KAAK,CAAC,CAAD,CAAjB,EAAsB;AACpB,YAAQG,aAAa,CAACC,eAAtB;AACE,WAAKC,yBAAYC,KAAjB;AACE,eAAOL,WAAW,CAAC,CAAD,CAAlB;;AACF,WAAKI,yBAAYE,MAAjB;AACE,eAAOhB,IAAI,CAACC,KAAD,EAAQQ,KAAK,CAAC,CAAD,CAAb,EAAkBA,KAAK,CAAC,CAAD,CAAvB,EAA4BC,WAAW,CAAC,CAAD,CAAvC,EAA4CA,WAAW,CAAC,CAAD,CAAvD,CAAX;;AACF,WAAKI,yBAAYG,QAAjB;AACE,cAAM,IAAIC,KAAJ,CACJ,uEADI,CAAN;;AAGF;AACE,wCAAgBN,aAAa,CAACC,eAA9B;AAVJ;AAYD,GAbD,MAaO,IAAIZ,KAAK,GAAGQ,KAAK,CAACA,KAAK,CAACU,MAAN,GAAe,CAAhB,CAAjB,EAAqC;AAC1C,YAAQP,aAAa,CAACQ,gBAAtB;AACE,WAAKN,yBAAYC,KAAjB;AACE,eAAOL,WAAW,CAACA,WAAW,CAACS,MAAZ,GAAqB,CAAtB,CAAlB;;AACF,WAAKL,yBAAYE,MAAjB;AACE,eAAOhB,IAAI,CACTC,KADS,EAETQ,KAAK,CAACA,KAAK,CAACU,MAAN,GAAe,CAAhB,CAFI,EAGTV,KAAK,CAACA,KAAK,CAACU,MAAN,GAAe,CAAhB,CAHI,EAITT,WAAW,CAACD,KAAK,CAACU,MAAN,GAAe,CAAhB,CAJF,EAKTT,WAAW,CAACD,KAAK,CAACU,MAAN,GAAe,CAAhB,CALF,CAAX;;AAOF,WAAKL,yBAAYG,QAAjB;AACE,cAAM,IAAIC,KAAJ,CACJ,uEADI,CAAN;;AAGF;AACE,wCAAgBN,aAAa,CAACQ,gBAA9B;AAhBJ;AAkBD;;AACD,MAAIC,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,IAAIZ,KAAK,CAACU,MAAN,GAAe,CAA3B,EAA8BE,CAAC,EAA/B,EAAmC;AACjC,QAAIpB,KAAK,IAAIQ,KAAK,CAACY,CAAD,CAAd,IAAqBpB,KAAK,IAAIQ,KAAK,CAACY,CAAC,GAAG,CAAL,CAAvC,EAAgD;AAC9C;AACD;AACF;;AACD,SAAOrB,IAAI,CACTC,KADS,EAETQ,KAAK,CAACY,CAAD,CAFI,EAGTZ,KAAK,CAACY,CAAC,GAAG,CAAL,CAHI,EAITX,WAAW,CAACW,CAAD,CAJF,EAKTX,WAAW,CAACW,CAAC,GAAG,CAAL,CALF,CAAX;AAOD,CArDM","sourcesContent":["import type { SkPath } from \"../../skia/types\";\nimport { exhaustiveCheck } from \"../../renderer/typeddash\";\n\nimport type { ExtrapolationType } from \"./interpolate\";\nimport { validateInterpolationOptions, Extrapolate } from \"./interpolate\";\n\nconst lerp = (\n value: number,\n from: number,\n to: number,\n p1: SkPath,\n p2: SkPath\n) => {\n const t = (value - from) / (to - from);\n return p2.interpolate(p1, t)!;\n};\n\n/**\n * Maps an input value within a range to an output path within a path range.\n * @param value - The input value.\n * @param inputRange - The range of the input value.\n * @param outputRange - The range of the output path.\n * @param options - Extrapolation options\n * @returns The output path.\n * @example <caption>Map a value between 0 and 1 to a path between two paths.</caption>\n * const path1 = new Path();\n * path1.moveTo(0, 0);\n * path1.lineTo(100, 0);\n * const path2 = new Path();\n * path2.moveTo(0, 0);\n * path2.lineTo(0, 100);\n * const path = interpolatePath(0.5, [0, 1], [path1, path2]);\n */\nexport const interpolatePaths = (\n value: number,\n input: number[],\n outputRange: SkPath[],\n options?: ExtrapolationType\n) => {\n const extrapolation = validateInterpolationOptions(options);\n if (value < input[0]) {\n switch (extrapolation.extrapolateLeft) {\n case Extrapolate.CLAMP:\n return outputRange[0];\n case Extrapolate.EXTEND:\n return lerp(value, input[0], input[1], outputRange[0], outputRange[1]);\n case Extrapolate.IDENTITY:\n throw new Error(\n \"Identity is not a supported extrapolation type for interpolatePaths()\"\n );\n default:\n exhaustiveCheck(extrapolation.extrapolateLeft);\n }\n } else if (value > input[input.length - 1]) {\n switch (extrapolation.extrapolateRight) {\n case Extrapolate.CLAMP:\n return outputRange[outputRange.length - 1];\n case Extrapolate.EXTEND:\n return lerp(\n value,\n input[input.length - 2],\n input[input.length - 1],\n outputRange[input.length - 2],\n outputRange[input.length - 1]\n );\n case Extrapolate.IDENTITY:\n throw new Error(\n \"Identity is not a supported extrapolation type for interpolatePaths()\"\n );\n default:\n exhaustiveCheck(extrapolation.extrapolateRight);\n }\n }\n let i = 0;\n for (; i <= input.length - 1; i++) {\n if (value >= input[i] && value <= input[i + 1]) {\n break;\n }\n }\n return lerp(\n value,\n input[i],\n input[i + 1],\n outputRange[i],\n outputRange[i + 1]\n );\n};\n"]}
|
@@ -3,188 +3,132 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.vec = exports.
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
Matrix: Noop,
|
43
|
-
ColorFilter: {
|
44
|
-
MakeMatrix: Noop,
|
45
|
-
MakeBlend: Noop,
|
46
|
-
MakeCompose: Noop,
|
47
|
-
MakeLerp: Noop,
|
48
|
-
MakeLinearToSRGBGamma: Noop,
|
49
|
-
MakeSRGBToLinearGamma: Noop,
|
50
|
-
MakeLumaColorFilter: Noop
|
51
|
-
},
|
52
|
-
Font: Noop,
|
53
|
-
Typeface: {
|
54
|
-
MakeFreeTypeFaceFromData: Noop
|
55
|
-
},
|
56
|
-
MaskFilter: {
|
57
|
-
MakeBlur: Noop
|
58
|
-
},
|
59
|
-
RuntimeEffect: {
|
60
|
-
Make: Noop
|
61
|
-
},
|
62
|
-
ImageFilter: {
|
63
|
-
MakeOffset: Noop,
|
64
|
-
MakeDisplacementMap: Noop,
|
65
|
-
MakeShader: Noop,
|
66
|
-
MakeBlur: Noop,
|
67
|
-
MakeColorFilter: Noop,
|
68
|
-
MakeCompose: Noop,
|
69
|
-
MakeDropShadow: Noop,
|
70
|
-
MakeDropShadowOnly: Noop,
|
71
|
-
MakeErode: Noop,
|
72
|
-
MakeDilate: Noop,
|
73
|
-
MakeBlend: Noop,
|
74
|
-
MakeRuntimeShader: Noop
|
75
|
-
},
|
76
|
-
Shader: {
|
77
|
-
MakeLinearGradient: Noop,
|
78
|
-
MakeRadialGradient: Noop,
|
79
|
-
MakeTwoPointConicalGradient: Noop,
|
80
|
-
MakeSweepGradient: Noop,
|
81
|
-
MakeTurbulence: Noop,
|
82
|
-
MakeFractalNoise: Noop,
|
83
|
-
MakeBlend: Noop,
|
84
|
-
MakeColor: Noop
|
85
|
-
},
|
86
|
-
PathEffect: {
|
87
|
-
MakeCorner: Noop,
|
88
|
-
MakeDash: Noop,
|
89
|
-
MakeDiscrete: Noop,
|
90
|
-
MakeCompose: Noop,
|
91
|
-
MakeSum: Noop,
|
92
|
-
MakeLine2D: Noop,
|
93
|
-
MakePath1D: Noop,
|
94
|
-
MakePath2D: Noop
|
95
|
-
},
|
96
|
-
MakeVertices: Noop,
|
97
|
-
Data: {
|
98
|
-
fromURI: Noop,
|
99
|
-
fromBytes: Noop,
|
100
|
-
fromBase64: Noop
|
101
|
-
},
|
102
|
-
Image: {
|
103
|
-
MakeImageFromEncoded: Noop,
|
104
|
-
MakeImage: Noop
|
105
|
-
},
|
106
|
-
SVG: {
|
107
|
-
MakeFromData: Noop,
|
108
|
-
MakeFromString: Noop
|
109
|
-
},
|
110
|
-
FontMgr: {
|
111
|
-
RefDefault: Noop
|
112
|
-
},
|
113
|
-
TextBlob: {
|
114
|
-
MakeFromText: Noop,
|
115
|
-
MakeFromGlyphs: Noop,
|
116
|
-
MakeFromRSXform: Noop,
|
117
|
-
MakeFromRSXformGlyphs: Noop
|
118
|
-
},
|
119
|
-
Surface: {
|
120
|
-
Make: Noop
|
6
|
+
exports.vec = exports.Skia = exports.Mock = void 0;
|
7
|
+
|
8
|
+
var Values = _interopRequireWildcard(require("../values/web"));
|
9
|
+
|
10
|
+
var ValuesHooks = _interopRequireWildcard(require("../values/hooks"));
|
11
|
+
|
12
|
+
var BaseSkia = _interopRequireWildcard(require("../skia/types"));
|
13
|
+
|
14
|
+
var _useSharedValueEffect = require("../external/reanimated/useSharedValueEffect");
|
15
|
+
|
16
|
+
var timingFunctions = _interopRequireWildcard(require("../animation/timing"));
|
17
|
+
|
18
|
+
var springFunctions = _interopRequireWildcard(require("../animation/spring"));
|
19
|
+
|
20
|
+
var decayFunctions = _interopRequireWildcard(require("../animation/decay"));
|
21
|
+
|
22
|
+
var interpolateFn = _interopRequireWildcard(require("../animation/functions/interpolate"));
|
23
|
+
|
24
|
+
var interpolatePathFn = _interopRequireWildcard(require("../animation/functions/interpolatePaths"));
|
25
|
+
|
26
|
+
var interpolateVectorFn = _interopRequireWildcard(require("../animation/functions/interpolateVector"));
|
27
|
+
|
28
|
+
var _ShaderLib = require("../renderer/components/shaders/ShaderLib");
|
29
|
+
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
31
|
+
|
32
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
33
|
+
|
34
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
35
|
+
class Stub {
|
36
|
+
constructor() {
|
37
|
+
return new Proxy(() => {}, {
|
38
|
+
get: () => new Stub(),
|
39
|
+
apply: () => new Stub(),
|
40
|
+
set: () => true
|
41
|
+
});
|
121
42
|
}
|
122
|
-
};
|
123
|
-
exports.Skia = Skia;
|
124
43
|
|
125
|
-
|
126
|
-
x,
|
127
|
-
y
|
128
|
-
});
|
44
|
+
}
|
129
45
|
|
130
|
-
|
46
|
+
const Noop = () => {};
|
131
47
|
|
132
|
-
const
|
133
|
-
|
134
|
-
y,
|
135
|
-
width,
|
136
|
-
height
|
137
|
-
});
|
48
|
+
const Skia = new Stub();
|
49
|
+
exports.Skia = Skia;
|
138
50
|
|
139
|
-
|
51
|
+
const vec = (x, y) => {
|
52
|
+
var _ref;
|
140
53
|
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
}
|
54
|
+
return {
|
55
|
+
x: x !== null && x !== void 0 ? x : 0,
|
56
|
+
y: (_ref = y !== null && y !== void 0 ? y : x) !== null && _ref !== void 0 ? _ref : 0
|
57
|
+
};
|
58
|
+
};
|
146
59
|
|
147
|
-
exports.
|
148
|
-
const
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
60
|
+
exports.vec = vec;
|
61
|
+
const Mock = {
|
62
|
+
// SkiaExports
|
63
|
+
// 1. Skia API. BaseSkia contains the enums, and functions like isPaint etc
|
64
|
+
Skia,
|
65
|
+
...BaseSkia,
|
66
|
+
// 2. Hooks
|
67
|
+
useDataCollection: Noop,
|
68
|
+
useRawData: Noop,
|
69
|
+
useData: Noop,
|
70
|
+
useFont: Noop,
|
71
|
+
useTypeface: Noop,
|
72
|
+
useImage: Noop,
|
73
|
+
usePath: Noop,
|
74
|
+
useSVG: Noop,
|
75
|
+
useTextPath: Noop,
|
76
|
+
usePaint: Noop,
|
77
|
+
usePicture: Noop,
|
78
|
+
useSvgPath: Noop,
|
79
|
+
// 3. Point/Rect/Transform utilities
|
80
|
+
vec,
|
81
|
+
rect: (x, y, width, height) => ({
|
82
|
+
x,
|
83
|
+
y,
|
84
|
+
width,
|
85
|
+
height
|
86
|
+
}),
|
87
|
+
rrect: (r, rx, ry) => ({
|
88
|
+
rect: r,
|
89
|
+
rx,
|
90
|
+
ry
|
91
|
+
}),
|
92
|
+
point: vec,
|
93
|
+
add: (a, b) => vec(a.x + b.x, a.y + b.y),
|
94
|
+
sub: (a, b) => vec(a.x - b.x, a.y - b.y),
|
95
|
+
neg: a => vec(-a.x, -a.y),
|
96
|
+
dist: (a, b) => Math.hypot(a.x - b.x, a.y - b.y),
|
97
|
+
translate: _ref2 => {
|
98
|
+
let {
|
99
|
+
x,
|
100
|
+
y
|
101
|
+
} = _ref2;
|
102
|
+
return [{
|
103
|
+
translateX: x
|
104
|
+
}, {
|
105
|
+
translateY: y
|
106
|
+
}];
|
107
|
+
},
|
108
|
+
bounds: Noop,
|
109
|
+
topLeft: Noop,
|
110
|
+
topRight: Noop,
|
111
|
+
bottomLeft: Noop,
|
112
|
+
bottomRight: Noop,
|
113
|
+
center: Noop,
|
114
|
+
processTransform2d: Noop,
|
115
|
+
// ExternalExports
|
116
|
+
useSharedValueEffect: _useSharedValueEffect.useSharedValueEffect,
|
117
|
+
// ValueExports
|
118
|
+
...Values,
|
119
|
+
...ValuesHooks,
|
120
|
+
// Animations
|
121
|
+
...timingFunctions,
|
122
|
+
...springFunctions,
|
123
|
+
...decayFunctions,
|
124
|
+
...interpolateFn,
|
125
|
+
...interpolatePathFn,
|
126
|
+
...interpolateVectorFn,
|
127
|
+
interpolateColors: (_value, _inputRange, _outputRange) => Float32Array.of(0, 0, 0, 0),
|
128
|
+
mixColors: (_v, _x, _y) => Float32Array.of(0, 0, 0, 0),
|
129
|
+
ShaderLib: _ShaderLib.ShaderLib,
|
130
|
+
createDrawing: Noop,
|
131
|
+
createDeclaration: Noop
|
132
|
+
};
|
133
|
+
exports.Mock = Mock;
|
190
134
|
//# sourceMappingURL=index.js.map
|