Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
radar.h
Go to the documentation of this file.
1 // -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*-
2 
3 #ifndef VEGASTRIKE_GFX_RADAR_RADAR_H
4 #define VEGASTRIKE_GFX_RADAR_RADAR_H
5 
6 #include <string>
7 #include <vector>
8 #include <memory>
9 
10 class Unit;
11 class VSSprite;
12 
13 namespace Radar
14 {
15 
16 class Sensor;
17 
18 // Draws radar on display
19 class Display
20 {
21 public:
22  virtual ~Display() {}
23 
24  virtual void Draw(const Sensor& sensor, VSSprite*, VSSprite *) = 0;
25 
26  virtual void OnDockEnd() {}
27  virtual void OnJumpBegin() {}
28  virtual void OnJumpEnd() {}
29  virtual void OnPauseBegin() {}
30  virtual void OnPauseEnd() {}
31 };
32 
33 struct Type
34 {
35  enum Value
36  {
41  };
42 };
43 
44 std::auto_ptr<Display> Factory(Type::Value);
45 
46 } // namespace Radar
47 
48 #endif