37 lines
1.2 KiB
C++
37 lines
1.2 KiB
C++
#pragma once
|
|
|
|
/* Read persistent data */ if ( false ) {
|
|
struct {
|
|
bool exists = false;
|
|
std::string filename = "./data/persistent.json";
|
|
} file;
|
|
struct {
|
|
uf::Serializer file;
|
|
} config;
|
|
/* Read from file */ if (( file.exists = config.file.readFromFile(file.filename) )) {
|
|
persistent.window.size.x = config.file["window"]["size"]["x"].asUInt64();
|
|
persistent.window.size.y = config.file["window"]["size"]["y"].asUInt64();
|
|
if ( config.file["window"]["title"] != "null" ) {
|
|
persistent.window.title = config.file["window"]["title"].asString();
|
|
}
|
|
|
|
/* Update window size */ {
|
|
uf::Serializer json;
|
|
std::string hook = "window:Resized";
|
|
json["type"] = hook;
|
|
json["invoker"] = "ext";
|
|
json["window"]["size"]["x"] = persistent.window.size.x;
|
|
json["window"]["size"]["y"] = persistent.window.size.y;
|
|
if ( persistent.window.size.x != 0 && persistent.window.size.y != 0 )
|
|
uf::hooks.call(hook, json);
|
|
}
|
|
/* Update window title */ {
|
|
uf::Serializer json;
|
|
std::string hook = "window:Title.Changed";
|
|
json["type"] = hook;
|
|
json["invoker"] = "ext";
|
|
json["window"]["title"] = std::string(persistent.window.title);
|
|
uf::hooks.call(hook, json);
|
|
}
|
|
}
|
|
} |