Subversion Repositories Kolibri OS

Rev

Rev 996 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 996 Rev 2971
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;;
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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 996 $
8
$Revision: 2971 $
9
 
9
 
10
 
10
 
Line 20... Line 20...
20
 
20
 
21
get_rolledup_height: ; edi = window draw_data pointer
21
get_rolledup_height: ; edi = window draw_data pointer
22
	mov	al,[edi+WDATA.fl_wstyle]
22
	mov	al,[edi+WDATA.fl_wstyle]
23
	and	al,0x0F
23
	and	al,0x0F
24
	cmp	al,0x03
24
	cmp	al,0x03
25
	jne	@f
25
	jb	@f
26
	mov	eax,[_skinh]
26
	mov	eax,[_skinh]
27
	add	eax,3
27
	add	eax,3
28
	ret
28
	ret
29
    @@: or	al,al
29
    @@: or	al,al
Line 555... Line 555...
555
     times 128 db 0x0
555
     times 128 db 0x0
556
endg
556
endg
Line 557... Line -...
557
 
-
 
558
 
557
 
Line 559... Line 558...
559
 
558
 
Line 560... Line 559...
560
 
559
 
Line 860... Line 859...
860
	mov   edi,[esi+WDATA.cl_workarea]
859
	mov   edi,[esi+WDATA.cl_workarea]
861
	test  edi,0x40000000
860
	test  edi,0x40000000
862
	jnz   noinside2
861
	jnz   noinside2
863
	call  [drawbar]
862
	call  [drawbar]
864
noinside2:
863
noinside2:
865
 
-
 
866
	popad
864
	popad
Line 867... Line 865...
867
 
865
 
Line 1128... Line 1126...
1128
.skip_redrawings:
1126
.skip_redrawings:
1129
	popfd
1127
	popfd
1130
	ret
1128
	ret
Line 1131... Line 1129...
1131
 
1129
 
1132
 
1130
 
1133
iglobal
1131
;iglobal
1134
  window_moving   db 'K : Window - move/resize',13,10,0
1132
;  window_moving   db 'K : Window - move/resize',13,10,0
1135
  window_moved	  db 'K : Window - done',13,10,0
-
 
1136
endg
-
 
Line 1137... Line 1133...
1137
 
1133
;  window_moved	  db 'K : Window - done',13,10,0
1138
bPressedMouseXY_W db 0x0
1134
;endg
1139
 
1135
 
1140
; check window touch
1136
; check window touch
Line 1162... Line 1158...
1162
	mov [bPressedMouseXY_W],0
1158
	mov [bPressedMouseXY_W],0
1163
;..................................... end 1/4 : modified by vhanla ...................
1159
;..................................... end 1/4 : modified by vhanla ...................
1164
	popad
1160
	popad
1165
	ret
1161
	ret
1166
.mouse_buttons_pressed:
1162
.mouse_buttons_pressed:
-
 
1163
;..................................... start 2/4 : modified by vhanla .................
-
 
1164
uglobal
-
 
1165
	bPressedMouseXY_W db 0x0
-
 
1166
endg
-
 
1167
;..................................... end 2/4 : modified by vhanla ...................
1167
	mov   esi,[TASK_COUNT]
1168
	mov   esi,[TASK_COUNT]
1168
	inc   esi
1169
	inc   esi
Line 1169... Line 1170...
1169
 
1170
 
1170
;..................................... start 3/4 : modified by vhanla .................
1171
;..................................... start 3/4 : modified by vhanla .................
1171
	cmp [bPressedMouseXY_W],0
1172
	cmp [bPressedMouseXY_W],1
1172
	jnz @f
1173
	ja  @f
-
 
1174
	inc [bPressedMouseXY_W]
-
 
1175
	jnc @f
-
 
1176
	;mov ax,[MOUSE_X]
-
 
1177
	;mov [mx],ax
-
 
1178
	;mov ax,[MOUSE_Y]
-
 
1179
	;mov [my],ax
-
 
1180
	mov eax,dword[MOUSE_X]
1173
	mov [bPressedMouseXY_W],1
1181
	mov dword[mx],eax
1174
@@:
1182
      @@:
Line 1175... Line -...
1175
;..................................... end 3/4 : modified by vhanla ...................
-
 
1176
 
