38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
;; (defstruct vg:lib comps)
;; (defstruct vg:comp objs name file)
;; ;; extents caches extents calculated on draw
;; ;; proc is called on draw and takes the obj itself as a parameter
;; ;; attrib is an alist of parameters
;; (defstruct vg:obj type pts fill-color text line-color call-back angle font attrib extents proc)
;; (defstruct vg:inst libname compname theta xoff yoff scalex scaley mirrx mirry call-back cache)
;; (defstruct vg:drawing libs insts scalex scaley xoff yoff cnv cache) ;; libs: hash of name->lib, insts: hash of instname->inst
;; inits
;;
(define (vg:comp-new)
(make-vg:comp objs: '() name: #f file: #f))
(define (vg:lib-new)
|
|
>
|
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
;; (defstruct vg:lib comps)
;; (defstruct vg:comp objs name file)
;; ;; extents caches extents calculated on draw
;; ;; proc is called on draw and takes the obj itself as a parameter
;; ;; attrib is an alist of parameters
;; (defstruct vg:obj type pts fill-color text line-color call-back angle font attrib extents proc)
;; (defstruct vg:inst libname compname theta xoff yoff scalex scaley mirrx mirry call-back cache)
;; (defstruct vg:drawing libs insts scalex scaley xoff yoff cnv cache)
;; ;; libs: hash of name->lib, insts: hash of instname->inst
;; inits
;;
(define (vg:comp-new)
(make-vg:comp objs: '() name: #f file: #f))
(define (vg:lib-new)
|