#ifndef _LLXDO_DASH_ #define _LLXDO_DASH_ #include #include namespace net { namespace lliurex { namespace llxdo { enum class ScrollDirection {Stop, Left, Right}; class Dash : public lgi::Layer { private: bool ready; ScrollDirection scroll_direction; std::thread scroll_thread; void Scroll(); public: Dash(); /*! hook methods */ void OnResize(lgi::ResizeEvent * event); void OnKeyPress(lgi::KeyPressEvent * event); void Draw(cairo_t * cairo); void OnDndEnter(lgi::DndEnterEvent * event); void OnDndLeave(lgi::DndLeaveEvent * event); void OnDndDrop(lgi::DndDropEvent * event); void OnDrag(lgi::Widget * widget,lgi::DragEvent * event); void OnDrop(lgi::Widget * widget,lgi::DropEvent * event); void OnMouseDown(lgi::Widget * widget,lgi::MouseDownEvent * event); void OnMouseUp(lgi::Widget * widget,lgi::MouseUpEvent * event); void OnMouseMove(lgi::Widget * widget,lgi::MouseMoveEvent * event); void OnMouseClick(lgi::Widget * widget,lgi::MouseClickEvent * event); }; } } } #endif