Buenas!.

Me ha extrañado de que una ventana con gambas en SDL1 al crearla, se muestra centrada en el escritorio.
Y en cambio con SDL2, no se centra por defecto.

Estuve buscando alguna propiedad que haga referencia.
En SDL2 la propiedad x e y de la ventana son de lectura. A su vez, tiene un propiedad que es move.
Con la propiedad move, manualmente le asigné un centro. No quise sobrecargar el ejemplo con más componente.
Ya que si usas gb.desktop tienes que usar otros más. Intento minimizar el uso de componentes.

No me parece del todo correcto establecer las medidas del escritorio en el ejemplo.
En ese caso solo funcionaría bien si el ancho y el alto del escritorio fuera siempre el mismo.

...
Const VENTANALARGO As Integer = 255
Const VENTANAALTO As Integer = 255
Const ESCRITORIOLARGO As Integer = 1920
Const ESCRITORIOALTO As Integer = 1080

Private escritoriocentro As Integer[] = [ESCRITORIOLARGO / 2, ESCRITORIOALTO / 2]
Private ventanacentro As Integer[] = [VENTANALARGO / 2, VENTANAALTO / 2]
....

Public Sub Main()

$hWindow = New Window As "Window"

With $hWindow
.Resize(VENTANALARGO, VENTANAALTO)
.Resizable = False
.Show
.FrameRate = 60
.Move(escritoriocentro[0] - ventanacentro[0], escritoriocentro[1] - ventanacentro[1])
End With
.......

End


Que raro que en SDL2 pase eso.

Saludos