You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
579 B
22 lines
579 B
#include "document.hpp"
|
|
#include <fmt/core.h>
|
|
|
|
void Deck::analyze() {
|
|
for(auto& slide : slides) {
|
|
for(auto& node : slide.content) {
|
|
switch(node.type) {
|
|
case NodeType::IMAGE: {
|
|
dbc::check(node.image == nullptr, "Got an image node that's already setup.");
|
|
node.image = std::make_shared<Image>();
|
|
std::string src = std::any_cast<std::string>(node.config.at("src"));
|
|
node.image->load(src);
|
|
break;
|
|
}
|
|
default:
|
|
fmt::println("Skipping unknown node");
|
|
}
|
|
}
|
|
}
|
|
|
|
analyzed = true;
|
|
}
|
|
|