| #ifndef _RIVE_DECODED_FILE_HPP_ | |
| #define _RIVE_DECODED_FILE_HPP_ | |
| #include "rive/file.hpp" | |
| #include "rive/refcnt.hpp" | |
| #include "rive/span.hpp" | |
| namespace rive | |
| { | |
| class BindableArtboard; | |
| class ViewModelInstance; | |
| /// context:decodeFile's import, shared by the script backends: embedded | |
| /// assets only (no loader), a VM of its own for any scripts, and only | |
| /// Rive-signed scripts run, whatever this build allows otherwise. | |
| rcp<File> importDecodedFile( | |
| Span<const uint8_t> bytes, | |
| Factory* factory, | |
| ImportResult* result); | |
| /// A decoded file's artboard with an instance of its own view model, which | |
| /// the artboard's binds name; the host's would resolve nothing, or the | |
| /// wrong properties. | |
| struct DecodedBindable | |
| { | |
| rcp<BindableArtboard> artboard; | |
| rcp<ViewModelInstance> viewModel; | |
| }; | |
| /// The named artboard, or the file's default one when name is null; an | |
| /// empty artboard when there is no such artboard. | |
| DecodedBindable decodedBindable(const File& file, const char* name); | |
| } // namespace rive | |
| #endif |