Subversion Repositories Kolibri OS

Rev

Rev 3067 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3067 leency 1
//notify 0.5
2
 
3
#include "..\lib\kolibri.h"
4
#include "..\lib\strings.h"
5
 
6
 
7
int SCREEN_SIZE_X,
8
    SCREEN_SIZE_Y;
9
 
10
int WIN_Y=0,
11
    WIN_SIZE_X=300,
12
    WIN_SIZE_Y=28;
13
 
14
 
15
void main()
16
{
17
	int TEXT_X=4,
18
	    TEXT_Y=12;
19
 
20
	if (!param)
21
	{
22
		if (GetSystemLanguage()==4)
3107 leency 23
			strcpy(#param, "ќв  Їа®Ја ¬¬  Ї®Є §лў Ґв 㢥¤®¬«Ґ­Ёп.");
3067 leency 24
		else
25
			strcpy(#param, "This program shows notices. Open it with params.");
26
	}
27
 
28
	SCREEN_SIZE_X=GetScreenWidth()+1;
29
	if (strlen(#param)*6>WIN_SIZE_X) WIN_SIZE_X=strlen(#param)*6+8;
30
 
31
	TEXT_X=-6*strlen(#param)+WIN_SIZE_X/2;
32
	TEXT_Y=WIN_SIZE_Y/2-3;
33
 
34
	//изяяящный костыль, реализующий многопоточность :)
35
	while (!GetPixelColor(SCREEN_SIZE_X-1, SCREEN_SIZE_X, WIN_Y)) WIN_Y+=45;
36
 
37
 
38
	loop()
39
   {
40
		WaitEventTimeout(500);
41
		switch(EAX & 0xFF)
42
		{
43
		case evButton:
44
			if (GetButtonID()==1) ExitProcess();
45
			break;
46
 
47
		case evKey:
48
			break;
49
 
50
		case evReDraw:
51
			DefineAndDrawWindow(SCREEN_SIZE_X-WIN_SIZE_X,WIN_Y,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF);
52
			DefineButton(0,0, WIN_SIZE_X, WIN_SIZE_Y, 1+BT_HIDE+BT_NOFRAME, 0);
53
			draw_grid();
3107 leency 54
			WriteText(TEXT_X-1,TEXT_Y, 0x80, 0,#param); //тень
55
			WriteText(TEXT_X+1,TEXT_Y, 0x80, 0,#param);
56
			WriteText(TEXT_X,TEXT_Y-1, 0x80, 0,#param);
57
			WriteText(TEXT_X,TEXT_Y+1, 0x80, 0,#param);
58
			WriteText(TEXT_X-1,TEXT_Y-1, 0x80, 0,#param);
59
			WriteText(TEXT_X+1,TEXT_Y+1, 0x80, 0,#param);
60
			WriteText(TEXT_X-1,TEXT_Y+1, 0x80, 0,#param);
61
			WriteText(TEXT_X+1,TEXT_Y-1, 0x80, 0,#param);
3067 leency 62
 
3107 leency 63
			WriteText(TEXT_X,TEXT_Y, 0x80, 0xFFFfff,#param);
3067 leency 64
			break;
65
		default:
66
			ExitProcess();
67
      }
68
   }
69
}
70
 
71
 
72
 
73
void draw_grid()
74
{
75
	int x, y;
76
 
77
	for (y=0; y<=WIN_SIZE_Y; y++)
78
	{
79
		for (x=0; x<=WIN_SIZE_X; x++)
80
		{
81
			if (! y&1) && (! x&1) PutPixel(x, y, 0);
82
			if (  y&1) && (  x&1) PutPixel(x, y, 0);
83
			//PutPixel(x, y, GetPixelColor(SCREEN_SIZE_X-WIN_SIZE_X+x, SCREEN_SIZE_X, y));
84
		}
85
	}
86
}
87
 
88
 
89
 
90
 
91
 
92
stop: