1 
2 /*-
3 # X-BASED SKEWB
4 #
5 #  Skewb.h
6 #
7 ###
8 #
9 #  Copyright (c) 1994 - 99	David Albert Bagley, bagleyd@tux.org
10 #
11 #                   All Rights Reserved
12 #
13 #  Permission to use, copy, modify, and distribute this software and
14 #  its documentation for any purpose and without fee is hereby granted,
15 #  provided that the above copyright notice appear in all copies and
16 #  that both that copyright notice and this permission notice appear in
17 #  supporting documentation, and that the name of the author not be
18 #  used in advertising or publicity pertaining to distribution of the
19 #  software without specific, written prior permission.
20 #
21 #  This program is distributed in the hope that it will be "playable",
22 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
23 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
24 #
25 */
26 
27 /* Public header file for Skewb */
28 
29 #ifndef _XtSkewb_h
30 #define _XtSkewb_h
31 
32 /***********************************************************************
33  *
34  * Skewb Widget
35  *
36  ***********************************************************************/
37 
38 #define XtNselectCallback "selectCallback"
39 #define XtNuserName "userName"
40 #define XtNorient "orient"
41 #define XtNmono "mono"
42 #define XtNreverse "reverse"
43 #define XtNface "face"
44 #define XtNpos "position"
45 #define XtNdirection "direction"
46 #define XtNpractice "practice"
47 #define XtNstart "start"
48 #define XtNpieceBorder "pieceBorder"
49 #define XtNfaceColor0 "faceColor0"
50 #define XtNfaceColor1 "faceColor1"
51 #define XtNfaceColor2 "faceColor2"
52 #define XtNfaceColor3 "faceColor3"
53 #define XtNfaceColor4 "faceColor4"
54 #define XtNfaceColor5 "faceColor5"
55 #define XtCUserName "UserName"
56 #define XtCOrient "Orient"
57 #define XtCMono "Mono"
58 #define XtCReverse "Reverse"
59 #define XtCFace "Face"
60 #define XtCPos "Position"
61 #define XtCDirection "Direction"
62 
63 #define SKEWB_RESTORE (-4)
64 #define SKEWB_RESET (-3)
65 #define SKEWB_ILLEGAL (-1)
66 #define SKEWB_IGNORE (-1)
67 #define SKEWB_MOVED 0
68 #define SKEWB_CONTROL 1
69 #define SKEWB_SOLVED 2
70 #define SKEWB_PRACTICE 3
71 #define SKEWB_RANDOMIZE 4
72 #define SKEWB_DEC 5
73 #define SKEWB_ORIENT 6
74 #define SKEWB_INC 7
75 #define SKEWB_COMPUTED 8
76 #define SKEWB_UNDO 9
77 
78 typedef struct _SkewbClassRec *SkewbWidgetClass;
79 typedef struct _SkewbRec *SkewbWidget;
80 
81 extern WidgetClass skewbWidgetClass;
82 
83 typedef struct {
84 	XEvent     *event;
85 	int         reason;
86 	int         face, position, direction;
87 } skewbCallbackStruct;
88 
89 #endif /* _XtSkewb_h */
90 /* DON'T ADD STUFF AFTER THIS #endif */
91