Rev 6686 | Rev 6724 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6686 | Rev 6698 | ||
---|---|---|---|
Line 6... | Line 6... | ||
6 | #ifndef AUTOBUILD |
6 | #ifndef AUTOBUILD |
7 | #include "lang.h--" |
7 | #include "lang.h--" |
8 | #endif |
8 | #endif |
Line 9... | Line 9... | ||
9 | 9 | ||
10 | //libraries |
10 | //libraries |
11 | #define MEMSIZE 1060000 |
11 | #define MEMSIZE 4096 * 256 |
12 | #include "..\lib\gui.h" |
12 | #include "..\lib\gui.h" |
13 | #include "..\lib\draw_buf.h" |
13 | #include "..\lib\draw_buf.h" |
14 | #include "..\lib\list_box.h" |
14 | #include "..\lib\list_box.h" |
15 | #include "..\lib\cursor.h" |
15 | #include "..\lib\cursor.h" |
16 | #include "..\lib\collection.h" |
- | |
17 | #include "..\lib\font.h" |
16 | #include "..\lib\collection.h" |
Line 18... | Line 17... | ||
18 | #include "..\lib\menu.h" |
17 | #include "..\lib\menu.h" |
19 | 18 | ||
20 | //*.obj libraries |
19 | //*.obj libraries |
Line 26... | Line 25... | ||
26 | //useful patterns |
25 | //useful patterns |
27 | #include "..\lib\patterns\libimg_load_skin.h" |
26 | #include "..\lib\patterns\libimg_load_skin.h" |
28 | #include "..\lib\patterns\history.h" |
27 | #include "..\lib\patterns\history.h" |
29 | #include "..\lib\patterns\http_downloader.h" |
28 | #include "..\lib\patterns\http_downloader.h" |
Line 30... | Line 29... | ||
30 | 29 | ||
Line 31... | Line 30... | ||
31 | char homepage[] = FROM "html\\homepage.htm"; |
30 | char homepage[] = FROM "html\\homepage.htm""\0"; |
32 | 31 | ||
33 | #ifdef LANG_RUS |
32 | #ifdef LANG_RUS |
34 | char version[]=" ¥ªáâ®¢ë© ¡à 㧥à 1.49"; |
33 | char version[]="¥ªáâ®¢ë© ¡à 㧥à 1.5"; |
35 | ?define IMAGES_CACHE_CLEARED "íè ª à⨮ª ®ç¨é¥" |
34 | ?define IMAGES_CACHE_CLEARED "íè ª à⨮ª ®ç¨é¥" |
36 | ?define T_LAST_SLIDE "â® ¯®á«¥¤¨© á« ©¤" |
35 | ?define T_LAST_SLIDE "â® ¯®á«¥¤¨© á« ©¤" |
37 | char loading[] = " £à㧪 áâà ¨æë... |
36 | char loading[] = " £à㧪 áâà ¨æë... |
38 | char page_not_found[] = FROM "html\page_not_found_ru.htm"; |
37 | char page_not_found[] = FROM "html\\page_not_found_ru.htm""\0"; |
39 | char accept_language[]= "Accept-Language: ru\n"; |
38 | char accept_language[]= "Accept-Language: ru\n"; |
40 | char rmb_menu[] = |
39 | char rmb_menu[] = |
41 | "®á¬®âà¥âì ¨á室¨ª |
40 | "®á¬®âà¥âì ¨á室¨ª |
42 | ¥¤ ªâ¨à®¢ âì ¨á室¨ª |
41 | ¥¤ ªâ¨à®¢ âì ¨á室¨ª |
43 | áâ®à¨ï |
42 | áâ®à¨ï |
44 | ç¨áâ¨âì ªíè ª à⨮ª |
43 | ç¨áâ¨âì ªíè ª à⨮ª |
45 | ¥¥¤¦¥à § £à㧮ª"; |
44 | ¥¥¤¦¥à § £à㧮ª"; |
46 | #else |
45 | #else |
47 | char version[]=" Text-based Browser 1.49"; |
46 | char version[]="Text-based Browser 1.5"; |
48 | ?define IMAGES_CACHE_CLEARED "Images cache cleared" |
47 | ?define IMAGES_CACHE_CLEARED "Images cache cleared" |
49 | ?define T_LAST_SLIDE "This slide is the last" |
48 | ?define T_LAST_SLIDE "This slide is the last" |
50 | char loading[] = "Loading... |
49 | char loading[] = "Loading... |
51 | char page_not_found[] = FROM "html\page_not_found_en.htm"; |
50 | char page_not_found[] = FROM "html\\page_not_found_en.htm""\0"; |
52 | char accept_language[]= "Accept-Language: en\n"; |
51 | char accept_language[]= "Accept-Language: en\n"; |
53 | char rmb_menu[] = |
52 | char rmb_menu[] = |
54 | "View source |
53 | "View source |
Line 109... | Line 108... | ||
109 | edit_box address_box = {250,56,34,0xffffff,0x94AECE,0xffffff,0xffffff,0,sizeof(URL),#editURL,#mouse_twb,2,19,19}; |
108 | edit_box address_box = {250,56,34,0xffffff,0x94AECE,0xffffff,0xffffff,0,sizeof(URL),#editURL,#mouse_twb,2,19,19}; |
Line 110... | Line 109... | ||
110 | 109 | ||
111 | 110 | ||
112 | void main() |
- | |
113 | { |
- | |
114 | dword btn; |
- | |
115 | int half_scroll_size; |
111 | void main() |
116 | int scroll_used=0, show_menu; |
112 | { |
117 | CursorPointer.Load(#CursorFile); |
113 | CursorPointer.Load(#CursorFile); |
118 | load_dll(boxlib, #box_lib_init,0); |
114 | load_dll(boxlib, #box_lib_init,0); |
119 | load_dll(libio, #libio_init,1); |
115 | load_dll(libio, #libio_init,1); |
Line 125... | Line 121... | ||
125 | CreateDir("/tmp0/1/downloads"); |
121 | CreateDir("/tmp0/1/downloads"); |
126 | if (param) strcpy(#URL, #param); else strcpy(#URL, URL_SERVICE_HOME); |
122 | if (param) strcpy(#URL, #param); else strcpy(#URL, URL_SERVICE_HOME); |
127 | WB1.DrawBuf.zoom = 1; |
123 | WB1.DrawBuf.zoom = 1; |
128 | WB1.list.SetFont(8, 14, 10011000b); |
124 | WB1.list.SetFont(8, 14, 10011000b); |
129 | WB1.list.no_selection = true; |
125 | WB1.list.no_selection = true; |
130 | label.init(DEFAULT_FONT); |
- | |
131 | SetEventMask(0xa7); |
126 | SetEventMask(0xa7); |
132 | BEGIN_LOOP_APPLICATION: |
127 | BEGIN_LOOP_APPLICATION: |
133 | WaitEventTimeout(2); |
128 | WaitEventTimeout(2); |
134 | switch(EAX & 0xFF) |
129 | switch(EAX & 0xFF) |
135 | { |
130 | { |
Line 154... | Line 149... | ||
154 | break; |
149 | break; |
155 | } |
150 | } |
156 | break; |
151 | break; |
Line 157... | Line 152... | ||
157 | 152 | ||
158 | case evButton: |
153 | case evButton: |
159 | btn=GetButtonID(); |
- | |
160 | if (btn==1) ExitProcess(); |
- | |
161 | Scan(btn); |
154 | ProcessEvent(GetButtonID()); |
Line 162... | Line 155... | ||
162 | break; |
155 | break; |
163 | 156 | ||
164 | case evKey: |
157 | case evKey: |
165 | GetKeys(); |
158 | GetKeys(); |
166 | if (address_box.flags & 0b10) |
159 | if (address_box.flags & 0b10) |
167 | { |
160 | { |
168 | if (key_ascii == ASCII_KEY_ENTER) Scan(key_scancode); else { |
161 | if (key_ascii == ASCII_KEY_ENTER) ProcessEvent(key_scancode); else { |
169 | EAX = key_editbox; |
162 | EAX = key_editbox; |
170 | edit_box_key stdcall(#address_box); |
163 | edit_box_key stdcall(#address_box); |
171 | } |
164 | } |
172 | } |
165 | } |
- | 166 | else |
|
173 | else |
167 | { |
174 | { |
168 | if (WB1.list.ProcessKey(key_scancode)) WB1.DrawPage(); |
175 | Scan(key_scancode); |
169 | else ProcessEvent(key_scancode); |
Line 176... | Line 170... | ||
176 | } |
170 | } |
177 | break; |
171 | break; |
178 | 172 | ||
179 | case evReDraw: |
173 | case evReDraw: |
180 | if (menu.list.cur_y) { |
174 | if (menu.list.cur_y) { |
181 | Scan(menu.list.cur_y); |
175 | ProcessEvent(menu.list.cur_y); |
182 | menu.list.cur_y = 0; |
176 | menu.list.cur_y = 0; |
183 | } |
177 | } |
Line 214... | Line 208... | ||
214 | ESI = EAX; |
208 | ESI = EAX; |
215 | EDI = #URL; |
209 | EDI = #URL; |
216 | do { |
210 | do { |
217 | $lodsb; |
211 | $lodsb; |
218 | $stosb; |
212 | $stosb; |
219 | } while (AL != 0) && (AL != 13) && (AL != 10)); |
213 | } while (AL != 0) && (AL != 13) && (AL != 10); |
220 | DSBYTE[EDI-1]='\0'; |
214 | DSBYTE[EDI-1]='\0'; |
221 | } |
215 | } |
222 | } |
216 | } |
223 | else |
217 | else |
224 | { |
218 | { |
Line 267... | Line 261... | ||
267 | Form.cheight - TOOLBAR_H - STATUSBAR_H, WB1.list.font_h + WB1.DrawBuf.zoom + WB1.DrawBuf.zoom * WB1.DrawBuf.zoom); |
261 | Form.cheight - TOOLBAR_H - STATUSBAR_H, WB1.list.font_h + WB1.DrawBuf.zoom + WB1.DrawBuf.zoom * WB1.DrawBuf.zoom); |
268 | WB1.list.wheel_size = 7; |
262 | WB1.list.wheel_size = 7; |
269 | WB1.list.column_max = WB1.list.w - scroll_wv.size_x / WB1.list.font_w; |
263 | WB1.list.column_max = WB1.list.w - scroll_wv.size_x / WB1.list.font_w; |
270 | WB1.list.visible = WB1.list.h - 5 / WB1.list.item_h; |
264 | WB1.list.visible = WB1.list.h - 5 / WB1.list.item_h; |
271 | if (WB1.list.w!=WB1.DrawBuf.bufw) { |
265 | if (WB1.list.w!=WB1.DrawBuf.bufw) { |
272 | WB1.DrawBuf.Init(WB1.list.x, WB1.list.y, WB1.list.w, 4096 * 7400 / WB1.list.w); |
266 | if (WB1.DrawBuf.Init(WB1.list.x, WB1.list.y, WB1.list.w, 2048 * WB1.list.item_h) == false) |
- | 267 | die("Memory allocation error! Seems to be too little RAM."); |
|
273 | Scan(REFRESH_BUTTON); |
268 | ProcessEvent(REFRESH_BUTTON); |
274 | } |
269 | } |
275 | } |
270 | } |
Line 276... | Line 271... | ||
276 | 271 | ||
277 | 272 | ||
278 | - | ||
279 | void Draw_Window() |
273 | |
280 | { |
274 | void Draw_Window() |
281 | int list__w, list__h; |
275 | { |
282 | DrawBar(0,0, Form.cwidth,TOOLBAR_H-2, panel_color); |
276 | DrawBar(0,0, Form.cwidth,TOOLBAR_H-2, panel_color); |
283 | DrawBar(0,TOOLBAR_H-2, Form.cwidth,1, 0xD7D0D3); |
277 | DrawBar(0,TOOLBAR_H-2, Form.cwidth,1, 0xD7D0D3); |
Line 293... | Line 287... | ||
293 | DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,STATUSBAR_H, col_bg); |
287 | DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,STATUSBAR_H, col_bg); |
294 | DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, border_color); |
288 | DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, border_color); |
295 | if (!header) OpenPage(); else { WB1.DrawPage(); DrawEditBoxWebView(); } |
289 | if (!header) OpenPage(); else { WB1.DrawPage(); DrawEditBoxWebView(); } |
296 | DrawRectangle(scroll_wv.start_x, scroll_wv.start_y, scroll_wv.size_x, scroll_wv.size_y-1, scroll_wv.bckg_col); |
290 | DrawRectangle(scroll_wv.start_x, scroll_wv.start_y, scroll_wv.size_x, scroll_wv.size_y-1, scroll_wv.bckg_col); |
297 | DrawProgress(); |
291 | DrawProgress(); |
298 | - | ||
299 | /* |
- | |
300 | list__w = 200; |
- | |
301 | list__h = 200; |
- | |
302 | label.raw_size = 0; |
- | |
303 | label.write_buf(10,10, list__w, list__h, 0xFFFFFF, 0, 11, "Hello World!"); |
- | |
304 | label.write_buf(10,23, list__w, list__h, 0xFFFFFF, 0xFF00FF, 12, "How are you?"); |
- | |
305 | label.write_buf(11,40, list__w, list__h, 0xFFFFFF, 0x2E74BB, 15, "Fine"); |
- | |
306 | label.apply_smooth(); |
- | |
307 | label.show_buf(0,0); |
- | |
308 | */ |
- | |
309 | } |
292 | } |
Line 310... | Line 293... | ||
310 | 293 | ||
311 | 294 | ||
312 | void Scan(dword id__) |
- | |
313 | { |
- | |
314 | action_buf=0; |
295 | void ProcessEvent(dword id__) |
315 | if (WB1.list.ProcessKey(id__)) WB1.DrawPage(); |
296 | { |
- | 297 | switch (id__) |
|
- | 298 | { |
|
- | 299 | case 1: |
|
316 | else switch (id__) |
300 | ExitProcess(); |
317 | { |
301 | return; |
318 | case SCAN_CODE_BS: |
302 | case SCAN_CODE_BS: |
319 | case BACK_BUTTON: |
303 | case BACK_BUTTON: |
320 | if (history.back()) { |
304 | if (history.back()) { |