private void CalcHBar (int left, int right, bool vert_vis)
{
initializing_scrollbars = true;
hbar.Left = 0;
hbar.Top = ClientRectangle.Bottom - hbar.Height;
hbar.Width = ClientRectangle.Width - (vert_vis ? SystemInformation.VerticalScrollBarWidth : 0);
hbar.LargeChange = 50;
hbar.Minimum = Math.Min (left, 0);
hbar.Maximum = Math.Max (right - ClientSize.Width + 51 + (vert_vis ? SystemInformation.VerticalScrollBarWidth : 0), 0);
hbar.Value = 0;
hbar_value = 0;
hbar.ValueChanged += new EventHandler (HBarValueChanged);
XplatUI.SetZOrder (hbar.Handle, IntPtr.Zero, true, false);
initializing_scrollbars = false;
}