// No-op raylib / ImGui back-ends + scripted mouse state so the editor's logic can run headless. #include #include #include #include "raylib.h" #include "imgui.h" #include "rlgl.h" void *MemAlloc(unsigned int size) { return calloc(1, size); } void MemFree(void *p) { free(p); } void UploadMesh(Mesh *, bool) {} void UnloadMesh(Mesh m) { MemFree(m.vertices); MemFree(m.texcoords); MemFree(m.normals); MemFree(m.colors); } bool FileExists(const char *) { return false; } bool DirectoryExists(const char *) { return false; } void TraceLog(int, const char *, ...) {} static ImGuiIO g_io; bool g_down[3], g_clicked[3], g_released[3]; ImGuiIO &ImGui::GetIO() { return g_io; } bool ImGui::IsMouseDown(ImGuiMouseButton b) { return g_down[b]; } bool ImGui::IsMouseClicked(ImGuiMouseButton b, bool) { return g_clicked[b]; } bool ImGui::IsMouseReleased(ImGuiMouseButton b) { return g_released[b]; } bool ImGui::IsKeyDown(ImGuiKey) { return false; } bool ImGui::IsKeyPressed(ImGuiKey, bool) { return false; }