Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | + POINT is wrapper aroung internal structure _POINT_ + using ASSERT for checking input parameters * make-point function can work with two parameters (X Y) and fourth (x: X y: Y) |
---|---|
Timelines: | family | ancestors | descendants | both | tui |
Files: | files | file ages | folders |
SHA1: |
cfa2ad8a2f7b947635490de333c83fbc |
User & Date: | vasalvit 2011-11-08 04:50:53.247 |
Context
2011-11-08
| ||
05:32 | * SIZE is wrapper around internal structure _SIZE_ + using ASSERT for checking input parameters at *SIZE* methods * make-size function can receives two (WIDTH HEIGHT) and fourth (width: WIDTH height: HEIGHT) parameters check-in: 142edc1744 user: vasalvit tags: tui | |
04:50 | + POINT is wrapper aroung internal structure _POINT_ + using ASSERT for checking input parameters * make-point function can work with two parameters (X Y) and fourth (x: X y: Y) check-in: cfa2ad8a2f user: vasalvit tags: tui | |
2011-11-07
| ||
07:21 | + CONTEXT - stub for drawing methods + simple test of NCURSES library + initialization/termination NCURSES + starting/finishing drawing + changing cursor position + overriding 'display' for printing to a current position + some SCREEN constants (such as WIDTH, HEIGHT, RECT) check-in: 2c644b7544 user: vasalvit tags: tui | |
Changes
Changes to sources/libraries/tui/primitives.scm.
1 2 3 4 | ; ; PRIMITIVES ; Contains some primitives such as POINT, SIZE, RECT and ; methods for working with they | | > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | ; ; PRIMITIVES ; Contains some primitives such as POINT, SIZE, RECT and ; methods for working with they ; HISTORY ; 03.11.2011 vasalvit ; First version ; 07.11.2011 vasalvit ; New internal structure _POINT_, all *POINT* methods ; are wrappers around *_POINT_* methods. ; 08.11.2011 ; Assert's checking for *POINT* methods. ; (require-extension defstruct) ; POINT ; One point on a screen. POINT consists of two values: ; X (number) and Y (number). (defstruct _point_ x y) (define (mkpoint x y) (assert (number? x)) (assert (number? y)) (make-_point_ x: x y: y)) (define point (case-lambda [(x y) (mkpoint x: x y: y)] [(a b c d) (assert (or (and (eq? a 'x:) (eq? c 'y:)) (and (eq? a 'y:) (eq? c 'x:)))) (cond [(eq? a 'x:) (mkpoint b d)] [else (mkpoint d b)])])) (define make-point point) (define (point? p) (_point_? p)) (define (point-x p) (assert (point? p)) (_point_-x p)) (define (point-y p) (assert (point? p)) (_point_-y p)) (define empty-point (make-point x: -1 y: -1)) (define (point-x-set! p x) (make-point x: x y: (point-y p))) (define (point-y-set! p y) (make-point y: y x: (point-x p))) (define (point->alist p) (assert (point? p)) (list (cons 'x (point-x p)) (cons 'y (point-y p)))) (define (alist->point l) (assert (pair? l)) (make-point x: (cdr (assq 'x l)) y: (cdr (assq 'y l)))) ; SIZE ; Represents size of rectangle on a screen. SIZE consists of two ; values - WIDTH (number) and HEIGHT (number). (defstruct size width height) (define empty-size |
︙ | ︙ |
Changes to sources/libraries/tui/tests/primitives-tests.scm.
1 2 3 | ; ; PRIMITIVES-TESTS ; Test for PRIMITIVES module. | | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ; ; PRIMITIVES-TESTS ; Test for PRIMITIVES module. ; HISTORY ; 03.11.2011 vasalvit ; First version. ; 08.11.2011 vasalvit ; Minor bugs fixing. (require-extension srfi-78) (load "primitives.scm") ; POINT tests (let* ( (a (make-point x: 30 y: 20)) (b (make-point x: 30 y: 40)) |
︙ | ︙ | |||
46 47 48 49 50 51 52 | (check b => (alist->size l)) (check-report) ) ; RECT tests (let* ( (pa (make-point x: 30 y: 20)) | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | (check b => (alist->size l)) (check-report) ) ; RECT tests (let* ( (pa (make-point x: 30 y: 20)) (pb (make-point x: 30 y: 40)) (sa (make-size width: 300 height: 200)) (sb (make-size width: 300 height: 400)) (a (make-rect origin: pa size: sa)) (b (make-rect origin: pa size: sb)) (c (make-rect origin: pb size: sb)) (l '((origin . ((x . 30) (y . 20))) (size . ((width . 300) (height . 400))))) (== equal?) |
︙ | ︙ |