소스 검색

+ also preserve the CGA background color in the go32v2 IDE

git-svn-id: trunk@29086 -
nickysn 10 년 전
부모
커밋
c53c4702b6
1개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  1. 6 0
      ide/fpusrscr.pas

+ 6 - 0
ide/fpusrscr.pas

@@ -184,6 +184,7 @@ type
       GraphModeName : string;
       GraphXres,GraphYres : longint;
       GraphBuffer : pointer;
+      GraphCGABkColor: Integer;
       ConsoleGraphDriver, ConsoleGraphMode : smallint;
 {$endif USE_GRAPH_SWITCH}
       function    GetLineStartOfs(Line: integer): word;
@@ -530,6 +531,7 @@ begin
                     2: GraphMode:=CGAC3;
                     3: GraphMode:=CGAC1;
                   end;
+                  GraphCGABkColor:=Mem[$40:$66] and $0F;
                 end;
            $6 : begin
                   GraphDriver:=Graph.CGA;
@@ -607,6 +609,10 @@ begin
       Graph.InitGraph(ConsoleGraphDriver,ConsoleGraphMode,'');
       if graphresult=grOk then
         begin
+          if (ConsoleGraphDriver=CGA) and
+             (ConsoleGraphMode>=CGAC0) and
+             (ConsoleGraphMode<=CGAC3) then
+            SetBkColor(GraphCGABkColor);
           PutImage(0,0,GraphBuffer^,CopyPut);
           FreeMem(GraphBuffer,GraphImageSize);
           GraphBuffer:=nil;