ThorVG
v0.5
|
A class for exporting a paint object into a specified file, from which to recover the paint data later. More...
Public Member Functions | |
Result | save (std::unique_ptr< Paint > paint, const std::string &path, bool compress=true) noexcept |
Exports the given paint data to the given path . More... | |
Result | sync () noexcept |
Guarantees that the saving task is finished. More... | |
Static Public Member Functions | |
static std::unique_ptr< Saver > | gen () noexcept |
Creates a new Saver object. More... | |
A class for exporting a paint object into a specified file, from which to recover the paint data later.
ThorVG provides a feature for exporting & importing paint data, the Saver has a role to export it to a file. Basically, this feature is useful when you need to save the composed scene or image from a paint object and recreate it later.
The file format is decided by the extension name(i.e. "*.tvg") while the supported formats depend on the TVG packaging environment. If it doesn't support the file format, it will return the NonSuppport
result by the save() method.
Once you export a paint to the file successfully, you can recreate it using the Picture class.
|
staticnoexcept |
|
noexcept |
Exports the given paint
data to the given path
.
If the saver module supports any compression mechanism, it will optimize the data size. This might affect the encoding/decoding time slow down in cases, You can turn off the compression if your system whole focus on the speed.
[in] | paint | The paint to be saved with all its associated properties. |
[in] | path | A path to the file, in which the paint data is to be saved. |
[in] | compress | Use data compression if it's available. |
Result::Success | When succeed. |
Result::NonSupport | When trying to save a file with an unknown extension nor non supported format. |
Result::Unknown | Others. |
|
noexcept |
Guarantees that the saving task is finished.
The behavior of the saver will work on a sync/async basis, depending on the threading setting of the Initializer. Thus if you wish to have a benefit of it, you must call sync() after the save() in the proper delayed time. Otherwise, you can call sync() immediately.