Programming

(Racket) editor-canvas font

steloflute 2015. 6. 18. 23:30

#lang racket/gui
(define frame (new frame% [label "Test"] [width 300]
                                         [height 300]))
(define text (new text%))
(define canvas (new editor-canvas% [parent frame]
                                   [editor text]))

(define style-delta (make-object style-delta%))

;; do some red
(send style-delta set-delta-foreground "red")
(send text change-style style-delta)
(send text insert "Hello world in red\n")

;; do some blue
(send style-delta set-delta-foreground "blue")
(send text change-style style-delta)
(send text insert "Now available in blue\n")

;; do some modern
(send style-delta set-delta-foreground "black")
(send style-delta set-family 'modern)
(send text change-style style-delta)
(send text insert "Now available in modern\n(fixed width)")

(send frame show #t)