This is a workaround to reduce flickering corruption that happens when resizing the window. The changes are as follows:
When polling X11 ConfigureNotify events, only the last resize event will be used to set the new window size. The entire viewport is then repainted.
X11 Expose events now cause an immediate redraw instead of being cached in a buffer.
When requesting a repaint, X11 Expose events are no longer created by ClanLib and then looped back over X11.
Removed undocumented class members that looked redundant.
Note: It seems that window flickering when resizing very common problem; even glxgearshas flickering problems when resizing. Most sources online recommend always re-drawing the entire screen when receiving the X11 Expose event (rather buffering them first) which implemented in the last commit.
Closing because there are still some problems relating to actual window sizing (after X11 borders and WM added frame extents) on X11Window. Will re-open once I go through all of it.
This is a workaround to reduce flickering corruption that happens when resizing the window. The changes are as follows:
Note: It seems that window flickering when resizing very common problem; even
glxgears
has flickering problems when resizing. Most sources online recommend always re-drawing the entire screen when receiving the X11 Expose event (rather buffering them first) which implemented in the last commit.