1 /* $Id: test3.c,v 1.3 2002/05/01 15:47:32 amai Exp $ */
2
3 #include <stdio.h>
4 #include <stdlib.h>
5
6 #include <Xm/BulletinBP.h>
7 #include <Xm/DrawnBP.h>
8 #include <Xm/DrawP.h>
9
10 #include "../../common/Test.h"
11
12
13 #ifndef Prim_BottomShadowGC
14 #define Prim_BottomShadowGC(w) \
15 (((XmPrimitiveWidget)(w))->primitive.bottom_shadow_GC)
16 #endif
17
18 #ifndef Prim_TopShadowGC
19 #define Prim_TopShadowGC(w) \
20 (((XmPrimitiveWidget)(w))->primitive.top_shadow_GC)
21 #endif
22
23 #ifndef MGR_BackgroundGC
24 #define MGR_BackgroundGC(w) \
25 (((XmManagerWidget)(w))->manager.background_GC)
26 #endif
27
28 void
onExpose(Widget w,XtPointer udata,XtPointer cdata)29 onExpose(Widget w, XtPointer udata, XtPointer cdata)
30 {
31 Widget mgr = (Widget) udata;
32
33 /* draw into window */
34 XmeDrawArrow(XtDisplay(w),
35 XtWindow(w),
36 Prim_BottomShadowGC(w), /* bottom gc */
37 Prim_TopShadowGC(w), /* top gc */
38 MGR_BackgroundGC(mgr), /* fill gc */
39 5, 5, 21, 22, 1, XmARROW_DOWN);
40 }
41
42 int
main(int argc,char ** argv)43 main(int argc, char **argv)
44 {
45 Widget toplevel, widget, bb, list;
46 XtAppContext app;
47 XmString item;
48 Arg args[10];
49 int n = 0;
50
51 XtSetLanguageProc(NULL, NULL, NULL);
52
53 toplevel = XtVaAppInitialize(&app, "ComBox", NULL, 0, &argc, argv, NULL, NULL);
54
55 bb = XmCreateBulletinBoard(toplevel, "bb", NULL, 0);
56 XtManageChild(bb);
57
58 XtSetArg(args[n], XmNwidth, 100); n++;
59 XtSetArg(args[n], XmNheight, 100); n++;
60 widget = XmCreateDrawnButton(bb, "drawnButton", args, n);
61
62 XtAddCallback(widget, XmNexposeCallback, (XtCallbackProc) onExpose,
63 (XtPointer)bb);
64
65 XtManageChild(widget);
66
67 XtRealizeWidget(toplevel);
68
69 LessTifTestMainLoop(toplevel);
70
71 exit(0);
72 }
73
74