#if defined(Hiro_HorizontalResizeGrip) struct HorizontalResizeGrip; struct mHorizontalResizeGrip; using sHorizontalResizeGrip = shared_pointer; struct mHorizontalResizeGrip : mCanvas { using type = mHorizontalResizeGrip; mHorizontalResizeGrip(); auto doActivate() const -> void; auto doResize(int offset) const -> void; auto onActivate(const function& callback) -> type&; auto onResize(const function& callback) -> type&; //private: struct State { function onActivate; function onResize; int offset = 0; Position origin; Timer timer; } state; }; #endif