Rev 8960 | Rev 9014 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8960 | Rev 8984 | ||
---|---|---|---|
Line 519... | Line 519... | ||
519 | mov edi, allocatedregions |
519 | mov edi, allocatedregions |
520 | int3 |
520 | int3 |
521 | jmp $ |
521 | jmp $ |
522 | @@: |
522 | @@: |
523 | end if |
523 | end if |
524 | or eax, -1 |
524 | or eax, SF_TERMINATE_PROCESS |
525 | int 40h |
525 | int 40h |
Line -... | Line 526... | ||
- | 526 | ||
526 | 527 | align 16 |
|
527 | get_event: |
528 | get_event: |
528 | push ebx |
529 | push ebx |
529 | mov ebx, [idle_interval] |
530 | mov ebx, [idle_interval] |
530 | cmp ebx, -1 |
531 | cmp ebx, -1 |
Line 810... | Line 811... | ||
810 | and [ctrlstate], not 0x20 |
811 | and [ctrlstate], not 0x20 |
811 | jmp .keybar |
812 | jmp .keybar |
Line 812... | Line 813... | ||
812 | 813 | ||
813 | align 16 |
814 | align 16 |
814 | mouse: |
815 | mouse: |
815 | cmp dword[num_screens],1 |
816 | cmp dword[active_screen],0 |
816 | jg event |
817 | jg event |
817 | mov eax,SF_MOUSE_GET |
818 | mov eax,SF_MOUSE_GET |
818 | mov ebx,SSF_BUTTON_EXT |
819 | mov ebx,SSF_BUTTON_EXT |
819 | int 0x40 |
820 | int 0x40 |
820 | bt eax,8 |
821 | bt eax,8 ;left but. down |
Line 821... | Line 822... | ||
821 | jnc event |
822 | jnc event |
822 | 823 | ||
823 | mov eax,SF_MOUSE_GET |
824 | mov eax,SF_MOUSE_GET |
Line 835... | Line 836... | ||
835 | shr eax,16 |
836 | shr eax,16 |
Line 836... | Line 837... | ||
836 | 837 | ||
837 | cmp edx, 0 |
838 | cmp edx, 0 |
838 | jl .no_ch_pos |
839 | jl .no_ch_pos |
839 | mov ebx, [cur_height] |
840 | mov ebx, [cur_height] |
- | 841 | sub ebx, 3 |
|
- | 842 | cmp edx, ebx |
|
- | 843 | je .on_panel |
|
840 | sub ebx, 7 |
844 | sub ebx, 7-3 |
841 | cmp edx, ebx |
845 | cmp edx, ebx |
Line 842... | Line 846... | ||
842 | jge .no_ch_pos |
846 | jge .no_ch_pos |
843 | 847 | ||
- | 848 | push edx eax |
|
- | 849 | mov ecx, [cur_width] |
|
- | 850 | if font_width & 3 |
|
- | 851 | imul ecx, font_width |
|
844 | push edx eax |
852 | shr ecx, 2 |
- | 853 | else |
|
845 | mov ecx, [cur_width] |
854 | imul ecx, font_width/4 |
846 | imul ecx, font_width/4 |
855 | end if |
847 | xor dx,dx |
856 | xor dx,dx |
848 | sub ax, 5 ;window border |
857 | sub ax, 5 ;window border |
849 | div cx |
858 | div cx |
Line 888... | Line 897... | ||
888 | jl @f |
897 | jl @f |
889 | mov [ebp + PanelData.index], edx |
898 | mov [ebp + PanelData.index], edx |
890 | @@: |
899 | @@: |
891 | call draw_panel |
900 | call draw_panel |
892 | jmp event |
901 | jmp event |
- | 902 | .on_panel: |
|
- | 903 | call get_keybar_ind |
|
- | 904 | lea eax, [panels_mouse+4*eax] |
|
- | 905 | cmp dword[eax], 0 |
|
- | 906 | je event |
|
- | 907 | mov ebp, [active_panel] |
|
- | 908 | mov ecx, [ebp + PanelData.index] |
|
- | 909 | call dword[eax] |
|
- | 910 | @@: |
|
- | 911 | jmp event |
|
- | 912 | ||
- | 913 | ;input: |
|
- | 914 | ; eax - coord x |
|
- | 915 | ;output: |
|
- | 916 | ; eax - key bar index (0 to 35) if press F1 index = 0 |
|
- | 917 | align 16 |
|
- | 918 | get_keybar_ind: |
|
- | 919 | push ebx ecx edx esi edi |
|
- | 920 | xor edx, edx |
|
- | 921 | mov ebx, font_width |
|
- | 922 | sub eax, 5 ;border |
|
- | 923 | div ebx |
|
- | 924 | mov edi, eax |
|
- | 925 | ||
- | 926 | xor esi, esi |
|
- | 927 | test [ctrlstate], 3 |
|
- | 928 | jz @f |
|
- | 929 | inc esi |
|
- | 930 | @@: |
|
- | 931 | test [ctrlstate], 0xC |
|
- | 932 | jz @f |
|
- | 933 | or si, 2 |
|
- | 934 | @@: |
|
- | 935 | test [ctrlstate], 0x30 |
|
- | 936 | jz @f |
|
- | 937 | or si, 4 |
|
- | 938 | @@: |
|
- | 939 | imul esi, 12 ;ç¨á«® ª®¯®ª F1-F12 |
|
- | 940 | xor ecx, ecx |
|
- | 941 | inc ecx |
|
- | 942 | mov ebx, 6 |
|
- | 943 | mov eax, [cur_width] |
|
- | 944 | sub eax, 11+9+3*2+6 |
|
- | 945 | cmp eax, 7*11 |
|
- | 946 | jl @f |
|
- | 947 | cdq |
|
- | 948 | mov bl, 11 |
|
- | 949 | div ebx |
|
- | 950 | mov ebx, eax |
|
- | 951 | @@: |
|
- | 952 | xor edx, edx |
|
- | 953 | .l: |
|
- | 954 | add edx, 7 |
|
- | 955 | cmp ecx, 10 |
|
- | 956 | jb @f |
|
- | 957 | inc edx |
|
- | 958 | @@: |
|
- | 959 | cmp edx, edi |
|
- | 960 | ja .ret |
|
- | 961 | cmp edx, [cur_width] |
|
- | 962 | ja .ret |
|
- | 963 | cmp ecx, 12 |
|
- | 964 | jz .ret |
|
- | 965 | lea edx, [edx+ebx-6] |
|
- | 966 | inc edx |
|
- | 967 | cmp edx, [cur_width] |
|
- | 968 | ja .ret |
|
- | 969 | inc ecx |
|
- | 970 | jmp .l |
|
- | 971 | .ret: |
|
- | 972 | lea eax, [esi+ecx-1] |
|
- | 973 | pop edi esi edx ecx ebx |
|
- | 974 | ret |
|
Line 893... | Line 975... | ||
893 | 975 | ||
894 | align 16 |
976 | align 16 |
895 | process_ctrl_keys: |
977 | process_ctrl_keys: |
896 | cmp byte [esi], 0 |
978 | cmp byte [esi], 0 |
Line 4069... | Line 4151... | ||
4069 | lea edi, [edi + edx*2] |
4151 | lea edi, [edi + edx*2] |
4070 | pop edx |
4152 | pop edx |
4071 | ret |
4153 | ret |
Line 4072... | Line 4154... | ||
4072 | 4154 | ||
4073 | ;description: |
4155 | ;description: |
4074 | ; draw keys F1-F10 |
4156 | ; draw keys F1-F12 |
4075 | align 16 |
4157 | align 16 |
4076 | draw_keybar: |
4158 | draw_keybar: |
4077 | pushad |
4159 | pushad |
4078 | xor eax, eax |
4160 | xor eax, eax |
Line 4086... | Line 4168... | ||
4086 | @@: |
4168 | @@: |
4087 | test [ctrlstate], 0x30 |
4169 | test [ctrlstate], 0x30 |
4088 | jz @f |
4170 | jz @f |
4089 | or al, 4 |
4171 | or al, 4 |
4090 | @@: |
4172 | @@: |
4091 | imul eax, 6*12 |
4173 | imul eax, 6*12 ;¤«¨ ⥪áâ * ç¨á«® ª®¯®ª F1-F12 |
4092 | mov esi, [active_screen_keybar] |
4174 | mov esi, [active_screen_keybar] |
4093 | add esi, eax |
4175 | add esi, eax |
4094 | xor ecx, ecx |
4176 | xor ecx, ecx |
4095 | inc ecx |
4177 | inc ecx |
4096 | xor eax, eax |
4178 | xor eax, eax |
Line 4106... | Line 4188... | ||
4106 | cdq |
4188 | cdq |
4107 | mov bl, 11 |
4189 | mov bl, 11 |
4108 | div ebx |
4190 | div ebx |
4109 | mov ebx, eax |
4191 | mov ebx, eax |
4110 | @@: |
4192 | @@: |
4111 | xor edx, edx |
4193 | xor edx, edx ;¤«ï ª®âà®«ï ¢ë室 § ¯à¥¤¥«ë ¯ ¥«¨ |
4112 | .l: |
4194 | .l: |
4113 | add edx, 7 |
4195 | add edx, 7 |
4114 | cmp cl, 10 |
4196 | cmp cl, 10 |
4115 | jb @f |
4197 | jb @f |
4116 | inc edx |
4198 | inc edx |
Line 4173... | Line 4255... | ||
4173 | pop edi |
4255 | pop edi |
4174 | sub ecx, edi |
4256 | sub ecx, edi |
4175 | shr ecx, 1 |
4257 | shr ecx, 1 |
4176 | mov al, ' ' |
4258 | mov al, ' ' |
4177 | mov ah, [keybar_name_color] |
4259 | mov ah, [keybar_name_color] |
4178 | rep stosw |
4260 | rep stosw ;§ ªà ᪠ª®æ ¯ ¥«¨ ¯®¤ 梥⠪®¯ª¨ |
4179 | .done: |
4261 | |
4180 | cmp [bDisplayQuickSearch], 0 |
4262 | cmp [bDisplayQuickSearch], 0 |
4181 | jz @f |
4263 | jz @f |
4182 | push QuickSearchDlg |
4264 | push QuickSearchDlg |
4183 | call DrawDialogBox |
4265 | call DrawDialogBox |
4184 | @@: |
4266 | @@: |
4185 | popad |
4267 | popad |
4186 | ret |
4268 | ret |
Line -... | Line 4269... | ||
- | 4269 | ||
4187 | 4270 | align 16 |
|
4188 | draw_cmdbar: |
4271 | draw_cmdbar: |
4189 | mov esi, [active_panel] |
4272 | mov esi, [active_panel] |
4190 | add esi, PanelData.dir |
4273 | add esi, PanelData.dir |
4191 | xor eax, eax |
4274 | xor eax, eax |
Line 7426... | Line 7509... | ||
7426 | db 0,0,'1234567890-=',0,0 |
7509 | db 0,0,'1234567890-=',0,0 |
7427 | db 'qwertyuiop[]',0,0,'as' |
7510 | db 'qwertyuiop[]',0,0,'as' |
7428 | db 'dfghjkl;',27h,'`',0,'\zxcv' |
7511 | db 'dfghjkl;',27h,'`',0,'\zxcv' |
7429 | db 'bnm,./',0,0,0,' ',0,0,0,0,0,0 |
7512 | db 'bnm,./',0,0,0,' ',0,0,0,0,0,0 |
Line -... | Line 7513... | ||
- | 7513 | ||
- | 7514 | align 4 |
|
- | 7515 | panels_mouse: |
|
- | 7516 | dd 0 ;f1 |
|
- | 7517 | dd 0 ;f2 |
|
- | 7518 | dd panels_OnKey.f3 |
|
- | 7519 | dd panels_OnKey.f4 |
|
- | 7520 | dd panels_OnKey.f5 |
|
- | 7521 | dd 0 ;f6 |
|
- | 7522 | dd panels_OnKey.f7 |
|
- | 7523 | dd panels_OnKey.f8 |
|
- | 7524 | dd 0,0,0 ;f9-f11 |
|
- | 7525 | dd F12 |
|
- | 7526 | ; Shift |
|
- | 7527 | rd 4 |
|
- | 7528 | dd panels_OnKey.shift_f5 |
|
- | 7529 | rd 7 |
|
- | 7530 | ; Ctrl |
|
- | 7531 | rd 12 |
|
- | 7532 | ; Ctrl+Shift |
|
- | 7533 | rd 12 |
|
- | 7534 | ; Alt |
|
- | 7535 | rd 6 |
|
- | 7536 | dd panels_OnKey.alt_f7 |
|
- | 7537 | rd 4 |
|
- | 7538 | dd panels_OnKey.alt_f12 |
|
- | 7539 | ; Alt+Shift |
|
- | 7540 | rd 12 |
|
- | 7541 | ; Alt+Ctrl |
|
- | 7542 | rd 12 |
|
- | 7543 | ; Alt+Ctrl+Shift |
|
- | 7544 | rd 12 |
|
7430 | 7545 | ||
7431 | ; « ¢¨èë¥ á®ç¥â ¨ï |
7546 | ; « ¢¨èë¥ á®ç¥â ¨ï |
7432 | ; db scancode, reserved |
7547 | ; db scancode, reserved |
7433 | ; dw ctrlstate |
7548 | ; dw ctrlstate |
7434 | ; dd handler |
7549 | ; dd handler |