00001 00010 #ifndef TEXPALETTEINT_H 00011 #define TEXPALETTEINT_H 00012 00013 00014 #include "TexPalette.H" 00015 #include "Cursor.H" 00016 #include "TexPlane.H" 00017 #include "EnableObj.H" 00018 #include "PropertyChangeNotifier.H" 00019 00020 // Gluebase includes 00021 #define OUTSIDE_GLUE_CORE 00022 #include <fsa/fsa.H> 00023 #include <dev/room6d.H> 00024 #include <dev/buttons.H> 00025 #include <config/config.H> 00026 #include <std/hash.H> 00027 00028 00029 class TexPaletteInt : public Interactor<TexPaletteInt>, public EnableObj, 00030 public PropertyChangedNotifier 00031 { 00032 public: 00033 00034 TexPaletteInt(TexPalette *tp, Cursor *c); 00035 virtual ~TexPaletteInt() {} 00036 00037 00038 protected: 00039 00040 void motion(cEVENTroom6dptr &evt, STATE *&); 00041 void show_palette(cEVENTbtnptr &evt, STATE *&nextState); 00042 void copy_texture(cEVENTbtnptr &evt, STATE *&); 00043 void apply_texture(cEVENTbtnptr &evt, STATE *&); 00044 00045 STATE _paletteOn; 00046 EVENTbtnptr _activatebtn; 00047 EVENTbtnptr _copybtn; 00048 EVENTbtnptr _applybtn; 00049 EVENTroom6dptr _tracker; 00050 00051 Cursor *_cursor; 00052 TexPalette *_tp; 00053 TexPlane *_selectedTexPlane; 00054 00055 }; 00056 00057 00058 #endif