Skip to content

Commit

Permalink
ARC-210 Fonts added and ARC-210 Gauge updated to use them. This is to…
Browse files Browse the repository at this point in the history
… partially address #727
  • Loading branch information
BlueFinBima committed Mar 31, 2023
1 parent 4eb6b40 commit 494b5ec
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 10 deletions.
Binary file added Helios/Fonts/Helios-A-10C_ARC-210_Large.ttf
Binary file not shown.
Binary file added Helios/Fonts/Helios-A-10C_ARC-210_Small.ttf
Binary file not shown.
27 changes: 17 additions & 10 deletions Helios/Gauges/A-10/Radios/ARC-210.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,21 +38,22 @@ class ARC210Radio : A10CDevice
private bool _useTextualDisplays = false;
private ImageDecoration _displayBackground;
private string _vpName = "";
private string _font = "LED Counter 7";
private string _font = "Helios Virtual Cockpit A-10C_ARC-210_Large";
private string _font2 = "Helios Virtual Cockpit A-10C_ARC-210_Small";
private List<TextDisplay> _textDisplayList = new List<TextDisplay>();

public ARC210Radio()
: base("ARC-210 Radio", new Size(640, 523))
{

_displayBackground = AddImage($"{_imageLocation}ARC-210_Display.png", new Point(148d, 91d), new Size(297d,193d), $"{_imageLocation}ARC-210_Display.png");
_textDisplayList.Add(AddTextDisplay("Frequency Display", new Point(185, 223), new Size(259, 60), _interfaceDeviceName, "Frequency Display", 42, "133.100", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("Modulation Mode", new Point(351, 194), new Size(72, 42), _interfaceDeviceName, "Modulation Mode", 32, "AM", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("Communications Security Mode", new Point(150, 150), new Size(291, 42), _interfaceDeviceName, "Communications Security Mode", 32, "Comm Sec", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("Communications Security Submode", new Point(150, 175), new Size(291, 48), _interfaceDeviceName, "Communications Security Submode", 32, "PT", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("Prev Label Display", new Point(149, 83), new Size(106, 42), _interfaceDeviceName, "Prev Label Display", 32, "PREV", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("Display of Previous Manual Frequency", new Point(220, 83), new Size(180, 42), _interfaceDeviceName, "Display of Previous Manual Frequency", 32, "133.100", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("RT Label", new Point(368, 83), new Size(80, 42), _interfaceDeviceName, "RT Label", 32, "RT1", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("Frequency Display", new Point(180, 223), new Size(259, 72), _interfaceDeviceName, "Frequency Display", _font, 40, "133.888", TextHorizontalAlignment.Right, ""));
_textDisplayList.Add(AddTextDisplay("Modulation Mode", new Point(351, 194), new Size(72, 42), _interfaceDeviceName, "Modulation Mode", 20, "AM", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("Communications Security Mode", new Point(150, 150), new Size(291, 42), _interfaceDeviceName, "Communications Security Mode", 20, "COMM SEC", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("Communications Security Submode", new Point(150, 175), new Size(291, 48), _interfaceDeviceName, "Communications Security Submode", 20, "PT", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("Prev Label Display", new Point(149, 83), new Size(106, 42), _interfaceDeviceName, "Prev Label Display", 20, "PREV", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("Display of Previous Manual Frequency", new Point(220, 83), new Size(180, 42), _interfaceDeviceName, "Display of Previous Manual Frequency", 20, "133.100", TextHorizontalAlignment.Left, ""));
_textDisplayList.Add(AddTextDisplay("RT Label", new Point(368, 83), new Size(80, 42), _interfaceDeviceName, "RT Label", 20, "RT1", TextHorizontalAlignment.Left, ""));

RotarySwitchPositionCollection positions = new RotarySwitchPositionCollection();
positions.Clear();
Expand Down Expand Up @@ -217,14 +218,20 @@ private RotarySwitch AddRotarySwitch(string name, Point posn, Size size, string
return newSwitch;
}
private TextDisplay AddTextDisplay(string name, Point posn, Size size,
string interfaceDeviceName, string interfaceElementName, double baseFontsize, string testDisp,
string interfaceDeviceName, string interfaceElementName, double baseFontsize, string testDisp,
TextHorizontalAlignment hTextAlign, string devDictionary)
{
return AddTextDisplay(name, posn, size, interfaceDeviceName, interfaceElementName, _font2, baseFontsize, testDisp, hTextAlign, devDictionary);
}
private TextDisplay AddTextDisplay(string name, Point posn, Size size,
string interfaceDeviceName, string interfaceElementName, string fontFamily, double baseFontsize, string testDisp,
TextHorizontalAlignment hTextAlign, string devDictionary)
{
TextDisplay display = AddTextDisplay(
name: name,
posn: posn,
size: size,
font: _font,
font: fontFamily,
baseFontsize: baseFontsize,
horizontalAlignment: hTextAlign,
verticalAligment: TextVerticalAlignment.Center,
Expand Down
6 changes: 6 additions & 0 deletions Helios/Helios.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -1366,6 +1366,12 @@
<Content Include="Fonts\DSEG7Classic-Regular.ttf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Fonts\Helios-A-10C_ARC-210_Small.ttf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Fonts\Helios-A-10C_ARC-210_Large.ttf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="Fonts\MonospacedLEDCounter7.ttf" />
<None Include="Images\A-10\readme.md" />
<Resource Include="Interfaces\DCS\A10C\ExportFunctionsA10C2.lua" />
Expand Down

0 comments on commit 494b5ec

Please sign in to comment.