1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
;; -*-theme-d-*-
;; Copyright (C) 2020, 2021 Tommi Höynälänmaa
;; Distributed under GNU General Public License version 3,
;; see file doc/GPL-3.
(define-proper-program (examples objects1)
(import (standard-library core)
(standard-library console-io))
(define-class <widget>
(fields
(str-id <string> public module)))
(define-class <window>
(superclass <widget>)
(construct ((str-id1 <string>) (i-x11 <integer>) (i-y11 <integer>)
(i-x21 <integer>) (i-y21 <integer>))
(str-id1))
(fields
(i-x1 <integer> public module i-x11)
(i-y1 <integer> public module i-y11)
(i-x2 <integer> public module i-x21)
(i-y2 <integer> public module i-y21)
(i-width <integer> public module (+ (- i-x21 i-x11) 1))
(i-height <integer> public module (+ (- i-y21 i-y11) 1))))
(define-main-proc (() <none> nonpure)
(let ((window (create <window> "main" 10 10 300 100)))
(console-display-line (field-ref window 'str-id))
(console-display-line (field-ref window 'i-width))
(console-display-line (field-ref window 'i-height)))))
|