00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef __GphGraph_h
00043 #define __GphGraph_h
00044
00045 #ifndef EXTERN
00046 #ifdef _DVS_
00047 #define EXTERN
00048 #else
00049 #define EXTERN extern
00050 #endif
00051 #endif
00052
00053 #include <stdio.h>
00054
00055 #ifdef __UNIX_
00056 #include <X11/Xlib.h>
00057 #include <X11/Xutil.h>
00058 #include <X11/cursorfont.h>
00059 #include <X11/Xresource.h>
00060 #endif
00061
00062 #ifndef __double_real
00063 #define __double_real
00064 typedef double real;
00065 #endif
00066 #ifndef __double_vector
00067 #define __double_vector
00068 typedef real vector[4];
00069 #endif
00070
00071 #ifdef __UNIX_
00072 #define DASHED_LINE 0
00073 #define SOLID_LINE 1
00074 #endif
00075
00076 EXTERN vector windbox;
00077 EXTERN vector dwindbox;
00078 EXTERN double releps;
00079
00080 #ifdef BLACK
00081 #undef BLACK
00082 #endif
00083 #define BLACK 0
00084 #ifdef RED
00085 #undef RED
00086 #endif
00087 #define RED 4
00088 #ifdef GREEN
00089 #undef GREEN
00090 #endif
00091 #define GREEN 2
00092 #ifdef BLUE
00093 #undef BLUE
00094 #endif
00095 #define BLUE 1
00096 #ifdef YELLOW
00097 #undef YELLOW
00098 #endif
00099 #define YELLOW 14
00100 #ifdef CYAN
00101 #undef CYAN
00102 #endif
00103 #define CYAN 3
00104 #ifdef MAGENTA
00105 #undef MAGENTA
00106 #endif
00107 #define MAGENTA 5
00108 #ifdef WHITE
00109 #undef WHITE
00110 #endif
00111 #define WHITE 15
00112 #define MAX_COLOR 15
00113
00114 #ifndef __SUIT_
00115
00116 #define GENERIC_MAT_FILE "generic#.mat"
00117 #define GENERIC_GIF_FILE "generic#.gif"
00118 #define GENERIC_PS_FILE "generic#.ps"
00119
00120
00121 #define NORMAL_DEFAULT_LENGTH 10
00122 #define NORMAL_SCALER_LENGTH 100
00123
00124 #define DEFAULT_COLOR 1
00125
00126 #define VIEW_PERSPECTIVE 1
00127 #define VIEW_ORTHOGRAPHIC 2
00128 #define DEFAULT_PERSPECTIVE_Z -5.0
00129
00130 #define TRANS_SCREEN 1
00131 #define TRANS_OBJECT 2
00132
00133 #define DEFAULT_NUM_OF_ISOLINES 10
00134 #define DEFAULT_SAMPLES_PER_CURVE 6
00135 #define LINE_LEN_LONG 256
00136
00137 typedef enum
00138 {
00139 EVENT_NONE,
00140 EVENT_QUIT,
00141 EVENT_SCR_OBJ_TGL,
00142 EVENT_PERS_ORTHO_TGL,
00143 EVENT_PERS_ORTHO_Z,
00144 EVENT_ROTATE_X,
00145 EVENT_ROTATE_Y,
00146 EVENT_ROTATE_Z,
00147 EVENT_TRANSLATE_X,
00148 EVENT_TRANSLATE_Y,
00149 EVENT_TRANSLATE_Z,
00150 EVENT_SCALE,
00151 EVENT_DEPTH_CUE,
00152 EVENT_DRAW_SOLID,
00153 EVENT_SAVE_MATRIX,
00154 EVENT_SAVE_GIF,
00155 EVENT_SAVE_PS,
00156 EVENT_RESET_MATRIX
00157 } GraphicEventType;
00158
00159 EXTERN int
00160 GlblDoGraphics,
00161 GlblTransformMode,
00162 GlblViewMode,
00163 GlblDepthCue;
00164
00165
00166 void MSD_execClear(void);
00167 void MSD_lowClearWindow(void);
00168
00169
00170 void MSD_execPrint(void);
00171 void MSD_highPrint(FILE *fptr, char *mens);
00172 void MSD_lowPrint(char *to, char *from);
00173
00174
00175 void MSD_execWindow(void);
00176
00177 int MSD_highWindow(real, real, real);
00178 char MSD_lowCheckWindow(real x, real y, real r);
00179
00180
00181 #ifdef __UNIX_
00182 int GGMapX(real x);
00183 int GGMapY(real y);
00184 void GGMyMove(real x, real y);
00185 void GGMyDraw(real x, real y);
00186 void GGMySetLineStyle(int Style);
00187 void GGMySetColor(int color);
00188 void GGInitGraph(int argc, char **argv, int FullTransMode, int TransAlways);
00189 void GGCloseGraph(void);
00190 void GGPutMsgXY(char *s, real x, real y);
00191 void GGClearViewArea(void);
00192 void GGTone(int Frequency, int Duration);
00193 char *ReadOneXDefault(char *Entry);
00194 void ReadXDefaults(void);
00195 void SetTransformWindow(int argc, char **argv);
00196 void RedrawTransformWindow(void);
00197 Window SetTransformSubWindow(int SubTransPosX, int SubTransPosY,
00198 unsigned int SubTransWidth, unsigned int SubTransHeight);
00199 void RedrawTransformSubWindow(Window Win, int SubTransPosX, int SubTransPosY,
00200 unsigned int SubTransWidth, unsigned int SubTransHeight,
00201 int DrawMiddleVertLine, char *DrawString);
00202 void SetViewWindow(int argc, char **argv);
00203 long GGGetViewWindowID(long *XDisplayAddr, long *XColorMapID);
00204 int GGIsAbortKeyPressed(void);
00205 void GGGraphicFlush(void);
00206 GraphicEventType GGGetGraphicEvent(real *ChangeFactor);
00207 void DrawText(Window Win, char *Str, int PosX, int PosY, unsigned long Color);
00208
00209 #endif
00210
00211 #ifdef _Windows
00212 #define SOLID_LINE PS_SOLID
00213 #define DASHED_LINE PS_DASH
00214 #endif
00215
00216 #endif
00217 #endif