![]() |
ThorVG
v0.8
|
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 role is to export the paint data to a file. It's 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, the save() method returns the Result::NonSuppport
result.
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 in some cases. You can turn off the compression if you wish to optimize for 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 | If true then compress data if possible. |
Result::Success | When succeed. |
Result::InsufficientCondition | If currently saving other resources. |
Result::NonSupport | When trying to save a file with an unknown extension or in an unsupported format. |
Result::MemoryCorruption | An internal error. |
Result::Unknown | In case an empty paint is to be saved. |
|
noexcept |
Guarantees that the saving task is finished.
The behavior of the Saver works 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.
Result::Success | when succeed. |
Result::InsufficientCondition | otherwise. |