/kernel/trunk/docs/sysfuncr.txt |
---|
22,6 → 22,7 |
* Y=1 - ⮫쪮 ®¯à¥¤¥«¨âì ®¡« áâì ®ª , ¨ç¥£® ¥ à¨á®¢ âì |
* Y=2 - ⨯ II - ®ª® ¨§¬¥ï¥¬ëå à §¬¥à®¢ |
* Y=3 - ®ª® ᮠ᪨®¬ |
* Y=4 - ®ª® ᮠ᪨®¬ ¨ 䨪á¨à®¢ 묨 à §¬¥à ¬¨ |
* ®áâ «ìë¥ ¢®§¬®¦ë¥ § 票ï (®â 4 ¤® 15) § १¥à¢¨à®¢ ë, |
¢ë§®¢ äãªæ¨¨ á â ª¨¬¨ Y ¨£®à¨àã¥âáï |
* RR, GG, BB = ᮮ⢥âá⢥® ªà á ï, §¥«¥ ï, á¨ïï |
/kernel/trunk/docs/sysfuncs.txt |
---|
22,6 → 22,7 |
* Y=1 - only define window area, draw nothing |
* Y=2 - type II - variable-size window |
* Y=3 - skinned window |
* Y=4 - skinned window with fixed sizes |
* other possible values (from 4 up to 15) are reserved, |
function call with such Y is ignored |
* RR, GG, BB = accordingly red, green, blue components of a color |
/kernel/trunk/gui/window.inc |
---|
899,7 → 899,11 |
mov ebx, [eax + WDATA.cl_workarea] |
and ebx, 0x0f000000 |
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 |
@@: |
957,6 → 961,8 |
and eax, 0x0f000000 |
cmp eax, 0x03000000 |
je .return_yes ; window type 3 |
cmp eax, 0x04000000 |
je .return_yes ; window type 4 |
mov esi, edi |
sub esi, window_data |
1264,8 → 1270,13 |
mov [do_resize_from_corner],byte 0 ; resize for skinned window |
mov edx, [edi + WDATA.cl_workarea] |
and edx, 0x0f000000 |
cmp edx, 0x02000000 |
jb .no_resize_2 ; not type 2 wnd |
cmp edx, 0x00000000 ;{test for resized} |
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] |
add edx, [edi + WDATA.box.height] |
1497,6 → 1508,16 |
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 |
je no_window_sizing |
mov edx,edi |
/kernel/trunk/kernel.asm |
---|
2953,7 → 2953,10 |
nosyswIII: |
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 |
push 0 |
2973,7 → 2976,7 |
;call [draw_pointer] |
;ret |
jmp draw_window_caption.2 |
nosyswIV: |
nosyswV: |
ret |
2994,8 → 2997,13 |
movzx ebx,[edx+WDATA.fl_wstyle] |
and bl,0x0F |
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 |
call drawwindow_IV_caption |
add esp,4 |
3028,8 → 3036,12 |
movzx eax,[edi+window_data+WDATA.fl_wstyle] |
and al,0x0F |
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 bp,word[edi+window_data+WDATA.box.top] |
movzx eax,word[edi+window_data+WDATA.box.width] |
3085,10 → 3097,11 |
iglobal |
align 4 |
window_topleft dd \ |
1, 21,\ |
0, 0,\ |
5, 20,\ |
5, ? |
1, 21,\ ;type 0 |
0, 0,\ ;type 1 |
5, 20,\ ;type 2 |
5, ?,\ ;type 3 {set by skin} |
5, ? ;type 4 {set by skin} |
endg |
set_window_clientbox: |
3096,6 → 3109,7 |
mov eax,[_skinh] |
mov [window_topleft+4*7],eax |
mov [window_topleft+4*9],eax |
mov ecx,edi |
sub edi,window_data |
3181,7 → 3195,12 |
and cl,0x0F |
mov [edi+APPDATA.wnd_caption],0 |
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 esi,[esp+0] |