Begin work separating selection code from rectangle select tool

This commit is contained in:
Yousef Khadadeh 2025-07-24 16:35:48 +03:00
parent 7f905f01df
commit ff1355234f
15 changed files with 386 additions and 639 deletions

View file

@ -0,0 +1,23 @@
#pragma once
#include "DrawingProgramCache.hpp"
class DrawingProgram;
class DrawingProgramSelection {
public:
DrawingProgramSelection(DrawingProgram& initDrawP);
void add_from_cam_coord_collider_to_selection(const SCollision::ColliderCollection<float>& cC);
void deselect_all();
void update();
void draw(SkCanvas* canvas, const DrawData& drawData);
bool is_something_selected();
private:
void calculate_aabb();
bool mouse_collided_with_selection_aabb();
SCollision::AABB<WorldScalar> selectionAABB;
CoordSpaceHelper selectionTransformCoords;
std::unordered_set<CollabListType::ObjectInfoPtr> selectedSet;
DrawingProgramCache cache;
DrawingProgram& drawP;
};