Difference between revisions of "Talk:SysFn00/ru"

From KolibriOS wiki
Jump to navigation Jump to search
(test)
 
m
Line 1: Line 1:
 
{|  border="1" width="100%" id="table1" class="wikitable"  
 
{|  border="1" width="100%" id="table1" class="wikitable"  
!  colspan="3" style="background:#ddddff" | <p align="center">Параметры
+
!  colspan="4" style="background:#ddddff" | <p align="center">Параметры
 
|-  
 
|-  
!  width="6%" align="center" | <b>eax=</b>
+
!  width="6%" align="center" | <b>eax</b>
width="26%" | 0  
+
align="center" | <tt>&nbsp;0..31</tt>
 +
0  
 
|  width="67%" | номер функции  
 
|  width="67%" | номер функции  
 
|-  
 
|-  
!  width="6%" align="center" | <b>ebx=</b>
+
!  width="6%" rowspan="2" align="center" | <b>ebx</b>
width="26%" | [координата по оси x]*65536 + [размер по оси x]
+
align="center" | <tt>&nbsp;0..15</tt>
|  width="67%" | обозначим далее xpos и xsize координатой и размером по оси x
+
размер по оси x
 +
|  width="67%" rowspan="2" | обозначим далее xpos и xsize координатой и размером по оси x
 +
|-
 +
|  align="center" | <tt>16..31</tt>
 +
|  координата по оси x
 
|-  
 
|-  
 
!  width="6%" align="center" | <b>ecx=</b>
 
!  width="6%" align="center" | <b>ecx=</b>
|  width="26%" | [координата по оси y]*65536 + [размер по оси y]  
+
|  width="26%" colspan="2" | [координата по оси y]*65536 + [размер по оси y]  
 
|  width="67%" | обозначим далее ypos и ysize координатой и размером по оси y
 
|  width="67%" | обозначим далее ypos и ysize координатой и размером по оси y
 
|-  
 
|-  
 
!  width="6%" align="center" | <b>edx=</b>
 
!  width="6%" align="center" | <b>edx=</b>
|  width="26%" | 0xXYRRGGBB
+
|  width="26%" colspan="2" | 0xXYRRGGBB
 
|  width="67%" | Y = стиль окна:
 
|  width="67%" | Y = стиль окна:
 
* Y=0 - тип I - окно фиксированных размеров
 
* Y=0 - тип I - окно фиксированных размеров
Line 33: Line 38:
 
|-  
 
|-  
 
!  width="6%" align="center" | <b>esi=</b>
 
!  width="6%" align="center" | <b>esi=</b>
|  width="26%" | 0xXYRRGGBB
+
|  width="26%" colspan="2" | 0xXYRRGGBB
 
|  width="67%" |  
 
|  width="67%" |  
 
  Только для окон типа I и II
 
  Только для окон типа I и II
Line 43: Line 48:
 
|-  
 
|-  
 
!  width="6%" align="center" | <b>edi=</b>
 
!  width="6%" align="center" | <b>edi=</b>
|  width="26%" | 0x00RRGGBB  
+
|  width="26%" colspan="2" | 0x00RRGGBB  
 
|  width="67%" |  
 
|  width="67%" |  
 
  Только для окон типа I и II.
 
  Только для окон типа I и II.
 
Цвет рамки окна
 
Цвет рамки окна
 
|}
 
|}

Revision as of 15:54, 3 April 2010

Параметры

eax  0..31 0 номер функции
ebx  0..15 размер по оси x обозначим далее xpos и xsize координатой и размером по оси x
16..31 координата по оси x
ecx= [координата по оси y]*65536 + [размер по оси y] обозначим далее ypos и ysize координатой и размером по оси y
edx= 0xXYRRGGBB Y = стиль окна:
  • Y=0 - тип I - окно фиксированных размеров
  • Y=1 - только определить область окна, ничего не рисовать
  • Y=2 - тип II - окно изменяемых размеров
  • Y=3 - окно со скином
  • Y=4 - окно со скином фиксированных размеров
  • остальные возможные значения (от 5 до 15) зарезервированы, вызов функции с такими Y игнорируется

X = DCBA (биты)

  • A = 1 - у окна есть заголовок; для стилей Y=3,4 адрес строки заголовка задаётся в edi, для прочих стилей используется подфункция 1 функции 71
  • B = 1 - координаты всех графических примитивов задаются относительно клиентской области окна
  • C = 1 - не закрашивать рабочую область при отрисовке окна
  • D = 0 - нормальная заливка рабочей области, 1 - градиентная

RR, GG, BB = соответственно красная, зеленая, синяя составляющие цвета рабочей области окна (игнорируются для стиля Y=2)

esi= 0xXYRRGGBB
Только для окон типа I и II

Цвет заголовка:

  • RR, GG, BB определяют сам цвет
  • Y=0 - обычное окно, Y=1 - неперемещаемое окно
  • X определяет градиент заголовка: X=0 - нет градиента, X=8 - обычный градиент, для окон типа II X=4 - негативный градиент
  • прочие значения X и Y зарезервированы
edi= 0x00RRGGBB
Только для окон типа I и II.

Цвет рамки окна