return val(typed_memory_view(mWidth * mHeight * 4, mBuffer.get()));
}
+ bool saveTvg()
+ {
+ mErrorMsg = "None";
+
+ auto saver = tvg::Saver::gen();
+ auto duplicate = unique_ptr<tvg::Picture>(static_cast<tvg::Picture*>(mPicture->duplicate()));
+ if (!saver || !duplicate) {
+ mErrorMsg = "Saving initialization failed";
+ return false;
+ }
+ if (saver->save(move(duplicate), "file.tvg") != tvg::Result::Success) {
+ mErrorMsg = "Tvg saving failed";
+ return false;
+ }
+ saver->sync();
+
+ return true;
+ }
+
private:
explicit ThorvgWasm()
{
.function("getDefaultData", &ThorvgWasm::getDefaultData, allow_raw_pointers())
.function("load", &ThorvgWasm::load)
.function("update", &ThorvgWasm::update)
- .function("render", &ThorvgWasm::render);
+ .function("render", &ThorvgWasm::render)
+
+ .function("saveTvg", &ThorvgWasm::saveTvg);
}
[properties]
root = 'EMSDK:upstream/emscripten/system'
-cpp_args = ['--bind' , '-s' , 'WASM=1' , '-s' , 'ALLOW_MEMORY_GROWTH=1' , '-s' , 'FILESYSTEM=0' , '-O2']
-cpp_link_args = ['--bind' , '-s' , 'WASM=1' , '-s' , 'ALLOW_MEMORY_GROWTH=1' , '-s' , 'FILESYSTEM=0' , '-O2']
+cpp_args = ['--bind' , '-s' , 'WASM=1' , '-s' , 'ALLOW_MEMORY_GROWTH=1' , '-s' , 'FORCE_FILESYSTEM=1' , '-O2']
+cpp_link_args = ['--bind' , '-s' , 'WASM=1' , '-s' , 'ALLOW_MEMORY_GROWTH=1' , '-s' , 'FORCE_FILESYSTEM=1' , '-O2']
shared_lib_suffix = 'js'
static_lib_suffix = 'js'
shared_module_suffix = 'js'