Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 452 → Rev 451

/programs/system/calendar/trunk/calendar.asm
8,7 → 8,7
; COMPILE WITH FASM
 
WIN_X equ (150 shl 16+270)
WIN_Y equ (100 shl 16+335)
WIN_Y equ (100 shl 16+300)
 
LINE1 equ 27 shl 16+16
B_MONTH_X equ 10 shl 16+158
271,9 → 271,8
 
still: ; ƒ‹€‚›‰ –ˆŠ‹ Žƒ€ŒŒ›
 
mov eax,23 ; wait here for event
mov ebx,50
mcall
mov eax,10 ; äã­ªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï
int 0x40 ; ¢ë§ë¢ ¥¬ á¨á⥬ã
.evt:
mov ebp,[focus]
cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª­® ?
283,13 → 282,11
cmp eax,3 ; ­ ¦ â  ª­®¯ª  ?
je button ; ¥á«¨ ¤  - ­  button
 
call draw_clock
 
jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ­ ç «® 横« 
 
key: ; ­ ¦ â  ª« ¢¨è  ­  ª« ¢¨ âãà¥
mov eax,2 ; äã­ªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« 
mcall ; ¢ë§®¢ á¨á⥬ë
int 0x40 ; ¢ë§®¢ á¨á⥬ë
cmp ah,9
jne no_tab
.tab:
358,7 → 355,7
 
button: ; ­ ¦ â  ª­®¯ª  ¢ ®ª­¥ ¯à®£à ¬¬ë
mov eax,17 ; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
mcall ; ¢ë§®¢ á¨á⥬ë
int 0x40 ; ¢ë§®¢ á¨á⥬ë
movzx ebx,ah
cmp ah,200
jbe nodayselect
383,41 → 380,9
jne noclose ; ¥á«¨ ­¥â - ¨¤¨ ¢¯¥àñ¤ ­  noclose
close:
or eax,-1 ; ¢ë室 ¨§ ¯à®£à ¬¬ë
mcall ; ¢ë§®¢ á¨á⥬ë
int 0x40 ; ¢ë§®¢ á¨á⥬ë
 
noclose:
 
cmp ah,72
je plus_he
 
cmp ah,73
je plus_hd
 
cmp ah,74
je minus_he
 
cmp ah,75
je minus_hd
 
cmp ah,76
je plus_me
 
cmp ah,77
je plus_md
 
cmp ah,78
je minus_me
 
cmp ah,79
je minus_md
 
cmp ah,80
je reset
 
;jmp still
 
 
 
cmp ah,2 ; drop down list
jne no_dropdn
.drop:
429,7 → 394,7
mov ecx,31
mov eax,8
.bremove:
mcall
int 0x40
dec edx
loop .bremove
call draw_dropdown
498,148 → 463,15
jmp upd
 
 
reset:
 
mov eax,3
mcall
mov ecx,eax
shl ecx,16
shr ecx,16
mov eax,22
mov ebx,0x00000000
mcall
 
jmp still
 
plus_hd:
 
mov eax,3
mcall
mov ecx,eax
add ecx,1
mov eax,22
mov ebx,0x00000000
mcall
 
jmp still
 
plus_he:
 
mov eax,3
mcall
mov ecx,eax
add ecx,16
mov eax,22
mov ebx,0x00000000
mcall
 
jmp still
 
minus_hd:
 
mov eax,3
mcall
mov ecx,eax
sub ecx,1
mov eax,22
mov ebx,0x00000000
mcall
 
jmp still
 
minus_he:
 
mov eax,3
mcall
mov ecx,eax
sub ecx,16
mov eax,22
mov ebx,0x00000000
mcall
 
jmp still
 
plus_md:
 
mov eax,3
mcall
mov ecx,eax
add ecx,256
mov eax,22
mov ebx,0x00000000
mcall
 
jmp still
 
plus_me:
 
mov eax,3
mcall
mov ecx,eax
add ecx,4096
mov eax,22
mov ebx,0x00000000
mcall
 
