Subversion Repositories Kolibri OS

Rev

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

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