From 2295f71dbeb21b8ba3231d25cafb070d0be585dc Mon Sep 17 00:00:00 2001 From: Asumu Takikawa Date: Fri, 21 Feb 2014 14:39:01 -0500 Subject: [PATCH] Fix DrRacket's insert-large-letters This is a temporary fix in the sense that the typed/mred wrapper that this relies on is incomplete. Once the typed racket/gui bindings are merged, a more complete insert-large-letters will be checked in. Closes PR 14362 --- .../drracket/private/insert-large-letters.rkt | 6 +++--- .../typed-racket-more/typed/mred/mred.rkt | 14 +++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/pkgs/drracket-pkgs/drracket/drracket/private/insert-large-letters.rkt b/pkgs/drracket-pkgs/drracket/drracket/private/insert-large-letters.rkt index 2c7c45a3f0..f8f1292cc3 100644 --- a/pkgs/drracket-pkgs/drracket/drracket/private/insert-large-letters.rkt +++ b/pkgs/drracket-pkgs/drracket/drracket/private/insert-large-letters.rkt @@ -160,7 +160,7 @@ (define-values (tw raw-th td ta) (send bdc get-text-extent str the-font)) (define th (let-values ([(_1 h _2 _3) (send bdc get-text-extent "X" the-font)]) (max raw-th h))) - (define tmp-color (make-color 0 0 0)) + (define tmp-color (make-object color%)) (: get-char (Real Real -> Char)) (define (get-char x y) @@ -170,8 +170,8 @@ comment-character #\space))) (define bitmap - (make-bitmap - (max 1 (assert (exact-floor tw) positive?)) + (make-object bitmap% + (max 1 (exact-floor tw)) (assert (exact-floor th) positive?) #t)) diff --git a/pkgs/typed-racket-pkgs/typed-racket-more/typed/mred/mred.rkt b/pkgs/typed-racket-pkgs/typed-racket-more/typed/mred/mred.rkt index fe9ab7ce45..10273a6e90 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-more/typed/mred/mred.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-more/typed/mred/mred.rkt @@ -35,14 +35,19 @@ [show (Any -> Void)]))) (define-type Bitmap% - (Class [get-width (-> Integer)] + (Class (init-rest (U (List Exact-Positive-Integer Exact-Positive-Integer) + (List Exact-Positive-Integer Exact-Positive-Integer Any) + (List Exact-Positive-Integer Exact-Positive-Integer Any Any) + (List Exact-Positive-Integer Exact-Positive-Integer Any Any Real))) + [get-width (-> Integer)] [get-height (-> Integer)])) (define-type Font-List% (Class [find-or-create-font (case-> (Integer Symbol Symbol Symbol -> (Instance Font%)) - (Integer String Symbol Symbol Symbol -> (Instance Font%)))])) + (Integer String Symbol Symbol Symbol -> (Instance Font%)) + (Integer String Symbol Symbol Symbol Symbol -> (Instance Font%)))])) (define-type Font% (Class [get-face (-> (Option String))] @@ -101,7 +106,10 @@ [draw-text (String Number Number -> Void)])) (define-type Color% - (Class [red (-> Number)])) + (Class (init-rest (U Null + (List Byte Byte Byte) + (List Byte Byte Byte Real))) + [red (-> Number)])) (define-type Snip% (Class [get-count (-> Integer)]))