Difference between revisions of "Talk:SysFn00/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
m
Line 1: Line 1:
{|  border="1" width="100%" id="table1" class="wikitable" style="font-size:88%"
+
{{DISPLAYTITLE: Функция 0 — определить и нарисовать окно}}
!  colspan="4" style="background:#ccccff" | Параметры
+
=Параметры=
 +
 
 +
{|  border="1" width="100%" id="table1" class="wikitable" style="font-size:88%;line-height:1.1em"
 
|-  
 
|-  
!  colspan="4" style="background:#ddddff" | eax
+
!  style="background:#ccccff;font-size:88%;padding:0" | биты
 +
!  style="background:#ccccff;font-size:88%;padding:0" | тип
 +
!  style="background:#ccccff;font-size:88%;padding:0" | значение
 +
!  style="background:#ccccff;font-size:88%;padding:0" | описание
 +
|-
 +
!  colspan="4" style="background:#e4e4ff" | eax
 
|-  
 
|-  
 
|  align="right" | <tt>&nbsp;0..31</tt>
 
|  align="right" | <tt>&nbsp;0..31</tt>
|  [[DataTypes/ru#UInt32|uint32]]
+
align="center" | [[DataTypes/ru#UInt32|uint32]]
 
|  0
 
|  0
 
|  Номер функции.
 
|  Номер функции.
 
|-  
 
|-  
!  colspan="4" style="background:#ddddff" | ebx
+
!  colspan="4" style="background:#e4e4ff" | ebx
 
|-  
 
|-  
 
|  align="right" | <tt>&nbsp;0..15</tt>
 
|  align="right" | <tt>&nbsp;0..15</tt>
|  [[DataTypes/ru#UInt16|uint16]]
+
align="center" | [[DataTypes/ru#UInt16|uint16]]
 
|  ширина окна
 
|  ширина окна
 
|  rowspan="2" | Расположение окна относительно оси X.
 
|  rowspan="2" | Расположение окна относительно оси X.
 
|-  
 
|-  
 
|  align="right" | <tt>16..31</tt>
 
|  align="right" | <tt>16..31</tt>
|  [[DataTypes/ru#Int16|int16]]
+
align="center" | [[DataTypes/ru#Int16|int16]]
 
|  позиция окна по X
 
|  позиция окна по X
 
|-  
 
|-  
!  colspan="4" style="background:#ddddff" | ecx
+
!  colspan="4" style="background:#e4e4ff" | ecx
 
|-  
 
|-  
 
|  align="right" | <tt>&nbsp;0..15</tt>
 
|  align="right" | <tt>&nbsp;0..15</tt>
|  [[DataTypes/ru#UInt16|uint16]]
+
align="center" | [[DataTypes/ru#UInt16|uint16]]
 
|  высота окна
 
|  высота окна
 
|  rowspan="2" | Расположение окна относительно оси Y.
 
|  rowspan="2" | Расположение окна относительно оси Y.
 
|-  
 
|-  
 
|  align="right" | <tt>16..31</tt>
 
|  align="right" | <tt>16..31</tt>
|  [[DataTypes/ru#Int16|int16]]
+
align="center" | [[DataTypes/ru#Int16|int16]]
 
|  позиция окна по Y
 
|  позиция окна по Y
 
|-  
 
|-  
!  colspan="4" style="background:#ddddff" | edx
+
!  colspan="4" style="background:#e4e4ff" | edx
 
|-  
 
|-  
 
|  align="right" | <tt>&nbsp;0..23</tt>
 
|  align="right" | <tt>&nbsp;0..23</tt>
|  [[DataTypes/ru#RGB888|rgb888]]
+
align="center" | [[DataTypes/ru#RGB888|rgb888]]
 
|  цвет клиентской области
 
|  цвет клиентской области
 
|   
 
|   
 
|-  
 
|-  
 
|  align="right" | <tt>24..27</tt>
 
|  align="right" | <tt>24..27</tt>
|  [[DataTypes/ru#UInt4|uint4]]
+
align="center" | [[DataTypes/ru#UInt4|uint4]]
 
|  тип окна
 
|  тип окна
 
|
 
|
Line 50: Line 57:
 
|-  
 
|-  
 
|  align="right" | <tt>28</tt>
 
|  align="right" | <tt>28</tt>
|  [[DataTypes/ru#Bit|bit]]
+
align="center" | [[DataTypes/ru#Bit|bit]]
 
|  флаг: текст заголовка
 
|  флаг: текст заголовка
 
|  Тип окна I-II: игнорируется.
 
|  Тип окна I-II: игнорируется.
Line 57: Line 64:
 
* 0 - нет заголовка;
 
* 0 - нет заголовка;
 
* 1 - адрес строки заголовка задаётся в edi.
 
* 1 - адрес строки заголовка задаётся в edi.
 
Для последующего изменения текста заголовка используется [[SysFn71|функция 71.1]].
 
 
|-  
 
|-  
 
|  align="right" | <tt>29</tt>
 
|  align="right" | <tt>29</tt>
|  [[DataTypes/ru#Bit|bit]]
+
align="center" | [[DataTypes/ru#Bit|bit]]
 
|  флаг: начало координат
 
|  флаг: начало координат
 
|  Начало координат совпадает с:
 
|  Начало координат совпадает с:
Line 68: Line 73:
 
|-  
 
|-  
 
|  align="right" | <tt>30</tt>
 
|  align="right" | <tt>30</tt>
|  [[DataTypes/ru#Bit|bit]]
+
align="center" | [[DataTypes/ru#Bit|bit]]
 
|  флаг: сплошной фон
 
|  флаг: сплошной фон
 
|  Клиентская область при отрисовке окна:
 
|  Клиентская область при отрисовке окна:
Line 75: Line 80:
 
|-  
 
|-  
 
|  align="right" | <tt>31</tt>
 
|  align="right" | <tt>31</tt>
|  [[DataTypes/ru#Bit|bit]]
+
align="center" | [[DataTypes/ru#Bit|bit]]
 
|  флаг: градиентный фон
 
|  флаг: градиентный фон
 
|  Клиентская область заполняется:
 
|  Клиентская область заполняется:
Line 81: Line 86:
 
* 1 - градиентом от указанного цвета к чёрному.
 
* 1 - градиентом от указанного цвета к чёрному.
 
|-  
 
|-  
!  colspan="4" style="background:#ddddff" | esi
+
!  colspan="4" style="background:#e4e4ff" | esi
 
|-  
 
|-  
 
|  align="right" | <tt>&nbsp;0..23</tt>
 
|  align="right" | <tt>&nbsp;0..23</tt>
|  [[DataTypes/ru#RGB888|rgb888]]
+
align="center" | [[DataTypes/ru#RGB888|rgb888]]
 
|  цвет заголовка окна
 
|  цвет заголовка окна
 
|  Только для окон типа I и II.
 
|  Только для окон типа I и II.
 
|-  
 
|-  
 
|  align="right" | <tt>24</tt>
 
|  align="right" | <tt>24</tt>
|  [[DataTypes/ru#Bit|bit]]
+
align="center" | [[DataTypes/ru#Bit|bit]]
 
|  флаг: неперемещаемое окно
 
|  флаг: неперемещаемое окно
 
|
 
|
Line 101: Line 106:
 
|-  
 
|-  
 
|  align="right" | <tt>28..31</tt>
 
|  align="right" | <tt>28..31</tt>
|  [[DataTypes/ru#UInt4|uint4]]
+
align="center" | [[DataTypes/ru#UInt4|uint4]]
 
|  стиль заголовка окна
 
|  стиль заголовка окна
 
|  Тип окна I-II:
 
|  Тип окна I-II:
Line 111: Line 116:
 
Тип окна III-IV: игнорируется.
 
Тип окна III-IV: игнорируется.
 
|-  
 
|-  
!  colspan="4" style="background:#ddddff" | edi
+
!  colspan="4" style="background:#e4e4ff" | edi
 
|-  
 
|-  
 
|  align="right" rowspan="2" | <tt>&nbsp;0..31</tt>
 
|  align="right" rowspan="2" | <tt>&nbsp;0..31</tt>
|  [[DataTypes/ru#RGB888|rgb888]]
+
align="center" | [[DataTypes/ru#RGB888|rgb888]]
 
|  цвет рамки окна
 
|  цвет рамки окна
 
|  Только для окон типа I и II.
 
|  Только для окон типа I и II.
 
|-  
 
|-  
|  [[DataTypes/ru#Pointer|pointer]]
+
align="center" | [[DataTypes/ru#Pointer|pointer]]
 
|  адрес строки заголовка
 
|  адрес строки заголовка
 
|  Только для окон типа III и IV при <b>edx</b><sub>28</sub> = 1.
 
|  Только для окон типа III и IV при <b>edx</b><sub>28</sub> = 1.
 
|}
 
|}
 +
 +
=Возвращаемое значение=
 +
 +
Функция не возвращает значения.

Revision as of 06:34, 4 April 2010

Параметры

биты тип значение описание
eax
 0..31 uint32 0 Номер функции.
ebx
 0..15 uint16 ширина окна Расположение окна относительно оси X.
16..31 int16 позиция окна по X
ecx
 0..15 uint16 высота окна Расположение окна относительно оси Y.
16..31 int16 позиция окна по Y
edx
 0..23 rgb888 цвет клиентской области
24..27 uint4 тип окна
  • 0 - тип окна I - окно фиксированных размеров;
  • 1 - только определить область окна, ничего не рисовать;
  • 2 - тип окна II - окно изменяемых размеров;
  • 3 - тип окна III - окно со скином;
  • 4 - тип окна IV - окно со скином фиксированных размеров.

Остальные возможные значения (от 5 до 15) зарезервированы, вызов функции с такими значениями игнорируется.

28 bit флаг: текст заголовка Тип окна I-II: игнорируется.

Тип окна III-IV:

  • 0 - нет заголовка;
  • 1 - адрес строки заголовка задаётся в edi.
29 bit флаг: начало координат Начало координат совпадает с:
  • 0 - левым верхним углом окна: 0 по горизонтали, 0 по вертикали;
  • 1 - левым верхним углом клиентской области: <ширина рамки> по горизонтали, <высота заголовка> по вертикали.
30 bit флаг: сплошной фон Клиентская область при отрисовке окна:
  • 0 - заполняется;
  • 1 - не заполняется.
31 bit флаг: градиентный фон Клиентская область заполняется:
  • 0 - сплошным цветом;
  • 1 - градиентом от указанного цвета к чёрному.
esi
 0..23 rgb888 цвет заголовка окна Только для окон типа I и II.
24 bit флаг: неперемещаемое окно
  • 0 - окно может быть перемещено пользователем;
  • 1 - окно не может быть перемещено пользователем.
25..27 0 Зарезервированы.
28..31 uint4 стиль заголовка окна Тип окна I-II:
  • 0 - нет градиента;
  • 4 - негативный градиент;
  • 8 - обычный градиент.

Другие значения зарезервированы.

Тип окна III-IV: игнорируется.

edi
 0..31 rgb888 цвет рамки окна Только для окон типа I и II.
pointer адрес строки заголовка Только для окон типа III и IV при edx28 = 1.

Возвращаемое значение

Функция не возвращает значения.