Rev 2620 | Rev 2669 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2620 | Rev 2648 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
4 | ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
6 | ;; ;; |
6 | ;; ;; |
7 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
7 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 8... | Line 8... | ||
8 | 8 | ||
Line 9... | Line 9... | ||
9 | $Revision: 2620 $ |
9 | $Revision: 2648 $ |
10 | 10 | ||
11 | ;============================================================================== |
11 | ;============================================================================== |
Line 1024... | Line 1024... | ||
1024 | inc eax |
1024 | inc eax |
1025 | ret |
1025 | ret |
1026 | ;------------------------------------------------------------------------------ |
1026 | ;------------------------------------------------------------------------------ |
1027 | align 4 |
1027 | align 4 |
1028 | ;------------------------------------------------------------------------------ |
1028 | ;------------------------------------------------------------------------------ |
- | 1029 | minimize_all_window: |
|
- | 1030 | push ebx ecx edx esi edi |
|
- | 1031 | pushfd |
|
- | 1032 | cli |
|
- | 1033 | xor edx, edx |
|
- | 1034 | mov eax, 2 ; we do not minimize the kernel thread N1 |
|
- | 1035 | mov ebx, [TASK_COUNT] |
|
- | 1036 | ;-------------------------------------- |
|
- | 1037 | align 4 |
|
- | 1038 | .loop: |
|
- | 1039 | movzx edi, word[WIN_POS + eax * 2] |
|
- | 1040 | shl edi, 5 |
|
- | 1041 | ; it is a unused slot? |
|
- | 1042 | cmp dword [edi+CURRENT_TASK+TASKDATA.state], 9 |
|
- | 1043 | je @f |
|
- | 1044 | ; it is a hidden thread? |
|
- | 1045 | lea esi, [edi*8+SLOT_BASE+APPDATA.app_name] |
|
- | 1046 | cmp [esi], byte '@' |
|
- | 1047 | je @f |
|
- | 1048 | ; is it already minimized? |
|
- | 1049 | test [edi + window_data+WDATA.fl_wstate], WSTATE_MINIMIZED |
|
- | 1050 | jnz @f |
|
- | 1051 | ; no it's not, let's do that |
|
- | 1052 | or [edi + window_data+WDATA.fl_wstate], WSTATE_MINIMIZED |
|
- | 1053 | inc edx |
|
- | 1054 | ;-------------------------------------- |
|
- | 1055 | align 4 |
|
- | 1056 | @@: |
|
- | 1057 | inc eax |
|
- | 1058 | cmp eax, ebx |
|
- | 1059 | jbe .loop |
|
- | 1060 | ; If nothing has changed |
|
- | 1061 | test edx, edx |
|
- | 1062 | jz @f |
|
- | 1063 | ||
- | 1064 | push edx |
|
- | 1065 | call syscall_display_settings._.calculate_whole_screen |
|
- | 1066 | call syscall_display_settings._.redraw_whole_screen |
|
- | 1067 | pop edx |
|
- | 1068 | ;-------------------------------------- |
|
- | 1069 | align 4 |
|
- | 1070 | @@: |
|
- | 1071 | mov eax, edx |
|
- | 1072 | popfd |
|
- | 1073 | pop edi esi edx ecx ebx |
|
- | 1074 | ret |
|
- | 1075 | ;------------------------------------------------------------------------------ |
|
- | 1076 | align 4 |
|
- | 1077 | ;------------------------------------------------------------------------------ |
|
1029 | minimize_window: ;///////////////////////////////////////////////////////////// |
1078 | minimize_window: ;///////////////////////////////////////////////////////////// |
1030 | ;------------------------------------------------------------------------------ |
1079 | ;------------------------------------------------------------------------------ |
1031 | ;> eax = window number on screen |
1080 | ;> eax = window number on screen |
1032 | ;------------------------------------------------------------------------------ |
1081 | ;------------------------------------------------------------------------------ |
1033 | ;# corrupts [dl*] |
1082 | ;# corrupts [dl*] |