37 TextEditor(std::unique_ptr<skottie::TextPropertyHandle>&&,
38 std::vector<std::unique_ptr<skottie::TextPropertyHandle>>&&);
58 std::tuple<size_t, size_t> currentSelection()
const;
59 size_t closestGlyph(
const SkPoint& pt)
const;
60 void drawCursor(
SkCanvas*,
const TextInfo&)
const;
63 bool deleteSelection();
66 const std::unique_ptr<skottie::TextPropertyHandle> fTextProp;
67 const std::vector<std::unique_ptr<skottie::TextPropertyHandle>> fDependentProps;
69 const SkRect fCursorBounds;
71 std::vector<GlyphData> fGlyphData;
72 std::tuple<size_t, size_t> fSelection = {0,0};
73 size_t fCursorIndex = 0;
74 float fCursorWeight = 1;
75 bool fEnabled =
false;
76 bool fMouseDown =
false;
78 std::chrono::time_point<std::chrono::steady_clock> fTimeBase;
void setCursorWeight(float w)
bool onCharInput(SkUnichar c)
bool onMouseInput(SkScalar x, SkScalar y, skui::InputState state, skui::ModifierKey)
void onDecorate(SkCanvas *, const TextInfo &) override