mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	Fix jankiness when drawing GradientTexture2D
This commit is contained in:
		
							parent
							
								
									6882890a34
								
							
						
					
					
						commit
						3de53c8312
					
				
					 1 changed files with 8 additions and 8 deletions
				
			
		|  | @ -121,13 +121,12 @@ void GradientTexture2DEditorRect::_notification(int p_what) { | |||
| 			Size2 rect_size = get_size(); | ||||
| 
 | ||||
| 			// Get the size and position to draw the texture and handles at.
 | ||||
| 			size = Size2(texture->get_width() * rect_size.height / texture->get_height(), rect_size.height); | ||||
| 			if (size.width > rect_size.width) { | ||||
| 				size.width = rect_size.width; | ||||
| 				size.height = texture->get_height() * size.width / texture->get_width(); | ||||
| 			} | ||||
| 			offset = ((rect_size - size + handle_size) / 2).round(); | ||||
| 			size -= handle_size; | ||||
| 			// Subtract handle sizes so they stay inside the preview, but keep the texture's aspect ratio.
 | ||||
| 			Size2 available_size = rect_size - handle_size; | ||||
| 			Size2 ratio = available_size / texture->get_size(); | ||||
| 			size = MIN(ratio.x, ratio.y) * texture->get_size(); | ||||
| 			offset = ((rect_size - size) / 2).round(); | ||||
| 
 | ||||
| 			checkerboard->set_rect(Rect2(offset, size)); | ||||
| 
 | ||||
| 			draw_set_transform(offset); | ||||
|  | @ -180,8 +179,9 @@ GradientTexture2DEditorRect::GradientTexture2DEditorRect() { | |||
| 
 | ||||
| 	checkerboard = memnew(TextureRect); | ||||
| 	checkerboard->set_stretch_mode(TextureRect::STRETCH_TILE); | ||||
| 	checkerboard->set_ignore_texture_size(true); | ||||
| 	checkerboard->set_draw_behind_parent(true); | ||||
| 	add_child(checkerboard); | ||||
| 	add_child(checkerboard, false, INTERNAL_MODE_FRONT); | ||||
| 
 | ||||
| 	set_custom_minimum_size(Size2(0, 250 * EDSCALE)); | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 VolTer
						VolTer