Skip to content

pylon/ReusableImage.h#

Contains an interface for a reusable image.

Namespaces#

Name
Pylon
Contains definitions of pylon types.

Classes#

Name
interface Pylon::IReusableImage
Extends the IImage interface to be able to reuse the image's resources to represent a different image.

Source code#

//------------------------------------------------------------------------------
//  Basler pylon SDK
//  Copyright (c) 2010-2022 Basler AG
//  http://www.baslerweb.com
//  Author:  Andreas Gau
//------------------------------------------------------------------------------
#ifndef INCLUDED_REUSABLEIMAGE_H_1558802
#define INCLUDED_REUSABLEIMAGE_H_1558802

#include <pylon/Platform.h>

#ifdef _MSC_VER
#   pragma pack(push, PYLON_PACKING)
#endif /* _MSC_VER */

#include <pylon/PylonBase.h>
#include <pylon/Image.h>

namespace Pylon
{
    interface IReusableImage : public IImage
    {
    public:
        // implementation must be out of class or older compilers will throw an error (see below)
        virtual ~IReusableImage() = 0;


        virtual bool IsSupportedPixelType( EPixelType pixelType ) const = 0;


        virtual bool IsAdditionalPaddingSupported() const = 0;


        virtual void Reset( EPixelType pixelType, uint32_t width, uint32_t height, EImageOrientation orientation = ImageOrientation_TopDown ) = 0;


        virtual void Reset( EPixelType pixelType, uint32_t width, uint32_t height, size_t paddingX, EImageOrientation orientation = ImageOrientation_TopDown ) = 0;


        virtual void Release() = 0;
    };

     // implementation for d'tor must be out of class
    inline IReusableImage::~IReusableImage()
    {
    }

}

#ifdef _MSC_VER
#   pragma pack(pop)
#endif /* _MSC_VER */

#endif /* INCLUDED_REUSABLEIMAGE_H_1558802 */

Updated on 5 July 2022 at 15:30:01