再 CLIM(McCLIM) で Hello World! まで
McCLIM の Wiki(McCliki)にある "A Guided Tour of the Common Lisp Interface Manager" を読んでいます。それにのっていた Hello World ですが、"Hello World!" を真ん中に表示するための次のコードがとても気に入りました。
(floor w 2) (floor h 2) :align-x :center :align-y :center
今日はただそれだけです。
(eval-when (:compile-toplevel :load-toplevel :execute)
(require :mcclim))
(in-package :clim-user)
(define-application-frame hello-world ()
((greeting :initform "Hello World!"
:accessor greeting))
(:pane (make-pane 'hello-world-pane)))
(defclass hello-world-pane (clim-stream-pane)
())
(defmethod handle-repaint ((pane hello-world-pane) region)
(let ((w (bounding-rectangle-width pane))
(h (bounding-rectangle-height pane)))
(draw-rectangle* pane 0 0 w h
:filled t
:ink (pane-background pane))
(draw-text* pane
(greeting *application-frame*)
(floor w 2) (floor h 2) :align-x :center :align-y :center)))
(defun run ()
(run-frame-top-level
(make-application-frame 'hello-world :width 300 :height 200)))
;;(run)
0 件のコメント:
コメントを投稿