ardupilot/Tools/ArdupilotMegaPlanner/Controls/QuickView.cs
Michael Oborne 9cb60e1cc9 Mission Planner 1.2.15
fix hud battery text overlaying
tweak hud resize
tweak main switcher
fix quickview text scaleing
fix dist to mav.
added french translation thanks oliver
change tooltip time
add 3dr iv
add distance to home
dataflashlog update
2012-10-31 07:02:29 +08:00

98 lines
3.0 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ArdupilotMega.Controls
{
public partial class QuickView : UserControl
{
[System.ComponentModel.Browsable(true)]
public string desc { get { return labelWithPseudoOpacity1.Text; } set { if (labelWithPseudoOpacity1.Text == value) return; labelWithPseudoOpacity1.Text = value; } }
[System.ComponentModel.Browsable(true)]
public double number { get { return double.Parse(labelWithPseudoOpacity2.Text); }
set {
string ans = (value).ToString("0.00");
if (labelWithPseudoOpacity2.Text == ans)
return;
labelWithPseudoOpacity2.Text = ans;
GetFontSize();
}
}
[System.ComponentModel.Browsable(true)]
public Color numberColor { get { return labelWithPseudoOpacity2.ForeColor; } set { if (labelWithPseudoOpacity2.ForeColor == value) return; labelWithPseudoOpacity2.ForeColor = value; } }
public QuickView()
{
InitializeComponent();
labelWithPseudoOpacity1.DoubleClick += new EventHandler(labelWithPseudoOpacity1_DoubleClick);
labelWithPseudoOpacity2.DoubleClick += new EventHandler(labelWithPseudoOpacity2_DoubleClick);
labelWithPseudoOpacity2.DoubleBuffered = true;
}
void labelWithPseudoOpacity2_DoubleClick(object sender, EventArgs e)
{
this.OnDoubleClick(e);
}
void labelWithPseudoOpacity1_DoubleClick(object sender, EventArgs e)
{
this.OnDoubleClick(e);
}
public override void Refresh()
{
if (this.Visible)
base.Refresh();
}
protected override void OnInvalidated(InvalidateEventArgs e)
{
if (this.Visible)
base.OnInvalidated(e);
}
protected override void OnPaint(PaintEventArgs e)
{
if (this.Visible)
base.OnPaint(e);
}
void GetFontSize()
{
Size extent = TextRenderer.MeasureText(labelWithPseudoOpacity2.Text, this.Font);
float hRatio = (labelWithPseudoOpacity2.Height) / (float)(extent.Height);
float wRatio = this.Width / (float)extent.Width;
float ratio = (hRatio < wRatio) ? hRatio : wRatio;
float newSize = this.Font.Size * ratio;
if (newSize < 8)
newSize = 8;
//return newSize;
labelWithPseudoOpacity2.Font = new Font(labelWithPseudoOpacity2.Font.FontFamily, newSize - 2, labelWithPseudoOpacity2.Font.Style);
extent = TextRenderer.MeasureText(labelWithPseudoOpacity2.Text, labelWithPseudoOpacity2.Font);
}
protected override void OnResize(EventArgs e)
{
this.ResizeRedraw = true;
GetFontSize();
base.OnResize(e);
}
}
}