Browse Source

fix color swap

philippe44 3 years ago
parent
commit
7b1d1ad45e
2 changed files with 2 additions and 3 deletions
  1. 1 2
      components/display/ST77xx.c
  2. 1 1
      components/display/display.c

+ 1 - 2
components/display/ST77xx.c

@@ -195,15 +195,14 @@ static void SetLayout( struct GDS_Device* Device, struct GDS_Layout *Layout ) {
 		if (Layout->Rotate) Private->Offset.Width += Layout->HFlip ? 320 - Device->Width : 0;
 		else Private->Offset.Height += Layout->HFlip ? 320 - Device->Height : 0;
 		Device->WriteCommand( Device, Layout->Invert ? 0x20 : 0x21 );			
-		Private->MADCtl = Layout->ColorSwap ? (Private->MADCtl & ~(1 << 3)) : (Private->MADCtl | (1 << 3));
 	} else {
 		Device->WriteCommand( Device, Layout->Invert ? 0x21 : 0x20 );	
-		Private->MADCtl = Layout->ColorSwap ? (Private->MADCtl | (1 << 3)) : (Private->MADCtl & ~(1 << 3));		
 	}		
 
 	Private->MADCtl = Layout->HFlip ? (Private->MADCtl | (1 << 7)) : (Private->MADCtl & ~(1 << 7));
 	Private->MADCtl = Layout->VFlip ? (Private->MADCtl | (1 << 6)) : (Private->MADCtl & ~(1 << 6));
 	Private->MADCtl = Layout->Rotate ? (Private->MADCtl | (1 << 5)) : (Private->MADCtl & ~(1 << 5));
+	Private->MADCtl = Layout->ColorSwap ? (Private->MADCtl & ~(1 << 3)) : (Private->MADCtl | (1 << 3));	
 
 	Device->WriteCommand( Device, 0x36 );
 	WriteByte( Device, Private->MADCtl );

+ 1 - 1
components/display/display.c

@@ -148,7 +148,7 @@ void display_init(char *welcome) {
 			.Invert = strcasestr(config, "invert"),
 			.ColorSwap = strcasestr(config, "cswap"),
 		};	
-					
+
 		GDS_SetLayout(display, &Layout);
 		GDS_SetFont(display, &Font_line_2);
 		GDS_TextPos(display, GDS_FONT_DEFAULT, GDS_TEXT_CENTERED, GDS_TEXT_CLEAR | GDS_TEXT_UPDATE, welcome);