CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
image_controller_sgs.cpp
Go to the documentation of this file.
1
10#include <spdlog/spdlog.h>
11
13
14// Constructor: Initializes the SGS image controller.
16 : Controller::ImageControllerBase(parent) {
17 spdlog::info("ImageControllerSGS: Initialized with PhotoEngine");
18}
19
20// Destructor: Cleans up resources and stops the worker thread.
22{
23 spdlog::debug("ImageControllerSGS: Destroyed, worker thread stopped");
24}
25
26// Sets the SGS image item to be used for rendering.
28{
29 m_sgs_image_item = item;
30
31 // Connect the rendering item to the display manager if available.
32 if (m_display_manager) // Use DisplayManager like Painted
33 {
34 // The DisplayManager handles rendering, so give it the SGS item.
35 m_display_manager->setRenderingItem(m_sgs_image_item); // Ensure IRenderingItemBase is compatible or SGSImageItem implements it
37 if (m_sgs_image_item) {
38 spdlog::info("ImageControllerSGS: SGSImageItem connected");
39 } else {
40 spdlog::debug("ImageControllerSGS: SGSImageItem disconnected (set to nullptr)");
41 }
42 } else {
43 spdlog::warn("ImageControllerSGS: DisplayManager not available, cannot connect SGSImageItem");
44 }
45}
46
47// Sets the SGS image item from QML.
49{
50 if (item) {
51 setSGSImageItem(item);
52 spdlog::info("ImageControllerSGS: SGSImageItem connected from QML");
53 } else {
54 spdlog::warn("ImageControllerSGS: Received nullptr SGSImageItem from QML");
55 }
56}
57
58} // namespace CaptureMoment::UI::Controller
59
std::unique_ptr< CaptureMoment::UI::Display::DisplayManager > m_display_manager
The unique displaymanager instance for managing display updates.
ImageControllerSGS(QObject *parent=nullptr)
Constructs ImageController.
Q_INVOKABLE void setSGSImageItemFromQml(CaptureMoment::UI::Rendering::SGSImageItem *item)
QML-accessible method to set the SGS image item.
void setSGSImageItem(CaptureMoment::UI::Rendering::SGSImageItem *item)
Set the SGS display item for rendering.
void sgsImageItemChanged()
Signal emitted when the SGS image item property changes.
~ImageControllerSGS()
Destructor - cleans up worker thread.
void setRenderingItem(Rendering::IRenderingItemBase *item)
Assigns the rendering item that will receive image updates.
QQuickItem that renders an image via QSGSimpleTextureNode.
Head for ImageControllerSGS from main class ImageControllerBase.
Simple texture-based image display (Qt6 - QSGSimpleTextureNode) using BaseImageItem for common state.
CaptureMoment — footer