#pragma once #include namespace Atomic { class UIWidget; class UILayout; class UIImageWidget; class UITextField; class UIDragObject; /// UIDragDrop subsystem class UIDragDrop : public Object { OBJECT(UIDragDrop); public: /// Construct. UIDragDrop(Context* context); virtual ~UIDragDrop(); void FileDragEntered(); void FileDragAddFile(const String& filename); void FileDragConclude(); private: void HandleMouseDown(StringHash eventType, VariantMap& eventData); void HandleMouseUp(StringHash eventType, VariantMap& eventData); void HandleMouseMove(StringHash eventType, VariantMap& eventData); void DragEnd(); SharedPtr dragLayout_; SharedPtr dragImage_; SharedPtr dragText_; SharedPtr dragObject_; }; }