ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/screen.C
(Generate patch)

Comparing rxvt-unicode/src/screen.C (file contents):
Revision 1.36 by pcg, Tue Feb 24 22:28:42 2004 UTC vs.
Revision 1.37 by pcg, Tue Feb 24 23:58:13 2004 UTC

862 scr_insdel_chars (1, INSERT); 862 scr_insdel_chars (1, INSERT);
863 863
864 if (charsets[screen.charset] == '0') // DEC SPECIAL 864 if (charsets[screen.charset] == '0') // DEC SPECIAL
865 switch (c) 865 switch (c)
866 { 866 {
867 // dunno where these come from
868#if 0
867 case '+': c = 0x2192; break; case ',': c = 0x2190; break; case '-': c = 0x2191; break; 869 case '+': c = 0x2192; break; case ',': c = 0x2190; break; case '-': c = 0x2191; break;
868 case '.': c = 0x2193; break; case '0': c = 0x25ae; break; case '`': c = 0x25c6; break; 870 case '.': c = 0x2193; break; case '0': c = 0x25ae; break;
871#endif
872 // vt100 special graphics and line drawing
873 case '`': c = 0x25c6; break; case '_': c = 0x0020; break;
869 case 'a': c = 0x2592; break; case 'f': c = 0x00b0; break; case 'g': c = 0x00b1; break; 874 case 'a': c = 0x2592; break; case 'b': c = 0x2409; break; case 'c': c = 0x240c; break;
870 case 'h': c = 0x2592; break; case 'i': c = 0x2603; break; case 'j': c = 0x2518; break;
871 case 'k': c = 0x2510; break; case 'l': c = 0x250c; break; case 'm': c = 0x2514; break; 875 case 'd': c = 0x240d; break; case 'e': c = 0x240a; break; case 'f': c = 0x00b0; break;
876 case 'g': c = 0x00b1; break; case 'h': c = 0x2424; break; case 'i': c = 0x240b; break;
872 case 'n': c = 0x253c; break; case 'o': c = 0x23ba; break; case 'p': c = 0x23bb; break; 877 case 'j': c = 0x2518; break; case 'k': c = 0x2510; break; case 'l': c = 0x250c; break;
873 case 'q': c = 0x2500; break; case 'r': c = 0x23bc; break; case 's': c = 0x23bd; break; 878 case 'm': c = 0x2514; break; case 'n': c = 0x253c; break; case 'o': c = 0x23ba; break;
874 case 't': c = 0x251c; break; case 'u': c = 0x2524; break; case 'v': c = 0x2534; break; 879 case 'p': c = 0x23bb; break; case 'q': c = 0x2500; break; case 'r': c = 0x23bc; break;
875 case 'w': c = 0x252c; break; case 'x': c = 0x2502; break; case 'y': c = 0x2264; break; 880 case 's': c = 0x23bd; break; case 't': c = 0x251c; break; case 'u': c = 0x2524; break;
876 case 'z': c = 0x2265; break; case '{': c = 0x03c0; break; case '|': c = 0x2260; break; 881 case 'v': c = 0x2534; break; case 'w': c = 0x252c; break; case 'x': c = 0x2502; break;
882 case 'y': c = 0x2264; break; case 'z': c = 0x2265; break; case '{': c = 0x03c0; break;
877 case '}': c = 0x00a3; break; case '~': c = 0x00b7; break; 883 case '|': c = 0x2260; break; case '}': c = 0x00a3; break; case '~': c = 0x00b7; break;
878 } 884 }
879 885
880 rend_t rend = SET_FONT (rstyle, TermWin.fontset->find_font (c)); 886 rend_t rend = SET_FONT (rstyle, TermWin.fontset->find_font (c));
881 // rely on wcwidth to tell us the character width, at least for non-ascii 887 // rely on wcwidth to tell us the character width, at least for non-ascii
882 int width = c <= 128 ? 1 : wcwidth (c); 888 int width = c <= 128 ? 1 : wcwidth (c);
2116 2122
2117 rend = GET_ATTR (rend); 2123 rend = GET_ATTR (rend);
2118 2124
2119 rvid = !!(rend & RS_RVid); 2125 rvid = !!(rend & RS_RVid);
2120 2126
2127#ifndef NO_BOLD_UNDERLINE_REVERSE
2128 if (rend & RS_Bold && fore == Color_fg)
2129 {
2130 if (ISSET_PIXCOLOR (Color_BD))
2131 fore = Color_BD;
2132 else
2133 rvid = !rvid;
2134 }
2135
2136 if (rend & RS_Uline)
2137 {
2138 if (ISSET_PIXCOLOR (Color_UL))
2139 fore = Color_UL;
2140 }
2141#endif
2142
2143 if (rvid)
2144 {
2145 SWAP_IT (fore, back, int);
2146
2147#ifndef NO_BOLD_UNDERLINE_REVERSE
2148 if (ISSET_PIXCOLOR (Color_RV)
2149# ifndef NO_CURSORCOLOR
2150 && !ISSET_PIXCOLOR (Color_cursor)
2151# endif
2152 )
2153 back = Color_RV;
2154#endif
2155 }
2156
2121#ifdef TEXT_BLINK 2157#ifdef TEXT_BLINK
2122 if (rend & RS_Blink) 2158 if (rend & RS_Blink)
2123 { 2159 {
2124 if (!text_blink_ev.active) 2160 if (!text_blink_ev.active)
2125 { 2161 {
2128 } 2164 }
2129 else if (hidden_text) 2165 else if (hidden_text)
2130 fore = back; 2166 fore = back;
2131 } 2167 }
2132#endif 2168#endif
2133
2134#ifndef NO_BOLD_UNDERLINE_REVERSE
2135 if (rend & RS_Bold && fore == Color_fg)
2136 {
2137 if (ISSET_PIXCOLOR (Color_BD))
2138 fore = Color_BD;
2139 else
2140 rvid = !rvid;
2141 }
2142
2143 if (rend & RS_Uline)
2144 {
2145 if (ISSET_PIXCOLOR (Color_UL))
2146 fore = Color_UL;
2147 }
2148#endif
2149
2150 if (rvid)
2151 {
2152 SWAP_IT (fore, back, int);
2153
2154#ifndef NO_BOLD_UNDERLINE_REVERSE
2155 if (ISSET_PIXCOLOR (Color_RV)
2156# ifndef NO_CURSORCOLOR
2157 && !ISSET_PIXCOLOR (Color_cursor)
2158# endif
2159 )
2160 back = Color_RV;
2161#endif
2162 }
2163 2169
2164 /* 2170 /*
2165 * Actually do the drawing of the string here 2171 * Actually do the drawing of the string here
2166 */ 2172 */
2167 rxvt_font *font = (*TermWin.fontset)[fid]; 2173 rxvt_font *font = (*TermWin.fontset)[fid];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines