Commit Graph

36 Commits

Author SHA1 Message Date
rdb 585ba2d647 Prepare input API for multipointer support 2018-11-30 20:54:37 +01:00
rdb 2087d8ee84 device: change InputDevice enums to enum classes 2018-11-30 20:41:06 +01:00
rdb 85752b06f5 device: delete InputDevice copy ctor / assign operator 2018-09-28 17:32:38 +02:00
rdb 234fd675b1 Merge branch 'master' into input-overhaul 2018-06-23 23:24:09 +02:00
Sam Edwards b2bfb31114 general: Remove `using std::*` from headers
Also remove most `using namespace std;` statements. The only one that remains is in py_panda.h.

Closes #350
Closes #335
2018-06-14 16:04:49 +02:00
Sam Edwards e2b4353800 general: Replace NULL (and 0 as pointer) with C++11 nullptr
Exceptions to this replacement are:
- .c files
- Headers included by a .c file
- stb_image.h
- dr_flac.h
- Strings
- Comments
2018-06-03 16:35:13 -06:00
Sam Edwards cfd70ebead general: Remove '#pragma interface'/'#pragma implementation'
The GCC documentation states that, as of GCC 2.7.2, these aren't
necessary for proper program behavior. The documentation further
discourages their use because they don't suppress unnecessary code
duplication.

The Panda codebase these days uses "extern template class" instead,
which tells the compiler not to perform implicit template expansion
because an explicit template expansion is available for linking
elsewhere in the program. This is a more compiler-neutral way of
achieving the same thing as '#pragma interface', making
'#pragma interface' not only redundant, it could also mask problems
in the "extern template class" machinery.
2018-03-20 14:36:19 -04:00
rdb fa7f385bb8 More work on integrating new input framework 2016-12-28 17:25:55 +01:00
rdb 1cc79633c1 Merge branch 'master' into input-overhaul
Conflicts:
	panda/src/device/buttonNode.cxx
	panda/src/device/clientAnalogDevice.I
	panda/src/device/clientAnalogDevice.cxx
	panda/src/device/clientButtonDevice.I
	panda/src/device/clientButtonDevice.cxx
	panda/src/device/clientDevice.I
	panda/src/device/clientDevice.cxx
	panda/src/device/clientDevice.h
	panda/src/device/clientTrackerDevice.I
	panda/src/device/trackerNode.I
	panda/src/device/trackerNode.h
	panda/src/display/callbackGraphicsWindow.cxx
	panda/src/display/graphicsWindow.cxx
	panda/src/display/graphicsWindowInputDevice.I
	panda/src/display/graphicsWindowInputDevice.cxx
	panda/src/display/graphicsWindowInputDevice.h
	panda/src/tinydisplay/tinyOsxGraphicsWindow.mm
	panda/src/tinydisplay/tinyXGraphicsWindow.cxx
	panda/src/windisplay/winGraphicsWindow.cxx
	panda/src/windisplay/winGraphicsWindow.h
	panda/src/x11display/x11GraphicsWindow.cxx
2016-03-19 14:54:56 +01:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb bd0683d101 Generalised input framework for raw mice, gamepads, trackers (incl. HMDs like Oculus Rift) 2015-12-11 15:26:40 +01:00
rdb 9513046e59 Various substantial changes to Interrogate:
* Allow arbitrary selection of optional keyword arguments in some cases
* Reduce code bloat of generated bindings
* Work around awkward resolution of set_shader_input overloads
* Document the code a bit better
* Make coercion a bit cleaner for reference counted types
* A few optimization tweaks
* Use generic errors in NDEBUG build to reduce size of string pool
2015-02-15 13:48:13 +01:00
rdb a65b477734 Commit patches by cfsworks:
cxx: Fix missing includes masked by composite builds.
misc: Fix typos in comments.
config: Fix missing config forward-declarations.
direct: Adjust Python imports to panda3d.* instead of pandac.*.
display: Split graphicsWindow out into an extension.
framework: Use if/elif/elif/endif instead of ifdef/elif/elif/endif.
ode: Remove erroneous INLINE declarations.
interval: Fix missing import.
2014-10-19 22:41:47 +00:00
rdb 85a5be984f Raw button event support, with X11 implementation (untransformed QWERTY) 2014-03-07 12:52:15 +00:00
rdb dcdc6d9877 mouse coordinates are now stored as doubles, not ints 2012-08-03 12:00:08 +00:00
David Rose 1968a30cd0 stop button spam on lost focus 2012-01-15 17:01:20 +00:00
David Rose e749054ba5 update comment 2009-12-05 19:37:52 +00:00
David Rose d4c2c9858d SIMPLE_THREADS_NO_MUTEX -> LightMutex 2008-10-08 23:23:40 +00:00
David Rose fb9c56432a we are now using the modified BSD license 2008-05-28 18:37:20 +00:00
Roger Hughston e9dd59bdd9 Added Thread Safty 2007-11-05 22:57:51 +00:00
Josh Yelon 942769b672 Improvements to mouse-trail tracking 2007-10-01 19:47:19 +00:00
Josh Yelon f64547dd1b Code to record a mouse trail added 2007-09-30 19:40:46 +00:00
Zachary Pavlov 220d33e006 okay, this is going to be a big commit. The basic idea here is to add transparent defines to allow for directory based dlls later. This will let us build tau again. ugggg 2007-07-20 23:02:51 +00:00
David Rose 169eee50c0 support cursor_pos for candidate() functions, and trigger background pgEntry on candidate action 2004-04-08 19:34:42 +00:00
David Rose a28b2a8006 add initial support for IME candidate strings in-game 2004-04-02 01:44:28 +00:00
David Rose 843c0331ae update license, change remaining local #includes to use quotation marks 2004-02-13 19:27:33 +00:00
David Rose 038230f7ec add support for OS time for keypress/release 2003-12-26 20:26:56 +00:00
David Rose 9e1159afcc add ButtonEvent::T_resume_down 2003-01-13 17:17:13 +00:00
David Rose ea59108287 new window code 2003-01-09 20:35:54 +00:00
David Rose 6739d86101 support keystrokes in addition to button up/down 2002-02-16 00:09:53 +00:00
cxgeorge b8479388a7 remove pch 2001-06-08 23:56:30 +00:00
cxgeorge a7c2653a8a use precomp hdrs 2001-06-04 21:06:51 +00:00
David Rose 2f4e207edb Update copyright header 2001-05-25 21:27:38 +00:00
David Rose 37495faea5 *** empty log message *** 2001-05-16 17:32:30 +00:00
David Rose 979b4096e6 *** empty log message *** 2001-02-06 19:56:17 +00:00
David Rose 2fd714e52f Initial revision 2000-10-04 01:14:41 +00:00