/* KWin - the KDE window manager This file is part of the KDE project. SPDX-FileCopyrightText: 2022 Marco Martin SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once #include "tile.h" #include "utils/common.h" #include namespace KWin { class KWIN_EXPORT QuickRootTile : public Tile { Q_OBJECT public: QuickRootTile(TileManager *tiling, Tile *parentItem = nullptr); ~QuickRootTile(); Tile *tileForMode(QuickTileMode mode); Tile *tileForBorder(ElectricBorder border); qreal horizontalSplit() const; void setHorizontalSplit(qreal split); qreal verticalSplit() const; void setVerticalSplit(qreal split); private: void relayoutToFit(Tile *tile); void tryReset(); Tile *m_resizedTile = nullptr; std::unique_ptr m_leftVerticalTile; std::unique_ptr m_rightVerticalTile; std::unique_ptr m_topHorizontalTile; std::unique_ptr m_bottomHorizontalTile; std::unique_ptr m_topLeftTile; std::unique_ptr m_topRightTile; std::unique_ptr m_bottomLeftTile; std::unique_ptr m_bottomRightTile; }; } // namespace KWin