Subversion Repositories Kolibri OS

Rev

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

Rev 601 Rev 633
Line 359... Line 359...
359
	mcall	48,5
359
	mcall	48,5
360
	mov	ecx,eax
360
	mov	ecx,eax
361
	lea	edx,[ebx-PANEL_HEIGHT-1]
361
	lea	edx,[ebx-PANEL_HEIGHT-1]
362
	mcall	48,6
362
	mcall	48,6
Line -... Line 363...
-
 
363
 
-
 
364
; // Alver 26.08.2007 // {
-
 
365
   mov  eax, 9                      ; info of process
-
 
366
   mov  ebx, process_info_buffer
-
 
367
   mov  ecx, -1
-
 
368
   mcall
-
 
369
   mov  ecx, dword [process_info_buffer+30]
-
 
370
   mcall 18,21
-
 
371
   mov  [this_slot], eax
-
 
372
   mov  [max_slot], 255
-
 
373
; } \\ Alver \\
363
 
374
 
Line 364... Line 375...
364
    call set_variables
375
    call set_variables
Line 365... Line 376...
365
 
376
 
Line 441... Line 452...
441
    je	 left_button
452
    je	 left_button
Line 442... Line 453...
442
 
453
 
443
    cmp  ah,102 	  ; minimize to right
454
    cmp  ah,102 	  ; minimize to right
Line -... Line 455...
-
 
455
    je	 right_button
-
 
456
 
-
 
457
; // Alver 26.08.2007 // {
-
 
458
    cmp  ah, 103
-
 
459
    je	 clean_desktop              ; minimize all windows
-
 
460
    cmp  ah, 104
-
 
461
    je   restore_desktop            ; restore minimized windows
-
 
462
    cmp  ah, 105
-
 
463
    je   swap_minimized_desktop     ; minimize normal windows, and restore minimized windows
444
    je	 right_button
464
; } \\ Alver \\
445
 
465
 
446
    cmp  ah,byte 1	  ; start/terminate menu
466
    cmp  ah,byte 1	  ; start/terminate menu
447
    jnz  noselect
467
    jnz  noselect
448
    call menu_handler
468
    call menu_handler
Line 516... Line 536...
516
    jmp still
536
    jmp still
Line 517... Line 537...
517
 
537
 
518
 noid20:
538
 noid20:
519
    cmp  ah,21
539
    cmp  ah,21
-
 
540
    jnz  noid21
-
 
541
; // Alver 25.08.2007 // {
-
 
542
    cmp  [page_list], 99
520
    jnz  noid21
543
    jnc  @f
521
    cmp  [page_list],15
544
  ;  cmp  [page_list],15
-
 
545
  ;  je	   @f
522
    je	   @f
546
; } \\ Alver \\
523
    inc  [page_list]
547
    inc  [page_list]
524
    jmp  red
548
    jmp  red
525
  @@:
549
  @@:
Line 537... Line 561...
537
 
561
 
Line 538... Line 562...
538
 noid22:
562
 noid22:
Line -... Line 563...
-
 
563
 
-
 
564
    jmp  still
-
 
565
 
-
 
566
; // Alver 26.08.2007 //{
-
 
567
restore_desktop:
-
 
568
    mcall   9,process_info_buffer,-1
-
 
569
    mov     [max_slot], eax
-
 
570
    mov     ecx, 2
-
 
571
    mov     edx, 2
-
 
572
@@:
-
 
573
    mcall   18, 22
-
 
574
    inc     edx
-
 
575
    cmp     edx, [max_slot]
-
 
576
    jbe     @b
-
 
577
    jmp  still
-
 
578
 
-
 
579
swap_minimized_desktop:
-
 
580
    xor  esi, esi
-
 
581
    inc esi
-
 
582
    jmp  min_swap_desktop
-
 
583
clean_desktop:
-
 
584
    xor esi,esi
Line -... Line 585...
-
 
585
 min_swap_desktop:                 ; input esi 0 - min, <>0 swap
-
 
586
     mov    ecx, 2                 ;  ç «ì­ë© ­®¬¥à á«®â  ¯à®æ¥áá 
-
 
587
     mov    ebx, process_info_buffer
-
 
588
 
-
 
589
.loop1:
-
 
590
     cmp    ecx, [this_slot]
-
 
591
     je     .loop1xx
-
 
592
     mcall  9
-
 
593
     mov    [max_slot], eax
-
 
594
     mov    dx, word [process_info_buffer+50]
-
 
595
     cmp    dx, 9                   ; à®¢¥àª  ᢮¡®¤¥­ «¨ ¤ ­­ë© á«®â