jmp still
 
minus_md:
 
mov eax,3
mcall
mov ecx,eax
sub ecx,256
mov eax,22
mov ebx,0x00000000
mcall
 
jmp still
 
minus_me:
 
mov eax,3
mcall
mov ecx,eax
sub ecx,4096
mov eax,22
mov ebx,0x00000000
mcall
 
jmp still
 
; *********************************************
; ******* Ž…„…‹…ˆ… ˆ Ž’ˆ‘Ž‚Š€ ŽŠ€ *******
; *********************************************
 
draw_clock:
 
mov eax,3
mcall
mov ecx,eax
mov eax,47
mov esi,0x50000000
mov edi,0xaabbcc
mov ebx,0x00020100
mov edx,205*65536+280
mcall
 
shr ecx,8
add edx,20*65536
;mov eax,47
mcall
 
shr ecx,8
add edx,20*65536
;mov eax,47
mcall
ret
 
draw_window:
 
 
mov eax,12 ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
mov ebx,1 ; 1 - ­ ç¨­ ¥¬ à¨á®¢ âì
mcall
int 0x40
; ‘Ž‡„€ðŒ ŽŠŽ
xor eax,eax ; äã­ªæ¨ï 0 : ®¯à¥¤¥«¨âì ¨ ®âà¨á®¢ âì ®ª­®
mov ebx,WIN_X
650,82 → 482,19
end if
mov edx,0x13aabbcc ; 梥â à ¡®ç¥© ®¡« á⨠RRGGBB,8->color gl
mov edi,header ; § £®«®¢®ª
mcall
int 0x40
call draw_week
 
mov eax,8
mov ebx,205*65536+7
mov ecx,290*65536+10
mov esi,0x005555dd
mov edx,72
mcall
 
;mov eax,8
mov ebx,212*65536+7
;mov ecx,290*65536+10
;mov esi,0x005555dd
inc edx
mcall
 
;mov eax,8
mov ebx,205*65536+7
mov ecx,300*65536+10
;mov esi,0x005555dd
inc edx
mcall
 
;mov eax,8
mov ebx,212*65536+7
;mov ecx,300*65536+10
;mov esi,0x005555dd
inc edx
mcall
 
;mov eax,8
mov ebx,224*65536+7
mov ecx,290*65536+10
;mov esi,0x005555dd
inc edx
mcall
 
;mov eax,8
mov ebx,231*65536+7
;mov ecx,290*65536+10
;mov esi,0x005555dd
inc edx
mcall
 
;mov eax,8
mov ebx,224*65536+7
mov ecx,300*65536+10
;mov esi,0x005555dd
inc edx
mcall
 
;mov eax,8
mov ebx,231*65536+7
;mov ecx,300*65536+10
;mov esi,0x005555dd
inc edx
mcall
 
;mov eax,8
mov ebx,243*65536+14
mov ecx,290*65536+20
mov esi,0x00dd7777
inc edx
mcall
 
mov eax,8
mov esi,0x05080d0
if SKIP eq 0
mov ebx,B_DATE_X
mov ecx,B_DATE_Y
mov edx,eax
mcall
int 0x40
inc edx
add ebx,B_DATE_BSHIFT
mcall
int 0x40
inc edx
else
mov edx,10
733,43 → 502,24
or edx,1 shl 29+1 shl 30
mov ebx,B_NS_X
mov ecx,B_NS_Y
mcall
int 0x40
add edx,1-1 shl 29
mov ebx,B_TODAY_X+8*(today_end-today_msg)
mov ecx,B_TODAY_Y
mcall
int 0x40
mov ecx,B_Y
mov ebx,B_MONTH_X
mov edx,2
mcall
int 0x40
mov ebx,B_SPIN_X
inc edx
mcall
int 0x40
add ebx,B_SPIN_WIDTH shl 16
inc edx
mcall
int 0x40
call draw_days
 
mov eax,4 ; äã­ªæ¨ï 4 : ­ ¯¨á âì ¢ ®ª­¥ ⥪áâ
mov ebx,110*65536+280
mov ecx,0x800000ff
mov edx,sys_text
mcall
 
