Make vlan colors on the outside of the packet

This commit is contained in:
Tim Young 2016-11-16 08:54:01 -08:00
parent 3716fdf234
commit 2094f7fac4
2 changed files with 14 additions and 9 deletions

View File

@ -57,7 +57,7 @@ namespace EduNetworkBuilder
private bool previously_had_packets = false; //used on "tick" to determine if we are starting from scratch
private List<Color> PacketColors = new List<Color>();
private List<string> PacketColors = new List<string>();
private List<Image> PacketImages = new List<Image>();
public Network(string Name)
@ -1427,20 +1427,25 @@ namespace EduNetworkBuilder
}
}
public Image GetPacketImage(Color PacketColor)
public Image GetPacketImage(Color PacketColor, Color VLANColor)
{
if(PacketColors.Contains(PacketColor))
if (VLANColor == Color.Blue) VLANColor = PacketColor;
string ColorNames = PacketColor.Name + VLANColor.Name;
if(PacketColors.Contains(ColorNames))
{
return PacketImages[PacketColors.IndexOf(PacketColor)];
return PacketImages[PacketColors.IndexOf(ColorNames)];
}
PacketColors.Add(PacketColor);
PacketColors.Add(ColorNames);
Image newPacketImage = new Bitmap(NB.PacketPixelSize, NB.PacketPixelSize);
using (Graphics G = Graphics.FromImage(newPacketImage))
{
G.Clear(Color.Transparent);
// Pen myPen = new Pen(PacketColor, NB.PacketPixelSize);
Brush tBrush = new SolidBrush(PacketColor);
Brush tBrush = new SolidBrush(VLANColor);
G.FillEllipse(tBrush, 0,0, NB.PacketPixelSize, NB.PacketPixelSize);
tBrush = new SolidBrush(PacketColor);
int dist = NB.PacketPixelSize / 4;
G.FillEllipse(tBrush, dist, dist, NB.PacketPixelSize / 2, NB.PacketPixelSize / 2);
}
PacketImages.Add(newPacketImage);
return newPacketImage;

View File

@ -240,9 +240,9 @@ namespace EduNetworkBuilder
else
{
Color VLANPacketColor = theNet.ColorFromPacketVLAN(VLANID);
if (VLANPacketColor != Color.Blue)
pencolor = VLANPacketColor;
Image tImage = theNet.GetPacketImage(pencolor);
//if (VLANPacketColor != Color.Blue)
// pencolor = VLANPacketColor;
Image tImage = theNet.GetPacketImage(pencolor, VLANPacketColor);
//if (VLANPacketColor != Color.Blue && VLANPacketColor != Color.Empty)
//{
// tImage = theNet.ColoredImage(tImage, VLANPacketColor);