File: xt.h

package info (click to toggle)
elk 3.0-8.1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 4,088 kB
  • ctags: 3,115
  • sloc: ansic: 20,686; lisp: 5,232; makefile: 411; awk: 91; sh: 19
file content (119 lines) | stat: -rw-r--r-- 3,780 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include "xlib.h"

#define Object FOO
#  include <X11/Intrinsic.h>
#  include <X11/Core.h>
#  include <X11/StringDefs.h>
#undef Object

#if XtSpecificationRelease < 4
 #error "Xt Release 3 or earlier no longer supported"
#endif

#if XtSpecificationRelease >= 5
#  define XT_RELEASE_5_OR_LATER
#endif

#if XtSpecificationRelease >= 6
#  define XT_RELEASE_6_OR_LATER
#endif

typedef XtArgVal (*PFS2X) P_((Object));
typedef Object (*PFX2S) P_((XtArgVal));

extern int T_Context;
extern int T_Class;
extern int T_Widget;
extern int T_Identifier;

#define CONTEXT(x)	((struct S_Context *)POINTER(x))
#define CLASS(x)	((struct S_Class *)POINTER(x))
#define WIDGET(x)	((struct S_Widget *)POINTER(x))
#define IDENTIFIER(x)   ((struct S_Identifier *)POINTER(x))

struct S_Context {
    Object tag;
    XtAppContext context;
    char free;
};

struct S_Class {
    Object tag;
    WidgetClass wclass;
    char *name;
};

struct S_Widget {
    Object tag;
    Widget widget;
    char free;
};

struct S_Identifier {
    Object tag;
    char type;
    XtPointer val;
    int num;
    char free;
};

extern WidgetClass widgetClass;    /* The `core' class */
extern WidgetClass constraintWidgetClass;
extern WidgetClass compositeWidgetClass;

C_LINKAGE_BEGIN

extern void Check_Callback_List P_((Object));
extern void Check_Context P_((Object));
extern void Check_Widget P_((Object));
extern void Check_Widget_Class P_((Object, WidgetClass));
extern void Convert_Args P_((int, Object*, ArgList, Widget, WidgetClass));
extern void Define_Callback P_((char*, char*, int));
extern void Define_Class
    P_((char *, WidgetClass, XtResourceList, int));
extern void Define_Converter_To_C P_((char*, PFS2X));
extern void Define_Converter_To_Scheme P_((char*, PFX2S));
extern void Fiddle_Destroy_Callback P_((Widget));
extern void Fill_Callbacks P_((Object, XtCallbackList, int, PFX2S));
extern void Free_Actions P_((XtAppContext));
extern void Get_All_Resources
    P_((int, Widget, WidgetClass, XtResource**, int*, int*));
extern void Make_Resource_Name P_((char*));
extern int Match_Xt_Obj P_((ELLIPSIS));
extern Object Get_Callbackfun P_((XtPointer));
extern Object Get_Function P_((int));
extern Object Get_Resources
    P_((WidgetClass, void (*)(WidgetClass, XtResourceList*, Cardinal*), int));
extern Object Get_Values P_((Widget, int, Object*));
extern Object Make_Class P_((WidgetClass, char*));
extern Object Make_Context P_((XtAppContext));
extern Object Make_Context_Foreign P_((XtAppContext));
extern Object Make_Id P_((int, XtPointer, int));
extern Object Make_Widget P_((Widget));
extern Object Make_Widget_Foreign P_((Widget));
extern Object Make_Widget_Class P_((WidgetClass));
extern PFX2S Find_Callback_Converter P_((WidgetClass, char*, Object));
extern PFX2S Find_Converter_To_Scheme P_((char*));
extern PFS2X Find_Converter_To_C P_((char*));
extern int Register_Function P_((Object));
extern void Deregister_Function P_((int));
extern XtAccelerators Get_Accelerators P_((Object));
extern XtTranslations Get_Translations P_((Object));
extern XtPointer Use_Id P_((Object, int));
extern void Xt_Warning P_((char*));
extern char *Class_Name P_((WidgetClass));
extern void Action_Hook P_((Widget, XtPointer, char*, XEvent*, char**, int*));
extern void Destroy_Callback_Proc P_((Widget, XtPointer, XtPointer));
extern void Get_Sub_Resource_List P_((WidgetClass, XtResourceList*, Cardinal*));
extern Object Xt_Class_Name P_((WidgetClass));
extern Object Get_Selection_CB P_((ELLIPSIS));    /* xm/support.d */
extern Object Get_Any_CB P_((ELLIPSIS));          /* xm/support.d */

C_LINKAGE_END

#define Encode_Arglist(ac,av,to,widget,class) {\
    Alloca (to, Arg*, ((ac)+1)/2 * sizeof (Arg));\
    Convert_Args (ac, av, to, widget, class);\
}

#define streq(a,b) (strcmp ((a), (b)) == 0)