Rev 3586 | Rev 3889 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3586 | Rev 3887 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ; CALENDAR FOR MENUET v1.0 |
1 | ; Calendar for KolibriOS |
2 | ; Written in pure assembler by Ivushkin Andrey aka Willow |
- | |
3 | ; |
2 | ; |
- | 3 | ; v1.2 - code update by Leency, small design fixes |
|
- | 4 | ; v1.1 - add change time support by DedOK |
|
- | 5 | ; v1.0 - written in pure assembler by Ivushkin Andrey aka Willow |
|
- | 6 | ; also - diamond, spraid, fedesco |
|
4 | ; |
7 | ; |
5 | ; Created: November 1, 2004 |
8 | ; Created: November 1, 2004 |
6 | ; Last changed: January 13, 2005 |
- | |
7 | ; |
- | |
8 | ; COMPILE WITH FASM |
- | |
Line -... | Line 9... | ||
- | 9 | ||
9 | 10 | WIN_CW equ 266 |
|
10 | WIN_X equ (150 shl 16+270) |
11 | WIN_X equ (5000 shl 16+WIN_CW+9) |
Line 11... | Line 12... | ||
11 | WIN_Y equ (100 shl 16+335) |
12 | WIN_Y equ (100 shl 16+335) |
12 | 13 | ||
13 | LINE1 equ 27 shl 16+16 |
14 | LINE1 equ 27 shl 16+16 |
14 | B_MONTH_X equ 10 shl 16+158 |
15 | B_MONTH_X equ 5 shl 16+158+11 |
Line 15... | Line 16... | ||
15 | B_Y equ LINE1 |
16 | B_Y equ LINE1 |
16 | B_MONTH equ 63 shl 16+32 |
17 | B_MONTH equ 63 shl 16+32 |
17 | 18 | ||
18 | B_WBAR_X equ 10 shl 16+250 |
19 | B_WBAR_X equ 5 shl 16+WIN_CW |
Line 19... | Line 20... | ||
19 | B_WBAR_Y equ 64 shl 16+20 |
20 | B_WBAR_Y equ 64 shl 16+20 |
Line 36... | Line 37... | ||
36 | 37 | ||
37 | B_SPIN_WIDTH equ 13 |
38 | B_SPIN_WIDTH equ 13 |
38 | B_SPIN_X equ 234 shl 16+B_SPIN_WIDTH |
39 | B_SPIN_X equ 234 shl 16+B_SPIN_WIDTH |
Line 39... | Line -... | ||
39 | B_SPIN equ 238 shl 16+32 |
- | |
40 | - | ||
41 | B_DATE_X equ 26 shl 16+60 |
- | |
42 | B_DATE_Y equ 275 shl 16+16 |
- | |
43 | B_DATE_BSHIFT equ 80 shl 16 |
- | |
44 | B_DATE equ 32 shl 16+280 |
- | |
45 | B_DATE_SHIFT equ 80 shl 16 |
40 | B_SPIN equ 238 shl 16+32 |
46 | 41 | ||
47 | B_NS_X equ 185 shl 16+75 |
42 | B_NS_X equ 185 shl 16+75 |
Line 48... | Line 43... | ||
48 | B_NS_Y equ 48 shl 16+10 |
43 | B_NS_Y equ 48 shl 16+10 |
- | 44 | B_NS equ 190 shl 16+50 |
|
49 | B_NS equ 190 shl 16+50 |
45 | |
Line 50... | Line 46... | ||
50 | 46 | FOCUSABLE equ 5 |
|
Line 51... | Line 47... | ||
51 | FOCUSABLE equ 5 |
47 | |
Line 63... | Line 59... | ||
63 | dd 0x1000 ; ¤à¥á ¢¥àè¨ë áâíª |
59 | dd 0x1000 ; ¤à¥á ¢¥àè¨ë áâíª |
64 | dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï áâப¨ ¯ à ¬¥â஢ (¥ ¨á¯®«ì§ã¥âáï) |
60 | dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï áâப¨ ¯ à ¬¥â஢ (¥ ¨á¯®«ì§ã¥âáï) |
65 | dd 0x0 ; § १¥à¢¨à®¢ ® |
61 | dd 0x0 ; § १¥à¢¨à®¢ ® |
66 | include 'lang.inc' |
62 | include 'lang.inc' |
67 | include '..\..\..\macros.inc' ; 㬥ìè ¥â à §¬¥à ¯à®£à ¬¬ë |
63 | include '..\..\..\macros.inc' ; 㬥ìè ¥â à §¬¥à ¯à®£à ¬¬ë |
- | 64 | include 'data.inc' |
|
Line 68... | Line 65... | ||
68 | 65 | ||
69 | 66 | ||
Line 86... | Line 83... | ||
86 | mov reg,0x10000000 |
83 | mov reg,0x10000000 |
87 | end if |
84 | end if |
88 | .exit: |
85 | .exit: |
89 | } |
86 | } |
Line 90... | Line -... | ||
90 | - | ||
91 | month_name: |
- | |
92 | if lang eq ru |
- | |
93 | db 8 |
- | |
94 | db '¢ àì ' |
- | |
95 | db '¥¢à «ì ' |
- | |
96 | db ' àâ ' |
- | |
97 | db '¯à¥«ì ' |
- | |
98 | db ' © ' |
- | |
99 | db 'îì ' |
- | |
100 | db 'î«ì ' |
- | |
101 | db '¢£ãáâ ' |
- | |
102 | db '¥âï¡àì' |
- | |
103 | db 'ªâï¡àì ' |
- | |
104 | db '®ï¡àì ' |
- | |
105 | db '¥ª ¡àì ' |
- | |
106 | else if lang eq de |
- | |
107 | db 9 |
- | |
108 | db 'Januar ' |
- | |
109 | db 'Februar ' |
- | |
110 | db 'MÁrz ' |
- | |
111 | db 'April ' |
- | |
112 | db 'Mai ' |
- | |
113 | db 'Juni ' |
- | |
114 | db 'Juli ' |
- | |
115 | db 'August ' |
- | |
116 | db 'September' |
- | |
117 | db 'Oktober ' |
- | |
118 | db 'November ' |
- | |
119 | db 'Dezember ' |
- | |
120 | else if lang eq fr |
- | |
121 | db 9 |
- | |
122 | db 'Janvier ' |
- | |
123 | db 'Fevrier ' |
- | |
124 | db 'Mars ' |
- | |
125 | db 'Avril ' |
- | |
126 | db 'Mai ' |
- | |
127 | db 'Juin ' |
- | |
128 | db 'Juliet ' |
- | |
129 | db 'Aout ' |
- | |
130 | db 'Septembre' |
- | |
131 | db 'Octobre ' |
- | |
132 | db 'Novembre ' |
- | |
133 | db 'Decembre ' |
- | |
134 | else if lang eq fi |
- | |
135 | db 9 |
- | |
136 | db 'Tammikuu ' |
- | |
137 | db 'Helmikuu ' |
- | |
138 | db 'Maaliskuu' |
- | |
139 | db 'Huhtikuu ' |
- | |
140 | db 'Toukokuu ' |
- | |
141 | db 'KesÁkuu ' |
- | |
142 | db 'HeinÁkuu ' |
- | |
143 | db 'Elokuu ' |
- | |
144 | db 'Syyskuu ' |
- | |
145 | db 'Lokakuu ' |
- | |
146 | db 'Marraskuu' |
- | |
147 | db 'Joulukuu ' |
- | |
148 | else if lang eq et |
- | |
149 | db 9 |
- | |
150 | db 'Jaanuar ' |
- | |
151 | db 'Veebruar ' |
- | |
152 | db 'Märts ' |
- | |
153 | db 'Aprill ' |
- | |
154 | db 'Mai ' |
- | |
155 | db 'Juuni ' |
- | |
156 | db 'Juuli ' |
- | |
157 | db 'August ' |
- | |
158 | db 'September' |
- | |
159 | db 'Oktoober ' |
- | |
160 | db 'November ' |
- | |
161 | db 'Detsember' |
- | |
162 | else if lang eq it |
- | |
163 | db 9 |
- | |
164 | db 'Gennaio ' |
- | |
165 | db 'Febbraio ' |
- | |
166 | db 'Marzo ' |
- | |
167 | db 'Aprile ' |
- | |
168 | db 'Maggio ' |
- | |
169 | db 'Giugno ' |
- | |
170 | db 'Luglio ' |
- | |
171 | db 'Agosto ' |
- | |
172 | db 'Settembre' |
- | |
173 | db 'Ottobre ' |
- | |
174 | db 'Novembre ' |
- | |
175 | db 'Dicembre ' |
- | |
176 | else |
- | |
177 | db 9 |
- | |
178 | db 'January ' |
- | |
179 | db 'February ' |
- | |
180 | db 'March ' |
- | |
181 | db 'April ' |
- | |
182 | db 'May ' |
- | |
183 | db 'June ' |
- | |
184 | db 'July ' |
- | |
185 | db 'August ' |
- | |
186 | db 'September' |
- | |
187 | db 'October ' |
- | |
188 | db 'November ' |
- | |
189 | db 'December ' |
- | |
190 | end if |
- | |
191 | spinner db '< >' |
- | |
192 | week_days: |
- | |
193 | if lang eq ru |
- | |
194 | db 2 |
- | |
195 | db 1 |
- | |
196 | db '' |
- | |
197 | db 'â' |
- | |
198 | db 'à' |
- | |
199 | db 'â' |
- | |
200 | db 'â' |
- | |
201 | db '¡' |
- | |
202 | db 'á' |
- | |
203 | else if lang eq de |
- | |
204 | db 2 |
- | |
205 | db 7 |
- | |
206 | db 'So' |
- | |
207 | db 'Mo' |
- | |
208 | db 'Di' |
- | |
209 | db 'Mi' |
- | |
210 | db 'Do' |
- | |
211 | db 'Fr' |
- | |
212 | db 'Sa' |
- | |
213 | else if lang eq fr |
- | |
214 | db 3 |
- | |
215 | db 7 |
- | |
216 | db 'Dim' |
- | |
217 | db 'Lun' |
- | |
218 | db 'Mar' |
- | |
219 | db 'Mer' |
- | |
220 | db 'Jeu' |
- | |
221 | db 'Ven' |
- | |
222 | db 'Sam' |
- | |
223 | else if lang eq fi |
- | |
224 | db 2 |
- | |
225 | db 7 |
- | |
226 | db 'Su' |
- | |
227 | db 'Ma' |
- | |
228 | db 'Ti' |
- | |
229 | db 'Ke' |
- | |
230 | db 'To' |
- | |
231 | db 'Pe' |
- | |
232 | db 'La' |
- | |
233 | else if lang eq et |
- | |
234 | db 3 |
- | |
235 | db 7 |
- | |
236 | db 'Esm' |
- | |
237 | db 'Tei' |
- | |
238 | db 'Kol' |
- | |
239 | db 'Nel' |
- | |
240 | db 'Ree' |
- | |
241 | db 'Lau' |
- | |
242 | db 'Püh' |
- | |
243 | else if lang eq it |
- | |
244 | db 3 |
- | |
245 | db 7 |
- | |
246 | db 'Dom' |
- | |
247 | db 'Lun' |
- | |
248 | db 'Mar' |
- | |
249 | db 'Mer' |
- | |
250 | db 'Gio' |
- | |
251 | db 'Ven' |
- | |
252 | db 'Sab' |
87 | |
253 | else |
- | |
254 | db 3 |
- | |
255 | db 7 |
- | |
256 | db 'Sun' |
- | |
257 | db 'Mon' |
- | |
258 | db 'Tue' |
- | |
259 | db 'Wen' |
- | |
260 | db 'Thi' |
- | |
261 | db 'Fri' |
- | |
262 | db 'Sat' |
- | |
Line 263... | Line 88... | ||
263 | end if |
88 | |
264 | 89 | ||
265 | str2int: |
90 | str2int: |
266 | xor eax,eax |
91 | xor eax,eax |
Line 289... | Line 114... | ||
289 | add [Year],100 |
114 | add [Year],100 |
290 | .no2000: |
115 | .no2000: |
291 | jmp upd ; §¤¥áì ç¨ ¥âáï ¢ë¯®«¥¨¥ ¯à®£à ¬¬ë |
116 | jmp upd ; §¤¥áì ç¨ ¥âáï ¢ë¯®«¥¨¥ ¯à®£à ¬¬ë |
292 | red: ; ¯¥à¥à¨á®¢ âì ®ª® |
117 | red: ; ¯¥à¥à¨á®¢ âì ®ª® |
Line 293... | Line 118... | ||
293 | 118 | ||
Line 294... | Line 119... | ||
294 | call draw_window ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª |
119 | call draw_window |
Line 295... | Line 120... | ||
295 | 120 | ||
296 | still: ; |
121 | still: ; |
Line 594... | Line 419... | ||
594 | 419 | ||
Line 595... | Line 420... | ||
595 | jmp still |
420 | jmp still |
Line 596... | Line -... | ||
596 | - | ||
597 | plus_me: |
421 | |
598 | 422 | plus_me: |
|
599 | mov eax,3 |
423 | |
600 | mcall |
- | |
601 | mov ecx,eax |
424 | mcall 3 |
602 | add ecx,4096 |
- | |
603 | mov eax,22 |
- | |
604 | mov ebx,0x00000000 |
425 | mov ecx,eax |
Line 605... | Line 426... | ||
605 | mcall |
426 | add ecx,4096 |
Line 606... | Line -... | ||
606 | - | ||
607 | jmp still |
427 | mcall 22,0x00000000 |
608 | 428 | jmp still |
|
609 | minus_md: |
429 | |
610 | - | ||
611 | mov eax,3 |
430 | minus_md: |
612 | mcall |
- | |
613 | mov ecx,eax |
- | |
614 | sub ecx,256 |
431 | |
Line 615... | Line 432... | ||
615 | mov eax,22 |
432 | mcall 3 |
Line 616... | Line -... | ||
616 | mov ebx,0x00000000 |
- | |
617 | mcall |
433 | mov ecx,eax |
618 | 434 | sub ecx,256 |
|
619 | jmp still |
435 | mcall 22,0x00000000 |
620 | - | ||
621 | minus_me: |
436 | jmp still |
622 | - | ||
623 | mov eax,3 |
- | |
624 | mcall |
437 | |
Line 625... | Line 438... | ||
625 | mov ecx,eax |
438 | minus_me: |
Line 626... | Line 439... | ||
626 | sub ecx,4096 |
439 | |
Line 664... | Line 477... | ||
664 | ; ******* ******* |
477 | ; ******* ******* |
665 | ; ********************************************* |
478 | ; ********************************************* |
Line 666... | Line 479... | ||
666 | 479 | ||
Line 667... | Line -... | ||
667 | draw_clock: |
- | |
668 | 480 | draw_clock: |
|
669 | mov eax,3 |
481 | |
670 | mcall |
- | |
671 | mov ecx,eax |
- | |
672 | mov eax,47 |
- | |
673 | mov esi,0x50000000 |
- | |
674 | mov edi,0xaabbcc |
482 | mcall 3 |
675 | mov ebx,0x00020100 |
- | |
Line 676... | Line 483... | ||
676 | mov edx,205*65536+280 |
483 | mov ecx,eax |
677 | mcall |
484 | mcall 47,0x00020100, ,205*65536+280,0x50000000,COL_WINDOW_BG |
678 | 485 | ||
Line 685... | Line 492... | ||
685 | mcall |
492 | mcall |
686 | ret |
493 | ret |
Line 687... | Line 494... | ||
687 | 494 | ||
Line 688... | Line -... | ||
688 | draw_window: |
- | |
689 | 495 | draw_window: |
|
690 | - | ||
691 | mov eax,12 ; äãªæ¨ï 12: á®®¡é¨âì ®¡ ®âà¨á®¢ª¥ ®ª |
- | |
692 | mov ebx,1 ; 1 - ç¨ ¥¬ à¨á®¢ âì |
- | |
693 | mcall |
496 | |
694 | ; ð |
497 | mcall 12,1 ; äãªæ¨ï 12: á®®¡é¨âì ®¡ ®âà¨á®¢ª¥ ®ª |
695 | xor eax,eax ; äãªæ¨ï 0 : ®¯à¥¤¥«¨âì ¨ ®âà¨á®¢ âì ®ª® |
- | |
696 | mov ebx,WIN_X |
- | |
697 | if SKIP eq 0 |
- | |
698 | mov ecx,WIN_Y |
498 | xor eax,eax ; äãªæ¨ï 0 : ®¯à¥¤¥«¨âì ¨ ®âà¨á®¢ âì ®ª® |
699 | else |
- | |
700 | mov ecx,WIN_Y-15 |
499 | mov ebx,WIN_X |
701 | end if |
500 | mov ecx,WIN_Y-15 |
702 | mov edx,0x14aabbcc ; 梥â à ¡®ç¥© ®¡« á⨠RRGGBB,8->color gl |
501 | mov edx,COL_WINDOW_BG ; 梥â à ¡®ç¥© ®¡« á⨠RRGGBB,8->color gl |
703 | mov edi,title ; § £®«®¢®ª |
502 | mov edi,title ; § £®«®¢®ª |
Line 704... | Line -... | ||
704 | mcall |
- | |
705 | call draw_week |
- | |
706 | 503 | mcall |
|
707 | mov eax,8 |
- | |
708 | mov ebx,205*65536+7 |
- | |
709 | mov ecx,290*65536+10 |
- | |
Line 710... | Line 504... | ||
710 | mov esi,0x005555dd |
504 | call draw_week |
711 | mov edx,72 |
505 | |
712 | mcall |
506 | mcall 8,205*65536+7,290*65536+10,72,COL_TIME_BUTTONS |
Line 742... | Line 536... | ||
742 | inc edx |
536 | inc edx |
743 | mcall |
537 | mcall |
Line 744... | Line 538... | ||
744 | 538 | ||
745 | mov ebx,243*65536+14 |
539 | mov ebx,243*65536+14 |
746 | mov ecx,290*65536+20 |
- | |
747 | mov esi,0x00dd7777 |
540 | mov ecx,290*65536+20 |
748 | inc edx |
541 | inc edx |
Line 749... | Line 542... | ||
749 | mcall |
542 | mcall |
750 | 543 | ||
751 | mov ebx,10*65536+100 |
544 | mov ebx,14*65536+110 |
752 | mov ecx,290*65536+20 |
545 | mov ecx,285*65536+22 |
753 | mov esi,0x00d5d5d5 |
546 | mov esi,0x00d5d5d5 |
Line 754... | Line -... | ||
754 | inc edx |
- | |
755 | mcall |
- | |
756 | - | ||
757 | mov esi,0x05080d0 |
547 | inc edx |
758 | if SKIP eq 0 |
- | |
759 | mov ebx,B_DATE_X |
- | |
760 | mov ecx,B_DATE_Y |
- | |
761 | mov edx,eax |
- | |
762 | mcall |
- | |
763 | inc edx |
- | |
764 | add ebx,B_DATE_BSHIFT |
- | |
765 | mcall |
548 | mcall |
766 | inc edx |
- | |
767 | else |
549 | |
768 | mov edx,10 |
550 | mov esi,COL_MONTH_YEAR_B |
769 | end if |
551 | mov edx,10 |
770 | or edx,1 shl 29+1 shl 30 |
552 | or edx,1 shl 29+1 shl 30 |
771 | mov ebx,B_NS_X |
553 | mov ebx,B_NS_X |
Line 785... | Line 567... | ||
785 | add ebx,B_SPIN_WIDTH shl 16 |
567 | add ebx,B_SPIN_WIDTH shl 16 |
786 | inc edx |
568 | inc edx |
787 | mcall |
569 | mcall |
788 | call draw_days |
570 | call draw_days |
Line 789... | Line 571... | ||
789 | 571 | ||
790 | mov eax,4 ; äãªæ¨ï 4 : ¯¨á âì ¢ ®ª¥ ⥪áâ |
572 | ; äãªæ¨ï 4 : ¯¨á âì ¢ ®ª¥ ⥪áâ |
791 | mov ebx,110*65536+280 |
573 | mcall 4,162*65536+280,0x800000ff,sys_text |
792 | mov ecx,0x800000ff |
- | |
793 | mov edx,sys_text |
- | |
794 | mcall |
- | |
795 | - | ||
796 | mov ebx,149*65536+302 |
- | |
797 | mov edx,minus |
- | |
798 | mcall |
- | |
799 | - | ||
800 | mov ebx,137*65536+292 |
574 | mcall ,180*65536+302,0x800000ff,minus |
801 | mov ecx,0x80ff0000 |
- | |
802 | mov edx,plus |
- | |
803 | mcall |
- | |
804 | - | ||
805 | mov ebx,15*65536+298 |
575 | mcall ,180*65536+292,0x80ff0000,plus |
806 | mov ecx,0x00000000 |
- | |
807 | mov esi,15 |
- | |
808 | mov edx,setd |
- | |
Line 809... | Line 576... | ||
809 | mcall |
576 | mcall , 24*65536+292,0x00000000,set_date_t,15 ;set date text |
Line 810... | Line -... | ||
810 | - | ||
811 | mov ecx,0x10ddeeff ; èà¨äâ 1 ¨ 梥â ( 0xF0RRGGBB ) |
- | |
812 | - | ||
813 | if SKIP eq 0 |
- | |
814 | mov ebx,B_DATE |
- | |
815 | mov edx,datebut |
- | |
816 | mov esi,9 |
- | |
817 | btc ecx,28 |
- | |
818 | mcall |
- | |
819 | add ebx,B_DATE_SHIFT |
- | |
820 | add edx,esi |
577 | |
821 | mcall |
578 | mov ecx,0x10ddeeff ; èà¨äâ 1 ¨ 梥â ( 0xF0RRGGBB ) |
822 | end if |
579 | |
823 | mov edx,n_style |
580 | mov edx,n_style |
824 | mov esi,ns_end-n_style |
581 | mov esi,ns_end-n_style |
825 | mov ebx,B_NS |
582 | mov ebx,B_NS |
826 | cmp [new_style],1 |
583 | cmp [new_style],1 |
827 | je .high |
584 | je .high |
828 | mov ecx,0xa0a0a0 |
585 | mov ecx,0xa0a0a0 |
829 | jmp .int |
586 | jmp .int |
830 | .high: |
587 | .high: |
Line 831... | Line 588... | ||
831 | mov ecx,0xac0000;d048c8 |
588 | mov ecx,COL_NEW_STYLE_T |
832 | .int: |
589 | .int: |
833 | mcall |
590 | mcall |
834 | 591 | ||
835 | mov ecx,0xd048c8 |
592 | mov ecx,COL_GO_TODAY_T |
Line 852... | Line 609... | ||
852 | ShowFocus 2 |
609 | ShowFocus 2 |
853 | mcall |
610 | mcall |
Line 854... | Line 611... | ||
854 | 611 | ||
855 | call draw_year |
612 | call draw_year |
856 | mov [dropped],0 |
- | |
857 | mov eax,12 ; äãªæ¨ï 12: á®®¡é¨âì ®¡ ®âà¨á®¢ª¥ ®ª |
- | |
858 | mov ebx,2 ; 2, § ª®ç¨«¨ à¨á®¢ âì |
613 | mov [dropped],0 |
859 | mcall |
614 | mcall 12,2 |
Line 860... | Line 615... | ||
860 | ret ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë |
615 | ret ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë |
861 | 616 | ||
862 | draw_year: |
617 | draw_year: |
863 | mcall 8,B_YEAR_X,B_Y,5,0x05080d0 |
618 | mcall 8,B_YEAR_X,B_Y,5,COL_MONTH_YEAR_B |
864 | ShowFocus 3,esi |
619 | ShowFocus 3,esi |
Line 865... | Line 620... | ||
865 | mcall 47,0x40001,Year,B_YEAR |
620 | mcall 47,0x40001,Year,B_YEAR |
Line 901... | Line 656... | ||
901 | 656 | ||
902 | draw_week: |
657 | draw_week: |
903 | mov eax,13 |
658 | mov eax,13 |
904 | mov ebx,B_WBAR_X |
659 | mov ebx,B_WBAR_X |
905 | mov ecx,B_WBAR_Y |
660 | mov ecx,B_WBAR_Y |
906 | mov edx,0x90a0b0 |
661 | mov edx,COL_WEEKDAY_BG |
907 | mcall |
662 | mcall |
908 | movzx esi,byte[week_days] |
663 | movzx esi,byte[week_days] |
909 | movzx edi,byte[week_days+1] |
664 | movzx edi,byte[week_days+1] |
910 | mov ebx,B_WEEK |
665 | mov ebx,B_WEEK |
Line 929... | Line 684... | ||
929 | 684 | ||
930 | draw_days: |
685 | draw_days: |
931 | mov eax,13 |
686 | mov eax,13 |
932 | mov ebx,B_DBAR_X |
687 | mov ebx,B_DBAR_X |
933 | mov ecx,B_DBAR_Y |
688 | mov ecx,B_DBAR_Y |
934 | mov edx,0xe0e0e0 |
689 | mov edx,COL_DATES_BG |
935 | mcall |
690 | mcall |
936 | call count_days |
691 | call count_days |
937 | cmp ecx,[day_sel] |
692 | cmp ecx,[day_sel] |
938 | jae .ok |
693 | jae .ok |
Line 946... | Line 701... | ||
946 | .dayloop: |
701 | .dayloop: |
947 | push ecx |
702 | push ecx |
948 | movzx edx,dx |
703 | movzx edx,dx |
949 | mov esi,edi |
704 | mov esi,edi |
950 | shl esi,21 |
705 | shl esi,21 |
951 | lea edx,[edx+esi+30 shl 16] |
706 | lea edx,[edx+esi+29 shl 16] |
952 | mov ecx,edi |
707 | mov ecx,edi |
953 | add cl,[week_days+1] |
708 | add cl,[week_days+1] |
954 | cmp ecx,7 |
709 | cmp ecx,7 |
955 | je .holiday |
710 | je .holiday |
956 | mov esi,0x10000000 |
711 | mov esi,0x10000000 |
Line 960... | Line 715... | ||
960 | .noholiday: |
715 | .noholiday: |
961 | mov ecx,number |
716 | mov ecx,number |
962 | inc dword[ecx] |
717 | inc dword[ecx] |
963 | pusha |
718 | pusha |
964 | mov ebx,edx |
719 | mov ebx,edx |
965 | mov bx,20 |
720 | mov bx,31 ; width |
966 | sub ebx,3 shl 16 |
721 | sub ebx,8 shl 16 |
967 | shrd ecx,edx,16 |
722 | shrd ecx,edx,16 |
968 | mov cx,20 |
723 | mov cx,29 ; height |
969 | sub ecx,7 shl 16 |
724 | sub ecx,12 shl 16 |
970 | mov edx,[number] |
725 | mov edx,[number] |
971 | cmp edx,[day_sel] |
726 | cmp edx,[day_sel] |
972 | je .draw_sel |
727 | je .draw_sel |
973 | mov esi,0xe0e0e0 |
728 | mov esi,COL_DATE_BUTTONS |
974 | jmp .draw_but |
729 | jmp .draw_but |
975 | .draw_sel: |
730 | .draw_sel: |
976 | mov esi,0x5080d0 |
731 | mov esi,COL_DATE_CURRENT |
977 | cmp [focus],5 |
732 | cmp [focus],5 |
978 | jne .draw_but |
733 | jne .draw_but |
979 | mov esi,0xef7840;0xe26830 |
734 | mov esi,COL_DATE_CHANGED |
980 | .draw_but: |
735 | .draw_but: |
981 | add edx,200+1 shl 29 |
736 | add edx,200+1 shl 29 |
982 | mov eax,8 |
737 | mov eax,8 |
983 | mcall |
738 | mcall |
984 | popa |
739 | popa |
985 | mcall |
740 | mcall |
- | 741 | add edx,1 shl 16 |
|
- | 742 | mcall |
|
- | 743 | sub edx,1 shl 16 |
|
986 | pop ecx |
744 | pop ecx |
987 | inc edi |
745 | inc edi |
988 | cmp edi,7 |
746 | cmp edi,7 |
989 | jne .nowrap |
747 | jne .nowrap |
990 | xor edi,edi |
748 | xor edi,edi |
Line 1070... | Line 828... | ||
1070 | mov ebx,7 |
828 | mov ebx,7 |
1071 | div bx |
829 | div bx |
1072 | mov [firstday],edx |
830 | mov [firstday],edx |
1073 | ret |
831 | ret |
Line 1074... | Line -... | ||
1074 | - | ||
1075 | ; ¤¥áì 室ïâáï ¤ ë¥ ¯à®£à ¬¬ë: |
- | |
1076 | - | ||
1077 | ; ¨â¥àä¥©á ¯à®£à ¬¬ë ¬®£®ï§ëçë© - § ¤ ©â¥ ï§ëª ¢ lang.inc |
- | |
1078 | day_count db 3,0,3,2,3,2,3,3,2,3,2,3 |
- | |
1079 | Fkeys db 210,211,212,213,214,215,216,217,208,209,228,159 |
- | |
1080 | - | ||
1081 | title: ; áâப § £®«®¢ª |
- | |
1082 | if lang eq ru |
- | |
1083 | db ' «¥¤ àì',0 |
- | |
1084 | else if lang eq ge |
- | |
1085 | db 'Kalender',0 |
- | |
1086 | else if lang eq fr |
- | |
1087 | db 'Calendrier',0 |
- | |
1088 | else if lang eq et |
- | |
1089 | db 'Kalender',0 |
- | |
1090 | else if lang eq it |
- | |
1091 | db 'Calendario',0 |
- | |
1092 | else |
- | |
1093 | db 'Calendar',0 |
- | |
1094 | end if |
- | |
1095 | - | ||
1096 | if SKIP eq 0 |
- | |
1097 | datebut: |
- | |
1098 | if lang eq ru |
- | |
1099 | db '1-ï ¤ â ' |
- | |
1100 | db '2-ï ¤ â ' |
- | |
1101 | else if lang eq fr |
- | |
1102 | db '1ere date' |
- | |
1103 | db '2eme date' |
- | |
1104 | else if lang eq ge |
- | |
1105 | db ' Datum 1 ' |
- | |
1106 | db ' Datum 2 ' |
- | |
1107 | else if lang eq et |
- | |
1108 | db 'Kuupäev 1' |
- | |
1109 | db 'Kuupäev 2' |
- | |
1110 | else if lang eq it |
- | |
1111 | db '1a data ' |
- | |
1112 | db '2a data ' |
- | |
1113 | else |
- | |
1114 | db '1st date ' |
- | |
1115 | db '2nd date ' |
- | |
1116 | end if |
- | |
1117 | end if |
- | |
1118 | n_style: |
- | |
1119 | if lang eq ru |
- | |
1120 | db '®¢ë© á⨫ì' |
- | |
1121 | else if lang eq de |
- | |
1122 | db 'Neuer Stil' |
- | |
1123 | else if lang eq fr |
- | |
1124 | db 'Nouveau' |
- | |
1125 | else if lang eq et |
- | |
1126 | db 'Uus stiil' |
- | |
1127 | else if lang eq it |
- | |
1128 | db 'Nuovo stile' |
- | |
1129 | else |
- | |
1130 | db 'New style' |
- | |
1131 | end if |
- | |
1132 | ns_end: |
- | |
1133 | today_msg: |
- | |
1134 | if lang eq ru |
- | |
1135 | db '¥£®¤ï' |
- | |
1136 | else if lang eq ge |
- | |
1137 | db 'Heute' |
- | |
1138 | else if lang eq fr |
- | |
1139 | db "Aujourd'hui" |
- | |
1140 | else if lang eq et |
- | |
1141 | db 'Täna' |
- | |
1142 | else if lang eq it |
- | |
1143 | db 'Oggi' |
- | |
1144 | else |
- | |
1145 | db 'Today' |
- | |
1146 | end if |
- | |
1147 | today_end: |
- | |
1148 | focus dd 3 |
- | |
1149 | new_style dd 1 |
- | |
1150 | dropped db 0 |
- | |
1151 | - | ||
1152 | sys_text: |
- | |
1153 | if lang eq ru |
- | |
1154 | db 'á¨á⥬®¥ ¢à¥¬ï',0 |
- | |
1155 | else if lang eq it |
- | |
1156 | db 'Ora di sistema',0 |
- | |
1157 | else |
- | |
1158 | db 'á¨á⥬®¥ ¢à¥¬ï',0 |
- | |
1159 | end if |
- | |
1160 | plus: |
- | |
1161 | if lang eq ru |
- | |
1162 | db '¤®¡ ¢¨âì(+)',0 |
- | |
1163 | else if lang eq it |
- | |
1164 | db 'Avanti',0 |
- | |
1165 | else |
- | |
1166 | db '¤®¡ ¢¨âì(+)',0 |
- | |
1167 | end if |
- | |
1168 | minus: |
- | |
1169 | if lang eq ru |
- | |
1170 | db 'ã¡à âì(-)',0 |
- | |
1171 | else if lang eq it |
- | |
1172 | db 'Indietro',0 |
- | |
1173 | else |
- | |
1174 | db 'ã¡à âì(-)',0 |
- | |
1175 | end if |
- | |
1176 | setd: |
- | |
1177 | if lang eq ru |
- | |
1178 | db 'áâ ®¢¨âì ¤ âã',0 |
- | |
1179 | else if lang eq it |
- | |
1180 | db 'Impostazioni',0 |
- | |
1181 | else |
- | |
1182 | db 'áâ ®¢¨âì ¤ âã',0 |
- | |
1183 | end if |
- | |
1184 | 832 | ||
1185 | I_END: ; ª®¥æ ¯à®£à ¬¬ë |
833 | I_END: ; ª®¥æ ¯à®£à ¬¬ë |
1186 | firstday dd ? |
834 | firstday dd ? |
1187 | Year dd ? |
835 | Year dd ? |
1188 | Month dd ? |
836 | Month dd ? |