#ifndef _efpane_H_ #define _efpane_H_ ////////////////////////////////////////////////////////////////////////////// // // effect panes // ////////////////////////////////////////////////////////////////////////////// void SetEffectWindow(Window* pwindow); void AddPaneFactories( INameSpace* pns, Modeler* pmodeler, IPopupContainer* ppopupContainer, Number* ptime ); ////////////////////////////////////////////////////////////////////////////// // // Black background // ////////////////////////////////////////////////////////////////////////////// TRef CreateBlackPane(Pane* ppane); ////////////////////////////////////////////////////////////////////////////// // // Hover Site // ////////////////////////////////////////////////////////////////////////////// class HoverSite : public IObject { public: virtual void Enter(float id) = 0; virtual void Leave(float id) = 0; virtual Number* GetID() = 0; }; TRef CreateHoverSite(float id); TRef CreateHoverPane(HoverSite* psite, float id, Pane* ppane); ////////////////////////////////////////////////////////////////////////////// // // ThumbPane // ////////////////////////////////////////////////////////////////////////////// class ThumbPane : public Pane { public: static TRef Create(Modeler* pmodeler, bool bHorizontal, // false == vertical TRef pImageThumb // Set this to NULL for default image ); }; ////////////////////////////////////////////////////////////////////////////// // // Trek Scroll Bar // ////////////////////////////////////////////////////////////////////////////// TRef CreateTrekScrollPane( unsigned height, Modeler* pmodeler, TRef& pevent, TRef& pscrollPane ); ///////////////////////////////////////////////////////////////////////////// // // Gauge Pane // ///////////////////////////////////////////////////////////////////////////// class GaugePane : public Pane { private: TRef m_psurface; float m_minValue; float m_maxValue; int m_value; int m_valueOld; int m_valueFlash; Time m_timeLastChange; Color m_colorFlash; Color m_colorEmpty; void Paint(Surface* psurface); public: GaugePane(Surface* psurface, const Color& colorFlash = Color::Red(), float minValue = 0.0f, float maxValue = 1.0f, const Color& colorEmpty = Color::Black()); void SetValue(float v, bool fFlash = true); void Update(Time time); }; void ParseIntVector(IObject* pobject, TVector& vec); void ParseFloatVector(IObject* pobject, TVector& vec); void ParseStringVector(IObject* pobject, TVector& vec); #endif