home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / x / xscm105.zip / xscm / xt.h < prev    next >
C/C++ Source or Header  |  1992-08-29  |  1KB  |  41 lines

  1. /*
  2.  * $Header: /home/campbell/Languages/Scheme/scm/x-scm/RCS/xt.h,v 1.3 1992/07/23 11:33:22 campbell Beta $
  3.  *
  4.  * Author: Larry Campbell (campbell@redsox.bsw.com)
  5.  *
  6.  * Copyright 1992 by The Boston Software Works, Inc.
  7.  * Permission to use for any purpose whatsoever granted, as long
  8.  * as this copyright notice remains intact.  Please send bug fixes
  9.  * or enhancements to the above email address.
  10.  *
  11.  * X Toolkit interface for scm - common definitions
  12.  */
  13.  
  14. typedef struct {
  15.     char    *wc_name;
  16.     WidgetClass    *wc_class;
  17. } xt_widget_class_t;
  18.  
  19. #define WIDGETP(x) (TYP16(x) == tc16_widget)
  20. #define WIDGET(x) ((Widget) CDR(x))
  21. #define WIDGETCLASSP(x) (TYP16(x) == tc16_widget_class)
  22. #define WIDGETCLASS(x) ((WidgetClass) CDR(x))
  23. #ifdef MOTIF
  24. #define XMSTRINGP(x) (TYP16(x) == tc16_xmstring)
  25. #define XMSTRING(x) ((XmString) CDR(x))
  26. #define XMSTRINGTABLEP(x) (TYP16(x) == tc16_xmstringtable)
  27. #define XMSTRINGTABLE(x) ((XmStringTable) CDR(x))
  28. #define XMSTRINGTABLE_LENGTH(x) (CAR(x)>>16)
  29. #define SET_XMSTRINGTABLE_LENGTH(x,v,t) CAR(x) = ((v)<<16)+t
  30. #endif /* MOTIF */
  31.  
  32. extern SCM     make_widget();
  33. extern SCM     make_widget_class();
  34. extern void     xt_init_widget_classes();
  35.  
  36. extern long     tc16_widget;
  37. #ifdef MOTIF
  38. extern long     tc16_xmstring;
  39. extern long     tc16_xmstringtable;
  40. #endif
  41.