Skip to content

Commit c645afe

Browse files
committed
Enc: update farcolor.html
Also: - get rid of ".cont" table inline styles; - fix "Warning!" block margins/padding in tables, compare e.g. structures/processeditoreventinfo.html, service_functions/panelcontrol.html.
1 parent a419ffa commit c645afe

2 files changed

Lines changed: 240 additions & 46 deletions

File tree

enc/enc_rus/meta/structures/farcolor.html

Lines changed: 221 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,50 @@ <h1>FarColor</h1>
2020
</div>
2121

2222
<pre class=syntax>
23+
struct rgba
24+
{
25+
unsigned char
26+
r,
27+
g,
28+
b,
29+
a;
30+
};
31+
32+
struct color_index
33+
{
34+
unsigned char
35+
i,
36+
reserved0,
37+
reserved1,
38+
a;
39+
};
40+
2341
struct FarColor
2442
{
25-
FARCOLORFLAGS Flags;
26-
COLORREF ForegroundColor;
27-
COLORREF BackgroundColor;
28-
void *Reserved;
43+
FARCOLORFLAGS Flags;
44+
union
45+
{
46+
COLORREF ForegroundColor;
47+
struct color_index ForegroundIndex;
48+
struct rgba ForegroundRGBA;
49+
};
50+
union
51+
{
52+
COLORREF BackgroundColor;
53+
struct color_index BackgroundIndex;
54+
struct rgba BackgroundRGBA;
55+
};
56+
union
57+
{
58+
COLORREF UnderlineColor;
59+
struct color_index UnderlineIndex;
60+
struct rgba UnderlineRGBA;
61+
};
62+
DWORD Reserved;
63+
// ...
64+
UNDERLINE_STYLE GetUnderline() const {/* ... */}
65+
FarColor& SetUnderline(UNDERLINE_STYLE UnderlineStyle) {/* ... */}
66+
// ... кроме того определён ряд других хелперов, полное определение см. в plugin.hpp
2967
};
3068
</pre>
3169

