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