• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1(function(CanvasKit){
2  CanvasKit._extraInitializations = CanvasKit._extraInitializations || [];
3  CanvasKit._extraInitializations.push(function() {
4
5    function Int32ArrayToBidiRegions(int32Array) {
6      if (!int32Array || !int32Array.length) {
7        return [];
8      }
9      let ret = [];
10      for (let i = 0; i < int32Array.length; i+=3) {
11        let start = int32Array[i];
12        let end = int32Array[i+1];
13        let level = int32Array[i+2];
14        ret.push({'start': start, 'end': end, 'level': level});
15      }
16      return ret;
17    }
18
19    CanvasKit.Bidi.getBidiRegions = function(text, textDirection) {
20      let dir = textDirection === CanvasKit.TextDirection.LTR ? 1 : 0;
21      /**
22      * @type {Int32Array}
23      */
24      let int32Array = CanvasKit.Bidi._getBidiRegions(text, dir);
25      return Int32ArrayToBidiRegions(int32Array);
26    }
27
28    CanvasKit.Bidi.reorderVisual = function(visualRuns) {
29      /**
30      * @type {Uint8Array}
31      */
32      let vPtr = copy1dArray(visualRuns, 'HEAPU8');
33      /**
34       * @type {Int32Array}
35       */
36      let int32Array = CanvasKit.Bidi._reorderVisual(vPtr, visualRuns && visualRuns.length || 0);
37      freeArraysThatAreNotMallocedByUsers(vPtr, visualRuns);
38      return int32Array;
39    }
40
41    CanvasKit.CodeUnits.compute = function(text) {
42      /**
43       * @type {Uint16Array}
44       */
45      let uint16Array = CanvasKit.CodeUnits._compute(text);
46      return uint16Array;
47    }
48
49    if (!CanvasKit['TextDirection']) {
50      CanvasKit['TextDirection'] = {
51        'LTR': 1,
52        'RTL': 0,
53      }
54    }
55});
56}(Module)); // When this file is loaded in, the high level object is "Module";
57