-
 
596
     jz     .loop1xx
-
 
597
     mov    edx, dword [ebx+10]
-
 
598
     cmp    dl, '@'
-
 
599
     je     .loop1xx
-
 
600
     cmp    dword [ebx+10], 'ICON'
-
 
601
     jnz    @f
-
 
602
     cmp    [ebx+42], dword 51
-
 
603
     jnz    @f
-
 
604
     cmp    [ebx+46], dword 51
-
 
605
     jz     .loop1xx
-
 
606
@@:
-
 
607
     cmp    [ebx+10], dword '    '
-
 
608
     jz     .loop1xx
-
 
609
 
-
 
610
     pushad
-
 
611
     mov    edx, ecx
-
 
612
     xor    ecx, ecx
-
 
613
     or     esi, esi
-
 
614
     jz     @f
-
 
615
     movzx  eax, byte [process_info_buffer+70]
-
 
616
     and    eax, 2            ; mask minimize
-
 
617
     jz     @f
-
 
618
     mov    ecx, 2            ; restore
-
 
619
@@:
-
 
620
     mcall  18, 22
-
 
621
     popad
-
 
622
.loop1xx:
-
 
623
     inc    ecx
Line 539... Line 624...
539
 
624
     cmp    ecx, [max_slot]
Line 540... Line 625...
540
    jmp  still
625
     jbe    .loop1
Line 608... Line 693...
608
	mov	ebx, 0x8000
693
	mov	ebx, 0x8000
609
	int	0x40
694
	int	0x40
Line 610... Line 695...
610
 
695
 
611
	mov	eax, 13
696
	mov	eax, 13
-
 
697
	imul	ebx, edi, 6*10*10000h
612
	imul	ebx, edi, 6*10*10000h
698
; // Alver 26.08.2007 // {
-
 
699
;	add	ebx, 6*10*10000h + 7*10000h + 54
-
 
700
	add	ebx, 12*10*10000h + 7*10000h + 54
613
	add	ebx, 6*10*10000h + 7*10000h + 54
701
; } // Alver //
614
	mov	ecx, 3*10000h + 14
702
	mov	ecx, 3*10000h + 14
615
	xor	edx, edx
703
	xor	edx, edx
616
	int	0x40
704
	int	0x40
617
	sub	ebx, 10000h + 53
705
	sub	ebx, 10000h + 53
Line 716... Line 804...
716
    mov  eax,14
804
    mov  eax,14
717
    int  0x40
805
    int  0x40
Line 718... Line 806...
718
 
806
 
Line -... Line 807...
-
 
807
    shr  eax,16
719
    shr  eax,16
808
 
720
 
809
; // Alver 25.08.2007 // {
721
    cmp  eax,639
810
 ;   cmp  eax,639
722
    jne  now1
811
 ;   jne  now1
723
    mov  [max_applications],7	;6
812
 ;   mov  [max_applications],7	;6
724
  now1:
813
 ; now1:
725
    cmp  eax,799
814
 ;   cmp  eax,799
726
    jne  now2
815
 ;   jne  now2
727
    mov  [max_applications],9 ;10    ;8
816
 ;   mov  [max_applications],9 ;10    ;8
728
  now2:
817
 ; now2:
729
    cmp  eax,1023
818
 ;   cmp  eax,1023
730
    jne  now3
819
 ;   jne  now3
731
    mov  [max_applications],12 ;13   ;8
820
 ;   mov  [max_applications],12 ;13   ;8
732
  now3:
821
 ; now3:
733
    cmp  eax,1279
822
 ;   cmp  eax,1279
734
    jne  now4
823
 ;   jne  now4
-
 
824
 ;   mov  [max_applications],17 ;18    ;8
-
 
825
 ; now4:
-
 
826
 ;   mov  edi,1
-
 
827
 
-
 
828
     sub  eax, 281
-
 
829
     jnc  ._01
-
 
830
     xor  eax, eax
-
 
831
._01:
-
 
832
     mov  bl, 60
-
 
833
     div  bl
735
    mov  [max_applications],17 ;18    ;8
834
     xor  ah, ah                       ; eax - ª®«¨ç¥á⢮ 㬥é îè¨åáï ¯¨ªâ®¢
-
 
835
     mov  [max_applications], eax
Line 736... Line 836...
736
  now4:
836
     mov  edi,1
Line 737... Line 837...
737
    mov  edi,1
837
;  } \\ Alver \\
738
 
838
 
739
  nb:
839
  nb:
740
 
840
 
