19#include "AViewContainer.h"
26class API_AUI_VIEWS ADragArea:
public AViewContainer {
29 glm::ivec2 mInitialMousePos;
32 void setValidPositionFor(
const _<AView>& targetView,
const glm::ivec2& newPosition);
35 void startDragging(AViewContainerBase* container);
36 void handleMouseMove();
40 void applyGeometryToChildren()
override;
42 class API_AUI_VIEWS ADraggableHandle:
public AViewContainerBase {
43 friend class ADragArea;
45 std::tuple<ADragArea*, AViewContainerBase*> getDragAreaAndDraggingView();
46 bool mDragging =
false;
47 bool mCheckForClickConsumption =
true;
50 ADraggableHandle(
bool checkForClickConsumption =
false) : mCheckForClickConsumption(checkForClickConsumption) {}
59 static _<AView> convertToDraggable(
const _<AView>& view,
bool checkForClickConsumption =
true);
void onPointerPressed(const APointerPressedEvent &event) override
Called on pointer (mouse) released event.
Definition AViewContainerBase.cpp:289
void onPointerReleased(const APointerReleasedEvent &event) override
Called on pointer (mouse) released event.
Definition AViewContainerBase.cpp:329
An std::weak_ptr with AUI extensions.
Definition SharedPtrTypes.h:178
ASignal< Args... > emits
A signal declaration.
Definition ASignal.h:348
Pointing method press event.
Definition APointerPressedEvent.h:21
Pointing method press event.
Definition APointerReleasedEvent.h:19
An std::weak_ptr with AUI extensions.
Definition SharedPtrTypes.h:51