mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	Merge pull request #12572 from RandomShaper/onion-skinning
Onion skinning
This commit is contained in:
		
						commit
						22415e5a31
					
				
					 33 changed files with 774 additions and 75 deletions
				
			
		|  | @ -2332,6 +2332,16 @@ static void draw_indicator_bar(Control &surface, real_t fill, Ref<Texture> icon) | |||
| 
 | ||||
| void SpatialEditorViewport::_draw() { | ||||
| 
 | ||||
| 	EditorPluginList *over_plugin_list = EditorNode::get_singleton()->get_editor_plugins_over(); | ||||
| 	if (!over_plugin_list->empty()) { | ||||
| 		over_plugin_list->forward_draw_over_viewport(surface); | ||||
| 	} | ||||
| 
 | ||||
| 	EditorPluginList *force_over_plugin_list = editor->get_editor_plugins_force_over(); | ||||
| 	if (!force_over_plugin_list->empty()) { | ||||
| 		force_over_plugin_list->forward_force_draw_over_viewport(surface); | ||||
| 	} | ||||
| 
 | ||||
| 	if (surface->has_focus()) { | ||||
| 		Size2 size = surface->get_size(); | ||||
| 		Rect2 r = Rect2(Point2(), size); | ||||
|  | @ -2839,6 +2849,20 @@ void SpatialEditorViewport::set_state(const Dictionary &p_state) { | |||
| 		camera->set_doppler_tracking(doppler ? Camera::DOPPLER_TRACKING_IDLE_STEP : Camera::DOPPLER_TRACKING_DISABLED); | ||||
| 		view_menu->get_popup()->set_item_checked(idx, doppler); | ||||
| 	} | ||||
| 	if (p_state.has("gizmos")) { | ||||
| 		bool gizmos = p_state["gizmos"]; | ||||
| 
 | ||||
| 		int idx = view_menu->get_popup()->get_item_index(VIEW_GIZMOS); | ||||
| 		if (view_menu->get_popup()->is_item_checked(idx) != gizmos) | ||||
| 			_menu_option(VIEW_GIZMOS); | ||||
| 	} | ||||
| 	if (p_state.has("information")) { | ||||
| 		bool information = p_state["information"]; | ||||
| 
 | ||||
| 		int idx = view_menu->get_popup()->get_item_index(VIEW_INFORMATION); | ||||
| 		if (view_menu->get_popup()->is_item_checked(idx) != information) | ||||
| 			_menu_option(VIEW_INFORMATION); | ||||
| 	} | ||||
| 	if (p_state.has("half_res")) { | ||||
| 		bool half_res = p_state["half_res"]; | ||||
| 
 | ||||
|  | @ -2870,6 +2894,9 @@ Dictionary SpatialEditorViewport::get_state() const { | |||
| 	d["use_environment"] = camera->get_environment().is_valid(); | ||||
| 	d["use_orthogonal"] = camera->get_projection() == Camera::PROJECTION_ORTHOGONAL; | ||||
| 	d["listener"] = viewport->is_audio_listener(); | ||||
| 	d["doppler"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_AUDIO_DOPPLER)); | ||||
| 	d["gizmos"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_GIZMOS)); | ||||
| 	d["information"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_INFORMATION)); | ||||
| 	d["half_res"] = viewport_container->get_stretch_shrink() > 1; | ||||
| 	if (previewing) { | ||||
| 		d["previewing"] = EditorNode::get_singleton()->get_edited_scene()->get_path_to(previewing); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Juan Linietsky
						Juan Linietsky