McRogueFace/src
John McCardle ee6550bf63 feat: stabilize test suite and add UIDrawable methods
- Add visible, opacity properties to all UI classes (#87, #88)
- Add get_bounds(), move(), resize() methods to UIDrawable (#89, #98)
- Create UIDrawable_methods.h with template implementations
- Fix test termination issues - all tests now exit properly
- Fix test_sprite_texture_swap.py click handler signature
- Fix test_drawable_base.py segfault in headless mode
- Convert audio objects to pointers for cleanup (OpenAL warning persists)
- Remove debug print statements from UICaption
- Special handling for UIEntity to delegate drawable methods to sprite

All test files are now "airtight" - they complete successfully,
terminate on their own, and handle edge cases properly.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-06 09:51:37 -04:00
..
scripts Final day of changes for 7DRL 2025 - Crypt of Sokoban game code 2025-03-12 22:42:26 -04:00
ActionCode.h Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
Animation.cpp Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
Animation.h Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
CommandLineParser.cpp Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
CommandLineParser.h Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
Common.h Refactor: Python 3.12, build libtcod & SFML from source. Cmake build. Directory cleanup 2024-02-24 22:48:39 -05:00
GameEngine.cpp feat: implement mcrfpy.Timer object with pause/resume/cancel capabilities closes #103 2025-07-06 08:52:05 -04:00
GameEngine.h feat: implement mcrfpy.Timer object with pause/resume/cancel capabilities closes #103 2025-07-06 08:52:05 -04:00
HeadlessRenderer.cpp Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
HeadlessRenderer.h Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
IndexTexture.cpp Refactor: Python 3.12, build libtcod & SFML from source. Cmake build. Directory cleanup 2024-02-24 22:48:39 -05:00
IndexTexture.h Refactor: Python 3.12, build libtcod & SFML from source. Cmake build. Directory cleanup 2024-02-24 22:48:39 -05:00
main.cpp feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
McRFPy_API.cpp feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
McRFPy_API.h feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
McRFPy_Automation.cpp Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
McRFPy_Automation.h Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
McRogueFaceConfig.h Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
PyAnimation.cpp Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
PyAnimation.h Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
PyCallable.cpp feat: implement mcrfpy.Timer object with pause/resume/cancel capabilities closes #103 2025-07-06 08:52:05 -04:00
PyCallable.h feat: implement mcrfpy.Timer object with pause/resume/cancel capabilities closes #103 2025-07-06 08:52:05 -04:00
PyColor.cpp feat(Color): add helper methods from_hex, to_hex, lerp closes #94 2025-07-06 08:40:25 -04:00
PyColor.h feat(Color): add helper methods from_hex, to_hex, lerp closes #94 2025-07-06 08:40:25 -04:00
PyDrawable.cpp feat: Phase 1 - safe constructors and _Drawable foundation 2025-07-06 00:13:39 -04:00
PyDrawable.h feat: Phase 1 - safe constructors and _Drawable foundation 2025-07-06 00:13:39 -04:00
PyFont.cpp Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
PyFont.h Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
PyObjectUtils.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
PyPositionHelper.h feat: Standardize position arguments across all UI classes 2025-07-06 01:06:12 -04:00
PyRAII.h Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
PyScene.cpp Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
PyScene.h Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
PyTexture.cpp Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
PyTexture.h Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
PyTimer.cpp feat: implement mcrfpy.Timer object with pause/resume/cancel capabilities closes #103 2025-07-06 08:52:05 -04:00
PyTimer.h feat: implement mcrfpy.Timer object with pause/resume/cancel capabilities closes #103 2025-07-06 08:52:05 -04:00
PyVector.cpp feat(Vector): implement arithmetic operations closes #93 2025-07-06 01:35:41 -04:00
PyVector.h feat(Vector): implement arithmetic operations closes #93 2025-07-06 01:35:41 -04:00
Resources.cpp Adding text functionality to Caption (why was that missing???) 2024-03-07 12:35:07 -05:00
Resources.h Adding text functionality to Caption (why was that missing???) 2024-03-07 12:35:07 -05:00
Scene.cpp Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
Scene.h Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
Timer.cpp Segfault fixes. Switching scenes broke some assumptions. All PyObject calls from userspace now handle (discard) exceptions and return values. 2024-03-08 12:09:09 -05:00
Timer.h Whoops, some issues with deleting timers. 2024-03-07 09:49:24 -05:00
UI.h Squashed commit of the following: [break_up_ui_h] 2024-04-20 10:32:04 -04:00
UIBase.h Squashed commit of the following: [break_up_ui_h] 2024-04-20 10:32:04 -04:00
UICaption.cpp feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UICaption.h feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UICollection.cpp Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
UICollection.h Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
UIDrawable.cpp feat(Vector): implement arithmetic operations closes #93 2025-07-06 01:35:41 -04:00
UIDrawable.h feat: Phase 1 - safe constructors and _Drawable foundation 2025-07-06 00:13:39 -04:00
UIDrawable_methods.h feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UIEntity.cpp feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UIEntity.h feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UIFrame.cpp feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UIFrame.h feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UIGrid.cpp feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UIGrid.h feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UIGridPoint.cpp Squashed commit of the following: [reprs_and_member_names] 2024-04-20 18:33:18 -04:00
UIGridPoint.h Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
UISprite.cpp feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UISprite.h feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
UITestScene.cpp Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
UITestScene.h Refactor: remove "s" prefix from "sRender" method ( -> "render") Closes #44 2024-04-20 14:16:14 -04:00