selection stroke color works again

This commit is contained in:
Yousef Khadadeh 2026-05-18 11:40:29 +03:00
parent 2d6b46aea9
commit ddf2a5c1cd
6 changed files with 17 additions and 0 deletions

View file

@ -94,6 +94,12 @@ void DrawingProgramSelection::phone_selection_gui(PhoneDrawingProgramScreen& t)
});
}
Vector4f* DrawingProgramSelection::color_picker_color(Vector4f* oldColor) {
if(oldColor == &strokeColorChangeData.newColor)
return oldColor;
return nullptr;
}
void DrawingProgramSelection::phone_selection_bottom_toolbar(PhoneDrawingProgramScreen& t) {
using namespace GUIStuff;
using namespace ElementHelpers;

View file

@ -29,6 +29,7 @@ class DrawingProgramSelection {
public:
DrawingProgramSelection(DrawingProgram& initDrawP);
void selection_gui(Toolbar& t);
Vector4f* color_picker_color(Vector4f* oldColor);
void phone_selection_gui(PhoneDrawingProgramScreen& t);
void phone_selection_bottom_toolbar(PhoneDrawingProgramScreen& t);
void add_from_cam_coord_collider_to_selection(const SCollision::ColliderCollection<float>& cC, DrawingProgramLayerManager::LayerSelector layerSelector, bool frontObjectOnly);

View file

@ -138,6 +138,10 @@ void LassoSelectTool::input_mouse_motion_callback(const InputManager::MouseMotio
drawP.selection.input_mouse_motion_callback_modify_selection(motion);
}
Vector4f* LassoSelectTool::color_picker_color(Vector4f* oldColor) {
return drawP.selection.color_picker_color(oldColor);
}
void LassoSelectTool::erase_component(CanvasComponentContainer::ObjInfo* erasedComp) {
}

View file

@ -37,6 +37,7 @@ class LassoSelectTool : public DrawingProgramToolBase {
virtual void draw(SkCanvas* canvas, const DrawData& drawData) override;
virtual void switch_tool(DrawingProgramToolType newTool) override;
virtual bool prevent_undo_or_redo() override;
virtual Vector4f* color_picker_color(Vector4f* oldColor) override;
virtual void input_key_callback(const InputManager::KeyCallbackArgs& key) override;
virtual void input_mouse_button_on_canvas_callback(const InputManager::MouseButtonCallbackArgs& button) override;
virtual void input_mouse_motion_callback(const InputManager::MouseMotionCallbackArgs& motion) override;

View file

@ -114,6 +114,10 @@ bool RectSelectTool::prevent_undo_or_redo() {
return drawP.selection.is_something_selected() || controls.isSelecting;
}
Vector4f* RectSelectTool::color_picker_color(Vector4f* oldColor) {
return drawP.selection.color_picker_color(oldColor);
}
void RectSelectTool::draw(SkCanvas* canvas, const DrawData& drawData) {
if(controls.isSelecting) {
Vector2f mPos = controls.selectEndAt;

View file

@ -35,6 +35,7 @@ class RectSelectTool : public DrawingProgramToolBase {
virtual void draw(SkCanvas* canvas, const DrawData& drawData) override;
virtual void switch_tool(DrawingProgramToolType newTool) override;
virtual bool prevent_undo_or_redo() override;
virtual Vector4f* color_picker_color(Vector4f* oldColor) override;
virtual void input_key_callback(const InputManager::KeyCallbackArgs& key) override;
virtual void input_mouse_button_on_canvas_callback(const InputManager::MouseButtonCallbackArgs& button) override;
virtual void input_mouse_motion_callback(const InputManager::MouseMotionCallbackArgs& motion) override;