On MacOS if you call SetPosition then SetSize on a window back to back, the window will not be placed where you wanted it to be. Instead it will be off by the difference between the old height and the new height. This (i think) is because SetFrameTopLeftPoint_ has an implicit dependency on the frame's height, which maybe doesn't get updated until the next frame? Not exactly sure
Steps to repro:
Create a window with some size (e.g. 200x200), then call:
win.SetPosition(misc.Position{ X: 80, Y: 80 })
win.SetSize(misc.Size{ Width: 400, Height: 400 })
Notice that the window is not at 80, 80 in screen space (where the top-left is 0,0 of the screen)
See more details in tractordev/apptron#61
On MacOS if you call
SetPositionthenSetSizeon a window back to back, the window will not be placed where you wanted it to be. Instead it will be off by the difference between the old height and the new height. This (i think) is becauseSetFrameTopLeftPoint_has an implicit dependency on the frame's height, which maybe doesn't get updated until the next frame? Not exactly sureSteps to repro:
Create a window with some size (e.g. 200x200), then call:
Notice that the window is not at 80, 80 in screen space (where the top-left is 0,0 of the screen)
See more details in tractordev/apptron#61