| 147 | } |
| 148 | |
| 149 | void load() |
| 150 | { |
| 151 | // Load the internal imnodes state |
| 152 | ImNodes::LoadCurrentEditorStateFromIniFile("save_load.ini"); |
| 153 | |
| 154 | // Load our editor state into memory |
| 155 | |
| 156 | std::fstream fin("save_load.bytes", std::ios_base::in | std::ios_base::binary); |
| 157 | |
| 158 | if (!fin.is_open()) |
| 159 | { |
| 160 | return; |
| 161 | } |
| 162 | |
| 163 | // copy nodes into memory |
| 164 | size_t num_nodes; |
| 165 | fin.read(reinterpret_cast<char*>(&num_nodes), static_cast<std::streamsize>(sizeof(size_t))); |
| 166 | nodes_.resize(num_nodes); |
| 167 | fin.read( |
| 168 | reinterpret_cast<char*>(nodes_.data()), |
| 169 | static_cast<std::streamsize>(sizeof(Node) * num_nodes)); |
| 170 | |
| 171 | // copy links into memory |
| 172 | size_t num_links; |
| 173 | fin.read(reinterpret_cast<char*>(&num_links), static_cast<std::streamsize>(sizeof(size_t))); |
| 174 | links_.resize(num_links); |
| 175 | fin.read( |
| 176 | reinterpret_cast<char*>(links_.data()), |
| 177 | static_cast<std::streamsize>(sizeof(Link) * num_links)); |
| 178 | |
| 179 | // copy current_id into memory |
| 180 | fin.read(reinterpret_cast<char*>(¤t_id_), static_cast<std::streamsize>(sizeof(int))); |
| 181 | } |
| 182 | |
| 183 | private: |
| 184 | std::vector<Node> nodes_; |
no test coverage detected