Files
basketball-scoreboard/Basketball Scoreboard System/Program.cs
2023-08-08 15:40:19 -04:00

53 lines
1.9 KiB
C#

using Basketball_Scoreboard_System.classes;
using Basketball_Scoreboard_System.forms;
using System.Drawing.Text;
namespace Basketball_Scoreboard_System
{
internal static class Program
{
public static AudienceWindow AudienceWindow = new();
public static ControlPanel ControlPanel = new();
public static Team HomeTeam = new(true, false, true);
public static Team AwayTeam = new(false, true, false);
public static Clock MainClock = new(Settings.Default.MainClockDefaultTime, false, true);
public static Clock ShotClock = new(Settings.Default.ShotClockDefaultTime, true, false);
public static int Period = 1;
[STAThread]
private static void Main()
{
if (!IsFontInstalled("DSEG7 Classic") || !IsFontInstalled("DSEG14 Classic") || !IsFontInstalled("Fira Mono")) MessageBox.Show("Required fonts are not installed.\nThey can be found in:\n" + Path.Combine(Application.StartupPath, "fonts\\"), "Warning", MessageBoxButtons.OK);
ApplicationConfiguration.Initialize();
Application.Run(AudienceWindow);
}
public static bool IsFontInstalled(string FontName)
{
InstalledFontCollection AllFonts = new();
foreach (FontFamily Font in AllFonts.Families)
{
if (Font.Name == FontName) return true;
}
return false;
}
public static Font GetFontSize(Graphics Graphics, string Text, Size MaxStringSize, Font LabelFont)
{
Font Font = new(LabelFont.Name, LabelFont.Size);
SizeF Size = Graphics.MeasureString(Text, Font);
while (Size.Width != MaxStringSize.Width)
{
float NewSize = Font.Size * (MaxStringSize.Width / Size.Width);
Font = new(LabelFont.Name, NewSize);
Size = Graphics.MeasureString(Text, Font);
}
return Font;
}
}
}