@@ -47,6 +47,7 @@ | ||
47 | 47 | <li>デフォルトに、ini ファイルの TransBin設定を反映するようにした。</li> |
48 | 48 | <li>"次のドロップ時、同じ処理を行う"チェック時に、記憶するようにした。</li> |
49 | 49 | </ul></li--> |
50 | + <li>Exchanged fore and back colors of characters that attributes is setted ANSIColor when colors are reversed with DECSCNM set.</li> | |
50 | 51 | </ul> |
51 | 52 | </li> |
52 | 53 |
@@ -47,6 +47,7 @@ | ||
47 | 47 | <li>デフォルトに、ini ファイルの TransBin設定を反映するようにした。</li> |
48 | 48 | <li>"次のドロップ時、同じ処理を行う"チェック時に、記憶するようにした。</li> |
49 | 49 | </ul></li> |
50 | + <li>DECSCNM setで色反転時に、属性にANSIColorを設定した文字の前景色と背景色を入れ替えるようにした。</li> | |
50 | 51 | </ul> |
51 | 52 | </li> |
52 | 53 |
@@ -1115,7 +1115,6 @@ | ||
1115 | 1115 | { |
1116 | 1116 | int sel; |
1117 | 1117 | char buf[MAXPATHLEN]; |
1118 | - COLORREF TmpColor; | |
1119 | 1118 | int flag_changed = 0; |
1120 | 1119 | |
1121 | 1120 | // (1) |
@@ -1211,27 +1210,7 @@ | ||
1211 | 1210 | } |
1212 | 1211 | |
1213 | 1212 | // (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)) { | |
1235 | 1214 | ts.ColorFlag ^= CF_REVERSECOLOR; |
1236 | 1215 | } |
1237 | 1216 |
@@ -1658,37 +1658,6 @@ | ||
1658 | 1658 | |
1659 | 1659 | } |
1660 | 1660 | |
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 | - | |
1692 | 1661 | void BGFillRect(HDC hdc,RECT *R,HBRUSH brush) |
1693 | 1662 | { |
1694 | 1663 | if(!BGEnable) |
@@ -1790,21 +1759,11 @@ | ||
1790 | 1759 | //--> |
1791 | 1760 | #endif // ALPHABLEND_TYPE2 |
1792 | 1761 | |
1793 | -void DispApplyANSIColor() { | |
1762 | +static void DispApplyANSIColor(void) { | |
1794 | 1763 | int i; |
1795 | 1764 | |
1796 | 1765 | for (i = IdBack ; i <= IdFore+8 ; i++) |
1797 | 1766 | 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 | - } | |
1808 | 1767 | } |
1809 | 1768 | |
1810 | 1769 | void InitColorTable() |
@@ -2544,22 +2503,6 @@ | ||
2544 | 2503 | /* Change caret shape */ |
2545 | 2504 | ChangeCaret(); |
2546 | 2505 | |
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 | - | |
2563 | 2506 | /* change background color */ |
2564 | 2507 | DispChangeBackground(); |
2565 | 2508 | } |
@@ -2602,17 +2545,8 @@ | ||
2602 | 2545 | VTDC = NULL; |
2603 | 2546 | } |
2604 | 2547 | |
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 | - | |
2613 | 2548 | /** |
2614 | - * 文字色・背景色を設定する | |
2615 | - * シーケンスの色番号から ANSIColor[] の色を得る処理が含まれる | |
2549 | + * シーケンスのcolor_indexをANSIColor[]のindexへ変換する | |
2616 | 2550 | * |
2617 | 2551 | * ANSIColor[] の 0-7 には原色(明るい色)、8-15 には少し暗い色が入っている |
2618 | 2552 | * 0: Black 8: Gray (Bright Black) |
@@ -2624,202 +2558,250 @@ | ||
2624 | 2558 | * PC-style 16 colors |
2625 | 2559 | * Bold 属性と文字色属性(0-7)の組み合わせで明るい文字色を表す |
2626 | 2560 | * Blink 属性と背景色属性(0-7)の組み合わせで明るい背景色を表す |
2627 | - * - そのため CF_PCBOLD16 が有効で、文字色が Bold のとき・背景色が Blink のときは | |
2561 | + * - そのため CF_PCBOLD16 が有効で pcbold16_bright が true のときは | |
2628 | 2562 | * 原色(明るい色)になるよう 1-7 は入れ替えない。 |
2629 | 2563 | * - CF_PCBOLD16 が無効なときには 1-7 を入れ替える。 |
2630 | 2564 | * この組み合わせで明るい色を表すのは PC-style だけなので入れ替える。 |
2631 | 2565 | * - 9-15 は常に入れ替える。 |
2632 | - * CF_PCBOLD16 が有効で、文字色が Bold のとき・背景色が Blink のときは 1-7 も 9-15 も | |
2566 | + * CF_PCBOLD16 が有効で pcbold16_bright が true のときは 1-7 も 9-15 も | |
2633 | 2567 | * 明るい色になるが、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 | + | |
2635 | 2620 | void DispSetupDC(TCharAttr Attr, BOOL Reverse) |
2636 | 2621 | // Setup device context |
2637 | 2622 | // Attr: character attributes |
2638 | 2623 | // Reverse: true if text is selected (reversed) by mouse |
2639 | 2624 | { |
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; | |
2642 | 2630 | |
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; | |
2644 | 2642 | |
2645 | - if (TCharAttrCmp(DCAttr, Attr) == 0 && DCReverse == Reverse) { | |
2646 | - return; | |
2647 | - } | |
2648 | - DCAttr = Attr; | |
2649 | - DCReverse = Reverse; | |
2643 | + if (VTDC == NULL) | |
2644 | + DispInitDC(); | |
2650 | 2645 | |
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 | + } | |
2652 | 2657 | |
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; | |
2662 | 2660 | } |
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]); | |
2671 | 2669 | } |
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)]); | |
2681 | 2672 | } |
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 | - } | |
2695 | 2673 | |
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]; | |
2707 | 2681 | } |
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 | + } | |
2709 | 2751 | } |
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 | + } | |
2727 | 2762 | } |
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 | + } | |
2747 | 2773 | } |
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 | + } | |
2763 | 2793 | } |
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 | + } | |
2771 | 2799 | 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; | |
2785 | 2801 | } |
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 | |
2796 | 2802 | |
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); | |
2823 | 2805 | } |
2824 | 2806 | |
2825 | 2807 | #if 1 |
@@ -3547,20 +3529,9 @@ | ||
3547 | 3529 | #ifdef ALPHABLEND_TYPE2 |
3548 | 3530 | case CS_VT_NORMALFG: |
3549 | 3531 | BGVTColor[0] = color; |
3550 | - if ((ts.ColorFlag & CF_USETEXTCOLOR)!=0) { | |
3551 | - ANSIColor[IdFore ] = BGVTColor[0]; // use text color for "white" | |
3552 | - } | |
3553 | 3532 | break; |
3554 | 3533 | case CS_VT_NORMALBG: |
3555 | 3534 | 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 | - } | |
3564 | 3535 | break; |
3565 | 3536 | case CS_VT_BOLDFG: BGVTBoldColor[0] = color; break; |
3566 | 3537 | case CS_VT_BOLDBG: BGVTBoldColor[1] = color; break; |
@@ -3573,20 +3544,9 @@ | ||
3573 | 3544 | #else |
3574 | 3545 | case CS_VT_NORMALFG: |
3575 | 3546 | ts.VTColor[0] = color; |
3576 | - if ((ts.ColorFlag & CF_USETEXTCOLOR)!=0) { | |
3577 | - ANSIColor[IdFore ] = ts.VTColor[0]; // use text color for "white" | |
3578 | - } | |
3579 | 3547 | break; |
3580 | 3548 | case CS_VT_NORMALBG: |
3581 | 3549 | 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 | - } | |
3590 | 3550 | break; |
3591 | 3551 | case CS_VT_BOLDFG: ts.VTBoldColor[0] = color; break; |
3592 | 3552 | case CS_VT_BOLDBG: ts.VTBoldColor[1] = color; break; |
@@ -3638,20 +3598,9 @@ | ||
3638 | 3598 | #ifdef ALPHABLEND_TYPE2 |
3639 | 3599 | case CS_VT_NORMALFG: |
3640 | 3600 | BGVTColor[0] = ts.VTColor[0]; |
3641 | - if ((ts.ColorFlag & CF_USETEXTCOLOR)!=0) { | |
3642 | - ANSIColor[IdFore ] = ts.VTColor[0]; // use text color for "white" | |
3643 | - } | |
3644 | 3601 | break; |
3645 | 3602 | case CS_VT_NORMALBG: |
3646 | 3603 | 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 | - } | |
3655 | 3604 | break; |
3656 | 3605 | case CS_VT_BOLDFG: BGVTBoldColor[0] = ts.VTBoldColor[0]; break; |
3657 | 3606 | case CS_VT_BOLDBG: BGVTBoldColor[1] = ts.VTBoldColor[1]; break; |
@@ -3686,16 +3635,9 @@ | ||
3686 | 3635 | // VT color Background |
3687 | 3636 | BGVTColor[1] = ts.VTColor[1]; |
3688 | 3637 | 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]; | |
3699 | 3641 | |
3700 | 3642 | // ANSI Color / xterm 256 color |
3701 | 3643 | InitColorTable(); |
@@ -3702,33 +3644,7 @@ | ||
3702 | 3644 | DispSetNearestColors(0, 255, NULL); |
3703 | 3645 | break; |
3704 | 3646 | 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) { | |
3732 | 3648 | ANSIColor[num] = ts.ANSIColor[num]; |
3733 | 3649 | DispSetNearestColors(num, num, NULL); |
3734 | 3650 | } |
@@ -37,8 +37,6 @@ | ||
37 | 37 | void BGInitialize(BOOL initialize_once); |
38 | 38 | void BGSetupPrimary(BOOL); |
39 | 39 | |
40 | -void BGExchangeColor(void); | |
41 | - | |
42 | 40 | void BGOnSettingChange(void); |
43 | 41 | void BGOnEnterSizeMove(void); |
44 | 42 | void BGOnExitSizeMove(void); |
@@ -2841,43 +2841,13 @@ | ||
2841 | 2841 | } |
2842 | 2842 | } |
2843 | 2843 | |
2844 | -void CSQExchangeColor() // DECSCNM / Visual Bell | |
2844 | +// DECSCNM / Visual Bell | |
2845 | +static void CSQExchangeColor(void) | |
2845 | 2846 | { |
2846 | - COLORREF ColorRef; | |
2847 | - | |
2848 | 2847 | BuffUpdateScroll(); |
2849 | 2848 | |
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 | - | |
2876 | 2849 | ts.ColorFlag ^= CF_REVERSEVIDEO; |
2877 | 2850 | |
2878 | -#ifdef ALPHABLEND_TYPE2 | |
2879 | - BGExchangeColor(); | |
2880 | -#endif | |
2881 | 2851 | DispChangeBackground(); |
2882 | 2852 | UpdateWindow(HVTWin); |
2883 | 2853 | } |
@@ -608,64 +608,21 @@ | ||
608 | 608 | } |
609 | 609 | |
610 | 610 | 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]); | |
669 | 626 | } |
670 | 627 | ShowDlgItem(Dialog,IDC_WINATTRTEXT,IDC_WINATTR); |
671 | 628 | get_lang_msg("DLG_WIN_NORMAL", uimsg, sizeof(uimsg), "Normal", UILanguageFile); |
@@ -680,10 +637,8 @@ | ||
680 | 637 | SendDlgItemMessage(Dialog, IDC_WINATTR, CB_ADDSTRING, 0, (LPARAM)"URL"); |
681 | 638 | /* end - ishizaki */ |
682 | 639 | SendDlgItemMessage(Dialog, IDC_WINATTR, CB_SETCURSEL, 0,0); |
683 | -#ifdef USE_NORMAL_BGCOLOR | |
684 | 640 | ShowDlgItem(Dialog,IDC_WINUSENORMALBG,IDC_WINUSENORMALBG); |
685 | 641 | SetRB(Dialog,ts->UseNormalBGColor,IDC_WINUSENORMALBG,IDC_WINUSENORMALBG); |
686 | -#endif | |
687 | 642 | ShowDlgItem(Dialog, IDC_FONTBOLD, IDC_FONTBOLD); |
688 | 643 | SetRB(Dialog, (ts->FontFlag & FF_BOLD) > 0, IDC_FONTBOLD,IDC_FONTBOLD); |
689 | 644 | } |
@@ -755,123 +710,34 @@ | ||
755 | 710 | GetDlgItemInt(Dialog,IDC_WINSCROLL2,NULL,FALSE); |
756 | 711 | } |
757 | 712 | 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]); | |
827 | 733 | ts->VTColor[i] = GetNearestColor(DC,ts->VTColor[i]); |
828 | 734 | ts->VTBoldColor[i] = GetNearestColor(DC,ts->VTBoldColor[i]); |
829 | 735 | ts->VTBlinkColor[i] = GetNearestColor(DC,ts->VTBlinkColor[i]); |
830 | 736 | ts->VTReverseColor[i] = GetNearestColor(DC,ts->VTReverseColor[i]); |
831 | - /* begin - ishizaki */ | |
832 | 737 | ts->URLColor[i] = GetNearestColor(DC,ts->URLColor[i]); |
833 | - /* end - ishizaki */ | |
834 | 738 | } |
835 | -#ifdef USE_NORMAL_BGCOLOR | |
836 | 739 | GetRB(Dialog,&ts->UseNormalBGColor, |
837 | 740 | 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 | |
875 | 741 | GetRB(Dialog, &i, IDC_FONTBOLD, IDC_FONTBOLD); |
876 | 742 | if (i > 0) { |
877 | 743 | ts->FontFlag |= FF_BOLD; |
@@ -2560,23 +2560,9 @@ | ||
2560 | 2560 | |
2561 | 2561 | /* VT Color */ |
2562 | 2562 | 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]); | |
2580 | 2566 | } |
2581 | 2567 | WriteInt6(Section, "VTColor", FName, |
2582 | 2568 | ts->TmpColor[0][0], ts->TmpColor[0][1], ts->TmpColor[0][2], |
@@ -2584,16 +2570,9 @@ | ||
2584 | 2570 | |
2585 | 2571 | /* VT Bold Color */ |
2586 | 2572 | 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]); | |
2597 | 2576 | } |
2598 | 2577 | WriteInt6(Section, "VTBoldColor", FName, |
2599 | 2578 | ts->TmpColor[0][0], ts->TmpColor[0][1], ts->TmpColor[0][2], |
@@ -2601,16 +2580,9 @@ | ||
2601 | 2580 | |
2602 | 2581 | /* VT Blink Color */ |
2603 | 2582 | 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]); | |
2614 | 2586 | } |
2615 | 2587 | WriteInt6(Section, "VTBlinkColor", FName, |
2616 | 2588 | ts->TmpColor[0][0], ts->TmpColor[0][1], ts->TmpColor[0][2], |
@@ -2618,16 +2590,9 @@ | ||
2618 | 2590 | |
2619 | 2591 | /* VT Reverse Color */ |
2620 | 2592 | 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]); | |
2631 | 2596 | } |
2632 | 2597 | WriteInt6(Section, "VTReverseColor", FName, |
2633 | 2598 | ts->TmpColor[0][0], ts->TmpColor[0][1], ts->TmpColor[0][2], |
@@ -2638,16 +2603,9 @@ | ||
2638 | 2603 | |
2639 | 2604 | /* URL color */ |
2640 | 2605 | 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]); | |
2651 | 2609 | } |
2652 | 2610 | WriteInt6(Section, "URLColor", FName, |
2653 | 2611 | ts->TmpColor[0][0], ts->TmpColor[0][1], ts->TmpColor[0][2], |