#pragma once #include "render_2D/event/Event.h" #include #include namespace renderive::web { struct Frame_Request {}; struct Viewport_Resize { Size size; }; enum class Demo_Mode : std::uint8_t { Am, Fm, Usb, Lsb }; struct Set_Demo_Mode { Demo_Mode mode = Demo_Mode::Fm; }; struct Set_Center_Frequency { double megahertz = 102.5; }; struct Set_Bandwidth { double kilohertz = 1200.0; }; struct Set_Gain { double decibels{}; }; struct Set_Max_Hold { bool enabled{}; }; struct Set_Smoothing { bool enabled{}; }; struct Clear_Selection {}; enum class Gallery_Request_Kind : std::uint8_t { Catalog, Open, Patch, Action, Observe }; struct Gallery_Request { Gallery_Request_Kind kind = Gallery_Request_Kind::Catalog; std::string message; }; using Web_Event = std::variant; } // namespace renderive::web