Source/Ribbon/SimpleNodeDisplay.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
namespace DevComponents.DotNetBar
{
/// <summary>
/// Summary description for SimpleNodeDisplay.
/// </summary>
internal class SimpleNodeDisplay
{
public static void Paint(SimpleNodeDisplayInfo di)
{
Rectangle r=di.Element.Bounds;
//di.Graphics.SetClip(r);
Region oldClip = di.Graphics.Clip;
if (oldClip != null)
di.Graphics.SetClip(r, CombineMode.Intersect);
else
di.Graphics.SetClip(r, CombineMode.Replace);
//r.Inflate(1,1);
ElementStyleDisplayInfo displayInfo=new ElementStyleDisplayInfo(di.Style,di.Graphics,r);
ElementStyleDisplay.Paint(displayInfo);
di.Graphics.ResetClip();
if(di.Element.ImageVisible)
SimpleNodeDisplay.PaintImage(di);
if(di.Element.TextVisible)
{
displayInfo.Bounds=(di.TextBounds.IsEmpty?di.Element.TextBounds:di.TextBounds);
eTextFormat format = di.Style.TextFormat;
if (di.RightToLeft)
format |= eTextFormat.RightToLeft;
ElementStyleDisplay.PaintText(displayInfo,di.Element.Text,di.Font, false, format);
}
if (oldClip != null)
di.Graphics.Clip = oldClip;
else
di.Graphics.ResetClip();
}
private static void PaintImage(SimpleNodeDisplayInfo di)
{
if(di.Element.ImageLayoutSize.IsEmpty || di.Element.Image==null)
return;
Rectangle r=di.Element.ImageBounds;
di.Graphics.DrawImage(di.Element.Image,r.X+(r.Width-di.Element.Image.Width)/2,
r.Y+(r.Height-di.Element.Image.Height)/2);
}
// private static void PaintText(SimpleNodeDisplayInfo di)
// {
// ISimpleElement e=di.Element;
// if(e.Text=="" || e.TextBounds.IsEmpty || di.Style.TextColor.IsEmpty)
// return;
后面还有 36 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。