BUG: XORing May Not Erase Lines in SVGA Modes

ID: Q109680

7.00 | 1.00 1.50 MS-DOS | WINDOWS kbtool kbbuglist

The information in this article applies to:

SYMPTOMS

Using the GRAPHICS.LIB function _setwritemode() with the _GXOR constant may not produce the expected output when drawing lines using _lineto() or _lineto_w(). Specifically, drawing a line using the XOR write mode directly on top of another line may not erase the original line. This problem occurs only in super VGA modes.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

The sample program below illustrates the problem:

Sample Code

#include <graph.h>
#include <conio.h>

void main(void)
{
   if (_setvideomode(_VRES256COLOR)==0)
      exit(0);
   _clearscreen(_GCLEARSCREEN);
   _setwritemode(_GXOR);
   _setcolor(7);
   _moveto(320,240);
   _lineto(177,378);
   _getch();
   _moveto(320,240);
   _lineto(177,378);
   _getch();
   _setvideomode(_DEFAULTMODE);
}

Additional reference words: 1.00 1.50 7.00 8.00 8.00c KBCategory: kbtool kbbuglist KBSubcategory: GraphicsIss Keywords : kb16bitonly

Last Reviewed: July 23, 1997