-
 
1177
    movzx  eax,word [MOUSE_Y]
-
 
1178
    movzx  ebx,word [MOUSE_X]
-
 
1179
    mov ecx, [Screen_Max_X]
-
 
1180
    add ebx, [_display_data]
-
 
1181
    inc ecx
-
 
1182
    mul ecx
-
 
1183
    movzx edi, byte [ebx+eax]
1183
;..................................... end 3/4 : modified by vhanla ...................
-
 
1184
 
-
 
1185
      cwloop:
Line -... Line 1186...
-
 
1186
	cmp   esi,2
1184
 
1187
	jb   .exit
1185
cwloop:
-
 
1186
 
1188
 
1187
    movzx esi, word [WIN_STACK + edi * 2]
1189
	dec   esi
-
 
1190
	movzx edi, word [WIN_POS + esi * 2] ; ebx
-
 
1191
	shl   edi, 5
-
 
1192
	add   edi, window_data
Line -... Line 1193...
-
 
1193
;        mov   edi, ebx
-
 
1194
    mov   ecx, [edi + WDATA.box.left]
-
 
1195
    mov   edx, [edi + WDATA.box.top]
-
 
1196
 
-
 
1197
	mov   eax,ecx
-
 
1198
	mov   ebx,edx
1188
 
1199
	test	[edi+WDATA.fl_wstate],WSTATE_MINIMIZED
1189
	shl   edi, 5
1200
	jnz	cwloop
-
 
1201
 
-
 
1202
;..................................... start 4/4 : modified by vhanla .................
-
 
1203
       movzx  eax, word [mx]; movzx eax,word[MOUSE_X]
-
 
1204
       movzx  ebx, word [my]; movzx ebx,word[MOUSE_Y]
-
 
1205
;..................................... endt 4/4 : modified by vhanla ..................
-
 
1206
	cmp   ecx, eax
-
 
1207
	jae   cwloop
-
 
1208
	cmp   edx, ebx
-
 
1209
	jae   cwloop
-
 
1210
    add   ecx, [edi + WDATA.box.width]
-
 
1211
    add   edx, [edi + WDATA.box.height]
Line 1190... Line 1212...
1190
	add   edi, window_data
1212
	cmp   eax, ecx
1191
 
1213
	jae   cwloop
1192
    movzx  eax,word [MOUSE_X]
1214
	cmp   ebx, edx
1193
    movzx  ebx,word [MOUSE_Y]
1215
	jae   cwloop
1194
 
1216
 
Line -... Line 1217...
-
 
1217
	pushad
-
 
1218
    mov   eax, esi
-
 
1219
	mov   ebx, [TASK_COUNT]
1195
	pushad
1220
	cmp   eax, ebx	    ; is this window active?
1196
	mov   eax, esi
1221
	jz    .move_resize_window
1197
	mov   ebx, [TASK_COUNT]
1222
 
1198
	cmp   eax, ebx	    ; is this window active?
1223
	cmp   [bPressedMouseXY_W], 1
-
 
1224
	ja    .exit_popa
1199
	jz    .move_resize_window
1225
 
Line 1200... Line 1226...
1200
 
1226
	; eax = position in windowing stack
1201
	; eax = position in windowing stack
1227
	; redraw must ?
1202
	; redraw must ?
1228
	lea   esi, [WIN_POS + esi * 2]
Line 1250... Line 1276...
1250
	pop	eax
1276
	pop	eax
1251
	jae	.exit
1277
	jae	.exit
Line 1252... Line 1278...
1252
 
1278
 
Line 1253... Line 1279...
1253
     .continue:
1279
     .continue:
1254
 
1280
 
1255
	push  esi
1281
;	push  esi
1256
	mov   esi, window_moving
1282
;	mov   esi, window_moving
Line 1257... Line 1283...
1257
	call  sys_msg_board_str
1283
;	call  sys_msg_board_str
1258
	pop   esi
1284
;	pop   esi
1259
 
1285
 
1260
	mov   ecx, [timer_ticks]     ; double-click ?
1286
	mov   ecx, [timer_ticks]     ; double-click ?
Line 1309... Line 1335...
1309
	pop eax
1335
	pop eax
Line 1310... Line 1336...
1310
 
1336
 
