• R/O
  • SSH
  • HTTPS

ttssh2: 提交


Commit MetaInfo

修订版10269 (tree)
时间2022-09-17 15:21:40
作者zmatsuo

Log Message

ANSIColorを設定した文字の前景色と背景色を入れ替えるようにした

- 文字アトリビュート設定をTera Term5からバックポート
- DECSCNM setで色反転時に、属性にANSIColorを設定した文字の前景色と背景色を入れ替えるようにした

MFT r10192, r10198, r10201, r10203, r10208, r10214, r10216, r10217, r10219, r10222, r10229, r10230, r10231

更改概述

差异

--- branches/4-stable/doc/en/html/about/history.html (revision 10268)
+++ branches/4-stable/doc/en/html/about/history.html (revision 10269)
@@ -47,6 +47,7 @@
4747 <li>デフォルトに、ini ファイルの TransBin設定を反映するようにした。</li>
4848 <li>"次のドロップ時、同じ処理を行う"チェック時に、記憶するようにした。</li>
4949 </ul></li-->
50+ <li>Exchanged fore and back colors of characters that attributes is setted ANSIColor when colors are reversed with DECSCNM set.</li>
5051 </ul>
5152 </li>
5253
--- branches/4-stable/doc/ja/html/about/history.html (revision 10268)
+++ branches/4-stable/doc/ja/html/about/history.html (revision 10269)
@@ -47,6 +47,7 @@
4747 <li>デフォルトに、ini ファイルの TransBin設定を反映するようにした。</li>
4848 <li>"次のドロップ時、同じ処理を行う"チェック時に、記憶するようにした。</li>
4949 </ul></li>
50+ <li>DECSCNM setで色反転時に、属性にANSIColorを設定した文字の前景色と背景色を入れ替えるようにした。</li>
5051 </ul>
5152 </li>
5253
--- branches/4-stable/teraterm/teraterm/addsetting.cpp (revision 10268)
+++ branches/4-stable/teraterm/teraterm/addsetting.cpp (revision 10269)
@@ -1115,7 +1115,6 @@
11151115 {
11161116 int sel;
11171117 char buf[MAXPATHLEN];
1118- COLORREF TmpColor;
11191118 int flag_changed = 0;
11201119
11211120 // (1)
@@ -1211,27 +1210,7 @@
12111210 }
12121211
12131212 // (8) Attr Reverse Color
1214- if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Videoモード(DECSCNM)時は処理を変える
1215- if (ts.ColorFlag & CF_REVERSECOLOR) {
1216- if (!GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
1217- TmpColor = ts.VTColor[0];
1218- ts.VTColor[0] = ts.VTReverseColor[1];
1219- ts.VTReverseColor[1] = ts.VTColor[1];
1220- ts.VTColor[1] = ts.VTReverseColor[0];
1221- ts.VTReverseColor[0] = TmpColor;
1222- ts.ColorFlag ^= CF_REVERSECOLOR;
1223- }
1224- }
1225- else if (GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
1226- TmpColor = ts.VTColor[0];
1227- ts.VTColor[0] = ts.VTReverseColor[0];
1228- ts.VTReverseColor[0] = ts.VTColor[1];
1229- ts.VTColor[1] = ts.VTReverseColor[1];
1230- ts.VTReverseColor[1] = TmpColor;
1231- ts.ColorFlag ^= CF_REVERSECOLOR;
1232- }
1233- }
1234- else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
1213+ if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
12351214 ts.ColorFlag ^= CF_REVERSECOLOR;
12361215 }
12371216
--- branches/4-stable/teraterm/teraterm/vtdisp.c (revision 10268)
+++ branches/4-stable/teraterm/teraterm/vtdisp.c (revision 10269)
@@ -1658,37 +1658,6 @@
16581658
16591659 }
16601660
1661-void BGExchangeColor() {
1662- COLORREF ColorRef;
1663- if (ts.ColorFlag & CF_REVERSECOLOR) {
1664- ColorRef = BGVTColor[0];
1665- BGVTColor[0] = BGVTReverseColor[0];
1666- BGVTReverseColor[0] = ColorRef;
1667- ColorRef = BGVTColor[1];
1668- BGVTColor[1] = BGVTReverseColor[1];
1669- BGVTReverseColor[1] = ColorRef;
1670- }
1671- else {
1672- ColorRef = BGVTColor[0];
1673- BGVTColor[0] = BGVTColor[1];
1674- BGVTColor[1] = ColorRef;
1675- }
1676-
1677- ColorRef = BGVTBoldColor[0];
1678- BGVTBoldColor[0] = BGVTBoldColor[1];
1679- BGVTBoldColor[1] = ColorRef;
1680-
1681- ColorRef = BGVTBlinkColor[0];
1682- BGVTBlinkColor[0] = BGVTBlinkColor[1];
1683- BGVTBlinkColor[1] = ColorRef;
1684-
1685- ColorRef = BGURLColor[0];
1686- BGURLColor[0] = BGURLColor[1];
1687- BGURLColor[1] = ColorRef;
1688-
1689-// BGReverseText = !BGReverseText;
1690-}
1691-
16921661 void BGFillRect(HDC hdc,RECT *R,HBRUSH brush)
16931662 {
16941663 if(!BGEnable)
@@ -1790,21 +1759,11 @@
17901759 //-->
17911760 #endif // ALPHABLEND_TYPE2
17921761
1793-void DispApplyANSIColor() {
1762+static void DispApplyANSIColor(void) {
17941763 int i;
17951764
17961765 for (i = IdBack ; i <= IdFore+8 ; i++)
17971766 ANSIColor[i] = ts.ANSIColor[i];
1798-
1799- if ((ts.ColorFlag & CF_USETEXTCOLOR)!=0) {
1800-#ifdef ALPHABLEND_TYPE2
1801- ANSIColor[IdBack ] = BGVTColor[1]; // use background color for "Black"
1802- ANSIColor[IdFore ] = BGVTColor[0]; // use text color for "white"
1803-#else
1804- ANSIColor[IdBack ] = ts.VTColor[1]; // use background color for "Black"
1805- ANSIColor[IdFore ] = ts.VTColor[0]; // use text color for "white"
1806-#endif
1807- }
18081767 }
18091768
18101769 void InitColorTable()
@@ -2544,22 +2503,6 @@
25442503 /* Change caret shape */
25452504 ChangeCaret();
25462505
2547- if ((ts.ColorFlag & CF_USETEXTCOLOR)==0)
2548- {
2549- ANSIColor[IdFore ] = ts.ANSIColor[IdFore ];
2550- ANSIColor[IdBack ] = ts.ANSIColor[IdBack ];
2551- }
2552- else { // use text (background) color for "white (black)"
2553- ANSIColor[IdFore ] = ts.VTColor[0];
2554- ANSIColor[IdBack ] = ts.VTColor[1];
2555-
2556-#ifdef ALPHABLEND_TYPE2
2557- ANSIColor[IdFore ] = BGVTColor[0];
2558- ANSIColor[IdBack ] = BGVTColor[1];
2559-#endif // ALPHABLEND_TYPE2
2560-
2561- }
2562-
25632506 /* change background color */
25642507 DispChangeBackground();
25652508 }
@@ -2602,17 +2545,8 @@
26022545 VTDC = NULL;
26032546 }
26042547
2605-#define isURLColored(x) ((ts.ColorFlag & CF_URLCOLOR) && ((x).Attr & AttrURL))
2606-#define isURLUnderlined(x) ((ts.FontFlag & FF_URLUNDERLINE) && ((x).Attr & AttrURL))
2607-#define isBoldColored(x) ((ts.ColorFlag & CF_BOLDCOLOR) && ((x).Attr & AttrBold))
2608-#define isBlinkColored(x) ((ts.ColorFlag & CF_BLINKCOLOR) && ((x).Attr & AttrBlink))
2609-#define isReverseColored(x) ((ts.ColorFlag & CF_REVERSECOLOR) && ((x).Attr & AttrReverse))
2610-#define isForeColored(x) ((ts.ColorFlag & CF_ANSICOLOR) && ((x).Attr2 & Attr2Fore))
2611-#define isBackColored(x) ((ts.ColorFlag & CF_ANSICOLOR) && ((x).Attr2 & Attr2Back))
2612-
26132548 /**
2614- * 文字色・背景色を設定する
2615- * シーケンスの色番号から ANSIColor[] の色を得る処理が含まれる
2549+ * シーケンスのcolor_indexをANSIColor[]のindexへ変換する
26162550 *
26172551 * ANSIColor[] の 0-7 には原色(明るい色)、8-15 には少し暗い色が入っている
26182552 * 0: Black 8: Gray (Bright Black)
@@ -2624,202 +2558,250 @@
26242558 * PC-style 16 colors
26252559 * Bold 属性と文字色属性(0-7)の組み合わせで明るい文字色を表す
26262560 * Blink 属性と背景色属性(0-7)の組み合わせで明るい背景色を表す
2627- * - そのため CF_PCBOLD16 が有効で、文字色が Bold のとき・背景色が Blink のときは
2561+ * - そのため CF_PCBOLD16 が有効で pcbold16_bright が true のときは
26282562 * 原色(明るい色)になるよう 1-7 は入れ替えない。
26292563 * - CF_PCBOLD16 が無効なときには 1-7 を入れ替える。
26302564 * この組み合わせで明るい色を表すのは PC-style だけなので入れ替える。
26312565 * - 9-15 は常に入れ替える。
2632- * CF_PCBOLD16 が有効で、文字色が Bold のとき・背景色が Blink のときは 1-7 も 9-15 も
2566+ * CF_PCBOLD16 が有効で pcbold16_bright が true のときは 1-7 も 9-15 も
26332567 * 明るい色になるが、9-15 は他の拡張モードで使われる。
2634- */
2568+ *
2569+ * @param color_index
2570+ * @param pcbold16 0/0以外 = 16 color mode PC Styleではない/である
2571+ * @param pcbold16_bright 0/0以外 = 色を明るくしない/する
2572+ * @return ANSIColor[]のindex
2573+*/
2574+static int Get256ColorIndex(int color_index, int pcbold16, int pcbold16_bright)
2575+{
2576+ int table_index;
2577+ if ((ts.ColorFlag & CF_FULLCOLOR) == 0) {
2578+ // 8色モード
2579+ // table index default color
2580+ // 0 黒,Black
2581+ // 1-7 明るい色,原色 (Bright color)
2582+ table_index = color_index;
2583+ }
2584+ else {
2585+ // 16/256色
2586+ if (color_index < 8 && (pcbold16 != 0)) {
2587+ // index-> table index default color
2588+ // not bright時
2589+ // 0 -> 0 (変化なし) 黒,Black
2590+ // 1-7 -> 9-15 少し暗い色
2591+ // bright時
2592+ // 0 -> 0 (変化なし) 黒,Black
2593+ // 1-7 -> 1-7 (変化なし) 明るい色,原色 (Bright color)
2594+ if ((pcbold16_bright != 0) == (color_index != 0)) {
2595+ table_index = color_index;
2596+ }
2597+ else {
2598+ table_index = color_index ^ 8;
2599+ }
2600+ }
2601+ else {
2602+ // index-> table index default color
2603+ // 0 -> 0 (変化なし) 黒,Black
2604+ // 1-7 -> 9-15 少し暗い色
2605+ // 8 -> 8 (変化なし) 灰色, Bright Black (Gray)
2606+ // 9-15 -> 1-7 明るい色,原色 (Bright color)
2607+ // 16- -> 16- (変化なし)
2608+ if (color_index < 16 && (color_index & 7) != 0) {
2609+ // color_index が 1-7,9-15 のとき
2610+ table_index = color_index ^ 8;
2611+ }
2612+ else {
2613+ table_index = color_index;
2614+ }
2615+ }
2616+ }
2617+ return table_index;
2618+}
2619+
26352620 void DispSetupDC(TCharAttr Attr, BOOL Reverse)
26362621 // Setup device context
26372622 // Attr: character attributes
26382623 // Reverse: true if text is selected (reversed) by mouse
26392624 {
2640- COLORREF TextColor, BackColor;
2641- int NoReverseColor = 2;
2625+ COLORREF TextColor, BackColor;
2626+ WORD AttrFlag; // Attr + Flag
2627+ WORD Attr2Flag; // Attr2 + Flag
2628+ BOOL reverse;
2629+ const BOOL use_normal_bg_color = ts.UseNormalBGColor;
26422630
2643- if (VTDC==NULL) DispInitDC();
2631+ // ts.ColorFlag と Attr を合成した Attr を作る
2632+ AttrFlag = 0;
2633+ AttrFlag |= ((ts.ColorFlag & CF_URLCOLOR) && (Attr.Attr & AttrURL)) ? AttrURL : 0;
2634+ //AttrFlag |= ((ts.ColorFlag & CF_UNDERLINE) && (Attr.Attr & AttrUnder)) ? AttrUnder : 0;
2635+ AttrFlag |= ((ts.ColorFlag & CF_URLCOLOR) && (Attr.Attr & AttrUnder)) ? AttrUnder : 0;
2636+ AttrFlag |= ((ts.ColorFlag & CF_BOLDCOLOR) && (Attr.Attr & AttrBold)) ? AttrBold : 0;
2637+ AttrFlag |= ((ts.ColorFlag & CF_BLINKCOLOR) && (Attr.Attr & AttrBlink)) ? AttrBlink : 0;
2638+ AttrFlag |= ((ts.ColorFlag & CF_REVERSECOLOR) && (Attr.Attr & AttrReverse)) ? AttrReverse : 0;
2639+ Attr2Flag = 0;
2640+ Attr2Flag |= ((ts.ColorFlag & CF_ANSICOLOR) && (Attr.Attr2 & Attr2Fore)) ? Attr2Fore : 0;
2641+ Attr2Flag |= ((ts.ColorFlag & CF_ANSICOLOR) && (Attr.Attr2 & Attr2Back)) ? Attr2Back : 0;
26442642
2645- if (TCharAttrCmp(DCAttr, Attr) == 0 && DCReverse == Reverse) {
2646- return;
2647- }
2648- DCAttr = Attr;
2649- DCReverse = Reverse;
2643+ if (VTDC == NULL)
2644+ DispInitDC();
26502645
2651- SelectObject(VTDC, VTFont[(Attr.Attr & AttrFontMask) | (isURLUnderlined(Attr)?AttrUnder:0)]);
2646+ // 反転
2647+ reverse = FALSE;
2648+ if (Reverse) {
2649+ reverse = TRUE;
2650+ }
2651+ if ((AttrFlag & AttrReverse) != 0) {
2652+ reverse = reverse ? FALSE : TRUE;
2653+ }
2654+ if ((ts.ColorFlag & CF_REVERSEVIDEO) != 0) {
2655+ reverse = reverse ? FALSE : TRUE;
2656+ }
26522657
2653- if ((ts.ColorFlag & CF_FULLCOLOR) == 0) {
2654- if (isBlinkColored(Attr)) {
2655-#ifdef ALPHABLEND_TYPE2 // AKASI
2656- TextColor = BGVTBlinkColor[0];
2657- BackColor = BGVTBlinkColor[1];
2658-#else
2659- TextColor = ts.VTBlinkColor[0];
2660- BackColor = ts.VTBlinkColor[1];
2661-#endif
2658+ if (TCharAttrCmp(DCAttr, Attr) == 0 && DCReverse == reverse) {
2659+ return;
26622660 }
2663- else if (isBoldColored(Attr)) {
2664-#ifdef ALPHABLEND_TYPE2 // AKASI
2665- TextColor = BGVTBoldColor[0];
2666- BackColor = BGVTBoldColor[1];
2667-#else
2668- TextColor = ts.VTBoldColor[0];
2669- BackColor = ts.VTBoldColor[1];
2670-#endif
2661+ DCAttr = Attr;
2662+ DCReverse = reverse;
2663+
2664+ // フォント設定
2665+ if (((ts.FontFlag & FF_URLUNDERLINE) && (Attr.Attr & AttrURL)) ||
2666+ //((ts.FontFlag & FF_UNDERLINE) && (Attr.Attr & AttrUnder))) {
2667+ ((ts.FontFlag & FF_URLUNDERLINE) && (Attr.Attr & AttrUnder))) {
2668+ SelectObject(VTDC, VTFont[(Attr.Attr & AttrFontMask) | AttrUnder]);
26712669 }
2672- /* begin - ishizaki */
2673- else if (isURLColored(Attr)) {
2674-#ifdef ALPHABLEND_TYPE2 // AKASI
2675- TextColor = BGURLColor[0];
2676- BackColor = BGURLColor[1];
2677-#else
2678- TextColor = ts.URLColor[0];
2679- BackColor = ts.URLColor[1];
2680-#endif
2670+ else {
2671+ SelectObject(VTDC, VTFont[Attr.Attr & (AttrBold|AttrSpecial)]);
26812672 }
2682- /* end - ishizaki */
2683- else {
2684- if (isForeColored(Attr)) {
2685- TextColor = ANSIColor[Attr.Fore];
2686- }
2687- else {
2688-#ifdef ALPHABLEND_TYPE2 // AKASI
2689- TextColor = BGVTColor[0];
2690-#else
2691- TextColor = ts.VTColor[0];
2692-#endif
2693- NoReverseColor = 1;
2694- }
26952673
2696- if (isBackColored(Attr)) {
2697- BackColor = ANSIColor[Attr.Back];
2698- }
2699- else {
2700-#ifdef ALPHABLEND_TYPE2 // AKASI
2701- BackColor = BGVTColor[1];
2702-#else
2703- BackColor = ts.VTColor[1];
2704-#endif
2705- if (NoReverseColor == 1) {
2706- NoReverseColor = !(ts.ColorFlag & CF_REVERSECOLOR);
2674+ // 色を決定する
2675+ TextColor = BGVTColor[0];
2676+ BackColor = BGVTColor[1];
2677+ if ((AttrFlag & (AttrURL | AttrUnder | AttrBold | AttrBlink)) == 0) {
2678+ if (!reverse) {
2679+ TextColor = BGVTColor[0];
2680+ BackColor = BGVTColor[1];
27072681 }
2708- }
2682+ else {
2683+ TextColor = BGVTReverseColor[0];
2684+ BackColor = BGVTReverseColor[1];
2685+ }
2686+ } else if (AttrFlag & AttrBlink) {
2687+ if (!reverse) {
2688+ TextColor = BGVTBlinkColor[0];
2689+ if (!use_normal_bg_color) {
2690+ BackColor = BGVTBlinkColor[1];
2691+ } else {
2692+ BackColor = BGVTColor[1];
2693+ }
2694+ } else {
2695+ if (!use_normal_bg_color) {
2696+ TextColor = BGVTBlinkColor[1];
2697+ } else {
2698+ TextColor = BGVTColor[1];
2699+ }
2700+ BackColor = BGVTBlinkColor[0];
2701+ }
2702+ } else if (AttrFlag & AttrBold) {
2703+ if (!reverse) {
2704+ TextColor = BGVTBoldColor[0];
2705+ if (!use_normal_bg_color) {
2706+ BackColor = BGVTBoldColor[1];
2707+ } else {
2708+ BackColor = BGVTColor[1];
2709+ }
2710+ } else {
2711+ if (!use_normal_bg_color) {
2712+ TextColor = BGVTBoldColor[1];
2713+ } else {
2714+ TextColor = BGVTColor[1];
2715+ }
2716+ BackColor = BGVTBoldColor[0];
2717+ }
2718+ } else if (AttrFlag & AttrUnder) {
2719+#define BGVTUnderlineColor BGURLColor
2720+ if (!reverse) {
2721+ TextColor = BGVTUnderlineColor[0];
2722+ if (!use_normal_bg_color) {
2723+ BackColor = BGVTUnderlineColor[1];
2724+ } else {
2725+ BackColor = BGVTColor[1];
2726+ }
2727+ } else {
2728+ if (!use_normal_bg_color) {
2729+ TextColor = BGVTUnderlineColor[1];
2730+ } else {
2731+ TextColor = BGVTColor[1];
2732+ }
2733+ BackColor = BGVTUnderlineColor[0];
2734+ }
2735+ } else if (AttrFlag & AttrURL) {
2736+ if (!reverse) {
2737+ TextColor = BGURLColor[0];
2738+ if (!use_normal_bg_color) {
2739+ BackColor = BGURLColor[1];
2740+ } else {
2741+ BackColor = BGVTColor[1];
2742+ }
2743+ } else {
2744+ if (!use_normal_bg_color) {
2745+ TextColor = BGURLColor[1];
2746+ } else {
2747+ TextColor = BGVTColor[1];
2748+ }
2749+ BackColor = BGURLColor[0];
2750+ }
27092751 }
2710- }
2711- else { // full color
2712- if (isForeColored(Attr)) {
2713- if (Attr.Fore<8 && (ts.ColorFlag&CF_PCBOLD16)) {
2714- if (((Attr.Attr&AttrBold)!=0) == (Attr.Fore!=0)) {
2715- TextColor = ANSIColor[Attr.Fore];
2716- }
2717- else {
2718- TextColor = ANSIColor[Attr.Fore ^ 8];
2719- }
2720- }
2721- else if (Attr.Fore < 16 && (Attr.Fore&7) != 0) {
2722- TextColor = ANSIColor[Attr.Fore ^ 8];
2723- }
2724- else {
2725- TextColor = ANSIColor[Attr.Fore];
2726- }
2752+
2753+ // ANSIColor/Fore
2754+ if (Attr2Flag & Attr2Fore) {
2755+ const int index = Get256ColorIndex(Attr.Fore, ts.ColorFlag & CF_PCBOLD16, AttrFlag & AttrBold);
2756+ if (!reverse) {
2757+ TextColor = ANSIColor[index];
2758+ }
2759+ else {
2760+ BackColor = ANSIColor[index];
2761+ }
27272762 }
2728- else if (isBlinkColored(Attr))
2729-#ifdef ALPHABLEND_TYPE2 // AKASI
2730- TextColor = BGVTBlinkColor[0];
2731- else if (isBoldColored(Attr))
2732- TextColor = BGVTBoldColor[0];
2733- else if (isURLColored(Attr))
2734- TextColor = BGURLColor[0];
2735- else {
2736- TextColor = BGVTColor[0];
2737-#else
2738- TextColor = ts.VTBlinkColor[0];
2739- else if (isBoldColored(Attr))
2740- TextColor = ts.VTBoldColor[0];
2741- else if (isURLColored(Attr))
2742- TextColor = ts.URLColor[0];
2743- else {
2744- TextColor = ts.VTColor[0];
2745-#endif
2746- NoReverseColor = 1;
2763+
2764+ // ANSIColor/Back
2765+ if (Attr2Flag & Attr2Back) {
2766+ const int index = Get256ColorIndex(Attr.Back, ts.ColorFlag & CF_PCBOLD16, AttrFlag & AttrBlink);
2767+ if (!reverse) {
2768+ BackColor = ANSIColor[index];
2769+ }
2770+ else {
2771+ TextColor = ANSIColor[index];
2772+ }
27472773 }
2748- if (isBackColored(Attr)) {
2749- if (Attr.Back<8 && (ts.ColorFlag&CF_PCBOLD16)) {
2750- if (((Attr.Attr&AttrBlink)!=0) == (Attr.Back!=0)) {
2751- BackColor = ANSIColor[Attr.Back];
2752- }
2753- else {
2754- BackColor = ANSIColor[Attr.Back ^ 8];
2755- }
2756- }
2757- else if (Attr.Back < 16 && (Attr.Back&7) != 0) {
2758- BackColor = ANSIColor[Attr.Back ^ 8];
2759- }
2760- else {
2761- BackColor = ANSIColor[Attr.Back];
2762- }
2774+
2775+ // UseTextColor=on のときの処理
2776+ // 背景色(Back)を考慮せずに文字色(Fore)だけを変更するアプリを使っていて
2777+ // 文字が見えない状態になったら通常文字色か反転属性文字色を使用する
2778+ if ((ts.ColorFlag & CF_USETEXTCOLOR) !=0) {
2779+ if ((Attr2Flag & Attr2Fore) && (Attr2Flag & Attr2Back)) {
2780+ const int is_target_color = (Attr.Fore == IdFore || Attr.Fore == IdBack || Attr.Fore == 15);
2781+// const int is_target_color = 1;
2782+ if (Attr.Fore == Attr.Back && is_target_color) {
2783+ if (!reverse) {
2784+ TextColor = BGVTColor[0];
2785+ BackColor = BGVTColor[1];
2786+ }
2787+ else {
2788+ TextColor = BGVTReverseColor[0];
2789+ BackColor = BGVTReverseColor[1];
2790+ }
2791+ }
2792+ }
27632793 }
2764- else if (isBlinkColored(Attr))
2765-#ifdef ALPHABLEND_TYPE2 // AKASI
2766- BackColor = BGVTBlinkColor[1];
2767- else if (isBoldColored(Attr))
2768- BackColor = BGVTBoldColor[1];
2769- else if (isURLColored(Attr))
2770- BackColor = BGURLColor[1];
2794+
2795+ // 描画時(DrawStrW())に参照する
2796+ if (reverse) {
2797+ BGReverseText = TRUE;
2798+ }
27712799 else {
2772- BackColor = BGVTColor[1];
2773-#else
2774- BackColor = ts.VTBlinkColor[1];
2775- else if (isBoldColored(Attr))
2776- BackColor = ts.VTBoldColor[1];
2777- else if (isURLColored(Attr))
2778- BackColor = ts.URLColor[1];
2779- else {
2780- BackColor = ts.VTColor[1];
2781-#endif
2782- if (NoReverseColor == 1) {
2783- NoReverseColor = !(ts.ColorFlag & CF_REVERSECOLOR);
2784- }
2800+ BGReverseText = FALSE;
27852801 }
2786- }
2787-#ifdef USE_NORMAL_BGCOLOR_REJECT
2788- if (ts.UseNormalBGColor) {
2789- #ifdef ALPHABLEND_TYPE2
2790- BackColor = BGVTColor[1];
2791- #else
2792- BackColor = ts.VTColor[1];
2793- #endif
2794- }
2795-#endif
27962802
2797- if (Reverse != ((Attr.Attr & AttrReverse) != 0))
2798- {
2799-#ifdef ALPHABLEND_TYPE2
2800- BGReverseText = TRUE;
2801-#endif
2802- if ((Attr.Attr & AttrReverse) && !NoReverseColor) {
2803-#ifdef ALPHABLEND_TYPE2
2804- SetTextColor(VTDC, BGVTReverseColor[0]);
2805- SetBkColor( VTDC, BGVTReverseColor[1]);
2806-#else
2807- SetTextColor(VTDC, ts.VTReverseColor[0]);
2808- SetBkColor( VTDC, ts.VTReverseColor[1]);
2809-#endif
2810- }
2811- else {
2812- SetTextColor(VTDC, BackColor);
2813- SetBkColor( VTDC, TextColor);
2814- }
2815- }
2816- else {
2817-#ifdef ALPHABLEND_TYPE2 // by AKASI
2818- BGReverseText = FALSE;
2819-#endif
2820- SetTextColor(VTDC,TextColor);
2821- SetBkColor( VTDC,BackColor);
2822- }
2803+ SetTextColor(VTDC, TextColor);
2804+ SetBkColor(VTDC, BackColor);
28232805 }
28242806
28252807 #if 1
@@ -3547,20 +3529,9 @@
35473529 #ifdef ALPHABLEND_TYPE2
35483530 case CS_VT_NORMALFG:
35493531 BGVTColor[0] = color;
3550- if ((ts.ColorFlag & CF_USETEXTCOLOR)!=0) {
3551- ANSIColor[IdFore ] = BGVTColor[0]; // use text color for "white"
3552- }
35533532 break;
35543533 case CS_VT_NORMALBG:
35553534 BGVTColor[1] = color;
3556- if ((ts.ColorFlag & CF_USETEXTCOLOR)!=0) {
3557- ANSIColor[IdBack ] = BGVTColor[1]; // use background color for "Black"
3558- }
3559- if (ts.UseNormalBGColor) {
3560- BGVTBoldColor[1] = BGVTColor[1];
3561- BGVTBlinkColor[1] = BGVTColor[1];
3562- BGURLColor[1] = BGVTColor[1];
3563- }
35643535 break;
35653536 case CS_VT_BOLDFG: BGVTBoldColor[0] = color; break;
35663537 case CS_VT_BOLDBG: BGVTBoldColor[1] = color; break;
@@ -3573,20 +3544,9 @@
35733544 #else
35743545 case CS_VT_NORMALFG:
35753546 ts.VTColor[0] = color;
3576- if ((ts.ColorFlag & CF_USETEXTCOLOR)!=0) {
3577- ANSIColor[IdFore ] = ts.VTColor[0]; // use text color for "white"
3578- }
35793547 break;
35803548 case CS_VT_NORMALBG:
35813549 ts.VTColor[1] = color;
3582- if ((ts.ColorFlag & CF_USETEXTCOLOR)!=0) {
3583- ANSIColor[IdBack ] = ts.VTColor[1]; // use background color for "Black"
3584- }
3585- if (ts.UseNormalBGColor) {
3586- ts.VTBoldColor[1] = ts.VTColor[1];
3587- ts.VTBlinkColor[1] = ts.VTColor[1];
3588- ts.URLColor[1] = ts.VTColor[1];
3589- }
35903550 break;
35913551 case CS_VT_BOLDFG: ts.VTBoldColor[0] = color; break;
35923552 case CS_VT_BOLDBG: ts.VTBoldColor[1] = color; break;
@@ -3638,20 +3598,9 @@
36383598 #ifdef ALPHABLEND_TYPE2
36393599 case CS_VT_NORMALFG:
36403600 BGVTColor[0] = ts.VTColor[0];
3641- if ((ts.ColorFlag & CF_USETEXTCOLOR)!=0) {
3642- ANSIColor[IdFore ] = ts.VTColor[0]; // use text color for "white"
3643- }
36443601 break;
36453602 case CS_VT_NORMALBG:
36463603 BGVTColor[1] = ts.VTColor[1];
3647- if ((ts.ColorFlag & CF_USETEXTCOLOR)!=0) {
3648- ANSIColor[IdBack ] = ts.VTColor[1]; // use background color for "Black"
3649- }
3650- if (ts.UseNormalBGColor) {
3651- BGVTBoldColor[1] = ts.VTColor[1];
3652- BGVTBlinkColor[1] = ts.VTColor[1];
3653- BGURLColor[1] = ts.VTColor[1];
3654- }
36553604 break;
36563605 case CS_VT_BOLDFG: BGVTBoldColor[0] = ts.VTBoldColor[0]; break;
36573606 case CS_VT_BOLDBG: BGVTBoldColor[1] = ts.VTBoldColor[1]; break;
@@ -3686,16 +3635,9 @@
36863635 // VT color Background
36873636 BGVTColor[1] = ts.VTColor[1];
36883637 BGVTReverseColor[1] = ts.VTReverseColor[1];
3689- if (ts.UseNormalBGColor) {
3690- BGVTBoldColor[1] = ts.VTColor[1];
3691- BGVTBlinkColor[1] = ts.VTColor[1];
3692- BGURLColor[1] = ts.VTColor[1];
3693- }
3694- else {
3695- BGVTBoldColor[1] = ts.VTBoldColor[1];
3696- BGVTBlinkColor[1] = ts.VTBlinkColor[1];
3697- BGURLColor[1] = ts.URLColor[1];
3698- }
3638+ BGVTBoldColor[1] = ts.VTBoldColor[1];
3639+ BGVTBlinkColor[1] = ts.VTBlinkColor[1];
3640+ BGURLColor[1] = ts.URLColor[1];
36993641
37003642 // ANSI Color / xterm 256 color
37013643 InitColorTable();
@@ -3702,33 +3644,7 @@
37023644 DispSetNearestColors(0, 255, NULL);
37033645 break;
37043646 default:
3705- if (num == IdBack) {
3706- if (ts.ColorFlag & CF_USETEXTCOLOR) {
3707-#ifdef ALPHABLEND_TYPE2
3708- ANSIColor[IdBack] = BGVTColor[1]; // use background color for "Black"
3709-#else
3710- ANSIColor[IdBack] = ts.VTColor[1]; // use background color for "Black"
3711-#endif
3712- }
3713- else {
3714- ANSIColor[IdBack] = ts.ANSIColor[IdBack];
3715- }
3716- DispSetNearestColors(num, num, NULL);
3717- }
3718- else if (num == IdFore) {
3719- if (ts.ColorFlag & CF_USETEXTCOLOR) {
3720-#ifdef ALPHABLEND_TYPE2
3721- ANSIColor[IdFore] = BGVTColor[0]; // use text color for "white"
3722-#else
3723- ANSIColor[IdFore] = ts.VTColor[0]; // use text color for "white"
3724-#endif
3725- }
3726- else {
3727- ANSIColor[IdFore] = ts.ANSIColor[IdFore];
3728- }
3729- DispSetNearestColors(num, num, NULL);
3730- }
3731- else if (num <= 15) {
3647+ if (num <= 15) {
37323648 ANSIColor[num] = ts.ANSIColor[num];
37333649 DispSetNearestColors(num, num, NULL);
37343650 }
--- branches/4-stable/teraterm/teraterm/vtdisp.h (revision 10268)
+++ branches/4-stable/teraterm/teraterm/vtdisp.h (revision 10269)
@@ -37,8 +37,6 @@
3737 void BGInitialize(BOOL initialize_once);
3838 void BGSetupPrimary(BOOL);
3939
40-void BGExchangeColor(void);
41-
4240 void BGOnSettingChange(void);
4341 void BGOnEnterSizeMove(void);
4442 void BGOnExitSizeMove(void);
--- branches/4-stable/teraterm/teraterm/vtterm.c (revision 10268)
+++ branches/4-stable/teraterm/teraterm/vtterm.c (revision 10269)
@@ -2841,43 +2841,13 @@
28412841 }
28422842 }
28432843
2844-void CSQExchangeColor() // DECSCNM / Visual Bell
2844+// DECSCNM / Visual Bell
2845+static void CSQExchangeColor(void)
28452846 {
2846- COLORREF ColorRef;
2847-
28482847 BuffUpdateScroll();
28492848
2850- if (ts.ColorFlag & CF_REVERSECOLOR) {
2851- ColorRef = ts.VTColor[0];
2852- ts.VTColor[0] = ts.VTReverseColor[0];
2853- ts.VTReverseColor[0] = ColorRef;
2854- ColorRef = ts.VTColor[1];
2855- ts.VTColor[1] = ts.VTReverseColor[1];
2856- ts.VTReverseColor[1] = ColorRef;
2857- }
2858- else {
2859- ColorRef = ts.VTColor[0];
2860- ts.VTColor[0] = ts.VTColor[1];
2861- ts.VTColor[1] = ColorRef;
2862- }
2863-
2864- ColorRef = ts.VTBoldColor[0];
2865- ts.VTBoldColor[0] = ts.VTBoldColor[1];
2866- ts.VTBoldColor[1] = ColorRef;
2867-
2868- ColorRef = ts.VTBlinkColor[0];
2869- ts.VTBlinkColor[0] = ts.VTBlinkColor[1];
2870- ts.VTBlinkColor[1] = ColorRef;
2871-
2872- ColorRef = ts.URLColor[0];
2873- ts.URLColor[0] = ts.URLColor[1];
2874- ts.URLColor[1] = ColorRef;
2875-
28762849 ts.ColorFlag ^= CF_REVERSEVIDEO;
28772850
2878-#ifdef ALPHABLEND_TYPE2
2879- BGExchangeColor();
2880-#endif
28812851 DispChangeBackground();
28822852 UpdateWindow(HVTWin);
28832853 }
--- branches/4-stable/teraterm/ttpdlg/ttdlg.c (revision 10268)
+++ branches/4-stable/teraterm/ttpdlg/ttdlg.c (revision 10269)
@@ -608,64 +608,21 @@
608608 }
609609
610610 for (i = 0 ; i <= 1 ; i++) {
611- if (ts->ColorFlag & CF_REVERSEVIDEO) {
612- //
613- // Reverse Videoモード(DECSCNMがon)の時
614- //
615- if (ts->ColorFlag & CF_REVERSECOLOR) {
616- //
617- // VTReverseColorが有効の時は
618- // VTColorとVTReverseColorを入れ替える
619- //
620- ts->TmpColor[0][i*3] = GetRValue(ts->VTReverseColor[i]);
621- ts->TmpColor[0][i*3+1] = GetGValue(ts->VTReverseColor[i]);
622- ts->TmpColor[0][i*3+2] = GetBValue(ts->VTReverseColor[i]);
623- ts->TmpColor[3][i*3] = GetRValue(ts->VTColor[i]);
624- ts->TmpColor[3][i*3+1] = GetGValue(ts->VTColor[i]);
625- ts->TmpColor[3][i*3+2] = GetBValue(ts->VTColor[i]);
626- }
627- else {
628- //
629- // VTReverseColorが無効の時は
630- // ・VTColorの文字色と背景色を入れ替える
631- // ・VTReverseColorはいじらない
632- //
633- ts->TmpColor[0][i*3] = GetRValue(ts->VTColor[!i]);
634- ts->TmpColor[0][i*3+1] = GetGValue(ts->VTColor[!i]);
635- ts->TmpColor[0][i*3+2] = GetBValue(ts->VTColor[!i]);
636- }
637- //
638- // 他の属性色は文字色と背景色を入れ替える
639- //
640- ts->TmpColor[1][i*3] = GetRValue(ts->VTBoldColor[!i]);
641- ts->TmpColor[1][i*3+1] = GetGValue(ts->VTBoldColor[!i]);
642- ts->TmpColor[1][i*3+2] = GetBValue(ts->VTBoldColor[!i]);
643- ts->TmpColor[2][i*3] = GetRValue(ts->VTBlinkColor[!i]);
644- ts->TmpColor[2][i*3+1] = GetGValue(ts->VTBlinkColor[!i]);
645- ts->TmpColor[2][i*3+2] = GetBValue(ts->VTBlinkColor[!i]);
646- ts->TmpColor[4][i*3] = GetRValue(ts->URLColor[!i]);
647- ts->TmpColor[4][i*3+1] = GetGValue(ts->URLColor[!i]);
648- ts->TmpColor[4][i*3+2] = GetBValue(ts->URLColor[!i]);
649- }
650- else {
651- ts->TmpColor[0][i*3] = GetRValue(ts->VTColor[i]);
652- ts->TmpColor[0][i*3+1] = GetGValue(ts->VTColor[i]);
653- ts->TmpColor[0][i*3+2] = GetBValue(ts->VTColor[i]);
654- ts->TmpColor[1][i*3] = GetRValue(ts->VTBoldColor[i]);
655- ts->TmpColor[1][i*3+1] = GetGValue(ts->VTBoldColor[i]);
656- ts->TmpColor[1][i*3+2] = GetBValue(ts->VTBoldColor[i]);
657- ts->TmpColor[2][i*3] = GetRValue(ts->VTBlinkColor[i]);
658- ts->TmpColor[2][i*3+1] = GetGValue(ts->VTBlinkColor[i]);
659- ts->TmpColor[2][i*3+2] = GetBValue(ts->VTBlinkColor[i]);
660- ts->TmpColor[3][i*3] = GetRValue(ts->VTReverseColor[i]);
661- ts->TmpColor[3][i*3+1] = GetGValue(ts->VTReverseColor[i]);
662- ts->TmpColor[3][i*3+2] = GetBValue(ts->VTReverseColor[i]);
663- /* begin - ishizaki */
664- ts->TmpColor[4][i*3] = GetRValue(ts->URLColor[i]);
665- ts->TmpColor[4][i*3+1] = GetGValue(ts->URLColor[i]);
666- ts->TmpColor[4][i*3+2] = GetBValue(ts->URLColor[i]);
667- /* end - ishizaki */
668- }
611+ ts->TmpColor[0][i*3] = GetRValue(ts->VTColor[i]);
612+ ts->TmpColor[0][i*3+1] = GetGValue(ts->VTColor[i]);
613+ ts->TmpColor[0][i*3+2] = GetBValue(ts->VTColor[i]);
614+ ts->TmpColor[1][i*3] = GetRValue(ts->VTBoldColor[i]);
615+ ts->TmpColor[1][i*3+1] = GetGValue(ts->VTBoldColor[i]);
616+ ts->TmpColor[1][i*3+2] = GetBValue(ts->VTBoldColor[i]);
617+ ts->TmpColor[2][i*3] = GetRValue(ts->VTBlinkColor[i]);
618+ ts->TmpColor[2][i*3+1] = GetGValue(ts->VTBlinkColor[i]);
619+ ts->TmpColor[2][i*3+2] = GetBValue(ts->VTBlinkColor[i]);
620+ ts->TmpColor[3][i*3] = GetRValue(ts->VTReverseColor[i]);
621+ ts->TmpColor[3][i*3+1] = GetGValue(ts->VTReverseColor[i]);
622+ ts->TmpColor[3][i*3+2] = GetBValue(ts->VTReverseColor[i]);
623+ ts->TmpColor[4][i*3] = GetRValue(ts->URLColor[i]);
624+ ts->TmpColor[4][i*3+1] = GetGValue(ts->URLColor[i]);
625+ ts->TmpColor[4][i*3+2] = GetBValue(ts->URLColor[i]);
669626 }
670627 ShowDlgItem(Dialog,IDC_WINATTRTEXT,IDC_WINATTR);
671628 get_lang_msg("DLG_WIN_NORMAL", uimsg, sizeof(uimsg), "Normal", UILanguageFile);
@@ -680,10 +637,8 @@
680637 SendDlgItemMessage(Dialog, IDC_WINATTR, CB_ADDSTRING, 0, (LPARAM)"URL");
681638 /* end - ishizaki */
682639 SendDlgItemMessage(Dialog, IDC_WINATTR, CB_SETCURSEL, 0,0);
683-#ifdef USE_NORMAL_BGCOLOR
684640 ShowDlgItem(Dialog,IDC_WINUSENORMALBG,IDC_WINUSENORMALBG);
685641 SetRB(Dialog,ts->UseNormalBGColor,IDC_WINUSENORMALBG,IDC_WINUSENORMALBG);
686-#endif
687642 ShowDlgItem(Dialog, IDC_FONTBOLD, IDC_FONTBOLD);
688643 SetRB(Dialog, (ts->FontFlag & FF_BOLD) > 0, IDC_FONTBOLD,IDC_FONTBOLD);
689644 }
@@ -755,123 +710,34 @@
755710 GetDlgItemInt(Dialog,IDC_WINSCROLL2,NULL,FALSE);
756711 }
757712 for (i = 0 ; i <= 1 ; i++) {
758- if (ts->ColorFlag & CF_REVERSEVIDEO) {
759- //
760- // Reverse Videoモード(DECSCNMがon)の時
761- //
762- if (ts->ColorFlag & CF_REVERSECOLOR) {
763- //
764- // VTReverseColorが有効の時は
765- // VTColorとVTReverseColorを入れ替える
766- //
767- ts->VTReverseColor[i] =
768- RGB(ts->TmpColor[0][i*3],
769- ts->TmpColor[0][i*3+1],
770- ts->TmpColor[0][i*3+2]);
771- ts->VTColor[i] =
772- RGB(ts->TmpColor[3][i*3],
773- ts->TmpColor[3][i*3+1],
774- ts->TmpColor[3][i*3+2]);
775- }
776- else {
777- //
778- // VTReverseColorが無効の時は
779- // ・VTColorの文字色と背景色を入れ替える
780- // ・VTReverseColorはいじらない
781- //
782- ts->VTColor[i] =
783- RGB(ts->TmpColor[0][(!i)*3],
784- ts->TmpColor[0][(!i)*3+1],
785- ts->TmpColor[0][(!i)*3+2]);
786- }
787- //
788- // ・他の属性色は文字色と背景色を入れ替える
789- //
790- ts->VTBoldColor[i] =
791- RGB(ts->TmpColor[1][(!i)*3],
792- ts->TmpColor[1][(!i)*3+1],
793- ts->TmpColor[1][(!i)*3+2]);
794- ts->VTBlinkColor[i] =
795- RGB(ts->TmpColor[2][(!i)*3],
796- ts->TmpColor[2][(!i)*3+1],
797- ts->TmpColor[2][(!i)*3+2]);
798- ts->URLColor[i] =
799- RGB(ts->TmpColor[4][(!i)*3],
800- ts->TmpColor[4][(!i)*3+1],
801- ts->TmpColor[4][(!i)*3+2]);
802- }
803- else {
804- ts->VTColor[i] =
805- RGB(ts->TmpColor[0][i*3],
806- ts->TmpColor[0][i*3+1],
807- ts->TmpColor[0][i*3+2]);
808- ts->VTBoldColor[i] =
809- RGB(ts->TmpColor[1][i*3],
810- ts->TmpColor[1][i*3+1],
811- ts->TmpColor[1][i*3+2]);
812- ts->VTBlinkColor[i] =
813- RGB(ts->TmpColor[2][i*3],
814- ts->TmpColor[2][i*3+1],
815- ts->TmpColor[2][i*3+2]);
816- ts->VTReverseColor[i] =
817- RGB(ts->TmpColor[3][i*3],
818- ts->TmpColor[3][i*3+1],
819- ts->TmpColor[3][i*3+2]);
820- /* begin - ishizaki */
821- ts->URLColor[i] =
822- RGB(ts->TmpColor[4][i*3],
823- ts->TmpColor[4][i*3+1],
824- ts->TmpColor[4][i*3+2]);
825- /* end - ishizaki */
826- }
713+ ts->VTColor[i] =
714+ RGB(ts->TmpColor[0][i*3],
715+ ts->TmpColor[0][i*3+1],
716+ ts->TmpColor[0][i*3+2]);
717+ ts->VTBoldColor[i] =
718+ RGB(ts->TmpColor[1][i*3],
719+ ts->TmpColor[1][i*3+1],
720+ ts->TmpColor[1][i*3+2]);
721+ ts->VTBlinkColor[i] =
722+ RGB(ts->TmpColor[2][i*3],
723+ ts->TmpColor[2][i*3+1],
724+ ts->TmpColor[2][i*3+2]);
725+ ts->VTReverseColor[i] =
726+ RGB(ts->TmpColor[3][i*3],
727+ ts->TmpColor[3][i*3+1],
728+ ts->TmpColor[3][i*3+2]);
729+ ts->URLColor[i] =
730+ RGB(ts->TmpColor[4][i*3],
731+ ts->TmpColor[4][i*3+1],
732+ ts->TmpColor[4][i*3+2]);
827733 ts->VTColor[i] = GetNearestColor(DC,ts->VTColor[i]);
828734 ts->VTBoldColor[i] = GetNearestColor(DC,ts->VTBoldColor[i]);
829735 ts->VTBlinkColor[i] = GetNearestColor(DC,ts->VTBlinkColor[i]);
830736 ts->VTReverseColor[i] = GetNearestColor(DC,ts->VTReverseColor[i]);
831- /* begin - ishizaki */
832737 ts->URLColor[i] = GetNearestColor(DC,ts->URLColor[i]);
833- /* end - ishizaki */
834738 }
835-#ifdef USE_NORMAL_BGCOLOR
836739 GetRB(Dialog,&ts->UseNormalBGColor,
837740 IDC_WINUSENORMALBG,IDC_WINUSENORMALBG);
838- // 2006/03/11 by 337
839- if (ts->ColorFlag & CF_REVERSEVIDEO) {
840- if (ts->UseNormalBGColor) {
841- //
842- // Reverse Videoモード(DECSCNMがon)の時
843- //
844- if (ts->ColorFlag & CF_REVERSECOLOR) {
845- //
846- // VTReverseColorが有効の時は
847- // 文字色を反転背景色に合わせる
848- //
849- ts->VTBoldColor[0] =
850- ts->VTBlinkColor[0] =
851- ts->URLColor[0] =
852- ts->VTReverseColor[1];
853- }
854- else {
855- //
856- // VTReverseColorが無効の時は
857- // 文字色を通常文字色に合わせる
858- //
859- ts->VTBoldColor[0] =
860- ts->VTBlinkColor[0] =
861- ts->URLColor[0] =
862- ts->VTColor[0];
863- }
864- }
865- }
866- else {
867- if (ts->UseNormalBGColor) {
868- ts->VTBoldColor[1] =
869- ts->VTBlinkColor[1] =
870- ts->URLColor[1] =
871- ts->VTColor[1];
872- }
873- }
874-#endif
875741 GetRB(Dialog, &i, IDC_FONTBOLD, IDC_FONTBOLD);
876742 if (i > 0) {
877743 ts->FontFlag |= FF_BOLD;
--- branches/4-stable/teraterm/ttpset/ttset.c (revision 10268)
+++ branches/4-stable/teraterm/ttpset/ttset.c (revision 10269)
@@ -2560,23 +2560,9 @@
25602560
25612561 /* VT Color */
25622562 for (i = 0; i <= 1; i++) {
2563- if (ts->ColorFlag & CF_REVERSEVIDEO) {
2564- if (ts->ColorFlag & CF_REVERSECOLOR) {
2565- ts->TmpColor[0][i * 3] = GetRValue(ts->VTReverseColor[i]);
2566- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTReverseColor[i]);
2567- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTReverseColor[i]);
2568- }
2569- else {
2570- ts->TmpColor[0][i * 3] = GetRValue(ts->VTColor[!i]);
2571- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTColor[!i]);
2572- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTColor[!i]);
2573- }
2574- }
2575- else {
2576- ts->TmpColor[0][i * 3] = GetRValue(ts->VTColor[i]);
2577- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTColor[i]);
2578- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTColor[i]);
2579- }
2563+ ts->TmpColor[0][i * 3] = GetRValue(ts->VTColor[i]);
2564+ ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTColor[i]);
2565+ ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTColor[i]);
25802566 }
25812567 WriteInt6(Section, "VTColor", FName,
25822568 ts->TmpColor[0][0], ts->TmpColor[0][1], ts->TmpColor[0][2],
@@ -2584,16 +2570,9 @@
25842570
25852571 /* VT Bold Color */
25862572 for (i = 0; i <= 1; i++) {
2587- if (ts->ColorFlag & CF_REVERSEVIDEO) {
2588- ts->TmpColor[0][i * 3] = GetRValue(ts->VTBoldColor[!i]);
2589- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTBoldColor[!i]);
2590- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTBoldColor[!i]);
2591- }
2592- else {
2593- ts->TmpColor[0][i * 3] = GetRValue(ts->VTBoldColor[i]);
2594- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTBoldColor[i]);
2595- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTBoldColor[i]);
2596- }
2573+ ts->TmpColor[0][i * 3] = GetRValue(ts->VTBoldColor[i]);
2574+ ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTBoldColor[i]);
2575+ ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTBoldColor[i]);
25972576 }
25982577 WriteInt6(Section, "VTBoldColor", FName,
25992578 ts->TmpColor[0][0], ts->TmpColor[0][1], ts->TmpColor[0][2],
@@ -2601,16 +2580,9 @@
26012580
26022581 /* VT Blink Color */
26032582 for (i = 0; i <= 1; i++) {
2604- if (ts->ColorFlag & CF_REVERSEVIDEO) {
2605- ts->TmpColor[0][i * 3] = GetRValue(ts->VTBlinkColor[!i]);
2606- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTBlinkColor[!i]);
2607- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTBlinkColor[!i]);
2608- }
2609- else {
2610- ts->TmpColor[0][i * 3] = GetRValue(ts->VTBlinkColor[i]);
2611- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTBlinkColor[i]);
2612- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTBlinkColor[i]);
2613- }
2583+ ts->TmpColor[0][i * 3] = GetRValue(ts->VTBlinkColor[i]);
2584+ ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTBlinkColor[i]);
2585+ ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTBlinkColor[i]);
26142586 }
26152587 WriteInt6(Section, "VTBlinkColor", FName,
26162588 ts->TmpColor[0][0], ts->TmpColor[0][1], ts->TmpColor[0][2],
@@ -2618,16 +2590,9 @@
26182590
26192591 /* VT Reverse Color */
26202592 for (i = 0; i <= 1; i++) {
2621- if (ts->ColorFlag & CF_REVERSEVIDEO && ts->ColorFlag & CF_REVERSECOLOR) {
2622- ts->TmpColor[0][i * 3] = GetRValue(ts->VTReverseColor[i]);
2623- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTReverseColor[i]);
2624- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTReverseColor[i]);
2625- }
2626- else {
2627- ts->TmpColor[0][i * 3] = GetRValue(ts->VTReverseColor[i]);
2628- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTReverseColor[i]);
2629- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTReverseColor[i]);
2630- }
2593+ ts->TmpColor[0][i * 3] = GetRValue(ts->VTReverseColor[i]);
2594+ ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->VTReverseColor[i]);
2595+ ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->VTReverseColor[i]);
26312596 }
26322597 WriteInt6(Section, "VTReverseColor", FName,
26332598 ts->TmpColor[0][0], ts->TmpColor[0][1], ts->TmpColor[0][2],
@@ -2638,16 +2603,9 @@
26382603
26392604 /* URL color */
26402605 for (i = 0; i <= 1; i++) {
2641- if (ts->ColorFlag & CF_REVERSEVIDEO) {
2642- ts->TmpColor[0][i * 3] = GetRValue(ts->URLColor[!i]);
2643- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->URLColor[!i]);
2644- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->URLColor[!i]);
2645- }
2646- else {
2647- ts->TmpColor[0][i * 3] = GetRValue(ts->URLColor[i]);
2648- ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->URLColor[i]);
2649- ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->URLColor[i]);
2650- }
2606+ ts->TmpColor[0][i * 3] = GetRValue(ts->URLColor[i]);
2607+ ts->TmpColor[0][i * 3 + 1] = GetGValue(ts->URLColor[i]);
2608+ ts->TmpColor[0][i * 3 + 2] = GetBValue(ts->URLColor[i]);
26512609 }
26522610 WriteInt6(Section, "URLColor", FName,
26532611 ts->TmpColor[0][0], ts->TmpColor[0][1], ts->TmpColor[0][2],
Show on old repository browser