network-simulator/gui/include/DeviceRenderer.hpp
2023-06-30 20:47:50 +02:00

25 lines
503 B
C++

#pragma once
#include <memory>
#include <SDL.h>
#include "Device.hpp"
struct SDL_Renderer;
class DeviceRenderer {
public:
DeviceRenderer(std::shared_ptr<Device> 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> device;
};