Subversion Repositories Kolibri OS

Rev

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