00001 #ifndef HEADER_NODEDRAWER_H
00002 #define HEADER_NODEDRAWER_H
00003
00004 class V2;
00005 class LevelNode;
00006 class ResImagePack;
00007 class Font;
00008
00009 #include "NoCopy.h"
00010
00011 #include "SDL.h"
00012 #include <string>
00013
00014
00015
00016
00017 class NodeDrawer : public NoCopy {
00018 private:
00019 ResImagePack *m_imagePack;
00020 SDL_Surface *m_screen;
00021 Font *m_font;
00022 private:
00023 void drawDot(SDL_Surface *dot, const V2 &loc) const;
00024 public:
00025 NodeDrawer();
00026 virtual ~NodeDrawer();
00027 void setScreen(SDL_Surface *screen) { m_screen = screen; }
00028
00029 void drawNode(const LevelNode *node) const;
00030 void drawEdge(const LevelNode *start, const LevelNode *end) const;
00031 void drawSelected(const std::string &levelname) const;
00032 };
00033
00034 #endif