private int CalculateHoverButtonHorizPosition(int columnIndex, bool fRtl)
{
const int extraColumnLeft = 1;
const int margin = 4;
// If chart is Left to Right, we start with right border of cell and subtract button width and margin.
// If chart is Right to Left, we start with left border of cell and add margin.
var fudgeFactor = fRtl ? margin : -margin - m_hoverButton.Width;
var horizPosition = m_chart.ColumnPositions[columnIndex + extraColumnLeft + (fRtl ? 0 : 1)] + fudgeFactor;
return horizPosition;
}