1 
2 /*-
3 # X-BASED RUBIK'S CUBE(tm)
4 #
5 #  Rubik.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 Rubik */
28 
29 #ifndef _XtRubik_h
30 #define _XtRubik_h
31 
32 /***********************************************************************
33  *
34  * Rubik Widget
35  *
36  ***********************************************************************/
37 
38 #define XtNselectCallback "selectCallback"
39 #define XtNuserName "userName"
40 #define XtNsizex "sizex"
41 #define XtNsizey "sizey"
42 #define XtNsizez "sizez"
43 #define XtNorient "orient"
44 #define XtNmono "mono"
45 #define XtNreverse "reverse"
46 #define XtNface "face"
47 #define XtNpos "pos"
48 #define XtNdirection "direction"
49 #define XtNpractice "practice"
50 #define XtNstart "start"
51 #define XtNpieceBorder "pieceBorder"
52 #define XtNfaceColor0 "faceColor0"
53 #define XtNfaceColor1 "faceColor1"
54 #define XtNfaceColor2 "faceColor2"
55 #define XtNfaceColor3 "faceColor3"
56 #define XtNfaceColor4 "faceColor4"
57 #define XtNfaceColor5 "faceColor5"
58 #define XtCUserName "UserName"
59 #define XtCSizeX "SizeX"
60 #define XtCSizeY "SizeY"
61 #define XtCSizeZ "SizeZ"
62 #define XtCOrient "Orient"
63 #define XtCMono "Mono"
64 #define XtCReverse "Reverse"
65 #define XtCFace "Face"
66 #define XtCPos "Pos"
67 #define XtCDirection "Direction"
68 
69 #define RUBIK_RESTORE (-4)
70 #define RUBIK_RESET (-3)
71 #define RUBIK_ILLEGAL (-2)
72 #define RUBIK_IGNORE (-1)
73 #define RUBIK_MOVED 0
74 #define RUBIK_CONTROL 1
75 #define RUBIK_SOLVED 2
76 #define RUBIK_PRACTICE 3
77 #define RUBIK_RANDOMIZE 4
78 #define RUBIK_ORIENT 5
79 #define RUBIK_COMPUTED 6
80 #define RUBIK_UNDO 7
81 #define RUBIK_DECX 8
82 #define RUBIK_DECY 9
83 #define RUBIK_DECZ 10
84 #define RUBIK_INCX 11
85 #define RUBIK_INCY 12
86 #define RUBIK_INCZ 13
87 
88 typedef struct _RubikClassRec *RubikWidgetClass;
89 typedef struct _RubikRec *RubikWidget;
90 
91 extern WidgetClass rubikWidgetClass;
92 
93 typedef struct {
94 	XEvent     *event;
95 	int         reason;
96 	int         face, position, direction;
97 } rubikCallbackStruct;
98 
99 #endif /* _XtRubik_h */
100 /* DON'T ADD STUFF AFTER THIS #endif */
101