741
    mov  eax,8
841
    mov  eax,8
742
    mov  ebx,edi
842
    mov  ebx,edi
743
    shl  ebx,16
843
    shl  ebx,16
744
    imul ebx,6*10	     ;13
844
    imul ebx,6*10	     ;13
745
    add  ebx,15*65536+10*6-1  ;13
845
    add  ebx,75*65536+10*6-1 ; << Alver 25.08.2007 >> 15*65536+10*6-1  ;13
746
    mov  ecx,1*65536+17
846
    mov  ecx,1*65536+17
Line 1133... Line 1233...
1133
    mov  esi, [wcolor]
1233
    mov  esi, [wcolor]
1134
    or	 esi, 0x01000000 ; unmovable window
1234
    or	 esi, 0x01000000 ; unmovable window
1135
    mov  edi, [wcolor]
1235
    mov  edi, [wcolor]
Line 1136... Line 1236...
1136
 
1236
 
1137
    mov  [panel_x_pos], ebx
1237
    mov  [panel_x_pos], ebx
Line 1138... Line 1238...
1138
    mov  [panel_y_pos], ecx	 ; Ïîêà ÷òî òàê.
1238
    mov  [panel_y_pos], ecx	 ; ®ª  çâ® â ª.
Line 1139... Line 1239...
1139
 
1239
 
1140
    int  0x40
1240
    int  0x40
Line 1267... Line 1367...
1267
    int  0x40
1367
    int  0x40
Line 1268... Line 1368...
1268
 
1368
 
1269
    popa
1369
    popa
Line -... Line 1370...
-
 
1370
    ret
-
 
1371
 
-
 
1372
; // Alver 26.08.2007 // {
-
 
1373
dr_button_clean:
1270
    ret
1374
    mov  ecx, 3*65536+13
-
 
1375
    mcall 8
Line 1271... Line 1376...
1271
 
1376
    ret
Line 1272... Line 1377...
1272
 
1377
; } \\ Alver \\
Line -... Line 1378...
-
 
1378
 
-
 
1379
draw_menuet_icon:
-
 
1380
 
-
 
1381
    pusha
-
 
1382
 
-
 
1383
; // Alver 26.08.2007 // {
-
 
1384
; Inserted code for drowing buttons 103, 104, 105 (Clean, Restore, Exchange windows)
-
 
1385
    mov  esi, dword [system_colours+24]    ; drawing buttons
-
 
1386
    and  esi, 0x00ffffff
-
 
1387
    mov  edx, 103
-
 
1388
    mov  ebx, 67*65536+13
-
 
1389
    call dr_button_clean
-
 
1390
    inc  edx
-
 
1391
    mov  ebx, 86*65536+13
-
 
1392
    call dr_button_clean
-
 
1393
    inc  edx
-
 
1394
    mov  ebx, 105*65536+13
-
 
1395
    call dr_button_clean
-
 
1396
    mov  ecx, dword [system_colours+28]
-
 
1397
    and  ecx, 0x00ffffff
-
 
1398
    xor  esi, esi
-
 
1399
    inc  esi
-
 
1400
    mov  edx, page_clean_but
-
 
1401
    mov  eax, 4
-
 
1402
    mov  ebx, 71*65536+6
-
 
1403
    int  0x40
-
 
1404
    inc  edx
-
 
1405
    mov  ebx, 90*65536+6
-
 
1406
    int  0x40
1273
 
1407
    inc  edx
1274
draw_menuet_icon:
1408
    mov  ebx, 109*65536+6
Line 1275... Line 1409...
1275
 
1409
    int  0x40
Line 1656... Line 1790...
1656
    sub  ebx,12 shl 16
1790
    sub  ebx,12 shl 16
1657
    mov  bx,8
1791
    mov  bx,8
1658
    mov  ecx,6 shl 16+10
1792
    mov  ecx,6 shl 16+10
1659
    inc  edx	    ;button 21
1793
    inc  edx	    ;button 21
1660
    int  0x40
1794
    int  0x40
1661
    sub  ebx,18 shl 16
1795
    sub  ebx,24 shl 16  ; << Alver 25.08.2007 >> 18 shl 16
1662
    inc  edx	    ;button 22
1796
    inc  edx	    ;button 22
1663
    int  0x40
1797
    int  0x40
Line 1664... Line 1798...
1664
 
1798
 
Line 1772... Line 1906...
1772
    sub  ebx,117;134
1906
    sub  ebx,117;134
1773
    shl  ebx,16
1907
    shl  ebx,16
1774
    mov  bx,9
