GUI Controls Redraw Badly While Resizing Window
I'm trying to build a tool with Godot, and I've created a header for a list control.
The problem is that whenever I resize the window, the header is redrawn all out of whack. It gets stretched, moved and flickers before finally drawing properly when I finish resizing the window.
It looks really bad! It's especially bad because it's doing all this redrawing needlessly: It happens primarily when the window height is being resized, which shouldn't affect the header at all because it's only allowed to resize horizontally.
I have a screen recording of it happening, but this forum isn't letting me attach it to this post. And... I apparently can't post still image screenshots of the hierarchy or how it's laid out onscreen either.
- Godot 3.2.1 Stable
- elementaryOS 5.1.5 (ubuntu 18.04) with all updates
- Ryzen 3900X
- Radeon RX590 8GB
Here is what my control hierarchy looks like (edit: updated with info about settings):
HBoxContainer (Layout == Top Wide) TextureRect VBoxContainer (HSizeFlags == Fill & Exp) TextureRect (the top hilite line. Scale == Tile; HSizeFlags == Fill) HBoxContainer (HSizeFlags == Fill) TextureRect TextureButton TextureRect2 TextureRect3 ("Col 1" label) TextureRect4 (exp rgn of "col 1". Scale == Tile; HSizeFlags == Fill & Exp) TextureRect5 TextureRect6 TextureRect7 TextureRect8 TextureRect9 TextureRect10 TextureRect11 TextureRect12 TextureRect13 TextureRect14 TextureRect2 (bottom shade line. Scale == Tile; HSizeFlags == Fill) TextureRect3 (bottom border line. Scale == Tile; HSizeFlags == Fill) TextureRect2 MenuButton Icon
Edit: Trying to add a couple of stills using the "Add Images" button below.
Here is a screen shot of the control hierarchy:
Edit: Added more system info, and updated control hierarchy lists above to include info about scaling and size flags. Unless noted, all controls have their scale set to Keep Aspect, and their size flags are unset.
Here is the header I'm trying to make for my list/tree (the "Layout" option for the root item is "Top Wide"):