summaryrefslogtreecommitdiff
path: root/plugins/Modernb/hdr/modern_row.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Modernb/hdr/modern_row.h')
-rw-r--r--plugins/Modernb/hdr/modern_row.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/plugins/Modernb/hdr/modern_row.h b/plugins/Modernb/hdr/modern_row.h
new file mode 100644
index 0000000000..47b9582c29
--- /dev/null
+++ b/plugins/Modernb/hdr/modern_row.h
@@ -0,0 +1,86 @@
+#ifndef modern_row_h__
+#define modern_row_h__
+
+#pragma once
+
+
+// Types of cells
+#define TC_TEXT1 1
+#define TC_TEXT2 2
+#define TC_TEXT3 3
+#define TC_STATUS 4
+#define TC_AVATAR 5
+#define TC_EXTRA 6
+#define TC_EXTRA1 7
+#define TC_EXTRA2 8
+#define TC_EXTRA3 9
+#define TC_EXTRA4 10
+#define TC_EXTRA5 11
+#define TC_EXTRA6 12
+#define TC_EXTRA7 13
+#define TC_EXTRA8 14
+#define TC_EXTRA9 15
+#define TC_TIME 16
+#define TC_SPACE 17
+#define TC_FIXED 18
+
+
+#define TC_ELEMENTSCOUNT 18
+
+// Containers
+#define TC_ROOT 50
+#define TC_ROW 51
+#define TC_COL 52
+#define TC_FLOAT 53
+
+// Alignes
+#define TC_LEFT 0
+#define TC_HCENTER 100
+#define TC_RIGHT 101
+
+#define TC_TOP 0
+#define TC_VCENTER 102
+#define TC_BOTTOM 103
+
+// Sizes
+#define TC_WIDTH 104
+#define TC_HEIGHT 105
+
+
+
+// Структура, описывающая контейнер элемента контакта
+//
+typedef struct tagRowCell
+{
+ int cont; // Тип контейнера - контакт, сторока, столбец
+ int type; // Тип элемента, содержащегося в контейнере, если 0 - пустой контейнер
+ int halign; // Горизонтальное выравнивание внутри контейнера
+ int valign; // Вертикальное выравнивание внутри контейнера
+
+ int w; // Ширина элемента контакта, для текстовых полей игнорируется
+ int h; // Высота элемента котнакта
+
+ BOOL sizing; // Параметр, показывающий наличие текстовых полей в дочерних контейнерах
+ BOOL layer; // Параметр, показывающий, что контейнер образует новый слой
+
+ BOOL hasfixed; // Параметр показывающий что есть вложенные фиксированные элементы
+ BOOL fitwidth; // Параметр указывающий что последний элемент заполняет все оставшееся
+ // Пространство (расстягивает родителя.оверлей)
+
+ int fixed_width;
+ int full_width;
+
+ RECT r; // Прямоугольник для рисования элемента
+ struct tagRowCell * next; // Поле связи
+ struct tagRowCell * child; // Поле связи см. файл описания
+} ROWCELL, *pROWCELL;
+
+// Структура для доступа к контейнерам элемента контакта внутри дерева опивания
+#ifndef _CPPCODE
+ int cppCalculateRowHeight(ROWCELL *RowRoot);
+ void cppCalculateRowItemsPos(ROWCELL *RowRoot, int width);
+ ROWCELL *cppInitModernRow(ROWCELL ** tabAccess);
+ void cppDeleteTree(ROWCELL * RowRoot);
+#endif
+
+#endif // modern_row_h__ \ No newline at end of file