MANDEL.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:4k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /****************************************************************************
  2.     MANDEL.H -- Constants and function definitions for MANDEL.C
  3.     Copyright (C) 1990 - 1997 Microsoft Corporation
  4. ****************************************************************************/
  5. /* Constants */
  6. #ifdef WIN16
  7. #define APIENTRY        PASCAL
  8. #define UNREFERENCED_PARAMETER
  9. #endif
  10. #define IDM_ABOUT        100
  11. #define IDM_ZOOMIN       101
  12. #define IDM_ZOOMOUT      105
  13. #define IDM_TOP          106
  14. #define IDM_REDRAW       107
  15. #define IDM_EXIT         108
  16. #define IDM_CONTINUOUS   109
  17. #define IDM_PROTSEQ      110
  18. #define IDD_PROTSEQNAME  111
  19. #define IDM_SERVER       112
  20. #define IDD_SERVERNAME   113
  21. #define IDM_ENDPOINT     114
  22. #define IDD_ENDPOINTNAME 115
  23. #define IDM_BIND         116
  24. #define IDM_GO           117
  25. #define IDM_1LINE        200
  26. #define IDM_2LINES       201
  27. #define IDM_4LINES       202
  28. #define WIDTH            300
  29. #define HEIGHT           300
  30. #define LINES              4
  31. #define BUFSIZE         1200     // (HEIGHT * LINES)
  32. #define MAX_BUFSIZE     4800     // (BUFSIZE * sizeof(short))
  33. #define POLL_TIME        2000
  34. #define CNLEN             25     // computer name length
  35. #define UNCLEN       CNLEN+2     // \computername
  36. #define PATHLEN           260    // Path
  37. #define MSGLEN            300    // arbitrary large number for message size
  38. #define MAXPROTSEQ         20    // protocol sequence
  39. #define NCOLORS           11
  40. #define SVR_TABLE_SZ      20
  41. // Status of connection to server
  42. #define SS_DISCONN         0
  43. #define SS_IDLE            1
  44. #define SS_READPENDING     2
  45. #define SS_PAINTING        3
  46. #define SS_LOCAL           4
  47. #define MINPREC       5.0E-9
  48. #define MAXPREC       5.0E-3
  49. #define WM_DOSOMEWORK   (WM_USER+0)
  50. #define WM_PAINTLINE    (WM_USER+1)
  51. #define EXCEPT_MSG      "The remote procedure raised an exception.n
  52. Check your connection settings."
  53. /* Data Structures */
  54. typedef struct _svr_table {
  55.     char    name[UNCLEN];       // name of remote server
  56.     int     hfPipe;             // RPC handle
  57.     int     iStatus;            // status of connection
  58.     int     cPicture;           // picture id for this line
  59.     DWORD   dwLine;             // line we're drawing
  60.     int     cLines;             // lines in this chunk
  61. } svr_table;
  62. #ifndef RPC                     // If RPC, the following data would be
  63.                                 // defined in the IDL file
  64. typedef struct _cpoint {
  65.     double    real;
  66.     double    imag;
  67. } CPOINT;
  68. typedef CPOINT * PCPOINT;
  69. typedef struct _LONGRECT {
  70.     long    xLeft;
  71.     long    yBottom;
  72.     long    xRight;
  73.     long    yTop;
  74. } LONGRECT;
  75. typedef LONGRECT *PLONGRECT;
  76. typedef unsigned short LINEBUF[BUFSIZE];
  77. #endif
  78. typedef struct _calcbuf {
  79.     LONGRECT  rclDraw;
  80.     double    dblPrecision;
  81.     DWORD     dwThreshold;
  82.     CPOINT    cptLL;
  83. } CALCBUF;
  84. /* Function Prototypes */
  85. int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int);
  86. BOOL InitApplication(HANDLE);
  87. BOOL InitInstance(HANDLE, int);
  88. LONG APIENTRY MainWndProc(HWND, UINT, UINT, LONG);
  89. BOOL APIENTRY About(HWND, UINT, UINT, LONG);
  90. BOOL APIENTRY Protseq(HWND, UINT, UINT, LONG);
  91. BOOL APIENTRY Server(HWND, UINT, UINT, LONG);
  92. BOOL APIENTRY Endpoint(HWND, UINT, UINT, LONG);
  93. #ifdef RPC
  94. RPC_STATUS Bind(HWND);
  95. #endif
  96. void CountHistogram(void);
  97. BOOL InitRemote(HWND);
  98. BOOL CheckDrawStatus(HWND);
  99. void SetNewCalc(CPOINT, double, RECT);
  100. void IncPictureID(void);
  101. void ResetPictureID(void);
  102. BOOL CheckDrawingID(int);
  103. DWORD QueryThreshold(void);
  104. // buffer routines
  105. BOOL TakeDrawBuffer(void);
  106. LPVOID LockDrawBuffer(void);
  107. void UnlockDrawBuffer(void);
  108. void ReturnDrawBuffer(void);
  109. void FreeDrawBuffer(void);
  110. #ifndef RPC                     // If RPC, MandelCalc() would be
  111.                                 // defined in the IDL file
  112. void MandelCalc(PCPOINT   pcptLL,
  113.                 PLONGRECT prcDraw,
  114.                 double    precision,
  115.                 DWORD     ulThreshold,
  116.                 LINEBUF * pbBuf);
  117. #endif