17176
((3) 0 () 25 ((q lib "racket/draw.rkt") (c (? . 0) q color%) (c (? . 0) q font%) (c (? . 0) q pen%) (c (? . 0) q brush%) (c (? . 0) q dc<%>) (c (? . 0) q record-dc%) (c (? . 0) q gl-config%) (c (? . 0) q dc-path%) (c (? . 0) q ps-setup%) (c (? . 0) q bitmap%) (c (? . 0) q gl-context<%>) (c (? . 0) q point%) (c (? . 0) q region%) (c (? . 0) q bitmap-dc%) (c (? . 0) q font-name-directory<%>) (c (? . 0) q radial-gradient%) (c (? . 0) q linear-gradient%) (c (? . 0) q brush-list%) (c (? . 0) q color-database<%>) (c (? . 0) q svg-dc%) (c (? . 0) q font-list%) (c (? . 0) q pen-list%) (c (? . 0) q pdf-dc%) (c (? . 0) q post-script-dc%)) () (h ! (equal) ((c constructor c (? . 3)) q (38943 . 14)) ((c def c (c (? . 0) q font-family/c)) q (57286 . 2)) ((c meth c (c (? . 14) q get-pixel)) q (7201 . 5)) ((c meth c (c (? . 1) q ok?)) q (12665 . 2)) ((c meth c (c (? . 1) q copy-from)) q (12521 . 3)) ((c meth c (c (? . 2) q get-hinting)) q (29708 . 2)) ((c meth c (c (? . 7) q get-hires-mode)) q (35417 . 2)) ((c meth c (c (? . 22) q find-or-create-pen)) q (40739 . 28)) ((c meth c (c (? . 4) q set-stipple)) q (10254 . 8)) ((c def c (? . 20)) q (50497 . 4)) ((c constructor c (? . 2)) q (28030 . 36)) ((c meth c (c (? . 9) q set-level-2)) q (45350 . 3)) ((c meth c (c (? . 3) q set-color)) q (40017 . 9)) ((c meth c (c (? . 16) q get-circles)) q (46818 . 3)) ((c meth c (c (? . 3) q set-style)) q (40474 . 3)) ((q def ((lib "racket/draw/draw-unit.rkt") draw@)) q (57643 . 2)) ((c meth c (c (? . 2) q get-size-in-pixels)) q (29888 . 2)) ((c meth c (c (? . 6) q get-recorded-procedure)) q (47385 . 3)) ((c meth c (c (? . 8) q get-datum)) q (25878 . 3)) ((c meth c (c (? . 2) q get-face)) q (29543 . 2)) ((c meth c (c (? . 4) q is-immutable?)) q (9928 . 2)) ((c meth c (c (? . 5) q draw-spline)) q (17404 . 8)) ((c meth c (c (? . 5) q draw-rectangle)) q (16758 . 6)) ((c meth c (c (? . 6) q get-recorded-datum)) q (47327 . 2)) ((c def c (? . 7)) q (35107 . 3)) ((c meth c (c (? . 5) q end-page)) q (18033 . 2)) ((c meth c (c (? . 10) q make-dc)) q (3486 . 2)) ((c meth c (c (? . 8) q reverse)) q (26754 . 2)) ((c meth c (c (? . 5) q set-font)) q (22241 . 3)) ((c meth c (c (? . 8) q translate)) q (27897 . 4)) ((c meth c (c (? . 5) q set-rotation)) q (23267 . 3)) ((c meth c (c (? . 5) q draw-bitmap-section)) q (14299 . 22)) ((c meth c (c (? . 5) q set-clipping-rect)) q (21808 . 9)) ((c meth c (c (? . 5) q get-pen)) q (19024 . 2)) ((c meth c (c (? . 5) q cache-font-metrics-key)) q (12960 . 2)) ((c meth c (c (? . 9) q set-paper-name)) q (45785 . 3)) ((c meth c (c (? . 10) q set-loaded-mask)) q (4806 . 3)) ((c meth c (c (? . 8) q curve-to)) q (25434 . 8)) ((c meth c (c (? . 5) q draw-ellipse)) q (15275 . 6)) ((c meth c (c (? . 13) q get-bounding-box)) q (47627 . 2)) ((c def c (c (? . 0) q pen-cap-style/c)) q (57521 . 2)) ((c meth c (c (? . 5) q start-doc)) q (24182 . 3)) ((c meth c (c (? . 5) q get-text-background)) q (19543 . 2)) ((c constructor c (? . 6)) q (47089 . 6)) ((c meth c (c (? . 8) q rounded-rectangle)) q (26874 . 11)) ((c meth c (c (? . 5) q set-scale)) q (23339 . 4)) ((c meth c (c (? . 15) q set-post-script-name)) q (34291 . 10)) ((c def c (? . 11)) q (36771 . 2)) ((c meth c (c (? . 9) q set-command)) q (45032 . 3)) ((c meth c (c (? . 3) q set-join)) q (40285 . 3)) ((c meth c (c (? . 5) q draw-text)) q (17574 . 13)) ((c meth c (c (? . 9) q get-paper-name)) q (44585 . 2)) ((c constructor c (? . 17)) q (37377 . 13)) ((c meth c (c (? . 9) q get-editor-margin)) q (43838 . 5)) ((c meth c (c (? . 11) q ok?)) q (37164 . 2)) ((c meth c (c (? . 9) q get-level-2)) q (44148 . 2)) ((c meth c (c (? . 3) q set-stipple)) q (40375 . 3)) ((c def c (c (? . 0) q brush-style/c)) q (57604 . 2)) ((c meth c (c (? . 4) q set-style)) q (10715 . 3)) ((c meth c (c (? . 3) q get-stipple)) q (39707 . 2)) ((c meth c (c (? . 2) q get-underlined)) q (30054 . 2)) ((c meth c (c (? . 5) q copy)) q (13062 . 8)) ((c meth c (c (? . 12) q set-y)) q (42451 . 3)) ((c meth c (c (? . 5) q get-size)) q (19332 . 3)) ((c meth c (c (? . 5) q get-device-scale)) q (18600 . 3)) ((c meth c (c (? . 7) q get-double-buffered)) q (35355 . 2)) ((c def c (? . 23)) q (38002 . 4)) ((c meth c (c (? . 10) q save-file)) q (3589 . 9)) ((c def c (? . 12)) q (42120 . 3)) ((c def c (? . 19)) q (12701 . 2)) ((c def c (? . 4)) q (8267 . 3)) ((c meth c (c (? . 9) q set-margin)) q (45423 . 4)) ((c def c (? . 2)) q (27982 . 3)) ((c def c (? . 13)) q (47476 . 3)) ((c meth c (c (? . 18) q find-or-create-brush)) q (10908 . 19)) ((c constructor c (? . 10)) q (50 . 30)) ((c meth c (c (? . 4) q get-transformation)) q (9726 . 4)) ((c def c (c (? . 0) q font-style/c)) q (57325 . 2)) ((c meth c (c (? . 14) q set-argb-pixels)) q (7372 . 15)) ((c meth c (c (? . 13) q in-region?)) q (47767 . 4)) ((c meth c (c (? . 5) q translate)) q (24454 . 4)) ((c meth c (c (? . 7) q get-sync-swap)) q (35816 . 2)) ((c meth c (c (? . 5) q erase)) q (18074 . 2)) ((c meth c (c (? . 1) q blue)) q (12269 . 2)) ((c meth c (c (? . 10) q set-argb-pixels)) q (4021 . 17)) ((c meth c (c (? . 7) q get-stereo)) q (35763 . 2)) ((c meth c (c (? . 7) q set-accum-size)) q (35872 . 3)) ((c meth c (c (? . 15) q set-screen-name)) q (34700 . 9)) ((q form ((lib "racket/draw/draw-sig.rkt") draw^)) q (57665 . 2)) ((c meth c (c (? . 5) q get-text-extent)) q (19607 . 13)) ((c meth c (c (? . 8) q close)) q (25391 . 2)) ((c meth c (c (? . 15) q get-font-id)) q (33351 . 7)) ((c constructor c (? . 7)) q (35160 . 2)) ((c meth c (c (? . 5) q resume-flush)) q (20496 . 2)) ((c meth c (c (? . 7) q set-stencil-size)) q (36528 . 3)) ((c def c (c (? . 0) q make-brush)) q (52054 . 22)) ((c meth c (c (? . 8) q arc)) q (24843 . 15)) ((c meth c (c (? . 5) q set-pen)) q (22516 . 17)) ((c meth c (c (? . 2) q screen-glyph-exists?)) q (30159 . 5)) ((c def c (c (? . 0) q make-pen)) q (54785 . 18)) ((c meth c (c (? . 5) q get-brush)) q (18316 . 2)) ((c meth c (c (? . 5) q transform)) q (24346 . 3)) ((c meth c (c (? . 11) q swap-buffers)) q (37211 . 2)) ((c constructor c (? . 21)) q (30391 . 2)) ((c constructor c (? . 13)) q (47526 . 3)) ((c meth c (c (? . 5) q get-alpha)) q (18150 . 2)) ((c meth c (c (? . 14) q get-argb-pixels)) q (6389 . 15)) ((c meth c (c (? . 8) q move-to)) q (26383 . 4)) ((c constructor c (? . 16)) q (46253 . 17)) ((c meth c (c (? . 5) q draw-point)) q (16247 . 4)) ((c meth c (c (? . 9) q set-mode)) q (45568 . 3)) ((c meth c (c (? . 5) q get-rotation)) q (19238 . 2)) ((c meth c (c (? . 5) q set-clipping-region)) q (22141 . 3)) ((c meth c (c (? . 7) q set-multisample-size)) q (36311 . 3)) ((c meth c (c (? . 10) q ok?)) q (3546 . 2)) ((c meth c (c (? . 5) q draw-bitmap)) q (13758 . 14)) ((c meth c (c (? . 9) q set-editor-margin)) q (45115 . 4)) ((c meth c (c (? . 5) q draw-lines)) q (15598 . 8)) ((c def c (? . 14)) q (4896 . 4)) ((c meth c (c (? . 13) q intersect)) q (47855 . 3)) ((c meth c (c (? . 17) q get-line)) q (37820 . 2)) ((c def c (? . 18)) q (10795 . 3)) ((c meth c (c (? . 2) q get-size)) q (29828 . 2)) ((c meth c (c (? . 5) q set-transformation)) q (23993 . 4)) ((c meth c (c (? . 14) q get-bitmap)) q (7126 . 2)) ((c meth c (c (? . 10) q get-backing-scale)) q (2296 . 2)) ((c def c (? . 1)) q (11791 . 3)) ((c meth c (c (? . 4) q set-color)) q (9980 . 9)) ((c meth c (c (? . 8) q text-outline)) q (27402 . 11)) ((c meth c (c (? . 7) q set-depth-size)) q (35964 . 3)) ((c meth c (c (? . 7) q get-depth-size)) q (35286 . 2)) ((c meth c (c (? . 13) q xor)) q (50421 . 3)) ((c meth c (c (? . 2) q get-style)) q (30003 . 2)) ((c meth c (c (? . 19) q find-color)) q (12744 . 4)) ((c meth c (c (? . 5) q get-transformation)) q (20220 . 4)) ((c constructor c (? . 20)) q (50567 . 12)) ((c meth c (c (? . 5) q draw-rounded-rectangle)) q (16957 . 11)) ((c meth c (c (? . 5) q get-path-bounding-box)) q (19074 . 5)) ((c meth c (c (? . 2) q get-smoothing)) q (29944 . 2)) ((c meth c (c (? . 5) q set-origin)) q (22435 . 4)) ((c meth c (c (? . 4) q get-stipple)) q (9601 . 2)) ((c meth c (c (? . 8) q append)) q (24760 . 3)) ((c meth c (c (? . 5) q set-text-mode)) q (23899 . 3)) ((c def c (c (? . 0) q read-bitmap)) q (56030 . 19)) ((c meth c (c (? . 5) q end-doc)) q (17993 . 2)) ((c def c (c (? . 0) q make-monochrome-bitmap)) q (54587 . 5)) ((c meth c (c (? . 10) q get-argb-pixels)) q (1439 . 17)) ((c meth c (c (? . 5) q set-text-background)) q (23549 . 5)) ((c meth c (c (? . 10) q get-handle)) q (2422 . 2)) ((c constructor c (? . 8)) q (24707 . 2)) ((c meth c (c (? . 15) q find-family-default-font-id)) q (32532 . 5)) ((c def c (? . 16)) q (46194 . 3)) ((c meth c (c (? . 8) q scale)) q (27321 . 4)) ((c constructor c (? . 4)) q (8316 . 18)) ((c meth c (c (? . 5) q set-initial-matrix)) q (22318 . 3)) ((c meth c (c (? . 9) q get-scaling)) q (44700 . 4)) ((c def c (c (? . 0) q the-font-name-directory)) q (57174 . 2)) ((c def c (c (? . 0) q pen-style/c)) q (57484 . 2)) ((c constructor c (? . 9)) q (43537 . 2)) ((c meth c (c (? . 9) q get-translation)) q (44864 . 4)) ((c meth c (c (? . 13) q set-ellipse)) q (48469 . 6)) ((c meth c (c (? . 11) q get-handle)) q (37109 . 2)) ((c def c (? . 5)) q (12929 . 2)) ((c meth c (c (? . 7) q get-legacy?)) q (35474 . 2)) ((c meth c (c (? . 5) q get-scale)) q (19283 . 2)) ((c meth c (c (? . 9) q get-file)) q (44082 . 2)) ((c meth c (c (? . 8) q ellipse)) q (25606 . 6)) ((c meth c (c (? . 7) q set-legacy?)) q (36229 . 3)) ((c meth c (c (? . 5) q start-page)) q (24257 . 2)) ((c meth c (c (? . 5) q set-brush)) q (21039 . 17)) ((c meth c (c (? . 12) q set-x)) q (42391 . 3)) ((c def c (c (? . 0) q the-brush-list)) q (57022 . 2)) ((c meth c (c (? . 8) q transform)) q (27784 . 3)) ((c meth c (c (? . 21) q find-or-create-font)) q (30448 . 41)) ((c meth c (c (? . 5) q get-clipping-region)) q (18523 . 2)) ((c meth c (c (? . 10) q is-color?)) q (2737 . 2)) ((c meth c (c (? . 7) q get-share-context)) q (35603 . 3)) ((c meth c (c (? . 5) q try-color)) q (24538 . 4)) ((c def c (? . 6)) q (47016 . 4)) ((c meth c (c (? . 14) q set-pixel)) q (8141 . 5)) ((c meth c (c (? . 13) q set-arc)) q (47986 . 13)) ((c meth c (c (? . 10) q get-depth)) q (2355 . 2)) ((c meth c (c (? . 5) q ok?)) q (20457 . 2)) ((c def c (c (? . 0) q get-current-gl-context)) q (37264 . 2)) ((c meth c (c (? . 10) q get-height)) q (2473 . 2)) ((c meth c (c (? . 8) q lines)) q (26078 . 8)) ((c def c (? . 3)) q (38896 . 3)) ((c meth c (c (? . 2) q get-font-id)) q (29653 . 2)) ((c meth c (c (? . 7) q set-sync-swap)) q (36695 . 3)) ((c meth c (c (? . 19) q get-names)) q (12863 . 2)) ((c def c (c (? . 0) q font-hinting/c)) q (57444 . 2)) ((c meth c (c (? . 15) q find-or-create-font-id)) q (32746 . 7)) ((c meth c (c (? . 5) q get-initial-matrix)) q (18875 . 3)) ((c meth c (c (? . 16) q get-stops)) q (46911 . 3)) ((c meth c (c (? . 15) q get-post-script-name)) q (33624 . 8)) ((c meth c (c (? . 7) q set-hires-mode)) q (36138 . 3)) ((c meth c (c (? . 10) q get-width)) q (2615 . 2)) ((c def c (c (? . 0) q make-bitmap)) q (51655 . 9)) ((c def c (? . 8)) q (24656 . 3)) ((c meth c (c (? . 13) q set-polygon)) q (49025 . 10)) ((c def c (? . 15)) q (32484 . 2)) ((c meth c (c (? . 7) q get-multisample-size)) q (35528 . 2)) ((c meth c (c (? . 3) q get-style)) q (39777 . 2)) ((c def c (? . 22)) q (40632 . 3)) ((c def c (c (? . 0) q get-family-builtin-face)) q (51479 . 4)) ((c meth c (c (? . 5) q clear)) q (13024 . 2)) ((c def c (c (? . 0) q font-weight/c)) q (57363 . 2)) ((c meth c (c (? . 1) q is-immutable?)) q (12613 . 2)) ((c meth c (c (? . 7) q set-double-buffered)) q (36056 . 3)) ((c meth c (c (? . 5) q set-text-foreground)) q (23724 . 5)) ((c meth c (c (? . 5) q draw-polygon)) q (16328 . 10)) ((c meth c (c (? . 13) q is-empty?)) q (47937 . 2)) ((c meth c (c (? . 7) q set-stereo)) q (36622 . 3)) ((c meth c (c (? . 5) q set-alpha)) q (20791 . 3)) ((c meth c (c (? . 3) q set-width)) q (40550 . 3)) ((c meth c (c (? . 5) q get-font)) q (18745 . 2)) ((c meth c (c (? . 15) q get-family)) q (33159 . 5)) ((c meth c (c (? . 9) q get-command)) q (43786 . 2)) ((c meth c (c (? . 5) q draw-arc)) q (13293 . 13)) ((c meth c (c (? . 12) q get-y)) q (42350 . 2)) ((c meth c (c (? . 1) q red)) q (12189 . 2)) ((c meth c (c (? . 3) q set-cap)) q (39931 . 3)) ((c meth c (c (? . 8) q reset)) q (26711 . 2)) ((c meth c (c (? . 2) q get-family)) q (29600 . 2)) ((c meth c (c (? . 12) q get-x)) q (42309 . 2)) ((c meth c (c (? . 13) q union)) q (50343 . 3)) ((c meth c (c (? . 13) q subtract)) q (50262 . 3)) ((c def c (c (? . 0) q the-pen-list)) q (57242 . 2)) ((c meth c (c (? . 9) q get-preview-command)) q (44640 . 2)) ((c meth c (c (? . 9) q set-preview-command)) q (45865 . 3)) ((c meth c (c (? . 3) q get-width)) q (39826 . 2)) ((c meth c (c (? . 5) q get-char-width)) q (18447 . 2)) ((c def c (c (? . 0) q get-face-list)) q (51264 . 6)) ((c def c (? . 21)) q (30338 . 3)) ((c meth c (c (? . 5) q get-origin)) q (18974 . 2)) ((c meth c (c (? . 5) q scale)) q (20607 . 4)) ((c meth c (c (? . 5) q glyph-exists?)) q (20389 . 3)) ((c meth c (c (? . 7) q get-accum-size)) q (35217 . 2)) ((c def c (c (? . 0) q make-platform-bitmap)) q (55700 . 8)) ((c meth c (c (? . 5) q draw-path)) q (15903 . 9)) ((c meth c (c (? . 3) q get-color)) q (39599 . 2)) ((c constructor c (? . 24)) q (42589 . 17)) ((c meth c (c (? . 8) q rectangle)) q (26512 . 6)) ((c meth c (c (? . 8) q get-bounding-box)) q (25803 . 2)) ((c def c (c (? . 0) q the-color-database)) q (57070 . 2)) ((c meth c (c (? . 15) q get-screen-name)) q (33965 . 8)) ((c meth c (c (? . 3) q get-cap)) q (39548 . 2)) ((c meth c (c (? . 2) q get-point-size)) q (29763 . 2)) ((c meth c (c (? . 10) q get-loaded-mask)) q (2538 . 2)) ((c meth c (c (? . 10) q load-file)) q (2786 . 14)) ((c def c (c (? . 0) q recorded-datum->procedure)) q (56917 . 4)) ((c meth c (c (? . 14) q set-bitmap)) q (8037 . 3)) ((c def c (c (? . 0) q the-font-list)) q (57128 . 2)) ((c meth c (c (? . 2) q get-weight)) q (30106 . 2)) ((c meth c (c (? . 5) q get-char-height)) q (18370 . 2)) ((c meth c (c (? . 9) q set-orientation)) q (45668 . 3)) ((c constructor c (? . 12)) q (42169 . 5)) ((c meth c (c (? . 4) q get-handle)) q (9539 . 2)) ((c meth c (c (? . 10) q has-alpha-channel?)) q (2679 . 2)) ((c meth c (c (? . 5) q set-alignment-scale)) q (20707 . 3)) ((c meth c (c (? . 8) q open?)) q (26466 . 2)) ((c meth c (c (? . 5) q get-gl-context)) q (18797 . 2)) ((c meth c (c (? . 5) q get-smoothing)) q (19461 . 3)) ((c meth c (c (? . 9) q set-file)) q (45251 . 3)) ((c meth c (c (? . 8) q line-to)) q (25995 . 4)) ((c meth c (c (? . 13) q set-path)) q (48669 . 9)) ((c meth c (c (? . 11) q call-as-current)) q (36810 . 7)) ((c meth c (c (? . 5) q set-smoothing)) q (23443 . 3)) ((c meth c (c (? . 14) q draw-bitmap-section-smooth)) q (5090 . 27)) ((c meth c (c (? . 9) q get-orientation)) q (44506 . 3)) ((c def c (c (? . 0) q font-smoothing/c)) q (57402 . 2)) ((c meth c (c (? . 9) q get-mode)) q (44431 . 2)) ((c meth c (c (? . 5) q flush)) q (18112 . 2)) ((c meth c (c (? . 3) q get-join)) q (39654 . 2)) ((c meth c (c (? . 5) q get-backing-scale)) q (18261 . 2)) ((c meth c (c (? . 5) q set-background)) q (20874 . 5)) ((c def c (c (? . 0) q current-ps-setup)) q (51141 . 4)) ((c def c (c (? . 0) q make-font)) q (53485 . 21)) ((c meth c (c (? . 13) q set-rounded-rectangle)) q (49800 . 11)) ((c constructor c (? . 14)) q (4969 . 3)) ((c meth c (c (? . 7) q set-share-context)) q (36409 . 3)) ((c meth c (c (? . 5) q rotate)) q (20541 . 3)) ((c def c (c (? . 0) q pen-join-style/c)) q (57562 . 2)) ((c meth c (c (? . 13) q get-dc)) q (47701 . 2)) ((q def ((lib "racket/draw/arrow.rkt") draw-arrow)) q (58397 . 21)) ((c meth c (c (? . 17) q get-stops)) q (37895 . 3)) ((c meth c (c (? . 4) q get-gradient)) q (9344 . 4)) ((c def c (? . 9)) q (43485 . 3)) ((c meth c (c (? . 4) q get-color)) q (9287 . 2)) ((q def ((lib "racket/draw/unsafe/brush.rkt") make-handle-brush)) q (57695 . 13)) ((c meth c (c (? . 15) q get-face-name)) q (33041 . 4)) ((c meth c (c (? . 5) q get-text-foreground)) q (20087 . 2)) ((c meth c (c (? . 8) q rotate)) q (26799 . 3)) ((c constructor c (? . 23)) q (38072 . 17)) ((c meth c (c (? . 1) q set)) q (12360 . 6)) ((c def c (c (? . 0) q make-color)) q (53317 . 6)) ((c meth c (c (? . 5) q suspend-flush)) q (24300 . 2)) ((c meth c (c (? . 5) q get-background)) q (18202 . 2)) ((c meth c (c (? . 9) q set-translation)) q (46102 . 4)) ((c meth c (c (? . 5) q get-text-mode)) q (20151 . 2)) ((c constructor c (? . 22)) q (40684 . 2)) ((c constructor c (? . 18)) q (10849 . 2)) ((c meth c (c (? . 1) q alpha)) q (12309 . 2)) ((c def c (? . 24)) q (42511 . 4)) ((c meth c (c (? . 5) q draw-line)) q (15472 . 6)) ((c def c (? . 17)) q (37318 . 3)) ((c meth c (c (? . 13) q set-rectangle)) q (49467 . 9)) ((c meth c (c (? . 1) q green)) q (12228 . 2)) ((q def ((lib "racket/draw/unsafe/cairo-lib.rkt") cairo-lib)) q (58356 . 2)) ((c meth c (c (? . 7) q get-stencil-size)) q (35692 . 2)) ((c def c (? . 10)) q (0 . 3)) ((c meth c (c (? . 4) q get-style)) q (9673 . 2)) ((c meth c (c (? . 9) q get-margin)) q (44201 . 5)) ((c meth c (c (? . 9) q set-scaling)) q (45956 . 4)) ((c constructor c (? . 1)) q (11840 . 9)) ((c meth c (c (? . 9) q copy-from)) q (43592 . 5)) ((c meth c (c (? . 3) q is-immutable?)) q (39881 . 2))))
class
bitmap% : class?
  superclass: object%
