101 [[nodiscard]]
virtual bool isValid()
const = 0;
Abstract interface representing an image used as a working buffer.
virtual Common::MemoryType getMemoryType() const =0
Gets the memory type where data resides.
virtual ~IWorkingImageHardware()=default
Virtual destructor.
virtual std::expected< std::unique_ptr< Common::ImageRegion >, ErrorHandling::CoreError > downsample(Common::ImageDim target_width, Common::ImageDim target_height)=0
Exports a downscaled version of the image directly from GPU.
virtual std::expected< std::unique_ptr< Common::ImageRegion >, ErrorHandling::CoreError > getFullResImage()=0
Exports current internal image data to a new CPU-based ImageRegion (Deep Copy).
IWorkingImageHardware()=default
Protected constructor to enforce abstract nature.
virtual bool bindView(const ImageView &view)
Binds a view of the image data to this hardware worker.
ImageView m_view_data_image
The image view bound to this hardware worker.
virtual bool isValid() const =0
Checks if the image data is valid.
Central error handling system for CaptureMoment Core library.
Defines the ImageRegion structure for representing pixel buffers in the CaptureMoment Core library.
Common type definitions for all image types in CaptureMoment.
Lightweight, non-owning view over image memory and its geometry.
Enum representing the memory type where image data is stored (CPU or GPU).
std::size_t ImageDim
Type for image dimensions (width, height).
MemoryType
Enum representing the memory type where image data is stored.
@ ImageProcessing
Errors related to Image Processing, GPU, or Memory.
CoreError
Enumeration of all error codes for CaptureMoment Core.
Manages the lifecycle of a single IWorkingImage instance.
Represents a zero-copy window over contiguous image memory.
std::span< float > working_data
Mutable span for processing.