Files
pdf/wasm/bindings/wasm_engine.cpp
T

31 lines
817 B
C++

#include <emscripten/emscripten.h>
#include <cstdint>
#include "pdf_engine_facade.hpp"
// Global facade instance
static PdfEngineFacade g_facade;
extern "C" {
EMSCRIPTEN_KEEPALIVE int loadDocument(const uint8_t* buffer, int size) {
return g_facade.loadDocument(buffer, size);
}
EMSCRIPTEN_KEEPALIVE int renderPage(int docHandle, int pageIndex, float scale, uint8_t* outputBuffer, int width, int height) {
return g_facade.renderPage(docHandle, pageIndex, scale, outputBuffer, width, height) ? 1 : 0;
}
EMSCRIPTEN_KEEPALIVE void freeDocument(int docHandle) {
g_facade.freeDocument(docHandle);
}
EMSCRIPTEN_KEEPALIVE const char* engineBuildInfo() {
return PdfEngineFacade::buildInfo();
}
EMSCRIPTEN_KEEPALIVE int engineHasSkia() {
return PdfEngineFacade::hasSkia() ? 1 : 0;
}
} // extern "C"