CLIM mail archive

[Prev][Next][Index][Thread]

Transformations and graphs



    Date: Thu, 23 Jul 1992 23:20 EDT
    From: Randy Coulman <coulman@skdad.usask.ca>


    I'm trying to apply transformations to graphs that are created with 
    format-graph-from-root.  What happens is any text (node labels, for example)
    do not get transformed, but everything else does (arcs, borders created with
    surrounding-output-with-borders, etc.).  Should it work?

CLIM 1.1 does not support transformation of text.

I believe all ports of CLIM 2.0 will support transformation of the
baseline of the text (that is, where the glyphs get drawn), but will
probably not support general transformations of the glyphs themselves.
Transformation of glyphs by 90-degree rotations might work.

    I'm using Allegro CL 4.1 with CLIM 1.1 on a Sparc 1+.  Here's a test program,
    loosely based on the example in the manual:


    (in-package :clim-user)

    (defstruct node
      (name "")
      (children '())
      )

    (defvar g1 (let* ((2a (make-node :name "2A"))
		      (2b (make-node :name "2B"))
		      (2c (make-node :name "2C"))
		      (1a (make-node :name "1A" :children (list 2a 2b)))
		      (1b (make-node :name "1B" :children (list 2b 2c))))
		 (make-node :name "0" :children (list 1a 1b))))

    (define-application-frame test ()
      ((root :accessor frame-root
	     :initform g1))
      (:panes ((display :application
			:display-function 'test-graph)
	       (menu :command-menu)) )
      )

    (define-test-command (exit :menu t)
	()
      (frame-exit *application-frame*)
      )

    (defmethod test-graph ((frame test) stream)
      (let ((root (frame-root frame)) )
	(with-translation (stream 100 100)
	  (format-graph-from-root 
	   root
	   #'(lambda (node s)
	       (write-string (node-name node) s))
	   #'node-children
	   :stream stream)
	  )
	))
			    
    When this example is run, the arcs of the graph are translated, while the 
    node labels stay in the upper left corner.

    Any ideas?

    Thanks,
    Randy

    -- 
    Randy A. Coulman                |       ARIES Laboratory
				    |       Department of Computational Science
    coulman@cs.Usask.ca             |       University of Saskatchewan
				    |       Saskatoon, SK   S7N 0W0             


References:

Main Index | Thread Index