Renamed ink dropper to eye dropper

This commit is contained in:
Yousef Khadadeh 2025-08-05 12:11:50 +03:00
parent 2605df6e54
commit 137b1603e5
9 changed files with 31 additions and 31 deletions

View file

@ -55,7 +55,7 @@ set(sources "src/main.cpp"
"src/DrawingProgram/LassoSelectTool.cpp"
"src/DrawingProgram/RectDrawTool.cpp"
"src/DrawingProgram/EllipseDrawTool.cpp"
"src/DrawingProgram/InkDropperTool.cpp"
"src/DrawingProgram/EyeDropperTool.cpp"
"src/DrawingProgram/ScreenshotTool.cpp"
"src/DrawingProgram/EditTool.cpp"
"src/DrawingProgram/ImageEditTool.cpp"

View file

@ -5,7 +5,7 @@
#include "../DrawCamera.hpp"
#include "../DrawComponents/DrawComponent.hpp"
#include "EllipseDrawTool.hpp"
#include "InkDropperTool.hpp"
#include "EyeDropperTool.hpp"
#include "../InputManager.hpp"
#include "../SharedTypes.hpp"
#include "../Server/CommandList.hpp"
@ -193,7 +193,7 @@ void DrawingProgram::toolbar_gui() {
if(t.gui.svg_icon_button("RectSelect Toolbar Button", "data/icons/rectselect.svg", drawTool->get_type() == DrawingProgramToolType::RECTSELECT)) { switch_to_tool(DrawingProgramToolType::RECTSELECT); }
if(t.gui.svg_icon_button("LassoSelect Toolbar Button", "data/icons/lassoselect.svg", drawTool->get_type() == DrawingProgramToolType::LASSOSELECT)) { switch_to_tool(DrawingProgramToolType::LASSOSELECT); }
if(t.gui.svg_icon_button("Edit Toolbar Button", "data/icons/cursor.svg", drawTool->get_type() == DrawingProgramToolType::EDIT)) { switch_to_tool(DrawingProgramToolType::EDIT); }
if(t.gui.svg_icon_button("Inkdropper Toolbar Button", "data/icons/eyedropper.svg", drawTool->get_type() == DrawingProgramToolType::INKDROPPER)) { switch_to_tool(DrawingProgramToolType::INKDROPPER); }
if(t.gui.svg_icon_button("Eyedropper Toolbar Button", "data/icons/eyedropper.svg", drawTool->get_type() == DrawingProgramToolType::EYEDROPPER)) { switch_to_tool(DrawingProgramToolType::EYEDROPPER); }
if(t.gui.svg_icon_button("Screenshot Toolbar Button", "data/icons/camera.svg", drawTool->get_type() == DrawingProgramToolType::SCREENSHOT)) { switch_to_tool(DrawingProgramToolType::SCREENSHOT); }
CLAY({.layout = {.sizing = {.width = CLAY_SIZING_FIXED(40), .height = CLAY_SIZING_FIXED(40)}}}) {
if(t.gui.color_button("Foreground Color", &controls.foregroundColor, &controls.foregroundColor == t.colorLeft)) {
@ -278,8 +278,8 @@ void DrawingProgram::update() {
switch_to_tool(DrawingProgramToolType::ELLIPSE);
else if(world.main.input.key(InputManager::KEY_DRAW_TOOL_TEXTBOX).pressed)
switch_to_tool(DrawingProgramToolType::TEXTBOX);
else if(world.main.input.key(InputManager::KEY_DRAW_TOOL_INKDROPPER).pressed)
switch_to_tool(DrawingProgramToolType::INKDROPPER);
else if(world.main.input.key(InputManager::KEY_DRAW_TOOL_EYEDROPPER).pressed)
switch_to_tool(DrawingProgramToolType::EYEDROPPER);
else if(world.main.input.key(InputManager::KEY_DRAW_TOOL_SCREENSHOT).pressed)
switch_to_tool(DrawingProgramToolType::SCREENSHOT);
else if(world.main.input.key(InputManager::KEY_DRAW_TOOL_EDIT).pressed)

View file

@ -101,7 +101,7 @@ class DrawingProgram {
uint32_t nextID = 0;
friend class InkDropperTool;
friend class EyeDropperTool;
friend class RectDrawTool;
friend class EllipseDrawTool;
friend class BrushTool;

View file

@ -7,7 +7,7 @@
#include "RectDrawTool.hpp"
#include "EllipseDrawTool.hpp"
#include "TextBoxTool.hpp"
#include "InkDropperTool.hpp"
#include "EyeDropperTool.hpp"
#include "ScreenshotTool.hpp"
#include "EditTool.hpp"
@ -33,8 +33,8 @@ std::unique_ptr<DrawingProgramToolBase> DrawingProgramToolBase::allocate_tool_ty
return std::make_unique<EllipseDrawTool>(drawP);
case DrawingProgramToolType::TEXTBOX:
return std::make_unique<TextBoxTool>(drawP);
case DrawingProgramToolType::INKDROPPER:
return std::make_unique<InkDropperTool>(drawP);
case DrawingProgramToolType::EYEDROPPER:
return std::make_unique<EyeDropperTool>(drawP);
case DrawingProgramToolType::SCREENSHOT:
return std::make_unique<ScreenshotTool>(drawP);
case DrawingProgramToolType::EDIT:

View file

@ -12,7 +12,7 @@ enum class DrawingProgramToolType : int {
RECTANGLE,
ELLIPSE,
TEXTBOX,
INKDROPPER,
EYEDROPPER,
SCREENSHOT,
EDIT
};

View file

@ -1,4 +1,4 @@
#include "InkDropperTool.hpp"
#include "EyeDropperTool.hpp"
#include "DrawingProgram.hpp"
#include "../Server/CommandList.hpp"
#include "../MainProgram.hpp"
@ -21,23 +21,23 @@
#endif
#include <Helpers/Logger.hpp>
InkDropperTool::InkDropperTool(DrawingProgram& initDrawP):
EyeDropperTool::EyeDropperTool(DrawingProgram& initDrawP):
DrawingProgramToolBase(initDrawP)
{
}
DrawingProgramToolType InkDropperTool::get_type() {
return DrawingProgramToolType::INKDROPPER;
DrawingProgramToolType EyeDropperTool::get_type() {
return DrawingProgramToolType::EYEDROPPER;
}
void InkDropperTool::gui_toolbox() {
void EyeDropperTool::gui_toolbox() {
Toolbar& t = drawP.world.main.toolbar;
t.gui.push_id("Color select tool");
t.gui.text_label_centered("Color Select");
t.gui.pop_id();
}
void InkDropperTool::tool_update() {
void EyeDropperTool::tool_update() {
if(drawP.controls.leftClick) {
SkSurfaceProps props;
SkImageInfo imgInfo = SkImageInfo::MakeN32Premul(drawP.world.main.window.size.x(), drawP.world.main.window.size.y());
@ -47,22 +47,22 @@ void InkDropperTool::tool_update() {
sk_sp<SkSurface> surface = SkSurfaces::RenderTarget(drawP.world.main.window.ctx.get(), skgpu::Budgeted::kNo, imgInfo, 0, &props);
#endif
if(!surface) {
Logger::get().log("INFO", "[SkSurfaces::WrapBackendRenderTarget] Ink Dropper Tool could not make surface");
Logger::get().log("INFO", "[SkSurfaces::WrapBackendRenderTarget] Eye Dropper Tool could not make surface");
return;
}
SkCanvas* inkDropperCanvas = surface->getCanvas();
if(!inkDropperCanvas) {
Logger::get().log("INFO", "Ink Dropper Tool could not make canvas");
SkCanvas* eyeDropperCanvas = surface->getCanvas();
if(!eyeDropperCanvas) {
Logger::get().log("INFO", "Eye Dropper Tool could not make canvas");
return;
}
int xPos = std::clamp<int>(drawP.world.main.input.mouse.pos.x(), 0, drawP.world.main.window.size.x() - 1);
int yPos = std::clamp<int>(drawP.world.main.input.mouse.pos.y(), 0, drawP.world.main.window.size.y() - 1);
inkDropperCanvas->save();
eyeDropperCanvas->save();
drawP.world.drawData.dontUseDrawProgCache = true;
drawP.world.main.draw(inkDropperCanvas);
drawP.world.main.draw(eyeDropperCanvas);
drawP.world.drawData.dontUseDrawProgCache = false;
inkDropperCanvas->restore();
eyeDropperCanvas->restore();
//drawP.world.main.window.ctx->flush();
Vector4<uint8_t> readData;
@ -78,12 +78,12 @@ void InkDropperTool::tool_update() {
}
}
bool InkDropperTool::prevent_undo_or_redo() {
bool EyeDropperTool::prevent_undo_or_redo() {
return false;
}
void InkDropperTool::draw(SkCanvas* canvas, const DrawData& drawData) {
void EyeDropperTool::draw(SkCanvas* canvas, const DrawData& drawData) {
}
void InkDropperTool::switch_tool(DrawingProgramToolType newTool) {
void EyeDropperTool::switch_tool(DrawingProgramToolType newTool) {
}

View file

@ -3,9 +3,9 @@
class DrawingProgram;
class InkDropperTool : public DrawingProgramToolBase {
class EyeDropperTool : public DrawingProgramToolBase {
public:
InkDropperTool(DrawingProgram& initDrawP);
EyeDropperTool(DrawingProgram& initDrawP);
virtual DrawingProgramToolType get_type() override;
virtual void gui_toolbox() override;
virtual void tool_update() override;

View file

@ -39,7 +39,7 @@ InputManager::InputManager() {
defaultKeyAssignments[{0, SDLK_R}] = KEY_DRAW_TOOL_RECTANGLE;
defaultKeyAssignments[{0, SDLK_C}] = KEY_DRAW_TOOL_ELLIPSE;
defaultKeyAssignments[{0, SDLK_X}] = KEY_DRAW_TOOL_RECTSELECT;
defaultKeyAssignments[{0, SDLK_I}] = KEY_DRAW_TOOL_INKDROPPER;
defaultKeyAssignments[{0, SDLK_I}] = KEY_DRAW_TOOL_EYEDROPPER;
defaultKeyAssignments[{0, SDLK_S}] = KEY_DRAW_TOOL_EDIT;
defaultKeyAssignments[{0, SDLK_P}] = KEY_DRAW_TOOL_SCREENSHOT;
defaultKeyAssignments[{0, SDLK_F1}] = KEY_OPEN_CHAT;

View file

@ -130,7 +130,7 @@ struct InputManager {
KEY_DRAW_TOOL_ELLIPSE,
KEY_DRAW_TOOL_RECTSELECT,
KEY_DRAW_TOOL_EDIT,
KEY_DRAW_TOOL_INKDROPPER,
KEY_DRAW_TOOL_EYEDROPPER,
KEY_DRAW_TOOL_SCREENSHOT,
KEY_SHOW_METRICS,
KEY_OPEN_CHAT,
@ -211,7 +211,7 @@ NLOHMANN_JSON_SERIALIZE_ENUM(InputManager::KeyCodeEnum, {
{InputManager::KEY_DRAW_TOOL_RECTANGLE, "Rectangle Tool"},
{InputManager::KEY_DRAW_TOOL_ELLIPSE, "Ellipse Tool"},
{InputManager::KEY_DRAW_TOOL_RECTSELECT, "Rect Select Tool"},
{InputManager::KEY_DRAW_TOOL_INKDROPPER, "Color Select Tool"},
{InputManager::KEY_DRAW_TOOL_EYEDROPPER, "Color Select Tool"},
{InputManager::KEY_DRAW_TOOL_EDIT, "Edit Tool"},
{InputManager::KEY_DRAW_TOOL_SCREENSHOT, "Screenshot Tool"},
{InputManager::KEY_SHOW_METRICS, "Show Metrics"},