(define qt:gl (let ((qt:gl qt:gl)) (lambda (name parent init resize paint #!optional (major 3) (minor 3) (profile "core")) (define profile2 (cond ((string=? profile "core") 2) ((string=? profile "compat") 1) ((string=? profile "none") 0) (else (error "Invalid OpenGL profile type."))) ) (qt:gl name parent (match-lambda* ((0) (init)) ((1 w h) (resize w h)) (_ (paint)) ) major minor profile2 ) ) ) )