Line 1311... Line 1337...
1311
	call  drawwindowframes
1337
	call  drawwindowframes
-
 
1338
 
Line 1312... Line 1339...
1312
 
1339
	mov   [reposition],0
Line 1313... Line 1340...
1313
	mov   [reposition],0
1340
	mov   [MOUSE_DOWN],byte 1   ; no reaction to mouse up/down
Line 1314... Line 1341...
1314
 
1341
 
Line 1315... Line 1342...
1315
	; move window
1342
	; move window
Line -... Line 1343...
-
 
1343
 
Line 1316... Line 1344...
1316
 
1344
newchm:
Line 1317... Line 1345...
1317
newchm:
1345
 
1318
 
1346
	call  checkidle
1319
	call  checkidle
1347
 
Line 1320... Line 1348...
1320
 
1348
	call  checkVga_N13
1321
	call  checkVga_N13
1349
 
1322
 
1350
	mov   [MOUSE_BACKGROUND],byte 0
Line 1323... Line 1351...
1323
 
1351
 
1324
	call  [draw_pointer]
1352
	call  [draw_pointer]
1325
 
1353
 
Line 1606... Line 1634...
1606
	jz    retwm
1634
	jz    retwm
1607
	loop  waitre2
1635
	loop  waitre2
Line 1608... Line 1636...
1608
 
1636
 
Line 1609... Line 1637...
1609
retwm:
1637
retwm:
1610
 
1638
 
Line 1611... Line 1639...
1611
	mov    esi,window_moved
1639
;	mov    esi,window_moved
Line 1612... Line 1640...
1612
	call   sys_msg_board_str
1640
;	call   sys_msg_board_str
Line 1743... Line 1771...
1743
rsw_no_scale:
1771
rsw_no_scale:
Line 1744... Line 1772...
1744
 
1772
 
Line -... Line 1773...
-
 
1773
     ret
-
 
1774
 
-
 
1775
 
-
 
1776
;ebx x
-
 
1777
;eax y
-
 
1778
;ecx width
-
 
1779
;edx height
-
 
1780
;esi slot
-
 
1781
 
-
 
1782
align 4
-
 
1783
_set_screen:
-
 
1784
        push edx
-
 
1785
        add   ebx, [_display_data]
-
 
1786
        mul   [_screen_width]
-
 
1787
        lea   ebx, [eax+ebx]
-
 
1788
 
-
 
1789
        mov eax, esi
-
 
1790
        mov ah, al
-
 
1791
        mov esi, eax
-
 
1792
        shl eax, 16
-
 
1793
        or eax, esi
-
 
1794
 
-
 
1795
        pop edx
-
 
1796
        mov esi, ecx
-
 
1797
.row:
-
 
1798
 
-
 
1799
        mov edi, ebx
-
 
1800
        add ebx, [_screen_width]
-
 
1801
 
-
 
1802
        mov ecx, esi
-
 
1803
 
-
 
1804
        dec edx
-
 
1805
        js .done
-
 
1806
.16:
-
 
1807
        cmp ecx, 16
-
 
1808
        jb .8
-
 
1809
 
-
 
1810
        mov [edi],   eax
-
 
1811
        mov [edi+4], eax
-
 
1812
        mov [edi+8], eax
-
 
1813
        mov [edi+12], eax
-
 
1814
        add edi, 16
-
 
1815
        sub ecx, 16
-
 
1816
        jmp .16
-
 
1817
.8:
-
 
1818
        shr ecx, 2
-
 
1819
        rep stosd
-
 
1820
        mov ecx, esi
-
 
1821
        and ecx, 3
-
 
1822
        rep stosb
-
 
1823
        jmp .row
-
 
1824
.done:
-
 
1825
        ret
-
 
1826
 
-
 
1827
;[esp+4]    ebp
-
 
1828
;[esp+8]    x
-
 
1829
;[esp+12]   y
-
 
1830
;[esp+16]   w
-
 
1831
;[esp+20]   h
-
 
1832
;[esp+24]   color
-
 
1833
 
-
 
1834
;ebx      disp data
-
 
1835
;edx      dest
-
 
1836
 
-
 
1837
public _int_draw_bar
-
 
1838
align 4
-
 
1839
_int_draw_bar:
-
 
1840
 
-
 
1841
        lea ecx, [esp+4]
