Buenas!.

Si, sé que está obsoleto, pero tiene cosas que el componente de SDL2 no tiene.
Ninguno de los dos está completo...

En uno de los ejemplos que estoy haciendo tengo la ventana con un color de fondo.
Es como un azul oscuro, pero sin llegar a ser Color.DarkBlue.

La configuración del color es (20, 20, 100 ).
Pues probando en una ventana SDL, no hay forma de que me muestre el color bien, me sale un color distinto.
He probado con la clase Paint, perfecto. Pero con SDL no va como quiero.

No sé que hago mal.

Fijaros que va perfecto en el cuadrado. El fondo debería ser del mismo color y el cuadrado no se vería.

Const ANCHOVENTANA As Integer = 640
Const ALTOVENTANA As Integer = 480

Const ANCHOCUADRADO As Integer = 100

Private $hWindow As Window

Public Sub Main()

$hWindow = New Window As "Window"

With $hWindow
.Width = ANCHOVENTANA
.Height = ALTOVENTANA
.Title = "Colores en Ventana SDL"
.Show
.Resizable = False
.FrameRate = 60
'.Fill(Color.RGB(20, 20, 100)) 'Podemos dar color al fondo de la ventana desde aquí
End With

End

Public Sub Window_Draw()

$hWindow.Fill(Color.RGB(20, 20, 100)) ' O tambien desde aquí

'Rellena y pinta del color el cuadrado centrado.
Draw.FillStyle = Fill.Solid
Draw.ForeColor = Color.RGB(20, 20, 100)
Draw.Rect((ANCHOVENTANA - ANCHOCUADRADO) / 2, (ALTOVENTANA - ANCHOCUADRADO) / 2, ANCHOCUADRADO, ANCHOCUADRADO)

End

Public Sub Window_KeyPress()

Select Case Key.Code
Case Key.F1
$hWindow.FullScreen = Not $hWindow.FullScreen
Case Key.Esc
$hWindow.Close
End Select

End


Subo el código.

Podía crear un rectángulo y rellenar con el la ventana. Pero no sé si eso es lo normal en SDL.

En PyGame es tan "sencillo" como esto: Añado código para eventos de teclado.

#!/ur/bin/env python3

import pygame, sys
from pygame.locals import *

pygame.init()
reloj = pygame.time.Clock()

AZULOSCURO = ( 20, 20, 100 )

ANCHOVENTANA = 640
ALTOVENTANA = 480

ventana = pygame.display.set_mode((ANCHOVENTANA, ALTOVENTANA))
pygame.display.set_caption("Color de fondo de Ventana")


def main():
while True:
# Eventos de teclado
for evento in pygame.event.get():
if evento.type == QUIT:
sys.exit()
tecla = pygame.key.get_pressed()
if tecla[K_ESCAPE]:
sys.exit()

ventana.fill(AZULOSCURO)

reloj.tick(60)
pygame.display.update()


if __name__=='__main__':main()


ventanacolreadaconpygame

Saludos