/kernel/trunk/const.inc |
---|
429,9 → 429,7 |
ht_lock rd 1 |
ht_free rd 1 ;htab[0] stdin |
ht_next rd 1 ;htab[1] stdout |
htab rd (4096-$)/4 ;htab[2] stderr |
; htab rd (4096+3072-$)/4 ;htab[2] stderr |
; workdir rb 1024 |
htab rd 1024-PROC.htab/4 ;htab[2] stderr |
pdt_0 rd 1024 |
ends |
492,7 → 490,6 |
draw_bgr_x dd ? ;+116 |
draw_bgr_y dd ? ;+120 |
dd ? ;+124 |
wnd_shape dd ? ;+128 |
wnd_shape_scale dd ? ;+132 |
dd ? ;+136 |
504,7 → 501,8 |
debugger_slot dd ? ;+172 |
terminate_protection dd ? ;+176 |
keyboard_mode db ? ;+180 |
rb 3 |
captionEncoding db ? |
rb 2 |
exec_params dd ? ;+184 |
dbg_event_mem dd ? ;+188 |
dbg_regs DBG_REGS ;+192 |
/kernel/trunk/docs/sysfuncr.txt |
---|
4346,22 → 4346,24 |
eax - SF_FILE (70) |
[ebx] - SSF_CREATE_FOLDER (9) |
====================================================================== |
=== Функция 71, подфункция 1 - установить заголовок окна программы. == |
========== Функция 71 - установить заголовок окна программы ========== |
====================================================================== |
Параметры: |
* eax = 71 - номер функции |
* ebx = 1 - номер подфункции |
* ebx = 1 |
* ecx = адрес строки заголовка, |
строка может начинаться с байта кодировки: |
1 = cp866 |
2 = UTF-16LE |
3 = UTF-8 |
или: |
* ebx = 2 |
* ecx = адрес строки заголовка |
* dl = кодировка строки |
Возвращаемое значение: |
* функция не возвращает значения |
Замечания: |
* Строка заголовка должна заканчиваться нулём. |
* Можно указать кодировку заголовка, |
поместив в начале строки байт со значениями: |
1 = cp866 |
2 = UTF-16LE |
3 = UTF-8 |
иначе будет использоваться cp866. |
* Чтобы убрать заголовок, передайте NULL в ecx. |
---------------------- Константы для регистров: ---------------------- |
/kernel/trunk/docs/sysfuncs.txt |
---|
4301,21 → 4301,23 |
eax - SF_FILE (70) |
[ebx] - SSF_CREATE_FOLDER (9) |
====================================================================== |
========== Function 71, subfunction 1 - set window caption. ========== |
================== Function 71 - set window caption ================== |
====================================================================== |
Parameters: |
* eax = 71 - function number |
* ebx = 1 - subfunction number |
* ebx = 1 |
* ecx = pointer to zero terminated string, |
the string may start with an encoding byte: |
1 = cp866 |
2 = UTF-16LE |
3 = UTF-8 |
or: |
* ebx = 2 |
* ecx = pointer to zero terminated string |
* dl = string encoding |
Returned value: |
* 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 |
2 = UTF-16LE |
3 = UTF-8 |
otherwise will be used cp866. |
* Pass NULL in ecx to remove caption. |
---------------------- Constants for registers: ---------------------- |
/kernel/trunk/gui/window.inc |
---|
361,8 → 361,17 |
;------------------------------------------------------------------------------ |
mov edi, [CURRENT_TASK] |
shl edi, 5 |
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 |
or [edi + window_data + WDATA.fl_wstyle], WSTYLE_HASCAPTION |
mov [edi*8 + SLOT_BASE + APPDATA.captionEncoding], dl |
jmp window._.draw_window_caption |
;------------------------------------------------------------------------------ |
align 4 |
2244,6 → 2253,9 |
mov esi, eax |
add ebx, ebp |
mov ecx, [common_colours + 16] |
mov al, [edi*8 + SLOT_BASE + APPDATA.captionEncoding] |
test al, al |
jnz @f |
mov al, 1 |
cmp byte [edx], 4 |
jnc @f |