;mov eax,4
mov ebx,149*65536+302
;mov ecx,0x800000ff
mov edx,minus
mcall
 
;mov eax,4
mov ebx,137*65536+292
mov ecx,0x80ff0000
mov edx,plus
mcall
 
 
;mov eax,4
mov ecx,0x10ddeeff ; èà¨äâ 1 ¨ 梥â ( 0xF0RRGGBB )
 
if SKIP eq 0
777,10 → 527,10
mov edx,datebut
mov esi,9
btc ecx,28
mcall
int 0x40
add ebx,B_DATE_SHIFT
add edx,esi
mcall
int 0x40
end if
mov edx,n_style
mov esi,ns_end-n_style
792,19 → 542,19
.high:
mov ecx,0xac0000;d048c8
.int:
mcall
int 0x40
 
mov ecx,0xd048c8
mov edx,today_msg
mov ebx,B_TODAY
mov esi,today_end-today_msg
mcall
int 0x40
 
mov ebx,B_SPIN
mov edx,spinner
mov esi,3
ShowFocus 4
mcall
int 0x40
 
mov edx,[Month]
movzx esi,byte[month_name]
812,13 → 562,13
add edx,month_name+1
mov ebx,B_MONTH
ShowFocus 2
mcall
int 0x40
 
call draw_year
mov [dropped],0
mov eax,12 ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
mov ebx,2 ; 2, § ª®­ç¨«¨ à¨á®¢ âì
mcall
int 0x40
ret ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë
 
draw_year:
844,13 → 594,13
mov ecx,[esp+4]
mov esi,0x6f9fef
mov eax,8
mcall
int 0x40
shr eax,1
mov ebx,[esp+8]
xchg edx,[esp+12]
movzx esi,byte[month_name]
ShowFocus edi
mcall
int 0x40
add edx,esi
xchg edx,[esp+12]
add dword[esp+8],16
866,7 → 616,7
mov ebx,B_WBAR_X
mov ecx,B_WBAR_Y
mov edx,0x90a0b0
mcall
int 0x40
movzx esi,byte[week_days]
movzx edi,byte[week_days+1]
mov ebx,B_WEEK
882,7 → 632,7
.holiday:
mov ecx,0x10cc1010
.noholiday:
mcall
int 0x40
add edx,esi
add ebx,B_WX_SHIFT
pop ecx
894,7 → 644,7
mov ebx,B_DBAR_X
mov ecx,B_DBAR_Y
mov edx,0xe0e0e0
mcall
int 0x40
call count_days
cmp ecx,[day_sel]
jae .ok
942,9 → 692,9
.draw_but:
add edx,200+1 shl 29
mov eax,8
mcall
int 0x40
popa
mcall
int 0x40
pop ecx
inc edi
cmp edi,7
1036,7 → 786,7
 
; ‡¤¥áì ­ å®¤ïâáï ¤ ­­ë¥ ¯à®£à ¬¬ë:
 
; ¨­â¥àä¥©á ¯à®£à ¬¬ë ¬­®£®ï§ëç­ë© - § ¤ ©â¥ ï§ëª ¢ lang.inc
; ¨­â¥àä¥©á ¯à®£à ¬¬ë ¤¢ãï§ëç­ë© - § ¤ ©â¥ ï§ëª ¢ macros.inc
day_count db 3,0,3,2,3,2,3,3,2,3,2,3
Fkeys db 210,211,212,213,214,215,216,217,208,209,228,159
 
1102,11 → 852,6
new_style dd 1
dropped db 0
 
co_text: db '¢à¥¬ï á¥áᨨ',0
sys_text: db 'á¨á⥬­®¥ ¢à¥¬ï',0
plus: db '¤®¡ ¢¨âì(+)',0
minus: db 'ã¡à âì(-)',0
 
I_END: ; ª®­¥æ ¯à®£à ¬¬ë
firstday dd ?
Year dd ?