#pragma once #include #include #include "Device.hpp" struct SDL_Renderer; class DeviceRenderer { public: DeviceRenderer(std::shared_ptr device, uint16_t x, uint16_t y); void Render(SDL_Renderer* renderer) const; void RenderImGui() const; void Deselect(); inline bool Selected() const { return selected; } bool PropagateEvent(SDL_Event* event); private: SDL_FRect bbox; bool selected; bool grabbed; std::shared_ptr device; };