Subversion Repositories Kolibri OS

Rev

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*]