@@ -34,37 +72,194 @@ <h3>Элементы</h3>
3472
<div class=dfn>Flags</div>
3573
<div class=dfndescr>Может быть комбинацией следующих значений (тип <a name="FARCOLORFLAGS">FARCOLORFLAGS</a>):
3674
<table class="cont">
37-
<tr class="cont"><th class="cont" width="40%">Флаг</th><th class="cont" width="60%">Описание</th></tr>
38-
<tr class="cont"><td class="cont" width="40%"><a name="FCF_FG_INDEX">FCF_FG_INDEX</a></td>
39-
<td class="cont" width="60%">цвет символа задан индексом в стандартной палитре NT (0 - 15) или VT100 (16 - 255)</td></tr>
40-
<tr class="cont"><td class="cont" width="40%"><a name="FCF_BG_INDEX">FCF_BG_INDEX</a></td>
41-
<td class="cont" width="60%">цвет фона символа задан индексом в стандартной палитре NT (0 - 15) или VT100 (16 - 255)</td></tr>
42-
<tr class="cont"><td class="cont" width="40%"><a name="FCF_FG_BOLD">FCF_FG_BOLD</a></td>
43-
<td class="cont" width="60%">расширенные атрибуты, задан стиль: "жирный" символ</td></tr>
44-
<tr class="cont"><td class="cont" width="40%"><a name="FCF_FG_ITALIC">FCF_FG_ITALIC</a></td>
45-
<td class="cont" width="60%">расширенные атрибуты, задан стиль: "наклонный" символ</td></tr>
46-
<tr class="cont"><td class="cont" width="40%"><a name="FCF_FG_UNDERLINE">FCF_FG_UNDERLINE</a></td>
47-
<td class="cont" width="60%">расширенные атрибуты, задан стиль: "подчеркнутый" символ</td></tr>
48-
<tr class="cont"><td class="cont" width="40%"><a name="FCF_NONE">FCF_NONE</a></td>
49-
<td class="cont" width="60%">нулевой флаг</td></tr>
75+
<thead>
76+
<tr>
77+
<th scope="col">Флаг</th>
78+
<th scope="col">Описание</th>
79+
</tr>
80+
</thead>
81+
<tbody>
82+
<tr>
83+
<td><a name="FCF_FG_INDEX">FCF_FG_INDEX</abbr></a></td>
84+
<td>цвет символа задан индексом</td>
85+
</tr>
86+
<tr>
87+
<td><a name="FCF_BG_INDEX">FCF_BG_INDEX</abbr></a></td>
88+
<td>цвет фона символа задан индексом</td>
89+
</tr>
90+
<tr>
91+
<td><a name="FCF_FG_UNDERLINE_INDEX">FCF_FG_UNDERLINE_INDEX</a></td>
92+
<td>цвет подчёркивания задан индексом</td>
93+
</tr>
94+
<tr>
95+
<td><a name="FCF_INHERIT_STYLE">FCF_INHERIT_STYLE</a></td>
96+
<td>
97+
"Наследовать" расширенные атрибуты; используется в группах раскраски файлов, в цвете выделения, курсора,
98+
и в раскраске редактора, потенциально - и в других местах
99+
</td>
100+
</tr>
101+
<tr>
102+
<td><a name="FCF_NONE">FCF_NONE</a></td>
103+
<td>нулевой флаг</td>
104+
</tr>
105+
</tbody>
106+
</table>
107+
</div>
108+
<div class=dfndescr>Расширенные атрибуты, задающие стиль (см. также <em>Замечания</em>):
109+
<table class="cont">
110+
<thead>
111+
<tr>
112+
<th scope="col">Флаг</th>
113+
<th scope="col">Описание</th>
114+
</tr>
115+
</thead>
116+
<tbody>
117+
<tr>
118+
<td><a name="FCF_FG_BLINK">FCF_FG_BLINK</abbr></a></td>
119+
<td>"мигающий"</td>
120+
</tr>
121+
<tr>
122+
<td><a name="FCF_FG_BOLD">FCF_FG_BOLD</abbr></a></td>
123+
<td>"жирный" (или "яркий")</td>
124+
</tr>
125+
<tr>
126+
<td><a name="FCF_FG_FAINT">FCF_FG_FAINT</a></td>
127+
<td> "блёклый"</td>
128+
</tr>
129+
<tr>
130+
<td><a name="FCF_INVERSE">FCF_INVERSE</a></td>
131+
<td>"инверсный" ("негатив")</td>
132+
</tr>
133+
<tr>
134+
<td><a name="FCF_FG_INVISIBLE">FCF_FG_INVISIBLE</a></td>
135+
<td>"невидимый" ("скрытый")</td>
136+
</tr>
137+
<tr>
138+
<td><a name="FCF_FG_ITALIC">FCF_FG_ITALIC</a></td>
139+
<td>"наклонный" ("курсив")</td>
140+
</tr>
141+
<tr>
142+
<td><a name="FCF_FG_OVERLINE">FCF_FG_OVERLINE</a></td>
143+
<td>"надчёркнутый"</td>
144+
</tr>
145+
<tr>
146+
<td><a name="FCF_FG_STRIKEOUT">FCF_FG_INVISIBLE</a></td>
147+
<td>"зачёркнутый"</td>
148+
</tr>
149+
<tr>
150+
<td><a name="FCF_FG_U_DATA0">FCF_FG_U_DATA0</a>, <a name="FCF_FG_U_DATA1">FCF_FG_U_DATA1</a>,
151+
<a name="FCF_FG_U_DATA2">FCF_FG_U_DATA2</a></td>
152+
<td>
153+
<p>"подчёркнутый"; стиль подчёркивания определяется комбинацией значений этих трёх битов.
154+
<p>Для работы со стилями подчёркивания предусмотрены хелперы <a name="GetUnderline">GetUnderline()</a> и
155+
<a name="SetUnderline">SetUnderline()</a>.
156+
<p>Возможные стили подчёркивания (<a name="UNDERLINE_STYLE">enum UNDERLINE_STYLE</a>):
157+
<a name="UNDERLINE_NONE">UNDERLINE_NONE</a>, <a name="UNDERLINE_SINGLE">UNDERLINE_SINGLE</a>,
158+
<a name="UNDERLINE_DOUBLE">UNDERLINE_DOUBLE</a>, <a name="UNDERLINE_CURLY">UNDERLINE_CURLY</a>,
159+
<a name="UNDERLINE_DOT">UNDERLINE_DOT</a>, <a name="UNDERLINE_DASH">UNDERLINE_DASH</a>.
160+
</td>
161+
</tr>
162+
</tbody>
50163
</table>
51164
</div>
52-
<div class=dfn>ForegroundColor</div>
53-
<div class=dfndescr>Цвет символа в формате <code>0xAABBGGRR</code> или индекс <code>0xAA000000</code> - <code>0xAA0000FF</code>, если установлен флаг FCF_FG_INDEX.</div>
54-
<div class=dfn>BackgroundColor</div>
55-
<div class=dfndescr>Цвет символа в формате <code>0xAABBGGRR</code> или индекс <code>0xAA000000</code> - <code>0xAA0000FF</code>, если установлен флаг FCF_BG_INDEX.</div>
165+
<div class=dfndescr>Маски:
166+
<table class="cont">
167+
<thead>
168+
<tr>
169+
<th scope="col">Флаг</th>
170+
<th scope="col">Описание</th>
171+
</tr>
172+
</thead>
173+
<tbody>
174+
<tr>
175+
<td><a name="FCF_INDEXMASK">FCF_INDEXMASK</abbr></a></td>
176+
<td>FCF_FG_INDEX | FCF_BG_INDEX | FCF_FG_UNDERLINE_INDEX</td>
177+
</tr>
178+
<tr>
179+
<td><a name="FCF_FG_UNDERLINE_MASK">FCF_FG_UNDERLINE_MASK</abbr></a></td>
180+
<td>FCF_FG_U_DATA0 | FCF_FG_U_DATA1 | FCF_FG_U_DATA2</td>
181+
</tr>
182+
<tr>
183+
<td><a name="FCF_RAWATTR_MASK">FCF_RAWATTR_MASK</a></td>
184+
<td><a href="https://learn.microsoft.com/windows/console/char-info-str">LVB</a> console attributes</td>
185+
</tr>
186+
<tr>
187+
<td><a name="FCF_STYLE_MASK">FCF_STYLE_MASK</a></td>
188+
<td>объединение всех расширенных атрибутов</td>
189+
</tr>
190+
</tbody>
191+
</table>
192+
</div>
193+
</div>
194+
<div class=dfn>ForegroundIndex | ForegroundRGBA | ForegroundColor</div>
195+
<div class=dfndescr>
196+
Цвет символа может быть представлен в виде <code>color_index</code>, <code>rgba</code> или <code>COLORREF</code>,
197+
в зависимости от флага FCF_FG_INDEX:
198+
<ul>
199+
<li>Если флаг установлен, то значение соответствует типу <code>color_index</code>,
200+
где <code>i</code> это индекс в палитре (см. <em>Замечания</em>),
201+
<code>a</code> - Alpha-канал, определяющий степень прозрачности,
202+
от полностью прозрачного <code>00</code> до совсем непрозрачного <code>FF</code>.
203+
</li>
204+
<li>Если флаг снят, то значение соответствует типу <code>rgba</code>, где <code>a</code> - Alpha-канал,
205+
а <code>r</code>, <code>g</code>, <code>b</code> - красный, зелёный, и синий каналы в цветовом пространстве RGB,
206+
со значениями от <code>00</code> до <code>FF</code>.
207+
</li>
208+
<li>Значение типа <code>COLORREF</code> можно использовать в обоих случаях:
209+
<ul>
210+
<li>при установленном флаге: значение в формате <code>0xAA000000</code> - <code>0xAA0000FF</code>,
211+
где младший байт представляет собой индекс в палитре, а старший (<code>AA</code>) - Alpha-канал.
212+
</li>
213+
<li>при снятом флаге: значение в формате <code>0xAABBGGRR</code>, где <code>AA</code> - Alpha-канал,
214+
а <code>RR</code>, <code>GG</code>, <code>BB</code> - красный, зелёный, и синий каналы.
215+
</li>
216+
</ul>
217+
</li>
218+
</ul>
219+
<p class=note><img src="../../images/note.gif" alt="Внимание!" width="10" height="10"> Внимание!</p>
220+
<ul class=note>
221+
<li>В данный момент прозрачность поддерживается не везде.
222+
Чтобы в будущем избежать неприятных сюрпризов, всегда устанавливайте Alpha-канал
223+
(старший байт значения <code>COLORREF</code>) в <code>0xFF</code>.</a>
224+
</li>
225+
</ul>
226+
<p class=note><img src="../../images/note.gif" alt="Примечание" width="10" height="10"> Примечание</p>
227+
<ul class=note>
228+
<li>Для комфортной работы со структурами также предусмотрен ряд хелперов, см.
229+
<a href="https://github.com/FarGroup/FarManager/blob/master/plugins/common/unicode/plugin.hpp">plugin.hpp</a>.
230+
</li>
231+
</ul>
232+
</div>
233+
<div class=dfn>BackgroundIndex | BackgroundRGBA | BackgroundColor</div>
234+
<div class=dfndescr>Цвет фона символа, в зависимости от флага FCF_BG_INDEX, формат тот же что у Foreground*.</div>
235+
<div class=dfn>UnderlineIndex | UnderlineRGBA | UnderlineColor</div>
236+
<div class=dfndescr>Цвет подчёркивания, в зависимости от флага FCF_FG_UNDERLINE_INDEX, формат тот же что у Foreground*.</div>
56237
<div class=dfn>Reserved</div>
57238
<div class=dfndescr>Не используется и должен быть установлен в 0.</div>
58239
</div>
59240

