#include "mainwindow.h" #include "./ui_mainwindow.h" #include #include #include #include #include #include #include #include "common.h" #include "physics/simulation.h" #include "wayland-pointer-constraints-unstable-v1-client-protocol.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); timer.start(33, this); setMouseTracking(true); } std::chrono::time_point lastTime = std::chrono::steady_clock::now(); void MainWindow::timerEvent(QTimerEvent* evt) { if (evt->timerId() != timer.timerId()) { QWidget::timerEvent(evt); return; } float deltaTime = std::chrono::duration_cast>(std::chrono::steady_clock::now() - lastTime).count(); lastTime = std::chrono::steady_clock::now(); physicsStep(deltaTime); ui->mainWidget->update(); } void MainWindow::updateMainWidget() { ui->mainWidget->update(); } MainWindow::~MainWindow() { delete ui; }