home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / elk-2_0.lha / elk-2.0 / lib / xaw / scrollbar.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-11-22  |  1.4 KB  |  43 lines

  1. #include "../xt/xt.h"
  2. #include <X11/Xaw/Scrollbar.h>
  3.  
  4. static SYMDESCR Orientation_Syms[] = {
  5.     { "horizontal",  XtorientHorizontal },
  6.     { "vertical",    XtorientVertical },
  7.     { 0, 0 }
  8. };
  9.  
  10. static XtArgVal C_Scrollbar_Orientation (x) Object x; {
  11.    return (XtArgVal)Symbols_To_Bits (x, 0, Orientation_Syms);
  12. }
  13.  
  14. static Object S_Scrollbar_Orientation (x) XtArgVal x; {
  15.    return Bits_To_Symbols ((unsigned long)x, 0, Orientation_Syms);
  16. }
  17.  
  18. static Object S_Scrollbar_ScrollProc (x) XtArgVal x; {
  19.     return Make_Integer ((int)x);
  20. }
  21.  
  22. static Object S_Scrollbar_JumpProc (x) XtArgVal x; {
  23.     return Make_Reduced_Flonum ((double)*(float *)x);
  24. }
  25.  
  26. static Object P_Scrollbar_Set_Thumb (w, t, s) Object w, t, s; {
  27.    Check_Widget_Class (w, scrollbarWidgetClass);
  28.     XawScrollbarSetThumb (WIDGET(w)->widget, Get_Double (t), Get_Double (s));
  29.     return Void;
  30. }
  31.  
  32. init_scrollbar () {
  33.     XtResourceList r = 0;
  34.     Define_Class ("scrollbar", scrollbarWidgetClass, r, 0);
  35.     Define_Callback ("scrollbar", "jumpProc", 1);
  36.     Define_Callback ("scrollbar", "scrollProc", 1);
  37.     Define_Primitive (P_Scrollbar_Set_Thumb, "scrollbar-set-thumb!", 3, 3, EVAL);
  38.     Define_Converter_To_Scheme ("scrollbar-jumpProc", S_Scrollbar_JumpProc);
  39.     Define_Converter_To_Scheme ("scrollbar-scrollProc", S_Scrollbar_ScrollProc);
  40.     Define_Converter_To_Scheme ("scrollbar-orientation", S_Scrollbar_Orientation);
  41.     Define_Converter_To_C ("scrollbar-orientation", C_Scrollbar_Orientation);
  42. }
  43.