60241
<h3>Замечания</h3>
61242
<div class=descr>
62-
При формировании цвета для стандартной консоли Windows обязательно указывайте флаги <code>FCF_FG_INDEX</code> и <code>FCF_BG_INDEX</code>.
63-
</div>
243+
<p>При использовании цветов из палитры обязательно указывайте флаги <code>FCF_FG_INDEX</code>, <code>FCF_BG_INDEX</code>
244+
<code>FCF_FG_UNDERLINE_INDEX</code>, если используется подчёркивание).
64245

65-
<div class=descr>
66-
Старший байт в ForegroundColor и BackgroundColor определяет степень прозрачности цвета, от полностью прозрачного (00) до полностью непрозрачного (FF).
67-
В данный момент прозрачность поддерживается не везде. Во избежание неприятных сюрпризов в будущем всегда устанавливайте старший байт в <code>0xFF</code>.
246+
<p>Стандартные цвета консоли Windows представляют собой палитру из 16 цветов, с индексами 0 - 15.
247+
248+
<p>Также можно использовать цвета из палитры VT100 (16 - 255).
249+
В этом случае значения (16 - 231) кодируются как 36R+6G+B, где уровень каждого из основных цветов 0-5,
250+
а последние 24 значения (232 - 255) используются для оттенков серого.
251+
252+
<p class=note><img src="../../images/note.gif" alt="Внимание!" width="10" height="10"> Внимание!</p>
253+
<ul class=note>
254+
<li>Гарантированно везде работает только стандартная 16-цветная палитра.
255+
Поддержка всего остального условна и определяется вашим терминалом.
256+
</li>
257+
<li>Расширенные (RGB) цвета и стили требуют рендеринга на основе
258+
<a href="https://learn.microsoft.com/windows/console/classic-vs-vt">Virtual Terminal</a>,
259+
который можно включить в настройках интерфейса. Если он не включен или если ваш
260+
терминал не поддерживает цвета RGB, то цвета будут аппроксимированы до ближайших
261+
индексов консольной палитры.
262+
</li>
68263
</div>
69264

