2024-11-17 02:40:31 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "interactable.h"
|
2024-11-18 01:57:10 +01:00
|
|
|
#include "vmath.h"
|
2024-11-17 02:40:31 +01:00
|
|
|
|
|
|
|
|
namespace VISEQ::BASE {
|
|
|
|
|
class Selectable : public Interactable{
|
|
|
|
|
public:
|
|
|
|
|
Selectable() {}
|
|
|
|
|
|
|
|
|
|
bool in_selection_rect = false;
|
2026-06-26 01:50:32 +02:00
|
|
|
bool selected = false;
|
2024-11-17 02:40:31 +01:00
|
|
|
|
|
|
|
|
bool copied = false;
|
|
|
|
|
bool highlighted = false;
|
|
|
|
|
bool erase = false;
|
2024-11-18 01:57:10 +01:00
|
|
|
Vec2Df selection_offset;
|
2024-11-17 02:40:31 +01:00
|
|
|
|
2026-06-26 01:50:32 +02:00
|
|
|
void update();
|
2026-05-04 18:40:00 +02:00
|
|
|
virtual bool clicked() override;
|
2024-11-17 02:40:31 +01:00
|
|
|
|
2024-11-26 01:58:09 +01:00
|
|
|
virtual bool select() = 0;
|
2024-12-04 01:43:06 +01:00
|
|
|
virtual void deselect() = 0;
|
2024-11-17 02:40:31 +01:00
|
|
|
};
|
|
|
|
|
}
|