Subversion Repositories Kolibri OS

Rev

Rev 7660 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7660 Rev 7661
1
#define MEMSIZE 1024*160
1
#define MEMSIZE 1024*160
2
 
2
 
3
#include "../lib/io.h"
3
#include "../lib/io.h"
4
#include "../lib/gui.h"
4
#include "../lib/gui.h"
5
#include "../lib/copyf.h"
5
#include "../lib/copyf.h"
-
 
6
 
6
#include "../lib/obj/libini.h"
7
#include "../lib/obj/libini.h"
-
 
8
#include "../lib/obj/libio.h"
-
 
9
#include "../lib/obj/libimg.h"
-
 
10
 
7
#include "../lib/patterns/restart_process.h"
11
#include "../lib/patterns/restart_process.h"
-
 
12
 
-
 
13
#ifndef AUTOBUILD
-
 
14
#include "lang.h--"
-
 
15
#endif
8
 
16
 
9
char logo[] = "
17
char logo[] = "
10
ÛÛÛÛ   ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛ   ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛ
18
ÛÛÛÛ   ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛ   ÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛ
11
 ÛÛÛÛ   ÛÛ   ÛÛÛ         ÛÛÛ ÛÛÛ   ÛÛ  ÛÛÛ  ÛÛ
19
 ÛÛÛÛ   ÛÛ   ÛÛÛ         ÛÛÛ ÛÛÛ   ÛÛ  ÛÛÛ  ÛÛ
12
 ÛÛÛÛÛ  ÛÛ   ÛÛÛ          ÛÛÛÛÛ    ÛÛ  ÛÛÛ  ÛÛ
20
 ÛÛÛÛÛ  ÛÛ   ÛÛÛ          ÛÛÛÛÛ    ÛÛ  ÛÛÛ  ÛÛ
13
 ÛÛ ÛÛÛ ÛÛ   ÛÛÛÛÛÛÛ       ÛÛÛ         ÛÛÛ    
21
 ÛÛ ÛÛÛ ÛÛ   ÛÛÛÛÛÛÛ       ÛÛÛ         ÛÛÛ    
14
 ÛÛ  ÛÛÛÛÛ   ÛÛÛ          ÛÛÛÛÛ        ÛÛÛ    
22
 ÛÛ  ÛÛÛÛÛ   ÛÛÛ          ÛÛÛÛÛ        ÛÛÛ    
15
 ÛÛ   ÛÛÛÛ   ÛÛÛ         ÛÛÛ ÛÛÛ       ÛÛÛ    
23
 ÛÛ   ÛÛÛÛ   ÛÛÛ         ÛÛÛ ÛÛÛ       ÛÛÛ    
16
ÛÛÛÛ   ÛÛÛ  ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛ   ÛÛÛÛ    ÛÛÛÛÛ   
24
ÛÛÛÛ   ÛÛÛ  ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛ   ÛÛÛÛ    ÛÛÛÛÛ   
17
";
25
";
-
 
26
 
18
 
27
#ifdef LANG_RUS
-
 
28
#define T_INTRO "®¯à®¡ã©â¥ ­®¢®¥ ¢¨§ã «ì­®¥ ®ä®à¬«¥­¨¥ Š®«¨¡à¨, ª®â®à®¥ à ­ìè¥ ¡ë«® ¤®áâ㯭® ⮫쪮 ¢ KolibriNext."; 
-
 
29
#define T_INSTALL "“áâ ­®¢¨âì"
-
 
30
#define T_COMPLETE "“áâ ­®¢ª  § ¢¥à襭 "
-
 
31
#define T_EXIT "‚ë室"
-
 
32
#else
-
 
33
#define T_INTRO "Try a new visual design of KolibriOS, which previously was available only in KolibriNext."; 
-
 
34
#define T_INSTALL "Install"
-
 
35
#define T_COMPLETE "Install complete"
-
 
36
#define T_EXIT "Exit"
19
char intro[] = "®¯à®¡ã©â¥ ­®¢®¥ ¢¨§ã «ì­®¥ ®ä®à¬«¥­¨¥ Š®«¨¡à¨, ª®â®à®¥ à ­ìè¥ ¡ë«® ¤®áâ㯭® ⮫쪮 ¢ KolibriNext."; 
37
#endif
20
 
38
 
21
#define B_INSTALL 10
39
#define B_INSTALL 10
-
 
40
 
-
 
41
bool install_complete = false;
22
 
42
 
