Garry Hey Gary, totally understand thanks for the clarification, in trying to experiment with text drawing I believe I found another bug, I can write a new post but it I will share it here so I don't clutter up the feed.
Window1 has a canvas1 control and the following code is in the paint event of the canvas (200 x 200 sized canvas)
g.DrawingColour = Colour.RGB(255,255,255)
g.FontName = "Inter"
g.FontSize = 12.0
g.TextAlignment = TextAlignment.Centre
g.VerticalTextAlignment = TextAlignment.Middle
g.DrawText("test",0,0,Me.Width,Me.Height)
The expected result is test centred in the 200x200 canvas, actual result is no visible text. This is because me.width and me.height are incorrectly reporting the window width and height (800x600).
Looking at example code if we have a button and in the pressed event me.width reports correctly so this appears to be a canvas bug with the paint event, is the parent window calling the underlying code of canvas.Paint event and therefore taking ownership of the canvas calls?
If the above code is in a custom canvas class, me.width and me.height report correctly.