Right now, all window manipulation is handled through window::manipulate tasks. This is the only interface for both the event system (updating windows from manipulation via the GUI) and application code (updating windows procedurally).
This should be split out into the existing window::manipulate for use by application code and protected methods of window for use by window::manipulate and the event system. This allows platform-specifc code to be wrapped in these methods and window::manipulate code to be platform-agnostic.
Note that the event system may need a way to lock windows while they update multiple parameters in one pass.
Right now, all window manipulation is handled through
window::manipulate
tasks. This is the only interface for both the event system (updating windows from manipulation via the GUI) and application code (updating windows procedurally).This should be split out into the existing
window::manipulate
for use by application code and protected methods ofwindow
for use bywindow::manipulate
and the event system. This allows platform-specifc code to be wrapped in these methods andwindow::manipulate
code to be platform-agnostic.Note that the event system may need a way to lock windows while they update multiple parameters in one pass.