1 /* $Id: test10.c,v 1.3 2002/05/01 15:47:31 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, 2, XmARROW_LEFT);
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