]> git.donarmstrong.com Git - lilypond.git/blob - scm/framework-gnome.scm
*** empty log message ***
[lilypond.git] / scm / framework-gnome.scm
1 ;;;; framework-gnome.scm --
2 ;;;;
3 ;;;;  source file of the GNU LilyPond music typesetter
4 ;;;; 
5 ;;;; (c)  2004 Jan Nieuwenhuizen <janneke@gnu.org>
6
7 (define-module (scm framework-gnome))
8 (use-modules (guile) (lily))
9
10 (use-modules 
11  (gnome gtk)
12  (gnome gtk gdk-event))
13  
14 ;; the name of the module will change to canvas rsn
15 (if (resolve-module '(gnome gw canvas))
16     (use-modules (gnome gw canvas))
17     (use-modules (gnome gw libgnomecanvas)))
18
19 (define-public (output-framework-gnome outputter book scopes fields basename)
20   (let* ((bookpaper (ly:paper-book-book-paper book))
21          (pages (list->vector (ly:paper-book-pages book))))
22
23     ;; yay, it works
24     ;; TODO: goops class instance with
25     ;;  - main-window?
26     ;;  - main-scrolled window
27     ;;  - canvas
28     ;;  - page-number
29     ;;  - pixels-per-unit (or can get from canvas?)
30     ;;  - text-items list
31     ;;  - item-locations hashmap
32     
33     ;; give that as first argument to all outputter/stencil functions?
34     ;; 
35     (let* ((window (make <gtk-window> #:type 'toplevel)))
36       (write window))
37     
38     (ly:outputter-dump-stencil
39      outputter
40      (ly:make-stencil (list 'main outputter bookpaper pages)
41                       '(0 . 0) '(0 . 0)))))
42