Linux multi-monitor fullscreen support
[ryzomcore.git] / ryzom / client / src / motion / modes / interface_mode.cpp
blobb6033f90297e0602ca25b0f5aac8e12039ed5721
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
20 //////////////
21 // Includes //
22 //////////////
23 #include "stdpch.h"
24 // 3D Interface.
25 #include "nel/3d/u_driver.h"
26 // Client.
27 #include "../../input.h"
28 #include "../user_controls.h"
29 #include "../../actions_client.h"
30 #include "../../view.h"
31 #include "../../time_client.h"
32 #include "../../entities.h"
33 #include "../../interface_v3/interface_manager.h"
34 #include "../../cursor_functions.h"
35 #include "../../entities.h"
36 #include "../../misc.h"
37 #include "../../client_cfg.h"
38 #include "../../user_entity.h"
41 ///////////
42 // Using //
43 ///////////
44 using namespace std;
45 using namespace NLMISC;
46 using namespace NL3D;
49 /////////////
50 // Externs //
51 /////////////
52 extern UDriver *Driver;
53 extern CEventsListener EventsListener; // Inputs Manager
55 ///////////////
56 // Functions //
57 ///////////////
58 //-----------------------------------------------
59 // interfaceModeStart :
60 // Manage interactions in interactive mode (start).
61 //-----------------------------------------------
62 void CUserControls::interfaceModeStart()
64 SetMouseCursor ();
66 // First person view, user is not selectable.
67 UserEntity->selectable(false);
69 _InternalView = true;
71 // Show/hide all or parts of the user body.
72 UserEntity->updateVisualDisplay();
73 }// interfaceModeStart //
75 //-----------------------------------------------
76 // interfaceModeStop :
77 // Manage interactions in interactive mode (stop).
78 //-----------------------------------------------
79 void CUserControls::interfaceModeStop()
81 }// interfaceModeStop //
83 //-----------------------------------------------
84 // interfaceMode :
85 // Manage interactions in free head mode.
86 //-----------------------------------------------
87 void CUserControls::interfaceMode()
89 // Manage common moves.
90 commonMove();
92 // Set the view.
93 View.viewPos(UserEntity->pos() + CVector(0,0,_ZOscil));
94 commonSetView();
96 }// interfaceMode //