95 lines
2.7 KiB
C++
95 lines
2.7 KiB
C++
#ifndef _INC_WINIO_H
|
|
#define _INC_WINIO_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
class WinIo : public CMDIChildWnd
|
|
{
|
|
DECLARE_DYNCREATE(WinIo)
|
|
|
|
public:
|
|
WinIo();
|
|
WinIo(LPCTSTR title);
|
|
char * gets(char *pchTmp);
|
|
int printf(const char *fmt, ...);
|
|
int vprintf(const char *fmt, va_list marker);
|
|
int fgetchar(void);
|
|
int kbhit(void);
|
|
int fputchar(int c);
|
|
int puts(const char *s);
|
|
int fail(char *s);
|
|
BOOL winio_warn(BOOL confirm, const char *fmt, ...);
|
|
int Initialize(void);
|
|
void winio_clear(void);
|
|
void winio_close();
|
|
void winio_yield();
|
|
BOOL winio_setfont(WORD wFont);
|
|
void winio_settitle(char *pchTitle);
|
|
BOOL SetPaint(BOOL on);
|
|
void OnPaint();
|
|
void OnSize(UINT nType, int cx, int cy);
|
|
void OnDestroy();
|
|
void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
void OnSetFocus(CWnd* pOldWnd);
|
|
void OnKillFocus(CWnd* pNewWnd);
|
|
void set_font(void);
|
|
void adjust_caret();
|
|
void compute_repaint(void);
|
|
void addchars(char *pch, unsigned cch);
|
|
void append2buffer(char *pch, unsigned cch);
|
|
void make_avail(unsigned cch);
|
|
int chInput(void);
|
|
LPSTR nextline(LPSTR p);
|
|
LPSTR prevline(LPSTR p);
|
|
|
|
|
|
protected:
|
|
virtual ~WinIo();
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
private:
|
|
char winio_class[32];
|
|
char winio_icon[32];
|
|
char winio_title[32];
|
|
unsigned bufsize;
|
|
unsigned kbsize;
|
|
unsigned bufused;
|
|
unsigned bufSOI;
|
|
unsigned curr_font;
|
|
int tWinioVisible;
|
|
int tCaret;
|
|
int tFirstTime;
|
|
int cxChar;
|
|
int cyChar;
|
|
int cxScroll;
|
|
int cyScroll;
|
|
int cxWidth;
|
|
int cyHeight;
|
|
int xWinWidth;
|
|
int yWinHeight;
|
|
int xCurrPos;
|
|
int xLeftOfWin;
|
|
int yTopOfWin;
|
|
int yCurrLine;
|
|
unsigned pchKbIn;
|
|
unsigned pchKbOut;
|
|
LPSTR fpBuffer;
|
|
LPSTR fpTopOfWin;
|
|
LPSTR fpCurrLine;
|
|
LPSTR fpKeyboard;
|
|
BOOL tTerminate;
|
|
BOOL tPaint;
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
} /* end extern "C" */
|
|
#endif
|
|
|
|
#endif
|