Pioneer
Loading...
Searching...
No Matches
View.h
Go to the documentation of this file.
1// Copyright © 2008-2024 Pioneer Developers. See AUTHORS.txt for details
2// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3
4#ifndef _VIEW_H
5#define _VIEW_H
6
7#include "JsonFwd.h"
8
9namespace Graphics {
10 class Renderer;
11}
12
13/*
14 * For whatever draws crap into the main area of the screen.
15 * Eg:
16 * game 3d view
17 * system map
18 * sector map
19 */
20class View {
21public:
22 View();
23 virtual ~View();
24 virtual void Draw(){};
25 // called before Gui::Draw will call widget ::Draw methods.
26 virtual void Draw3D() = 0;
27 // for checking key states, mouse crud
28 virtual void Update() = 0;
29 // Called during the pigui frame to draw UI
30 virtual void DrawPiGui(){};
31 virtual void SaveToJson(Json &jsonObj) {}
32 virtual void LoadFromJson(const Json &jsonObj) {}
33
34 void Attach();
35 void Detach();
36
38
39protected:
40 virtual void OnSwitchTo() = 0;
41 virtual void OnSwitchFrom() {}
43};
44
45#endif /* _VIEW_H */
nlohmann::json Json
Definition: Json.h:8
Definition: Renderer.h:45
Definition: View.h:20
void Attach()
Definition: View.cpp:16
virtual void Draw3D()=0
Graphics::Renderer * m_renderer
Definition: View.h:42
void Detach()
Definition: View.cpp:21
View()
Definition: View.cpp:7
virtual void DrawPiGui()
Definition: View.h:30
virtual void Draw()
Definition: View.h:24
virtual void OnSwitchTo()=0
virtual void SaveToJson(Json &jsonObj)
Definition: View.h:31
virtual void Update()=0
virtual ~View()
Definition: View.cpp:12
virtual void OnSwitchFrom()
Definition: View.h:41
virtual void LoadFromJson(const Json &jsonObj)
Definition: View.h:32
void SetRenderer(Graphics::Renderer *r)
Definition: View.h:37
Definition: Background.h:14