Modules/WidgetsNew/public/FloatingLayout.hpp
2024-10-14 14:21:41 +03:00

34 lines
No EOL
603 B
C++

#pragma once
#include "LayoutManager.hpp"
namespace tp {
class FloatingLayout : public BasicLayout {
public:
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() override;
private:
bool mIsFloating = false;
bool mIsResizing = false;
Vec2F mPointerStart;
Vec2F mPointerCurrent;
// TODO : remove?
halnf mHandleSize = 10;
halnf mHandlePadding = 2;
};
}