124 void doApplyOperations(std::vector<Core::Operations::OperationDescriptor>&& operations);
137 QThread m_worker_thread;
150 std::shared_ptr<Core::Common::ImageRegion> m_source_image;
156 std::vector<IOperationModel*> m_registered_models;
161 std::unique_ptr<CaptureMoment::UI::Managers::OperationStateManager> m_operation_state_manager {
nullptr};
167 std::unique_ptr<CaptureMoment::UI::Models::Manager::OperationModelManager> m_operation_model_manager {
nullptr};
174 void loadImage(
const QString& file_path);
185 void applyOperations(std::vector<Core::Operations::OperationDescriptor> operations);
235 std::shared_ptr<Core::Engine::PhotoEngine>
m_engine;
CaptureMoment::UI::Models::Manager::OperationModelManager * operationModelManager()
Get current operationModelManager instance.
std::unique_ptr< CaptureMoment::UI::Display::DisplayManager > m_display_manager
The unique displaymanager instance for managing display updates.
CaptureMoment::UI::Display::DisplayManager * displayManager()
Get current displayManager instance.
Q_INVOKABLE void loadImageFromUrl(const QUrl &file_url)
Loads an image from a QUrl (typically from QML FileDialog). Converts the QUrl to a native file path a...
void imageSizeChanged()
Emitted when image size changes.
void doApplyOperations(std::vector< Core::Operations::OperationDescriptor > &&operations)
Perform actual operations (runs on worker thread).
void applyOperations(std::vector< Core::Operations::OperationDescriptor > operations)
Apply operation with parameters (non-blocking) Note: This slot is designed to be called from QML or o...
void registerModel(IOperationModel *model)
Register an operation model for notifications.
void connectModelsToStateManager()
Connects the operationRequested signal from all created models to the OperationStateManager....
void onImageLoadResult(bool success, const QString &error_msg)
Internal: Handle load image result.
void onOperationResult(bool success, const QString &error_msg)
Internal: Handle operation result.
int imageHeight() const noexcept
Get current image height.
int m_image_height
Current image height.
CaptureMoment::UI::Managers::OperationStateManager * operationStateManager
Exposes the OperationStateManager instance to QML.
std::shared_ptr< Core::Engine::PhotoEngine > m_engine
Core processing engine.
void operationCompleted()
Emitted when operation completes.
void loadImage(const QString &file_path)
Load image from file path (non-blocking)
CaptureMoment::UI::Managers::OperationStateManager * operationStateManager()
Get current operationStateManager instance.
void operationFailed(QString error)
Emitted when operation fails.
void imageLoadFailed(QString error)
Emitted when image load fails.
void doLoadImage(const QString &file_path)
Perform actual image load (runs on worker thread). This method contains the common logic for loading ...
CaptureMoment::UI::Display::DisplayManager * displayManager
Exposes the DisplayManager instance to QML.
void imageLoaded(int width, int height)
Emitted when image loaded successfully.
int m_image_width
Current image width.
Central manager for image display, zoom, pan, and viewport coordination.
Pure interface for operation models.
Manages the state of active image operations.
Manages the creation, storage, and QML registration of operation model instances.
Manages image display with downsampling (with OIIO), zoom, and pan.
Manages the state of active image operations.
Declaration of PhotoEngine class.