mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-29 21:30:53 +00:00
Initial commit of existing code.
* All renderdoc code up to this point was written by me, history is available by request
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using System.Drawing;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.Permissions;
|
||||
|
||||
namespace WeifenLuo.WinFormsUI.Docking
|
||||
{
|
||||
public abstract class DockPaneCaptionBase : Control
|
||||
{
|
||||
protected internal DockPaneCaptionBase(DockPane pane)
|
||||
{
|
||||
m_dockPane = pane;
|
||||
|
||||
SetStyle(ControlStyles.OptimizedDoubleBuffer |
|
||||
ControlStyles.ResizeRedraw |
|
||||
ControlStyles.UserPaint |
|
||||
ControlStyles.AllPaintingInWmPaint, true);
|
||||
SetStyle(ControlStyles.Selectable, false);
|
||||
}
|
||||
|
||||
private DockPane m_dockPane;
|
||||
protected DockPane DockPane
|
||||
{
|
||||
get { return m_dockPane; }
|
||||
}
|
||||
|
||||
protected DockPane.AppearanceStyle Appearance
|
||||
{
|
||||
get { return DockPane.Appearance; }
|
||||
}
|
||||
|
||||
protected bool HasTabPageContextMenu
|
||||
{
|
||||
get { return DockPane.HasTabPageContextMenu; }
|
||||
}
|
||||
|
||||
protected void ShowTabPageContextMenu(Point position)
|
||||
{
|
||||
DockPane.ShowTabPageContextMenu(this, position);
|
||||
}
|
||||
|
||||
protected override void OnMouseUp(MouseEventArgs e)
|
||||
{
|
||||
base.OnMouseUp(e);
|
||||
|
||||
if (e.Button == MouseButtons.Right)
|
||||
ShowTabPageContextMenu(new Point(e.X, e.Y));
|
||||
}
|
||||
|
||||
protected override void OnMouseDown(MouseEventArgs e)
|
||||
{
|
||||
base.OnMouseDown(e);
|
||||
|
||||
if (e.Button == MouseButtons.Left &&
|
||||
DockPane.DockPanel.AllowEndUserDocking &&
|
||||
DockPane.AllowDockDragAndDrop &&
|
||||
!DockHelper.IsDockStateAutoHide(DockPane.DockState) &&
|
||||
DockPane.ActiveContent != null)
|
||||
DockPane.DockPanel.BeginDrag(DockPane);
|
||||
}
|
||||
|
||||
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
|
||||
protected override void WndProc(ref Message m)
|
||||
{
|
||||
if (m.Msg == (int)Win32.Msgs.WM_LBUTTONDBLCLK)
|
||||
{
|
||||
if (DockHelper.IsDockStateAutoHide(DockPane.DockState))
|
||||
{
|
||||
DockPane.DockPanel.ActiveAutoHideContent = null;
|
||||
return;
|
||||
}
|
||||
|
||||
if (DockPane.IsFloat)
|
||||
DockPane.RestoreToPanel();
|
||||
else
|
||||
DockPane.Float();
|
||||
}
|
||||
base.WndProc(ref m);
|
||||
}
|
||||
|
||||
internal void RefreshChanges()
|
||||
{
|
||||
if (IsDisposed)
|
||||
return;
|
||||
|
||||
OnRefreshChanges();
|
||||
}
|
||||
|
||||
protected virtual void OnRightToLeftLayoutChanged()
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void OnRefreshChanges()
|
||||
{
|
||||
}
|
||||
|
||||
protected internal abstract int MeasureHeight();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user