| |
| |
| #ifndef TTOONZIMAGE_INCLUDED |
| #define TTOONZIMAGE_INCLUDED |
| |
| #include "trastercm.h" |
| #include "tthreadmessage.h" |
| #include "timage.h" |
| |
| #undef DVAPI |
| #undef DVVAR |
| #ifdef TNZCORE_EXPORTS |
| #define DVAPI DV_EXPORT_API |
| #define DVVAR DV_EXPORT_VAR |
| #else |
| #define DVAPI DV_IMPORT_API |
| #define DVVAR DV_IMPORT_VAR |
| #endif |
| class TToonzImageP; |
| |
| |
| |
| class DVAPI TToonzImage : public TImage |
| { |
| |
| |
| double m_dpix, |
| |
| m_dpiy; |
| int m_subsampling; |
| |
| string m_name; |
| |
| TRect m_savebox; |
| |
| |
| TPoint m_offset; |
| |
| TRasterCM32P m_ras; |
| TThread::Mutex m_mutex; |
| |
| public: |
| TToonzImage(); |
| TToonzImage(const TRasterCM32P &raster, const TRect &saveBox); |
| |
| ~TToonzImage(); |
| |
| private: |
| |
| TToonzImage(const TToonzImage &); |
| |
| |
| TToonzImage &operator=(const TToonzImage &); |
| |
| public: |
| |
| TImage::Type getType() const { return TImage::TOONZ_RASTER; } |
| |
| |
| TDimension getSize() const { return m_size; } |
| |
| |
| 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); |
| |
| |
| TRectD getBBox() const { return convert(m_savebox); } |
| |
| |
| TPoint getOffset() const { return m_offset; } |
| |
| void setOffset(const TPoint &offset) { m_offset = offset; } |
| |
| |
| |
| |
| |
| |
| |
| TImage *cloneImage() const; |
| |
| |
| TRasterCM32P getCMapped() const; |
| |
| void getCMapped(const TRasterCM32P &ras); |
| |
| void setCMapped(const TRasterCM32P &ras); |
| |
| |
| |
| TRasterCM32P getRaster() const { return getCMapped(); } |
| |
| TRasterP raster() const { return (TRasterP)getCMapped(); } |
| |
| |
| TToonzImageP clone() const; |
| |
| private: |
| |
| TDimension m_size; |
| }; |
| |
| |
| |
| #ifdef WIN32 |
| template class DVAPI TSmartPointerT<TToonzImage>; |
| template class DVAPI TDerivedSmartPointerT<TToonzImage, TImage>; |
| #endif |
| |
| class DVAPI TToonzImageP : public TDerivedSmartPointerT<TToonzImage, TImage> |
| { |
| public: |
| TToonzImageP() {} |
| TToonzImageP(TToonzImage *image) : DerivedSmartPointer(image) {} |
| TToonzImageP(TImageP image) : DerivedSmartPointer(image) {} |
| TToonzImageP(const TRasterCM32P &ras, const TRect &saveBox) : DerivedSmartPointer(new TToonzImage(ras, saveBox)) {} |
| operator TImageP() { return TImageP(m_pointer); } |
| }; |
| |
| #endif |
| |