summaryrefslogtreecommitdiffstats
path: root/mbbsd/pfterm.c
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2007-12-29 20:52:44 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2007-12-29 20:52:44 +0800
commit3209f81bd9d94fd7b17dfae1f575dd01d5ea59c5 (patch)
tree6a2545acf6f88481608468201f8b8ebd7e26eb70 /mbbsd/pfterm.c
parent7b2387bfe8a3207ccfa4d672932fa4575d7ea613 (diff)
downloadpttbbs-3209f81bd9d94fd7b17dfae1f575dd01d5ea59c5.tar
pttbbs-3209f81bd9d94fd7b17dfae1f575dd01d5ea59c5.tar.gz
pttbbs-3209f81bd9d94fd7b17dfae1f575dd01d5ea59c5.tar.bz2
pttbbs-3209f81bd9d94fd7b17dfae1f575dd01d5ea59c5.tar.lz
pttbbs-3209f81bd9d94fd7b17dfae1f575dd01d5ea59c5.tar.xz
pttbbs-3209f81bd9d94fd7b17dfae1f575dd01d5ea59c5.tar.zst
pttbbs-3209f81bd9d94fd7b17dfae1f575dd01d5ea59c5.zip
- pfterm: optimize chattr, and improve display for those who set special
color for default. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3760 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/pfterm.c')
-rw-r--r--mbbsd/pfterm.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/mbbsd/pfterm.c b/mbbsd/pfterm.c
index 1dba337a..914aaa9b 100644
--- a/mbbsd/pfterm.c
+++ b/mbbsd/pfterm.c
@@ -1482,6 +1482,14 @@ fterm_chattr(char *s, ftattr oattr, ftattr nattr)
*s++ = ESC_CHR;
*s++ = '[';
+
+ // optimization: reset as default
+ if (nattr == FTATTR_DEFAULT)
+ {
+ *s++ = 'm';
+ *s++ = 0;
+ return 1;
+ }
fg = FTATTR_GETFG(nattr);
bg = FTATTR_GETBG(nattr);
@@ -1669,7 +1677,7 @@ void
fterm_rawclreol(void)
{
#ifdef FTCONF_CLEAR_SETATTR
- ftattr oattr = ft.rattr;
+ // ftattr oattr = ft.rattr;
// XXX If we skip with "backround only" here, future updating
// may get wrong attributes. Or not? (consider DBCS...)
// if (FTATTR_GETBG(oattr) != FTATTR_GETBG(FTATTR_ERASE))
@@ -1680,7 +1688,8 @@ fterm_rawclreol(void)
fterm_raws(ESC_STR "[K");
#ifdef FTCONF_CLEAR_SETATTR
- fterm_rawattr(oattr);
+ // No need to do so? because we will always reset attribute...
+ // fterm_rawattr(oattr);
#endif
}
@@ -1814,6 +1823,7 @@ fterm_rawmove_opt(int y, int x)
void
fterm_rawcursor(void)
{
+ // fterm_rawattr(FTATTR_DEFAULT);
fterm_rawattr(ft.attr);
fterm_rawmove_opt(ft.y, ft.x);
fterm_rawflush();