home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / menu / kiwi / include / kiwi_inc.h next >
Encoding:
C/C++ Source or Header  |  1992-03-26  |  9.2 KB  |  376 lines

  1. /*    Definitionsdatei fuer Macros kiwilib    07.90    JF    
  2.     Modul fuer MS C 5.x Turbo C 2.0                    */
  3.  
  4.  
  5. #define KIWI_INC_IN
  6. #define BS_X_NORM        80
  7. #define BS_Y_NORM        25
  8. #define BS_X_SMALL        40
  9. #define BS_X_EXT        132
  10. #define BS_Y_EXT        65
  11.  
  12. #define MAX_COLOR         5
  13.  
  14. #define SW_80x25        0x7
  15. #define C_40x25            0x1
  16. #define C_80x25            0x3
  17. #define C_132x25        0x23
  18. #define C_132x44        0x22
  19. #define C_80x65            0x26
  20. #define C_43_50            0x64
  21.  
  22.  
  23. #define DATEI_NAME_LEN         13
  24. #define DATEI_PFAD_LEN         51
  25. #define DATEI_PFAD_NAME_LEN DATEI_NAME_LEN+DATEI_PFAD_LEN
  26.  
  27. #define MAX_WINDOWS         20
  28. #define VSCHWARZ             0
  29. #define HSCHWARZ              0
  30. #define VBLAU                1
  31. #define VGRUEN               2
  32. #define VROT                 4
  33. #define INTENS               8
  34. #define HBLAU              16
  35. #define HGRUEN             32
  36. #define HROT              64
  37. #define BLINK            128
  38.  
  39. #define VGRAU            (INTENS)
  40. #define VWEIS            (VROT | VBLAU | VGRUEN)
  41. #define VTUERKIS         (VGRUEN | VBLAU)
  42. #define VMAGENTA          (VROT | VBLAU)
  43. #define VBRAUN           (VROT | VGRUEN)
  44. #define VHELLBLAU        (INTENS | VBLAU)
  45. #define VHELLGRUEN       (INTENS | VGRUEN)
  46. #define VHELLROT         (INTENS | VROT)
  47. #define VHELLMAGENTA       (INTENS | VROT | VBLAU)
  48. #define VGELB            (INTENS | VROT | VGRUEN)
  49. #define VHELLWEIS        (INTENS | VROT | VGRUEN | VBLAU)
  50.  
  51. #define HTUERKIS         (HGRUEN | HBLAU)
  52. #define HMAGENTA          (HROT |  HBLAU)
  53. #define HBRAUN            (HROT | HGRUEN)
  54. #define HWEIS             (HROT | HGRUEN | HBLAU)
  55. #define SHADOW          (VWEIS | HSCHWARZ)
  56.  
  57. #define LEER             32
  58. #define MUSTER             178
  59.  
  60. #define CURSOR_OBEN        0
  61. #define CURSOR_UNTEN        1
  62. #define CURSOR_VOLL        2
  63. #define CURSOR_WEG        3
  64.  
  65.  
  66. #define DIREKT             0
  67. #define BIOS             1
  68. #define STANDARD         2
  69. #define MINUS            3
  70. #define STRICHLI        4
  71.  
  72. #define KEIN_RAND         0
  73. #define EINFACH           1
  74. #define DOPPELT           2
  75.  
  76. #define SCROLL_HOCH         1
  77. #define SCROLL_RUNTER       2
  78. #define SCROLL_LINKS        3
  79. #define SCROLL_RECHTS       4
  80. #define HOCH            1
  81. #define HOCH_RECHTS        2
  82. #define RECHTS            3
  83. #define RUNTER_RECHTS        4
  84. #define RUNTER            5
  85. #define RUNTER_LINKS        6
  86. #define LINKS            7
  87. #define HOCH_LINKS        8
  88.  
  89.  
  90. #define STANDARD_ATTRIBUT    0
  91. #define FENSTER_ATTRIBUT      1
  92. #define NORM_COL         0
  93. #define INV_COL          1
  94. #define FLIP            2
  95. #define STAT_COL        3
  96.  
  97. #define HORIZONTAL         0
  98. #define VERTIKAL           1
  99.  
  100. #define OFF            0
  101. #define ON            1
  102. #define STATUS            2
  103. #define ROW_WISE        3
  104. #define EXPLODE            4
  105.  
  106. #define RIGHT_HAND        3
  107. #define LEFT_HAND        4
  108.  
  109. #define AL            -3
  110. #define AR            -2
  111. #define AM            -1
  112.  
  113. #define JA            1
  114. #define NEIN            0
  115. #define ESCAPE            -1
  116. #define TRUE            1
  117. #define    FALSE            0
  118.  
  119.  
  120. #define EDIT_EXIT_TASTEND    0
  121. #define EDIT_PIEPS_TASTEND    1
  122. #define EDIT_EXIT_CUREND    2
  123. #define EDIT_PIEPS_CUREND    3
  124. #define EDIT_EXIT_CURSTART    4
  125. #define EDIT_PIEPS_CURSTART    5
  126. #define EDIT_CURSOR_START    6
  127. #define EDIT_CURSOR_OLD        7
  128. #define EDIT_ALPHA_OFF        8
  129. #define EDIT_ALPHA_ON        9
  130. #define EDIT_NUMERI_OFF        10
  131. #define EDIT_NUMERI_ON        11
  132. #define EDIT_CURSOR_OFF        12
  133. #define EDIT_CURSOR_ON        13
  134. #define EDIT_CURVERT_OFF    14
  135. #define EDIT_CURVERT_ON        15
  136. #define EDIT_BUFFER_ON        16
  137. #define EDIT_BUFFER_OFF        17
  138. #define EDIT_INSERT_ON        18
  139. #define EDIT_INSERT_OFF        19
  140. #define EDIT_NO_CASE        20
  141. #define EDIT_UPPER_ONLY        21
  142. #define EDIT_LOWER_ONLY        22
  143. #define EDIT_CLEAR_OFF        23
  144. #define EDIT_CLEAR_ON        24
  145. #define KW_COMP            25
  146. #define WS_COMP            26
  147. #define CTRL_Y_OFF        27
  148. #define CTRL_Y_ON        28
  149. #define TABS_OFF        29
  150. #define TABS_ON            30
  151.  
  152.  
  153.  
  154. #define EDIT_ROW        0
  155. #define EDIT_FIELD        1
  156.  
  157. #define PULL_DOWN        3
  158. #define POP_UP            4
  159. #define DOPPELKLICK        5
  160. #define LOESCH_WIN        6
  161. #define BEHALT_WIN        7
  162. #define NACH_MAUS        8
  163. #define FESTGELEGT        9
  164. #define COMMENT            10
  165. #define NO_COMMENT        11
  166. #define NUR_MENUE        12
  167. #define AUCH_MENUE        13
  168. #define OHNE_ESCAPE        14
  169. #define MIT_ESCAPE        15
  170. #define DSP_ON            16
  171. #define DSP_OFF            17
  172. #define STAT            18
  173. #define DYN            19
  174. #define BLOESCH_WIN        20
  175. #define BBEHALT_WIN        21
  176. #define MENU_HELP        22
  177. #define MENU_NO_HELP        23
  178. #define MENU_ENABLE_KEEP    24
  179. #define MENU_DISABLE_KEEP    25
  180.  
  181.  
  182.  
  183.  
  184. #define BELASSEN        OFF
  185. #define LOESCHEN        ON
  186. #define    WEITER            3
  187. #define WARTE            4
  188. #define KEEP_FILE        8
  189. #define CLOSE_FILE        9
  190. #define WEITER_ON        10
  191. #define WEITER_OFF        11
  192. #define FORMATIERT        12
  193. #define UNFORMATIERT        13
  194.  
  195. #define CHECK            0
  196. #define APPEND            1
  197.  
  198. #define SHIFT_KEY        3
  199. #define CONTROL_KEY        4
  200. #define ALT_KEY            8
  201. #define FUNCTION_KEY        16
  202.  
  203. #define INVERT_ALL        0
  204. #define INVERT_INPUT        1
  205. #define EXTRA_COL_ON        2
  206. #define EXTRA_COL_OFF        3
  207. #define RETURN_ON        4
  208. #define RETURN_OFF        5
  209. #define TOP_DOWN_ON        6
  210. #define TOP_DOWN_OFF        7
  211. #define BOOL_RET_ON        8
  212. #define BOOL_RET_OFF        9
  213.  
  214.  
  215. #define NUR_PUNKT        0
  216. #define MIT_RAND        1
  217.  
  218.  
  219. #define SHADOW_ON    1
  220. #define SHADOW_OFF    2
  221. #define KLICK_ON    3
  222. #define KLICK_OFF    4
  223. #define KIWI_MODE    5
  224. #define TURBO_MODE    6
  225. #define MICROSOFT    7
  226.  
  227. #define GF_FILES    1
  228. #define GF_DIRS        2
  229. #define GF_DRIVES    4
  230.  
  231.  
  232. #define F1            (unsigned short)((FUNCTION_KEY<<8) | 1)
  233. #define F2            (unsigned short)((FUNCTION_KEY<<8) | 2)
  234. #define F3            (unsigned short)((FUNCTION_KEY<<8) | 3)
  235. #define F4            (unsigned short)((FUNCTION_KEY<<8) | 4)
  236. #define F5            (unsigned short)((FUNCTION_KEY<<8) | 5)
  237. #define F6            (unsigned short)((FUNCTION_KEY<<8) | 6)
  238. #define F7            (unsigned short)((FUNCTION_KEY<<8) | 7)
  239. #define F8            (unsigned short)((FUNCTION_KEY<<8) | 8)
  240. #define F9            (unsigned short)((FUNCTION_KEY<<8) | 9)
  241. #define F10            (unsigned short)((FUNCTION_KEY<<8) | 10)
  242. #define ALT_F3            (unsigned short)(((ALT_KEY | FUNCTION_KEY)<<8)  | 3)
  243. #define ALT_F10            (unsigned short)(((ALT_KEY | FUNCTION_KEY)<<8)  | 10)
  244. #define CTRL_F10        (unsigned short)(((CONTROL_KEY | FUNCTION_KEY)<<8)  | 10)
  245. #define ALT_CTRL_F10        (unsigned short)(((ALT_KEY | CONTROL_KEY | FUNCTION_KEY)<<8) | 10)
  246. #define WINDOW_MOVE        (unsigned short)(((ALT_KEY | CONTROL_KEY)<<8) | 87)
  247.  
  248.  
  249. #define KW_TYPEDEF
  250. typedef short WINDOW;
  251. typedef short VSCREEN;
  252. typedef unsigned short BOOLEAN;
  253.  
  254. #define INT         int
  255. #define SHORT         short int
  256. #define CHAR         char    
  257. #define LONG         long int
  258. #define FLOAT        float
  259. typedef unsigned int       UINT;
  260. typedef unsigned short     USHORT; 
  261. typedef unsigned char      UCHAR;
  262. typedef unsigned long      ULONG;
  263. typedef short        RADIO;
  264.  
  265.  
  266. typedef struct datum_init{    /* Struct fuer Datum festlegen        */
  267.     unsigned short tag;    /* Tag 2 Zeichen            */
  268.     unsigned short monat;    /* Monat 2 Zeichen            */
  269.     unsigned short jahr;    /* Jahr     4 Zeichen            */
  270. }DATUM;
  271.  
  272. typedef struct zeit_init{    /* Struct fuer Zeit festlegen        */
  273.     unsigned short int stunde;    /* Stunde    */
  274.     unsigned short int minute;    /* Minute    */
  275.     unsigned short int sekunde;    /* Sekunde    */
  276.     unsigned short int zehntel;    /* Zehntel    */
  277. }ZEIT;
  278.  
  279.  
  280. typedef struct menu_data_init{
  281.     UCHAR *name;            /* Name        */
  282.     SHORT start;            /* Suchzeichen    */
  283.     UCHAR aktiv;            /* Aktives menue*/
  284.     UCHAR *comment;            /* Kommentar    */
  285. }MENU;
  286.  
  287. typedef struct pick_list_data{
  288.     UCHAR    *data;            /* Pointer auf Data    */
  289.     UINT    anzahl;            /* Anzahl Items        */
  290.     UINT    breite;            /* Breite eines Items    */
  291.     UINT    hoehe;            /* Anzahl gleichzeitig     */
  292.     UINT    auswahl;        /* Anzahl gleichzeitig     */
  293. }PICK_LIST;
  294.  
  295. typedef struct ks_button_data{
  296.     char flag[4];        /* Flagregister für Modus Gedrückt usw    */
  297.     int xa;            /* Links oben                */
  298.     int ya;            /* Links oben                */
  299.     int xe;            /* Rechts unten                */
  300.     int ye;            /* Rechts unten                */
  301.     int len;        /* Länge des Titels            */
  302.     int start;        /* Startcharacter            */
  303.     int shadow_len;        /* Länge des Schattens            */
  304.     int win_xa;        /* Window links oben            */
  305.     int win_ya;        /* Window links oben            */
  306.     int att;        /* Normal oder invers            */
  307.     CHAR *titel;        /* Pointer auf Schalternamen        */
  308.     WINDOW win;        /* Windowpointer            */
  309.     UINT *shadow;        /* Pointer auf Schattenspeicher        */
  310. }BUTTON;
  311.  
  312.  
  313. #define BUTTON_SIZE    sizeof(struct ks_button_data)
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321. /*
  322.    Dieser Struct wird vom einer Funktion aus der Procedure Table uebergeben,
  323.    wenn diese Funktion durch den Screenmanager mittels scanf_mask 
  324.    aufgerufen wird. Er bietet die Moeglichkeit, Informationen ueber den
  325.    zur Zeit in der Eingabe befindlichen Datenwert.            
  326.  
  327.    Die Funktion, die von scanf_mask aufgerufen wird, sollte einen Pointer
  328.    auf diesen Struct erwarten und vom Stack nehmen.            
  329. */
  330.  
  331. struct inter_func_com{
  332.     void     *ptr;    /*     Pointer auf value            */
  333.     int     count;    /*     Nummer des Eintrags in ipp        */
  334.     WINDOW     win;    /*    Windowhandle der Eingabe        */
  335. };
  336.  
  337.  
  338.  
  339.  
  340. /*
  341.    Dieser Struct wird vom einer Funktion über den Windowmanager bei Slidewindows,
  342.    übergeben, wenn eine Grenze erreicht wird. Die Funktionen werden bei Aufruf
  343.    des Slidewindows angegeben. Er ermöglicht die Kontrolle über das Windows und
  344.    den Vs_Screen.
  345.     
  346. */
  347.  
  348. struct slide_func_com{
  349.     WINDOW     win;    /*    Windowhandle der Eingabe        */
  350.     VSCREEN    vs;    /*    Screenhandle                */
  351.     UINT    dir;    /*     Richtung der Bewegung SCROLL_HOCH,RECHTS usw */
  352.     UINT    step;    /*    Wert der Grenzüberschreitung        */
  353. };
  354.  
  355.  
  356.  
  357. #define ATTRIBUT get_attribut()
  358. #define TOP_WINDOW get_last_window()
  359. #define NORMAL set_color(NORM_COL);
  360. #define INVERS set_color(INV_COL);
  361. #define PIEPS putchar(7);
  362. #define FLIPC set_color(FLIP);
  363. #define HIDE_CURSOR set_cursor_size(CURSOR_WEG);
  364.  
  365. #define MAX(x,y)    ((x) > (y)) ? (x) : (y)
  366. #define MIN(x,y)    ((x) < (y)) ? (x) : (y)
  367. #ifdef toupper
  368.     #undef toupper
  369. #endif
  370. #ifdef tolower
  371.     #undef tolower
  372. #endif
  373.  
  374. #define toupper(a)    kw_toupper(a)
  375. #define tolower(a)    kw_tolower(a)
  376.