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