| #ifndef _RIVE_BACKBOARD_HPP_ | |
| #define _RIVE_BACKBOARD_HPP_ | |
| #include "rive/generated/backboard_base.hpp" | |
| namespace rive | |
| { | |
| class Backboard : public BackboardBase | |
| { | |
| #ifdef WITH_RIVE_EDITOR | |
| public: | |
| // Editor-only. `hydrogenPanes` is `"runtime": false` + `"coop": | |
| // false` — it's pure in-memory editor state for the script editor | |
| // panel layout, never wired through coop or the `.riv` file. The | |
| // generator still emits it as an `encoded` pure virtual so the | |
| // class signature stays consistent; we satisfy the vtable with | |
| // no-op stubs. | |
| void decodeHydrogenPanes(Span<const uint8_t>) override {} | |
| void copyHydrogenPanes(const BackboardBase&) override {} | |
| // `stackedPanels` mirrors `hydrogenPanes` — `"runtime": false` + | |
| // `"coop": false`, pure in-memory editor state for the left-hand | |
| // stacked panel layout. Never reaches `.riv` or coop. Empty stubs | |
| // satisfy the vtable. | |
| void decodeStackedPanels(Span<const uint8_t>) override {} | |
| void copyStackedPanels(const BackboardBase&) override {} | |
| #endif | |
| }; | |
| } // namespace rive | |
| #endif |