constructor
(make-object bitmap%  width               
                      height              
                     [monochrome?         
                      alpha?              
                      backing-scale]) -> (is-a?/c bitmap%)
  width : exact-positive-integer?
  height : exact-positive-integer?
  monochrome? : any/c = #f
  alpha? : any/c = #f
  backing-scale : (>/c 0.0) = 1.0
(make-object bitmap%  in                       
                     [kind                     
                      bg-color                 
                      complain-on-failure?     
                      backing-scale])      -> (is-a?/c bitmap%)
  in : (or/c path-string? input-port?)
  kind : (or/c 'unknown 'unknown/mask 'unknown/alpha = 'unknown
               'gif 'gif/mask 'gif/alpha
               'jpeg 'jpeg/alpha
               'png 'png/mask 'png/alpha
               'xbm 'xbm/alpha 'xpm 'xpm/alpha
               'bmp 'bmp/alpha)
  bg-color : (or/c (is-a?/c color%) #f) = #f
  complain-on-failure? : any/c = #f
  backing-scale : (>/c 0.0) = 1.0
(make-object bitmap% bits width height) -> (is-a?/c bitmap%)
  bits : bytes?
  width : exact-positive-integer?
  height : exact-positive-integer?
method
(send a-bitmap get-argb-pixels  x                           
                                y                           
                                width                       
                                height                      
                                pixels                      
                               [just-alpha?                 
                                pre-multiplied?             
                                #:unscaled? unscaled?]) -> void?
  x : exact-nonnegative-integer?
  y : exact-nonnegative-integer?
  width : exact-nonnegative-integer?
  height : exact-nonnegative-integer?
  pixels : (and/c bytes? (not/c immutable?))
  just-alpha? : any/c = #f
  pre-multiplied? : any/c = #f
  unscaled? : any/c = #f
method
(send a-bitmap get-backing-scale) -> (>/c 0.0)
method
(send a-bitmap get-depth) -> exact-nonnegative-integer?
method
(send a-bitmap get-handle) -> cpointer?
method
(send a-bitmap get-height) -> exact-positive-integer?
method
(send a-bitmap get-loaded-mask) -> (or/c (is-a?/c bitmap%) #f)
method
(send a-bitmap get-width) -> exact-positive-integer?
method
(send a-bitmap has-alpha-channel?) -> boolean?
method
(send a-bitmap is-color?) -> boolean?
method
(send a-bitmap load-file  in                         
                         [kind                       
                          bg-color                   
                          complain-on-failure?]) -> boolean?
  in : (or/c path-string? input-port?)
  kind : (or/c 'unknown 'unknown/mask 'unknown/alpha = 'unknown
               'gif 'gif/mask 'gif/alpha
               'jpeg 'jpeg/alpha
               'png 'png/mask 'png/alpha
               'xbm 'xbm/alpha 'xpm 'xpm/alpha
               'bmp 'bmp/alpha)
  bg-color : (or/c (is-a?/c color%) #f) = #f
  complain-on-failure? : any/c = #f
method
(send a-bitmap make-dc) -> (is-a?/c bitmap-dc%)
method
(send a-bitmap ok?) -> boolean?
method
(send a-bitmap save-file  name                        
                          kind                        
                         [quality                     
                          #:unscaled? unscaled?]) -> boolean?
  name : (or/c path-string? output-port?)
  kind : (or/c 'png 'jpeg 'xbm 'xpm 'bmp)
  quality : (integer-in 0 100) = 75
  unscaled? : any/c = #f
method
(send a-bitmap set-argb-pixels  x                           
                                y                           
                                width                       
                                height                      
                                pixels                      
                               [just-alpha?                 
                                pre-multiplied?             
                                #:unscaled? unscaled?]) -> void?
  x : real?
  y : real?
  width : exact-nonnegative-integer?
  height : exact-nonnegative-integer?
  pixels : bytes?
  just-alpha? : any/c = #f
  pre-multiplied? : any/c = #f
  unscaled? : any/c = #f
method
(send a-bitmap set-loaded-mask mask) -> void?
  mask : (is-a?/c bitmap%)
class
bitmap-dc% : class?
  superclass: object%
  extends: dc<%>
constructor
(new bitmap-dc% [bitmap bitmap]) -> (is-a?/c bitmap-dc%)
  bitmap : (or/c (is-a?/c bitmap%) #f)
method
(send a-bitmap-dc draw-bitmap-section-smooth  source      
                                              dest-x      
                                              dest-y      
                                              dest-width  
                                              dest-height 
                                              src-x       
                                              src-y       
                                              src-width   
                                              src-height  
                                             [style       
                                              color       
                                              mask])      
 -> boolean?
  source : (is-a?/c bitmap%)
  dest-x : real?
  dest-y : real?
  dest-width : (and/c real? (not/c negative?))
  dest-height : (and/c real? (not/c negative?))
  src-x : real?
  src-y : real?
  src-width : (and/c real? (not/c negative?))
  src-height : (and/c real? (not/c negative?))
  style : (or/c 'solid 'opaque 'xor) = 'solid
  color : (is-a?/c color%)
        = (send the-color-database find-color "black")
  mask : (or/c (is-a?/c bitmap%) #f) = #f
method
(send a-bitmap-dc get-argb-pixels  x                     
                                   y                     
                                   width                 
                                   height                
                                   pixels                
                                  [just-alpha?           
                                   pre-multiplied?]) -> void?
  x : exact-nonnegative-integer?
  y : exact-nonnegative-integer?
  width : exact-nonnegative-integer?
  height : exact-nonnegative-integer?
  pixels : (and/c bytes? (not/c immutable?))
  just-alpha? : any/c = #f
  pre-multiplied? : any/c = #f
method
(send a-bitmap-dc get-bitmap) -> (or/c (is-a?/c bitmap%) #f)
method
(send a-bitmap-dc get-pixel x y color) -> boolean?
  x : exact-nonnegative-integer?
  y : exact-nonnegative-integer?
  color : (is-a?/c color%)
method
(send a-bitmap-dc set-argb-pixels  x                     
                                   y                     
                                   width                 
                                   height                
                                   pixels                
                                  [just-alpha?           
                                   pre-multiplied?]) -> void?
  x : real?
  y : real?
  width : exact-nonnegative-integer?
  height : exact-nonnegative-integer?
  pixels : bytes?
  just-alpha? : any/c = #f
  pre-multiplied? : any/c = #f
method
(send a-bitmap-dc set-bitmap bitmap) -> void?
  bitmap : (or/c (is-a?/c bitmap%) #f)
method
(send a-bitmap-dc set-pixel x y color) -> void?
  x : real?
  y : real?
  color : (is-a?/c color%)
class
brush% : class?
  superclass: object%
constructor
(new brush%                                    
            [[color color]                     
             [style style]                     
             [stipple stipple]                 
             [gradient gradient]               
             [transformation transformation]]) 
 -> (is-a?/c brush%)
  color : (or/c string? (is-a?/c color%)) = "black"
  style : brush-style/c = 'solid
  stipple : (or/c #f (is-a?/c bitmap%)) = #f
  gradient : (or/c #f                          = #f
                   (is-a?/c linear-gradient%)
                   (is-a?/c radial-gradient%))
  transformation : (or/c #f (vector/c (vector/c real? real? real?
                                                real? real? real?)
                                       real? real? real? real? real?))
                 = #f
method
(send a-brush get-color) -> (is-a?/c color%)
method
(send a-brush get-gradient) -> (or/c (is-a?/c linear-gradient%)
                                     (is-a?/c radial-gradient%)
                                     #f)
method
(send a-brush get-handle) -> (or/c cpointer? #f)
method
(send a-brush get-stipple) -> (or/c (is-a?/c bitmap%) #f)
method
(send a-brush get-style) -> brush-style/c
method
(send a-brush get-transformation)
 -> (or/c #f (vector/c (vector/c real? real? real? real? real? real?)
                       real? real? real? real? real?))
method
(send a-brush is-immutable?) -> boolean?
method
(send a-brush set-color color) -> void?
  color : (is-a?/c color%)
(send a-brush set-color color-name) -> void?
  color-name : string?
(send a-brush set-color red green blue) -> void?
  red : byte?
  green : byte?
  blue : byte?
method
(send a-brush set-stipple  bitmap               
                          [transformation]) -> void?
  bitmap : (or/c (is-a?/c bitmap%) #f)
  transformation : (or/c #f (vector/c (vector/c real? real? real?
                                                real? real? real?)
                                       real? real? real? real? real?))
                 = #f
method
(send a-brush set-style style) -> void?
  style : brush-style/c
class
brush-list% : class?
  superclass: object%
constructor
(new brush-list%) -> (is-a?/c brush-list%)
method
(send a-brush-list find-or-create-brush color  
                                        style) 
 -> (is-a?/c brush%)
  color : (or/c string? (is-a?/c color%))
  style : (or/c 'transparent 'solid 'opaque
                'xor 'hilite 'panel
                'bdiagonal-hatch 'crossdiag-hatch
                'fdiagonal-hatch 'cross-hatch
                'horizontal-hatch 'vertical-hatch)
(send a-brush-list find-or-create-brush color-name 
                                        style)     
 -> (or/c (is-a?/c brush%) #f)
  color-name : string?
  style : (or/c 'transparent 'solid 'opaque
                'xor 'hilite 'panel
                'bdiagonal-hatch 'crossdiag-hatch
                'fdiagonal-hatch 'cross-hatch
                'horizontal-hatch 'vertical-hatch)
class
color% : class?
  superclass: object%
constructor
(make-object color%) -> (is-a?/c color%)
(make-object color% red green blue [alpha]) -> (is-a?/c color%)
  red : byte?
  green : byte?
  blue : byte?
  alpha : (real-in 0 1) = 1.0
(make-object color% color-name-or-obj) -> (is-a?/c color%)
  color-name-or-obj : (or/c string? (is-a?/c color%))
method
(send a-color red) -> byte?
method
(send a-color green) -> byte?
method
(send a-color blue) -> byte?
method
(send a-color alpha) -> (real-in 0 1)
method
(send a-color set red green blue [alpha]) -> void?
  red : byte?
  green : byte?
  blue : byte?
  alpha : (real-in 0 1) = 1.0
method
(send a-color copy-from src) -> (is-a?/c color%)
  src : (is-a?/c color%)
method
(send a-color is-immutable?) -> boolean?
method
(send a-color ok?) -> #t
interface
color-database<%> : interface?
method
(send a-color-database find-color color-name)
 -> (or/c (is-a?/c color%) #f)
  color-name : string?
method
(send a-color-database get-names) -> (listof string?)
interface
dc<%> : interface?
method
(send a-dc cache-font-metrics-key) -> exact-integer?
method
(send a-dc clear) -> void?
method
(send a-dc copy x y width height x2 y2) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
  x2 : real?
  y2 : real?
method
(send a-dc draw-arc x                 
                    y                 
                    width             
                    height            
                    start-radians     
                    end-radians)  -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
  start-radians : real?
  end-radians : real?
method
(send a-dc draw-bitmap  source     
                        dest-x     
                        dest-y     
                       [style      
                        color      
                        mask]) -> boolean?
  source : (is-a?/c bitmap%)
  dest-x : real?
  dest-y : real?
  style : (or/c 'solid 'opaque 'xor) = 'solid
  color : (is-a?/c color%)
        = (send the-color-database find-color "black")
  mask : (or/c (is-a?/c bitmap%) #f) = #f
method
(send a-dc draw-bitmap-section  source         
                                dest-x         
                                dest-y         
                                src-x          
                                src-y          
                                src-width      
                                src-height     
                               [style          
                                color          
                                mask])     -> boolean?
  source : (is-a?/c bitmap%)
  dest-x : real?
  dest-y : real?
  src-x : real?
  src-y : real?
  src-width : (and/c real? (not/c negative?))
  src-height : (and/c real? (not/c negative?))
  style : (or/c 'solid 'opaque 'xor) = 'solid
  color : (is-a?/c color%)
        = (send the-color-database find-color "black")
  mask : (or/c (is-a?/c bitmap%) #f) = #f
method
(send a-dc draw-ellipse x y width height) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
method
(send a-dc draw-line x1 y1 x2 y2) -> void?
  x1 : real?
  y1 : real?
  x2 : real?
  y2 : real?
method
(send a-dc draw-lines  points        
                      [xoffset       
                       yoffset]) -> void?
  points : (or/c (listof (is-a?/c point%))
                 (listof (cons/c real? real?)))
  xoffset : real? = 0
  yoffset : real? = 0
method
(send a-dc draw-path  path             
                     [xoffset          
                      yoffset          
                      fill-style]) -> void?
  path : (is-a?/c dc-path%)
  xoffset : real? = 0
  yoffset : real? = 0
  fill-style : (or/c 'odd-even 'winding) = 'odd-even
method
(send a-dc draw-point x y) -> void?
  x : real?
  y : real?
method
(send a-dc draw-polygon  points           
                        [xoffset          
                         yoffset          
                         fill-style]) -> void?
  points : (or/c (listof (is-a?/c point%))
                 (listof (cons/c real? real?)))
  xoffset : real? = 0
  yoffset : real? = 0
  fill-style : (or/c 'odd-even 'winding) = 'odd-even
method
(send a-dc draw-rectangle x y width height) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
method
(send a-dc draw-rounded-rectangle  x            
                                   y            
                                   width        
                                   height       
                                  [radius]) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
  radius : real? = -0.25
method
(send a-dc draw-spline x1 y1 x2 y2 x3 y3) -> void?
  x1 : real?
  y1 : real?
  x2 : real?
  y2 : real?
  x3 : real?
  y3 : real?
method
(send a-dc draw-text  text         
                      x            
                      y            
                     [combine?     
                      offset       
                      angle])  -> void?
  text : string?
  x : real?
  y : real?
  combine? : any/c = #f
  offset : exact-nonnegative-integer? = 0
  angle : real? = 0
method
(send a-dc end-doc) -> void?
method
(send a-dc end-page) -> void?
method
(send a-dc erase) -> void?
method
(send a-dc flush) -> void?
method
(send a-dc get-alpha) -> (real-in 0 1)
method
(send a-dc get-background) -> (is-a?/c color%)
method
(send a-dc get-backing-scale) -> (>/c 0.0)
method
(send a-dc get-brush) -> (is-a?/c brush%)
method
(send a-dc get-char-height) -> (and/c real? (not/c negative?))
method
(send a-dc get-char-width) -> (and/c real? (not/c negative?))
method
(send a-dc get-clipping-region) -> (or/c (is-a?/c region%) #f)
method
(send a-dc get-device-scale) -> (and/c real? (not/c negative?))
                                (and/c real? (not/c negative?))
method
(send a-dc get-font) -> (is-a?/c font%)
method
(send a-dc get-gl-context) -> (or/c (is-a?/c gl-context<%>) #f)
method
(send a-dc get-initial-matrix)
 -> (vector/c real? real? real? real? real? real?)
method
(send a-dc get-origin) -> real? real?
method
(send a-dc get-pen) -> (is-a?/c pen%)
method
(send a-dc get-path-bounding-box path type)
 -> real? real? real? real?
  path : (is-a?/c dc-path%)
  type : (or/c 'path 'stroke 'fill)
method
(send a-dc get-rotation) -> real?
method
(send a-dc get-scale) -> real? real?
method
(send a-dc get-size) -> (and/c real? (not/c negative?))
                        (and/c real? (not/c negative?))
method
(send a-dc get-smoothing)
 -> (or/c 'unsmoothed 'smoothed 'aligned)
method
(send a-dc get-text-background) -> (is-a?/c color%)
method
(send a-dc get-text-extent  string   
                           [font     
                            combine? 
                            offset]) 
 -> (and/c real? (not/c negative?))
    (and/c real? (not/c negative?))
    (and/c real? (not/c negative?))
    (and/c real? (not/c negative?))
  string : string?
  font : (or/c (is-a?/c font%) #f) = #f
  combine? : any/c = #f
  offset : exact-nonnegative-integer? = 0
method
(send a-dc get-text-foreground) -> (is-a?/c color%)
method
(send a-dc get-text-mode) -> (or/c 'solid 'transparent)
method
(send a-dc get-transformation)
 -> (vector/c (vector/c real? real? real? real? real? real?)
              real? real? real? real? real?)
method
(send a-dc glyph-exists? c) -> boolean?
  c : char?
method
(send a-dc ok?) -> boolean?
method
(send a-dc resume-flush) -> void?
method
(send a-dc rotate angle) -> void?
  angle : real?
method
(send a-dc scale x-scale y-scale) -> void?
  x-scale : real?
  y-scale : real?
method
(send a-dc set-alignment-scale scale) -> void?
  scale : (>/c 0.0)
method
(send a-dc set-alpha opacity) -> void?
  opacity : (real-in 0 1)
method
(send a-dc set-background color) -> void?
  color : (is-a?/c color%)
(send a-dc set-background color-name) -> void?
  color-name : string?
method
(send a-dc set-brush brush) -> void?
  brush : (is-a?/c brush%)
(send a-dc set-brush color style) -> void?
  color : (is-a?/c color%)
  style : (or/c 'transparent 'solid 'opaque
                'xor 'hilite 'panel
                'bdiagonal-hatch 'crossdiag-hatch
                'fdiagonal-hatch 'cross-hatch
                'horizontal-hatch 'vertical-hatch)
(send a-dc set-brush color-name style) -> void?
  color-name : string?
  style : (or/c 'transparent 'solid 'opaque
                'xor 'hilite 'panel
                'bdiagonal-hatch 'crossdiag-hatch
                'fdiagonal-hatch 'cross-hatch
                'horizontal-hatch 'vertical-hatch)
method
(send a-dc set-clipping-rect x           
                             y           
                             width       
                             height) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
method
(send a-dc set-clipping-region rgn) -> void?
  rgn : (or/c (is-a?/c region%) #f)
method
(send a-dc set-font font) -> void?
  font : (is-a?/c font%)
method
(send a-dc set-initial-matrix m) -> void?
  m : (vector/c real? real? real? real? real? real?)
method
(send a-dc set-origin x y) -> void?
  x : real?
  y : real?
method
(send a-dc set-pen pen) -> void?
  pen : (is-a?/c pen%)
(send a-dc set-pen color width style) -> void?
  color : (is-a?/c color%)
  width : (real-in 0 255)
  style : (or/c 'transparent 'solid 'xor 'hilite
                'dot 'long-dash 'short-dash 'dot-dash
                'xor-dot 'xor-long-dash 'xor-short-dash
                'xor-dot-dash)
(send a-dc set-pen color-name width style) -> void?
  color-name : string?
  width : (real-in 0 255)
  style : (or/c 'transparent 'solid 'xor 'hilite
                'dot 'long-dash 'short-dash 'dot-dash
                'xor-dot 'xor-long-dash 'xor-short-dash
                'xor-dot-dash)
method
(send a-dc set-rotation angle) -> void?
  angle : real?
method
(send a-dc set-scale x-scale y-scale) -> void?
  x-scale : real?
  y-scale : real?
method
(send a-dc set-smoothing mode) -> void?
  mode : (or/c 'unsmoothed 'smoothed 'aligned)
method
(send a-dc set-text-background color) -> void?
  color : (is-a?/c color%)
(send a-dc set-text-background color-name) -> void?
  color-name : string?
method
(send a-dc set-text-foreground color) -> void?
  color : (is-a?/c color%)
(send a-dc set-text-foreground color-name) -> void?
  color-name : string?
method
(send a-dc set-text-mode mode) -> void?
  mode : (or/c 'solid 'transparent)
method
(send a-dc set-transformation t) -> void?
  t : (vector/c (vector/c real? real? real? real? real? real?)
                real? real? real? real? real?)
method
(send a-dc start-doc message) -> void?
  message : string?
method
(send a-dc start-page) -> void?
method
(send a-dc suspend-flush) -> void?
method
(send a-dc transform m) -> void?
  m : (vector/c real? real? real? real? real? real?)
method
(send a-dc translate dx dy) -> void?
  dx : real?
  dy : real?
method
(send a-dc try-color try result) -> void?
  try : (is-a?/c color%)
  result : (is-a?/c color%)
class
dc-path% : class?
  superclass: object%
constructor
(new dc-path%) -> (is-a?/c dc-path%)
method
(send a-dc-path append path) -> void?
  path : (is-a?/c dc-path%)
method
(send a-dc-path arc  x                        
                     y                        
                     width                    
                     height                   
                     start-radians            
                     end-radians              
                    [counter-clockwise?]) -> void?
  x : real?
  y : real?
  width : real?
  height : real?
  start-radians : real?
  end-radians : real?
  counter-clockwise? : any/c = #t
method
(send a-dc-path close) -> void?
method
(send a-dc-path curve-to x1 y1 x2 y2 x3 y3) -> void?
  x1 : real?
  y1 : real?
  x2 : real?
  y2 : real?
  x3 : real?
  y3 : real?
method
(send a-dc-path ellipse x y width height) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
method
(send a-dc-path get-bounding-box) -> real? real? real? real?
method
(send a-dc-path get-datum) -> (listof (listof vector?))
                              (listof vector?)
method
(send a-dc-path line-to x y) -> void?
  x : real?
  y : real?
method
(send a-dc-path lines  points        
                      [xoffset       
                       yoffset]) -> void?
  points : (or/c (listof (is-a?/c point%))
                 (listof (cons/c real? real?)))
  xoffset : real? = 0
  yoffset : real? = 0
method
(send a-dc-path move-to x y) -> void?
  x : real?
  y : real?
method
(send a-dc-path open?) -> boolean?
method
(send a-dc-path rectangle x y width height) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
method
(send a-dc-path reset) -> void?
method
(send a-dc-path reverse) -> void?
method
(send a-dc-path rotate radians) -> void?
  radians : real?
method
(send a-dc-path rounded-rectangle  x            
                                   y            
                                   width        
                                   height       
                                  [radius]) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
  radius : real? = -0.25
method
(send a-dc-path scale x y) -> void?
  x : real?
  y : real?
method
(send a-dc-path text-outline  font           
                              str            
                              x              
                              y              
                             [combine?]) -> void?
  font : (is-a?/c font%)
  str : string?
  x : real?
  y : real?
  combine? : any/c = #f
method
(send a-dc-path transform m) -> void?
  m : (vector/c real? real? real? real? real? real?)
method
(send a-dc-path translate x y) -> void?
  x : real?
  y : real?
class
font% : class?
  superclass: object%
constructor
(make-object font%) -> (is-a?/c font%)
(make-object font%  size                
                    family              
                   [style               
                    weight              
                    underline?          
                    smoothing           
                    size-in-pixels?     
                    hinting])       -> (is-a?/c font%)
  size : (real-in 0.0 1024.0)
  family : font-family/c
  style : font-style/c = 'normal
  weight : font-weight/c = 'normal
  underline? : any/c = #f
  smoothing : font-smoothing/c = 'default
  size-in-pixels? : any/c = #f
  hinting : font-hinting/c = 'aligned
(make-object font%  size                
                    face                
                    family              
                   [style               
                    weight              
                    underline?          
                    smoothing           
                    size-in-pixels?     
                    hinting])       -> (is-a?/c font%)
  size : (real-in 0.0 1024.0)
  face : string?
  family : font-family/c
  style : font-style/c = 'normal
  weight : font-weight/c = 'normal
  underline? : any/c = #f
  smoothing : font-smoothing/c = 'default
  size-in-pixels? : any/c = #f
  hinting : font-hinting/c = 'aligned
method
(send a-font get-face) -> (or/c string? #f)
method
(send a-font get-family) -> font-family/c
method
(send a-font get-font-id) -> exact-integer?
method
(send a-font get-hinting) -> font-hinting/c
method
(send a-font get-point-size) -> (integer-in 1 1024)
method
(send a-font get-size) -> (real-in 0.0 1024.0)
method
(send a-font get-size-in-pixels) -> boolean?
method
(send a-font get-smoothing) -> font-smoothing/c
method
(send a-font get-style) -> font-style/c
method
(send a-font get-underlined) -> boolean?
method
(send a-font get-weight) -> font-weight/c
method
(send a-font screen-glyph-exists?  c                
                                  [for-label?]) -> boolean?
  c : char?
  for-label? : any/c = #f
class
font-list% : class?
  superclass: object%
constructor
(new font-list%) -> (is-a?/c font-list%)
method
(send a-font-list find-or-create-font  size            
                                       family          
                                       style           
                                       weight          
                                      [underline?      
                                       smoothing       
                                       size-in-pixels? 
                                       hinting])       
 -> (is-a?/c font%)
  size : (real-in 0.0 1024.0)
  family : (or/c 'default 'decorative 'roman 'script
                 'swiss 'modern 'symbol 'system)
  style : (or/c 'normal 'italic 'slant)
  weight : (or/c 'normal 'bold 'light)
  underline? : any/c = #f
  smoothing : (or/c 'default 'partly-smoothed 'smoothed 'unsmoothed)
            = 'default
  size-in-pixels? : any/c = #f
  hinting : (or/c 'aligned 'unaligned) = 'aligned
(send a-font-list find-or-create-font  size            
                                       face            
                                       family          
                                       style           
                                       weight          
                                      [underline       
                                       smoothing       
                                       size-in-pixels? 
                                       hinting])       
 -> (is-a?/c font%)
  size : (real-in 0.0 1024.0)
  face : string?
  family : (or/c 'default 'decorative 'roman 'script
                 'swiss 'modern 'symbol 'system)
  style : (or/c 'normal 'italic 'slant)
  weight : (or/c 'normal 'bold 'light)
  underline : any/c = #f
  smoothing : (or/c 'default 'partly-smoothed 'smoothed 'unsmoothed)
            = 'default
  size-in-pixels? : any/c = #f
  hinting : (or/c 'aligned 'unaligned) = 'aligned
interface
font-name-directory<%> : interface?
method
(send a-font-name-directory find-family-default-font-id family)
 -> exact-integer?
  family : (or/c 'default 'decorative 'roman 'script
                 'swiss 'modern 'symbol 'system)
method
(send a-font-name-directory find-or-create-font-id name    
                                                   family) 
 -> exact-integer?
  name : string?
  family : (or/c 'default 'decorative 'roman 'script
                 'swiss 'modern 'symbol 'system)
method
(send a-font-name-directory get-face-name font-id)
 -> (or/c string? #f)
  font-id : exact-integer?
method
(send a-font-name-directory get-family font-id)
 -> (or/c 'default 'decorative 'roman 'script
          'swiss 'modern 'symbol 'system)
  font-id : exact-integer?
method
(send a-font-name-directory get-font-id name    
                                        family) 
 -> exact-integer?
  name : string?
  family : (or/c 'default 'decorative 'roman 'script
                 'swiss 'modern 'symbol 'system)
method
(send a-font-name-directory get-post-script-name font-id 
                                                 weight  
                                                 style)  
 -> (or/c string? #f)
  font-id : exact-integer?
  weight : (or/c 'normal 'bold 'light)
  style : (or/c 'normal 'italic 'slant)
method
(send a-font-name-directory get-screen-name font-id 
                                            weight  
                                            style)  
 -> (or/c string? #f)
  font-id : exact-integer?
  weight : (or/c 'normal 'bold 'light)
  style : (or/c 'normal 'italic 'slant)
method
(send a-font-name-directory set-post-script-name font-id 
                                                 weight  
                                                 style   
                                                 name)   
 -> void?
  font-id : exact-integer?
  weight : (or/c 'normal 'bold 'light)
  style : (or/c 'normal 'italic 'slant)
  name : string?
method
(send a-font-name-directory set-screen-name font-id     
                                            weight      
                                            style       
                                            name)   -> void?
  font-id : exact-integer?
  weight : (or/c 'normal 'bold 'light)
  style : (or/c 'normal 'italic 'slant)
  name : string?
class
gl-config% : class?
  superclass: object%
constructor
(new gl-config%) -> (is-a?/c gl-config%)
method
(send a-gl-config get-accum-size) -> (integer-in 0 256)
method
(send a-gl-config get-depth-size) -> (integer-in 0 256)
method
(send a-gl-config get-double-buffered) -> boolean?
method
(send a-gl-config get-hires-mode) -> boolean?
method
(send a-gl-config get-legacy?) -> boolean?
method
(send a-gl-config get-multisample-size) -> (integer-in 0 256)
method
(send a-gl-config get-share-context)
 -> (or/c #f (is-a?/c gl-context<%>))
method
(send a-gl-config get-stencil-size) -> (integer-in 0 256)
method
(send a-gl-config get-stereo) -> boolean?
method
(send a-gl-config get-sync-swap) -> boolean?
method
(send a-gl-config set-accum-size on?) -> void?
  on? : (integer-in 0 256)
method
(send a-gl-config set-depth-size on?) -> void?
  on? : (integer-in 0 256)
method
(send a-gl-config set-double-buffered on?) -> void?
  on? : any/c
method
(send a-gl-config set-hires-mode hires-mode) -> void?
  hires-mode : any/c
method
(send a-gl-config set-legacy? legacy?) -> void?
  legacy? : any/c
method
(send a-gl-config set-multisample-size on?) -> void?
  on? : (integer-in 0 256)
method
(send a-gl-config set-share-context context) -> void?
  context : (or/c #f (is-a?/c gl-context<%>))
method
(send a-gl-config set-stencil-size on?) -> void?
  on? : (integer-in 0 256)
method
(send a-gl-config set-stereo on?) -> void?
  on? : any/c
method
(send a-gl-config set-sync-swap on?) -> void?
  on? : any/c
interface
gl-context<%> : interface?
method
(send a-gl-context call-as-current  thunk                
                                   [alternate            
                                    enable-breaks?]) -> any/c
  thunk : (-> any)
  alternate : evt? = never-evt
  enable-breaks? : any/c = #f
method
(send a-gl-context get-handle) -> cpointer?
method
(send a-gl-context ok?) -> boolean?
method
(send a-gl-context swap-buffers) -> void?
procedure
(get-current-gl-context) -> gl-context<%>
class
linear-gradient% : class?
  superclass: object%
constructor
(new linear-gradient%                
                      [x0 x0]        
                      [y0 y0]        
                      [x1 x1]        
                      [y1 y1]        
                      [stops stops]) 
 -> (is-a?/c linear-gradient%)
  x0 : real?
  y0 : real?
  x1 : real?
  y1 : real?
  stops : (listof (list/c (real-in 0 1) (is-a?/c color%)))
method
(send a-linear-gradient get-line) -> real? real? real? real?
method
(send a-linear-gradient get-stops)
 -> (listof (list/c (real-in/c 0 1) (is-a?/c color%)))
class
pdf-dc% : class?
  superclass: object%
  extends: dc<%>
constructor
(new pdf-dc%                                  
             [[interactive interactive]       
              [parent parent]                 
              [use-paper-bbox use-paper-bbox] 
              [as-eps as-eps]                 
              [width width]                   
              [height height]                 
              [output output]])               
 -> (is-a?/c pdf-dc%)
  interactive : any/c = #t
  parent : (or/c (is-a?/c frame%) (is-a?/c dialog%) #f) = #f
  use-paper-bbox : any/c = #f
  as-eps : any/c = #t
  width : (or/c (and/c real? (not/c negative?)) #f) = #f
  height : (or/c (and/c real? (not/c negative?)) #f) = #f
  output : (or/c path-string? output-port? #f) = #f
class
pen% : class?
  superclass: object%
constructor
(new pen%                          
          [[color color]           
           [width width]           
           [style style]           
           [cap cap]               
           [join join]             
           [stipple stipple]]) -> (is-a?/c pen%)
  color : (or/c string? (is-a?/c color%)) = "black"
  width : (real-in 0 255) = 0
  style : pen-style/c = 'solid
  cap : pen-cap-style/c = 'round
  join : pen-join-style/c = 'round
  stipple : (or/c #f (is-a?/c bitmap%)) = #f
method
(send a-pen get-cap) -> pen-cap-style/c
method
(send a-pen get-color) -> (is-a?/c color%)
method
(send a-pen get-join) -> pen-join-style/c
method
(send a-pen get-stipple) -> (or/c (is-a?/c bitmap%) #f)
method
(send a-pen get-style) -> pen-style/c
method
(send a-pen get-width) -> (real-in 0 255)
method
(send a-pen is-immutable?) -> boolean?
method
(send a-pen set-cap cap-style) -> void?
  cap-style : pen-cap-style/c
method
(send a-pen set-color color) -> void?
  color : (is-a?/c color%)
(send a-pen set-color color-name) -> void?
  color-name : string?
(send a-pen set-color red green blue) -> void?
  red : byte?
  green : byte?
  blue : byte?
method
(send a-pen set-join join-style) -> void?
  join-style : pen-join-style/c
method
(send a-pen set-stipple bitmap) -> void?
  bitmap : (or/c (is-a?/c bitmap%) #f)
method
(send a-pen set-style style) -> void?
  style : pen-style/c
method
(send a-pen set-width width) -> void?
  width : (real-in 0 255)
class
pen-list% : class?
  superclass: object%
constructor
(new pen-list%) -> (is-a?/c pen-list%)
method
(send a-pen-list find-or-create-pen  color      
                                     width      
                                     style      
                                    [cap        
                                     join]) -> (is-a?/c pen%)
  color : (is-a?/c color%)
  width : (real-in 0 255)
  style : (or/c 'transparent 'solid 'xor 'hilite
                'dot 'long-dash 'short-dash 'dot-dash
                'xor-dot 'xor-long-dash 'xor-short-dash
                'xor-dot-dash)
  cap : (or/c 'round 'projecting 'butt) = 'round
  join : (or/c 'round 'bevel 'miter) = 'round
(send a-pen-list find-or-create-pen  color-name 
                                     width      
                                     style      
                                    [cap        
                                     join])     
 -> (or/c (is-a?/c pen%) #f)
  color-name : string?
  width : (real-in 0 255)
  style : (or/c 'transparent 'solid 'xor 'hilite
                'dot 'long-dash 'short-dash 'dot-dash
                'xor-dot 'xor-long-dash 'xor-short-dash
                'xor-dot-dash)
  cap : (or/c 'round 'projecting 'butt) = 'round
  join : (or/c 'round 'bevel 'miter) = 'round
class
point% : class?
  superclass: object%
constructor
(make-object point%) -> (is-a?/c point%)
(make-object point% x y) -> (is-a?/c point%)
  x : real?
  y : real?
method
(send a-point get-x) -> real?
method
(send a-point get-y) -> real?
method
(send a-point set-x x) -> void?
  x : real?
method
(send a-point set-y y) -> void?
  y : real?
class
post-script-dc% : class?
  superclass: object%
  extends: dc<%>
constructor
(new post-script-dc%                                  
                     [[interactive interactive]       
                      [parent parent]                 
                      [use-paper-bbox use-paper-bbox] 
                      [as-eps as-eps]                 
                      [width width]                   
                      [height height]                 
                      [output output]])               
 -> (is-a?/c post-script-dc%)
  interactive : any/c = #t
  parent : (or/c (is-a?/c frame%) (is-a?/c dialog%) #f) = #f
  use-paper-bbox : any/c = #f
  as-eps : any/c = #t
  width : (or/c (and/c real? (not/c negative?)) #f) = #f
  height : (or/c (and/c real? (not/c negative?)) #f) = #f
  output : (or/c path-string? output-port? #f) = #f
class
ps-setup% : class?
  superclass: object%
constructor
(new ps-setup%) -> (is-a?/c ps-setup%)
method
(send a-ps-setup copy-from  source               
                           [copy-filename?]) -> void?
  source : (is-a?/c ps-setup%)
  copy-filename? : any/c = #f
method
(send a-ps-setup get-command) -> string?
method
(send a-ps-setup get-editor-margin h-margin      
                                   v-margin) -> void?
  h-margin : (box/c (and/c real? (not/c negative?)))
  v-margin : (box/c (and/c real? (not/c negative?)))
method
(send a-ps-setup get-file) -> (or/c path-string? #f)
method
(send a-ps-setup get-level-2) -> boolean?
method
(send a-ps-setup get-margin h-margin      
                            v-margin) -> void?
  h-margin : (box/c (and/c real? (not/c negative?)))
  v-margin : (box/c (and/c real? (not/c negative?)))
method
(send a-ps-setup get-mode) -> (or/c 'preview 'file 'printer)
method
(send a-ps-setup get-orientation)
 -> (or/c 'portrait 'landscape)
method
(send a-ps-setup get-paper-name) -> string?
method
(send a-ps-setup get-preview-command) -> string?
method
(send a-ps-setup get-scaling x y) -> void?
  x : (box/c (and/c real? (not/c negative?)))
  y : (box/c (and/c real? (not/c negative?)))
method
(send a-ps-setup get-translation x y) -> void?
  x : (box/c (and/c real? (not/c negative?)))
  y : (box/c (and/c real? (not/c negative?)))
method
(send a-ps-setup set-command command) -> void?
  command : string?
method
(send a-ps-setup set-editor-margin h v) -> void?
  h : exact-nonnegative-integer?
  v : exact-nonnegative-integer?
method
(send a-ps-setup set-file filename) -> void?
  filename : (or/c path-string? #f)
method
(send a-ps-setup set-level-2 on?) -> void?
  on? : any/c
method
(send a-ps-setup set-margin h v) -> void?
  h : (and/c real? (not/c negative?))
  v : (and/c real? (not/c negative?))
method
(send a-ps-setup set-mode mode) -> void?
  mode : (or/c 'preview 'file 'printer)
method
(send a-ps-setup set-orientation orientation) -> void?
  orientation : (or/c 'portrait 'landscape)
method
(send a-ps-setup set-paper-name type) -> void?
  type : string?
method
(send a-ps-setup set-preview-command command) -> void?
  command : string?
method
(send a-ps-setup set-scaling x y) -> void?
  x : (and/c real? (not/c negative?))
  y : (and/c real? (not/c negative?))
method
(send a-ps-setup set-translation x y) -> void?
  x : real?
  y : real?
class
radial-gradient% : class?
  superclass: object%
constructor
(new radial-gradient%                
                      [x0 x0]        
                      [y0 y0]        
                      [r0 r0]        
                      [x1 x1]        
                      [y1 y1]        
                      [r1 r1]        
                      [stops stops]) 
 -> (is-a?/c radial-gradient%)
  x0 : real?
  y0 : real?
  r0 : real?
  x1 : real?
  y1 : real?
  r1 : real?
  stops : (listof (list/c (real-in 0 1) (is-a?/c color%)))
method
(send a-radial-gradient get-circles)
 -> real? real? real? real? real? real?
method
(send a-radial-gradient get-stops)
 -> (listof (list/c (real-in 0 1) (is-a?/c color%)))
class
record-dc% : class?
  superclass: object%
  extends: dc<%>
constructor
(new record-dc%                        
                [[width width]         
                 [height height]]) -> (is-a?/c record-dc%)
  width : (>=/c 0) = 640
  height : (>=/c 0) = 480
method
(send a-record-dc get-recorded-datum) -> any/c
method
(send a-record-dc get-recorded-procedure)
 -> ((is-a?/c dc<%>) . -> . void?)
class
region% : class?
  superclass: object%
constructor
(new region% [dc dc]) -> (is-a?/c region%)
  dc : (or/c (is-a?/c dc<%>) #f)
method
(send a-region get-bounding-box) -> real? real? real? real?
method
(send a-region get-dc) -> (or/c (is-a?/c dc<%>) #f)
method
(send a-region in-region? x y) -> boolean?
  x : real?
  y : real?
method
(send a-region intersect rgn) -> void?
  rgn : (is-a?/c region%)
method
(send a-region is-empty?) -> boolean?
method
(send a-region set-arc x                 
                       y                 
                       width             
                       height            
                       start-radians     
                       end-radians)  -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
  start-radians : real?
  end-radians : real?
method
(send a-region set-ellipse x y width height) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
method
(send a-region set-path  path             
                        [xoffset          
                         yoffset          
                         fill-style]) -> void?
  path : (is-a?/c dc-path%)
  xoffset : real? = 0
  yoffset : real? = 0
  fill-style : (or/c 'odd-even 'winding) = 'odd-even
method
(send a-region set-polygon  points           
                           [xoffset          
                            yoffset          
                            fill-style]) -> void?
  points : (or/c (listof (is-a?/c point%))
                 (listof (cons/c real? real?)))
  xoffset : real? = 0
  yoffset : real? = 0
  fill-style : (or/c 'odd-even 'winding) = 'odd-even
method
(send a-region set-rectangle x           
                             y           
                             width       
                             height) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
method
(send a-region set-rounded-rectangle  x            
                                      y            
                                      width        
                                      height       
                                     [radius]) -> void?
  x : real?
  y : real?
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
  radius : real? = -0.25
method
(send a-region subtract rgn) -> void?
  rgn : (is-a?/c region%)
method
(send a-region union rgn) -> void?
  rgn : (is-a?/c region%)
method
(send a-region xor rgn) -> void?
  rgn : (is-a?/c region%)
class
svg-dc% : class?
  superclass: object%
  extends: dc<%>
constructor
(new svg-dc%                        
              [width width]         
              [height height]       
              [output output]       
             [[exists exists]]) -> (is-a?/c svg-dc%)
  width : (and/c real? (not/c negative?))
  height : (and/c real? (not/c negative?))
  output : (or/c path-string? output-port?)
  exists : (or/c 'error 'append 'update 'can-update = 'error
                 'replace 'truncate
                 'must-truncate 'truncate/replace)
parameter
(current-ps-setup) -> (is-a?/c ps-setup%)
(current-ps-setup pss) -> void?
  pss : (is-a?/c ps-setup%)
procedure
(get-face-list [kind                            
                #:all-variants? all-variants?]) 
 -> (listof string?)
  kind : (or/c 'mono 'all) = 'all
  all-variants? : any/c = #f
procedure
(get-family-builtin-face family) -> string?
  family : (or/c 'default 'decorative 'roman 'script
                 'swiss 'modern 'symbol 'system)
procedure
(make-bitmap  width                               
              height                              
             [alpha?                              
              #:backing-scale backing-scale]) -> (is-a?/c bitmap%)
  width : exact-positive-integer?
  height : exact-positive-integer?
  alpha? : any/c = #t
  backing-scale : (>/c 0.0) = 1.0
procedure
(make-brush [#:color color                       
             #:style style                       
             #:stipple stipple                   
             #:gradient gradient                 
             #:transformation transformation     
             #:immutable? immutable?])       -> (is-a?/c brush%)
  color : (or/c string? (is-a?/c color%)) = (make-color 0 0 0)
  style : (or/c 'transparent 'solid 'opaque        = 'solid
                'xor 'hilite 'panel
                'bdiagonal-hatch 'crossdiag-hatch
                'fdiagonal-hatch 'cross-hatch
                'horizontal-hatch 'vertical-hatch)
  stipple : (or/c #f (is-a?/c bitmap%)) = #f
  gradient : (or/c #f                         = #f
                  (is-a?/c linear-gradient%)
                  (is-a?/c radial-gradient%))
  transformation : (or/c #f (vector/c (vector/c real? real? real?
                                                real? real? real?)
                                       real? real? real? real? real?))
                 = #f
  immutable? : any/c = #t
procedure
(make-color red green blue [alpha]) -> (is-a?/c color%)
  red : byte?
  green : byte?
  blue : byte?
  alpha : (real-in 0 1) = 1.0
procedure
(make-font [#:size size                           
            #:face face                           
            #:family family                       
            #:style style                         
            #:weight weight                       
            #:underlined? underlined?             
            #:smoothing smoothing                 
            #:size-in-pixels? size-in-pixels?     
            #:hinting hinting])               -> (is-a?/c font%)
  size : (real-in 0.0 1024.0) = 12
  face : (or/c string? #f) = #f
  family : (or/c 'default 'decorative 'roman 'script = 'default
                 'swiss 'modern 'symbol 'system)
  style : (or/c 'normal 'italic 'slant) = 'normal
  weight : font-weight/c = 'normal
  underlined? : any/c = #f
  smoothing : (or/c 'default 'partly-smoothed = 'default
                    'smoothed 'unsmoothed)
  size-in-pixels? : any/c = #f
  hinting : (or/c 'aligned 'unaligned) = 'aligned
procedure
(make-monochrome-bitmap width height [bits]) -> (is-a?/c bitmap%)
  width : exact-positive-integer?
  height : exact-positive-integer?
  bits : (or/c bytes? #f) = #f
procedure
(make-pen [#:color color                 
           #:width width                 
           #:style style                 
           #:cap cap                     
           #:join join                   
           #:stipple stipple             
           #:immutable? immutable?]) -> (is-a?/c pen%)
  color : (or/c string? (is-a?/c color%)) = (make-color 0 0 0)
  width : (real-in 0 255) = 0
  style : (or/c 'transparent 'solid 'xor 'hilite        = 'solid
                'dot 'long-dash 'short-dash 'dot-dash
                'xor-dot 'xor-long-dash 'xor-short-dash
                'xor-dot-dash)
  cap : (or/c 'round 'projecting 'butt) = 'round
  join : (or/c 'round 'bevel 'miter) = 'round
  stipple : (or/c #f (is-a?/c bitmap%)) = #f
  immutable? : any/c = #t
procedure
(make-platform-bitmap  width                           
                       height                          
                      [#:backing-scale backing-scale]) 
 -> (is-a?/c bitmap%)
  width : exact-positive-integer?
  height : exact-positive-integer?
  backing-scale : (>/c 0.0) = 1.0
procedure
(read-bitmap  in                                
             [kind                              
              bg-color                          
              complain-on-failure?              
              #:backing-scale backing-scale     
              #:try-@2x? try-@2x?])         -> (is-a?/c bitmap%)
  in : (or path-string? input-port?)
  kind : (or/c 'unknown 'unknown/mask 'unknown/alpha
               'gif 'gif/mask 'gif/alpha
               'jpeg 'jpeg/alpha
               'png 'png/mask 'png/alpha
               'xbm 'xbm/alpha 'xpm 'xpm/alpha
               'bmp 'bmp/alpha)
       = 'unknown/alpha
  bg-color : (or/c (is-a?/c color%) #f) = #f
  complain-on-failure? : any/c = #t
  backing-scale : (>/c 0.0) = 1.0
  try-@2x? : any/c = #f
procedure
(recorded-datum->procedure datum)
 -> ((is-a?/c dc<%>) . -> . void?)
  datum : any/c
value
the-brush-list : (is-a?/c brush-list%)
value
the-color-database : (is-a?/c color-database<%>)
value
the-font-list : (is-a?/c font-list%)
value
the-font-name-directory : (is-a?/c font-name-directory<%>)
value
the-pen-list : (is-a?/c pen-list%)
value
font-family/c : flat-contract?
value
font-style/c : flat-contract?
value
font-weight/c : flat-contract?
value
font-smoothing/c : flat-contract?
value
font-hinting/c : flat-contract?
value
pen-style/c : flat-contract?
value
pen-cap-style/c : flat-contract?
value
pen-join-style/c : flat-contract?
value
brush-style/c : flat-contract?
value
draw@ : unit?
signature
draw^ : signature
procedure
(make-handle-brush  handle              
                    width               
                    height              
                    transformation      
                   [#:copy? copy?]) -> (is-a?/c brush%)
  handle : cpointer?
  width : exact-nonnegative-integer?
  height : exact-nonnegative-integer?
  transformation : (or/c #f (vector/c (vector/c real? real? real?
                                                real? real? real?)
                                      real? real? real? real? real?))
  copy? : any/c = #t
value
cairo-lib : (or/c ffi-lib? #f)
procedure
(draw-arrow  dc                                          
             start-x                                     
             start-y                                     
             end-x                                       
             end-y                                       
             dx                                          
             dy                                          
            [#:pen-width pen-width                       
             #:arrow-head-size arrow-head-size           
             #:arrow-root-radius arrow-root-radius]) -> void?
  dc : (is-a?/c dc<%>)
  start-x : real?
  start-y : real?
  end-x : real?
  end-y : real?
  dx : real?
  dy : real?
  pen-width : (or/c real? #f) = #f
  arrow-head-size : real? = 8
  arrow-root-radius : real? = 2.5
