#ifndef TREKGEO_H #define TREKGEO_H ///////////////////////////////////////////////////////////////////////////// // // ImageStringPane // ///////////////////////////////////////////////////////////////////////////// class ImageStringPane : public Pane { private: TRef m_pStringPane; public: enum { ImageLeft = 0, ImageRight = 1 }; ImageStringPane(LPCSTR szText, LPCSTR szImage, bool bUp = true, int Layout = ImageLeft); virtual void UpdateLayout(); virtual void SetString(LPCSTR szText); }; ///////////////////////////////////////////////////////////////////////////// // // ImageStringButtonPane // ///////////////////////////////////////////////////////////////////////////// class ImageStringButtonPane : public Pane { private: TRef m_pImageStringPaneUp; TRef m_pImageStringPaneDn; TRef m_pButtonPane; public: ImageStringButtonPane(LPCSTR szText, LPCSTR szImageUp, LPCSTR szImageDn, int Layout = ImageStringPane::ImageLeft); virtual void UpdateLayout(); virtual IEventSource* GetEventSource(); virtual void SetString(LPCSTR szText); }; ////////////////////////////////////////////////////////////////////////////// // // CommandGeo // ////////////////////////////////////////////////////////////////////////////// #define CmdViewMaxIconScreenSize 7.0f class CommandGeo : public Geo { private: TVector m_vertices; TVector m_indices; TRef m_pcluster; float m_zGrid; void DrawShips(Context* pcontext); public: CommandGeo(float radius, float zGrid, int nSegments); void Render(Context* pcontext); void SetCluster(IclusterIGC* pcluster); // // Value members // ZString GetFunctionName() { return "CommandGeo"; } static const Color s_colorGrid; static const Color s_colorGridMajor; static const Color s_colorDropLineUp; static const Color s_colorDropLineDown; static const Color s_colorFeet; static const Color s_colorNeutral; }; #endif