1cb93a386Sopenharmony_ci/// <reference path="load.ts" /> 2cb93a386Sopenharmony_ci/// <reference path="memory.ts" /> 3cb93a386Sopenharmony_ci/// <reference path="../bindings/extension.d.ts" /> 4cb93a386Sopenharmony_ci/// <reference path="public_api.d.ts" /> 5cb93a386Sopenharmony_ci// eslint-disable-next-line @typescript-eslint/no-unused-vars 6cb93a386Sopenharmony_cinamespace Extension { 7cb93a386Sopenharmony_ci // Module is the C++ module with the private (and some public) bindings on it. 8cb93a386Sopenharmony_ci declare const Module: extension.Bindings; 9cb93a386Sopenharmony_ci declare const CanvasKit: public_api.CanvasKit; 10cb93a386Sopenharmony_ci load.afterLoad(() => { 11cb93a386Sopenharmony_ci /** 12cb93a386Sopenharmony_ci * publicExtension takes the number of rects and returns how 13cb93a386Sopenharmony_ci * many of them have the point (5, 5) in them. 14cb93a386Sopenharmony_ci * @param myRects 15cb93a386Sopenharmony_ci * @ts publicExtension(myRects: InputFlattenedRectArray): void; 16cb93a386Sopenharmony_ci */ 17cb93a386Sopenharmony_ci CanvasKit.publicExtension = (myRects: public_api.InputFlattenedRectArray) => { 18cb93a386Sopenharmony_ci const rPtr = memory.copy1dArray(myRects, 'HEAPF32'); 19cb93a386Sopenharmony_ci const num = Module._privateExtension(rPtr, myRects.length / 4); 20cb93a386Sopenharmony_ci memory.freeIfNecessary(rPtr, myRects); 21cb93a386Sopenharmony_ci return num; 22cb93a386Sopenharmony_ci }; 23cb93a386Sopenharmony_ci 24cb93a386Sopenharmony_ci CanvasKit.withObject = (obj: public_api.CompoundObj) => { 25cb93a386Sopenharmony_ci obj.gamma ||= 1.0; 26cb93a386Sopenharmony_ci Module._withObject(obj); 27cb93a386Sopenharmony_ci }; 28cb93a386Sopenharmony_ci }); 29cb93a386Sopenharmony_ci} 30