00001 #ifndef MAT300API_H
00002 #define MAT300API_H
00003
00009 #ifndef IntPointStruct
00010 #define IntPointStruct
00011
00016 struct IntPoint
00017 {
00018 int x , y ;
00022 IntPoint() : x(0), y(0) { };
00025 IntPoint(int X, int Y) : x(X), y(Y) { };
00026 };
00027 #endif
00028
00037 struct MAT300API
00038 {
00041 unsigned (*GetInputPointCount)();
00044 IntPoint* (*GetInputPoints)();
00047 bool (*IsPointMoving)();
00051 int (*GetMovingPointIndex)();
00057 void (*SetMaxPoints)(unsigned Max);
00060 unsigned (*GetMaxPoints)();
00061
00068 unsigned (*GetNumberCalcPoints)();
00073 unsigned (*GetNumDisplayedShell)();
00079 unsigned (*GetNumNestingLevels)();
00084 unsigned (*GetNumDegree)();
00087 bool (*GetDisplayShells)();
00090 bool (*GetUseEndpointContinuity)();
00093 int (*GetKnotSequenceCount)();
00099 int* (*GetKnotSequence)();
00106 void (*SetMaxCalcPoints)(int Max);
00112 void (*SetCurNestingLevels)(int Current);
00113
00118 void (*SetLineColor)(unsigned char Red, unsigned char Green, unsigned char Blue);
00123 void (*SetFillColor)(unsigned char Red, unsigned char Green, unsigned char Blue);
00128 void (*SetBackgroundColor)(unsigned char Red, unsigned char Green, unsigned char Blue);
00133 void (*GetBackgroundColor)(unsigned char* Red, unsigned char* Green, unsigned char* Blue);
00134
00138 void (*DrawPoint)(int X, int Y);
00144 void (*DrawLine)(int X1, int Y1, int X2, int Y2);
00152 void (*DrawLines)(IntPoint* Points, unsigned Count);
00155 void (*SetWindowTitle)(const char* Title);
00158 void (*SetUserPointDrawRadius)(unsigned radius);
00161 void (*SetInputPointDrawRadius)(unsigned radius);
00165 void (*SetInputPointPickRadius)(unsigned radius);
00170 void (*SetInputPointFillColor)(unsigned char Red, unsigned char Green, unsigned char Blue);
00175 void (*SetInputPointOutlineColor)(unsigned char Red, unsigned char Green, unsigned char Blue);
00180 void (*SetInputLineColor)(unsigned char Red, unsigned char Green, unsigned char Blue);
00187 void (*DrawText)(char* Text, int XPos, int YPos);
00192 void (*DebugMessage)(char *format, ...);
00193 };
00194
00195 #endif