Colobot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
displayinfo.h
1 // * This file is part of the COLOBOT source code
2 // * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
3 // * Copyright (C) 2012, Polish Portal of Colobot (PPC)
4 // *
5 // * This program is free software: you can redistribute it and/or modify
6 // * it under the terms of the GNU General Public License as published by
7 // * the Free Software Foundation, either version 3 of the License, or
8 // * (at your option) any later version.
9 // *
10 // * This program is distributed in the hope that it will be useful,
11 // * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // * GNU General Public License for more details.
14 // *
15 // * You should have received a copy of the GNU General Public License
16 // * along with this program. If not, see http://www.gnu.org/licenses/.
17 
18 // displayinfo.h
19 
20 #pragma once
21 
22 #include <string>
23 
24 #include "common/event.h"
25 
26 #include "graphics/engine/camera.h"
27 
28 class CRobotMain;
29 class CObject;
30 class CEventQueue;
31 
32 struct Event;
33 
34 namespace Gfx {
35 class CEngine;
36 class CParticle;
37 class CLightManager;
38 }
39 
40 namespace Ui {
41 
42 class CInterface;
43 
45 {
46 public:
47  CDisplayInfo();
48  ~CDisplayInfo();
49 
50  bool EventProcess(const Event &event);
51 
52  void StartDisplayInfo(std::string filename, int index, bool bSoluce);
53  void StopDisplayInfo();
54 
55  void SetPosition(int pos);
56  int GetPosition();
57 
58 protected:
59  bool EventFrame(const Event &event);
60  void HyperUpdate();
61  void AdjustDisplayInfo(Math::Point wpos, Math::Point wdim);
62  void ChangeIndexButton(int index);
63  void UpdateIndexButton();
64  void UpdateCopyButton();
65  void ViewDisplayInfo();
66  CObject* SearchToto();
67  void CreateObjectsFile();
68 
69 protected:
70  Gfx::CEngine* m_engine;
71  CEventQueue* m_event;
72  CRobotMain* m_main;
73  Gfx::CCamera* m_camera;
74  CInterface* m_interface;
75  Gfx::CParticle* m_particle;
76  Gfx::CLightManager* m_light;
77 
78  bool m_bInfoMaximized;
79  bool m_bInfoMinimized;
80 
81  int m_index;
82  Gfx::CameraType m_infoCamera;
83  Math::Point m_infoNormalPos;
84  Math::Point m_infoNormalDim;
85  Math::Point m_infoActualPos;
86  Math::Point m_infoActualDim;
87  Math::Point m_infoFinalPos;
88  Math::Point m_infoFinalDim;
89  int m_lightSuppl;
90  bool m_bEditLock;
91  bool m_bInitPause;
92  bool m_bSoluce;
93  CObject* m_toto;
94 };
95 
96 
97 } // namespace Ui
98 
CameraType
Type of camera.
Definition: camera.h:42
Camera handling - CCamera class.
Global event queue.
Definition: event.h:765
Manager for dynamic lights in 3D scene.
Definition: lightman.h:142
Definition: robotmain.h:191
Particle engine.
Definition: particle.h:266
2D point
Definition: point.h:46
Camera moving in 3D scene.
Definition: camera.h:130
The graphics engine.
Definition: engine.h:681
Event types, structs and event queue.
Definition: displayinfo.h:44
Event sent by system, interface or game.
Definition: event.h:687
Definition: interface.h:56
Definition: object.h:372