Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
IQmlEngineProvider.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 fuddlesworth
2// SPDX-License-Identifier: LGPL-2.1-or-later
3
4#pragma once
5
6#include <PhosphorLayer/phosphorlayer_export.h>
7
8#include <QtGlobal>
9
10QT_BEGIN_NAMESPACE
11class QQmlEngine;
12QT_END_NAMESPACE
13
14namespace PhosphorLayer {
15
16struct SurfaceConfig;
17
31class PHOSPHORLAYER_EXPORT IQmlEngineProvider
32{
33public:
34 IQmlEngineProvider() = default;
35 virtual ~IQmlEngineProvider() = default;
36 Q_DISABLE_COPY_MOVE(IQmlEngineProvider)
37
38
49 virtual QQmlEngine* engineForSurface(const SurfaceConfig& cfg) = 0;
50
58 virtual void releaseEngine(QQmlEngine* engine) = 0;
59};
60
61} // namespace PhosphorLayer
Hook point for consumer-controlled QQmlEngine ownership policy.
Definition IQmlEngineProvider.h:32
virtual ~IQmlEngineProvider()=default
Definition SurfaceAnimator.h:26
Immutable per-surface configuration passed to SurfaceFactory::create().
Definition SurfaceConfig.h:46