Commit Graph

231 Commits

Author SHA1 Message Date
rdb 5e26aae1ff cleanup: Fix assorted issues uncovered by clang-tidy 2023-02-12 18:17:03 +01:00
WMOkiishi 3f3c65917b Ensure classes using aligned types inherit from `MemoryBase` 2023-02-06 18:35:18 +01:00
rdb ecf4d19e83 Merge branch 'release/1.10.x' 2022-05-10 16:12:36 +02:00
rdb fbea0056f5 general: Allow compiling Panda headers on Windows without NOMINMAX 2022-05-10 15:58:33 +02:00
rdb a0be50c769 general: Fix assorted compiler warnings 2022-03-01 16:09:07 +01:00
rdb d7bbcfb0b7 pstats: Some collector reorganisation:
- "App:Show code:General" is gone, it was causing too much trouble
- Replace odd "Client::GuiObjects" with "Nodes:GUI"
- Regroup "Dirty PipelineCyclers" underneath "PipelineCyclers"
2022-02-17 12:48:36 +01:00
rdb 8034cb5a92 dtoolbase: Introduce patomic<> as replacement for AtomicAdjust
This typedefs to std::atomic<> when building with true threading, and uses a dummy implementation without.

This lets us use the full range of atomic operations offered by C++11, including explicit specification of memory fences.  Using barriers lets the compiler generate more optimal code since currently we are using the quite strict sequential-consistent memory ordering for all operations.  ReferenceCount has been changed to use the correct barriers (I hope).  This may especially make a difference on weak ordering systems such as ARM.

Over time we should gradually replace the use of AtomicAdjust with the new patomic file.
2022-01-30 01:53:36 +01:00
rdb fac6916151 pgraph: Major traversal optimizations
In particular, these optimize the traversal of nodes that are not in view, which are discarded more efficiently.
This change affects both the cull and collision traversers.
2021-11-16 17:30:33 +01:00
rdb 605651f0e8 Merge branch 'release/1.10.x' 2021-10-26 17:27:56 +02:00
rdb 618e6f3fee pgui: Fix slider thumb entering dragging state on button press
This caused updating the slider while a button is pressed and the mouse is held over the thumb not to work.

Fixes #1188
2021-10-26 13:45:38 +02:00
rdb 3d4dd50358 Merge branch 'release/1.10.x' 2021-08-11 15:02:05 +02:00
rdb 8ad4234df8 pgui: prevent error when rendering in offscreen mode
Fixes #1174
2021-08-11 09:19:27 +02:00
rdb 089a615adb pgui: If no explicit candidate_inactive style given, use underscore 2021-07-05 18:01:05 +02:00
rdb 4ba3df7082 pgui: Fix missing cursor when typing candidate 2021-07-05 17:37:48 +02:00
rdb 25f9d3ff13 pgui: Don't clear candidate on keypresses like shift/ctrl etc 2021-07-05 17:37:15 +02:00
rdb e034e7f4b3 Merge branch 'release/1.10.x' 2021-03-31 23:08:21 +02:00
rdb fa73657d03 pgui: Revert part of f2e488fd6b
This caused a regression due to a removal of update_frame invocation in single-threaded pipeline, needs to be revisited later on master branch
2021-03-31 17:27:11 +02:00
rdb 43fb82fa66 gobj: Add config switch for Panda not to default to packed vertex colors
See #981.  Setting `vertex-colors-prefer-packed` to false will make Panda default to OpenGL-style vertex colors, which is useful if are targeting OpenGL and not DirectX 9, avoiding a potential performance cost.
2021-03-25 23:15:58 +01:00
rdb 7a838e7212 Merge branch 'release/1.10.x' 2021-02-24 12:14:04 +01:00
rdb 778c6ee6be pgui: Add missing pipeline.h include 2021-02-24 09:46:53 +01:00
rdb 5ae08eadf7 Merge branch 'release/1.10.x' 2021-02-22 19:38:49 +01:00
rdb f2e488fd6b pgui: Workaround for text disappearing in multithreaded pipeline
The text could appear from a DirectButton or other GUI element if updating eg. the text_fg property.
2021-02-21 11:00:22 +01:00
rdb 5c4909b4ab pgui: Some code cleanup for PGItem 2021-02-21 10:17:14 +01:00
rdb 54a4a6abfc Merge branch 'release/1.10.x' 2020-12-12 14:02:04 +01:00
rdb 761c54f63d pgui: Workaround for DirectEntry flickering issues w/ pipelining
See #1070.  This is a temporary solution (one which isn't complete- it doesn't properly handle state changes).
2020-12-12 13:57:49 +01:00
rdb 707ea089cb Merge remote-tracking branch 'origin/release/1.10.x' 2020-09-01 11:09:29 +02:00
rdb 9deb569441 pgui: Work around Windows bug with tab character in PGEntry
Fixes #994
2020-08-21 14:29:27 +02:00
rdb 4484aca8e1 Revert "pgui: Ignore PGEntry tab keypress"
This reverts commit 1f05d37b20.

