Translation works on selection

This commit is contained in:
Yousef Khadadeh 2025-07-24 19:35:51 +03:00
parent ff1355234f
commit 759f551cd3
9 changed files with 119 additions and 55 deletions

View file

@ -9,15 +9,26 @@ class DrawingProgramSelection {
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);
void draw_components(SkCanvas* canvas, const DrawData& drawData);
void draw_gui(SkCanvas* canvas, const DrawData& drawData);
bool is_something_selected();
bool mouse_collided_with_selection_aabb();
private:
void calculate_aabb();
bool mouse_collided_with_selection_aabb();
void rebuild_cam_space();
SCollision::AABB<WorldScalar> initialSelectionAABB;
SCollision::ColliderCollection<float> camSpaceSelection;
WorldVec selectionRectMin;
WorldVec selectionRectMax;
SCollision::AABB<WorldScalar> selectionAABB;
CoordSpaceHelper selectionTransformCoords;
std::unordered_set<CollabListType::ObjectInfoPtr> selectedSet;
DrawingProgramCache cache;
DrawingProgram& drawP;
struct TranslationData {
bool happening = false;
} translation;
};