mirror of
				https://github.com/ArthurSonzogni/FTXUI.git
				synced 2025-10-31 18:48:11 +08:00 
			
		
		
		
	Problem with setting the cursor position on the right screen edge when drawing. (#831)
When moving the cursor back to its original location, a problem arises when cursor placed in the right edge column, where an off by one error occur. This pull request will resolve this problem. Co-authored-by: Jørn Gustav Larsen <jgl@fasttracksoftware.com> Co-authored-by: Jørn Gustav Larsen <jgl@adminbyrequest.com> Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
This commit is contained in:
		 Jørn Gustav Larsen
					Jørn Gustav Larsen
				
			
				
					committed by
					
						 ArthurSonzogni
						ArthurSonzogni
					
				
			
			
				
	
			
			
			 ArthurSonzogni
						ArthurSonzogni
					
				
			
						parent
						
							f81c5d94a5
						
					
				
				
					commit
					d8617ec2b6
				
			| @@ -844,10 +844,18 @@ void ScreenInteractive::Draw(Component component) { | ||||
|     const int dx = dimx_ - 1 - cursor_.x + int(dimx_ != terminal.dimx); | ||||
|     const int dy = dimy_ - 1 - cursor_.y; | ||||
|  | ||||
|     set_cursor_position = "\x1B[" + std::to_string(dy) + "A" +  // | ||||
|                           "\x1B[" + std::to_string(dx) + "D"; | ||||
|     reset_cursor_position = "\x1B[" + std::to_string(dy) + "B" +  // | ||||
|                             "\x1B[" + std::to_string(dx) + "C"; | ||||
|     set_cursor_position.clear(); | ||||
|     reset_cursor_position.clear(); | ||||
|  | ||||
|     if (dy != 0) { | ||||
|         set_cursor_position += "\x1B[" + std::to_string(dy) + "A"; | ||||
|         reset_cursor_position += "\x1B[" + std::to_string(dy) + "B"; | ||||
|     } | ||||
|  | ||||
|     if (dx != 0) { | ||||
|         set_cursor_position += "\x1B[" + std::to_string(dx) + "D"; | ||||
|         reset_cursor_position += "\x1B[" + std::to_string(dx) + "C"; | ||||
|     } | ||||
|  | ||||
|     if (cursor_.shape == Cursor::Hidden) { | ||||
|       set_cursor_position += "\033[?25l"; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user