forked from KolibriOS/kolibrios
added window type (Y=4). skinned window with fixed sizes
git-svn-id: svn://kolibrios.org@549 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
f6fbed07ac
commit
d7d49c0feb
@ -22,6 +22,7 @@
|
|||||||
* Y=1 - ⮫쪮 ®¯à¥¤¥«¨âì ®¡« áâì ®ª , ¨ç¥£® ¥ à¨á®¢ âì
|
* Y=1 - ⮫쪮 ®¯à¥¤¥«¨âì ®¡« áâì ®ª , ¨ç¥£® ¥ à¨á®¢ âì
|
||||||
* Y=2 - ⨯ II - ®ª® ¨§¬¥ï¥¬ëå à §¬¥à®¢
|
* Y=2 - ⨯ II - ®ª® ¨§¬¥ï¥¬ëå à §¬¥à®¢
|
||||||
* Y=3 - ®ª® ᮠ᪨®¬
|
* Y=3 - ®ª® ᮠ᪨®¬
|
||||||
|
* Y=4 - ®ª® ᮠ᪨®¬ ¨ 䨪á¨à®¢ 묨 à §¬¥à ¬¨
|
||||||
* ®áâ «ìë¥ ¢®§¬®¦ë¥ § 票ï (®â 4 ¤® 15) § १¥à¢¨à®¢ ë,
|
* ®áâ «ìë¥ ¢®§¬®¦ë¥ § 票ï (®â 4 ¤® 15) § १¥à¢¨à®¢ ë,
|
||||||
¢ë§®¢ äãªæ¨¨ á â ª¨¬¨ Y ¨£®à¨àã¥âáï
|
¢ë§®¢ äãªæ¨¨ á â ª¨¬¨ Y ¨£®à¨àã¥âáï
|
||||||
* RR, GG, BB = ᮮ⢥âá⢥® ªà á ï, §¥«¥ ï, á¨ïï
|
* RR, GG, BB = ᮮ⢥âá⢥® ªà á ï, §¥«¥ ï, á¨ïï
|
||||||
|
@ -22,6 +22,7 @@ Parameters:
|
|||||||
* Y=1 - only define window area, draw nothing
|
* Y=1 - only define window area, draw nothing
|
||||||
* Y=2 - type II - variable-size window
|
* Y=2 - type II - variable-size window
|
||||||
* Y=3 - skinned window
|
* Y=3 - skinned window
|
||||||
|
* Y=4 - skinned window with fixed sizes
|
||||||
* other possible values (from 4 up to 15) are reserved,
|
* other possible values (from 4 up to 15) are reserved,
|
||||||
function call with such Y is ignored
|
function call with such Y is ignored
|
||||||
* RR, GG, BB = accordingly red, green, blue components of a color
|
* RR, GG, BB = accordingly red, green, blue components of a color
|
||||||
|
@ -899,7 +899,11 @@ windowactivate:
|
|||||||
mov ebx, [eax + WDATA.cl_workarea]
|
mov ebx, [eax + WDATA.cl_workarea]
|
||||||
and ebx, 0x0f000000
|
and ebx, 0x0f000000
|
||||||
cmp ebx, 0x03000000
|
cmp ebx, 0x03000000
|
||||||
jne @f
|
je .set_WDATA_fl_redraw ; for 3 and 4 style
|
||||||
|
cmp ebx, 0x04000000
|
||||||
|
je .set_WDATA_fl_redraw
|
||||||
|
jmp @f
|
||||||
|
.set_WDATA_fl_redraw:
|
||||||
mov [eax + WDATA.fl_redraw], byte 1
|
mov [eax + WDATA.fl_redraw], byte 1
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
@ -957,6 +961,8 @@ checkwindowdraw:
|
|||||||
and eax, 0x0f000000
|
and eax, 0x0f000000
|
||||||
cmp eax, 0x03000000
|
cmp eax, 0x03000000
|
||||||
je .return_yes ; window type 3
|
je .return_yes ; window type 3
|
||||||
|
cmp eax, 0x04000000
|
||||||
|
je .return_yes ; window type 4
|
||||||
|
|
||||||
mov esi, edi
|
mov esi, edi
|
||||||
sub esi, window_data
|
sub esi, window_data
|
||||||
@ -1264,8 +1270,13 @@ checkwindows:
|
|||||||
mov [do_resize_from_corner],byte 0 ; resize for skinned window
|
mov [do_resize_from_corner],byte 0 ; resize for skinned window
|
||||||
mov edx, [edi + WDATA.cl_workarea]
|
mov edx, [edi + WDATA.cl_workarea]
|
||||||
and edx, 0x0f000000
|
and edx, 0x0f000000
|
||||||
cmp edx, 0x02000000
|
cmp edx, 0x00000000 ;{test for resized}
|
||||||
jb .no_resize_2 ; not type 2 wnd
|
je .no_resize_2
|
||||||
|
cmp edx, 0x01000000 ;{test for resized}
|
||||||
|
je .no_resize_2
|
||||||
|
cmp edx, 0x04000000 ;{test for resized}
|
||||||
|
je .no_resize_2
|
||||||
|
; jb .no_resize_2 ; not type 2 wnd
|
||||||
|
|
||||||
mov edx, [edi + WDATA.box.top]
|
mov edx, [edi + WDATA.box.top]
|
||||||
add edx, [edi + WDATA.box.height]
|
add edx, [edi + WDATA.box.height]
|
||||||
@ -1497,6 +1508,16 @@ checkwindows:
|
|||||||
|
|
||||||
pushad ; WINDOW SHADE/FULLSCREEN
|
pushad ; WINDOW SHADE/FULLSCREEN
|
||||||
|
|
||||||
|
;{doule click not worked for 4 type window}
|
||||||
|
mov edx, [edi + WDATA.cl_workarea]
|
||||||
|
and edx, 0x0f000000
|
||||||
|
cmp edx, 0x00000000
|
||||||
|
je no_fullscreen_restore
|
||||||
|
cmp edx, 0x01000000
|
||||||
|
je no_fullscreen_restore
|
||||||
|
cmp edx, 0x04000000
|
||||||
|
je no_fullscreen_restore
|
||||||
|
|
||||||
cmp [reposition],1
|
cmp [reposition],1
|
||||||
je no_window_sizing
|
je no_window_sizing
|
||||||
mov edx,edi
|
mov edx,edi
|
||||||
|
@ -2953,7 +2953,10 @@ sys_drawwindow:
|
|||||||
nosyswIII:
|
nosyswIII:
|
||||||
|
|
||||||
cmp edi,3 ; type IV - skinned window
|
cmp edi,3 ; type IV - skinned window
|
||||||
jne nosyswIV
|
je draw_skin_window
|
||||||
|
cmp edi,4 ; type V - skinned window not sized! {not_sized_skin_window}
|
||||||
|
jne nosyswV
|
||||||
|
draw_skin_window:
|
||||||
|
|
||||||
; parameter for drawwindow_IV
|
; parameter for drawwindow_IV
|
||||||
push 0
|
push 0
|
||||||
@ -2973,7 +2976,7 @@ sys_drawwindow:
|
|||||||
;call [draw_pointer]
|
;call [draw_pointer]
|
||||||
;ret
|
;ret
|
||||||
jmp draw_window_caption.2
|
jmp draw_window_caption.2
|
||||||
nosyswIV:
|
nosyswV:
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -2994,7 +2997,12 @@ draw_window_caption:
|
|||||||
movzx ebx,[edx+WDATA.fl_wstyle]
|
movzx ebx,[edx+WDATA.fl_wstyle]
|
||||||
and bl,0x0F
|
and bl,0x0F
|
||||||
cmp bl,3
|
cmp bl,3
|
||||||
jne .not_style_3
|
je .draw_caption_style_3 ;{for 3 and 4 style write caption}
|
||||||
|
cmp bl,4
|
||||||
|
je .draw_caption_style_3
|
||||||
|
|
||||||
|
jmp .not_style_3
|
||||||
|
.draw_caption_style_3:
|
||||||
|
|
||||||
push edx
|
push edx
|
||||||
call drawwindow_IV_caption
|
call drawwindow_IV_caption
|
||||||
@ -3028,8 +3036,12 @@ draw_window_caption:
|
|||||||
movzx eax,[edi+window_data+WDATA.fl_wstyle]
|
movzx eax,[edi+window_data+WDATA.fl_wstyle]
|
||||||
and al,0x0F
|
and al,0x0F
|
||||||
cmp al,3
|
cmp al,3
|
||||||
jne .not_skinned
|
je .skinned
|
||||||
|
cmp al,4
|
||||||
|
je .skinned
|
||||||
|
|
||||||
|
jmp .not_skinned
|
||||||
|
.skinned:
|
||||||
mov ebp,[edi+window_data+WDATA.box.left-2]
|
mov ebp,[edi+window_data+WDATA.box.left-2]
|
||||||
mov bp,word[edi+window_data+WDATA.box.top]
|
mov bp,word[edi+window_data+WDATA.box.top]
|
||||||
movzx eax,word[edi+window_data+WDATA.box.width]
|
movzx eax,word[edi+window_data+WDATA.box.width]
|
||||||
@ -3085,10 +3097,11 @@ draw_window_caption:
|
|||||||
iglobal
|
iglobal
|
||||||
align 4
|
align 4
|
||||||
window_topleft dd \
|
window_topleft dd \
|
||||||
1, 21,\
|
1, 21,\ ;type 0
|
||||||
0, 0,\
|
0, 0,\ ;type 1
|
||||||
5, 20,\
|
5, 20,\ ;type 2
|
||||||
5, ?
|
5, ?,\ ;type 3 {set by skin}
|
||||||
|
5, ? ;type 4 {set by skin}
|
||||||
endg
|
endg
|
||||||
|
|
||||||
set_window_clientbox:
|
set_window_clientbox:
|
||||||
@ -3096,6 +3109,7 @@ set_window_clientbox:
|
|||||||
|
|
||||||
mov eax,[_skinh]
|
mov eax,[_skinh]
|
||||||
mov [window_topleft+4*7],eax
|
mov [window_topleft+4*7],eax
|
||||||
|
mov [window_topleft+4*9],eax
|
||||||
|
|
||||||
mov ecx,edi
|
mov ecx,edi
|
||||||
sub edi,window_data
|
sub edi,window_data
|
||||||
@ -3181,7 +3195,12 @@ sys_set_window:
|
|||||||
and cl,0x0F
|
and cl,0x0F
|
||||||
mov [edi+APPDATA.wnd_caption],0
|
mov [edi+APPDATA.wnd_caption],0
|
||||||
cmp cl,3
|
cmp cl,3
|
||||||
jne @f
|
je set_APPDATA_wnd_caption
|
||||||
|
cmp cl,4 ; {SPraid.simba}
|
||||||
|
je set_APPDATA_wnd_caption
|
||||||
|
|
||||||
|
jmp @f
|
||||||
|
set_APPDATA_wnd_caption:
|
||||||
mov [edi+APPDATA.wnd_caption],esi
|
mov [edi+APPDATA.wnd_caption],esi
|
||||||
@@: mov esi,[esp+0]
|
@@: mov esi,[esp+0]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user