00001 00005 /* Copyright © 2009, 2010 James Legg. 00006 This program is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 */ 00011 #ifndef LIBTRACK_THEME_H_ 00012 #define LIBTRACK_THEME_H_ 00013 00014 #include "Skybox.h" 00015 #include "Segment.h" 00016 00017 #include <vector> 00018 #include <istream> 00019 #include <string> 00020 00021 #include <boost/shared_ptr.hpp> 00022 00023 namespace Track 00024 { 00025 00031 class Theme 00032 { 00033 public: 00040 Theme(std::istream & source); 00042 virtual ~Theme(); 00043 00047 const Skybox & get_skybox() const; 00048 00052 std::size_t get_number_of_segments() const; 00053 00059 const Segment & get_segment(std::size_t index) const; 00060 00062 const std::string & get_name() const; 00063 00065 std::size_t get_segment_index(std::string name) const; 00066 00068 std::size_t get_default_segment_index() const; 00069 00071 bool get_use_sky_particles() const; 00072 protected: 00074 Skybox skybox; 00076 std::vector<boost::shared_ptr<Segment> > segments; 00078 std::string name; 00079 00081 std::size_t m_default_segment_index; 00082 00083 void find_default_segment(); 00084 00085 bool m_use_sky_particles; 00086 }; 00087 00088 } 00089 00090 #endif /*THEME_H_*/
Generated at Mon Sep 6 00:41:12 2010 by Doxygen version 1.4.7 for Racer version svn335.