home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic 4 Unleashed / Visual_Basic_4_Unleashed_SAMS_Publishing_1995.iso / repease / rep_def.h < prev    next >
Text File  |  1995-03-02  |  9KB  |  350 lines

  1. /******************************************************************************
  2.                          FAR/NEAR SELECTION
  3.     Although REW is compiled in the medium model, in the Borland environment
  4.     it is linked with the large model libraries.  The following variable
  5.     defines the TERFAR constant accordingly.  This constant is used for
  6.     modifying certain library functions.
  7. *******************************************************************************/
  8. #if defined(__TURBOC__)
  9.    #ifdef __DLL__
  10.       #define REPFAR far
  11.       #define REPDLL
  12.    #else
  13.       #define REPFAR
  14.    #endif
  15.    #define DllMain DllEntryPoint
  16. #else
  17.    #ifdef _WINDLL
  18.       #define REPDLL
  19.    #endif
  20.    #define REPFAR
  21. #endif
  22.  
  23. /******************************************************************************
  24.     WIN32 specific defines
  25. *******************************************************************************/
  26. #define REPNT
  27. #if defined (REP32)
  28.    #undef  huge
  29.    #define huge
  30.    #undef  FreeProcInstance 
  31.    #define FreeProcInstance(x) 
  32.    #define COMMAND_ID(wp,lp)        LOWORD(wp)
  33.    #define CONTROL_ID(wp,lp)        LOWORD(wp)
  34.    #define NOTIFY_MSG(wp,lp)        HIWORD(wp)
  35.    #define SCROLL_MSG(wp,lp)        LOWORD(wp)
  36.    #define THUMB_POS(wp,lp)         HIWORD(wp)
  37.    #undef  farmalloc
  38.    #define farmalloc  malloc
  39.    #undef  farrealloc
  40.    #define farrealloc realloc
  41.    #undef  farfree
  42.    #define farfree    free
  43.    #define _fstrtok   strtok
  44.    #define CATCHBUF   jmp_buf
  45. #else
  46.    #define COMMAND_ID(wp,lp)        (wp)
  47.    #define CONTROL_ID(wp,lp)        (wp)
  48.    #define NOTIFY_MSG(wp,lp)        HIWORD(lp)
  49.    #define SCROLL_MSG(wp,lp)        (wp)
  50.    #define THUMB_POS(wp,lp)         LOWORD(lp)
  51.    #define CCSTYLEFLAG DWORD
  52. #endif
  53.  
  54. /******************************************************************************
  55.                 Constant Definitions
  56. *******************************************************************************/
  57.  
  58. #define LOSHORT(l)           ((short)(WORD)(l))
  59. #define HISHORT(l)           ((short)(WORD)((DWORD)(l) >> 16))
  60.  
  61. // Unit conversion macros
  62.  
  63. #define    UnitToPixX(x)  (MulDiv(x,ResX,UNITS_PER_INCH))
  64. #define    UnitToPixY(y)  (MulDiv(y,ResY,UNITS_PER_INCH))
  65.  
  66. #define    PixToUnitX(x)  (MulDiv(x,UNITS_PER_INCH,ResX))
  67. #define    PixToUnitY(y)  (MulDiv(y,UNITS_PER_INCH,ResY))
  68.  
  69. #define MAX_LINES     300
  70. #define MAX_SCR_PAGES 2000
  71. #define MAX_TYPES     30
  72. #define MAX_POINTS    14
  73. #define MAX_FONTS     32
  74. #define MAX_OPTS      7
  75. #define LINE_WIDTH    300
  76. #define BUF_SIZE      16384
  77. #define CUR_FILE_FORMAT 3
  78.  
  79. #define OLD_ITEM_SIZE 385
  80.  
  81. #define TAB_CHAR_LEN   4
  82.  
  83. #define DEFAULT_CFMT  0x0
  84.  
  85. #define BOLD_WEIGHT   700
  86. #define NORM_WEIGHT   400
  87.  
  88. #define UNIFORM       0xFFFF
  89.  
  90. #define LEFT          0x0
  91. #define CENTER        0x1
  92.  
  93. #define REDUCTION     2
  94.  
  95. #define PAINT_MIN       1
  96. #define PAINT_LINE      2
  97. #define PAINT_ITEMS     2
  98. #define PAINT_WIN       3
  99. #define PAINT_PARTIAL_LINE 4
  100. #define PAINT_PARTIAL_WIN  5
  101.  
  102. #define PAINT_DIRECT    1
  103. #define PAINT_MEM       2
  104.  
  105. #define HOR_SCROLL_MIN  0
  106. #define HOR_SCROLL_MAX  100
  107. #define VER_SCROLL_MIN  0
  108. #define VER_SCROLL_MAX  100
  109.  
  110. #define STATUS_ROW      100
  111.  
  112. #define INFO_LEN         40
  113. #define USER_INFO_LEN    60
  114.                                                                                                                             
  115. #define DISP_FILE        3     
  116. #define DISP_LINE        2     
  117.                                
  118. #define SECTION_CHAR     205
  119. #define FIELD_CHAR       215
  120.                                                               
  121. #define MAX_FIELDS       500   
  122. #define MAX_BREAK_FIELDS 9
  123. #define MAX_VALS         6
  124. #define MAX_DT_FORMATS   4
  125. #define MAX_DLGS         12
  126.  
  127. // Section Constants
  128. #define MAX_SECTIONS    31
  129. #define SEC_HDR_PAGE    0
  130. #define SEC_HDR_REP     1
  131. #define SEC_HDR_LVL1    2
  132. #define SEC_HDR_LVL2    3
  133. #define SEC_HDR_LVL3    4
  134. #define SEC_HDR_LVL4    5
  135. #define SEC_HDR_LVL5    6
  136. #define SEC_HDR_LVL6    7
  137. #define SEC_HDR_LVL7    8
  138. #define SEC_HDR_LVL8    9
  139. #define SEC_HDR_LVL9    10
  140. #define SEC_DETAIL1     11
  141. #define SEC_DETAIL2     12
  142. #define SEC_DETAIL3     13
  143. #define SEC_DETAIL4     14
  144. #define SEC_DETAIL5     15
  145. #define SEC_DETAIL6     16
  146. #define SEC_DETAIL7     17
  147. #define SEC_DETAIL8     18
  148. #define SEC_DETAIL9     19
  149. #define SEC_FTR_LVL9    20
  150. #define SEC_FTR_LVL8    21
  151. #define SEC_FTR_LVL7    22
  152. #define SEC_FTR_LVL6    23
  153. #define SEC_FTR_LVL5    24
  154. #define SEC_FTR_LVL4    25
  155. #define SEC_FTR_LVL3    26
  156. #define SEC_FTR_LVL2    27
  157. #define SEC_FTR_LVL1    28
  158. #define SEC_FTR_REP     29
  159. #define SEC_FTR_PAGE    30
  160.  
  161. #define DEF_SEC_HEIGHT  400
  162. #define DEF_PARA_BREAK  13
  163.  
  164. #define EXP_PARM        0
  165. #define EXP_FOOTER      1
  166. #define EXP_OTHER       2
  167.  
  168. // Systems Fields
  169. #define SYS_PAGE        0
  170. #define SYS_DATE        1
  171. #define SYS_TIME        2
  172. #define SYS_REC_COUNT   3
  173. #define SYS_PARA_BREAK  4
  174. #define MAX_SYS_FIELDS  5
  175.  
  176. // Operation Constants
  177. #define FIRST_OP        501
  178.  
  179. #define OP_LPARAN       501
  180. #define OP_RPARAN       502
  181.  
  182. #define OP_PLUS         503
  183. #define OP_MINUS        504
  184. #define OP_MULT         505
  185. #define OP_DIV          506
  186.  
  187. #define OP_EQU          507
  188. #define OP_NOT_EQU      508
  189. #define OP_NOT_EQU2     509
  190. #define OP_GT           510
  191. #define OP_LT           511
  192. #define OP_GTE          512
  193. #define OP_LTE          513
  194.  
  195. #define OP_OR           514
  196. #define OP_AND          515
  197. #define OP_NOT          516
  198.  
  199. #define OP_PART         517
  200. #define OP_COMMA        518
  201.  
  202. #define OP_TOT_OF       519
  203. #define OP_AVE_OF       520
  204. #define OP_MAX_OF       521
  205. #define OP_MIN_OF       522
  206. #define OP_COUNT_OF     523
  207.  
  208. #define OP_IF           524
  209. #define OP_THEN         525
  210. #define OP_ELSE         526
  211.  
  212. #define OP_LEN          527
  213. #define OP_UPPER        528
  214. #define OP_LOWER        529
  215. #define OP_TRIM         530
  216. #define OP_WORD         531
  217. #define OP_CHAR         532
  218. #define OP_MIN          533
  219. #define OP_MAX          534
  220. #define OP_INT          535
  221. #define OP_ROUND        536
  222. #define OP_ABS          537
  223. #define OP_WEEKDAY      538
  224. #define OP_DAY          539
  225. #define OP_MONTH        540
  226. #define OP_YEAR         541
  227. #define OP_FIRST_CHARS  542
  228. #define OP_LAST_CHARS   543
  229. #define OP_TEXT         544
  230. #define LAST_OP         544
  231. #define MAX_OPS         LAST_OP-FIRST_OP+1
  232.  
  233. #define FIRST_TEMP_FIELD 700
  234. #define LAST_TEMP_FIELD  725
  235. #define MAX_TEMP_FIELDS  LAST_TEMP_FIELD-FIRST_TEMP_FIELD+1
  236.  
  237.  
  238. #define SYM_NOP         1000
  239. #define FLD_DUMMY       1001
  240. #define END_OF_EXP      1002
  241.  
  242. #define SFLAG_PAGE_BEF    0x1
  243. #define SFLAG_PAGE_AFT    0x2
  244. #define SFLAG_REPRINT     0x4
  245. #define SFLAG_TRIM_BEFORE 0x8
  246. #define SFLAG_TRIM_AFTER  0x10
  247.  
  248. #define REP_PAUSED      0
  249. #define REP_RESUMED     1
  250. #define REP_ABORT       2
  251.  
  252. #define IN_INIT         0
  253. #define IN_RECORDS      1
  254. #define IN_TOTALS       2
  255. #define IN_EXIT         3
  256.  
  257. // maximum screen objects
  258. #define MAX_ITEMS     300
  259.  
  260. // Screen object types
  261. #define GROUP         0x0
  262. #define LABEL         0x10
  263. #define FIELD         0x20
  264. #define SECTION       0x40
  265. #define PICT          0x80
  266. #define LINE          0x100
  267.  
  268. // Screen object flags
  269. #define OFLAG_FILL    0x2
  270. #define OFLAG_HLEFT   0x4
  271. #define OFLAG_HRIGHT  0x8
  272. #define OFLAG_HCENTER 0x10
  273. #define OFLAG_VTOP    0x20
  274. #define OFLAG_VCENTER 0x40
  275. #define OFLAG_VBOTTOM 0x80
  276. #define OFLAG_SELECT_TOGGLE 0x100
  277.  
  278. // Screen object outline selection
  279. #define OUTLINE_LEFT  0x1
  280. #define OUTLINE_RIGHT 0x2
  281. #define OUTLINE_TOP   0x4
  282. #define OUTLINE_BOT   0x8
  283.  
  284. // Cursor sizing tab constants
  285. #define TAB_NORTH    0
  286. #define TAB_SOUTH    1
  287. #define TAB_EAST     2
  288. #define TAB_WEST     3
  289. #define TAB_NW       4
  290. #define TAB_NE       5
  291. #define TAB_SW       6
  292. #define TAB_SE       7
  293.  
  294. // cursor rectangle dimensions
  295. #define DEF_RECT_WIDTH  300
  296. #define DEF_RECT_HEIGHT 50
  297.  
  298. // Pull tabs
  299. #define MAX_TABS      8
  300. #define TAB_WIDTH     16
  301. #define TAB_HEIGHT    16
  302.  
  303. // Ruler type
  304. #define RULER_OFF       0
  305. #define RULER_INCH      1
  306. #define RULER_CM        2
  307.  
  308. // ruler marker lengths
  309. #define RULER_MARK1_LEN 40
  310. #define RULER_MARK2_LEN 30
  311. #define RULER_MARK3_LEN 20
  312.  
  313. // description window dimensions
  314. #define DESC_MARGIN  15
  315. #define DESC_WIDTH   600
  316. #define DESC_HEIGHT  70
  317.  
  318. // Description window types
  319. #define DESC_EDIT    1
  320. #define DESC_STATIC  2
  321.  
  322. // index of the Arrange pop menu
  323. #define MENU_ARRANGE 7
  324.  
  325. // line angle types
  326. #define ANGLE_HORZ    0
  327. #define ANGLE_VERT    1
  328. #define ANGLE_FDIAG   2
  329. #define ANGLE_BDIAG   3
  330.  
  331. // option rectangle ids
  332. #define OPT_LABEL     0
  333. #define OPT_DATA      1
  334. #define OPT_CALC      2
  335. #define OPT_SYS       3
  336. #define OPT_DLG       4
  337. #define OPT_LINE      5
  338. #define OPT_FIELD     6
  339. #define OPT_LABEL     0
  340.  
  341. #define OPT_LBL_LABEL "Label"
  342. #define OPT_LBL_DATA  "Data"
  343. #define OPT_LBL_CALC  "Calc"
  344. #define OPT_LBL_SYS   "System"
  345. #define OPT_LBL_DLG   "Dialog"
  346. #define OPT_LBL_LINE  "Line"
  347. #define OPT_LBL_FIELD "Fields"
  348.  
  349. #define    ResetUintFlag(flags,flag)  ((UINT)(flags)&(~((UINT)(flag))))
  350.