summaryrefslogtreecommitdiff
path: root/src/layout/algorithm/floating/default/DefaultFloatingAlgorithm.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/algorithm/floating/default/DefaultFloatingAlgorithm.hpp')
-rw-r--r--src/layout/algorithm/floating/default/DefaultFloatingAlgorithm.hpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/layout/algorithm/floating/default/DefaultFloatingAlgorithm.hpp b/src/layout/algorithm/floating/default/DefaultFloatingAlgorithm.hpp
index ef94e371..1e87fac1 100644
--- a/src/layout/algorithm/floating/default/DefaultFloatingAlgorithm.hpp
+++ b/src/layout/algorithm/floating/default/DefaultFloatingAlgorithm.hpp
@@ -1,5 +1,7 @@
#include "../../FloatingAlgorithm.hpp"
+#include <map>
+
namespace Layout {
class CAlgorithm;
}
@@ -17,10 +19,22 @@ namespace Layout::Floating {
virtual void resizeTarget(const Vector2D& Δ, SP<ITarget> target, eRectCorner corner = CORNER_NONE);
virtual void moveTarget(const Vector2D& Δ, SP<ITarget> target);
+ virtual void setTargetGeom(const CBox& geom, SP<ITarget> target);
+
virtual void swapTargets(SP<ITarget> a, SP<ITarget> b);
virtual void moveTargetInDirection(SP<ITarget> t, Math::eDirection dir, bool silent);
+ virtual void recenter(SP<ITarget> t);
+
private:
CBox fitBoxInWorkArea(const CBox& box, SP<ITarget> t);
+
+ void updateTarget(SP<ITarget>);
+
+ struct SWindowData {
+ CBox lastBox;
+ };
+
+ std::map<WP<ITarget>, SWindowData> m_datas;
};
}; \ No newline at end of file