Files
intelliphoto/src/Image/IntelliRasterImage.h
2019-12-18 18:19:30 +01:00

58 lines
1.9 KiB
C++

#ifndef INTELLIRASTER_H
#define INTELLIRASTER_H
#include"Image/IntelliImage.h"
/*!
* \brief The IntelliRasterImage manages a Rasterimage.
*/
class IntelliRasterImage : public IntelliImage{
friend IntelliTool;
protected:
/*!
* \brief A function that calculates the visibility of the image if a polygon is given. [does nothing in Rasterimage]
*/
virtual void calculateVisiblity() override;
public:
/*!
* \brief The Construcor of the IntelliRasterImage. Given the Image dimensions.
* \param weight - The weight of the Image.
* \param height - The height of the Image.
*/
IntelliRasterImage(int weight, int height);
/*!
* \brief An Destructor.
*/
virtual ~IntelliRasterImage() override;
/*!
* \brief A function returning the displayable ImageData in a requested transparence and size.
* \param displaySize - The size, in whcih the Image should be displayed.
* \param alpha - The maximum alpha value, a pixel can have.
* \return A QImage which is ready to be displayed.
*/
virtual QImage getDisplayable(const QSize& displaySize,int alpha) override;
/**
* @brief A function returning the displayable ImageData in a requested transparence and it's standart size.
* @param alpha - The maximum alpha value, a pixel can have.
* @return A QImage which is ready to be displayed.
*/
virtual QImage getDisplayable(int alpha=255) override;
/*!
* \brief A function that copys all that returns a [allocated] Image
* \return A [allocated] Image with all the properties of the instance.
*/
virtual IntelliImage* getDeepCopy() override;
/*!
* \brief An abstract function that sets the data of the visible Polygon, if needed.
* \param polygonData - The Vertices of the Polygon. Nothing happens.
*/
virtual void setPolygon(const std::vector<QPoint>& polygonData) override;
};
#endif