1908
    mov  bx,9
1775
    mov  ecx,6 shl 16+11
1909
    mov  ecx,6 shl 16+11
1776
    int  0x40
1910
    int  0x40
-
 
1911
; // Alver 25.08.2007 // {
1777
    sub  ebx,18 shl 16
1912
  ;  sub  ebx,18 shl 16
-
 
1913
  ;  int  0x40
-
 
1914
  ;  add  ebx,19 shl 16
-
 
1915
    sub  ebx,24 shl 16 ; 18 shl 16
1778
    int  0x40
1916
    int  0x40
1779
    add  ebx,19 shl 16
1917
    add  ebx,25 shl 16 ; 19 shl 16
-
 
1918
; } \\ Alver \\
1780
    sub  bx,2
1919
    sub  bx,2
1781
    mov  ecx,7 shl 16+9
1920
    mov  ecx,7 shl 16+9
1782
    mov  edx,0xffffff
1921
    mov  edx,0xffffff
1783
    int  0x40
1922
    int  0x40
-
 
1923
; // Alver 25.08.2007 // {
1784
    sub  ebx,18 shl 16
1924
 ;   sub  ebx,18 shl 16
-
 
1925
    sub  ebx,24 shl 16
-
 
1926
; } \\ Alver \\
1785
    int  0x40
1927
    int  0x40
Line 1786... Line 1928...
1786
 
1928
 
1787
    mov  eax,4
1929
    mov  eax,4
1788
    mov  edx,page_a1
1930
    mov  edx,page_a1
-
 
1931
    mov  ebx,[maxx]
1789
    mov  ebx,[maxx]
1932
; // Alver 25.08.2007 // {
-
 
1933
   ; sub  ebx,133;150
-
 
1934
    sub  ebx, 139
1790
    sub  ebx,133;150
1935
; } \\ Alver \\
1791
    shl  ebx,16
1936
    shl  ebx,16
1792
    mov  bx,8
1937
    mov  bx,8
1793
    mov  esi,4
1938
    mov  esi,5     ;4
1794
    int  0x40
1939
    int  0x40
1795
    add  ebx,1 shl 16
1940
    add  ebx,1 shl 16
Line 1796... Line 1941...
1796
    int  0x40
1941
    int  0x40
1797
 
1942
 
1798
    mov  eax,47
1943
    mov  eax,47
1799
    mov  ebx,0x10100
1944
    mov  ebx,0x20000  ; 0x10100 (
1800
    mov  ecx,[page_list]
1945
    mov  ecx,[page_list]
1801
    mov  edx,[maxx]
1946
    mov  edx,[maxx]
1802
    sub  edx,124;141
1947
    sub  edx,130 ; 124 (
1803
    shl  edx,16
1948
    shl  edx,16
1804
    mov  dx,7
1949
    mov  dx,7
Line 2046... Line 2191...
2046
small_draw dd 0x0
2191
small_draw dd 0x0
Line 2047... Line 2192...
2047
 
2192
 
2048
ptime	dd 0x0
2193
ptime	dd 0x0
2049
maxx	dd 0x0
2194
maxx	dd 0x0
-
 
2195
text	db '0123456789'
-
 
2196
; // Alver 25.08.2007 // {
2050
text	db '0123456789'
2197
;page_a1 db '<  >'
-
 
2198
page_a1        db '<   >'
-
 
2199
page_clean_but db 25,24,18
2051
page_a1 db '<  >'
2200
; } \\ Alver \\
Line 2052... Line 2201...
2052
bte	dd 0xccddee
2201
bte	dd 0xccddee
Line 2053... Line 2202...
2053
 
2202
 
Line 2112... Line 2261...
2112
 
2261
 
2113
screen_size:
2262
screen_size:
2114
  .height dw ?
2263
  .height dw ?
Line -... Line 2264...
-
 
2264
  .width  dw ?
-
 
2265
 
2115
  .width  dw ?
2266
this_slot      dd 0           ; Slot of this process
2116
 
2267
max_slot       dd 255
2117
system_colours rd 10
2268
system_colours rd 10
2118
app_list rd 50
2269
app_list rd 50
2119
alt_tab_list	rd	256*2
2270
alt_tab_list	rd	256*2
-
 
2271
alt_tab_list_size dd	?
2120
alt_tab_list_size dd	?
2272
process_info_buffer  rb 1024
2121
process_info_buffer  rb 1024
2273
procinfo_for_detect  rb 1024
Line 2122... Line 2274...
2122
tictable:
2274
tictable:
2123
  rd 256
2275
  rd 256