#include "FluidSim/Desktop/DesktopUi.hpp" #include #include #include using namespace fluidsim::port::desktop; void check(bool condition,const char* reason) {if(!condition)throw std::runtime_error(reason);} int main() { for(auto size : {sf::Vector2u{933,1010},sf::Vector2u{1920,1080},sf::Vector2u{1040,800},sf::Vector2u{800,700}}) { const auto l=WorkspaceLayout::calculate(size); for(auto r : {l.sidebar,l.viewport,l.chart,l.inspector,l.pedal}) { check(r.position.x>=0 && r.position.y>=0 && r.size.x>0 && r.size.y>0,"invalid panel bounds"); check(r.position.x+r.size.x<=size.x && r.position.y+r.size.y<=size.y,"panel escapes window"); } check(l.sidebar.position.x+l.sidebar.size.x=-75 && camera.distance>.35f,"camera bounds"); check(camera.target.x!=before.x || camera.target.y!=before.y,"camera panning must move target"); std::cout<<"Desktop layout, spring pedal, keyboard travel and orbit camera checks passed\n"; }