layout: rethonk layouts from the ground up (#12890)

Rewrites layouts to be much smaller, and deal with much less annoying
BS. Improves the overall architecture, unifies handling of pseudotiling,
and various other improvements.
This commit is contained in:
Vaxry 2026-02-21 21:30:39 +00:00 committed by GitHub
parent 51f8849e54
commit 723870337f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
82 changed files with 8431 additions and 5527 deletions

View file

@ -0,0 +1,26 @@
#pragma once
#include "../../helpers/math/Math.hpp"
#include "../../helpers/memory/Memory.hpp"
#include "ModeAlgorithm.hpp"
namespace Layout {
class ITarget;
class CAlgorithm;
class ITiledAlgorithm : public IModeAlgorithm {
public:
virtual ~ITiledAlgorithm() = default;
virtual SP<ITarget> getNextCandidate(SP<ITarget> old) = 0;
protected:
ITiledAlgorithm() = default;
WP<CAlgorithm> m_parent;
friend class Layout::CAlgorithm;
};
}