See #994
2020-08-21 14:06:22 +02:00
rdb b655aa86c5 Merge branch 'release/1.10.x' 2020-08-17 13:05:51 +02:00
Daniel 1f05d37b20 pgui: Ignore PGEntry tab keypress
Closes #885
2020-08-17 10:02:06 +02:00
rdb 04dd4fe354 pgui: Add PGItem Python properties 2020-06-22 22:50:15 +02:00
Sam Edwards 5fa4af9189 CMake: Rely on GNUInstallDirs to specify install paths
This makes multiarch OSes happy as they can dictate that
64-bit libraries go into 'lib64'
2019-08-31 00:48:42 -06:00
Sam Edwards 1a654cba04 CMake: Record the location that headers are installed
This populates INTERFACE_INCLUDE_DIRECTORIES on the targets
after they're installed.
2019-08-30 22:58:18 -06:00
Sam Edwards 039f5af34e Merge branch 'master' into cmake 2019-06-03 23:12:23 -06:00
rdb 54c6eaeb96 pgui: allow keyboard keys to be added as PGButton click buttons
These will respond as clicks not when the mouse cursor is hovering over them, but when they have keyboard focus.

Fixes #600
2019-05-03 19:22:21 +02:00
Sam Edwards 6097d34ead CMake: Neatly format everything for readability and consistency 2019-04-14 22:37:18 -06:00
Sam Edwards 99fee1a64d CMake: Assign COMPONENT and EXPORT to all targets 2018-12-06 17:48:44 -07:00
Sam Edwards e917c54433 Merge branch 'master' into cmake 2018-09-22 15:55:59 -06:00
rdb cf4f8b35b6 pgui: fix deadlock in PGScrollFrame/PGSliderBar 2018-09-04 12:58:37 +02:00
rdb 217cecb77f pgui: remove some unnecessary reentrant locking in PGItem 2018-09-04 12:02:13 +02:00
Sam Edwards 208ecd6708 Merge branch 'master' into cmake 2018-09-02 16:06:41 -06:00
Sam Edwards fa1e1a2e63 CMake: Tidy up installation directory
Don't install "object-Configuration/" directories when
using metalibs, and also put .dll files in bin/ on Windows.
2018-09-01 11:07:55 -06:00
Sam Edwards 4695557a5d general: Don't require BUILDING_* for static builds 2018-08-31 23:54:32 -06:00
Sam Edwards 2ab77d9a27 Merge branch 'master' into cmake 2018-08-14 21:59:45 -06:00
rdb fbce833aae pgui: reduce unnecessary locking in PGItem
A deadlock has been observed if the lock is held while traversing the scene graph, so the need for locking in cull_callback is now reduced.
2018-07-09 16:13:01 +02:00
rdb c6ed4e1836 general: don't cast to regular pointer when returning a PointerTo
This is inefficient because it induces an unnecessary ref()/unref() pair when we just need to move the pointer out of the function.  Thanks to 23128e4695, we can now move between related pointer types, making the .p() hack unnecessary.
2018-07-08 21:40:58 +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 c4126942f6 Merge branch 'master' into cmake 2018-06-10 02:29:21 -06:00
Sam Edwards 7790f8429d general: Fully qualify header references into the std namespace
Closes #341
2018-06-07 10:35:12 +02:00
Sam Edwards 592a2e2d68 Merge branch 'master' into cmake 2018-06-06 13:18:12 -06:00