44 [[nodiscard]]
bool isValid()
const override;
Abstract interface representing an image used as a working buffer.
Class extending IWorkingImageHardware for CPU-specific implementations. This class defines the base c...
Common::MemoryType getMemoryType() const override
Gets the memory type where data resides.
WorkingImageCPU()=default
Constructor.
std::expected< std::unique_ptr< Common::ImageRegion >, ErrorHandling::CoreError > getFullResImage() override
Exports current internal image data to a new CPU-based ImageRegion..
virtual ~WorkingImageCPU()=default
Virtual destructor.
std::expected< std::unique_ptr< Common::ImageRegion >, ErrorHandling::CoreError > downsample(Common::ImageDim target_width, Common::ImageDim target_height) override
Exports a downscaled version of the image directly from GPU.
bool isValid() const override
Checks if the image data is valid.
Abstract interface representing an image used as a working buffer, abstracting hardware location.
std::size_t ImageDim
Type for image dimensions (width, height).
MemoryType
Enum representing the memory type where image data is stored.
@ CPU_RAM
Data is stored in main CPU RAM.
@ 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.