3 base class of screen driver
5 Made by Studio Breeze. 2002
7 Permission is hereby granted, free of charge, to any person obtaining a copy
8 of this software and associated documentation files (the "Software"), to deal
9 in the Software without restriction, including without limitation the rights
10 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 copies of the Software, and to permit persons to whom the Software is
12 furnished to do so, subject to the following conditions:
14 The above copyright notice and this permission notice shall be included in
15 all copies or substantial portions of the Software.
17 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
32 #ifndef __dosmode_t_defined__
33 #define __dosmode_t_defined__
34 typedef int dosmode_t;
47 class CSTedScreenBase {
53 static CSTedScreenBase* New(void);
54 virtual ~CSTedScreenBase();
55 virtual void Tidy(void);
58 virtual void InitWindow(void);
59 virtual void CloseWindow(void);
60 virtual void RepaintWindow(void);
61 virtual void UpdateWindow(void);
62 virtual void DisableUpdateWindow(void);
65 virtual int SetGraphicsPalette(int in_pal, int in_color);
66 virtual int SetTextPalette(int in_pal, int in_color);
67 virtual int SetGraphicsColor(int in_color);
68 virtual int SetTextColor(int in_color);
71 virtual void SetCursor(int in_onoff);
74 virtual void SetTextWindow(int in_y, int in_h);
75 virtual void Locate(int in_x, int in_y);
76 virtual void Puts(const char* in_str);
77 virtual void ClsEol(void);
78 virtual void ClsEd(void);
79 virtual void GraphicsPuts(int in_x, int in_y, const char* in_str);
82 virtual void TextXBox(int in_x0, int in_y0, int in_x1, int in_y1, int in_page);
83 virtual void TextXXLine(int in_page, int in_x0, int in_y, int in_x1, int in_linestyle);
84 virtual void TextXYLine(int in_page, int in_x, int in_y0, int in_y1, int in_linestyle);
85 virtual void TextReverse(int in_x, int in_y, int in_width, int in_page);
86 virtual void TextReverseArea(int in_r_ad, int r_ln, int in_edit_scr);
87 virtual void TextFill(int in_page, int in_x, int in_y, int in_w, int in_h, int in_linestyle);
88 virtual void TextRasterCopy(int in_dst, int in_src, int in_line, int in_mode);
89 virtual void TextScroll(int in_x0, int in_y0, int in_xs, int in_ys, int in_x1, int in_y1);
91 virtual void GraphicsBox(int in_x0, int in_y0, int in_x1, int in_y1, unsigned int in_color, unsigned int in_linestyle);
92 virtual int GraphicsPoint(int in_x, int in_y);
93 virtual void GraphicsLine(int in_x0, int in_y0, int in_x1, int in_y1, int in_color, int in_linestyle);
94 virtual void GraphicsFill(int in_x0, int in_y0, int in_x1, int in_y1, int in_color);
96 virtual void CopyTextToGraphics(int in_editscreen);
97 virtual void CopyTextToGraphics2(int in_editscreen);
99 virtual void GraphicsHome(int in_currenthome);
100 virtual void ClsAll(void);
101 virtual void GraphicsClear(void);
104 virtual int KeyInit(void);
105 virtual int KeyIn(int in_code);
106 virtual int KeyInp(void);
107 virtual int SftSense(void);
108 virtual int BitSense(int in_group);
109 virtual int KeySense(void);
110 virtual void KeyWait(void);
111 virtual void LedMode(int in_code, int in_onoff);
112 virtual void ClearKeyBuffer(void);
113 void SetFncKey(const char in_fnckey[12][6]);
114 void SetX68ScanCode(const int* in_codes);
117 virtual void MouseInit(void);
118 virtual void SetMouseCursorVisible(int in_onoff);
119 virtual int GetMouseButtonState(void);
120 virtual int SetMouseMoveLimit(int in_x0, int in_y0, int in_x1, int in_y1);
121 virtual int GetMousePos(int *out_x, int *out_y);
122 virtual void MouseWait(void);
125 virtual int OpenMidiDevice(void);
126 virtual void CloseMidiDevice(void);
127 virtual int GetMidiData(void);
128 virtual int CanMidiRead(void);
129 virtual void PutMidiData(int in_data);
130 virtual void MidiWait(void);
131 virtual void MidiPlayerWait(void);
134 virtual int StartMidiPlayer(unsigned char* in_data, int in_len);
135 virtual int StopMidiPlayer(void);
136 virtual int CloseMidiPlayer(int in_sig);
139 virtual dosmode_t FileChmod(const char* in_name, dosmode_t in_atr);
140 virtual int FileChdir(const char* in_name);
141 virtual int FileCurdir(int in_drive, char* out_buff);
142 virtual int FileCurdrv(void);
143 virtual int FileDelete(const char* in_name);
144 virtual int FileRename(const char* in_name, const char* in_newname);
145 virtual int FileFiles(struct _x68_filbuf *in_buff, const char *in_name, int in_atr);
146 virtual int FileNfiles(struct _x68_filbuf *in_buff);
147 virtual FILE* FileFopen(const char* in_name, const char* in_mode);
150 virtual int OnTime(void);
151 virtual int USleep(long in_usec);
156 const int *fX68ScanCode;
160 CSTedScreenBase* CreateScreenDriver(int in_size);
161 // void DestroyScreenDriver(CSTedScreenBase* in_driver);
163 CSTedScreenBase* GetDriver(void);
165 #endif /* STED_SCREEN_H */