public void PaintSelectionBorder(Graphics aGraphics, HeapCellMetaData aMetaData, HeapCell aCell, uint aAddress, Point aPosition, Size aBoxSize, Size aPaddingSize, THeapSelectionBorderType aType) { float width; Color color = GetBorderProperties(aType, out width); SymRect rect = new SymRect(aPosition, aBoxSize + aPaddingSize); if (aMetaData.Borders[THeapCellBorderType.ELeft]) // Draw left-hand outline { PaintCellBorder(aGraphics, aMetaData, rect.TopLeft, rect.BottomLeft, aAddress, aCell, width, color, THeapCellBorderType.ELeft); } if (aMetaData.Borders[THeapCellBorderType.ETop]) // Draw top-side outline { PaintCellBorder(aGraphics, aMetaData, rect.TopLeft, rect.TopRight, aAddress, aCell, width, color, THeapCellBorderType.ETop); } if (aMetaData.Borders[THeapCellBorderType.ERight]) // Draw right-hand outline { PaintCellBorder(aGraphics, aMetaData, rect.TopRight, rect.BottomRight, aAddress, aCell, width, color, THeapCellBorderType.ERight); } if (aMetaData.Borders[THeapCellBorderType.EBottom]) // Draw bottom-side outline { PaintCellBorder(aGraphics, aMetaData, rect.BottomLeft, rect.BottomRight, aAddress, aCell, width, color, THeapCellBorderType.EBottom); } }