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

Windows编程

开发平台:

Visual C++

  1. /******************************Module*Header*******************************
  2. * Module Name: julia.h
  3. *
  4. * Header file for Julia.c
  5. *
  6. * Created: 24-Oct-1991 18:15:12
  7. *
  8. * Copyright (C) 1993-1997 Microsoft Corporation
  9. *
  10. * Contains the #define values for the menu items' id and handy globals
  11. *
  12. * Dependencies:
  13. *       none
  14. *
  15. **************************************************************************/
  16. #include <string.h>
  17. #include <winspool.h>
  18. #include <drivinit.h>
  19. #include "jtypes.h"
  20. #include "bndscan.h"
  21. #include "dibmp.h"
  22. #include "printer.h"
  23. //
  24. // A large number.  Used in all the fix-point versions of the fractal
  25. // generation algorithms.
  26. //
  27. #define FIRST_PIXEL     429496796
  28. //
  29. // Threshold value (pixels) for blting drawing from shadow bitmap to
  30. // screen.  Used in fractal drawing algorithm.  Minimize device access.
  31. //
  32. #define BATCH           25000
  33. //
  34. // menu item IDs
  35. //
  36. #define MM_ABOUT        8000
  37. #define MM_JULIA 8001
  38. #define MM_MANDEL   8002
  39. #define MM_RLEVIEWER    8006
  40. #define MM_SAVE  8003
  41. #define MM_SAVE_MONO    8004
  42. #define MM_LOAD  8005
  43. #define MM_CREATE_JULIA_THREAD 7001
  44. #define MM_SET_XFORM_ATTR 7002
  45. #define MM_CREATE_MANDEL_THREAD 7003
  46. #define MM_FLOAT        7009
  47. #define MM_FIX          7010
  48. #define MM_TP_IDLE              7030
  49. #define MM_TP_LOW               7031
  50. #define MM_TP_BELOW_NORMAL      7032
  51. #define MM_TP_NORMAL            7033
  52. #define MM_TP_ABOVE_NORMAL      7034
  53. #define MM_TP_HIGH              7035
  54. #define MM_TP_TIME_CRITICAL     7036
  55. #define MM_ITERATION_100        7011
  56. #define MM_ITERATION_500        7012
  57. #define MM_ITERATION_1000       7013
  58. #define MM_ITERATION_5000       7014
  59. #define MM_ITERATION_DOUBLE     7015
  60. #define MM_STEP_ONE             7016
  61. #define MM_STEP_TWO             7017
  62. #define MM_STEP_THREE           7018
  63. #define MM_STRETCHBLT           7019
  64. #define MM_BITBLT               7020
  65. #define MM_BLACKONWHITE         7021
  66. #define MM_COLORONCOLOR         7022
  67. #define MM_WHITEONBLACK         7023
  68. #define MM_HALFTONE             7024
  69. #define MM_OPT_4                7025
  70. #define MM_CLIP                 7026
  71. #define MM_RM_CLIP              7027
  72. #define MM_ERASE                7028
  73. #define MM_SETDIB2DEVICE        7029
  74. // defined in bndscan.h
  75. //
  76. // #define MM_SELCLIPRGN           7050
  77. // defined in printer.h
  78. //
  79. // #define MM_PORTRAIT             7040
  80. // #define MM_LANDSCAPE            7041
  81. // #define MM_PRINTER              9000
  82. #define MM_RLELOAD_DEMO     9800
  83. #define MM_RLELOAD          9801
  84. #define MM_RLESAVE          9802
  85. #define MM_CLEAR            9803
  86. #define MM_RLEPLAY          9804
  87. #define MM_RLEPLAYCONT      9805
  88. #define IDM_CASCADE 30
  89. #define IDM_TILE 31
  90. #define IDM_ARRANGE 32
  91. #define IDM_CLOSEALL 33
  92. //
  93. // Resource IDs
  94. //
  95. #define ACCEL_ID        100
  96. #define APPICON         1001
  97. #define VIEWICON        1003
  98. #define PAINTCURSOR     1002
  99. //
  100. // Handy globals
  101. //
  102. extern HPEN   hpnRed;
  103. extern HPEN   hpnBlack;
  104. extern HPEN   hpnGreen;
  105. extern INT    giPen;
  106.  
  107. extern HANDLE ghModule;
  108. extern HWND   ghwndMain;
  109. extern HWND   ghwndClient;
  110. extern HANDLE ghAccel;
  111. extern HMENU  hMenu, hChildMenu, hViewMenu;
  112. extern HMENU  hViewSubOne, hSubMenuOne, hSubMenuThree;
  113. extern HMENU  hPrinterMenu;
  114. extern CHAR   gszFile[20];
  115. extern CHAR   gszMapName[20];
  116. extern char   gtext[256];
  117. extern BOOL   gFloat;
  118. extern LONG   gStep;
  119. extern LONG   gIteration;
  120. extern BOOL   gbStretch;
  121. extern INT    giStretchMode;
  122. extern INT    giDmOrient;
  123. extern INT    giNPrinters;
  124. extern HPALETTE        ghPal, ghPalOld;
  125. extern double xFrom, xTo, yFrom, yTo, c1, c2;
  126. extern LONG   lxFrom, lxTo, lyFrom, lyTo, lc1, lc2;
  127. extern PPRINTER_INFO_1     gpPrinters;
  128. extern PSZ                *gpszPrinterNames;
  129. extern PSZ                *gpszDeviceNames;
  130. BOOL bCycle(HWND);
  131. BOOL bCleanupPrinter(VOID);
  132. INT  iCreatePenFrPal(HDC, PVOID *, INT, HPALETTE *);
  133. BOOL bBoundaryScanFix(PINFO);
  134. BOOL bChangeDIBColor(HDC, PINFO, INT);
  135. BOOL bInitPrinter(HWND);
  136. BOOL bCleanupPrinter(VOID);
  137. BOOL SaveBitmapFile(HDC, HBITMAP, PSTR);
  138. BOOL LoadBitmapFile(HDC, PINFO, PSTR);
  139. HPALETTE CopyPalette(HPALETTE);
  140. //void cdecl ErrorOut(char errstring[30]);
  141. LPTSTR GetStringRes (int id);
  142. #define IDS_NO_BITMAP               100
  143. #define IDS_CYCLE_THREAD_QUIT       101
  144. #define IDS_CYCLE_THREAD            102
  145. #define IDS_IVALID_PEN_WIDTH        103
  146. #define IDS_MANDEL_DREAM            104
  147. #define IDS_JULIA                   105
  148. #define IDS_MANDELBROT              106
  149. #define IDS_VIEWER                  107
  150. #define IDS_CLICK_HERE_VIEW         108
  151. #define IDS_ITER_100                109
  152. #define IDS_ITER_500                110
  153. #define IDS_ITER_1000               111
  154. #define IDS_ITER_5000               112
  155. #define IDS_ITERATION               113
  156. #define IDS_FILE_LIST1              114
  157. #define IDS_FILE_LIST2              115
  158. #define IDS_FILE_LIST3              116
  159. #define IDS_SAVING_MONO_BITMAP      117
  160. #define IDS_BOUNDARY                118
  161. #define IDS_NO_SAVED_BITMAP         119
  162. #define IDS_ELAPSED_TIME            120
  163. #define IDS_STEP                    121
  164. #define IDS_FLOATING_PT             122
  165. #define IDS_FIXED_PT                123
  166. #define IDS_SELECT_DRAW_SET         124
  167. #define IDS_LOADING_BITMAPS         125
  168. #define IDS_SAVING_MEMORY_RLE       126
  169. #define IDS_SAVING_LOADED_BMP       127
  170. #define IDS_DISCARD_LOADED_BMP      128
  171. #define IDS_PLAY_LOADED_BMP         129
  172. #define IDS_PLAY_BMP_CONT           130
  173. #define IDS_FRAMES                  131
  174. #define IDS_FILES                   132
  175. #define IDS_CONT_PLAY               133
  176. #define IDS_SINGLE_PLAY             134
  177. #define IDS_MOUSE                   135
  178. #define IDS_DRAWING                 136
  179. #define IDS_DRAWING_DONE            137
  180. #define IDS_NO_BITMAP_TO_DRAW       138
  181. #define IDS_NO_RLE_TO_SAVE          139
  182. #define IDS_PLAY_THREAD_END         140
  183. #define IDS_PLAY_THREAD             141
  184. #define IDS_ERR_NOT_A_DIB           142
  185. #define IDS_ERR_CANT_ENUM_PRINTERS  143
  186. #define IDS_NO_BITMAP_TO_SAVE       144
  187. #define IDS_FILE_OPEN_FAILED        145
  188. #define IDS_BITMAP_NOT_CREATED      146