public void ViewTexture(ResourceId ID, bool focus) { if (this.InvokeRequired) { this.BeginInvoke(new Action(() => { this.ViewTexture(ID, focus); })); return; } TextureViewer_Load(null, null); if (lockedTabs.ContainsKey(ID)) { if (!lockedTabs[ID].IsDisposed && !lockedTabs[ID].IsHidden) { if (focus) Show(); lockedTabs[ID].Show(); m_Core.Renderer.BeginInvoke(RT_UpdateAndDisplay); return; } lockedTabs.Remove(ID); } for (int i = 0; i < m_Core.CurTextures.Length; i++) { if (m_Core.CurTextures[i].ID == ID) { FetchTexture current = m_Core.CurTextures[i]; var newPanel = Helpers.WrapDockContent(dockPanel, renderToolstripContainer, current.name); newPanel.DockState = DockState.Document; newPanel.AllowEndUserDocking = false; newPanel.Icon = Icon.FromHandle(global::renderdocui.Properties.Resources.page_white_link.GetHicon()); newPanel.Tag = current; newPanel.DockHandler.TabPageContextMenuStrip = tabContextMenu; newPanel.FormClosing += new FormClosingEventHandler(PreviewPanel_FormClosing); newPanel.Show(m_PreviewPanel.Pane, null); newPanel.Show(); if (focus) Show(); lockedTabs.Add(ID, newPanel); m_Core.Renderer.BeginInvoke(RT_UpdateAndDisplay); return; } } for (int i = 0; i < m_Core.CurBuffers.Length; i++) { if (m_Core.CurBuffers[i].ID == ID) { var viewer = new BufferViewer(m_Core, false); viewer.ViewRawBuffer(true, 0, ulong.MaxValue, ID); viewer.Show(DockPanel); return; } } }
private void viewTexBuffer_Click(object sender, EventArgs e) { if (CurrentTexture != null) { var viewer = new BufferViewer(m_Core, false); viewer.ViewRawBuffer(false, 0, ulong.MaxValue, CurrentTexture.ID); viewer.Show(this.DockPanel); } }