#lang racket/base
(require
 ffi/unsafe
 "base.rkt")

(define libcd-native
  (case (system-type 'os)
    [(unix macosx)
     (ffi-lib "libcdx11")]
    [(windows)
     (ffi-lib "cd")]
    [else
     (ffi-lib "libcd")]))

;; {{{ Context types

(define context:image
  ((get-ffi-obj "cdContextImage" libcd-native (_fun -> [context : _context]))))

(define context:double-buffer
  ((get-ffi-obj "cdContextDBuffer" libcd-native (_fun -> [context : _context]))))

(provide
 context:image context:double-buffer)

;; }}}
