00001 00010 #ifndef TEXPALETTEINT_H 00011 #define TEXPALETTEINT_H 00012 00013 00014 #include "TexPalette.H" 00015 #include "Cursor.H" 00016 #include "TexPlane.H" 00017 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 namespace InSpace { 00029 00030 class TexPaletteInt : public Interactor<TexPaletteInt>, 00031 public PropertyChangedNotifier 00032 { 00033 public: 00034 00035 TexPaletteInt(TexPalette *tp, Cursor *c); 00036 virtual ~TexPaletteInt() {} 00037 00038 00039 protected: 00040 00041 void motion(cEVENTroom6dptr &evt, STATE *&); 00042 void show_palette(cEVENTbtnptr &evt, STATE *&nextState); 00043 void copy_texture(cEVENTbtnptr &evt, STATE *&); 00044 void apply_texture(cEVENTbtnptr &evt, STATE *&); 00045 void cancel_texture(cEVENTbtnptr &evt, STATE *&); 00046 00047 STATE _paletteOn; 00048 EVENTbtnptr _activatebtn; 00049 EVENTbtnptr _cancelbtn; 00050 EVENTbtnptr _copybtn; 00051 EVENTbtnptr _applybtn; 00052 EVENTroom6dptr _tracker; 00053 00054 Cursor *_cursor; 00055 TexPalette *_tp; 00056 TexPlane *_selectedTexPlane; 00057 00058 }; 00059 00060 } 00061 #endif