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