private void DrawTabbedPanelSelector() { SidePanelMode prevMode = m_SidePanelViewMode; bool hasInputFrames = m_ProcessingNodeStack.inputSequence.frames.Count > 0; SidePanelMode newMode = (SidePanelMode)VFXToolboxGUIUtility.TabbedButtonsGUILayout( (int)prevMode, new string[] { "Input Frames", "Processors", "Export"}, new bool [] { true, hasInputFrames, hasInputFrames} ); if(prevMode != newMode) { m_SidePanelViewMode = newMode; switch(m_SidePanelViewMode) { case SidePanelMode.InputFrames: m_PreviewCanvas.sequence = m_ProcessingNodeStack.inputSequence; break; case SidePanelMode.Processors: if (m_LockedPreviewProcessor != null) m_PreviewCanvas.sequence = m_LockedPreviewProcessor.OutputSequence; else { if(m_CurrentProcessingNode != null) m_PreviewCanvas.sequence = m_CurrentProcessingNode.OutputSequence; else { if (m_ProcessingNodeStack.nodes.Count > 0) m_PreviewCanvas.sequence = m_ProcessingNodeStack.nodes[m_ProcessingNodeStack.nodes.Count - 1].OutputSequence; else m_PreviewCanvas.sequence = m_ProcessingNodeStack.inputSequence; } } break; case SidePanelMode.Export: m_PreviewCanvas.sequence = m_ProcessingNodeStack.outputSequence; break; } m_PreviewCanvas.InvalidateRenderTarget(); m_PreviewCanvas.UpdateCanvasSequence(); m_PreviewCanvas.Invalidate(true); } }