From f82ceece33f95fc170602e4458c976edc054e82d Mon Sep 17 00:00:00 2001 From: Asumu Takikawa Date: Fri, 27 Mar 2015 00:13:15 -0400 Subject: [PATCH] Add other missing exports for typed/racket/draw --- typed-racket-more/typed/racket/draw.rkt | 16 +++++++- .../typed/racket/private/gui-types.rkt | 38 ++++++++++++++++++- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/typed-racket-more/typed/racket/draw.rkt b/typed-racket-more/typed/racket/draw.rkt index c7038250..a1b2b394 100644 --- a/typed-racket-more/typed/racket/draw.rkt +++ b/typed-racket-more/typed/racket/draw.rkt @@ -8,15 +8,19 @@ racket/draw/private/bitmap-dc racket/draw/private/brush racket/draw/private/color + racket/draw/private/dc-path racket/draw/private/font racket/draw/private/font-dir racket/draw/private/gl-config racket/draw/private/gl-context racket/draw/private/gradient racket/draw/private/pen + racket/draw/private/point + racket/draw/private/post-script-dc racket/draw/private/ps-setup racket/draw/private/record-dc racket/draw/private/region + racket/draw/private/svg-dc (only-in typed/racket/base -> U) "private/gui-types.rkt" (for-syntax (submod "private/gui-types.rkt" #%type-decl))) @@ -44,21 +48,25 @@ Color% Color-Database<%> DC<%> + DC-Path% Font% Font-List% GL-Config% GL-Context<%> Linear-Gradient% + PDF-DC% Pen% Pen-List% Pen-Style Pen-Cap-Style Pen-Join-Style Point% + Post-Script-DC% PS-Setup% Radial-Gradient% Record-DC% - Region%)) + Region% + SVG-DC%)) (begin-for-syntax (define -Bitmap% (parse-type #'Bitmap%)) @@ -80,16 +88,22 @@ [brush% (parse-type #'Brush%)] [brush-list% (parse-type #'Brush-List%)] [color% (parse-type #'Color%)] + [dc-path% (parse-type #'DC-Path%)] [font% (parse-type #'Font%)] [font-list% (parse-type #'Font-List%)] [get-current-gl-context (parse-type #'(-> (U #f GL-Context<%>)))] [gl-config% (parse-type #'GL-Config%)] [linear-gradient% (parse-type #'Linear-Gradient%)] + [pdf-dc% (parse-type #'PDF-DC%)] [pen% (parse-type #'Pen%)] + [pen-list% (parse-type #'Pen-List%)] + [point% (parse-type #'Point%)] + [post-script-dc% (parse-type #'Post-Script-DC%)] [ps-setup% (parse-type #'PS-Setup%)] [radial-gradient% (parse-type #'Radial-Gradient%)] [record-dc% (parse-type #'Record-DC%)] [region% (parse-type #'Region%)] + [svg-dc% (parse-type #'SVG-DC%)] ;; 26 Drawing Functions [current-ps-setup (-Param (-inst (parse-type #'PS-Setup%)))] [get-face-list (->optkey [(one-of/c 'mono 'all)] diff --git a/typed-racket-more/typed/racket/private/gui-types.rkt b/typed-racket-more/typed/racket/private/gui-types.rkt index cdee7510..baf7f8d9 100644 --- a/typed-racket-more/typed/racket/private/gui-types.rkt +++ b/typed-racket-more/typed/racket/private/gui-types.rkt @@ -19,22 +19,26 @@ Color% Color-Database<%> DC<%> + DC-Path% Font% Font-List% Font-Name-Directory<%> GL-Config% GL-Context<%> Linear-Gradient% + PDF-DC% Pen% Pen-List% Pen-Style Pen-Cap-Style Pen-Join-Style Point% + Post-Script-DC% PS-Setup% Radial-Gradient% Record-DC% - Region%) + Region% + SVG-DC%) (define-type LoadFileKind (U 'unknown 'unknown/mask 'unknown/alpha @@ -506,6 +510,38 @@ [get-recorded-datum (-> Any)] [get-recorded-procedure (-> (-> (Instance DC<%>) Void))])) +(define-type PDF-DC% + (Class #:implements DC<%> + (init [interactive Any #:optional] + [parent (Option (U (Instance Frame%) (Instance Dialog%))) + #:optional] + [use-paper-bbox Any #:optional] + [as-eps Any #:optional] + [width (Option Real) #:optional] + [height (Option Real) #:optional] + [output (U #f Path-String Output-Port) #:optional]))) + +(define-type Post-Script-DC% + (Class #:implements DC<%> + (init [interactive Any #:optional] + [parent (Option (U (Instance Frame%) (Instance Dialog%))) + #:optional] + [use-paper-bbox Any #:optional] + [as-eps Any #:optional] + [width (Option Real) #:optional] + [height (Option Real) #:optional] + [output (U #f Path-String Output-Port) #:optional]))) + +(define-type SVG-DC% + (Class #:implements DC<%> + (init [width Real] + [height Real] + [output (U Path-String Output-Port)] + [exists (U 'error 'append 'update 'can-update + 'replace 'truncate + 'must-truncate 'truncate/replace) + #:optional]))) + (define-type Font-List% (Class [find-or-create-font