#lang racket (require ffi/unsafe "base.rkt") (define libiup (case (system-type 'os) [(windows) (ffi-lib "iup")] [else (ffi-lib "libiup")])) ;; Standard dialogs (define file-dialog (make-constructor-procedure (get-ffi-obj "IupFileDlg" libiup (_fun -> [handle : _ihandle])))) (define message-dialog (make-constructor-procedure (get-ffi-obj "IupMessageDlg" libiup (_fun -> [handle : _ihandle])))) (define color-dialog (make-constructor-procedure (get-ffi-obj "IupColorDlg" libiup (_fun -> [handle : _ihandle])))) (define font-dialog (make-constructor-procedure (get-ffi-obj "IupFontDlg" libiup (_fun -> [handle : _ihandle])))) (define progress-dialog (make-constructor-procedure (get-ffi-obj "IupProgressDlg" libiup (_fun -> [handle : _ihandle])))) (define layout-dialog (make-constructor-procedure (get-ffi-obj "IupLayoutDialog" libiup (_fun ([dialog #f]) :: [dialog : _ihandle/null] -> [handle : _ihandle])))) (define element-properties-dialog (make-constructor-procedure (get-ffi-obj "IupElementPropertiesDialog" libiup (_fun [element : _ihandle] -> [handle : _ihandle])))) (provide file-dialog message-dialog color-dialog font-dialog progress-dialog layout-dialog element-properties-dialog)