-
 
1842
        call lock_cursor
-
 
1843
 
-
 
1844
        sub esp, 4
-
 
1845
        mov [esp], ebp
-
 
1846
 
-
 
1847
        mov ebx, [esp+8]
-
 
1848
        mov eax, [esp+12]
-
 
1849
        mul [_screen_width]
-
 
1850
        add ebx, [_display_data]
-
 
1851
        lea ebx, [eax+ebx]
-
 
1852
 
-
 
1853
        mov edi, [esp+8]
-
 
1854
        mov eax, [esp+12]
-
 
1855
        mul [BytesPerScanLine]
-
 
1856
 
-
 
1857
        cmp byte [ScreenBPP], 24
-
 
1858
        je  .24
-
 
1859
 
-
 
1860
        lea ecx, [LFB_BASE+eax+edi*4]
-
 
1861
 
-
 
1862
        mov eax, [esp+24]
-
 
1863
        mov edx, [CURRENT_TASK]
-
 
1864
.row32:
-
 
1865
        mov edi, ecx
-
 
1866
        mov esi, ebx
-
 
1867
 
-
 
1868
        add ecx, [BytesPerScanLine]
-
 
1869
        add ebx, [_screen_width]
-
 
1870
 
-
 
1871
        dec dword [esp+20]
-
 
1872
        js .done
-
 
1873
 
-
 
1874
        mov ebp, [esp+16]
-
 
1875
 
-
 
1876
align 16
-
 
1877
.draw32:
-
 
1878
        cmp dl, byte [esi]
-
 
1879
        jne @f
-
 
1880
 
-
 
1881
        stosd
-
 
1882
@@:
-
 
1883
        inc esi
-
 
1884
        dec ebp
-
 
1885
        jnz .draw32
-
 
1886
        jmp .row32
-
 
1887
.done:
-
 
1888
        call unlock_cursor
-
 
1889
 
-
 
1890
        mov ebp, [esp]
-
 
1891
        add esp, 4
-
 
1892
        ret
-
 
1893
 
-
 
1894
.24:
-
 
1895
        lea ecx, [LFB_BASE+edi*3]
-
 
1896
        add ecx, eax
-
 
1897
 
-
 
1898
        mov eax, [esp+24]
-
 
1899
        mov edx, eax
-
 
1900
        shr edx, 8
-
 
1901
        mov dl, [CURRENT_TASK]
-
 
1902
.row24:
-
 
1903
        mov edi, ecx
-
 
1904
        mov esi, ebx
-
 
1905
 
-
 
1906
        add ecx, [BytesPerScanLine]
-
 
1907
        add ebx, [_screen_width]
-
 
1908
 
-
 
1909
        dec dword [esp+20]
-
 
1910
        js .done
-
 
1911
 
-
 
1912
        mov ebp, [esp+16]
-
 
1913
 
-
 
1914
align 16
-
 
1915
.draw24:
-
 
1916
        cmp dl, byte [esi]
-
 
1917
        jne @f
-
 
1918
 
-
 
1919
        mov [edi], ax
-
 
1920
        mov [edi+2], dh
-
 
1921
@@:
-
 
1922
        add edi, 3
-
 
1923
        inc esi
-
 
1924
        dec ebp
-
 
1925
        jnz .draw24
-
 
1926
        jmp .row24
-
 
1927
 
-
 
1928
 
-
 
1929
 
-
 
1930
;[esp+4]    x
-
 
1931
;[esp+8]    y
-
 
1932
;[esp+12]   w
-
 
1933
;[esp+16]   color
-
 
1934
 
-
 
1935
;esi      disp data
-
 
1936
;edi      dest
-
 
1937
 
-
 
1938
 
-
 
1939
public _int_hline
-
 
1940
align 4
-
 
1941
_int_hline:
-
 
1942
 
-
 
1943
           mov esi, [esp+4]
-
 
1944
           mov eax, [esp+8]
-
 
1945
           mov ecx, [esp+12]
-
 
1946
 
-
 
1947
           mul [_screen_width]
-
 
1948
           add esi, [_display_data]
-
 
1949
           add esi, eax
-
 
1950
 
-
 
1951
           mov edi, [esp+4]
-
 
1952
           mov eax, [esp+8]
-
 
