diff --git a/src/srvs/grund-shell/input.cpp b/src/srvs/grund-shell/input.cpp index 8491213156..458f228518 100644 --- a/src/srvs/grund-shell/input.cpp +++ b/src/srvs/grund-shell/input.cpp @@ -22,7 +22,11 @@ struct InputTranslator : public Ui::ProxyNode { } Math::Recti _cursorDamage() const { - return _cursor().bound().grow(1).cast(); + if (false) { + return _cursor().bound().grow(1).cast(); + } else { + return _cursor().bound().grow(16).cast(); + } } void event(App::Event &e) override { @@ -78,12 +82,30 @@ struct InputTranslator : public Ui::ProxyNode { child().paint(g, r); if (_cursorDamage().colide(r)) { - g.push(); - g.beginPath(); - g.fillStyle(Gfx::WHITE.withOpacity(0.25)); - g.ellipse(_cursor()); - g.fill(Gfx::FillRule::EVENODD); - g.pop(); + if (false) { + g.push(); + g.beginPath(); + g.fillStyle(Gfx::WHITE.withOpacity(0.25)); + g.ellipse(_cursor()); + g.fill(Gfx::FillRule::EVENODD); + g.pop(); + } else { + g.push(); + g.translate(_mousePos.cast()); + g.beginPath(); + g.path(Math::Path::fromSvg( +#include "hideo-shell/cursor.path" + )); + g.fillStyle(Gfx::BLACK); + g.fill(Gfx::FillRule::EVENODD); + g.stroke(Gfx::Stroke{ + .fill = Gfx::WHITE, + .width = 1, + .align = Gfx::INSIDE_ALIGN, + .join = Gfx::MITER_JOIN, + }); + g.pop(); + } } } };