dde-dock/frame/screenspliter/screenspliter_xcb.h
2023-02-16 15:08:28 +08:00

33 lines
930 B
C++

// Copyright (C) 2022 ~ 2022 Deepin Technology Co., Ltd.
// SPDX-FileCopyrightText: 2018 - 2023 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
#ifndef SCREENSPLITER_XCB_H
#define SCREENSPLITER_XCB_H
#include "screenspliter.h"
#include <QRect>
class WindowInfo;
typedef QMap<quint32, WindowInfo> WindowInfoMap;
class ScreenSpliter_Xcb : public ScreenSpliter
{
public:
explicit ScreenSpliter_Xcb(AppItem *appItem, DockEntryInter *entryInter, QObject *parent = nullptr);
void startSplit(const QRect &rect) override;
bool split(ScreenSpliter::SplitDirection direction) override;
bool suportSplitScreen() override;
bool releaseSplit() override;
private:
uint32_t direction_x11(ScreenSpliter::SplitDirection direction);
void showSplitScreenEffect(const QRect &rect, bool visible);
bool windowSupportSplit(quint32 winId);
};
#endif // SCREENSPLITER_XCB_H