1953
           mul [BytesPerScanLine]
-
 
1954
 
-
 
1955
           cmp byte [ScreenBPP], 24
-
 
1956
           je  .24
-
 
1957
 
-
 
1958
           lea edi, [LFB_BASE+eax+edi*4]
-
 
1959
 
-
 
1960
           mov eax, [esp+16]
-
 
1961
 
-
 
1962
.32_kernel:
-
 
1963
           mov edx, [CURRENT_TASK]
-
 
1964
 
-
 
1965
align 16
-
 
1966
.draw32:
-
 
1967
           cmp dl, byte [esi]
-
 
1968
           jne @f
-
 
1969
 
-
 
1970
           stosd
-
 
1971
@@:
-
 
1972
           inc esi
-
 
1973
           dec ecx
-
 
1974
           jnz .draw32
-
 
1975
 
-
 
1976
           ret
-
 
1977
.24:
-
 
1978
           lea edi, [LFB_BASE+edi*3]
-
 
1979
           add edi, eax
-
 
1980
 
-
 
1981
           mov eax, [esp+16]
-
 
1982
 
-
 
1983
.24_kernel:
-
 
1984
           mov edx, eax
-
 
1985
           shr edx, 8
-
 
1986
           mov dl, [CURRENT_TASK]
-
 
1987
 
-
 
1988
align 16
-
 
1989
.draw24:
-
 
1990
           cmp dl, byte [esi]
-
 
1991
           jne @f
-
 
1992
 
-
 
1993
           mov [edi], ax
-
 
1994
           mov [edi+2], dh
-
 
1995
@@:
-
 
1996
           add edi, 3
-
 
1997
           inc esi
-
 
1998
           dec ecx
-
 
1999
           jnz .draw24
-
 
2000
 
-
 
2001
           ret
-
 
2002
 
-
 
2003
 
-
 
2004
;[esp+4]    x
-
 
2005
;[esp+8]    y
-
 
2006
;[esp+12]   h
-
 
2007
;[esp+16]   color
-
 
2008
 
-
 
2009
;esi      disp data
-
 
2010
;edi      dest
-
 
2011
 
-
 
2012
public _int_vline
-
 
2013
align 4
-
 
2014
_int_vline:
-
 
2015
 
-
 
2016
           mov esi, [esp+4]
-
 
2017
           mov eax, [esp+8]
-
 
2018
           mov ecx, [esp+12]
-
 
2019
 
-
 
2020
           mul [_screen_width]
-
 
2021
           add esi, [_display_data]
-
 
2022
           add esi, eax
-
 
2023
 
-
 
2024
           mov edi, [esp+4]
-
 
2025
           mov eax, [esp+8]
-
 
2026
           mul [BytesPerScanLine]
-
 
2027
 
-
 
2028
           cmp byte [ScreenBPP], 24
-
 
2029
           je  .24
-
 
2030
 
-
 
2031
           lea edi, [LFB_BASE+eax+edi*4]
-
 
2032
 
-
 
2033
           mov eax, [esp+16]
-
 
2034
 
-
 
2035
.32_kernel:
-
 
2036
           mov edx, [CURRENT_TASK]
-
 
2037
 
-
 
2038
align 16
-
 
2039
.draw32:
-
 
2040
           cmp dl, byte [esi]
-
 
2041
           jne @f
-
 
2042
 
-
 
2043
           mov [edi], eax
-
 
2044
@@:
-
 
2045
           add esi, [_screen_width]
-
 
2046
           add edi, [BytesPerScanLine]
-
 
2047
           dec ecx
-
 
2048
           jnz .draw32
-
 
2049
 
-
 
2050
           ret
-
 
2051
.24:
-
 
2052
           lea edi, [LFB_BASE+edi*3]
-
 
2053
           add edi, eax
-
 
2054
 
-
 
2055
           mov eax, [esp+16]
-
 
2056
 
-
 
2057
.24_kernel:
-
 
2058
           mov edx, eax
-
 
2059
           shr edx, 8
-
 
2060
           mov dl, [CURRENT_TASK]
-
 
2061
 
-
 
2062
align 16
-
 
2063
.draw24:
-
 
2064
           cmp dl, byte [esi]
-
 
2065
           jne @f
-
 
2066
 
-
 
