2#ifndef _sigc_eventtraits_h_
3#define _sigc_eventtraits_h_
10#define MAKE_EVENTTRAIT_1_OPEN(ID,GETYPE,VCMP,GCMP) \
15 typedef GETYPE ge_type;\
18 static const T_vcmp EN1;\
19 static const T_gcmp GN1;\
20 static const char* const signame;\
21 static T_gcmp Field(GdkEvent* eve);\
24#define MAKE_EVENTTRAIT_2_OPEN(ID,GETYPE,VCMP,GCMP) \
29 typedef GETYPE ge_type;\
32 static const T_vcmp EN1;\
33 static const T_gcmp GN1;\
34 static const T_vcmp EN2;\
35 static const T_gcmp GN2;\
36 static const char* const signame;\
37 static T_gcmp Field(GdkEvent* eve);\
40#define MAKE_EVENTTRAIT_3_OPEN(ID,GETYPE,VCMP,GCMP) \
45 typedef GETYPE ge_type;\
48 static const T_vcmp EN1;\
49 static const T_gcmp GN1;\
50 static const T_vcmp EN2;\
51 static const T_gcmp GN2;\
52 static const T_vcmp EN3;\
53 static const T_gcmp GN3;\
54 static const char* const signame;\
55 static T_gcmp Field(GdkEvent* eve);\
61#define MAKE_EVENTTRAIT_CLOSE_DEFAULT(ID) \
63W2_Trait<ID>::T_gcmp W2_Trait<ID>::Field(GdkEvent* eve){return eve->type;}
67MAKE_EVENTTRAIT_3_OPEN(BUTTON_PRESS,GdkEventButton,VDKButtonEventFilter,GdkEventType)
68MAKE_EVENTTRAIT_CLOSE_DEFAULT(BUTTON_PRESS)
71MAKE_EVENTTRAIT_1_OPEN(BUTTON_RELEASE,GdkEventButton,VDKButtonEventFilter,\
73MAKE_EVENTTRAIT_CLOSE_DEFAULT(BUTTON_RELEASE)
76MAKE_EVENTTRAIT_1_OPEN(FOCUS_KEY_IN, GdkEventFocus, VDKFocusEventFilter,\
80W2_Trait<FOCUS_KEY_IN>::Field(GdkEvent* eve)
81{
return reinterpret_cast<GdkEventFocus*
>(eve)->in;}
85MAKE_EVENTTRAIT_1_OPEN(FOCUS_KEY_OUT, GdkEventFocus, VDKFocusEventFilter,\
89W2_Trait<FOCUS_KEY_OUT>::Field(GdkEvent* eve)
90{
return reinterpret_cast<GdkEventFocus*
>(eve)->in;}
94MAKE_EVENTTRAIT_1_OPEN(FOCUS_POINTER_IN,GdkEventCrossing,VDKFocusEventFilter,\
96MAKE_EVENTTRAIT_CLOSE_DEFAULT(FOCUS_POINTER_IN)
100MAKE_EVENTTRAIT_1_OPEN(FOCUS_POINTER_OUT,GdkEventCrossing,VDKFocusEventFilter,\
102MAKE_EVENTTRAIT_CLOSE_DEFAULT(FOCUS_POINTER_OUT)
105MAKE_EVENTTRAIT_1_OPEN(GEOMETRY,GdkEventConfigure,
int,
int)
109MAKE_EVENTTRAIT_1_OPEN(PAINT,GdkEventExpose,
int,
int)
113MAKE_EVENTTRAIT_1_OPEN(KEY_PRESS,GdkEventKey,VDKKeyEventFilter,\
116MAKE_EVENTTRAIT_CLOSE_DEFAULT(KEY_PRESS)
119MAKE_EVENTTRAIT_1_OPEN(KEY_RELEASE,GdkEventKey,VDKKeyEventFilter,\
122MAKE_EVENTTRAIT_CLOSE_DEFAULT(KEY_RELEASE)
125MAKE_EVENTTRAIT_1_OPEN(POINTER_PRESSED,GdkEventMotion,VDKPointerEventFilter,\
129W2_Trait<POINTER_PRESSED>::Field(GdkEvent* eve)
130{
return (
reinterpret_cast<GdkEventMotion*
>(eve)->state != 0);}
133MAKE_EVENTTRAIT_1_OPEN(POINTER_MOVE,GdkEventMotion,VDKPointerEventFilter,\
137W2_Trait<POINTER_MOVE>::Field(GdkEvent* eve)
151class W2_Trait<MAPEVENT>
154 typedef GdkEventVisibility ge_type;
155 typedef VDKMapEventFilter T_vcmp;
157 static const char*
const signame;
158 static const T_vcmp EN1;
159 static const int GN1;
160 static const T_vcmp EN2;
161 static const int GN2;
162 static const T_vcmp EN3;
163 static const int GN3;
164 static int Field(GdkEvent* eve);