Annotation of gcl520h/tw.h, revision 1.1.1.1

1.1       root        1: #ifndef _TEXTWIN_DOT_H
                      2: #define _TEXTWIN_DOT_H
                      3: 
                      4: /*
                      5:  * TW.H              5.20A  June 8, 1995
                      6:  *
                      7:  * The Greenleaf Comm Library
                      8:  *
                      9:  * Copyright (C) 1984-1995 Greenleaf Software Inc.  All Rights Reserved.
                     10:  *
                     11:  * NOTES
                     12:  *
                     13:  *  This file contains all the function prototypes, structures, and other
                     14:  *  definitions needed to use the TW stuff under Windows.
                     15:  *
                     16:  * MODIFICATIONS
                     17:  *
                     18:  * December 12, 1992  4.00A : Initial release
                     19:  *
                     20:  * December 6, 1994   5.00D : TWGetLine() was modified for Win32 to accept
                     21:  *                            Unicode strings for the caption and prompt.
                     22:  *                            The function did not change for 16-bit Windows.
                     23:  *
                     24:  */
                     25: 
                     26: #include "compiler.h"
                     27: #if defined( GF_WINDOWS ) || defined( GF_WIN32 )
                     28: #include <windows.h>
                     29: 
                     30: #ifdef GF_ZORTECH_CPP
                     31: #include <dos.h>
                     32: #define _fcalloc farcalloc
                     33: #define _ffree farfree
                     34: #endif
                     35: 
                     36: 
                     37: typedef enum tw_attribute { TW_NORMAL=0, TW_REVERSE } TW_ATTR;
                     38: 
                     39: /*
                     40:  * VTW stands for Virtual Text Window.  A Text Window is nominally a virtual
                     41:  * 132x25 window, with scroll back capability of 75 lines.
                     42:  */
                     43: 
                     44: #define VTW_MAX_ROWS         25
                     45: #define VTW_MAX_COLS         132
                     46: #define VTW_BUFFER_ROWS      100
                     47: #define VTW_BUFFER_COLS      132
                     48: #define VTW_CARET_ROW_OFFSET ( VTW_BUFFER_ROWS - VTW_MAX_ROWS )
                     49: 
                     50: struct TWINSTANCEDATAtag {
                     51:     HINSTANCE ThisInstance;
                     52:     HINSTANCE WhatInstance;
                     53:     int ThisShow;
                     54:     HWND ClientHandle;
                     55:     int TWAppClosed;
                     56:     HMENU TWMainMenu;
                     57:     HMENU TWFileMenu;
                     58:     HMENU TWWindowMenu;
                     59:     HWND TWFrameHandle;
                     60: #if defined( GF_WINDOWS ) && !defined( GF_WIN32 )
                     61:     HTASK hTask;
                     62: #elif defined( GF_WIN32 )
                     63:     HANDLE hTask;
                     64: #else
                     65:     int hTask;
                     66: #endif
                     67:     int nRefCount;
                     68: };
                     69: 
                     70: typedef struct {
                     71:     HWND hwnd;
                     72:     LPSTR Title;
                     73:     int VTWRows;                     /* Rows in the Virtual Text Window    */
                     74:     int VTWCols;                     /* Cols in the Virtual Text Window    */
                     75:     int VTWCaretRow;                 /* Current Caret row in the VTW       */
                     76:     int VTWCaretCol;                 /* Current Caret col in the VTW       */
                     77:     int CharWidth;
                     78:     int CharHeight;
                     79:     int VisibleRows;
                     80:     int VisibleCols;
                     81:     int VisibleXPixels;
                     82:     int VisibleYPixels;
                     83:     int FirstVisibleCol;
                     84:     int FirstVisibleRow;
                     85:     int FirstVisibleRowOffset;
                     86:     int CaretOn;
                     87:     int HasFocus;
                     88:     int Scrollable;
                     89:     int CurrentAttribute;
                     90:     unsigned int KeyboardHead;
                     91:     unsigned int KeyboardTail;
                     92:     unsigned int KeyboardBuffer[ 128 ];
                     93:     char ScreenBuffer[ VTW_BUFFER_ROWS ][ VTW_BUFFER_COLS ];
                     94:     char AttributeBuffer[ VTW_BUFFER_ROWS ][ VTW_BUFFER_COLS ];
                     95:     HFONT Font;
                     96:     HFONT OldFont;
                     97:     int LastCommand;
                     98:     struct TWINSTANCEDATAtag far *lpThis;
                     99: #if !defined( GF_ZORTECH_CPP ) && !defined( GF_WATCOM_C ) && !defined( GF_SYMANTEC_CPP )
                    100: } GF_FAR TW_WINDOW;
                    101: #else
                    102: } STW_WINDOW;
                    103: 
                    104: #if defined( GF_SYMANTEC_CPP )
                    105: #if __INTSIZE__ == 2 && ( __SMALL__ || __COMPACT__ || __MEDIUM__ )
                    106: #define TW_WINDOW   STW_WINDOW GF_FAR
                    107: #else
                    108: #define TW_WINDOW   STW_WINDOW GF_FAR
                    109: #endif
                    110: #else
                    111: #define TW_WINDOW   STW_WINDOW GF_FAR
                    112: #endif
                    113: #endif
                    114: 
                    115: #define SetTWNotifyHandler  SetTWCommNotifyHandler
                    116: 
                    117: #ifdef __cplusplus
                    118: extern "C" {
                    119: #endif
                    120: 
                    121: extern int TWAppClosed;
                    122: extern HMENU TWMainMenu;
                    123: extern HMENU TWFileMenu;
                    124: extern HMENU TWWindowMenu;
                    125: extern HWND TWFrameHandle;
                    126: 
                    127: 
                    128: int GF_CONV TWInitialize( HANDLE hInstance,
                    129:                   HANDLE PreviousInstance,
                    130:                   int nCmdShow,
                    131:                   char GF_DLL_FAR *title );
                    132: TW_WINDOW * GF_CONV TWDefineWindow( int ul_row,
                    133:                                     int ul_col,
                    134:                                     int width,
                    135:                                     int height,
                    136:                                     int scrollable,
                    137:                                     char GF_DLL_FAR *name,
                    138:                                     char GF_DLL_FAR *font,
                    139:                                     int font_size );
                    140: void GF_CONV TWPutc( TW_WINDOW *window, int c );
                    141: void GF_CONV TWPuts( TW_WINDOW *window, char GF_DLL_FAR *string );
                    142: void GF_CDECL TWPrintf( TW_WINDOW *window, char GF_DLL_FAR *fmt, ... );
                    143: 
                    144: int GF_CONV TWKbhit( TW_WINDOW *vw );
                    145: unsigned int GF_CONV TWGetkey( TW_WINDOW *vw );
                    146: void GF_CONV TWPokec( TW_WINDOW *window, int row,
                    147:                        int col, int c );
                    148: void GF_CONV TWScrollUp( TW_WINDOW *window, int line_count );
                    149: void GF_CONV TWScrollDown( TW_WINDOW *window, int line_count );
                    150: void GF_CONV TWYield( void );
                    151: void GF_CONV TWSetAttribute( TW_WINDOW *window, int attribute );
                    152: void GF_CONV TWPokes( TW_WINDOW *window, int row,
                    153:                        int col, char GF_DLL_FAR *string );
                    154: void GF_CONV TWGoto( TW_WINDOW *window, int row, int col );
                    155: void GF_CDECL TWPokef( TW_WINDOW *window, int row, int col,
                    156:                            char GF_DLL_FAR *fmt, ... );
                    157: void GF_CONV TWClearWindow( TW_WINDOW *window );
                    158: void GF_CONV TWInsertChar( TW_WINDOW *window, int row, int col, int c );
                    159: void GF_CONV TWDeleteChar( TW_WINDOW *window, int row, int col );
                    160: void GF_CONV TWClearToEndOfLine( TW_WINDOW *window, int row, int col );
                    161: void GF_CONV TWClearToEndOfWindow( TW_WINDOW *window, int row, int col );
                    162: #if defined( GF_WIN32 )
                    163: int GF_CONV TWGetLine( LPWSTR caption, LPWSTR prompt,
                    164:                        char GF_DLL_FAR *buffer, int n );
                    165: #else
                    166: int GF_CONV TWGetLine( char GF_DLL_FAR *caption, char GF_DLL_FAR *prompt,
                    167:                        char GF_DLL_FAR *buffer, int n );
                    168: #endif
                    169: int GF_CONV TWMenu( TW_WINDOW *tw, unsigned char row, unsigned char col, char GF_DLL_FAR *menu[] );
                    170: 
                    171: 
                    172: char * GF_CONV TWGets( TW_WINDOW *window, char GF_DLL_FAR *string, int length );
                    173: struct TWINSTANCEDATAtag far * GF_CONV GetTWInstanceDataPtr( void );
                    174: 
                    175: void GF_CONV TWFreeInstanceData( void );
                    176: void GF_CONV TWFreeWindow( TW_WINDOW *tw );
                    177: 
                    178: #ifdef GF_ZORTECH_CPP
                    179: void far * _fmemset( void far *buf, int val, size_t count );
                    180: char far * _fstrcpy( char far *string1, const char far *string2 );
                    181: void far * _fmemmove( void far *dest, const void far *srce, size_t count );
                    182: #endif
                    183: 
                    184: #ifndef VGFD_DLL
                    185: extern int ( GF_CONV * TWCommNotifyHandler )( TW_WINDOW *tw, HWND hwnd,
                    186:                             WPARAM wParam, LPARAM lParam );
                    187: 
                    188: void GF_CONV SetTWCommNotifyHandler( int (GF_CONV *f)( TW_WINDOW *tw,
                    189:                                                        HWND hwnd,
                    190:                                                        WPARAM wParam,
                    191:                                                        LPARAM lParam ) );
                    192: #endif
                    193: 
                    194: 
                    195: #ifdef __cplusplus
                    196: }
                    197: #endif
                    198: 
                    199: #endif /* ifdef GF_WINDOWS */
                    200: 
                    201: #endif /* #ifndef _TEXTWIN_DOT_H */
                    202: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.