Starshatter_Open
Open source Starshatter engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TacticalView.h
Go to the documentation of this file.
1 /* Project Starshatter 4.5
2  Destroyer Studios LLC
3  Copyright © 1997-2004. All Rights Reserved.
4 
5  SUBSYSTEM: Stars.exe
6  FILE: TacticalView.h
7  AUTHOR: John DiCamillo
8 
9 
10  OVERVIEW
11  ========
12  View class for Radio Communications HUD Overlay
13 */
14 
15 #ifndef TacticalView_h
16 #define TacticalView_h
17 
18 #include "Types.h"
19 #include "View.h"
20 #include "Color.h"
21 #include "SimObject.h"
22 #include "Text.h"
23 
24 // +--------------------------------------------------------------------+
25 
26 class Font;
27 class Ship;
28 class RadioMessage;
29 class CameraView;
30 class Projector;
31 class HUDView;
32 class Menu;
33 class MenuItem;
34 class MenuView;
35 class GameScreen;
36 
37 // +--------------------------------------------------------------------+
38 
39 class TacticalView : public View,
40 public SimObserver
41 {
42 public:
43  TacticalView(Window* c, GameScreen* parent);
44  virtual ~TacticalView();
45 
46  // Operations:
47  virtual void Refresh();
48  virtual void OnWindowMove();
49  virtual void ExecFrame();
50  virtual void UseProjector(Projector* p);
51 
52  virtual void DoMouseFrame();
53 
54  virtual bool Update(SimObject* obj);
55  virtual const char* GetObserverName() const;
56 
57  static void SetColor(Color c);
58 
59  static void Initialize();
60  static void Close();
61 
62  static TacticalView* GetInstance() { return tac_view; }
63 
64 protected:
65  virtual bool SelectAt(int x, int y);
66  virtual bool SelectRect(const Rect& r);
67  virtual Ship* WillSelectAt(int x, int y);
68  virtual void SetHelm(bool approach);
69 
70  virtual void DrawMouseRect();
71  virtual void DrawSelection(Ship* seln);
72  virtual void DrawSelectionInfo(Ship* seln);
73  virtual void DrawSelectionList(ListIter<Ship> seln);
74 
75  virtual void BuildMenu();
76  virtual void DrawMenu();
77  virtual void ProcessMenuItem(int action);
78 
79  virtual void DrawMove();
80  virtual void SendMove();
81  virtual bool GetMouseLoc3D();
82 
83  virtual void DrawAction();
84  virtual void SendAction();
85 
89 
90  int width, height;
91  double xcenter, ycenter;
92 
96  int show_move;
98 
100  double base_alt;
101  double move_alt;
102 
104  POINT mouse_start;
106 
112 
115 
117 };
118 
119 #endif TacticalView_h
120