Source/SplitterPainter.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Windows.Forms;
using System.Drawing;
namespace DevComponents.DotNetBar
{
/// <summary>
/// Base class for painting expandable splitter control.
/// </summary>
internal abstract class SplitterPainter
{
#region Private Variables
private int m_ArrowSize=6;
#endregion
/// <summary>
/// Default constructor.
/// </summary>
public SplitterPainter()
{
}
#region Methods
/// <summary>
/// Paints splitter.
/// </summary>
/// <param name="info">Paint information.</param>
public virtual void Paint(SplitterPaintInfo info)
{
}
protected virtual void PaintArrow(Point p, SplitterPaintInfo info)
{
System.Drawing.Drawing2D.GraphicsPath path=UIGraphics.GetTrianglePath(p,ArrowSize,this.GetDirection(info));
if(!info.Colors.ExpandFillColor.IsEmpty)
{
using(SolidBrush brush=new SolidBrush(info.Colors.ExpandFillColor))
info.Graphics.FillPath(brush,path);
}
if(!info.Colors.ExpandLineColor.IsEmpty)
{
using(Pen pen=new Pen(info.Colors.ExpandLineColor,1))
info.Graphics.DrawPath(pen,path);
}
path.Dispose();
}
protected eTriangleDirection GetDirection(SplitterPaintInfo info)
{
if(info.Dock==DockStyle.Top && info.Expanded || info.Dock==DockStyle.Bottom && !info.Expanded)
{
// Points up
return eTriangleDirection.Top;
}
else if(info.Dock==DockStyle.Top && !info.Expanded || info.Dock==DockStyle.Bottom && info.Expanded)
{
// Points down
return eTriangleDirection.Bottom;
}
else if(info.Dock==DockStyle.Left && info.Expanded || info.Dock==DockStyle.Right && !info.Expanded)
后面还有 112 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。