svnno****@sourc*****
svnno****@sourc*****
2009年 12月 12日 (土) 15:42:18 JST
Revision: 3715 http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=3715 Author: doda Date: 2009-12-12 15:42:18 +0900 (Sat, 12 Dec 2009) Log Message: ----------- Eterm look-feelを有効にしている時、Reverse Video (DECSCNM)のset/resetが行われると、以降まともに描画が更新されなくなるのを修正した。(暫定) http://lunatear.net/archives/001056.html # Eterm look-feel有効時のDECSCNMはまだちゃんと動いていないので、修正が必要 Modified Paths: -------------- trunk/teraterm/teraterm/vtdisp.c trunk/teraterm/teraterm/vtdisp.h trunk/teraterm/teraterm/vtterm.c -------------- next part -------------- Modified: trunk/teraterm/teraterm/vtdisp.c =================================================================== --- trunk/teraterm/teraterm/vtdisp.c 2009-12-11 15:58:25 UTC (rev 3714) +++ trunk/teraterm/teraterm/vtdisp.c 2009-12-12 06:42:18 UTC (rev 3715) @@ -1278,6 +1278,37 @@ (FARPROC)BGEnumDisplayMonitors = GetProcAddressWithDllName("user32.dll","EnumDisplayMonitors"); } +void BGExchangeColor() { + COLORREF ColorRef; + if (ts.ColorFlag & CF_REVERSECOLOR) { + ColorRef = BGVTColor[0]; + BGVTColor[0] = BGVTReverseColor[0]; + BGVTReverseColor[0] = ColorRef; + ColorRef = BGVTColor[1]; + BGVTColor[1] = BGVTReverseColor[1]; + BGVTReverseColor[1] = ColorRef; + } + else { + ColorRef = BGVTColor[0]; + BGVTColor[0] = BGVTColor[1]; + BGVTColor[1] = ColorRef; + } + + ColorRef = BGVTBoldColor[0]; + BGVTBoldColor[0] = BGVTBoldColor[1]; + BGVTBoldColor[1] = ColorRef; + + ColorRef = BGVTBlinkColor[0]; + BGVTBlinkColor[0] = BGVTBlinkColor[1]; + BGVTBlinkColor[1] = ColorRef; + + ColorRef = BGURLColor[0]; + BGURLColor[0] = BGURLColor[1]; + BGURLColor[1] = ColorRef; + +// BGReverseText = !BGReverseText; +} + void BGFillRect(HDC hdc,RECT *R,HBRUSH brush) { if(!BGEnable) Modified: trunk/teraterm/teraterm/vtdisp.h =================================================================== --- trunk/teraterm/teraterm/vtdisp.h 2009-12-11 15:58:25 UTC (rev 3714) +++ trunk/teraterm/teraterm/vtdisp.h 2009-12-12 06:42:18 UTC (rev 3715) @@ -12,6 +12,8 @@ void BGInitialize(void); void BGSetupPrimary(BOOL); +void BGExchangeColor(void); + void BGOnSettingChange(void); void BGOnEnterSizeMove(void); void BGOnExitSizeMove(void); Modified: trunk/teraterm/teraterm/vtterm.c =================================================================== --- trunk/teraterm/teraterm/vtterm.c 2009-12-11 15:58:25 UTC (rev 3714) +++ trunk/teraterm/teraterm/vtterm.c 2009-12-12 06:42:18 UTC (rev 3715) @@ -2031,7 +2031,8 @@ ts.ColorFlag ^= CF_REVERSEVIDEO; #ifdef ALPHABLEND_TYPE2 - BGInitialize(); +// BGInitialize(); + BGExchangeColor(); #endif DispChangeBackground(); UpdateWindow(HVTWin);