示例#1
0
void
Profile::SetAirspaceMode(unsigned i, bool display, bool warning)
{
  TCHAR name[64];

  MakeAirspaceSettingName(name, _T("AirspaceDisplay"), i);
  Set(name, display);

  MakeAirspaceSettingName(name, _T("AirspaceWarning"), i);
  Set(name, warning);
}
示例#2
0
void
Profile::SetAirspaceMode(ProfileMap &map,
                         unsigned i, bool display, bool warning)
{
  char name[64];

  MakeAirspaceSettingName(name, "AirspaceDisplay", i);
  map.Set(name, display);

  MakeAirspaceSettingName(name, "AirspaceWarning", i);
  map.Set(name, warning);
}
示例#3
0
void
Profile::SetAirspaceBrush(unsigned i, int brush_index)
{
  TCHAR name[64];
  MakeAirspaceSettingName(name, _T("Brush"), i);
  Set(name, brush_index);
}
示例#4
0
void
Profile::SetAirspaceFillMode(unsigned i, uint8_t mode)
{
  TCHAR name[64];
  MakeAirspaceSettingName(name, _T("AirspaceFillMode"), i);
  SetEnum(name, (AirspaceClassRendererSettings::FillMode)mode);
}
示例#5
0
void
Profile::SetAirspaceFillColor(unsigned i, const Color &color)
{
  TCHAR name[64];
  MakeAirspaceSettingName(name, _T("AirspaceFillColor"), i);
  SetColor(name, color);
}
示例#6
0
void
Profile::SetAirspaceBorderWidth(unsigned i, unsigned border_width)
{
  TCHAR name[64];
  MakeAirspaceSettingName(name, _T("AirspaceBorderWidth"), i);
  Set(name, border_width);
}
示例#7
0
void
Profile::SetAirspaceBrush(ProfileMap &map, unsigned i, int brush_index)
{
  char name[64];
  MakeAirspaceSettingName(name, "Brush", i);
  map.Set(name, brush_index);
}
示例#8
0
void
Profile::SetAirspaceFillMode(ProfileMap &map, unsigned i, uint8_t mode)
{
  char name[64];
  MakeAirspaceSettingName(name, "AirspaceFillMode", i);
  map.SetEnum(name, (AirspaceClassRendererSettings::FillMode)mode);
}
示例#9
0
void
Profile::SetAirspaceFillColor(ProfileMap &map,
                              unsigned i, const RGB8Color &color)
{
  char name[64];
  MakeAirspaceSettingName(name, "AirspaceFillColor", i);
  map.SetColor(name, color);
}
示例#10
0
void
Profile::SetAirspaceBorderWidth(ProfileMap &map,
                                unsigned i, unsigned border_width)
{
  char name[64];
  MakeAirspaceSettingName(name, "AirspaceBorderWidth", i);
  map.Set(name, border_width);
}
示例#11
0
void
Profile::Load(AirspaceComputerSettings &settings)
{
  Get(ProfileKeys::AirspaceWarning, settings.enable_warnings);
  Get(ProfileKeys::AltMargin, settings.warnings.altitude_warning_margin);
  Get(ProfileKeys::WarningTime, settings.warnings.warning_time);
  Get(ProfileKeys::AcknowledgementTime, settings.warnings.acknowledgement_time);

  TCHAR name[64];
  unsigned value;
  for (unsigned i = 0; i < AIRSPACECLASSCOUNT; i++) {
    MakeAirspaceSettingName(name, _T("AirspaceWarning"), i);
    if (!Get(name, settings.warnings.class_warnings[i])) {
      // Load setting from legacy key-value pair
      MakeAirspaceSettingName(name, _T("AirspaceMode"), i);
      if (Get(name, value))
        settings.warnings.class_warnings[i] = (value & 0x2) != 0;
    }
  }
}
示例#12
0
void
Profile::Load(const ProfileMap &map, AirspaceComputerSettings &settings)
{
  map.Get(ProfileKeys::AirspaceWarning, settings.enable_warnings);
  map.Get(ProfileKeys::AltMargin, settings.warnings.altitude_warning_margin);
  map.Get(ProfileKeys::WarningTime, settings.warnings.warning_time);
  map.Get(ProfileKeys::AcknowledgementTime,
          settings.warnings.acknowledgement_time);
  map.Get(ProfileKeys::RepetitiveSound, settings.warnings.repetitive_sound);

  char name[64];
  unsigned value;
  for (unsigned i = 0; i < AIRSPACECLASSCOUNT; i++) {
    MakeAirspaceSettingName(name, "AirspaceWarning", i);
    if (!map.Get(name, settings.warnings.class_warnings[i])) {
      // Load setting from legacy key-value pair
      MakeAirspaceSettingName(name, "AirspaceMode", i);
      if (map.Get(name, value))
        settings.warnings.class_warnings[i] = (value & 0x2) != 0;
    }
  }
}
示例#13
0
/**
 * This function and the "ColourXX" profile keys are deprecated and
 * are only used as a fallback for old profiles.
 *
 * @see Load(unsigned, AirspaceClassRendererSettings &)
 */
static bool
GetAirspaceColor(unsigned i, Color &color)
{
  TCHAR name[64];
  MakeAirspaceSettingName(name, _T("Colour"), i);

  // Try to load the hex color directly
  if (Profile::GetColor(name, color))
    return true;

  // Try to load an indexed preset color (legacy, < 6.3)
  unsigned index;
  if (!Profile::Get(name, index))
    return false;

  // Adjust index if the user has configured a preset color out of range
  if (index >= ARRAY_SIZE(AirspaceLook::preset_colors))
    index = 0;

  // Assign configured preset color
  color = AirspaceLook::preset_colors[index];
  return true;
}
示例#14
0
void
Profile::Load(const ProfileMap &map,
              unsigned i, AirspaceClassRendererSettings &settings)
{
  char name[64];

  MakeAirspaceSettingName(name, "AirspaceDisplay", i);
  if (!map.Get(name, settings.display)) {
    // Load setting from legacy key-value pair
    MakeAirspaceSettingName(name, "AirspaceMode", i);

    unsigned value;
    if (map.Get(name, value))
      settings.display = (value & 0x1) != 0;
  }

#ifdef HAVE_HATCHED_BRUSH
  MakeAirspaceSettingName(name, "Brush", i);
  map.Get(name, settings.brush);
  if (settings.brush >= ARRAY_SIZE(AirspaceLook::brushes))
    settings.brush = 0;
#endif

  MakeAirspaceSettingName(name, "AirspaceBorderColor", i);
  if (!map.GetColor(name, settings.border_color))
    GetAirspaceColor(map, i, settings.border_color);

  MakeAirspaceSettingName(name, "AirspaceFillColor", i);
  if (!map.GetColor(name, settings.fill_color))
    GetAirspaceColor(map, i, settings.fill_color);

  MakeAirspaceSettingName(name, "AirspaceBorderWidth", i);
  map.Get(name, settings.border_width);

  MakeAirspaceSettingName(name, "AirspaceFillMode", i);
  map.GetEnum(name, settings.fill_mode);
}