home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Database / CLIPR503.W96 / LLIBG.C_ / LLIBG.C
Text File  |  1995-06-26  |  6KB  |  181 lines

  1. /***
  2. *
  3. *  LLIBG.CH
  4. *  Standard Light Lib Graphics definitions
  5. *
  6. *  Copyright (c) 1992-1995, D.F.L. and Computer Associates
  7. *  All rights reserved.
  8. *
  9. */
  10.  
  11. //                       ------------- Graphics definitions -------
  12.  
  13. // Screen video modes supplied with CA-Clipper
  14.  
  15. #DEFINE LLG_VIDEO_TXT                    3
  16. #DEFINE LLG_VIDEO_VGA_640_480_16        18
  17.  
  18.  
  19. // Other video modes available from D.F.L.
  20.  
  21. #DEFINE LLG_VIDEO_VESA_800_592_16      258
  22. #DEFINE LLG_VIDEO_VESA_1024_768_16     260
  23. #DEFINE LLG_VIDEO_VESA_1280_1024_16    262
  24.  
  25. #DEFINE LLG_VIDEO_VESA_640_480_256     257
  26. #DEFINE LLG_VIDEO_VESA_800_592_256     259
  27. #DEFINE LLG_VIDEO_VESA_1024_768_256    261
  28. #DEFINE LLG_VIDEO_VESA_1280_1024_256   263
  29.  
  30. #DEFINE LLG_VIDEO_VESA_640_480_32K     272
  31. #DEFINE LLG_VIDEO_VESA_800_592_32K     275
  32. #DEFINE LLG_VIDEO_VESA_1024_768_32K    278
  33. #DEFINE LLG_VIDEO_VESA_1280_1024_32K   281
  34.  
  35. #DEFINE LLG_VIDEO_VESA_640_480_64K     273
  36. #DEFINE LLG_VIDEO_VESA_800_592_64K     276
  37. #DEFINE LLG_VIDEO_VESA_1024_768_64K    279
  38. #DEFINE LLG_VIDEO_VESA_1280_1024_64K   282
  39.  
  40. #DEFINE LLG_VIDEO_VESA_640_480_16M     274
  41. #DEFINE LLG_VIDEO_VESA_800_592_16M     277
  42. #DEFINE LLG_VIDEO_VESA_1024_768_16M    280
  43. #DEFINE LLG_VIDEO_VESA_1280_1024_16M   283
  44.  
  45. #define LLG_VIDEO_VESA_TXT_80_60       264
  46. #define LLG_VIDEO_VESA_TXT_132_25      265
  47. #define LLG_VIDEO_VESA_TXT_132_43      266
  48. #define LLG_VIDEO_VESA_TXT_132_50      267
  49. #define LLG_VIDEO_VESA_TXT_132_60      268
  50.  
  51. // Screen display objects modes
  52. #DEFINE LLG_MODE_SET                  -1
  53. #DEFINE LLG_MODE_AND                  -2
  54. #DEFINE LLG_MODE_OR                   -3
  55. #DEFINE LLG_MODE_XOR                  -4
  56. #DEFINE LLG_MODE_NIL                  -5
  57.  
  58. // Object painting modes
  59. #DEFINE LLG_FILL                      .T.
  60. #DEFINE LLG_FRAME                     .F.
  61.  
  62. // Mode state
  63. #DEFINE LLG_MODE_TEXT_ROW              1
  64. #DEFINE LLG_MODE_TEXT_COL              2
  65. #DEFINE LLG_MODE_GRAPH_ROW             3
  66. #DEFINE LLG_MODE_GRAPH_COL             4
  67. #DEFINE LLG_MODE_FONT_ROW              5
  68. #DEFINE LLG_MODE_FONT_COL              6
  69. #DEFINE LLG_MODE_COLOR_MAX             7
  70. #DEFINE LLG_MODE_IN_USE                8
  71. #DEFINE LLG_MODE_LIB_VERSION           9
  72. #DEFINE LLG_MODE_LST_COLOR            10
  73. #DEFINE LLG_MODE_LST_MODE             11
  74.  
  75. // Bmp dimensions values
  76. #DEFINE LLG_BMP_X                      1
  77. #DEFINE LLG_BMP_Y                      2
  78.  
  79. // BOX and DispBox default for 3D BOX
  80. #DEFINE LLG_BOX_GRAY_STD               CHR(2)+CHR(8)
  81. #DEFINE LLG_BOX_GRAY_SQUARE            CHR(4)+CHR(8)
  82.  
  83. // Exclusion modes
  84. #DEFINE LLG_EXCL_KILL_ALL             -1
  85.  
  86. // Font Standard Select
  87. #DEFINE LLG_FNT_ROM                   -2
  88.  
  89. // Font Array Structure
  90. #DEFINE LLG_FNT_SIGNATURE              1
  91. #DEFINE LLG_FNT_CARGO                  2
  92. #DEFINE LLG_FNT_FIXED                  3
  93. #DEFINE LLG_FNT_NAME                   4
  94. #DEFINE LLG_FNT_BOLD                   5
  95. #DEFINE LLG_FNT_ITALIC                 6
  96. #DEFINE LLG_FNT_STRIKEOUT              7
  97. #DEFINE LLG_FNT_HEIGHT                 8
  98. #DEFINE LLG_FNT_AVGWIDTH               9
  99. #DEFINE LLG_FNT_SIZE                  10
  100.  
  101. // Font Signature
  102. #DEFINE LLG_FNT_IS_FND         "LLIBFND"
  103. #DEFINE LLG_FNT_IS_FNT         "LLIBFNT"
  104.  
  105. // Font display modes
  106. #DEFINE LLG_FNT_DISPLAY_NORMAL         0
  107. #DEFINE LLG_FNT_DISPLAY_ITALIC         1
  108. #DEFINE LLG_FNT_DISPLAY_BOLD           2
  109. #DEFINE LLG_FNT_DISPLAY_UNDERLINE      4
  110.  
  111. // Standard Colors
  112. #DEFINE LLG_CLR_BLACK                  0
  113. #DEFINE LLG_CLR_BLUE                   1
  114. #DEFINE LLG_CLR_GREEN                  2
  115. #DEFINE LLG_CLR_CYAN                   3
  116. #DEFINE LLG_CLR_RED                    4
  117. #DEFINE LLG_CLR_MAGENTA                5
  118. #DEFINE LLG_CLR_BROWN                  6
  119. #DEFINE LLG_CLR_WHITE                  7
  120. #DEFINE LLG_CLR_GRAY                   8
  121. #DEFINE LLG_CLR_BR_BLUE                9
  122. #DEFINE LLG_CLR_BR_GREEN              10
  123. #DEFINE LLG_CLR_BR_CYAN               11
  124. #DEFINE LLG_CLR_BR_RED                12
  125. #DEFINE LLG_CLR_BR_MAGANTA            13
  126. #DEFINE LLG_CLR_YELLOW                14
  127. #DEFINE LLG_CLR_BR_WHITE              15
  128.  
  129. //                       ------------- Mouse definitions ----------
  130.  
  131. // Regions modes
  132. #DEFINE LLM_INCLUDE                   .T.
  133.  
  134. // Button Up/Down
  135. #DEFINE LLM_BUTTON_UP                  0
  136. #DEFINE LLM_BUTTON_DOWN                1
  137.  
  138. // Mouse state
  139. #DEFINE LLM_STATE_X                    1
  140. #DEFINE LLM_STATE_Y                    2
  141. #DEFINE LLM_STATE_ROW                  3
  142. #DEFINE LLM_STATE_COL                  4
  143. #DEFINE LLM_STATE_LEFT                 5
  144. #DEFINE LLM_STATE_RIGHT                6
  145. #DEFINE LLM_STATE_VISIBLE              7
  146. #DEFINE LLM_STATE_DRIVER               8
  147. #DEFINE LLM_STATE_SHAPE                9
  148. #DEFINE LLM_STATE_CLICKS_LEFT         10
  149. #DEFINE LLM_STATE_CLICKS_RIGHT        11
  150.  
  151. // Mouse cursor shapes
  152. #DEFINE LLM_CURSOR_ARROW              -1
  153. #DEFINE LLM_CURSOR_SIZE_NS            -2
  154. #DEFINE LLM_CURSOR_SIZE_WE            -3
  155. #DEFINE LLM_CURSOR_SIZE_NW_SE         -4
  156. #DEFINE LLM_CURSOR_SIZE_NE_SW         -5
  157. #DEFINE LLM_CURSOR_HAND               -6
  158. #DEFINE LLM_CURSOR_FINGER             -7
  159. #DEFINE LLM_CURSOR_CROSS              -8
  160. #DEFINE LLM_CURSOR_WAIT               -9
  161.  
  162.  
  163. // Mouse coordinates units
  164. #DEFINE LLM_COOR_TEXT                 .F.
  165. #DEFINE LLM_COOR_GRAPH                .T.
  166.  
  167. // Mouse initial state and positions
  168. #DEFINE LLM_INIT_STATE                {0,0,0,0,LLM_BUTTON_UP,LLM_BUTTON_UP,.F.,0,-1,0,0}
  169.  
  170. //                       ------------- Standard fonts definitions -------------
  171. #DEFINE FONT_SIZE_X                      8    // X size of standard font
  172. #DEFINE FONT_SIZE_Y                     16    // Y size of standard font
  173.  
  174. // Column/Row to Pixel translation
  175. #XTRANSLATE Col2Pxl(<nCol>) => ( (<nCol>) * FONT_SIZE_X )
  176. #XTRANSLATE Row2Pxl(<nRow>) => ( (<nRow>) * FONT_SIZE_Y )
  177.  
  178. // Pixel to Column/Row translation
  179. #XTRANSLATE X2Col(<nX>) => INT( (<nX>) / FONT_SIZE_X )
  180. #XTRANSLATE Y2Row(<nY>) => INT( (<nY>) / FONT_SIZE_Y )
  181.