Files
mirror-processhacker/1.x/trunk/ProcessHacker/Components/TreeViewAdv/Tree/NodeControls/NodeStateIcon.cs
T
dmex 7f93e8d31b added missing files from last checkin
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@4252 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2011-06-22 04:04:06 +00:00

40 lines
868 B
C#

using System.Drawing;
using ProcessHacker.Properties;
namespace Aga.Controls.Tree.NodeControls
{
public class NodeStateIcon: NodeIcon
{
private readonly Image _leaf;
private readonly Image _opened;
private readonly Image _closed;
public NodeStateIcon()
{
_leaf = MakeTransparent(Resources.Leaf);
_opened = MakeTransparent(Resources.folder);
_closed = MakeTransparent(Resources.FolderClosed);
}
private static Image MakeTransparent(Bitmap bitmap)
{
bitmap.MakeTransparent(bitmap.GetPixel(0,0));
return bitmap;
}
protected override Image GetIcon(TreeNodeAdv node)
{
Image icon = base.GetIcon(node);
if (icon != null)
return icon;
else if (node.IsLeaf)
return _leaf;
else if (node.CanExpand && node.IsExpanded)
return _opened;
else
return _closed;
}
}
}