1 #pragma once 2 3 #ifndef TXSHPALETTECOLUMN_INCLUDED 4 #define TXSHPALETTECOLUMN_INCLUDED 5 6 #include "toonz/txshcolumn.h" 7 8 #undef DVAPI 9 #undef DVVAR 10 #ifdef TOONZLIB_EXPORTS 11 #define DVAPI DV_EXPORT_API 12 #define DVVAR DV_EXPORT_VAR 13 #else 14 #define DVAPI DV_IMPORT_API 15 #define DVVAR DV_IMPORT_VAR 16 #endif 17 18 //============================================================================= 19 // forward declarations 20 class TPaletteColumnFx; 21 22 //============================================================================= 23 //! The TXshPaletteColumn class represent a column in xsheet containing 24 //! TXshPaletteLevel 25 /*!Inherits \b TXshColumn. 26 \n 27 */ 28 //============================================================================= 29 30 class DVAPI TXshPaletteColumn final : public TXshCellColumn { 31 PERSIST_DECLARATION(TXshPaletteColumn) 32 TPaletteColumnFx *m_fx; 33 34 public: 35 TXshPaletteColumn(); 36 ~TXshPaletteColumn(); 37 38 TXshColumn::ColumnType getColumnType() const override; 39 getPaletteColumn()40 TXshPaletteColumn *getPaletteColumn() override { return this; } 41 42 TXshColumn *clone() const override; 43 getPaletteColumnFx()44 TPaletteColumnFx *getPaletteColumnFx() const { return m_fx; } 45 TFx *getFx() const override; 46 void setFx(TFx *fx); 47 48 bool canSetCell(const TXshCell &cell) const override; 49 50 void loadData(TIStream &is) override; 51 void saveData(TOStream &is) override; 52 53 private: 54 // not implemented 55 TXshPaletteColumn(const TXshPaletteColumn &); 56 TXshPaletteColumn &operator=(const TXshPaletteColumn &); 57 }; 58 59 #ifdef _WIN32 60 template class TSmartPointerT<TXshPaletteColumn>; 61 #endif 62 63 typedef TSmartPointerT<TXshPaletteColumn> TXshPaletteColumnP; 64 65 #endif 66