24 lines
437 B
C++
24 lines
437 B
C++
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "interactable.h"
|
||
|
|
|
||
|
|
namespace VISEQ::BASE {
|
||
|
|
class Selectable : public Interactable{
|
||
|
|
public:
|
||
|
|
Selectable() {}
|
||
|
|
|
||
|
|
bool in_selection_rect = false;
|
||
|
|
bool selected = false;
|
||
|
|
|
||
|
|
bool copied = false;
|
||
|
|
bool highlighted = false;
|
||
|
|
bool erase = false;
|
||
|
|
|
||
|
|
virtual bool clicked() override {
|
||
|
|
return (selected || hovering()) && IsMouseButtonPressed(MOUSE_BUTTON_LEFT);
|
||
|
|
}
|
||
|
|
|
||
|
|
virtual void select() = 0;
|
||
|
|
};
|
||
|
|
}
|