Modules/Widgets/public/layouts/FloatingLayout.hpp
2024-10-18 12:54:03 +03:00

34 lines
No EOL
623 B
C++

#pragma once
#include "BasicLayout.hpp"
namespace tp {
class FloatingLayout : public BasicLayout {
public:
explicit FloatingLayout(Widget* widget) :
BasicLayout(widget) {}
public:
void startAction(const Vec2F& pointer);
void updateAction(const Vec2F& pointer);
void endAction();
bool isFloating() const { return mIsFloating; }
RectF resizeHandleRect();
public:
void pickRect(bool vertical) override;
private:
bool mIsFloating = false;
bool mIsResizing = false;
Vec2F mPointerStart;
Vec2F mPointerCurrent;
// TODO : remove?
halnf mHandleSize = 10;
halnf mHandlePadding = 2;
};
}