25 lines
503 B
C++
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;
|
|
}; |