Panda3D
config_device.cxx
Go to the documentation of this file.
1 /**
2  * PANDA 3D SOFTWARE
3  * Copyright (c) Carnegie Mellon University. All rights reserved.
4  *
5  * All use of this software is subject to the terms of the revised BSD
6  * license. You should have received a copy of this license along
7  * with this source code in a file named "LICENSE."
8  *
9  * @file config_device.cxx
10  * @author drose
11  * @date 2000-05-04
12  */
13 
14 #include "config_device.h"
15 #include "analogNode.h"
16 #include "buttonNode.h"
17 #include "clientAnalogDevice.h"
18 #include "clientBase.h"
19 #include "clientButtonDevice.h"
20 #include "clientDevice.h"
21 #include "clientDialDevice.h"
22 #include "clientTrackerDevice.h"
23 #include "dialNode.h"
24 #include "evdevInputDevice.h"
25 #include "inputDevice.h"
26 #include "linuxJoystickDevice.h"
27 #include "trackerNode.h"
28 #include "virtualMouse.h"
29 #include "xInputDevice.h"
30 
31 #include "dconfig.h"
32 
33 #if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDA_DEVICE)
34  #error Buildsystem error: BUILDING_PANDA_DEVICE not defined
35 #endif
36 
37 Configure(config_device);
38 NotifyCategoryDef(device, "");
39 
40 ConfigVariableBool asynchronous_clients
41 ("asynchronous-clients", true);
42 
43 ConfigureFn(config_device) {
45 }
46 
47 /**
48  * Initializes the library. This must be called at least once before any of
49  * the functions or classes in this library can be used. Normally it will be
50  * called by the static initializers and need not be called explicitly, but
51  * special cases exist.
52  */
53 void
55  static bool initialized = false;
56  if (initialized) {
57  return;
58  }
59  initialized = true;
60 
61  AnalogNode::init_type();
62  ButtonNode::init_type();
63  ClientAnalogDevice::init_type();
64  ClientBase::init_type();
65  ClientButtonDevice::init_type();
66  ClientDevice::init_type();
67  ClientDialDevice::init_type();
68  ClientTrackerDevice::init_type();
69  DialNode::init_type();
70  InputDevice::init_type();
71  TrackerNode::init_type();
72  VirtualMouse::init_type();
73 
74 #ifdef PHAVE_LINUX_INPUT_H
75  EvdevInputDevice::init_type();
76  LinuxJoystickDevice::init_type();
77 #endif
78 
79 #ifdef _WIN32
80  XInputDevice::init_type();
81 #endif
82 }
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void init_libdevice()
Initializes the library.
This is a convenience class to specialize ConfigVariable as a boolean type.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.