update sysfunction 47

git-svn-id: svn://kolibrios.org@6272 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
pathoswithin 2016-02-21 00:05:15 +00:00
parent 2c6e64c7a0
commit a22e6458e8
3 changed files with 27 additions and 18 deletions

View File

@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;; ;; ;;
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;; ;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;; ;; Distributed under terms of the GNU General Public License ;;
;; ;; ;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -2104,12 +2104,16 @@ dir_path1 db 'HD0/1',0
* бит 31 установлен = не выводить ведущие нули числа * бит 31 установлен = не выводить ведущие нули числа
* ecx = число (при bl=0) или указатель (при bl=1) * ecx = число (при bl=0) или указатель (при bl=1)
* edx = [координата по оси x]*65536 + [координата по оси y] * edx = [координата по оси x]*65536 + [координата по оси y]
* esi = 0xX0RRGGBB: * esi = 0xXXRRGGBB, где
* RR, GG, BB задают цвет * RR, GG, BB задают цвет текста
* X = ABnn (биты) * XX=0B0FCSSS (биты):
* nn = шрифт (0/1) * B=1 - закрашивать фон (цвет = edi)
* A игнорируется * F задает шрифт:
* B=1 - закрашивать фон цветом edi 0 = 6x9
1 = 8x16
* C=0 - рисовать в окно,
С=1 - рисовать в буфер (edi)
* SSS = (множитель размера)-1, то-есть 0 = x1, 7 = x8
Возвращаемое значение: Возвращаемое значение:
* функция не возвращает значения * функция не возвращает значения
Замечания: Замечания:
@ -2118,7 +2122,6 @@ dir_path1 db 'HD0/1',0
может быть записано меньшим количеством цифр, оно дополняется может быть записано меньшим количеством цифр, оно дополняется
ведущими нулями; если число велико и не может быть записано ведущими нулями; если число велико и не может быть записано
таким количеством цифр, "лишние" ведущие цифры обрезаются. таким количеством цифр, "лишние" ведущие цифры обрезаются.
* Параметры шрифтов указаны в описании функции 4 (вывода текста).
---------------------- Константы для регистров: ---------------------- ---------------------- Константы для регистров: ----------------------
eax - SF_DRAW_NUMBER (47) eax - SF_DRAW_NUMBER (47)

View File

@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;; ;; ;;
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;; ;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;; ;; Distributed under terms of the GNU General Public License ;;
;; ;; ;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -2081,12 +2081,16 @@ Parameters:
* bit 31 set = do not display leading zeroes of the number * bit 31 set = do not display leading zeroes of the number
* ecx = number (if bl=0) or pointer (if bl=1) * ecx = number (if bl=0) or pointer (if bl=1)
* edx = [coordinate on axis x]*65536 + [coordinate on axis y] * edx = [coordinate on axis x]*65536 + [coordinate on axis y]
* esi = 0xX0RRGGBB: * esi = 0xXXRRGGBB, where
* RR, GG, BB specify the color * RR, GG, BB specify text color
* X = ABnn (bits) * XX = 0B0FCSSS (bits):
* nn = font (0/1) * B=1 - fill background (color = edi)
* A is ignored * F specifies the font:
* B=1 - fill background with the color edi 0 = 6x9
1 = 8x16
* C=0 - draw to the window,
C=1 - draw to the user buffer (edi)
* SSS = (size multiplier)-1, so 0 = x1, 7 = x8
Returned value: Returned value:
* function does not return value * function does not return value
Remarks: Remarks:
@ -2095,8 +2099,6 @@ Remarks:
and can be written by smaller amount of digits, it is supplemented and can be written by smaller amount of digits, it is supplemented
by leading zeroes; if the number is big and can not be written by by leading zeroes; if the number is big and can not be written by
given amount of digits, extra digits are not drawn. given amount of digits, extra digits are not drawn.
* Parameters of fonts are shown in the description of function 4
(text output).
---------------------- Constants for registers: ---------------------- ---------------------- Constants for registers: ----------------------
eax - SF_DRAW_NUMBER (47) eax - SF_DRAW_NUMBER (47)

View File

@ -1629,9 +1629,13 @@ draw_num_text:
add eax, [edi+SLOT_BASE+APPDATA.wnd_clientbox.top] add eax, [edi+SLOT_BASE+APPDATA.wnd_clientbox.top]
add ebx, eax add ebx, eax
mov ecx, [esp+64+32-12+4] mov ecx, [esp+64+32-12+4]
and ecx, not 0x80000000 ; force counted string
mov eax, [esp+64+8] ; background color (if given) mov eax, [esp+64+8] ; background color (if given)
mov edi, [esp+64+4] mov edi, [esp+64+4]
and ecx, 5FFFFFFFh
bt ecx, 27
jnc @f
mov edi, eax
@@:
jmp dtext jmp dtext
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
iglobal iglobal