forked from KolibriOS/kolibrios
function 71.2
git-svn-id: svn://kolibrios.org@6802 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
fb9e611d64
commit
4ded9c23de
@ -429,9 +429,7 @@ struct PROC
|
|||||||
ht_lock rd 1
|
ht_lock rd 1
|
||||||
ht_free rd 1 ;htab[0] stdin
|
ht_free rd 1 ;htab[0] stdin
|
||||||
ht_next rd 1 ;htab[1] stdout
|
ht_next rd 1 ;htab[1] stdout
|
||||||
htab rd (4096-$)/4 ;htab[2] stderr
|
htab rd 1024-PROC.htab/4 ;htab[2] stderr
|
||||||
; htab rd (4096+3072-$)/4 ;htab[2] stderr
|
|
||||||
; workdir rb 1024
|
|
||||||
pdt_0 rd 1024
|
pdt_0 rd 1024
|
||||||
ends
|
ends
|
||||||
|
|
||||||
@ -492,7 +490,6 @@ struct APPDATA
|
|||||||
draw_bgr_x dd ? ;+116
|
draw_bgr_x dd ? ;+116
|
||||||
draw_bgr_y dd ? ;+120
|
draw_bgr_y dd ? ;+120
|
||||||
dd ? ;+124
|
dd ? ;+124
|
||||||
|
|
||||||
wnd_shape dd ? ;+128
|
wnd_shape dd ? ;+128
|
||||||
wnd_shape_scale dd ? ;+132
|
wnd_shape_scale dd ? ;+132
|
||||||
dd ? ;+136
|
dd ? ;+136
|
||||||
@ -504,7 +501,8 @@ struct APPDATA
|
|||||||
debugger_slot dd ? ;+172
|
debugger_slot dd ? ;+172
|
||||||
terminate_protection dd ? ;+176
|
terminate_protection dd ? ;+176
|
||||||
keyboard_mode db ? ;+180
|
keyboard_mode db ? ;+180
|
||||||
rb 3
|
captionEncoding db ?
|
||||||
|
rb 2
|
||||||
exec_params dd ? ;+184
|
exec_params dd ? ;+184
|
||||||
dbg_event_mem dd ? ;+188
|
dbg_event_mem dd ? ;+188
|
||||||
dbg_regs DBG_REGS ;+192
|
dbg_regs DBG_REGS ;+192
|
||||||
|
@ -4346,22 +4346,24 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
eax - SF_FILE (70)
|
eax - SF_FILE (70)
|
||||||
[ebx] - SSF_CREATE_FOLDER (9)
|
[ebx] - SSF_CREATE_FOLDER (9)
|
||||||
======================================================================
|
======================================================================
|
||||||
=== Функция 71, подфункция 1 - установить заголовок окна программы. ==
|
========== Функция 71 - установить заголовок окна программы ==========
|
||||||
======================================================================
|
======================================================================
|
||||||
Параметры:
|
Параметры:
|
||||||
* eax = 71 - номер функции
|
* eax = 71 - номер функции
|
||||||
* ebx = 1 - номер подфункции
|
* ebx = 1
|
||||||
|
* ecx = адрес строки заголовка,
|
||||||
|
строка может начинаться с байта кодировки:
|
||||||
|
1 = cp866
|
||||||
|
2 = UTF-16LE
|
||||||
|
3 = UTF-8
|
||||||
|
или:
|
||||||
|
* ebx = 2
|
||||||
* ecx = адрес строки заголовка
|
* ecx = адрес строки заголовка
|
||||||
|
* dl = кодировка строки
|
||||||
Возвращаемое значение:
|
Возвращаемое значение:
|
||||||
* функция не возвращает значения
|
* функция не возвращает значения
|
||||||
Замечания:
|
Замечания:
|
||||||
* Строка заголовка должна заканчиваться нулём.
|
* Строка заголовка должна заканчиваться нулём.
|
||||||
* Можно указать кодировку заголовка,
|
|
||||||
поместив в начале строки байт со значениями:
|
|
||||||
1 = cp866
|
|
||||||
2 = UTF-16LE
|
|
||||||
3 = UTF-8
|
|
||||||
иначе будет использоваться cp866.
|
|
||||||
* Чтобы убрать заголовок, передайте NULL в ecx.
|
* Чтобы убрать заголовок, передайте NULL в ecx.
|
||||||
|
|
||||||
---------------------- Константы для регистров: ----------------------
|
---------------------- Константы для регистров: ----------------------
|
||||||
|
@ -4301,21 +4301,23 @@ Remarks:
|
|||||||
eax - SF_FILE (70)
|
eax - SF_FILE (70)
|
||||||
[ebx] - SSF_CREATE_FOLDER (9)
|
[ebx] - SSF_CREATE_FOLDER (9)
|
||||||
======================================================================
|
======================================================================
|
||||||
========== Function 71, subfunction 1 - set window caption. ==========
|
================== Function 71 - set window caption ==================
|
||||||
======================================================================
|
======================================================================
|
||||||
Parameters:
|
Parameters:
|
||||||
* eax = 71 - function number
|
* eax = 71 - function number
|
||||||
* ebx = 1 - subfunction number
|
* ebx = 1
|
||||||
* ecx = pointer to zero terminated string
|
* ecx = pointer to zero terminated string,
|
||||||
Returned value:
|
the string may start with an encoding byte:
|
||||||
* function does not return value
|
|
||||||
Remarks:
|
|
||||||
* You may set the caption string encoding by putting
|
|
||||||
at the start of the string a byte with next values:
|
|
||||||
1 = cp866
|
1 = cp866
|
||||||
2 = UTF-16LE
|
2 = UTF-16LE
|
||||||
3 = UTF-8
|
3 = UTF-8
|
||||||
otherwise will be used cp866.
|
or:
|
||||||
|
* ebx = 2
|
||||||
|
* ecx = pointer to zero terminated string
|
||||||
|
* dl = string encoding
|
||||||
|
Returned value:
|
||||||
|
* function does not return value
|
||||||
|
Remarks:
|
||||||
* Pass NULL in ecx to remove caption.
|
* Pass NULL in ecx to remove caption.
|
||||||
|
|
||||||
---------------------- Constants for registers: ----------------------
|
---------------------- Constants for registers: ----------------------
|
||||||
|
@ -361,8 +361,17 @@ syscall_window_settings: ;///// system function 71 ////////////////////////////
|
|||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
mov edi, [CURRENT_TASK]
|
mov edi, [CURRENT_TASK]
|
||||||
shl edi, 5
|
shl edi, 5
|
||||||
mov [edi * 8 + SLOT_BASE + APPDATA.wnd_caption], ecx
|
|
||||||
or [edi + window_data + WDATA.fl_wstyle], WSTYLE_HASCAPTION
|
or [edi + window_data + WDATA.fl_wstyle], WSTYLE_HASCAPTION
|
||||||
|
cmp ebx, 2
|
||||||
|
jz @f
|
||||||
|
xor edx, edx
|
||||||
|
@@:
|
||||||
|
cmp dl, 4
|
||||||
|
jc @f
|
||||||
|
xor edx, edx
|
||||||
|
@@:
|
||||||
|
mov [edi*8 + SLOT_BASE + APPDATA.wnd_caption], ecx
|
||||||
|
mov [edi*8 + SLOT_BASE + APPDATA.captionEncoding], dl
|
||||||
jmp window._.draw_window_caption
|
jmp window._.draw_window_caption
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@ -2244,6 +2253,9 @@ align 4
|
|||||||
mov esi, eax
|
mov esi, eax
|
||||||
add ebx, ebp
|
add ebx, ebp
|
||||||
mov ecx, [common_colours + 16]
|
mov ecx, [common_colours + 16]
|
||||||
|
mov al, [edi*8 + SLOT_BASE + APPDATA.captionEncoding]
|
||||||
|
test al, al
|
||||||
|
jnz @f
|
||||||
mov al, 1
|
mov al, 1
|
||||||
cmp byte [edx], 4
|
cmp byte [edx], 4
|
||||||
jnc @f
|
jnc @f
|
||||||
|
Loading…
Reference in New Issue
Block a user