add reload

This commit is contained in:
2026-01-06 23:44:42 +01:00
parent 2d8cba9012
commit 1f8f06de2a
2 changed files with 26 additions and 4 deletions

Binary file not shown.

View File

@@ -1,12 +1,13 @@
#include <print>
#include <thread>
#include <chrono>
#include <filesystem>
#include <RmlUi/Core.h>
#include <RmlUi/Debugger.h>
#include <RmlUi_Backend.h>
#include <RmlUi_Include_Windows.h>
void LoadFonts()
void load_fonts()
{
const Rml::String directory = "assets/";
@@ -48,17 +49,38 @@ int main()
return -1;
}
LoadFonts();
load_fonts();
if (Rml::ElementDocument* document = context->LoadDocument("assets/demo.rml"))
Rml::ElementDocument* document = context->LoadDocument("assets/demo.rml");
if (document)
{
document->Show();
}
const std::wstring assets_path = std::filesystem::absolute(
std::filesystem::current_path() / "assets").wstring();
HANDLE hNotif = FindFirstChangeNotification(assets_path.c_str(),
TRUE, FILE_NOTIFY_CHANGE_LAST_WRITE);
bool running = true;
while (running)
{
// Handle input and window events.
if (const DWORD wait_result = WaitForSingleObject(hNotif, 100);
wait_result == WAIT_OBJECT_0)
{
if (document)
context->UnloadDocument(document);
context->Update();
std::this_thread::sleep_for(std::chrono::milliseconds(100));
document = context->LoadDocument("assets/demo.rml");
if (document)
{
document->ReloadStyleSheet();
document->Show();
}
FindNextChangeNotification(hNotif);
}
running = Backend::ProcessEvents(context);
context->Update();
Backend::BeginFrame();