diff --git a/enc/enc_rus/meta/structures/farcolor.html b/enc/enc_rus/meta/structures/farcolor.html index 6275b4b9dc..c9e8d4fc06 100644 --- a/enc/enc_rus/meta/structures/farcolor.html +++ b/enc/enc_rus/meta/structures/farcolor.html @@ -20,12 +20,50 @@

FarColor

+struct rgba
+{
+	unsigned char
+		r,
+		g,
+		b,
+		a;
+};
+
+struct color_index
+{
+	unsigned char
+		i,
+		reserved0,
+		reserved1,
+		a;
+};
+
 struct FarColor
 {
-  FARCOLORFLAGS Flags;
-  COLORREF ForegroundColor;
-  COLORREF BackgroundColor;
-  void *Reserved;
+	FARCOLORFLAGS Flags;
+	union
+	{
+		COLORREF ForegroundColor;
+		struct color_index ForegroundIndex;
+		struct rgba ForegroundRGBA;
+	};
+	union
+	{
+		COLORREF BackgroundColor;
+		struct color_index BackgroundIndex;
+		struct rgba BackgroundRGBA;
+	};
+	union
+	{
+		COLORREF UnderlineColor;
+		struct color_index UnderlineIndex;
+		struct rgba UnderlineRGBA;
+	};
+	DWORD Reserved;
+	// ...
+	UNDERLINE_STYLE GetUnderline() const  {/* ... */}
+	FarColor& SetUnderline(UNDERLINE_STYLE UnderlineStyle) {/* ... */}
+	// ... кроме того определён ряд других хелперов, полное определение см. в plugin.hpp
 };
 
@@ -34,37 +72,182 @@

Элементы

Flags
Может быть комбинацией следующих значений (тип FARCOLORFLAGS): - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +
ФлагОписание
FCF_FG_INDEXцвет символа задан индексом в стандартной палитре NT (0 - 15) или VT100 (16 - 255)
FCF_BG_INDEXцвет фона символа задан индексом в стандартной палитре NT (0 - 15) или VT100 (16 - 255)
FCF_FG_BOLDрасширенные атрибуты, задан стиль: "жирный" символ
FCF_FG_ITALICрасширенные атрибуты, задан стиль: "наклонный" символ
FCF_FG_UNDERLINEрасширенные атрибуты, задан стиль: "подчеркнутый" символ
FCF_NONEнулевой флаг
ФлагОписание
FCF_FG_INDEXцвет символа задан индексом
FCF_BG_INDEXцвет фона символа задан индексом
FCF_FG_UNDERLINE_INDEXцвет подчёркивания задан индексом
FCF_INHERIT_STYLE + "Наследовать" расширенные атрибуты; используется в группах раскраски файлов, в цвете выделения, курсора, + и в раскраске редактора, потенциально - и в других местах +
FCF_NONEнулевой флаг
+
+
Расширенные атрибуты, задающие стиль (см. также Замечания): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ФлагОписание
FCF_FG_BLINK"мигающий"
FCF_FG_BOLD"жирный" (или "яркий")
FCF_FG_FAINT "блёклый"
FCF_INVERSE"инверсный" ("негатив")
FCF_FG_INVISIBLE"невидимый" ("скрытый")
FCF_FG_ITALIC"наклонный" ("курсив")
FCF_FG_OVERLINE"надчёркнутый"
FCF_FG_INVISIBLE"зачёркнутый"
FCF_FG_U_DATA0, FCF_FG_U_DATA1, + FCF_FG_U_DATA2 +

"подчёркнутый"; стиль подчёркивания определяется комбинацией значений этих трёх битов. +

Для работы со стилями подчёркивания предусмотрены хелперы GetUnderline() и + SetUnderline(). +

Возможные стили подчёркивания (перечисление UNDERLINE_STYLE): + UNDERLINE_NONE, UNDERLINE_SINGLE, + UNDERLINE_DOUBLE, UNDERLINE_CURLY, + UNDERLINE_DOT, UNDERLINE_DASH. +

-
ForegroundColor
-
Цвет символа в формате 0xAABBGGRR или индекс 0xAA000000 - 0xAA0000FF, если установлен флаг FCF_FG_INDEX.
-
BackgroundColor
-
Цвет символа в формате 0xAABBGGRR или индекс 0xAA000000 - 0xAA0000FF, если установлен флаг FCF_BG_INDEX.
+
Маски: + + + + + + + + + + + + + + + + + + + + + +
ФлагОписание
FCF_INDEXMASKFCF_FG_INDEX | FCF_BG_INDEX | FCF_FG_UNDERLINE_INDEX
FCF_FG_UNDERLINE_MASKFCF_FG_U_DATA0 | FCF_FG_U_DATA1 | FCF_FG_U_DATA2
FCF_RAWATTR_MASKLVB console attributes
FCF_STYLE_MASKобъединение всех расширенных атрибутов
+
+
ForegroundIndex | ForegroundRGBA | ForegroundColor
+
+ Цвет символа может быть представлен в виде структур color_index, rgba + или типа COLORREF, в зависимости от флага FCF_FG_INDEX: + +

Внимание! Внимание!

+ +

Примечание Примечание

+ +
+
BackgroundIndex | BackgroundRGBA | BackgroundColor
+
Цвет фона символа, в зависимости от флага FCF_BG_INDEX, формат тот же что у Foreground*.
+
UnderlineIndex | UnderlineRGBA | UnderlineColor
+
Цвет подчёркивания, в зависимости от флага FCF_FG_UNDERLINE_INDEX, формат тот же что у Foreground*.
Reserved
Не используется и должен быть установлен в 0.

Замечания

-При формировании цвета для стандартной консоли Windows обязательно указывайте флаги FCF_FG_INDEX и FCF_BG_INDEX. -
+

При использовании цветов из палитры обязательно указывайте флаги FCF_FG_INDEX, FCF_BG_INDEX + (и FCF_FG_UNDERLINE_INDEX, если используется подчёркивание). -

-Старший байт в ForegroundColor и BackgroundColor определяет степень прозрачности цвета, от полностью прозрачного (00) до полностью непрозрачного (FF). -В данный момент прозрачность поддерживается не везде. Во избежание неприятных сюрпризов в будущем всегда устанавливайте старший байт в 0xFF. +

Стандартные цвета консоли Windows представляют собой палитру из 16 цветов, с индексами 0 - 15. + +

Также можно использовать цвета из палитры VT100 (16 - 255). + В этом случае значения (16 - 231) кодируются как 36R+6G+B, где уровень каждого из основных цветов 0-5, + а последние 24 значения (232 - 255) используются для оттенков серого. + +

Внимание! Внимание!

+
Смотрите также: