home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1998 November / Dppcpro1198.iso / Nov / Intelcad / Install / Data.Z / Sds.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-16  |  40.0 KB  |  940 lines

  1. /*********************************************************************/
  2. //*  Copyright (C) 1994,1995, 1996, 1997, 1998 by Visio Corporation   *
  3. /*********************************************************************/
  4. /***************************** K-POSS-A ******************************/
  5. /*********************************************************************/
  6.  
  7. #pragma once
  8. #pragma message( "Including " __FILE__ )
  9.  
  10. // Includes
  11. #include <stdlib.h>
  12.  
  13. #if defined(__cplusplus)
  14.     extern "C"
  15.     {
  16. #endif
  17.  
  18. /* The following defines are for compatibility only. */
  19. #define adsart(a)  short code=(a)
  20. #define _(a)       a
  21.  
  22. #if defined(SDS_MEMORY)
  23.     #define free    sds_free
  24.     #define malloc  sds_malloc
  25.     #define calloc  sds_calloc
  26.     #define realloc sds_realloc
  27. #endif
  28.  
  29. typedef double   sds_real;
  30. typedef sds_real sds_point[3];
  31. typedef long     sds_name[2];
  32. typedef sds_real sds_matrix[4][4];
  33. typedef sds_real *sds_pointp;
  34. typedef long     *sds_namep;
  35. typedef void     *sds_hdlg;
  36. typedef void     *sds_htile;
  37.  
  38. typedef struct {
  39.     sds_hdlg  dialog;
  40.     sds_htile tile;
  41.     char*     value;
  42.     void*     client_data;
  43.     int       reason;
  44.     long      x, y;
  45. } sds_callback_packet;
  46.  
  47. struct sds_binary {
  48.     short clen;
  49.     char *buf;
  50. };
  51.  
  52. union sds_u_val {
  53.    sds_real rreal;
  54.    sds_real rpoint[3];
  55.    short rint;
  56.    char *rstring;
  57.    long rlname[2];
  58.    long rlong;
  59.    struct sds_binary rbinary;
  60. };
  61.  
  62. struct sds_resbuf {
  63.     struct sds_resbuf *rbnext;
  64.     short restype;
  65.     union sds_u_val resval;
  66. };
  67.  
  68. struct sds_dobjll {
  69.     char         type;  
  70.     short        color; 
  71.     short        npts;  
  72.     sds_real    *chain; 
  73.     struct sds_dobjll *next;
  74. };
  75.  
  76. #define SDS_X             0
  77. #define SDS_Y             1
  78. #define SDS_Z             2
  79. #define SDS_T             3
  80.  
  81. #define SDS_TRUE          1
  82. #define SDS_FALSE         0
  83.  
  84. #define SDS_PAUSE         "\\"
  85.  
  86. #define SDS_RSG_NONULL    0x01
  87. #define SDS_RSG_NOZERO    0x02
  88. #define SDS_RSG_NONEG     0x04
  89. #define SDS_RSG_NOLIM     0x08
  90. #define SDS_RSG_GETZ      0x10
  91. #define SDS_RSG_DASH      0x20
  92. #define SDS_RSG_2D        0x40
  93. #define SDS_RSG_OTHER     0x80
  94. #define SDS_RSG_NOPMENU   0x100
  95. #define SDS_RSG_NOCANCEL  0x200
  96. #define SDS_RSG_NOVIEWCHG 0x400
  97. #define SDS_RSG_NODOCCHG  0x800
  98.  
  99. #define SDS_RQSAVE        14
  100. #define SDS_RQEND         15
  101. #define SDS_RQQUIT        16
  102. #define SDS_RQCFG         22
  103. #define SDS_RQXLOAD       100
  104. #define SDS_RQXUNLD       101
  105. #define SDS_RQSUBR        102
  106. #define SDS_RQHUP         105 
  107. #define SDS_RQXHELP       118
  108.  
  109. #define SDS_RSRSLT        1
  110. #define SDS_RSERR         3
  111. #define SDS_RTERROR       -5001
  112. #define SDS_RTCAN         -5002
  113. #define SDS_RTREJ         -5003
  114. #define SDS_RTFAIL        -5004
  115. #define SDS_RTKWORD       -5005
  116. #define SDS_RTNONE        5000
  117. #define SDS_RTREAL        5001
  118. #define SDS_RTPOINT       5002
  119. #define SDS_RTSHORT       5003
  120. #define SDS_RTANG         5004
  121. #define SDS_RTSTR         5005
  122. #define SDS_RTENAME       5006
  123. #define SDS_RTPICKS       5007
  124. #define SDS_RTORINT       5008
  125. #define SDS_RT3DPOINT     5009
  126. #define SDS_RTLONG        5010
  127. #define SDS_RTVOID        5014
  128. #define SDS_RTLB          5016
  129. #define SDS_RTLE          5017
  130. #define SDS_RTDOTE        5018
  131. #define SDS_RTNIL         5019
  132. #define SDS_RTDXF0        5020
  133. #define SDS_RTT           5021
  134. #define SDS_RTNORM        5100
  135. #define SDS_RTBINARY      5022
  136.  
  137. #define SDS_RTDRAGPT      5500
  138.  
  139. #define SDS_CBR_SELECT       1
  140. #define SDS_CBR_LOST_FOCUS   2
  141. #define SDS_CBR_DRAG         3
  142. #define SDS_CBR_DOUBLE_CLICK 4
  143.  
  144. #define SDS_DLGALLDONE   -1
  145. #define SDS_DLGCANCEL     0
  146. #define SDS_DLGOK         1
  147. #define SDS_DLGSTATUS     2
  148.  
  149. #define SDS_BGLCOLOR      -2
  150. #define SDS_DBGLCOLOR     -15
  151. #define SDS_DFGLCOLOR     -16
  152. #define SDS_LINELCOLOR    -18
  153.  
  154. #define SDS_LIST_CHANGE   1
  155. #define SDS_LIST_APPEND   2
  156. #define SDS_LIST_NEW      3
  157.  
  158.  
  159. // Command Start/End.
  160. #define SDS_CBCMDBEGIN        0  // arg1="command name"     cast as (char *)
  161.                                  // Callback return  RTERROR will cause command to not be called.
  162. #define SDS_CBCMDEND          1     // arg1="command name"     cast as (char *)
  163.                                  // Return code does not matter.
  164.  
  165. // Mouse movements and Mouse buttons.
  166. #define SDS_CBMOUSEMOVE       2     // arg1=X pixel  arg2=Y pixel
  167. #define SDS_CBLBUTTONDN       3     // arg1=X pixel  arg2=Y pixel
  168. #define SDS_CBLBUTTONUP       4     // arg1=X pixel  arg2=Y pixel
  169. #define SDS_CBLBUTTONDBLCLK   5     // arg1=X pixel  arg2=Y pixel
  170. #define SDS_CBRBUTTONDN       6     // arg1=X pixel  arg2=Y pixel
  171. #define SDS_CBRBUTTONUP       7     // arg1=X pixel  arg2=Y pixel
  172.                                  // Callback return  RTERROR will cause point to be ignored.
  173.                                  // Case arg1 and arg2 as (int)
  174.  
  175. // Transforming a Selection Set.
  176. #define SDS_CBXFORMSS         8     // arg1=Selection set (ok to modify) cast as (sds_name)
  177.                                  // arg2=Transformation Matrix (ok to modify) cast as (sds_matrix)
  178.                                  // Callback return RTERROR will stop the transformation.
  179.  
  180. // Undo/Redo.
  181. #define SDS_CBENTUNDO         9     // arg1=Entname (ok to modify)    cast as (sds_name)
  182.                                  // Callback return RTERROR will stop UNDO for this ent.
  183. #define SDS_CBENTREDO        10     // arg1=Entname (ok to modify)     cast as (sds_name)
  184.                                  // Callback return RTERROR will stop REDO for this ent.
  185.  
  186. // Palette Change.
  187. #define SDS_CBPALETTECHG     11     // arg1=HPALETTE cast as (HPALETTE)
  188.  
  189. // Open/Close/New/Save on documents.
  190. #define SDS_CBOPENDOC        12     // arg1=file name, cast as (char *)
  191. #define SDS_CBNEWDOC         13     // (all args NULL)
  192. #define SDS_CBCLOSEDOC       14     // arg1=file name, cast as (char *)
  193. #define SDS_CBSAVEDOC        15     // arg1=file name, cast as (char *)
  194.  
  195. // Doc/View change (when the user activates a new MDI window).
  196. #define SDS_CBVIEWDOCCHG     16     // arg1=file name, cast as (char *)
  197.                                  // arg2=current window HWND, cast as (HWND)
  198.  
  199. // Changes to documents.
  200. #define SDS_CBENTDEL         17     // arg1=Entname to be deleted (or undeleted), cast as (sds_name)
  201.                                  // Callback return RTERROR will stop sds_entdel() for this ent.
  202. #define SDS_CBENTMAKE        18     // arg1=Entname of new entity, cast as (sds_name)
  203. #define SDS_CBENTMOD         19     // arg1=Entname of modified entity, cast as (sds_name)
  204.  
  205. // Grip edits.
  206. #define SDS_CBGRIPEDITBEG    20     // arg1=Entname being edited, cast as (sds_name)
  207.                                  // arg2=Point being edited, cast as (sds_point)
  208.                                  // Callback return RTERROR will stop grip edit.
  209. #define SDS_CBGRIPEDITEND    21     // arg1=Entname of entity that was edited, cast as (sds_name)
  210.                                  // arg2=Point being edited, cast as (sds_point)
  211.  
  212. #define SDS_CBVIEWCHANGE     22     // arg1=type of paint 
  213.                                  // 1=redraw, 2=shade, 3=hide, 4=view change (zoom, vpoint, etc.) 5=regen
  214.                                  // 
  215.  
  216.  
  217. #define SDS_MODE_ENABLE   0
  218. #define SDS_MODE_DISABLE  1
  219. #define SDS_MODE_SETFOCUS 2
  220. #define SDS_MODE_SETSEL   3
  221. #define SDS_MODE_FLIP     4
  222.  
  223. #define SDS_MAX_TILE_STR   40
  224. #define SDS_TILE_STR_LIMIT 255       
  225.  
  226. #define sds_name_set(nmFrom, nmTo)                (*(nmTo)=*(nmFrom),(nmTo)[1]=(nmFrom)[1])
  227. #define sds_point_set(ptFrom, ptTo)                (*(ptTo)=*(ptFrom),(ptTo)[1]=(ptFrom)[1],(ptTo)[2]=(ptFrom)[2])
  228. #define sds_name_clear(nmAnyName)                 nmAnyName[0]=nmAnyName[1]=0
  229. #define sds_name_nil(nmAnyName)                    (nmAnyName[0]==0 && nmAnyName[1]==0)
  230. #define sds_name_equal(nmNameOne, nmNameTwo)    (nmNameOne[0]==nmNameTwo[0] && nmNameOne[1]==nmNameTwo[1])
  231.  
  232.  
  233. // The following naming convention is being used here for variables in the prototypes:     (Mostly from "Programming Windows, by Charles Petzold)
  234. //
  235. //_Abbrev____Type_______________Example:__________________________________________________________________________________________________________
  236. //
  237. //       sw -- Switch (int)        int swExitMode        Note:  Use for any int that will only be zero or non-zero (not for Booleans, they would be "b")
  238. //       bs -- Bitset (int)        int bsAllowed        Note:  Use for any int variable containing a bitset
  239. //        n -- Int or Short        int nRType                
  240. //        d -- Double                double dAngle
  241. //        l -- Long                long lSetIndex
  242. //       pt -- sds_point            const sds_point ptFrom
  243. //       sz -- Pointer to a null-terminated string    const char *szAlertMsg    
  244. //        p -- Pointer            const void *pFirstPoint   (also, combines with any other, such as: double *pdRadians)
  245. //       rb -- sds_resbuf            const struct sds_resbuf *prbCmdList
  246. //       nm -- sds_name            const sds_name nmNextEnt
  247. //       mx -- sds_matrix            sds_matrix mxECStoWCS
  248. //   size -- size_t                size_t sizeBytesEach
  249. //________________________________________________________________________________________________________________________________________________
  250.  
  251. /* SDS protos for functions. */
  252.  
  253. #if defined(__cplusplus)
  254.     int SDS_main(int nArgc, char **ppArgv);
  255. #endif
  256.  
  257. #if defined(_WINDOWS_)
  258.     HDC *sds_getviewhdc(void);
  259.     int sds_getrgbvalue(int nColor);
  260.     HPALETTE sds_getpalette(void);
  261.     HWND sds_getviewhwnd(void); 
  262.     HWND sds_getmainhwnd(void); 
  263. #endif
  264.  
  265. void               sds_abort(const char *szAbortMsg);
  266. void               sds_abortintellicad(void);    
  267. int                   sds_agetcfg(const char *szSymbol, char  *szVariable);   // Not documented
  268. int                   sds_agetenv(const char *szSymbol, char  *szVariable);   // Not documented
  269. int                   sds_alert(const char *szAlertMsg);
  270. double             sds_angle(const sds_point ptStart, const sds_point ptEnd);
  271. int                sds_angtof(const char *szAngle, int nUnitType, double *pdAngle);
  272. int                   sds_angtof_absolute(const char *szAngle, int nUnitType, double *pdAngle);
  273. int                sds_angtos(double dAngle, int nUnitType, int nPrecision, char *szAngle);
  274. int                sds_angtos_convert(int ignoremode, double dAngle, int nUnitType, int nPrecision, char *szAngle);
  275. int                sds_angtos_dim(int ignoremode, double dAngle, int nUnitType, int nPrecision, char *szAngle);
  276. int                   sds_angtos_absolute(double dAngle, int nUnitType, int nPrecision, char *szAngle);
  277. int                   sds_arxload(const char *szARXProgram);
  278. struct sds_resbuf *sds_arxloaded(void);
  279. int                   sds_arxunload(const char *szARXProgram);
  280. int                sds_asetcfg(const char *szSymbol, const char *szValue);   // Not documented
  281. int                   sds_asetenv(const char *szSymbol, const char *szValue);   // Not documented
  282.  
  283. struct sds_resbuf *sds_buildlist(int nRType, ...);
  284. int                sds_callinmainthread(int (*fnDragEnts)(void *),void *pUserData);
  285. void              *sds_calloc(size_t sizeHowMany, size_t sizeBytesEach);
  286.  
  287. int                sds_cmd(const struct sds_resbuf *prbCmdList);
  288. int                sds_command(int nRType, ...);
  289. int                sds_cvunit(double dOldNum, const char *szOldUnit, const char *szNewUnit, double *pdNewNum);
  290.  
  291. int                sds_defun(const char *szFuncName, int nFuncCode);    
  292. int                   sds_dictadd(const sds_name nmDict, const char *szAddThis, const sds_name nmNonGraph);  // ??
  293. int                   sds_dictdel(const sds_name nmDict, const char *szDelThis);
  294. struct sds_resbuf *sds_dictnext(const sds_name nmDict, int swFirst);
  295. int                   sds_dictrename(const sds_name nmDict, const char *szOldName, const char *szNewName);
  296. struct sds_resbuf *sds_dictsearch(const sds_name nmDict, const char *szFindThis, int swFirst);
  297. double               sds_distance(const sds_point ptFrom, const sds_point ptTo);
  298. struct sds_dobjll *sds_dispobjs(const sds_name nmEntity,int nDispMode);
  299. int                sds_distof(const char *szDistance, int nUnitType, double *pdDistance);
  300. int                sds_draggen(const sds_name nmSelSet, const char *szDragMsg, int nCursor, int (*fnDragEnts)(sds_point ptCursorLoc, sds_matrix mxTransform), sds_point ptDestPoint);    //TODO
  301.  
  302. int                sds_entdel(const sds_name nmEntity);
  303. struct sds_resbuf *sds_entget(const sds_name nmEntity);
  304. struct sds_resbuf *sds_entgetx(const sds_name nmEntity, const struct sds_resbuf *prbAppList);
  305. int                sds_entlast(sds_name nmLastEnt);
  306. int                sds_entmake(const struct sds_resbuf *prbEntList);
  307. int                   sds_entmakex(const struct sds_resbuf *prbEntList, sds_name nmNewEnt);
  308. int                sds_entmod(const struct sds_resbuf *prbEntList);
  309. int                sds_entnext(const sds_name nmKnownEnt, sds_name nmNextEnt);
  310. int                sds_entsel(const char *szSelectMsg, sds_name nmEntity, sds_point ptSelected);
  311. int                sds_entupd(const sds_name nmEntity);
  312. void               sds_exit(int swAbnormalExit);
  313.  
  314. void               sds_fail(const char *szFailMsg);
  315. int                sds_findfile(const char *szLookFor, char *szPathFound);
  316. void               sds_free(void *pMemLoc);    
  317. void               sds_freedispobjs(struct sds_dobjll *pDispObjs);
  318.  
  319. int                sds_getangle(const sds_point ptStart, const char *szAngleMsg, double *pdRadians);
  320. char              *sds_getappname(void);
  321. struct sds_resbuf *sds_getargs(void);
  322. int                   sds_getcfg(const char *szSymbol, char  *szVariable, int nLength);  
  323. int                sds_getcname(const char *szOtherLang, char **pszEnglish);
  324. int                sds_getcorner(const sds_point ptStart, const char *szCornerMsg, sds_point ptOpposite);
  325. int                sds_getdist(const sds_point ptStart, const char *szDistMsg, double *pdDistance);
  326. struct sds_resbuf *sds_getdoclist(void);
  327. int                sds_getfiled(const char *szTitle, const char *szDefaultPath, const char *szExtension, int bsOptions, struct sds_resbuf *prbFileName);
  328. int                sds_getfuncode(void);
  329. int                sds_getinput(char *szEntry);
  330. int                sds_getint(const char *szIntMsg, int *pnInteger);
  331. int                sds_getkword(const char *szKWordMsg, char *szKWord);
  332. int                sds_getorient(const sds_point ptStart, const char *szOrientMsg, double *pdRadians);
  333. int                sds_getpoint(const sds_point ptReference, const char *szPointMsg, sds_point ptPoint);
  334. int                sds_getreal(const char *szRealMsg, double *pdReal);
  335. int                sds_getstring(int swSpaces, const char *szStringMsg, char *szString);
  336. int                sds_getsym(const char *szSymbol, struct sds_resbuf **pprbSymbolInfo);
  337. int                sds_gettbpos(const char *pToolBarName, sds_point ptTbPos);
  338. int                sds_getvar(const char *szSysVar, struct sds_resbuf *prbVarInfo);
  339. int                sds_graphscr(void);
  340. int                sds_grclear(void);
  341. int                   sds_grarc(const sds_point ptCenter, double dRadius, double dStartAngle, double dEndAngle, int nColor, int swHighlight);
  342. int                   sds_grfill(const sds_point *pptPoints, int nNumPoints, int nColor, int swHighlight);
  343. int                sds_grdraw(const sds_point ptFrom, const sds_point ptTo, int nColor, int swHighlight);
  344. int                sds_grread(int bsAllowed, int *pnInputType, struct sds_resbuf *prbInputValue);
  345. int                sds_grtext(int nWhere, const char *szTextMsg, int swHighlight);
  346. int                sds_grvecs(const struct sds_resbuf *prbVectList, sds_matrix mxDispTrans);
  347.  
  348. int                sds_handent(const char *szEntHandle, sds_name nmEntity);
  349. int                sds_help(char *szHelpFile, char *szContextID, int nMapNumber);
  350.  
  351. int                sds_init(int nARGC, char *nARGV[]);
  352. int                sds_initget(int bsAllowed, const char *szKeyWordList);
  353. int                sds_inters(const sds_point ptFrom1, const sds_point ptTo1, const sds_point ptFrom2, const sds_point ptTo2, int swFinite, sds_point ptIntersection);
  354. int                sds_invoke(const struct sds_resbuf *prbArguments,    struct sds_resbuf **pprbReturn);
  355. int                sds_isalnum(int nASCIIValue);
  356. int                sds_isalpha(int nASCIIValue);
  357. int                sds_iscntrl(int nASCIIValue);
  358. int                sds_isdigit(int nASCIIValue);
  359. int                sds_isgraph(int nASCIIValue);
  360. int                sds_islower(int nASCIIValue);
  361. int                sds_isprint(int nASCIIValue);
  362. int                sds_ispunct(int nASCIIValue);
  363. int                sds_isspace(int nASCIIValue);
  364. int                sds_isupper(int nASCIIValue);
  365. int                sds_isxdigit(int nASCIIValue);
  366.  
  367. int                sds_link(int nRSMsg);
  368. struct sds_resbuf *sds_loaded(void);
  369.  
  370. void              *sds_malloc(size_t sizeBytes);                        
  371. int                sds_menucmd(const char *szPartToDisplay);
  372. int                sds_menugroup(char *pMemuGroupName);
  373. int                sds_msize(void *pvBuffer); 
  374.  
  375. int                   sds_namedobjdict(sds_name nmDict);
  376. int                sds_nentsel(const char *szNEntMsg, sds_name nmEntity, sds_point ptEntPoint, sds_point ptECStoWCS[4], struct sds_resbuf **pprbNestBlkList);
  377. int                sds_nentselp(const char *szNEntMsg, sds_name nmEntity, sds_point ptEntPoint, int swUserPick, sds_matrix mxECStoWCS, struct sds_resbuf **pprbNestBlkList);
  378. struct sds_resbuf *sds_newrb(int nTypeOrDXF);
  379.  
  380. int                sds_osnap(const sds_point ptAperCtr, const char *szSnapModes, sds_point ptPoint);
  381.  
  382. int                   sds_pmtssget(const char *szSelMsg,const char *szSelMethod, void *pFirstPoint, const void *pSecondPoint, const struct sds_resbuf *prbFilter, sds_name nmNewSet,const int OmitFromPrevSS); 
  383. void               sds_polar(const sds_point ptPolarCtr, double dAngle, double dDistance, sds_point ptPoint);
  384. int                sds_printf(const char *szPrintThis, ...);
  385. int                sds_progresspercent(int iPercentDone);    
  386. int                   sds_progressstart(void);    
  387. int                sds_progressstop(void);    
  388. int                sds_prompt(const char *szPromptMsg);
  389. int                sds_putsym(const char *szSymbol, struct sds_resbuf *prbSymbolInfo);
  390.  
  391. int                   sds_readaliasfile(char *szAliasFile);
  392. void              *sds_realloc(void *pOldMemLoc, size_t sizeBytes);    // TODO - Should return char*?
  393. int                sds_redraw(const sds_name nmEntity, int nHowToDraw);
  394. int                sds_regapp(const char *szApplication);
  395. int                sds_regappx(const char *szApplication, int swSaveAsR12); // I have no idea is 2nd param is right.
  396. int                sds_regfunc(int (*nFuncName)(void), int nFuncCode);    
  397. int                sds_relrb(struct sds_resbuf *prbReleaseThis);
  398. int                sds_retint(int nReturnInt);
  399. int                sds_retlist(const struct sds_resbuf *prbReturnList);
  400. int                sds_retname(const sds_name nmReturnName, int nReturnType);
  401. int                sds_retnil(void);
  402. int                sds_retpoint(const sds_point ptReturn3D);
  403. int                sds_retreal(double dReturnReal);
  404. int                sds_retstr(const char *szReturnString);
  405. int                sds_rett(void);
  406. int                sds_retval(const struct sds_resbuf *prbReturnValue);
  407. int                sds_retvoid(void);
  408. int                   sds_rp2pix(double dNumberX,double dNumberY,int *pPixelX,int *pPixelY);
  409. int                sds_rtos(double dNumber, int nUnitType, int nPrecision, char *szNumber);
  410.  
  411. int                sds_sendmessage(char *szCommandMsg);
  412. int                sds_setcallbackfunc(int (*cbfnptr)(int flag,void *arg1,void *arg2,void *arg3));
  413. int                sds_setfunhelp(char *szFunctionName, char *szHelpFile, char *szContextID, int nMapNumber);
  414. int                sds_setvar(const char *szSysVar, const struct sds_resbuf *prbVarInfo);
  415. int                sds_setview(const struct sds_resbuf *prbViews, int nWhichVPort);  // Not sure what 1st param is.
  416. int                sds_snvalid(const char *szTableName, int swAllowPipe);
  417. int                sds_ssadd(const sds_name nmEntToAdd, const sds_name nmSelSet, sds_name nmNewSet);
  418. int                sds_ssdel(const sds_name nmEntToDel, const sds_name nmSelSet);
  419. int                sds_ssfree(sds_name nmSetToFree);
  420. int                sds_ssget(const char *szSelMethod, const void *pFirstPoint, const void *pSecondPoint, const struct sds_resbuf *prbFilter, sds_name nmNewSet);    
  421. int                sds_ssgetfirst(struct sds_resbuf **pprbHaveGrips, struct sds_resbuf **pprbAreSelected);
  422. int                sds_sslength(const sds_name nmSelSet, long *plNumberOfEnts);
  423. int                sds_ssmemb(const sds_name nmEntity, const sds_name nmSelSet);
  424. int                sds_ssname(const sds_name nmSelSet, long lSetIndex, sds_name nmEntity);
  425. int                sds_ssnamex(struct sds_resbuf **pprbEntName, const sds_name nmSelSet, const long iIndex);
  426. int                sds_sssetfirst(const sds_name nmGiveGrips, const sds_name nmSelectThese);
  427. int                sds_swapscreen(void);
  428.  
  429. int                sds_tablet (const struct sds_resbuf *prbGetOrSet, struct sds_resbuf **pprbCalibration);
  430. struct sds_resbuf *sds_tblnext(const char *szTable, int swFirst);
  431. int                   sds_tblobjname(const char *szTable, const char *szEntInTable, sds_name nmEntName);
  432. struct sds_resbuf *sds_tblsearch(const char *szTable, const char *szFindThis, int swNextItem);
  433. int                sds_textbox(const struct sds_resbuf *prbTextEnt, sds_point ptCorner, sds_point ptOpposite);    
  434. int                sds_textpage(void);
  435. int                sds_textscr(void);
  436. int                sds_tolower(int nASCIIValue);
  437. int                sds_toupper(int nASCIIValue);
  438. int                sds_trans(const sds_point ptVectOrPtFrom, const struct sds_resbuf *prbCoordFrom, const struct sds_resbuf *prbCoordTo, int swVectOrDisp, sds_point ptVectOrPtTo);
  439.  
  440. int                   sds_ucs2rp(sds_point ptSour3D,sds_point ptDest3D);
  441. int                sds_update(int nWhichVPort,const sds_point ptCorner1,const sds_point ptCorner2);
  442. int                sds_undef(const char *szFuncName, int nFuncCode);
  443. int                sds_usrbrk(void);
  444.  
  445. int                sds_vports(struct sds_resbuf **prbViewSpecs);    
  446.  
  447. int                sds_wcmatch(const char *szCompareThis, const char *szToThis);
  448.  
  449. int                sds_xdroom(const sds_name nmEntity, long *plMemAvail);
  450. int                sds_xdsize(const struct sds_resbuf *prbEntData, long *plMemUsed);
  451. int                sds_xformss(const sds_name nmSetName, sds_matrix mxTransform);
  452. int                sds_xload(const char *szApplication);
  453. int                sds_xstrcase(char *szString);   // Not documented
  454. char              *sds_xstrsave(char *szSource, char **pszDest);   // Not documented
  455. int                sds_xunload(const char *szApplication); 
  456.  
  457.  
  458. #if !defined(SDS_DONTUSEOURADS)
  459.  
  460.     #define SDS_USEOURDCL 1
  461.     
  462.     #define main           SDS_main
  463.     #define ads_main       SDS_main
  464.     #define acrxEntryPoint SDS_main
  465.  
  466.     #define  OL_GOOD         0
  467.     #define  OL_ESNVALID     1
  468.     #define  OL_ENAMEVALID   2
  469.     #define  OL_ESSMAX       3
  470.     #define  OL_ESSVALID     4
  471.     #define  OL_EBDEVALID    5
  472.     #define  OL_EXDEVALID    6
  473.     #define  OL_ENTSELPICK   7
  474.     #define  OL_EEOEF        8
  475.     #define  OL_EEOBD        9
  476.     #define  OL_EEMPDB      10
  477.     #define  OL_EDELVPORT   11
  478.     #define  OL_EACQPLINE   12
  479.     #define  OL_EHANDLE     13
  480.     #define  OL_ENOHAND     14
  481.     #define  OL_ETRANS      15
  482.     #define  OL_EXSPACE     16
  483.     #define  OL_EDELENT     17
  484.     #define  OL_ETBLNAME    18
  485.     #define  OL_ETBLARG     19
  486.     #define  OL_ERDONLY     20
  487.     #define  OL_ENONZERO    21
  488.     #define  OL_ERANGE      22
  489.     #define  OL_ERGBUSY     23
  490.     #define  OL_EMMTYPE     24
  491.     #define  OL_EMMLAY      25
  492.     #define  OL_EMMLT       26
  493.     #define  OL_EMMCOLOR    27
  494.     #define  OL_EMMSTYLE    28
  495.     #define  OL_EMMSHAPE    29
  496.     #define  OL_EMMFTYPE    30
  497.     #define  OL_EMODDEL     31
  498.     #define  OL_EMODSEQ     32
  499.     #define  OL_EMODHAND    33
  500.     #define  OL_EMODVPVIS   34
  501.     #define  OL_EMMLL       35
  502.     #define  OL_EMKTYPE     36
  503.     #define  OL_EMKPLINE    37
  504.     #define  OL_EMKCMPLX    38
  505.     #define  OL_EMKBNAME    39
  506.     #define  OL_EMKBFLAG    40
  507.     #define  OL_EMKDBNAME   41
  508.     #define  OL_EMKNORM     42
  509.     #define  OL_EMKNOBNM    43
  510.     #define  OL_EMKNOBFLG   44
  511.     #define  OL_EMKANON     45
  512.     #define  OL_EMKBLOCK    46
  513.     #define  OL_EMKMANDF    47
  514.     #define  OL_EMMXDTYPE   48
  515.     #define  OL_EMMXDNEST   49
  516.     #define  OL_EMMXDAPPID  50
  517.     #define  OL_EMMXDSIZE   51
  518.     #define  OL_ENTSELNULL  52
  519.     #define  OL_EMXDAPPID   53
  520.     #define  OL_EMMVPORT    54
  521.     #define  OL_INVEXT      55
  522.     #define  OL_EFLTR1      56
  523.     #define  OL_EFLTR2      57
  524.     #define  OL_EFLTR3      58
  525.     #define  OL_EFLTR4      59
  526.     #define  OL_EFLTR5      60
  527.     #define  OL_EFLTR6      61
  528.     #define  OL_EFLTR7      62
  529.     #define  OL_EFLTR8      63
  530.     #define  OL_EFLTR9      64
  531.     #define  OL_EFLTR10     65
  532.     #define  OL_EFLTR11     66
  533.     #define  OL_EFLTR12     67
  534.     #define  OL_TABNOT      68
  535.     #define  OL_TABNOCAL    69
  536.     #define  OL_TABERR      70
  537.     #define  OL_ENEWRB      71
  538.     #define  OL_ENULLPTR    72
  539.     #define  OL_EOPEN       73
  540.     #define  OL_ELOADED     74
  541.     #define  OL_EMAXAPP     75
  542.     #define  OL_EEXEC       76
  543.     #define  OL_EVERSION    77
  544.     #define  OL_EDENIED     78
  545.     #define  OL_EREFUSE     79
  546.     #define  OL_ENOTLOADED  80
  547.     #define  OL_ENOMEM      81
  548.     #define  OL_EXFMVALID   82
  549.     #define  OL_ESYMNAM     83
  550.     #define  OL_ESYMVAL     84
  551.     #define  OL_NONDIALOG   85
  552.  
  553.     /* Our additions (ACAD uses 0-100 currently): */
  554.  
  555.     #define  OL_EROPEN     501  /* Bad pathname or can't find/open. */
  556.     #define  OL_EWOPEN     502  /* Can't create DWG file. */
  557.     #define  OL_ESEEKREAD  503  /* fseek or fread error. */
  558.     #define  OL_EDWGVER    504  /* Not a DWG, or not a version we handle. */
  559.     #define  OL_EWALKING   505  /* Error walking the entities. */
  560.     #define  OL_ERDWGENT   506  /* Error reading a DWG entity. */
  561.     #define  OL_EBIGENT    507  /* Skipped ent that was too big for buffer. */
  562.     #define  OL_EDWGWRITE  508  /* fwrite error. */
  563.     #define  OL_ERNOTDWG   509  /* Appears not to be an AutoCAD drawing. */
  564.       /* These two are for entmakes where ACAD prints a message instead */
  565.       /* of setting ERRNO: */
  566.     #define  OL_EMKNESTBLK 510  /* "Cannot nest block definitions." */
  567.     #define  OL_EMKINVCOMP 511  /* "Invalid complex object." */
  568.  
  569.  
  570.     #define ads_pointp sds_pointp
  571.     #define ads_namep sds_namep
  572.  
  573.     #define ads_real sds_real
  574.     #define ads_point sds_point
  575.     #define ads_name sds_name
  576.     #define ads_matrix sds_matrix
  577.     #define ads_binary sds_binary
  578.     #define ads_u_val  sds_u_val
  579.     #define resbuf sds_resbuf
  580.  
  581.     #undef X
  582.     #undef Y
  583.     #undef Z
  584.     #undef T
  585.  
  586.     #define X SDS_X
  587.     #define Y SDS_Y
  588.     #define Z SDS_Z
  589.     #define T SDS_T
  590.  
  591.     #undef TRUE
  592.     #undef FALSE
  593.     
  594.     #define TRUE      SDS_TRUE          
  595.     #define FALSE     SDS_FALSE
  596.     
  597.     #define EOS       '\0'
  598.  
  599.     #if !defined(SDS_NOSETRCODES)
  600.  
  601.         #define RQSAVE    SDS_RQSAVE
  602.         #define RQEND     SDS_RQEND
  603.         #define RQQUIT    SDS_RQQUIT
  604.         #define RQCFG     SDS_RQCFG
  605.         #define RQXLOAD   SDS_RQXLOAD
  606.         #define RQXUNLD   SDS_RQXUNLD
  607.         #define RQHUP     SDS_RQHUP
  608.         #define RQXHELP   SDS_RQXHELP
  609.         #define RQSUBR    SDS_RQSUBR
  610.         #define RSRSLT    SDS_RSRSLT
  611.         #define RSERR     SDS_RSERR
  612.  
  613.          #define RTREJ     SDS_RTREJ
  614.         #define RTFAIL    SDS_RTFAIL
  615.  
  616.         #define PAUSE      SDS_PAUSE
  617.  
  618.         #define RSG_NONULL SDS_RSG_NONULL
  619.         #define RSG_NOZERO SDS_RSG_NOZERO
  620.         #define RSG_NONEG  SDS_RSG_NONEG
  621.         #define RSG_NOLIM  SDS_RSG_NOLIM
  622.         #define RSG_GETZ   SDS_RSG_GETZ
  623.         #define RSG_DASH   SDS_RSG_DASH
  624.         #define RSG_2D     SDS_RSG_2D
  625.         #define RSG_OTHER  SDS_RSG_OTHER
  626.  
  627.         #define RTNONE    SDS_RTNONE
  628.         #define RTREAL    SDS_RTREAL
  629.         #define RTPOINT   SDS_RTPOINT
  630.         #define RTSHORT   SDS_RTSHORT
  631.         #define RTANG     SDS_RTANG
  632.         #define RTSTR     SDS_RTSTR
  633.         #define RTENAME   SDS_RTENAME
  634.         #define RTPICKS   SDS_RTPICKS
  635.         #define RTORINT   SDS_RTORINT
  636.         #define RT3DPOINT SDS_RT3DPOINT
  637.         #define RTLONG    SDS_RTLONG
  638.         #define RTVOID    SDS_RTVOID
  639.         #define RTLB      SDS_RTLB
  640.         #define RTLE      SDS_RTLE
  641.         #define RTDOTE    SDS_RTDOTE
  642.         #define RTNIL     SDS_RTNIL
  643.         #define RTDXF0    SDS_RTDXF0
  644.         #define RTT       SDS_RTT
  645.         #define RTNORM    SDS_RTNORM
  646.         #define RTERROR   SDS_RTERROR
  647.         #define RTCAN     SDS_RTCAN
  648.         #define RTKWORD   SDS_RTKWORD
  649.         #define RTBINARY  SDS_RTBINARY 
  650.  
  651.     #endif /* !defined(SDS_NOSETRCODES) */
  652.  
  653.     #define ads_name_set      sds_name_set
  654.     #define ads_point_set     sds_point_set
  655.     #define ads_name_clear    sds_name_clear
  656.     #define ads_name_nil      sds_name_nil
  657.     #define ads_name_equal    sds_name_equal
  658.     #define ads_init          sds_init
  659.     #define ads_fail          sds_fail
  660.     #define ads_abort         sds_abort
  661.     #define ads_exit          sds_exit
  662.     #define ads_regfunc       sds_regfunc
  663.     #define ads_link          sds_link
  664.     #define ads_newrb         sds_newrb
  665.     #define ads_relrb         sds_relrb
  666.     #define ads_usrbrk        sds_usrbrk
  667.     #define ads_defun         sds_defun
  668.     #define ads_undef         sds_undef
  669.     #define ads_getfuncode    sds_getfuncode
  670.     #define ads_getargs       sds_getargs
  671.     #define ads_retlist       sds_retlist
  672.     #define ads_retval        sds_retval
  673.     #define ads_retpoint      sds_retpoint
  674.     #define ads_retstr        sds_retstr
  675.     #define ads_retname       sds_retname
  676.     #define ads_retint        sds_retint
  677.     #define ads_retreal       sds_retreal
  678.     #define ads_rett          sds_rett
  679.     #define ads_retnil        sds_retnil
  680.     #define ads_retvoid       sds_retvoid
  681.     #define ads_malloc          sds_malloc       
  682.     #define ads_free          sds_free         
  683.     #define ads_realloc          sds_realloc      
  684.     #define ads_calloc          sds_calloc       
  685.     #define ads_entdel        sds_entdel
  686.     #define ads_entgetx       sds_entgetx
  687.     #define ads_entget        sds_entget
  688.     #define ads_entlast       sds_entlast
  689.     #define ads_entnext       sds_entnext
  690.     #define ads_entupd        sds_entupd
  691.     #define ads_entmod        sds_entmod
  692.     #define ads_entmake       sds_entmake
  693.     #define ads_entmakex      sds_entmakex
  694.     #define ads_entsel        sds_entsel
  695.     #define ads_nentsel       sds_nentsel
  696.     #define ads_nentselp      sds_nentselp
  697.     #define ads_ssget         sds_ssget
  698.     #define ads_ssfree        sds_ssfree
  699.     #define ads_sslength      sds_sslength
  700.     #define ads_ssadd         sds_ssadd
  701.     #define ads_ssdel         sds_ssdel
  702.     #define ads_ssmemb        sds_ssmemb
  703.     #define ads_ssname        sds_ssname
  704.     #define ads_xdroom        sds_xdroom
  705.     #define ads_xdsize        sds_xdsize
  706.     #define ads_tblnext       sds_tblnext
  707.     #define ads_tblsearch     sds_tblsearch
  708.     #define ads_handent       sds_handent
  709.     #define ads_trans         sds_trans
  710.     #define ads_angtos        sds_angtos
  711.     #define ads_cvunit        sds_cvunit
  712.     #define ads_wcmatch       sds_wcmatch
  713.     #define ads_rtos          sds_rtos
  714.     #define ads_angtof        sds_angtof
  715.     #define ads_distof        sds_distof
  716.     #define ads_setvar        sds_setvar
  717.     #define ads_initget       sds_initget
  718.     #define ads_getsym        sds_getsym
  719.     #define ads_putsym        sds_putsym
  720.     #define ads_loaded        sds_loaded
  721.     #define ads_xload         sds_xload
  722.     #define ads_xunload       sds_xunload
  723.     #define ads_arxloaded     sds_arxloaded
  724.     #define ads_arxxload      sds_arxxload
  725.     #define ads_arxxunload    sds_arxxunload
  726.     #define ads_command       sds_command
  727.     #define ads_buildlist     sds_buildlist
  728.     #define ads_printf        sds_printf
  729.     #define ads_cmd           sds_cmd
  730.     #define ads_invoke        sds_invoke
  731.     #define ads_inters        sds_inters
  732.     #define ads_getvar        sds_getvar
  733.     #define ads_findfile      sds_findfile
  734.     #define ads_getstring     sds_getstring
  735.     #define ads_menucmd       sds_menucmd
  736.     #define ads_prompt        sds_prompt
  737.     #define ads_alert         sds_alert
  738.     #define ads_regapp        sds_regapp
  739.     #define ads_getappname    sds_getappname
  740.     #define ads_getangle      sds_getangle
  741.     #define ads_getcorner     sds_getcorner
  742.     #define ads_getdist       sds_getdist
  743.     #define ads_getorient     sds_getorient
  744.     #define ads_getpoint      sds_getpoint
  745.     #define ads_getint        sds_getint
  746.     #define ads_getkword      sds_getkword
  747.     #define ads_getreal       sds_getreal
  748.     #define ads_getinput      sds_getinput
  749.     #define ads_vports        sds_vports
  750.     #define ads_textscr       sds_textscr
  751.     #define ads_graphscr      sds_graphscr
  752.     #define ads_textpage      sds_textpage
  753.     #define ads_grclear       sds_grclear
  754.     #define ads_redraw        sds_redraw
  755.     #define ads_osnap         sds_osnap
  756.     #define ads_grread        sds_grread
  757.     #define ads_grtext        sds_grtext
  758.     #define ads_grdraw        sds_grdraw
  759.     #define ads_grvecs        sds_grvecs
  760.     #define ads_xformss       sds_xformss
  761.     #define ads_draggen       sds_draggen
  762.     #define ads_angle         sds_angle
  763.     #define ads_distance      sds_distance
  764.     #define ads_polar         sds_polar
  765.     #define ads_getfiled      sds_getfiled
  766.     #define ads_textbox       sds_textbox
  767.     #define ads_tablet        sds_tablet
  768.     #define ads_isalpha       sds_isalpha
  769.     #define ads_isupper       sds_isupper
  770.     #define ads_islower       sds_islower
  771.     #define ads_isdigit       sds_isdigit
  772.     #define ads_isxdigit      sds_isxdigit
  773.     #define ads_isspace       sds_isspace
  774.     #define ads_ispunct       sds_ispunct
  775.     #define ads_isalnum       sds_isalnum
  776.     #define ads_isprint       sds_isprint
  777.     #define ads_isgraph       sds_isgraph
  778.     #define ads_iscntrl       sds_iscntrl
  779.     #define ads_toupper       sds_toupper
  780.     #define ads_tolower       sds_tolower
  781.     #define ads_agetenv          sds_agetenv     
  782.     #define ads_asetenv          sds_asetenv     
  783.     #define ads_agetcfg          sds_agetcfg     
  784.     #define ads_asetcfg          sds_asetcfg     
  785.     #define ads_namedobjdict  sds_namedobjdict
  786.     #define ads_dictsearch      sds_dictsearch  
  787.     #define ads_dictnext      sds_dictnext    
  788.     #define ads_tblobjname      sds_tblobjname  
  789.     #define ads_getcname      sds_getcname    
  790.     #define ads_help          sds_help        
  791.     #define ads_regappx          sds_regappx     
  792.     #define ads_setfunhelp      sds_setfunhelp  
  793.     #define ads_setview          sds_setview     
  794.     #define ads_snvalid          sds_snvalid     
  795.     #define ads_ssgetfirst      sds_ssgetfirst  
  796.     #define ads_sssetfirst      sds_sssetfirst  
  797.     #define ads_ssnamex          sds_ssnamex     
  798.     #define ads__msize          sds__msize      
  799.     #define ads_xstrsave      sds_xstrsave    
  800.     #define ads_strdup          sds_xstrsave    
  801.     #define ads_xstrcase      sds_xstrcase    
  802.     #define adsw_acadMainWnd  sds_getmainhwnd    
  803.     #define ads_update        sds_update    
  804.      
  805.     #define SDS_DLLEXPORT __declspec(dllexport)
  806.     #if !defined(_WINDOWS_) && !defined(_MFC_)
  807.         typedef void *HWND;
  808.         void SDS_DLLEXPORT SDS_EntryPoint(HWND Hwnd);
  809.         #undef HWND
  810.     #else 
  811.         void SDS_DLLEXPORT SDS_EntryPoint(HWND Hwnd);
  812.     #endif
  813.  
  814. #endif  /* SDS_DONTUSEOURADS */
  815.  
  816. // The following naming convention is being used here for variables in the prototypes:     (Mostly from "Programming Windows, by Charles Petzold)
  817. //
  818. //_Abbrev____Type_______________Example:__________________________________________________________________________________________________________
  819. //
  820. //        n -- Int or Short        int nRType                
  821. //        d -- Double                double dAngle
  822. //        l -- Long                long lSetIndex
  823. //        h -- Handle                sds_hdlg hDialog
  824. //        p -- Pointer            const void *pFirstPoint   (also, combines with any other, such as: double *pdRadians)
  825. //________________________________________________________________________________________________________________________________________________
  826.  
  827. /* Below is all of our DCL stuff. */
  828. int dlg_new_dialog(char *szDialogName,int nDialogFileID,void *pfnDef_Callback,sds_hdlg *hDialog);
  829. int dlg_load_dialog(char *szFileToLoad,int *nDialogFileID);
  830. int dlg_unload_dialog(int nDialogFileID);
  831. int dlg_start_dialog(sds_hdlg hDialog, int *nMessage);
  832. int dlg_done_dialog(sds_hdlg hDialog,long nMessage);
  833. int dlg_new_positioned_dialog(char *szDialogName, int nDialogFileID, void *pfnDef_Callback, int nXPos, int nYPos, sds_hdlg *hDialog);
  834. int dlg_done_positioned_dialog(sds_hdlg hDialog, int nMessage, int *nXPos, int *nYPos);
  835. int dlg_term_dialog(void);
  836.  
  837. int dlg_start_list(sds_hdlg hDialog,char *szControlKey, int nChangeAddNew,int nWhichItem);
  838. int dlg_add_list(char *szAddToList);
  839. int dlg_get_list_string(sds_hdlg hDialog, char *szControlKey, char *szListString, int nStringLength, int nWhichItem);
  840. int dlg_end_list(void);
  841.  
  842. int dlg_get_attr(sds_hdlg hDialog, char *szControlKey, char *szAttribName, char *szAttribInfo, int lInfoMaxLength);
  843. int dlg_get_attr_string(sds_hdlg hControl,char *szAttribName, char *szAttribInfo, long lInfoMaxLength);
  844. int dlg_get_key_string( char *szkeyString, long lInfoMaxLength);
  845.  
  846. int dlg_get_tile(sds_hdlg hDialog,char *szControlKey,char *szControlInfo,long lInfoMaxLength);
  847. int dlg_action_tile(sds_hdlg hDialog,char *szControlKey,void *pfnControlFunc);
  848. int dlg_client_data_tile(sds_hdlg hDialog, char *szControlKey, void *pApplicationData);
  849. int dlg_dimensions_tile(sds_hdlg hDialog, char *szControlKey, short *nWidthLess1, short *nHeightLess1);
  850. int dlg_mode_tile(sds_hdlg hDialog, char *szControlKey, int nTileState);
  851. int dlg_set_tile(sds_hdlg hDialog, char *szControlKey, char *szControlInfo);
  852.  
  853. int dlg_start_image(sds_hdlg hDialog, char *szControlKey);
  854. int dlg_fill_image(int nULCornerX, int nULCornerY, int nWidthLess1, int nHeightLess1, int nColor);
  855. int dlg_slide_image(int nULCornerX, int nULCornerY, int nWidthLess1, int nHeightLess1, char *szSnapshotName);
  856. int dlg_vector_image(int nXVectStart, int nYVectStart, int nXVectEnd, int nYVectEnd, int nColor);
  857. int dlg_end_image(void);
  858.  
  859.  
  860. #if defined(SDS_USEOURDCL)
  861.  
  862.     #undef  CALLB
  863.     #define CALLB  
  864.  
  865.     #define ads_hdlg sds_hdlg
  866.     #define ads_htile sds_htile
  867.     #define ads_callback_packet sds_callback_packet
  868.  
  869.     #ifdef __cplusplus
  870.         typedef void (*CLIENTFUNC) (sds_callback_packet *cpkt);
  871.     #else
  872.         #define CLIENTFUNC void *
  873.     #endif
  874.  
  875.     #define SDS_NULLCB ((CLIENTFUNC)0)
  876.  
  877.     #define NULLCB           SDS_NULLCB
  878.  
  879.     #define CBR_SELECT       SDS_CBR_SELECT
  880.     #define CBR_LOST_FOCUS   SDS_CBR_LOST_FOCUS
  881.     #define CBR_DRAG         SDS_CBR_DRAG
  882.     #define CBR_DOUBLE_CLICK SDS_CBR_DOUBLE_CLICK
  883.  
  884.     #define DLGCANCEL     SDS_DLGCANCEL
  885.     #define DLGOK         SDS_DLGOK
  886.     #define DLGALLDONE    SDS_DLGALLDONE
  887.  
  888.     #define DLGSTATUS     SDS_DLGSTATUS
  889.  
  890.     #define BGLCOLOR      SDS_BGLCOLOR   
  891.     #define DBGLCOLOR     SDS_DBGLCOLOR   
  892.     #define DFGLCOLOR     SDS_DFGLCOLOR   
  893.     #define LINELCOLOR     SDS_LINELCOLOR   
  894.  
  895.     #define LIST_CHANGE   SDS_LIST_CHANGE
  896.     #define LIST_APPEND   SDS_LIST_APPEND
  897.     #define LIST_NEW      SDS_LIST_NEW
  898.  
  899.     #define MODE_ENABLE   SDS_MODE_ENABLE
  900.     #define MODE_DISABLE  SDS_MODE_DISABLE
  901.     #define MODE_SETFOCUS SDS_MODE_SETFOCUS
  902.     #define MODE_SETSEL   SDS_MODE_SETSEL
  903.     #define MODE_FLIP     SDS_MODE_FLIP
  904.  
  905.     #define MAX_TILE_STR   SDS_MAX_TILE_STR 
  906.     #define TILE_STR_LIMIT SDS_TILE_STR_LIMIT       
  907.  
  908.  
  909.     #define ads_load_dialog            dlg_load_dialog
  910.     #define ads_unload_dialog          dlg_unload_dialog
  911.     #define ads_new_dialog             dlg_new_dialog
  912.     #define ads_new_positioned_dialog  dlg_new_positioned_dialog
  913.     #define ads_start_dialog           dlg_start_dialog
  914.     #define ads_term_dialog            dlg_term_dialog
  915.     #define ads_action_tile            dlg_action_tile
  916.     #define ads_done_dialog            dlg_done_dialog
  917.     #define ads_done_positioned_dialog dlg_done_positioned_dialog
  918.     #define ads_set_tile               dlg_set_tile
  919.     #define ads_client_data_tile       dlg_client_data_tile
  920.     #define ads_get_tile               dlg_get_tile
  921.     #define ads_get_attr               dlg_get_attr
  922.     #define ads_get_attr_string        dlg_get_attr_string
  923.     #define ads_start_list             dlg_start_list
  924.     #define ads_add_list               dlg_add_list
  925.     #define ads_end_list               dlg_end_list
  926.     #define ads_mode_tile              dlg_mode_tile
  927.     #define ads_dimensions_tile        dlg_dimensions_tile
  928.     #define ads_start_image            dlg_start_image
  929.     #define ads_vector_image           dlg_vector_image
  930.     #define ads_fill_image             dlg_fill_image
  931.     #define ads_slide_image            dlg_slide_image
  932.     #define ads_end_image              dlg_end_image
  933.     #define ads_get_list_string        dlg_get_list_string
  934.  
  935. #endif /* SDS_USEOURDCL */
  936.  
  937. #if defined(__cplusplus)
  938.     }
  939. #endif
  940.