Fix UIFrame RenderTexture positioning and toggling issues
- Fix #223: Use `position` instead of `box.getPosition()` for render_sprite positioning. The box was being set to (0,0) for texture rendering and never restored, causing frames to render at wrong positions. - Fix #224: Add disableRenderTexture() method and call it when toggling clip_children or cache_subtree off. This properly cleans up the texture and prevents stale rendering. - Fix #225: Improve dirty propagation in markContentDirty() to propagate to parent even when already dirty, if the parent was cleared (rendered) since last propagation. Prevents child changes from being invisible. - Fix #226: Add fallback to standard rendering when RenderTexture can't be created (e.g., zero-size frame). Prevents inconsistent state. Closes #223, closes #224, closes #225, closes #226 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
c23da11d7d
commit
3fea6418ff
4 changed files with 135 additions and 7 deletions
|
|
@ -248,6 +248,12 @@ protected:
|
|||
// Enable RenderTexture for this drawable
|
||||
void enableRenderTexture(unsigned int width, unsigned int height);
|
||||
void updateRenderTexture();
|
||||
|
||||
// Disable RenderTexture for this drawable (public for property setters)
|
||||
public:
|
||||
void disableRenderTexture();
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
// #144: Dirty flag system - content vs composite
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue