/* -*- C++ -*- * Copyright ©2004 Hugo Mills * * This software is distributed under the terms of the GNU GPL v3 * For more information on the GPL, see the file COPYING or * visit http://www.gnu.org/ * * This software is distributed without warranty */ #ifndef MDISPLAY_H #define MDISPLAY_H #include "magellan/configlexer.h" #include "magellan/content.h" #include "magellan/plugin.h" class MDisplay : public Plugin { public: MDisplay( const std::string& vpt, const std::string& prj, const std::string& orb, const std::string& cnt ) : viewport_name(vpt), projection_name(prj), orbit_name(orb), content_name(cnt), viewport(NULL), projection(NULL), orbit(NULL), sphere(NULL), content(NULL) { } virtual ~MDisplay(); static MDisplay* parse( ConfigLexer*, const std::string&, const std::string&); static PluginInfo* getmodules(int); virtual bool isbound() const; virtual Plugin* bind(Configuration*); virtual void plot(Output*, XfView*); XfView* getviewport(void) const { return viewport; } protected: std::string viewport_name; std::string projection_name; std::string orbit_name; std::string content_name; XfView* viewport; XfMap* projection; XfOrbit* orbit; XfSphere* sphere; Content* content; }; #endif