Subversion Repositories Kolibri OS

Rev

Rev 2341 | Rev 2423 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2341 Rev 2381
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: 2341 $
9
$Revision: 2381 $
10
 
10
 
11
;==============================================================================
11
;==============================================================================
Line 352... Line 352...
352
    @@:
352
    @@:
353
        push    esi edx ecx ebx
353
        push    esi edx ecx ebx
354
        mov     eax, esp
354
        mov     eax, esp
355
        mov     bl, [edi + WDATA.fl_wstate]
355
        mov     bl, [edi + WDATA.fl_wstate]
356
        call    window._.set_window_box
356
        call    window._.set_window_box
357
        add     esp, BOX.sizeof
357
        add     esp, sizeof.BOX
Line 358... Line 358...
358
 
358
 
359
        ; NOTE: do we really need this? to be reworked
359
        ; NOTE: do we really need this? to be reworked
360
;       mov     byte[DONT_DRAW_MOUSE], 0 ; mouse pointer
360
;       mov     byte[DONT_DRAW_MOUSE], 0 ; mouse pointer
361
;       mov     byte[MOUSE_BACKGROUND], 0 ; no mouse under
361
;       mov     byte[MOUSE_BACKGROUND], 0 ; no mouse under
Line 516... Line 516...
516
repos_windows: ;///////////////////////////////////////////////////////////////
516
repos_windows: ;///////////////////////////////////////////////////////////////
517
;------------------------------------------------------------------------------
517
;------------------------------------------------------------------------------
518
;? 
518
;? 
519
;------------------------------------------------------------------------------
519
;------------------------------------------------------------------------------
520
        mov     ecx, [TASK_COUNT]
520
        mov     ecx, [TASK_COUNT]
521
        mov     edi, window_data + WDATA.sizeof * 2
521
        mov     edi, window_data + sizeof.WDATA * 2
522
        call    force_redraw_background
522
        call    force_redraw_background
523
        dec     ecx
523
        dec     ecx
524
        jle     .exit
524
        jle     .exit
Line 525... Line 525...
525
 
525
 
Line 571... Line 571...
571
        mov     [edi + WDATA.box.height], eax
571
        mov     [edi + WDATA.box.height], eax
Line 572... Line 572...
572
 
572
 
573
  .fix_client_box:
573
  .fix_client_box:
Line 574... Line 574...
574
        call    window._.set_window_clientbox
574
        call    window._.set_window_clientbox
575
 
575
 
Line 576... Line 576...
576
        add     edi, WDATA.sizeof
576
        add     edi, sizeof.WDATA
577
        loop    .next_window
577
        loop    .next_window
Line 1109... Line 1109...
1109
        mov     [ecx + BOX.height], eax
1109
        mov     [ecx + BOX.height], eax
1110
        xchg    eax, ecx
1110
        xchg    eax, ecx
Line 1111... Line 1111...
1111
 
1111
 
1112
    @@:
1112
    @@:
1113
        call    window._.set_window_box
1113
        call    window._.set_window_box
Line 1114... Line 1114...
1114
        add     esp, BOX.sizeof
1114
        add     esp, sizeof.BOX
1115
 
1115
 
Line 1116... Line 1116...
1116
  .exit:
1116
  .exit:
Line 1145... Line 1145...
1145
        jmp     .set_box
1145
        jmp     .set_box
Line 1146... Line 1146...
1146
 
1146
 
1147
  .restore_size:
1147
  .restore_size:
1148
        test    bl, WSTATE_MAXIMIZED
1148
        test    bl, WSTATE_MAXIMIZED
1149
        jnz     @f
1149
        jnz     @f
1150
        add     esp, -BOX.sizeof
1150
        add     esp, -sizeof.BOX
1151
        lea     eax, [edx + APPDATA.saved_box]
1151
        lea     eax, [edx + APPDATA.saved_box]
Line 1152... Line 1152...
1152
        jmp     .set_box
1152
        jmp     .set_box
1153
 
1153
 
Line 1160... Line 1160...
1160
        sub     [esp + BOX.height], eax
1160
        sub     [esp + BOX.height], eax
1161
        mov     eax, esp
1161
        mov     eax, esp
Line 1162... Line 1162...
1162
 
1162
 
1163
  .set_box:
1163
  .set_box:
1164
        call    window._.set_window_box
1164
        call    window._.set_window_box
Line 1165... Line 1165...
1165
        add     esp, BOX.sizeof
1165
        add     esp, sizeof.BOX
Line 1166... Line 1166...
1166
 
1166
 
1167
        ret
1167
        ret
Line 1339... Line 1339...
1339
        repz cmpsd
1339
        repz cmpsd
1340
        pop     edi
1340
        pop     edi
1341
        jz      .exit
1341
        jz      .exit
1342
@@:
1342
@@:
Line 1343... Line 1343...
1343
 
1343
 
Line 1344... Line 1344...
1344
        add     esp, -BOX.sizeof
1344
        add     esp, -sizeof.BOX
1345
 
1345
 
1346
        mov     ebx, esp
1346
        mov     ebx, esp
1347
if WDATA.box
1347
if WDATA.box
1348
        lea     esi, [edi + WDATA.box]
1348
        lea     esi, [edi + WDATA.box]
1349
else
1349
else
1350
        mov     esi, edi ; optimization for WDATA.box = 0
1350
        mov     esi, edi ; optimization for WDATA.box = 0
1351
end if
1351
end if
1352
        xchg    eax, esi
1352
        xchg    eax, esi
1353
        mov     ecx, BOX.sizeof
1353
        mov     ecx, sizeof.BOX
1354
        call    memmove
1354
        call    memmove
1355
        xchg    eax, esi
1355
        xchg    eax, esi
1356
        xchg    ebx, esi
1356
        xchg    ebx, esi
Line 1360... Line 1360...
1360
 
1360
 
1361
        call    window._.check_window_position
1361
        call    window._.check_window_position
1362
        call    window._.set_window_clientbox
1362
        call    window._.set_window_clientbox
Line 1363... Line 1363...
1363
        call    window._.invalidate_screen
1363
        call    window._.invalidate_screen
Line 1364... Line 1364...
1364
 
1364
 
1365
        add     esp, BOX.sizeof
1365
        add     esp, sizeof.BOX
1366
 
1366