Rev 3107 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3107 | Rev 3286 | ||
---|---|---|---|
1 | //notify 0.5 |
1 | //notify 0.5 |
- | 2 | ||
2 | 3 | #define MEMSIZE 0x3E80 |
|
3 | #include "..\lib\kolibri.h" |
4 | #include "..\lib\kolibri.h" |
4 | #include "..\lib\strings.h" |
5 | #include "..\lib\strings.h" |
5 | 6 | ||
6 | 7 | ||
7 | int SCREEN_SIZE_X, |
8 | int SCREEN_SIZE_X, |
8 | SCREEN_SIZE_Y; |
9 | SCREEN_SIZE_Y; |
9 | 10 | ||
10 | int WIN_Y=0, |
11 | int WIN_Y=0, |
11 | WIN_SIZE_X=300, |
12 | WIN_SIZE_X=300, |
12 | WIN_SIZE_Y=28; |
13 | WIN_SIZE_Y=28; |
13 | 14 | ||
14 | 15 | ||
15 | void main() |
16 | void main() |
16 | { |
17 | { |
17 | int TEXT_X=4, |
18 | int TEXT_X=4, |
18 | TEXT_Y=12; |
19 | TEXT_Y=12; |
19 | 20 | ||
20 | if (!param) |
21 | if (!param) |
21 | { |
22 | { |
22 | if (GetSystemLanguage()==4) |
23 | if (GetSystemLanguage()==4) |
23 | strcpy(#param, "â ¯à®£à ¬¬ ¯®ª §ë¢ ¥â 㢥¤®¬«¥¨ï."); |
24 | strcpy(#param, "â ¯à®£à ¬¬ ¯®ª §ë¢ ¥â 㢥¤®¬«¥¨ï."); |
24 | else |
25 | else |
25 | strcpy(#param, "This program shows notices. Open it with params."); |
26 | strcpy(#param, "This program shows notices. Open it with params."); |
26 | } |
27 | } |
27 | 28 | ||
28 | SCREEN_SIZE_X=GetScreenWidth()+1; |
29 | SCREEN_SIZE_X=GetScreenWidth()+1; |
29 | if (strlen(#param)*6>WIN_SIZE_X) WIN_SIZE_X=strlen(#param)*6+8; |
30 | if (strlen(#param)*6>WIN_SIZE_X) WIN_SIZE_X=strlen(#param)*6+8; |
30 | 31 | ||
31 | TEXT_X=-6*strlen(#param)+WIN_SIZE_X/2; |
32 | TEXT_X=-6*strlen(#param)+WIN_SIZE_X/2; |
32 | TEXT_Y=WIN_SIZE_Y/2-3; |
33 | TEXT_Y=WIN_SIZE_Y/2-3; |
33 | 34 | ||
34 | //èçÿÿÿùíûé êîñòûëü, ðåàëèçóþùèé ìíîãîïîòî÷íîñòü :) |
35 | //èçÿÿÿùíûé êîñòûëü, ðåàëèçóþùèé ìíîãîïîòî÷íîñòü :) |
35 | while (!GetPixelColor(SCREEN_SIZE_X-1, SCREEN_SIZE_X, WIN_Y)) WIN_Y+=45; |
36 | while (!GetPixelColor(SCREEN_SIZE_X-1, SCREEN_SIZE_X, WIN_Y)) WIN_Y+=45; |
36 | 37 | ||
37 | 38 | ||
38 | loop() |
39 | loop() |
39 | { |
40 | { |
40 | WaitEventTimeout(500); |
41 | WaitEventTimeout(500); |
41 | switch(EAX & 0xFF) |
42 | switch(EAX & 0xFF) |
42 | { |
43 | { |
43 | case evButton: |
44 | case evButton: |
44 | if (GetButtonID()==1) ExitProcess(); |
45 | if (GetButtonID()==1) ExitProcess(); |
45 | break; |
46 | break; |
46 | 47 | ||
47 | case evKey: |
48 | case evKey: |
48 | break; |
49 | break; |
49 | 50 | ||
50 | case evReDraw: |
51 | case evReDraw: |
51 | DefineAndDrawWindow(SCREEN_SIZE_X-WIN_SIZE_X,WIN_Y,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF); |
52 | 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 | DefineButton(0,0, WIN_SIZE_X, WIN_SIZE_Y, 1+BT_HIDE+BT_NOFRAME, 0); |
53 | draw_grid(); |
54 | draw_grid(); |
54 | WriteText(TEXT_X-1,TEXT_Y, 0x80, 0,#param); //òåíü |
55 | WriteText(TEXT_X-1,TEXT_Y, 0x80, 0,#param); //òåíü |
55 | WriteText(TEXT_X+1,TEXT_Y, 0x80, 0,#param); |
56 | 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); |
57 | WriteText(TEXT_X,TEXT_Y+1, 0x80, 0,#param); |
58 | 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); |
59 | WriteText(TEXT_X+1,TEXT_Y+1, 0x80, 0,#param); |
60 | 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); |
61 | WriteText(TEXT_X+1,TEXT_Y-1, 0x80, 0,#param); |
62 | WriteText(TEXT_X+1,TEXT_Y-1, 0x80, 0,#param); |
62 | 63 | ||
63 | WriteText(TEXT_X,TEXT_Y, 0x80, 0xFFFfff,#param); |
64 | WriteText(TEXT_X,TEXT_Y, 0x80, 0xFFFfff,#param); |
64 | break; |
65 | break; |
65 | default: |
66 | default: |
66 | ExitProcess(); |
67 | ExitProcess(); |
67 | } |
68 | } |
68 | } |
69 | } |
69 | } |
70 | } |
70 | 71 | ||
71 | 72 | ||
72 | 73 | ||
73 | void draw_grid() |
74 | void draw_grid() |
74 | { |
75 | { |
75 | int x, y; |
76 | int x, y; |
76 | 77 | ||
77 | for (y=0; y<=WIN_SIZE_Y; y++) |
78 | for (y=0; y<=WIN_SIZE_Y; y++) |
78 | { |
79 | { |
79 | for (x=0; x<=WIN_SIZE_X; x++) |
80 | for (x=0; x<=WIN_SIZE_X; x++) |
80 | { |
81 | { |
81 | if (! y&1) && (! x&1) PutPixel(x, y, 0); |
82 | if (! y&1) && (! x&1) PutPixel(x, y, 0); |
82 | if ( y&1) && ( x&1) PutPixel(x, y, 0); |
83 | 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 | //PutPixel(x, y, GetPixelColor(SCREEN_SIZE_X-WIN_SIZE_X+x, SCREEN_SIZE_X, y)); |
84 | } |
85 | } |
85 | } |
86 | } |
86 | } |
87 | } |
87 | 88 | ||
88 | 89 | ||
89 | 90 | ||
90 | 91 | ||
91 | 92 | ||
92 | stop:=WIN_SIZE_X;>=WIN_SIZE_Y;> |
93 | stop:=WIN_SIZE_X;>=WIN_SIZE_Y;> |