Subversion Repositories Kolibri OS

Rev

Rev 2696 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2696 Rev 2739
Line 1... Line 1...
1
//HTML Viewer in C--
1
//HTML Viewer in C--
2
//Copyright 2007-2012 by Veliant & Leency
2
//Copyright 2007-2012 by Veliant & Leency
3
//Asper, Lrz, Nable, lev.
3
//Asper, lev, Lrz, Barsuk, Nable.
4
 
-
 
5
//home icon - rachel fu, GPL licence
4
//home icon - rachel fu, GPL licence
Line 6... Line 5...
6
 
5
 
7
#include "..\lib\kolibri.h--"
6
#include "..\lib\kolibri.h--"
8
#include "..\lib\encoding.h--"
7
#include "..\lib\encoding.h--"
9
#include "..\lib\file_system.h--"
8
#include "..\lib\file_system.h--"
10
#include "img\toolbar_icons.c"
9
#include "img\toolbar_icons.c"
11
#include "img\URLgoto.txt";
-
 
12
//Asper
10
#include "img\URLgoto.txt";
13
#include "..\lib\mem.h--"
11
#include "..\lib\mem.h--"
14
#include "..\lib\libio_lib.h--"
12
#include "..\lib\libio_lib.h--"
15
#include "..\lib\libimg_lib.h--"
13
#include "..\lib\libimg_lib.h--"
16
#include "..\lib\edit_box_lib.h--"
14
#include "..\lib\edit_box_lib.h--"
-
 
15
#include "..\lib\dll.h--"
Line 17... Line 16...
17
#include "..\lib\dll.h--"
16
#include "..\lib\scroll_bar\scroll_lib.h--"
18
 
17
 
19
//ïåðåìåííûå
18
//ïåðåìåííûå
20
char URL[4096],
19
char URL[4096],
21
	editURL[4096],
20
	editURL[4096],
Line 22... Line 21...
22
	page_links[12000],
21
	page_links[12000],
23
	header[512];
22
	header[512];
24
 
23
 
25
int max_kolvo_strok,
-
 
26
	 max_kolvo_stolbcov,
24
int max_kolvo_strok, //lines_visible
27
	 count;
-
 
28
 
25
	max_kolvo_stolbcov,
Line 29... Line 26...
29
int za_kadrom,
26
	count, //lines_all
-
 
27
	za_kadrom,
Line 30... Line 28...
30
	scroll_size,
28
	mouse_dd;
Line 31... Line 29...
31
	mouse_dd;
29
 
