00001 00004 #ifndef _vuKeyFramerCanvas_h_ 00005 #define _vuKeyFramerCanvas_h_ 00006 00007 #include <wx/wx.h> 00008 #include "../vuGLCanvas.h" 00009 #include "vuSimpleTypes.h" 00010 00016 class vuKeyFrameCanvas : public vuGLCanvas 00017 { 00018 public: 00019 vuKeyFrameCanvas(wxWindow *parent,wxWindowID id=-1,bool edit=false); 00021 ~vuKeyFrameCanvas(); 00022 00025 void setTransferFunc(); 00026 00029 00032 00034 void setSmoothing(float opacity, float colour); 00035 00036 protected: 00038 bool glInit(); 00040 void render(); 00042 void resize(); 00044 void OnMouse(wxMouseEvent &ev); 00045 00047 void postEvent(wxEventType ev); 00048 00049 protected: 00052 bool m_Edit; 00053 00055 float m_xScreenMin, m_xScreenMax, m_yScreenMin, m_yScreenMax; 00057 float m_dx, m_dy; 00058 00060 dword m_Opacity; 00062 dword m_Colour; 00063 00064 protected: 00066 const dword m_xMin; 00067 const dword m_xMax; 00068 const float m_yMin; 00069 const float m_yMax; 00070 00072 bool m_DoSpectral; 00073 00074 DECLARE_EVENT_TABLE() 00075 }; 00076 00078 enum 00079 { 00081 vuEVT_TRANSFER_NODE_SELECT = 12000, 00082 00084 vuEVT_TRANSFER_NODE_OPEN, 00085 00087 vuEVT_TRANSFER_CHANGE 00088 }; 00089 00090 00091 00092 #endif 00093