Oops, a small bug. 2nd try.


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:55:43
@@ -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:55:43
@@ -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,49 @@
                 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)
+               {
+                   int tempcolor;
+                   
+                   term->reverse_mode = 1;
+                   /* Set color here for safety */
+                   tempcolor = term->fg;
+                   term->fg = term->bg;
+                   term->bg = tempcolor;
+               }
+               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:55:43
@@ -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