2067
           mov [edi], ax
-
 
2068
           mov [edi+2], dh
-
 
2069
@@:
-
 
2070
           add esi, [_screen_width]
-
 
2071
           add edi, [BytesPerScanLine]
-
 
2072
           dec ecx
-
 
2073
           jnz .draw24
-
 
2074
 
-
 
2075
           ret
-
 
2076
 
-
 
2077
;[esp]      dst
-
 
2078
;[esp+4]    mask
-
 
2079
 
-
 
2080
;[esp+12]   x
-
 
2081
;[esp+16]   y
-
 
2082
;[esp+20]   w
-
 
2083
;[esp+24]   h
-
 
2084
;[esp+32]   color
-
 
2085
 
-
 
2086
public _int_rectangle
-
 
2087
align 4
-
 
2088
_int_rectangle:
-
 
2089
 
-
 
2090
.dst       equ (esp)
-
 
2091
.mask      equ (esp+4)
-
 
2092
 
-
 
2093
.x         equ (esp+12)
-
 
2094
.y         equ (esp+16)
-
 
2095
.w         equ (esp+20)
-
 
2096
.h         equ (esp+24)
-
 
2097
.color     equ (esp+28)
-
 
2098
 
-
 
2099
           sub esp, 8
-
 
2100
 
-
 
2101
           mov esi, [.x]
-
 
2102
           mov eax, [.y]
-
 
2103
           mul [_screen_width]
-
 
2104
           add esi, [_display_data]
-
 
2105
           add esi, eax
-
 
2106
           mov [.mask], esi
-
 
2107
 
-
 
2108
           mov edi, [.x]
-
 
2109
           mov eax, [.y]
-
 
2110
           mul [BytesPerScanLine]
-
 
2111
 
-
 
2112
           cmp byte [ScreenBPP], 24
-
 
2113
           je  .24
-
 
2114
 
-
 
2115
           lea edi, [LFB_BASE+eax+edi*4]
-
 
2116
 
-
 
2117
           mov [.dst],  edi
-
 
2118
 
-
 
2119
           mov ecx, [.w]
-
 
2120
           mov eax, [.color]
-
 
2121
           call _int_hline.32_kernel
-
 
2122
 
-
 
2123
           sub edi, 4
-
 
2124
           dec esi
-
 
2125
 
-
 
2126
           mov ecx, [.h]
-
 
2127
           call _int_vline.32_kernel
-
 
2128
 
-
 
2129
           mov edi, [.dst]
-
 
2130
           mov esi, [.mask]
-
 
2131
           mov ecx, [.h]
-
 
2132
           call _int_vline.32_kernel
-
 
2133
 
-
 
2134
           mov ecx, [.w]
-
 
2135
           sub esi, [_screen_width]
-
 
2136
           sub edi, [BytesPerScanLine]
-
 
2137
           call _int_hline.32_kernel
-
 
2138
 
-
 
2139
           add esp, 8
-
 
2140
           ret
-
 
2141
.24:
-
 
2142
           lea edi, [LFB_BASE+edi*3]
-
 
2143
           add edi, eax
-
 
2144
 
-
 
2145
           mov [.dst],  edi
-
 
2146
 
-
 
2147
           mov ecx, [.w]
-
 
2148
           mov eax, [.color]
-
 
2149
           call _int_hline.24_kernel
-
 
2150
 
-
 
2151
           sub edi, 3
-
 
2152
           dec esi
-
 
2153
 
-
 
2154
           mov ecx, [.h]
-
 
2155
           call _int_vline.24_kernel
-
 
2156
 
-
 
2157
           mov edi, [.dst]
-
 
2158
           mov esi, [.mask]
-
 
2159
           mov ecx, [.h]
-
 
2160
           call _int_vline.24_kernel
-
 
2161
 
-
 
2162
           mov ecx, [.w]
-
 
2163
           sub esi, [_screen_width]
-
 
2164
           sub edi, [BytesPerScanLine]
-
 
2165
           call _int_hline.24_kernel
-
 
2166
 
-
 
2167
restore   .dst
-
 
2168
restore   .mask
-
 
2169
 
-
 
2170
restore   .x
-
 
2171
restore   .y
-
 
2172
restore   .w
-
 
2173
restore   .h
-
 
2174
restore   .color