[Ttssh2-commit] [3715] Eterm look-feelを有効にしている時、Reverse Video (DECSCNM) のset / resetが行われると、以降まともに描画が更新されなくなるのを修正した。 ( 暫定 )

Back to archive index

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);



Ttssh2-commit メーリングリストの案内
Back to archive index