23
void main()
43
void main()
24
{
44
{
25
	word btn;
45
	word btn;
26
	load_dll(libini, #lib_init,1);
46
	load_dll(libini, #lib_init,1);
-
 
47
	load_dll(libio, #libio_init,1);
-
 
48
	load_dll(libimg, #libimg_init,1);
27
	loop() switch(WaitEventTimeout(300) & 0xFF)
49
	loop() switch(WaitEventTimeout(300) & 0xFF)
28
	{
50
	{
29
		case evButton:
51
		case evButton:
30
			btn = GetButtonID();               
52
			btn = GetButtonID();               
31
			if (btn == 1) ExitProcess();
53
			if (btn == 1) ExitProcess();
32
			if (btn == B_INSTALL) EventInstall();
54
			if (btn == B_INSTALL) EventInstall();
33
			break;
55
			break;
34
	  
56
	  
35
		case evKey:
57
		case evKey:
36
			GetKeys();
58
			GetKeys();
37
			if (key_scancode == SCAN_CODE_ESC) ExitProcess();
59
			if (key_scancode == SCAN_CODE_ESC) ExitProcess();
-
 
60
			if (key_scancode == SCAN_CODE_ENTER) {
-
 
61
				if (install_complete) ExitProcess();
-
 
62
				else EventInstall();
-
 
63
			}
38
			break;
64
			break;
39
		 
65
		 
40
		case evReDraw:
66
		case evReDraw:
41
			draw_window();
67
			draw_window();
42
			break;
68
			break;
43
 
69
 
44
		default:
70
		default:
45
			DrawLogo();
71
			DrawLogo();
46
			DrawLogo();
72
			DrawLogo();
47
	}
73
	}
48
}
74
}
49
 
75
 
50
#define WINW 400
76
#define WINW 400
51
#define WINH 300
77
#define WINH 300
52
void draw_window()
78
void draw_window()
53
{
79
{
54
	system.color.get();
80
	system.color.get();
55
	DefineAndDrawWindow(screen.width-WINW/2,screen.height-WINH/2,
81
	DefineAndDrawWindow(screen.width-WINW/2,screen.height-WINH/2,
56
		WINW+9,WINH+skin_height,0x34,system.color.work,"KolibriN10",0);
82
		WINW+9,WINH+skin_height,0x34,system.color.work,"KolibriN10",0);
57
 
-
 
58
	DrawLogo();
83
	DrawLogo();
-
 
84
	if (install_complete) DrawInstallComplete(); else DrawIntro();
-
 
85
}
-
 
86
 
-
 
87
void DrawIntro()
59
 
88
{
60
	DrawTextViewArea(30, 140, WINW-60, WINH-80, 
89
	DrawTextViewArea(30, 140, WINW-60, WINH-80, 
61
		#intro, -1, system.color.work_text);
-
 
62
 
90
		T_INTRO, -1, system.color.work_text);
63
	DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_INSTALL, 
91
	DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_INSTALL, 
-
 
92
		0x0092D8, 0xFFFfff, T_INSTALL);
-
 
93
}
-
 
94
 
-
 
95
void DrawInstallComplete()
-
 
96
{
-
 
97
	DrawIcon32(WINW-32/2, 140, system.color.work, 49);
-
 
98
	WriteTextCenter(0,185, WINW, system.color.work_text, T_COMPLETE);
-
 
99
	DrawCaptButton(WINW-110/2, WINH-70, 110, 28, CLOSE_BTN, 
64
		0x0092D8, 0xFFFfff, "“áâ ­®¢¨âì");
100
		0x0092D8, 0xFFFfff, T_EXIT);
65
}
101
}
66
 
102
 
67
void DrawLogo()
103
void DrawLogo()
68
{
104
{
69
	#define LX -46*6+WINW/2
105
	#define LX -46*6+WINW/2
70
	#define LY 25
106
	#define LY 25
71
	WriteTextLines(LX-1, LY, 0x80, 0x9F87B8, #logo, 9);
107
	WriteTextLines(LX-2, LY, 0x80, 0xF497C0, #logo, 9);
72
	WriteTextLines(LX+3, LY, 0x80, 0x7ED1E3, #logo, 9);
108
	WriteTextLines(LX+3, LY, 0x80, 0x7ED1E3, #logo, 9);
73
 
109
 
74
	pause(1);
110
	pause(1);
75
 
111
 
76
	WriteTextLines(LX+1, LY, 0x80, 0xEC008C, #logo, 9);
112
	WriteTextLines(LX+1, LY, 0x80, 0xEC008C, #logo, 9);
77
	WriteTextLines(LX,   LY, 0x80, 0xEC008C, #logo, 9);
113
	WriteTextLines(LX,   LY, 0x80, 0xEC008C, #logo, 9);
78
}
114
}
79
 
-
 
80
 
-
 
81
 
-
 
82
 
115
 
83
void EventInstall()
116
void EventInstall()
84
{
117
{
85
	//#include "..\lib\added_sysdir.c";
118
	//#include "..\lib\added_sysdir.c";
86
	//SetAdditionalSystemDirectory("kolibrios", abspath("install/kolibrios")+1);
119
	//SetAdditionalSystemDirectory("kolibrios", abspath("install/kolibrios")+1);
87
	ini_set_int stdcall ("/sys/settings/taskbar.ini", "Flags", "Attachment", 0);
120
	ini_set_int stdcall ("/sys/settings/taskbar.ini", "Flags", "Attachment", 0);
88
	copyf("/kolibrios/KolibriNext/settings", "/sys/settings");
121
	copyf("/kolibrios/KolibriNext/settings", "/sys/settings");
89
 
122
 
90
	RestartProcessByName("/sys/@icon", MULTIPLE);
123
	RestartProcessByName("/sys/@icon", MULTIPLE);
91
	RestartProcessByName("/sys/@taskbar", SINGLE);
124
	RestartProcessByName("/sys/@taskbar", SINGLE);
92
	RestartProcessByName("/sys/@docky", SINGLE);
125
	RestartProcessByName("/sys/@docky", SINGLE);
93
 
126
 
94
	RunProgram("/sys/media/kiv", "\\S__/kolibrios/res/Wallpapers/Free yourself.jpg");
127
	RunProgram("/sys/media/kiv", "\\S__/kolibrios/res/Wallpapers/Free yourself.jpg");
-
 
128
 
-
 
129
	install_complete = true;
-
 
130
	draw_window();
95
}
131
}
96
 
132
 
97
void Operation_Draw_Progress(dword filename) { debug("copying: "); debugln(filename); }
133
void Operation_Draw_Progress(dword filename) { debug("copying: "); debugln(filename); }