CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
image_controller_rhi.cpp
Go to the documentation of this file.
1
10
11#include <spdlog/spdlog.h>
12
14
16 : Controller::ImageControllerBase(parent) {
17 spdlog::info("ImageControllerRHI: Initialized with PhotoEngine");
18}
19
21{
22 spdlog::debug("ImageControllerRHI: Destroyed, worker thread stopped");
23}
24
26{
27 m_rhi_image_item = item;
28
30 {
31 // The DisplayManager handles rendering, so give it the RHI item.
32 m_display_manager->setRenderingItem(m_rhi_image_item); // Ensure IRenderingItemBase is compatible or RHIImageItem implements it
34 if (m_rhi_image_item) {
35 spdlog::info("ImageControllerRHI::RHIImageItem connected and passed to DisplayManager");
36 } else {
37 spdlog::debug("ImageControllerRHI::RHIImageItem disconnected (set to nullptr)");
38 }
39 } else {
40 spdlog::warn("ImageControllerRHI: DisplayManager not available, cannot connect RHIImageItem");
41 }
42}
43
45{
46 if (item) {
47 spdlog::info("ImageControllerRHI::setRHIImageItemFromQml try to connect from QML");
48 setRHIImageItem(item);
49 spdlog::info("ImageControllerRHI::setRHIImageItemFromQml RHIImageItem connected from QML");
50 } else {
51 spdlog::warn("ImageControllerRHI::setRHIImageItemFromQml Received nullptr RHIImageItem from QML");
52 }
53}
54
55} // namespace CaptureMoment::UI::Controller
std::unique_ptr< CaptureMoment::UI::Display::DisplayManager > m_display_manager
The unique displaymanager instance for managing display updates.
void setRHIImageItem(CaptureMoment::UI::Rendering::RHIImageItem *item)
Set the RHI display item for rendering.
void rhiImageItemChanged()
Signal emitted when the RHI image item property changes.
Q_INVOKABLE void setRHIImageItemFromQml(CaptureMoment::UI::Rendering::RHIImageItem *item)
QML-accessible method to set the RHI image item.
~ImageControllerRHI()
Destructor - cleans up worker thread.
ImageControllerRHI(QObject *parent=nullptr)
Constructs ImageController.
void setRenderingItem(Rendering::IRenderingItemBase *item)
Assigns the rendering item that will receive image updates.
Modern QQuickItem that renders an image via RHI (Vulkan/Metal/DX12/OpenGL) using QQuickRhiItem.
Head for ImageControllerRHI from main class ImageControllerBase.
Modern RHI-based image display (Qt6 - Vulkan/Metal/DX12 compatible) using QQuickRhiItem.
CaptureMoment — footer