Files
mirror-processhacker/1.x/trunk/ProcessHacker/Components/TreeViewAdv/Tree/NodeControls/NodeIcon.cs
T
dmex 3a9a6e8305 PH1.x: Marshal cache rewrite, TreeViewAdv & ListView control fixes.
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@4764 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2011-10-28 00:19:55 +00:00

40 lines
742 B
C#

using System.Drawing;
namespace Aga.Controls.Tree.NodeControls
{
public class NodeIcon : BindableControl
{
public NodeIcon()
{
LeftMargin = 1;
}
public override Size MeasureSize(TreeNodeAdv node, DrawContext context)
{
Image image = GetIcon(node);
if (image != null)
return image.Size;
return Size.Empty;
}
public override void Draw(TreeNodeAdv node, DrawContext context)
{
Image image = GetIcon(node);
if (image != null)
{
Rectangle r = GetBounds(node, context);
context.Graphics.DrawImage(image, r.Location);
}
}
protected virtual Image GetIcon(TreeNodeAdv node)
{
return GetValue(node) as Image;
}
}
}