mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
7f93e8d31b
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@4252 21ef857c-d57f-4fe0-8362-d861dc6d29cd
40 lines
868 B
C#
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;
|
|
}
|
|
}
|
|
}
|