feat: implemented export and wasm rendering

This commit is contained in:
Furqan-14
2026-06-09 10:39:45 +05:30
parent 5408540847
commit 83e18fff6f
26 changed files with 787 additions and 181 deletions
+15
View File
@@ -12,6 +12,7 @@ export interface WasmEngineInstance {
freeDocument: (handle: number) => void;
engineBuildInfo: () => string;
engineHasSkia: () => boolean;
getTextJson: (handle: number, page: number) => string;
}
class WasmLoader {
@@ -85,6 +86,9 @@ class WasmLoader {
},
engineHasSkia: () => {
return Module.ccall('engineHasSkia', 'number', [], []) !== 0;
},
getTextJson: (handle: number, page: number) => {
return Module.ccall('getPageTextJson', 'string', ['number', 'number'], [handle, page]);
}
};
@@ -131,6 +135,17 @@ class WasmLoader {
},
engineHasSkia: () => {
return true;
},
getTextJson: (handle: number, page: number) => {
void handle;
return JSON.stringify([
{ text: "P", x: 60.0, y: 80.0, w: 6.0, h: 8.0, fontSize: 12.0 },
{ text: "a", x: 66.0, y: 80.0, w: 6.0, h: 8.0, fontSize: 12.0 },
{ text: "g", x: 72.0, y: 80.0, w: 6.0, h: 8.0, fontSize: 12.0 },
{ text: "e", x: 78.0, y: 80.0, w: 6.0, h: 8.0, fontSize: 12.0 },
{ text: " ", x: 84.0, y: 80.0, w: 6.0, h: 8.0, fontSize: 12.0 },
{ text: String(page + 1), x: 90.0, y: 80.0, w: 6.0, h: 8.0, fontSize: 12.0 }
]);
}
};
}