[cells-cvs] CVS Celtk/gears

ktilton ktilton at common-lisp.net
Wed Jun 7 22:13:42 UTC 2006


Update of /project/cells/cvsroot/Celtk/gears
In directory clnet:/tmp/cvs-serv13881/gears

Modified Files:
	gears.lisp 
Log Message:
Resurrect under Lispworks

--- /project/cells/cvsroot/Celtk/gears/gears.lisp	2006/05/26 17:50:36	1.1
+++ /project/cells/cvsroot/Celtk/gears/gears.lisp	2006/06/07 22:13:41	1.2
@@ -35,10 +35,10 @@
                (mk-stack (:packing (c?pack-self "-side left -fill both"))
                  (mk-label :text "Click and drag to rotate image")
                  (mk-row ()
-                         (mk-label :text "Spin delay (ms):")
-                         (mk-entry :id :vtime
-                           :md-value (c-in "10"))
-                         (mk-button-ex (" Quit " (tk-eval "destroy ."))))
+                   (mk-label :text "Spin delay (ms):")
+                   (mk-entry :id :vtime
+                     :md-value (c-in "100"))
+                   (mk-button-ex (" Quit " (tk-eval "destroy ."))))
                  (make-instance 'gears
                    :fm-parent *parent*
                    :width 400 :height 400
@@ -46,12 +46,15 @@
                                          (format nil "~a" (max 1 (or (parse-integer n$ :junk-allowed t) 0)))))
                    :double 1 ;; "yes"
                    :event-handler (c? (lambda (self xe)
+                                        (trc nil "togl event" (tk-event-type (xsv type xe)))
                                         (case (tk-event-type (xsv type xe))
                                           (:virtualevent
-                                           (trc "canvas virtual" (xsv name xe)))
+                                           (trc nil "canvas virtual" (xsv name xe)))
                                           (:buttonpress
+                                           #+not (RotStart self (xsv x xe) (xsv y xe))
                                            (RotStart self (xsv x-root xe) (xsv y-root xe)))
                                           (:motionnotify
+                                           #+not (RotMove self (xsv x xe) (xsv y xe))
                                            (RotMove self (xsv x-root xe) (xsv y-root xe)))
                                           (:buttonrelease
                                            (setf *startx* nil)))))))))))
@@ -64,10 +67,12 @@
 
 (defun RotMove (self x y)
   (when *startx*
+    (trc nil "rotmove started" x *startx* *xangle0*)
     (setf *xangle* (+ *xangle0* (- x *startx*)))
     (setf *yangle* (+ *yangle0* (- y *starty*)))
     (setf (rotx self) *xangle*)
-    (setf (roty self) *yangle*)))
+    (setf (roty self) *yangle*)
+    (togl-post-redisplay (togl-ptr self))))
 
 (defconstant +pif+ (coerce pi 'single-float))
 
@@ -76,7 +81,7 @@
    (roty :initform (c-in 25) :accessor roty :initarg :roty)
    (rotz :initform (c-in 10) :accessor rotz :initarg :rotz)
    (gear1 :initarg :gear1 :accessor gear1
-     :initform (c_? (trc "making list!!!!! 1")
+     :initform (c_? (trc nil "making list!!!!! 1")
                  (let ((dl (gl:gen-lists 1)))
                    (gl:with-new-list (dl :compile)
                      (gl:material :front :ambient-and-diffuse #(0.8 0.1 0.0 1.0))
@@ -105,7 +110,7 @@
 (defmethod togl-timer-using-class ((self gears))
   (trc nil "enter gear timer" self (togl-ptr self) (get-internal-real-time))
   (incf (^angle) 5.0)
-  (Togl_PostRedisplay (togl-ptr self))
+  (togl-post-redisplay (togl-ptr self))
   ;(loop until (zerop (ctk::Tcl_DoOneEvent 2)))
   )
 
@@ -117,14 +122,14 @@
   (truc self))
 
 (defmethod togl-reshape-using-class ((self gears)) 
-  (trc "reshape")
+  (trc nil "reshape")
   (truc self t)
   )
 
 (defun truc (self &optional truly)
-  (let ((width (Togl_width (togl-ptr self)))
-        (height (Togl_height (togl-ptr self))))
-    (trc "enter gear reshape" self width (width self))
+  (let ((width (Togl-width (togl-ptr self)))
+        (height (Togl-height (togl-ptr self))))
+    (trc nil "enter gear reshape" self width (width self))
     (gl:viewport 0 (- height (height self)) (width self) (height self))
     (unless truly
       (gl:matrix-mode :projection)
@@ -139,7 +144,7 @@
 
 (defmethod togl-display-using-class ((self gears) &aux (scale (scale (upper self gears-demo))))
   (declare (ignorable scale))
-  
+  (trc nil "display angle" (^rotx)(^roty)(^rotz))
   (gl:clear-color 0 0 0 1)
   (gl:clear :color-buffer-bit :depth-buffer-bit)
   
@@ -163,7 +168,7 @@
       (gl:rotate (- (* -2 (^angle)) 25) 0 0 1)
       (gl:call-list (^gear3))))
   
-  (Togl_SwapBuffers (togl-ptr self))
+  (Togl-Swap-Buffers (togl-ptr self))
   
   #+shhh (print-frame-rate self))
 




More information about the Cells-cvs mailing list