// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QPLATFORMINTEGRATION_DIRECTFB_H #define QPLATFORMINTEGRATION_DIRECTFB_H #include "qdirectfbinput.h" #include "qdirectfbscreen.h" #include #include #include #include QT_BEGIN_NAMESPACE class QThread; class QAbstractEventDispatcher; class QDirectFbIntegration : public QPlatformIntegration, public QPlatformNativeInterface { public: QDirectFbIntegration(); ~QDirectFbIntegration(); void connectToDirectFb(); bool hasCapability(Capability cap) const override; QPlatformPixmap *createPlatformPixmap(QPlatformPixmap::PixelType type) const override; QPlatformWindow *createPlatformWindow(QWindow *window) const override; QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const override; QAbstractEventDispatcher *createEventDispatcher() const override; QPlatformFontDatabase *fontDatabase() const override; QPlatformServices *services() const override; QPlatformInputContext *inputContext() const override { return m_inputContext; } QPlatformNativeInterface *nativeInterface() const override; protected: virtual void initializeDirectFB(); virtual void initializeScreen(); virtual void initializeInput(); protected: QDirectFBPointer m_dfb; QScopedPointer m_primaryScreen; QScopedPointer m_input; QScopedPointer m_inputRunner; QScopedPointer m_fontDb; QScopedPointer m_services; QPlatformInputContext *m_inputContext; }; QT_END_NAMESPACE #endif