http://ftp.ksu.edu.tw/FTP/FreeBSD/distfiles/xscreensaver-4.23.tar.gz
[xscreensaver] / hacks / glx / gltrackball.h
index fbe2efddc1052d3362eb10480128448883092d62..966db04a688a8a8f469a2112b416119d76641351 100644 (file)
@@ -1,4 +1,4 @@
-/* gltrackball, Copyright (c) 2002 Jamie Zawinski <jwz@jwz.org>
+/* gltrackball, Copyright (c) 2002, 2005 Jamie Zawinski <jwz@jwz.org>
  * GL-flavored wrapper for trackball.c
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
@@ -37,5 +37,17 @@ extern void gltrackball_track (trackball_state *, int x, int y, int w, int h);
  */
 extern void gltrackball_rotate (trackball_state *);
 
+/* Call this when a mouse-wheel click is detected.
+   Clicks act like horizontal or vertical drags.
+   Percent is the length of the drag as a percentage of the screen size.
+   Button is 'Button4' or 'Button5'.
+ */
+void gltrackball_mousewheel (trackball_state *ts,
+                             int button, int percent, int horizontal_p);
+
+/* Return the quaternion encapsulated by the trackball state.
+ */
+extern void gltrackball_get_quaternion (trackball_state *ts, float q[4]);
+
 #endif /* __GLTRACKBALL_H__ */