70265
<div class=see>Смотрите также:</div>

enc/enc_rus/styles/styles.css

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -78,31 +78,29 @@ TABLE.cont
7878
MARGIN-BOTTOM: 0.3em;
7979
WIDTH: 90%
8080
}
81-
TR.cont
81+
.cont th, .cont td
8282
{
83-
VERTICAL-ALIGN: top
83+
FONT-SIZE: 70%;
84+
PADDING-LEFT: 8px;
85+
PADDING-RIGHT: 8px;
86+
PADDING-TOP: 4px;
87+
PADDING-BOTTOM: 4px;
88+
TEXT-ALIGN: left;
8489
}
85-
TH.cont
90+
.cont th
8691
{
87-
PADDING-RIGHT: 8px;
88-
PADDING-LEFT: 8px;
89-
FONT-SIZE: 70%;
9092
BACKGROUND: #cccccc;
91-
PADDING-BOTTOM: 4px;
92-
VERTICAL-ALIGN: bottom;
93-
PADDING-TOP: 4px;
94-
TEXT-ALIGN: left
9593
}
96-
TD.cont
94+
.cont td
9795
{
98-
PADDING-RIGHT: 8px;
99-
PADDING-LEFT: 8px;
100-
FONT-SIZE: 70%;
10196
BACKGROUND: #ffffff;
102-
PADDING-BOTTOM: 4px;
10397
VERTICAL-ALIGN: top;
104-
PADDING-TOP: 4px
10598
}
99+
.cont td:last-child
100+
{
101+
width: 60%;
102+
}
103+
106104
A.pre
107105
{
108106
FONT-WEIGHT: bold;
@@ -329,16 +327,17 @@ P.note
329327
{
330328
CLEAR: both;
331329
MARGIN-TOP: 1em;
330+
MARGIN-LEFT: 0.1em;
332331
FONT-WEIGHT: bold;
333-
MARGIN-BOTTOM: -1.0em;
334332
FONT-FAMILY: tahoma, arial, helvetica;
335-
MARGIN-LEFT: 0.1em
333+
height: 13px;
336334
}
337335
UL.note
338336
{
339-
MARGIN-LEFT: 1.5em;
340337
FONT-FAMILY: tahoma, arial, helvetica;
341-
LIST-STYLE-TYPE: none
338+
LIST-STYLE-TYPE: none;
339+
margin-top: 0;
340+
padding-left: 1.5em;
342341
}
343342
SPAN.faqq
344343
{

0 commit comments

Comments
 (0)