Line 41... Line 39...
41
void main()
39
void main()
42
{
40
{
43
	mouse m;
41
	mouse m;
44
	int btn;
42
	int btn;
45
	byte key;
43
	byte key;
-
 
44
	int scroll_size;
Line 46... Line -...
46
	
-
 
47
    //Asper [
45
	
48
        mem_Init();
-
 
49
        $or      eax, eax
-
 
50
        $jnz      loc00
-
 
51
        return;
-
 
52
      @loc00:
46
	mem_Init();
53
      load_dll2(libio, #libio_init,1);
47
	load_dll2(libio, #libio_init,1);
54
      load_dll2(libimg, #libimg_init,1);
48
	load_dll2(libimg, #libimg_init,1);
55
      load_dll2(boxlib, #edit_box_draw,0);
49
	load_dll2(boxlib, #edit_box_draw,0);
Line 56... Line 50...
56
    //] Asper
50
	load_dll2(#abox_lib, #boxlib_init,0);
57
	
51
	
Line 58... Line 52...
58
	IF (param) copystr(#param,#URL);
52
	if (param) copystr(#param,#URL);
Line 59... Line 53...
59
	ELSE copystr("/sys/index.htm",#URL);
53
		else copystr("/sys/index.htm",#URL);
60
 
54
 
61
	copystr(#URL,#editURL);
55
	copystr(#URL,#editURL);
Line 62... Line 56...
62
	
56
	
63
	if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
57
	if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
64
	//Draw_Window();  //shis is right
58
	//Draw_Window();  //shis is right
-
 
59
	//WB1.ShowPage(#URL);  //shis is right
-
 
60
 
65
	//WB1.ShowPage(#URL);  //shis is right
61
	SetEventMask(0x27);
66
 
62
	loop()
67
	SetEventMask(0x27);
63
	{
-
 
64
		WaitEventTimeout(1);
-
 
65
		switch(EAX & 0xFF)
-
 
66
		//switch(WaitEvent())
-
 
67
		{
-
 
68
			CASE evMouse:
-
 
69
				edit_box_mouse stdcall (#edit1);
-
 
70
				
-
 
71
				/*scrollbar_v_mouse (#scroll1);      //êîí÷åíûé ñêðîëë ïðèòîðìàæèìàåò, èä¸ì "ñâîèì ïóò¸ì"
-
 
72
				if (za_kadrom <> scroll1.position)
68
	loop()
73
				{
-
 
74
					za_kadrom = scroll1.position;
69
	{
75
					WB1.ParseHTML(buf, filesize);
70
		switch(WaitEvent())
76
					//break;
71
		{
77
				};*/
72
			CASE evMouse: 	
78
				m.get();
73
				m.get();
79
 
-
 
80
				IF (m.vert==65535) //ïðîêðóòêà êîë¸ñèêîì
74
				IF (m.vert==65535) //ïðîêðóòêà êîë¸ñèêîì
81
				{
75
				{
82
					IF (za_kadrom==0) break;
76
					IF (za_kadrom==0) break;
83
					IF (za_kadrom>3) za_kadrom-=2; ELSE za_kadrom=1;
77
					IF (za_kadrom>3) za_kadrom-=2; ELSE za_kadrom=1;
84
					WB1.Scan(ID1);
78
					WB1.Scan(ID1);
85
					break;
79
				} 
86
				} 
80
				IF (m.vert==1)
87
				IF (m.vert==1)
81
				{
88
				{
-
 
89
					IF(max_kolvo_strok+za_kadrom+3>=count) WB1.Scan(181);
82
					IF(max_kolvo_strok+za_kadrom+3>=count) WB1.Scan(181);
90
					ELSE	{
-
 
91
						za_kadrom+=2;
83
					ELSE	{
92
						WB1.Scan(ID2);
-
 
93
					}
84
						za_kadrom+=2;
94
					break;
85
						WB1.Scan(ID2);
95
				}
86
					}
96
				
87
				}
97
				IF (count
88
				//IF (count
98
				scroll_size = WB1.height - 16 * max_kolvo_strok / count - 3;
Line 96... Line 106...
96
					za_kadrom = m.y -j -WB1.top * count / WB1.height;
106
					za_kadrom = m.y -j -WB1.top * count / WB1.height;
97
					IF (max_kolvo_strok+za_kadrom>count) za_kadrom=count-max_kolvo_strok;
107
					IF (max_kolvo_strok+za_kadrom>count) za_kadrom=count-max_kolvo_strok;
98
					IF (btn<>za_kadrom) WB1.ParseHTML(buf, filesize); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü
108
					IF (btn<>za_kadrom) WB1.ParseHTML(buf, filesize); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü
99
					m.get();
109
					m.get();
100
				}				
110
				}
-
 
111
 
101
				break;
112
				break;
102
			case evButton:
113
			case evButton:
103
				btn=GetButtonID();
114
				btn=GetButtonID();
104
				IF (btn==1)
115
				IF (btn==1)
105
				{
116
				{
Line 117... Line 128...
117
				IF (key<>0x0d) && (key<>183) && (key<>184) && (key<>173) {EAX=key<<8; edit_box_key stdcall(#edit1);} //àäðåñíàÿ ñòðîêà
128
				IF (key<>0x0d) && (key<>183) && (key<>184) && (key<>173) {EAX=key<<8; edit_box_key stdcall(#edit1);} //àäðåñíàÿ ñòðîêà
118
				BREAK;
129
				BREAK;
119
			case evReDraw:
130
			case evReDraw:
120
				Draw_Window();
131
				Draw_Window();
121
				break;
132
				break;
-
 
133
			default:
-
 
134
				if (downloader_id<>0)
-
 
135
				{
-
 
136
					if (GetProcessSlot(downloader_id)<>0) break;
-
 
137
					downloader_id=0;
-
 
138
					Draw_Window();
-
 
139
				}
122
		}
140
		}
123
		edit_box_mouse stdcall (#edit1);
-
 
124
	}
141
	}
125
}
142
}
Line 126... Line 143...
126
 
143
 
Line 146... Line 163...
146
	DrawBar(0,43,onLeft(5,4),1,0xD2CED0); //âûïóêëîñòü
163
	DrawBar(0,43,onLeft(5,4),1,0xD2CED0); //âûïóêëîñòü
147
	FOR (j=0; j<5; j++) DefineButton(j*37+11, 7, 29, 29, 300+j+BT_HIDE, 0x00E4DFE1);
164
	FOR (j=0; j<5; j++) DefineButton(j*37+11, 7, 29, 29, 300+j+BT_HIDE, 0x00E4DFE1);
148
	PutImage(#URLgoto,40,19,onLeft(57,0),14);
165
	PutImage(#URLgoto,40,19,onLeft(57,0),14);
149
	DefineButton(onLeft(37,0),15, 18, 16, GOTOURL+BT_HIDE, 0xE4DFE1);
166
	DefineButton(onLeft(37,0),15, 18, 16, GOTOURL+BT_HIDE, 0xE4DFE1);
150
	DefineButton(onLeft(56,0),15, 17, 16, SEARCHWEB+BT_HIDE, 0xE4DFE1);
167
	DefineButton(onLeft(56,0),15, 17, 16, SEARCHWEB+BT_HIDE, 0xE4DFE1);
151
	DrawRegion_3D(205,14,onLeft(58,205),18,0x94AECE,0x94AECE); //îáîäîê ïîëîñû àäðåñà
168
	DrawRegion(205,14,onLeft(58,205),18,0x94AECE); //îáîäîê ïîëîñû àäðåñà
152
	DrawRegion_3D(206,15,onLeft(59,205),16,0xE4ECF3,0xE4ECF3);
169
	DrawRegion(206,15,onLeft(59,205),16,0xE4ECF3);
-
 
170
	
153
	edit1.width=Form.width-266;
171
	edit1.width=Form.width-266;
154
	//edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà  //shis is right
172
	//edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà  //shis is right
Line 155... Line 173...
155
	
173
	
156
	WB1.top=44;
174
	WB1.top=44;
157
	WB1.width=Form.width-11;
175
	WB1.width=Form.width-13;
158
	WB1.height=onTop(43,5);
176
	WB1.height=onTop(43,5);
-
 
177
	WB1.ShowPage(#URL);
159
	WB1.ShowPage(#URL);
178
	
160
	//WB1.ParseHTML(buf, filesize); //shis is right
179
	//WB1.ParseHTML(buf, filesize); //shis is right
Line 161... Line 180...
161
}
180
}
162
 
181