CCed to Edmund GRIMLEY EVANS listed in bogl-term.c

On Wed, Jan 17, 2001 at 11:06:01AM +0800, [EMAIL PROTECTED] wrote:
> On Tue, Jan 16, 2001 at 04:56:21PM -0500, [EMAIL PROTECTED] wrote:
> > ha shao <[EMAIL PROTECTED]> writes:
> > 
> > > bterm and bogl-term do not support reverse video mode. Actually, 
> > > bterm has very limited terminfo supports (understandable). Reverse
> > > video mode has to be added to bogl-term for slang's slcurses.
> > > 
> > > There is no highlight version of font here. 
> > 
> > Illuminating. Can this be fixed?  Should we just eliminate cfdisk for
> > i18n versions (that would be sad)?
> 
> more terminfo to be add into bterm. things in bogl-term.c, bterm.ti
> I think.
> 
> cfdisk support an option '-a' which will use arrow instead of 
> reverse video to 'highlight' the partitions. But it still use
> reverse video on menu selection. That means '-a' is half-working.
> 

Attached a patch to add reverse video mode into bterm. cfdisk's GUI works
as expected.


Index: bogl-term.h
===================================================================
RCS file: /cvs/debian-boot/boot-floppies/utilities/bogl/bogl-term.h,v
retrieving revision 1.2
diff -u -r1.2 bogl-term.h
--- bogl-term.h 2000/05/07 15:12:20     1.2
+++ bogl-term.h 2001/01/17 04:33:50
@@ -12,6 +12,7 @@
   int xpos, ypos;
   int def_fg, def_bg;
   int fg, bg, ul;
+  int reverse_mode; /* Flag for reverse-video mode */
   int state;
   int cur_visible;
   int xp, yp;
Index: bogl-term.c
===================================================================
RCS file: /cvs/debian-boot/boot-floppies/utilities/bogl/bogl-term.c,v
retrieving revision 1.2
diff -u -r1.2 bogl-term.c
--- bogl-term.c 2000/05/07 15:12:20     1.2
+++ bogl-term.c 2001/01/17 04:33:57
@@ -49,6 +49,7 @@
   term->xpos = 0, term->ypos = 0;
   term->fg = term->def_fg = 0;
   term->bg = term->def_bg = 7;
+  term->reverse_mode = 0;
   term->state = 0;
   term->cur_visible = 1;
   mbrtowc(0, 0, 0, &term->ps);
@@ -383,16 +384,46 @@
                 if (term->arg[0] == 4 || term->arg[0] == 24)
                     term->ul = term->arg[0] == 4;
                 else if (30 <= term->arg[0] && term->arg[0] < 38)
-                    term->fg = term->arg[0] - 30;
+               {
+                   if(!term->reverse_mode)
+                       term->fg = term->arg[0] - 30;
+                   else
+                       term->bg = term->arg[0] - 30;
+               }
                 else if (40 <= term->arg[0] && term->arg[0] < 48)
                 {
-                    term->bg = term->arg[0] - 40;
+                   if(!term->reverse_mode)
+                       term->bg = term->arg[0] - 40;
+                   else
+                       term->fg = term->arg[0] - 40;
                 }
                 else if (term->arg[0] == 39)
-                    term->fg = term->def_fg;
+                {
+                   if(!term->reverse_mode)
+                       term->fg = term->def_fg;
+                   else
+                       term->bg = term->def_fg;
+                }
                 else if (term->arg[0] == 49)
-                    term->bg = term->def_bg;
-
+                {
+                   if(!term->reverse_mode)
+                       term->bg = term->def_bg;
+                   else
+                       term->fg = term->def_fg;
+                }
+               else if (term->arg[0] == 7)
+               {
+                   term->reverse_mode = 1;
+                   /* Set color here for safety */
+                   term->fg = term->bg;
+                   term->bg = term->fg;
+               }
+               else if (!term->arg[0] || term->arg[0] == 0)
+               {
+                   term->reverse_mode = 0;
+                   term->fg = term->def_fg;
+                   term->bg = term->def_bg;
+               }
                 term->state = 0;
                 continue;
             }
Index: bterm.ti
===================================================================
RCS file: /cvs/debian-boot/boot-floppies/utilities/bogl/bterm.ti,v
retrieving revision 1.2
diff -u -r1.2 bterm.ti
--- bterm.ti    2000/05/07 15:12:20     1.2
+++ bterm.ti    2001/01/17 04:33:57
@@ -10,3 +10,4 @@
   setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
   civis=\E[?25l, cnorm=\E[?25h,
   smul=\E[4m, rmul=\E[24m,
+  rev=\E[7m, sgr0=\E[0m,



-- 
Best regard
hashao


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to