| #pragma once |
| |
| #ifndef TRASTERIMAGE_INCLUDED |
| #define TRASTERIMAGE_INCLUDED |
| |
| #include "timage.h" |
| #include "traster.h" |
| |
| #undef DVAPI |
| #undef DVVAR |
| #ifdef TRASTERIMAGE_EXPORTS |
| #define DVAPI DV_EXPORT_API |
| #define DVVAR DV_EXPORT_VAR |
| #else |
| #define DVAPI DV_IMPORT_API |
| #define DVVAR DV_IMPORT_VAR |
| #endif |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| class DVAPI TRasterImage final : public TImage { |
| TRasterP m_mainRaster, m_patchRaster, m_iconRaster; |
| |
| |
| double m_dpix, |
| |
| m_dpiy; |
| |
| std::string m_name; |
| |
| TRect m_savebox; |
| |
| |
| bool m_isOpaque; |
| |
| bool m_isScanBW; |
| |
| |
| TPoint m_offset; |
| |
| int m_subsampling; |
| |
| public: |
| TRasterImage(); |
| TRasterImage(const TRasterP &raster); |
| ~TRasterImage(); |
| |
| private: |
| |
| TRasterImage(const TRasterImage &); |
| |
| |
| TRasterImage &operator=(const TRasterImage &); |
| |
| public: |
| |
| TImage::Type getType() const override { return TImage::RASTER; } |
| |
| |
| |
| std::string getName() const { return m_name; } |
| |
| void setName(std::string name) { m_name = name; } |
| |
| |
| void getDpi(double &dpix, double &dpiy) const { |
| dpix = m_dpix; |
| dpiy = m_dpiy; |
| } |
| |
| void setDpi(double dpix, double dpiy) { |
| m_dpix = dpix; |
| m_dpiy = dpiy; |
| } |
| |
| int getSubsampling() const { return m_subsampling; } |
| void setSubsampling(int s); |
| |
| |
| TRect getSavebox() const { return m_savebox; } |
| |
| void setSavebox(const TRect &rect) { m_savebox = rect; } |
| |
| |
| TRectD getBBox() const override { return convert(m_savebox); } |
| |
| |
| TPoint getOffset() const { return m_offset; } |
| |
| void setOffset(const TPoint &offset) { m_offset = offset; } |
| |
| |
| |
| |
| |
| |
| |
| TImage *cloneImage() const override; |
| |
| |
| const TRasterP &getRaster() const { return m_mainRaster; } |
| |
| TRasterP &getRaster() { return m_mainRaster; } |
| |
| TRasterP raster() const override { return m_mainRaster; } |
| |
| |
| void setRaster(const TRasterP &raster); |
| |
| |
| const TRasterP &getIconRaster() const { return m_iconRaster; } |
| |
| TRasterP &getIconRaster() { return m_iconRaster; } |
| |
| void setIconRaster(const TRasterP &raster) { m_iconRaster = raster; } |
| |
| |
| bool isEmpty() const { return !m_mainRaster; } |
| |
| |
| bool isScanBW() const { return m_isScanBW; } |
| void setScanBWFlag(bool isScanBW) { m_isScanBW = isScanBW; } |
| |
| |
| |
| bool isOpaque() const { return m_isOpaque; } |
| void setOpaqueFlag(bool isOpaque) { m_isOpaque = isOpaque; } |
| |
| |
| void makeIcon(const TRaster32P &raster); |
| }; |
| |
| |
| |
| #ifdef _WIN32 |
| template class DVAPI TSmartPointerT<TRasterImage>; |
| template class DVAPI TDerivedSmartPointerT<TRasterImage, TImage>; |
| #endif |
| |
| class DVAPI TRasterImageP final |
| : public TDerivedSmartPointerT<TRasterImage, TImage> { |
| public: |
| TRasterImageP() {} |
| TRasterImageP(TRasterImage *image) : DerivedSmartPointer(image) {} |
| TRasterImageP(TImageP image) : DerivedSmartPointer(image) {} |
| TRasterImageP(const TRasterP &ras) |
| : DerivedSmartPointer(new TRasterImage(ras)) {} |
| operator TImageP() { return TImageP(m_pointer); } |
| }; |
| |
| #endif |